lipenghui 2 недель назад
Родитель
Сommit
884cc1308e

+ 10 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/failure/IotFailureReportController.java

@@ -7,7 +7,9 @@ import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportS
 import cn.iocoder.yudao.module.pms.controller.admin.maintain.vo.IotMaintainSaveVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
 import cn.iocoder.yudao.module.pms.service.failure.IotFailureReportService;
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -41,6 +43,8 @@ public class IotFailureReportController {
 
     @Resource
     private IotFailureReportService iotFailureReportService;
+    @Autowired
+    private AdminUserApi adminUserApi;
 
     @PostMapping("/create")
     @Operation(summary = "创建故障上报")
@@ -72,7 +76,12 @@ public class IotFailureReportController {
     @PreAuthorize("@ss.hasPermission('rq:iot-failure-report:query')")
     public CommonResult<IotFailureReportRespVO> getIotFailureReport(@RequestParam("id") Long id) {
         IotFailureReportDO iotFailureReport = iotFailureReportService.getIotFailureReport(id);
-        return success(BeanUtils.toBean(iotFailureReport, IotFailureReportRespVO.class));
+        IotFailureReportRespVO bean = BeanUtils.toBean(iotFailureReport, IotFailureReportRespVO.class);
+        if (Objects.nonNull(bean.getApprovalId())) {
+            AdminUserRespDTO user = adminUserApi.getUser(bean.getApprovalId());
+            bean.setApprovalName(Objects.nonNull(user) ? user.getNickname() : "");
+        }
+        return success(bean);
     }
 
     @GetMapping("/page")

+ 4 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/failure/vo/IotFailureReportRespVO.java

@@ -99,4 +99,8 @@ public class IotFailureReportRespVO {
 
     @Schema(description = "设备编码")
     private String deviceCode;
+    /**审批人id*/
+    private Long approvalId;
+
+    private String approvalName;
 }

+ 1 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/failure/IotFailureReportServiceImpl.java

@@ -105,6 +105,7 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
             iotMaintainDO.setMaintainPersonName(apiUser.getNickname());
             iotMaintainDO.setFailureId(failureReportDO.getId());
             iotMaintainDO.setId(null);
+            iotMaintainDO.setOutFile("[]");
             iotMaintainMapper.insert(iotMaintainDO);
             //发送消息
             Map<String, Object> templateParams = new HashMap<>();

+ 8 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/maintain/IotMaintainServiceImpl.java

@@ -286,6 +286,14 @@ public class IotMaintainServiceImpl implements IotMaintainService {
             String msg = "【PMS】维修工单 - "+updateReqVO.getMaintain().getFailureName()+"已处理。"+"["+new Date()+"]";
 //            sendMessage(BeanUtils.toBean(updateReqVO.getMaintain(), IotMaintainDO.class), "maintain-report", msg);
         }
+        if ("out".equals(updateReqVO.getMaintain().getType())){
+            try {
+                IotMaintainDO iotMaintain = BeanUtils.toBean(updateReqVO.getMaintain(), IotMaintainDO.class);
+                oaFlow.createOutRepairFlow(iotMaintain);
+            } catch (Exception e) {
+                throw new ServiceException(122, e.getMessage());
+            }
+        }
         //委外发起流程
 //        if ("out".equals(updateReqVO.getMaintain().getType())){
 //            submitForApproval(updateReqVO.getMaintain().getId());