lipenghui 4 сар өмнө
parent
commit
c9f2a49460
13 өөрчлөгдсөн 505 нэмэгдсэн , 39 устгасан
  1. 1 0
      yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/enums/ErrorCodeConstant.java
  2. 94 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/information/IotInformationDbController.java
  3. 46 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/information/vo/IotInformationDbPageReqVO.java
  4. 55 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/information/vo/IotInformationDbRespVO.java
  5. 40 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/information/vo/IotInformationDbSaveReqVO.java
  6. 1 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/maintain/IotMaintainController.java
  7. 12 12
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/maintain/material/vo/IotMaintainMaterialSaveReqVO.java
  8. 26 26
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/maintain/vo/IotMaintainSaveReqVO.java
  9. 63 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/information/IotInformationDbDO.java
  10. 34 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/information/IotInformationDbMapper.java
  11. 56 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/information/IotInformationDbService.java
  12. 75 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/information/IotInformationDbServiceImpl.java
  13. 2 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/maintain/IotMaintainServiceImpl.java

+ 1 - 0
yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/enums/ErrorCodeConstant.java

@@ -29,4 +29,5 @@ public interface ErrorCodeConstant{
     ErrorCode IOT_OUTBOUND_NOT_EXISTS = new ErrorCode(130, "PMS 出库不存在");
     ErrorCode IOT_OUTBOUND_NOT_EXISTS = new ErrorCode(130, "PMS 出库不存在");
     ErrorCode IOT_SAP_STOCK_NOT_EXISTS = new ErrorCode(131, "PMS SAP 库存(通用库存/项目部库存)不存在");
     ErrorCode IOT_SAP_STOCK_NOT_EXISTS = new ErrorCode(131, "PMS SAP 库存(通用库存/项目部库存)不存在");
     ErrorCode IOT_MAINTAIN_MATERIAL_NOT_EXISTS = new ErrorCode(129, "工单物料不存在");
     ErrorCode IOT_MAINTAIN_MATERIAL_NOT_EXISTS = new ErrorCode(129, "工单物料不存在");
+    ErrorCode IOT_INFORMATION_DB_NOT_EXISTS = new ErrorCode(130, "知识库不存在");
 }
 }

+ 94 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/information/IotInformationDbController.java

@@ -0,0 +1,94 @@
+package cn.iocoder.yudao.module.pms.controller.admin.information;
+
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.module.pms.controller.admin.information.vo.IotInformationDbPageReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.information.vo.IotInformationDbRespVO;
+import cn.iocoder.yudao.module.pms.controller.admin.information.vo.IotInformationDbSaveReqVO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.information.IotInformationDbDO;
+import cn.iocoder.yudao.module.pms.service.information.IotInformationDbService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+
+@Tag(name = "管理后台 - 故障知识库")
+@RestController
+@RequestMapping("/rq/iot-information-db")
+@Validated
+public class IotInformationDbController {
+
+    @Resource
+    private IotInformationDbService iotInformationDbService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建故障知识库")
+    @PreAuthorize("@ss.hasPermission('rq:iot-information-db:create')")
+    public CommonResult<Long> createIotInformationDb(@Valid @RequestBody IotInformationDbSaveReqVO createReqVO) {
+        return success(iotInformationDbService.createIotInformationDb(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新故障知识库")
+    @PreAuthorize("@ss.hasPermission('rq:iot-information-db:update')")
+    public CommonResult<Boolean> updateIotInformationDb(@Valid @RequestBody IotInformationDbSaveReqVO updateReqVO) {
+        iotInformationDbService.updateIotInformationDb(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除故障知识库")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('rq:iot-information-db:delete')")
+    public CommonResult<Boolean> deleteIotInformationDb(@RequestParam("id") Long id) {
+        iotInformationDbService.deleteIotInformationDb(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得故障知识库")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('rq:iot-information-db:query')")
+    public CommonResult<IotInformationDbRespVO> getIotInformationDb(@RequestParam("id") Long id) {
+        IotInformationDbDO iotInformationDb = iotInformationDbService.getIotInformationDb(id);
+        return success(BeanUtils.toBean(iotInformationDb, IotInformationDbRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得故障知识库分页")
+    @PreAuthorize("@ss.hasPermission('rq:iot-information-db:query')")
+    public CommonResult<PageResult<IotInformationDbRespVO>> getIotInformationDbPage(@Valid IotInformationDbPageReqVO pageReqVO) {
+        PageResult<IotInformationDbDO> pageResult = iotInformationDbService.getIotInformationDbPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, IotInformationDbRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出故障知识库 Excel")
+    @PreAuthorize("@ss.hasPermission('rq:iot-information-db:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportIotInformationDbExcel(@Valid IotInformationDbPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<IotInformationDbDO> list = iotInformationDbService.getIotInformationDbPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "故障知识库.xls", "数据", IotInformationDbRespVO.class,
+                        BeanUtils.toBean(list, IotInformationDbRespVO.class));
+    }
+
+}

+ 46 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/information/vo/IotInformationDbPageReqVO.java

@@ -0,0 +1,46 @@
+package cn.iocoder.yudao.module.pms.controller.admin.information.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 故障知识库分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class IotInformationDbPageReqVO extends PageParam {
+
+    @Schema(description = "设备分类", example = "2")
+    private String deviceType;
+
+    @Schema(description = "故障影响")
+    private String failureInfluence;
+
+    @Schema(description = "故障模块/影响")
+    private String failureSystem;
+
+    @Schema(description = "描述", example = "你猜")
+    private String description;
+
+    @Schema(description = "解决办法")
+    private String solutions;
+
+    @Schema(description = "备注", example = "随便")
+    private String remark;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+    @Schema(description = "流程实例id", example = "12034")
+    private String processInstanceId;
+
+    @Schema(description = "审核状态", example = "2")
+    private Integer auditStatus;
+
+}

+ 55 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/information/vo/IotInformationDbRespVO.java

@@ -0,0 +1,55 @@
+package cn.iocoder.yudao.module.pms.controller.admin.information.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 故障知识库 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class IotInformationDbRespVO {
+
+    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7433")
+    @ExcelProperty("主键id")
+    private Long id;
+
+    @Schema(description = "设备分类", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+    @ExcelProperty("设备分类")
+    private String deviceType;
+
+    @Schema(description = "故障影响")
+    @ExcelProperty("故障影响")
+    private String failureInfluence;
+
+    @Schema(description = "故障模块/影响")
+    @ExcelProperty("故障模块/影响")
+    private String failureSystem;
+
+    @Schema(description = "描述", example = "你猜")
+    @ExcelProperty("描述")
+    private String description;
+
+    @Schema(description = "解决办法")
+    @ExcelProperty("解决办法")
+    private String solutions;
+
+    @Schema(description = "备注", example = "随便")
+    @ExcelProperty("备注")
+    private String remark;
+
+    @Schema(description = "创建时间")
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @Schema(description = "流程实例id", example = "12034")
+    @ExcelProperty("流程实例id")
+    private String processInstanceId;
+
+    @Schema(description = "审核状态", example = "2")
+    @ExcelProperty("审核状态")
+    private Integer auditStatus;
+
+}

+ 40 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/information/vo/IotInformationDbSaveReqVO.java

@@ -0,0 +1,40 @@
+package cn.iocoder.yudao.module.pms.controller.admin.information.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import javax.validation.constraints.*;
+
+@Schema(description = "管理后台 - 故障知识库新增/修改 Request VO")
+@Data
+public class IotInformationDbSaveReqVO {
+
+    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7433")
+    private Long id;
+
+    @Schema(description = "设备分类", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+    @NotEmpty(message = "设备分类不能为空")
+    private String deviceType;
+
+    @Schema(description = "故障影响")
+    private String failureInfluence;
+
+    @Schema(description = "故障模块/影响")
+    private String failureSystem;
+
+    @Schema(description = "描述", example = "你猜")
+    private String description;
+
+    @Schema(description = "解决办法")
+    private String solutions;
+
+    @Schema(description = "备注", example = "随便")
+    private String remark;
+
+    @Schema(description = "流程实例id", example = "12034")
+    private String processInstanceId;
+
+    @Schema(description = "审核状态", example = "2")
+    private Integer auditStatus;
+
+}

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/maintain/IotMaintainController.java

@@ -44,7 +44,7 @@ public class IotMaintainController {
     @PostMapping("/create")
     @PostMapping("/create")
     @Operation(summary = "创建维修工单")
     @Operation(summary = "创建维修工单")
     @PreAuthorize("@ss.hasPermission('rq:iot-maintain:create')")
     @PreAuthorize("@ss.hasPermission('rq:iot-maintain:create')")
-    public CommonResult<Long> createIotMaintain(@Valid @RequestBody IotMaintainSaveVO createReqVO) {
+    public CommonResult<Long> createIotMaintain(@RequestBody IotMaintainSaveVO createReqVO) {
         return success(iotMaintainService.createIotMaintain(createReqVO));
         return success(iotMaintainService.createIotMaintain(createReqVO));
     }
     }
 
 

+ 12 - 12
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/maintain/material/vo/IotMaintainMaterialSaveReqVO.java

@@ -6,41 +6,41 @@ import java.util.*;
 import javax.validation.constraints.*;
 import javax.validation.constraints.*;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 
 
-@Schema(description = "管理后台 - 工单物料新增/修改 Request VO")
+//@Schema(description = "管理后台 - 工单物料新增/修改 Request VO")
 @Data
 @Data
 public class IotMaintainMaterialSaveReqVO {
 public class IotMaintainMaterialSaveReqVO {
 
 
-    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1446")
+    //@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1446")
     private Long id;
     private Long id;
 
 
-    @Schema(description = "物料编码")
+    //@Schema(description = "物料编码")
     private String code;
     private String code;
 
 
-    @Schema(description = "物料名称", example = "张三")
+    //@Schema(description = "物料名称", example = "张三")
     private String name;
     private String name;
 
 
-    @Schema(description = "单位")
+    //@Schema(description = "单位")
     private String unit;
     private String unit;
 
 
-    @Schema(description = "单价", example = "28614")
+    //@Schema(description = "单价", example = "28614")
     private BigDecimal price;
     private BigDecimal price;
 
 
-    @Schema(description = "物料来源", example = "2")
+    //@Schema(description = "物料来源", example = "2")
     private String sourceType;
     private String sourceType;
 
 
-    @Schema(description = "消耗数量", example = "30700")
+    //@Schema(description = "消耗数量", example = "30700")
     private Integer depleteCount;
     private Integer depleteCount;
 
 
-    @Schema(description = "总库存数量", example = "5934")
+    //@Schema(description = "总库存数量", example = "5934")
     private Integer totalCount;
     private Integer totalCount;
 
 
-    @Schema(description = "SAP系统中的物料唯一编号")
+    //@Schema(description = "SAP系统中的物料唯一编号")
     private String sapCode;
     private String sapCode;
 
 
-    @Schema(description = "状态 0启用  1停用", example = "2")
+    //@Schema(description = "状态 0启用  1停用", example = "2")
     private Integer status;
     private Integer status;
 
 
-    @Schema(description = "备注", example = "你猜")
+    //@Schema(description = "备注", example = "你猜")
     private String remark;
     private String remark;
 
 
 }
 }

+ 26 - 26
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/maintain/vo/IotMaintainSaveReqVO.java

@@ -6,73 +6,73 @@ import lombok.*;
 import javax.validation.constraints.*;
 import javax.validation.constraints.*;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 
 
-@Schema(description = "管理后台 - 维修工单新增/修改 Request VO")
+//@Schema(description = "管理后台 - 维修工单新增/修改 Request VO")
 @Data
 @Data
 public class IotMaintainSaveReqVO {
 public class IotMaintainSaveReqVO {
 
 
-    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20489")
+    //@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20489")
     private Long id;
     private Long id;
 
 
-    @Schema(description = "故障编码", requiredMode = Schema.RequiredMode.REQUIRED)
+    //@Schema(description = "故障编码", requiredMode = Schema.RequiredMode.REQUIRED)
     private String failureCode;
     private String failureCode;
 
 
-    @Schema(description = "故障名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
+    //@Schema(description = "故障名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
     private String failureName;
     private String failureName;
 
 
-    @Schema(description = "设备id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11515")
-    @NotNull(message = "设备id不能为空")
+    //@Schema(description = "设备id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11515")
+//    @NotNull(message = "设备id不能为空")
     private Long deviceId;
     private Long deviceId;
 
 
-    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
-    @NotEmpty(message = "状态不能为空")
+    //@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+//    @NotEmpty(message = "状态不能为空")
     private String status;
     private String status;
 
 
-    @Schema(description = "是否停机")
+    //@Schema(description = "是否停机")
     private Boolean ifStop;
     private Boolean ifStop;
 
 
-    @Schema(description = "故障时间")
+    //@Schema(description = "故障时间")
     private LocalDateTime failureTime;
     private LocalDateTime failureTime;
 
 
-    @Schema(description = "故障影响")
+    //@Schema(description = "故障影响")
     private String failureInfluence;
     private String failureInfluence;
 
 
-    @Schema(description = "故障系统")
+    //@Schema(description = "故障系统")
     private String failureSystem;
     private String failureSystem;
 
 
-    @Schema(description = "故障描述", example = "你猜")
+    //@Schema(description = "故障描述", example = "你猜")
     private String description;
     private String description;
 
 
-    @Schema(description = "图片")
+    //@Schema(description = "图片")
     private String pic;
     private String pic;
 
 
-    @Schema(description = "解决办法")
+    //@Schema(description = "解决办法")
     private String solution;
     private String solution;
 
 
-    @Schema(description = "维修开始时间")
+    //@Schema(description = "维修开始时间")
     private LocalDateTime maintainStartTime;
     private LocalDateTime maintainStartTime;
 
 
-    @Schema(description = "维修结束时间")
+    //@Schema(description = "维修结束时间")
     private LocalDateTime maintainEndTime;
     private LocalDateTime maintainEndTime;
 
 
-    @Schema(description = "备注", example = "随便")
+    //@Schema(description = "备注", example = "随便")
     private String remark;
     private String remark;
 
 
-    @Schema(description = "设备名称", example = "王五")
+    //@Schema(description = "设备名称", example = "王五")
     private String deviceName;
     private String deviceName;
 
 
-    @Schema(description = "流程实例id", example = "6913")
+    //@Schema(description = "流程实例id", example = "6913")
     private String processInstanceId;
     private String processInstanceId;
 
 
-    @Schema(description = "审核状态", example = "2")
+    //@Schema(description = "审核状态", example = "2")
     private Integer auditStatus;
     private Integer auditStatus;
 
 
-    @Schema(description = "部门id", example = "27456")
+    //@Schema(description = "部门id", example = "27456")
     private Long deptId;
     private Long deptId;
 
 
-    @Schema(description = "维修描述")
-    @NotEmpty(message = "维修描述不能为空")
+    //@Schema(description = "维修描述")
+//    @NotEmpty(message = "维修描述不能为空")
     private String maintainDescription;
     private String maintainDescription;
-    @Schema(description = "维修负责人")
-    @NotEmpty(message = "维修负责人不能为空")
+    //@Schema(description = "维修负责人")
+//    @NotEmpty(message = "维修负责人不能为空")
     private String maintainPerson;
     private String maintainPerson;
 }
 }

+ 63 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/information/IotInformationDbDO.java

@@ -0,0 +1,63 @@
+package cn.iocoder.yudao.module.pms.dal.dataobject.information;
+
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+
+/**
+ * 故障知识库 DO
+ *
+ * @author 李鹏辉
+ */
+@TableName("rq_iot_information_db")
+@KeySequence("rq_iot_information_db_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class IotInformationDbDO extends BaseDO {
+
+    /**
+     * 主键id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 设备分类
+     */
+    private String deviceType;
+    /**
+     * 故障影响
+     */
+    private String failureInfluence;
+    /**
+     * 故障模块/影响
+     */
+    private String failureSystem;
+    /**
+     * 描述
+     */
+    private String description;
+    /**
+     * 解决办法
+     */
+    private String solutions;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 流程实例id
+     */
+    private String processInstanceId;
+    /**
+     * 审核状态
+     */
+    private Integer auditStatus;
+
+}

+ 34 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/information/IotInformationDbMapper.java

@@ -0,0 +1,34 @@
+package cn.iocoder.yudao.module.pms.dal.mysql.information;
+
+import java.util.*;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.pms.controller.admin.information.vo.IotInformationDbPageReqVO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.information.IotInformationDbDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 故障知识库 Mapper
+ *
+ * @author 李鹏辉
+ */
+@Mapper
+public interface IotInformationDbMapper extends BaseMapperX<IotInformationDbDO> {
+
+    default PageResult<IotInformationDbDO> selectPage(IotInformationDbPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<IotInformationDbDO>()
+                .eqIfPresent(IotInformationDbDO::getDeviceType, reqVO.getDeviceType())
+                .eqIfPresent(IotInformationDbDO::getFailureInfluence, reqVO.getFailureInfluence())
+                .eqIfPresent(IotInformationDbDO::getFailureSystem, reqVO.getFailureSystem())
+                .eqIfPresent(IotInformationDbDO::getDescription, reqVO.getDescription())
+                .eqIfPresent(IotInformationDbDO::getSolutions, reqVO.getSolutions())
+                .eqIfPresent(IotInformationDbDO::getRemark, reqVO.getRemark())
+                .betweenIfPresent(IotInformationDbDO::getCreateTime, reqVO.getCreateTime())
+                .eqIfPresent(IotInformationDbDO::getProcessInstanceId, reqVO.getProcessInstanceId())
+                .eqIfPresent(IotInformationDbDO::getAuditStatus, reqVO.getAuditStatus())
+                .orderByDesc(IotInformationDbDO::getId));
+    }
+
+}

+ 56 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/information/IotInformationDbService.java

@@ -0,0 +1,56 @@
+package cn.iocoder.yudao.module.pms.service.information;
+
+import java.util.*;
+import javax.validation.*;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.pms.controller.admin.information.vo.IotInformationDbPageReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.information.vo.IotInformationDbSaveReqVO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.information.IotInformationDbDO;
+
+/**
+ * 故障知识库 Service 接口
+ *
+ * @author 李鹏辉
+ */
+public interface IotInformationDbService {
+
+    /**
+     * 创建故障知识库
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createIotInformationDb(@Valid IotInformationDbSaveReqVO createReqVO);
+
+    /**
+     * 更新故障知识库
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateIotInformationDb(@Valid IotInformationDbSaveReqVO updateReqVO);
+
+    /**
+     * 删除故障知识库
+     *
+     * @param id 编号
+     */
+    void deleteIotInformationDb(Long id);
+
+    /**
+     * 获得故障知识库
+     *
+     * @param id 编号
+     * @return 故障知识库
+     */
+    IotInformationDbDO getIotInformationDb(Long id);
+
+    /**
+     * 获得故障知识库分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 故障知识库分页
+     */
+    PageResult<IotInformationDbDO> getIotInformationDbPage(IotInformationDbPageReqVO pageReqVO);
+
+}

+ 75 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/information/IotInformationDbServiceImpl.java

@@ -0,0 +1,75 @@
+package cn.iocoder.yudao.module.pms.service.information;
+
+import cn.iocoder.yudao.module.pms.controller.admin.information.vo.IotInformationDbPageReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.information.vo.IotInformationDbSaveReqVO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.information.IotInformationDbDO;
+import cn.iocoder.yudao.module.pms.dal.mysql.information.IotInformationDbMapper;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant.IOT_INFORMATION_DB_NOT_EXISTS;
+
+/**
+ * 故障知识库 Service 实现类
+ *
+ * @author 李鹏辉
+ */
+@Service
+@Validated
+public class IotInformationDbServiceImpl implements IotInformationDbService {
+
+    @Resource
+    private IotInformationDbMapper iotInformationDbMapper;
+
+    @Override
+    public Long createIotInformationDb(IotInformationDbSaveReqVO createReqVO) {
+        // 插入
+        IotInformationDbDO iotInformationDb = BeanUtils.toBean(createReqVO, IotInformationDbDO.class);
+        iotInformationDbMapper.insert(iotInformationDb);
+        // 返回
+        return iotInformationDb.getId();
+    }
+
+    @Override
+    public void updateIotInformationDb(IotInformationDbSaveReqVO updateReqVO) {
+        // 校验存在
+        validateIotInformationDbExists(updateReqVO.getId());
+        // 更新
+        IotInformationDbDO updateObj = BeanUtils.toBean(updateReqVO, IotInformationDbDO.class);
+        iotInformationDbMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteIotInformationDb(Long id) {
+        // 校验存在
+        validateIotInformationDbExists(id);
+        // 删除
+        iotInformationDbMapper.deleteById(id);
+    }
+
+    private void validateIotInformationDbExists(Long id) {
+        if (iotInformationDbMapper.selectById(id) == null) {
+            throw exception(IOT_INFORMATION_DB_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public IotInformationDbDO getIotInformationDb(Long id) {
+        return iotInformationDbMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<IotInformationDbDO> getIotInformationDbPage(IotInformationDbPageReqVO pageReqVO) {
+        return iotInformationDbMapper.selectPage(pageReqVO);
+    }
+
+}

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

@@ -48,12 +48,14 @@ public class IotMaintainServiceImpl implements IotMaintainService {
         IotMaintainDO iotMaintain = BeanUtils.toBean(createReqVO.getMaintain(), IotMaintainDO.class);
         IotMaintainDO iotMaintain = BeanUtils.toBean(createReqVO.getMaintain(), IotMaintainDO.class);
         iotMaintain.setFailureCode("GZ"+ DateUtil.format(new Date(), "yyyyMMddHHmmss"));
         iotMaintain.setFailureCode("GZ"+ DateUtil.format(new Date(), "yyyyMMddHHmmss"));
         iotMaintain.setFailureName(createReqVO.getMaintain().getDeviceName()+DateUtil.format(new Date(), "yyyyMMddHHmmss"));
         iotMaintain.setFailureName(createReqVO.getMaintain().getDeviceName()+DateUtil.format(new Date(), "yyyyMMddHHmmss"));
+        iotMaintain.setDeleted(false);
         iotMaintainMapper.insert(iotMaintain);
         iotMaintainMapper.insert(iotMaintain);
         //插入工单物料
         //插入工单物料
         List<IotMaintainMaterialSaveReqVO> maintainMaterials = createReqVO.getMaintainMaterials();
         List<IotMaintainMaterialSaveReqVO> maintainMaterials = createReqVO.getMaintainMaterials();
         List<IotMaintainMaterialDO> collect = maintainMaterials.stream().map(e -> {
         List<IotMaintainMaterialDO> collect = maintainMaterials.stream().map(e -> {
             IotMaintainMaterialDO bean = BeanUtils.toBean(e, IotMaintainMaterialDO.class);
             IotMaintainMaterialDO bean = BeanUtils.toBean(e, IotMaintainMaterialDO.class);
             bean.setMaintainId(iotMaintain.getId());
             bean.setMaintainId(iotMaintain.getId());
+            bean.setDeleted(false);
             return bean;
             return bean;
         }).collect(Collectors.toList());
         }).collect(Collectors.toList());
         iotMaintainMaterialMapper.insertBatch(collect);
         iotMaintainMaterialMapper.insertBatch(collect);