lipenghui 4 сар өмнө
parent
commit
3ad3af8b06

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

@@ -23,6 +23,8 @@ public class IotFailureReportPageReqVO extends PageParam {
 
     @Schema(description = "设备id", example = "15038")
     private Long deviceId;
+    @Schema(description = "设备名称")
+    private String deviceName;
 
     @Schema(description = "状态", example = "1")
     private String status;

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

@@ -27,6 +27,9 @@ public class IotFailureReportRespVO {
     @Schema(description = "设备id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15038")
     @ExcelProperty("设备id")
     private Long deviceId;
+    @Schema(description = "设备名称")
+    @ExcelProperty("设备名称")
+    private String deviceName;
 
     @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @ExcelProperty("状态")

+ 2 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/failure/vo/IotFailureReportSaveReqVO.java

@@ -15,11 +15,11 @@ public class IotFailureReportSaveReqVO {
     private Long id;
 
     @Schema(description = "故障编码", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotEmpty(message = "故障编码不能为空")
+    //@NotEmpty(message = "故障编码不能为空")
     private String failureCode;
 
     @Schema(description = "故障名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
-    @NotEmpty(message = "故障名称不能为空")
+    //@NotEmpty(message = "故障名称不能为空")
     private String failureName;
 
     @Schema(description = "设备id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15038")

+ 4 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/failure/IotFailureReportDO.java

@@ -40,6 +40,10 @@ public class IotFailureReportDO extends BaseDO {
      * 设备id
      */
     private Long deviceId;
+    /**
+     * 设备名称
+     * */
+    private String deviceName;
     /**
      * 状态
      */

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

@@ -1,8 +1,12 @@
 package cn.iocoder.yudao.module.pms.service.failure;
 
+import cn.hutool.core.date.DateUtil;
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
 import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportSaveReqVO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
+import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.failure.IotFailureReportMapper;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
@@ -29,11 +33,22 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
 
     @Resource
     private IotFailureReportMapper iotFailureReportMapper;
+    @Resource
+    private IotDeviceMapper iotDeviceMapper;
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Long createIotFailureReport(IotFailureReportSaveReqVO createReqVO) {
         // 插入
         IotFailureReportDO iotFailureReport = BeanUtils.toBean(createReqVO, IotFailureReportDO.class);
+        iotFailureReport.setFailureCode("GZ"+ DateUtil.format(new Date(), "yyyyMMddHHmmss"));
+        IotDeviceDO iotDeviceDO = iotDeviceMapper.selectById(createReqVO.getDeviceId());
+        if (Objects.isNull(iotDeviceDO)) {
+            throw new ServiceException();
+        }
+        iotFailureReport.setFailureName(iotDeviceDO.getDeviceName()+DateUtil.format(new Date(), "yyyyMMddHHmmss"));
+        iotFailureReport.setDeviceName(iotDeviceDO.getDeviceName());
+        iotFailureReport.setDeleted(false);
         iotFailureReportMapper.insert(iotFailureReport);
         // 返回
         return iotFailureReport.getId();