Quellcode durchsuchen

设备二维码直接跳转到设备详情

xiongchao vor 3 Jahren
Ursprung
Commit
f696ff1f75

+ 7 - 1
platform-dao/src/main/java/com/platform/dao/dto/repair/RepairReasonDTO.java

@@ -2,6 +2,7 @@ package com.platform.dao.dto.repair;
 
 import com.platform.common.bean.BaseDTO;
 import com.platform.common.validation.group.UpdateGroup;
+import com.platform.dao.entity.upms.SysFile;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -10,6 +11,7 @@ import javax.validation.constraints.*;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.time.LocalDate;
+import java.util.List;
 
 /**
  * @Description 维修原因DTO
@@ -21,7 +23,11 @@ import java.time.LocalDate;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class RepairReasonDTO extends BaseDTO implements Serializable {
-
+    /**
+     * 状态:1新建,2已完成
+     */
+    private Integer status;
+    List<SysFile> fileList;
     /**
      * 主键
      */

+ 8 - 2
platform-dao/src/main/java/com/platform/dao/entity/repair/RepairReason.java

@@ -1,5 +1,6 @@
 package com.platform.dao.entity.repair;
 
+import com.platform.dao.entity.upms.SysFile;
 import lombok.Data;
 
 import javax.persistence.Id;
@@ -7,6 +8,8 @@ import javax.persistence.Table;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.time.LocalDate;
+import java.util.List;
+
 import lombok.experimental.Accessors;
 import com.platform.common.bean.DataScope;
 import javax.persistence.Transient;
@@ -21,7 +24,7 @@ import javax.persistence.Transient;
 @Accessors(chain = true)
 @Table(name = "t_repair_reason")
 public class RepairReason implements Serializable{
-
+    List<SysFile> fileList;
     /**
      * 主键
      */
@@ -102,7 +105,10 @@ public class RepairReason implements Serializable{
      * 其他
      */
     private Boolean otherChange;
-
+    /**
+     * 状态:1新建,2已完成
+     */
+    private Integer status;
     /**
      * 其他
      */

+ 27 - 0
platform-dao/src/main/java/com/platform/dao/enums/RepairReasonStatusEnum.java

@@ -0,0 +1,27 @@
+package com.platform.dao.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Description 设备状态
+ * @Author liuyu
+ * @Date 2020/05/05
+ * @Version Copyright (c) 2019,安徽阡陌网络科技有限公司 All rights reserved.
+ */
+@Getter
+@AllArgsConstructor
+public enum RepairReasonStatusEnum {
+
+    /**
+     *正常
+     */
+    NORMAL(1),
+    /**
+     * 完成
+     */
+    FINISH(2)
+    ;
+    private final Integer value;
+
+}

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/enums/SysFileTypeEnum.java

@@ -28,6 +28,7 @@ public enum SysFileTypeEnum {
     SPARE_IMGS(14, "备件图片"),
     REPAIR_FEE_IMGS(18, "维修-费用图片"),
     REPAIR_FEE_FILES(19, "维修-费用文件"),
+    REPAIR_REASON_IMGS(20, "维修-改进措施-图片"),
     CHECK_STANDARD_IMGS(21, "保养图片"),
     CHECK_STANDARD_FILES(22, "保养文件"),
     CHECK_JOB_FILES(23, "保养任务完成文件"),

+ 4 - 1
platform-dao/src/main/java/com/platform/dao/vo/query/repair/RepairReasonVO.java

@@ -22,7 +22,10 @@ import java.time.LocalDate;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class RepairReasonVO extends BaseVO implements Serializable {
-
+    /**
+     * 状态:1新建,2已完成
+     */
+    private Integer status;
     /**
      * 主键
      */

+ 17 - 0
platform-rest/src/main/java/com/platform/rest/controller/repair/RepairReasonController.java

@@ -4,6 +4,7 @@ import com.platform.common.util.R;
 import com.platform.dao.dto.check.CheckJobDTO;
 import com.platform.dao.dto.repair.RepairReasonDTO;
 import com.platform.dao.entity.repair.RepairReason;
+import com.platform.dao.enums.RepairReasonStatusEnum;
 import com.platform.service.repair.RepairReasonService;
 import com.platform.dao.util.ExcelUtil;
 import com.platform.dao.vo.export.repair.ExportRepairReasonVO;
@@ -82,6 +83,22 @@ public class RepairReasonController {
       return new R<>();
   }
 
+
+    /**
+     * 完成
+     *
+     * @param repairReasonDTO 维修原因DTO
+     * @return R
+     */
+    @SysLog("修改维修原因")
+    @PutMapping("/finish/{id}")
+    @PreAuthorize("@pms.hasPermission('repair-repair-reasons-edit')")
+    public R finish(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairReasonDTO repairReasonDTO) {
+        repairReasonDTO.setStatus(RepairReasonStatusEnum.FINISH.getValue());
+        repairReasonService.modModelByDTO(repairReasonDTO);
+        return new R<>();
+    }
+
   /**
    * 通过id删除一条记录
    *

+ 8 - 1
platform-rest/src/main/java/com/platform/rest/controller/upms/SysCodeController.java

@@ -69,7 +69,7 @@ public class SysCodeController {
             if(StringUtils.isBlank(sbUrl)){
                 throw new BusinessException("请先设置设备跳转前缀地址,系统管理-》系统参数配置-》SYSTEM_SB_URL");
             }
-            if(!sbUrl.endsWith("/") || !sbUrl.endsWith("=")){
+            if(!sbUrl.endsWith("/") && !sbUrl.endsWith("=")){
                 sbUrl = sbUrl + "/";
             }
             CodeFileUtils.uploadFileECode(domain  + sbUrl + sysCodeDTO.getCodeId(), rootPath, filePath, sysCodeDTO.getCodeId() + ".png");
@@ -97,6 +97,13 @@ public class SysCodeController {
         return R.success(codePath);
     }
 
+    public static void main(String[] args) {
+        String sbUrl = "pages/equipment-detail/equipment-detail?detailId=";
+        if(!sbUrl.endsWith("/") && !sbUrl.endsWith("=")){
+            sbUrl = sbUrl + "/";
+        }
+        System.out.println(sbUrl);
+    }
     /**
      * 重新生成所有设备的二维码
      *

+ 8 - 8
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -442,11 +442,11 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
     @Transactional(rollbackFor = Exception.class)
     public void finish(RepairApplicationFormDTO dto) {
 
-        // 1. 将维修单的状态修改未待验收
+        // 1. 将维修单的状态修改已完成
         RepairApplicationForm applicationForm = mapper.selectById(dto.getId());
         RepairForm repairForm = new RepairForm();
         repairForm.setId(dto.getId());
-        applicationForm.setStatus(RepairApplicationFormStatusEnum.NOT_ACCEPTANCE.getValue());
+        applicationForm.setStatus(RepairApplicationFormStatusEnum.FINISHED.getValue());
 
         applicationForm.setRepairEndTime(LocalDateTime.now());
         applicationForm.setRepairMinutes(DateUtils.dateDiff(applicationForm.getRepairEndTime(), applicationForm.getRepairStartTime()));
@@ -479,9 +479,9 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
             sysFileMapper.insertListforComplex(list);
         }
 
-        String userId = applicationForm.getUserId();
-        applicationForm.setCheckUserId(userId);
-        // 维修人自己发起报修自己验收
+        /*String userId = applicationForm.getUserId();
+        applicationForm.setCheckUserId(userId);*/
+        /*// 维修人自己发起报修自己验收
         if (userId.equals(applicationForm.getRepairUserId())) {
             // 1.修改验收单状态和验收验收时间
             applicationForm.setCheckEndTime(LocalDateTime.now());
@@ -497,11 +497,11 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         } else {
             super.modModelByPrimaryKey(applicationForm);
             // 发送通知给主管,主管是验收人,他收到通知,进行调拨给使用人员
-           /* SysUser checkUser = userMapper.selectByPrimaryKey(applicationForm.getCheckUserId());
+           *//* SysUser checkUser = userMapper.selectByPrimaryKey(applicationForm.getCheckUserId());
             SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_FINISH.getValue(),
                     applicationForm.getId(), MessageTemplateUtil.getRepairCheck(applicationForm.getNo()),
-                    applicationForm.getId(), ListUtils.newArrayList(applicationForm.getCheckUserId()), ListUtils.newArrayList(checkUser.getEmail())));*/
-        }
+                    applicationForm.getId(), ListUtils.newArrayList(applicationForm.getCheckUserId()), ListUtils.newArrayList(checkUser.getEmail())));*//*
+        }*/
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 51 - 0
platform-service/src/main/java/com/platform/service/repair/impl/RepairReasonServiceImpl.java

@@ -1,7 +1,15 @@
 package com.platform.service.repair.impl;
+import cn.hutool.core.collection.CollectionUtil;
 import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.util.IdGeneratorUtils;
+import com.platform.common.util.ListUtils;
 import com.platform.dao.bean.MyPage;
 import com.github.pagehelper.PageHelper;
+import com.platform.dao.dto.sb.SbInfoDTO;
+import com.platform.dao.entity.upms.SysFile;
+import com.platform.dao.enums.RepairReasonStatusEnum;
+import com.platform.dao.enums.SysFileTypeEnum;
+import com.platform.dao.mapper.upms.SysFileMapper;
 import com.platform.dao.vo.query.repair.RepairReasonVO;
 import com.platform.dao.dto.repair.RepairReasonDTO;
 import com.platform.dao.entity.repair.RepairReason;
@@ -24,7 +32,50 @@ import java.util.List;
 @AllArgsConstructor
 @Service("repairReasonService")
 public class RepairReasonServiceImpl extends BaseServiceImpl<RepairReasonMapper, RepairReason, RepairReasonDTO> implements RepairReasonService {
+    private final SysFileMapper sysFileMapper;
 
+    @Override
+    public RepairReason getModelById(Object id) {
+        Weekend<SysFile> weekend = new Weekend<>(SysFile.class);
+        weekend.weekendCriteria().andEqualTo(SysFile::getTargetId, id);
+        List<SysFile> fileList = sysFileMapper.selectByExample(weekend);
+        RepairReason model = super.getModelById(id);
+        model.setFileList(fileList);
+        return model;
+    }
+
+    @Override
+    public RepairReason saveModelByDTO(RepairReasonDTO model) {
+        model.setId(IdGeneratorUtils.getObjectId());
+        model.setStatus(RepairReasonStatusEnum.NORMAL.getValue());
+        this.saveFile(model);
+        return super.saveModelHaveCreateInfo(model);
+    }
+
+    @Override
+    public void modModelByDTO(RepairReasonDTO model) {
+        super.modModelByDTO(model);
+        this.saveFile(model);
+    }
+
+    private void saveFile(RepairReasonDTO model) {
+        Weekend<SysFile> weekend = new Weekend<>(SysFile.class);
+        weekend.weekendCriteria().andEqualTo(SysFile::getTargetId, model.getId());
+        sysFileMapper.deleteByExample(weekend);
+        List<SysFile> repairFileList = model.getFileList();
+        List<SysFile> list = ListUtils.newArrayList();
+        if (CollectionUtil.isNotEmpty(repairFileList)) {
+            repairFileList.forEach(item -> {
+                item.setType(SysFileTypeEnum.REPAIR_REASON_IMGS.getValue());
+                item.setId(IdGeneratorUtils.getObjectId());
+                item.setTargetId(model.getId());
+                list.add(item);
+            });
+        }
+        if (CollectionUtil.isNotEmpty(list)) {
+            sysFileMapper.insertListforComplex(list);
+        }
+    }
     @Override
     public int batchDelete(List<String> ids) {
         Weekend<RepairReason> weekend = new Weekend<>(RepairReason.class);

+ 1 - 1
platform-service/src/main/java/com/platform/service/sb/impl/SbInfoServiceImpl.java

@@ -1217,7 +1217,7 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
         if(StringUtils.isBlank(sbUrl)){
             throw new BusinessException("请先设置设备跳转前缀地址,系统管理-》系统参数配置-》SYSTEM_DOMAIN_MOBILE");
         }
-        if(!sbUrl.endsWith("/") || !sbUrl.endsWith("=")){
+        if(!sbUrl.endsWith("/") && !sbUrl.endsWith("=")){
             sbUrl = sbUrl + "/";
         }
         if(CollectionUtil.isNotEmpty(list)){