shiyunteng
7 天以前 0ad13cb4bf387d4f2db2d62540ebb73a376087f5
巡检标准 巡检计划 巡检任务
7个文件已修改
40个文件已添加
1732 ■■■■■ 已修改文件
platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/MaxSizeContant.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InspectionPlanQueryDTO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InspectionTaskQueryDTO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceRepair.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionPlan.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionPlanDevice.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionPlanDeviceSerial.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionPlanDeviceStandards.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionStandards.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionTask.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionTaskItem.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/WorkOrder.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DeviceRepairPageVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InspectionPlanPageVo.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InspectionTaskPageVo.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InspectionPlanController.java 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InspectionStandardsController.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InspectionTaskController.java 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionPlanDeviceMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionPlanDeviceSerialMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionPlanDeviceStandardMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionPlanMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionStandardsMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionTaskItemMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionTaskMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/WorkOrderMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceRepairService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InspectionPlanService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InspectionStandardsService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InspectionTaskService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionStandardsServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/DeviceRepairMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/InspectionPlanDeviceMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/InspectionPlanDeviceSerialMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/InspectionPlanDeviceStandardMapper.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/InspectionPlanMapper.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/InspectionStandardsMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/InspectionTaskItemMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/InspectionTaskMapper.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/WorkOrderMapper.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/MaxSizeContant.java
@@ -42,7 +42,10 @@
     * 设备采购计划编号
     */
    String DEVICE_PURCHASE_CODE = "DEVICE_PURCHASE_CODE";
    /**
     * 工单编号
     */
    String WORK_ORDER_CODE = "WORK_ORDER_CODE";
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InspectionPlanQueryDTO.java
New file
@@ -0,0 +1,10 @@
package com.by4cloud.platformx.device.dto;
import lombok.Data;
@Data
public class InspectionPlanQueryDTO {
    private String planName;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InspectionTaskQueryDTO.java
New file
@@ -0,0 +1,10 @@
package com.by4cloud.platformx.device.dto;
import lombok.Data;
@Data
public class InspectionTaskQueryDTO {
    private String taskName;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceRepair.java
@@ -50,4 +50,12 @@
    @Schema(description = "维修结束日期")
    @Column(columnDefinition = "datetime comment '维修结束日期'")
    private Date repairEndDate;
    @Schema(description = "问题描述")
    @Column(columnDefinition="VARCHAR(256) comment '问题描述'")
    private String repairDesc;
    @Schema(description = "生成工单标识")
    @Column(columnDefinition="int comment '生成工单标识 0 未生成 1 已生成'")
    private Integer woFlag;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionPlan.java
New file
@@ -0,0 +1,50 @@
package com.by4cloud.platformx.device.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;
@Data
@Entity
@TableName("inspection_plan")
@javax.persistence.Table(name = "inspection_plan")
@Table(appliesTo = "inspection_plan", comment = "巡检计划")
public class InspectionPlan extends BaseModel<InspectionPlan> {
    @Schema(description = "巡检计划名称")
    @Column(columnDefinition="VARCHAR(128) comment '巡检计划名称'")
    private String planName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "巡检计划开始时间")
    @Column(columnDefinition="datetime comment '巡检计划开始时间'")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "巡检计划结束时间")
    @Column(columnDefinition="datetime comment '巡检计划结束时间'")
    private Date endTime;
    @Schema(description = "巡检人员")
    @Column(columnDefinition="bigint comment '巡检人员'")
    private Long inspectionUserId;
    @Schema(description = "是否已生成巡检任务")
    @Column(columnDefinition="int comment '是否已生成巡检任务 0 未生成 1 已生成'")
    private Integer taskFlag;
    @Transient
    @TableField(exist = false)
    private List<InspectionPlanDevice> deviceList;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionPlanDevice.java
New file
@@ -0,0 +1,37 @@
package com.by4cloud.platformx.device.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Transient;
import java.util.List;
@Data
@Entity
@TableName("inspection_plan_device")
@javax.persistence.Table(name = "inspection_plan_device")
@Table(appliesTo = "inspection_plan_device", comment = "巡检计划关联设备")
public class InspectionPlanDevice extends BaseModel<InspectionPlanDevice> {
    @Schema(description = "巡检计划")
    @Column(columnDefinition="bigint comment '巡检计划'")
    private Long planId;
    @Schema(description = "设备ID")
    @Column(columnDefinition="bigint comment '设备ID'")
    private Long deviceId;
    @Transient
    @TableField(exist = false)
    private List<String> serialList;
    @Transient
    @TableField(exist = false)
    private List<Long> standardsList;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionPlanDeviceSerial.java
New file
@@ -0,0 +1,30 @@
package com.by4cloud.platformx.device.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Transient;
import java.util.List;
@Data
@Entity
@TableName("inspection_plan_device_serial")
@javax.persistence.Table(name = "inspection_plan_device_serial")
@Table(appliesTo = "inspection_plan_device_serial", comment = "巡检计划关联设备序列号")
public class InspectionPlanDeviceSerial extends BaseModel<InspectionPlanDeviceSerial> {
    @Schema(description = "巡检计划绑定设备Id")
    @Column(columnDefinition="bigint comment '巡检计划绑定设备Id'")
    private Long planDeviceId;
    @Schema(description = "设备序列号")
    @Column(columnDefinition="VARCHAR(128) comment '设备序列号'")
    private String serialNo;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionPlanDeviceStandards.java
New file
@@ -0,0 +1,27 @@
package com.by4cloud.platformx.device.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
@Data
@Entity
@TableName("inspection_plan_device_standard")
@javax.persistence.Table(name = "inspection_plan_device_standard")
@Table(appliesTo = "inspection_plan_device_standard", comment = "巡检计划关联巡检标准")
public class InspectionPlanDeviceStandards extends BaseModel<InspectionPlanDeviceStandards> {
    @Schema(description = "计划关联设备ID")
    @Column(columnDefinition="bigint comment '计划关联设备ID'")
    private Long planDeviceId;
    @Schema(description = "巡检标准")
    @Column(columnDefinition="bigint comment '巡检标准'")
    private Long standardId;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionStandards.java
New file
@@ -0,0 +1,30 @@
package com.by4cloud.platformx.device.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
@Data
@Entity
@TableName("inspection_standards")
@javax.persistence.Table(name = "inspection_standards")
@Table(appliesTo = "inspection_standards", comment = "巡检标准")
public class InspectionStandards extends BaseModel<InspectionStandards> {
    @Schema(description = "巡检标准名称")
    @Column(columnDefinition="VARCHAR(128) comment '巡检标准名称'")
    private String standardsName;
    @Schema(description = "巡检标准内容")
    @Column(columnDefinition="text comment '巡检标准内容'")
    private String standardsContent;
    @Schema(description = "是否启用")
    @Column(columnDefinition="int comment '是否启用 0 否 1 是'")
    private Integer status;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionTask.java
New file
@@ -0,0 +1,53 @@
package com.by4cloud.platformx.device.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;
@Data
@Entity
@TableName("inspection_task")
@javax.persistence.Table(name = "inspection_task")
@Table(appliesTo = "inspection_task", comment = "巡检任务")
public class InspectionTask extends BaseModel<InspectionTask> {
    @Schema(description = "巡检任务名称")
    @Column(columnDefinition="VARCHAR(128) comment '巡检计划名称'")
    private String taskName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "巡检任务开始时间")
    @Column(columnDefinition="datetime comment '巡检任务开始时间'")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "巡检任务结束时间")
    @Column(columnDefinition="datetime comment '巡检任务结束时间'")
    private Date endTime;
    @Schema(description = "巡检人员")
    @Column(columnDefinition="bigint comment '巡检人员'")
    private Long inspectionUserId;
    @Schema(description = "巡检任务状态")
    @Column(columnDefinition="int comment '巡检任务状态 0 未开始 1 巡检中 2 已完成'")
    private Integer taskStatus;
    @Schema(description = "巡检计划")
    @Column(columnDefinition="bigint comment '巡检计划'")
    private Long planId;
    @Transient
    @TableField(exist = false)
    private List<InspectionTaskItem> itemList;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/InspectionTaskItem.java
New file
@@ -0,0 +1,39 @@
package com.by4cloud.platformx.device.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
@Data
@Entity
@TableName("inspection_task_item")
@javax.persistence.Table(name = "inspection_task_item")
@Table(appliesTo = "inspection_task_item", comment = "巡检任务明细")
public class InspectionTaskItem extends BaseModel<InspectionTaskItem> {
    @Schema(description = "任务ID")
    @Column(columnDefinition="bigint comment '任务ID'")
    private Long taskId;
    @Schema(description = "设备ID")
    @Column(columnDefinition="bigint comment '设备ID'")
    private Long deviceId;
    @Schema(description = "设备序列号")
    @Column(columnDefinition="VARCHAR(128) comment '设备序列号'")
    private String serialNo;
    @Schema(description = "巡检标准")
    @Column(columnDefinition="bigint comment '巡检标准'")
    private Long standardId;
    @Schema(description = "巡检结果")
    @Column(columnDefinition="VARCHAR(256) comment '巡检结果'")
    private String inspectionResults;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/WorkOrder.java
New file
@@ -0,0 +1,59 @@
package com.by4cloud.platformx.device.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
import java.util.Date;
@Data
@Entity
@TableName("work_order")
@javax.persistence.Table(name = "work_order")
@Table(appliesTo = "work_order", comment = "工单")
public class WorkOrder extends BaseModel<WorkOrder> {
    @Schema(description = "工单编号")
    @Column(columnDefinition="VARCHAR(64) comment '工单编号'")
    private String woCode;
    @Schema(description = "工单描述")
    @Column(columnDefinition="VARCHAR(256) comment '工单描述'")
    private String woDesc;
    @Schema(description = "工单类型")
    @Column(columnDefinition="int comment '工单类型 1 报修 2 其他'")
    private Integer woType;
    @Schema(description = "工单状态")
    @Column(columnDefinition="int comment '工单状态 1 待分配 2 处理中 3 已关闭'")
    private Integer woStatus;
    @Schema(description = "处理人")
    @Column(columnDefinition="bigint comment '处理人'")
    private Long handleUserId;
    @Schema(description = "处理人")
    @Column(columnDefinition="VARCHAR(64) comment '处理人'")
    private String handleUserName;
    @Schema(description = "处理时间")
    @Column(columnDefinition="datetime comment '处理时间'")
    private Date handleTime;
    @Schema(description = "处理说明")
    @Column(columnDefinition="VARCHAR(256) comment '处理说明'")
    private String handleDesc;
    @Schema(description = "处理后照片")
    @Column(columnDefinition="VARCHAR(256) comment '处理后照片'")
    private String handlePic;
    @Schema(description = "关联维修ID")
    @Column(columnDefinition="bigint comment '关联维修ID'")
    private Long repairId;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DeviceRepairPageVo.java
@@ -25,4 +25,6 @@
    private String status;
    private Integer woFlag;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InspectionPlanPageVo.java
New file
@@ -0,0 +1,34 @@
package com.by4cloud.platformx.device.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
@Data
public class InspectionPlanPageVo {
    private Long id;
    @Schema(description = "巡检计划名称")
    private String planName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "巡检计划开始时间")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "巡检计划结束时间")
    private Date endTime;
    @Schema(description = "巡检人员")
    private Long inspectionUserId;
    @Schema(description = "巡检人员")
    private String inspectionUserName;
    @Schema(description = "是否已生成巡检任务")
    private Integer taskFlag;
}
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InspectionTaskPageVo.java
New file
@@ -0,0 +1,34 @@
package com.by4cloud.platformx.device.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
@Data
public class InspectionTaskPageVo {
    private Long id;
    @Schema(description = "巡检任务名称")
    private String taskName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "巡检任务开始时间")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "巡检任务结束时间")
    private Date endTime;
    @Schema(description = "巡检人员")
    private Long inspectionUserId;
    @Schema(description = "巡检人员")
    private String inspectionUserName;
    @Schema(description = "是否已生成巡检任务")
    private Integer taskStatus;
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java
@@ -75,6 +75,7 @@
    @PreAuthorize("@pms.hasPermission('device_deviceRepair_add')" )
    public R save(@RequestBody DeviceRepair deviceRepair) {
        deviceRepair.setStatus(1);
        deviceRepair.setWoFlag(0);
        return R.ok(deviceRepairService.save(deviceRepair));
    }
@@ -137,4 +138,13 @@
    public R complete(@PathVariable("id")Long id) {
        return deviceRepairService.complete(id);
    }
    /**
     * 设备维修完成
     * @return
     */
    @GetMapping("/genWorkOrder/{id}" )
    public R genWorkOrder(@PathVariable("id")Long id) {
        return deviceRepairService.genWorkOrder(id);
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InspectionPlanController.java
New file
@@ -0,0 +1,131 @@
package com.by4cloud.platformx.device.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.log.annotation.SysLog;
import com.by4cloud.platformx.device.dto.InspectionPlanQueryDTO;
import com.by4cloud.platformx.device.entity.InspectionPlan;
import com.by4cloud.platformx.device.service.InspectionPlanService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import org.springdoc.api.annotations.ParameterObject;
import org.springframework.http.HttpHeaders;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
/**
 * 巡检计划
 *
 * @author syt
 * @date 2025-04-22 09:06:43
 */
@RestController
@RequiredArgsConstructor
@RequestMapping("/inspectionPlan" )
@Tag(description = "inspectionPlan" , name = "巡检计划管理" )
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class InspectionPlanController {
    private final  InspectionPlanService inspectionPlanService;
    /**
     * 分页查询
     * @param page 分页对象
     * @param queryDTO 巡检计划
     * @return
     */
    @Operation(summary = "分页查询" , description = "分页查询" )
    @GetMapping("/page" )
    @PreAuthorize("@pms.hasPermission('device_inspectionPlan_view')" )
    public R getInspectionPlanPage(@ParameterObject Page page, @ParameterObject InspectionPlanQueryDTO queryDTO) {
        return R.ok(inspectionPlanService.pageNew(page, queryDTO));
    }
    /**
     * 通过id查询巡检计划
     * @param id id
     * @return R
     */
    @Operation(summary = "通过id查询" , description = "通过id查询" )
    @GetMapping("/{id}" )
    @PreAuthorize("@pms.hasPermission('device_inspectionPlan_view')" )
    public R getById(@PathVariable("id" ) Long id) {
        return R.ok(inspectionPlanService.getByIdNew(id));
    }
    /**
     * 新增巡检计划
     * @param inspectionPlan 巡检计划
     * @return R
     */
    @Operation(summary = "新增巡检计划" , description = "新增巡检计划" )
    @SysLog("新增巡检计划" )
    @PostMapping
    @PreAuthorize("@pms.hasPermission('device_inspectionPlan_add')" )
    public R save(@RequestBody InspectionPlan inspectionPlan) {
        return R.ok(inspectionPlanService.saveDeep(inspectionPlan));
    }
    /**
     * 修改巡检计划
     * @param inspectionPlan 巡检计划
     * @return R
     */
    @Operation(summary = "修改巡检计划" , description = "修改巡检计划" )
    @SysLog("修改巡检计划" )
    @PutMapping
    @PreAuthorize("@pms.hasPermission('device_inspectionPlan_edit')" )
    public R updateById(@RequestBody InspectionPlan inspectionPlan) {
        return R.ok(inspectionPlanService.updateByIdNew(inspectionPlan));
    }
    /**
     * 通过id删除巡检计划
     * @param ids id列表
     * @return R
     */
    @Operation(summary = "通过id删除巡检计划" , description = "通过id删除巡检计划" )
    @SysLog("通过id删除巡检计划" )
    @DeleteMapping
    @PreAuthorize("@pms.hasPermission('device_inspectionPlan_del')" )
    public R removeById(@RequestBody Long[] ids) {
        return R.ok(inspectionPlanService.removeBatchByIds(CollUtil.toList(ids)));
    }
    /**
     * 导出excel 表格
     * @param inspectionPlan 查询条件
        * @param ids 导出指定ID
     * @return excel 文件流
     */
    @ResponseExcel
    @GetMapping("/export")
    @PreAuthorize("@pms.hasPermission('device_inspectionPlan_export')" )
    public List<InspectionPlan> export(InspectionPlan inspectionPlan,Long[] ids) {
        return inspectionPlanService.list(Wrappers.lambdaQuery(inspectionPlan).in(ArrayUtil.isNotEmpty(ids), InspectionPlan::getId, ids));
    }
    /**
     * 通过id生成巡检任务
     * @param id id
     * @return R
     */
    @Operation(summary = "通过id生成巡检任务" , description = "通过id生成巡检任务" )
    @GetMapping("/genTask/{id}" )
    public R gentTask(@PathVariable("id" ) Long id) {
        return inspectionPlanService.gentTask(id);
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InspectionStandardsController.java
New file
@@ -0,0 +1,151 @@
package com.by4cloud.platformx.device.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.log.annotation.SysLog;
import com.by4cloud.platformx.device.entity.InspectionStandards;
import com.by4cloud.platformx.device.service.InspectionStandardsService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import org.springdoc.api.annotations.ParameterObject;
import org.springframework.http.HttpHeaders;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
/**
 * 巡检标准
 *
 * @author syt
 * @date 2025-04-22 09:13:46
 */
@RestController
@RequiredArgsConstructor
@RequestMapping("/inspectionStandards" )
@Tag(description = "inspectionStandards" , name = "巡检标准管理" )
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class InspectionStandardsController {
    private final  InspectionStandardsService inspectionStandardsService;
    /**
     * 分页查询
     * @param page 分页对象
     * @param inspectionStandards 巡检标准
     * @return
     */
    @Operation(summary = "分页查询" , description = "分页查询" )
    @GetMapping("/page" )
    @PreAuthorize("@pms.hasPermission('device_inspectionStandards_view')" )
    public R getInspectionStandardsPage(@ParameterObject Page page, @ParameterObject InspectionStandards inspectionStandards) {
        LambdaQueryWrapper<InspectionStandards> wrapper = Wrappers.lambdaQuery();
        wrapper.like(StrUtil.isNotBlank(inspectionStandards.getStandardsContent()),InspectionStandards::getStandardsContent,inspectionStandards.getStandardsContent());
        wrapper.like(StrUtil.isNotBlank(inspectionStandards.getStandardsName()),InspectionStandards::getStandardsName,inspectionStandards.getStandardsName());
        wrapper.orderByDesc(InspectionStandards::getCreateTime);
        return R.ok(inspectionStandardsService.page(page, wrapper));
    }
    /**
     * 通过id查询巡检标准
     * @param id id
     * @return R
     */
    @Operation(summary = "通过id查询" , description = "通过id查询" )
    @GetMapping("/{id}" )
    @PreAuthorize("@pms.hasPermission('device_inspectionStandards_view')" )
    public R getById(@PathVariable("id" ) Long id) {
        return R.ok(inspectionStandardsService.getById(id));
    }
    /**
     * 新增巡检标准
     * @param inspectionStandards 巡检标准
     * @return R
     */
    @Operation(summary = "新增巡检标准" , description = "新增巡检标准" )
    @SysLog("新增巡检标准" )
    @PostMapping
    @PreAuthorize("@pms.hasPermission('device_inspectionStandards_add')" )
    public R save(@RequestBody InspectionStandards inspectionStandards) {
        inspectionStandards.setStatus(0);
        return R.ok(inspectionStandardsService.save(inspectionStandards));
    }
    /**
     * 修改巡检标准
     * @param inspectionStandards 巡检标准
     * @return R
     */
    @Operation(summary = "修改巡检标准" , description = "修改巡检标准" )
    @SysLog("修改巡检标准" )
    @PutMapping
    @PreAuthorize("@pms.hasPermission('device_inspectionStandards_edit')" )
    public R updateById(@RequestBody InspectionStandards inspectionStandards) {
        return R.ok(inspectionStandardsService.updateById(inspectionStandards));
    }
    /**
     * 通过id删除巡检标准
     * @param ids id列表
     * @return R
     */
    @Operation(summary = "通过id删除巡检标准" , description = "通过id删除巡检标准" )
    @SysLog("通过id删除巡检标准" )
    @DeleteMapping
    @PreAuthorize("@pms.hasPermission('device_inspectionStandards_del')" )
    public R removeById(@RequestBody Long[] ids) {
        return R.ok(inspectionStandardsService.removeBatchByIds(CollUtil.toList(ids)));
    }
    /**
     * 导出excel 表格
     * @param inspectionStandards 查询条件
        * @param ids 导出指定ID
     * @return excel 文件流
     */
    @ResponseExcel
    @GetMapping("/export")
    @PreAuthorize("@pms.hasPermission('device_inspectionStandards_export')" )
    public List<InspectionStandards> export(InspectionStandards inspectionStandards,Long[] ids) {
        return inspectionStandardsService.list(Wrappers.lambdaQuery(inspectionStandards).in(ArrayUtil.isNotEmpty(ids), InspectionStandards::getId, ids));
    }
    /**
     * 通过id启用/停用巡检标准
     * @param id id
     * @return R
     */
    @Operation(summary = "通过id启用/停用巡检标准" , description = "通过id启用/停用巡检标准" )
    @GetMapping("/{id}/{status}" )
    public R openOrOffById(@PathVariable("id" ) Long id,@PathVariable("status")Integer status) {
        return inspectionStandardsService.openOrOffById(id,status);
    }
    /**
     * 通过id启用/停用巡检标准
     * @param id id
     * @return R
     */
    @Operation(summary = "下拉所有数据" , description = "通过id启用/停用巡检标准" )
    @GetMapping("/dropdownnList" )
    public R dropdownnList() {
        QueryWrapper<InspectionStandards> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("status",1);
        List<InspectionStandards> list = inspectionStandardsService.list(queryWrapper);
        return R.ok(list);
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InspectionTaskController.java
New file
@@ -0,0 +1,132 @@
package com.by4cloud.platformx.device.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.log.annotation.SysLog;
import com.by4cloud.platformx.device.dto.InspectionTaskQueryDTO;
import com.by4cloud.platformx.device.entity.InspectionTask;
import com.by4cloud.platformx.device.service.InspectionTaskService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import org.springdoc.api.annotations.ParameterObject;
import org.springframework.http.HttpHeaders;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
/**
 * 巡检任务
 *
 * @author syt
 * @date 2025-04-22 09:15:32
 */
@RestController
@RequiredArgsConstructor
@RequestMapping("/inspectionTask" )
@Tag(description = "inspectionTask" , name = "巡检任务管理" )
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class InspectionTaskController {
    private final  InspectionTaskService inspectionTaskService;
    /**
     * 分页查询
     * @param page 分页对象
     * @param queryDTO 巡检任务
     * @return
     */
    @Operation(summary = "分页查询" , description = "分页查询" )
    @GetMapping("/page" )
    @PreAuthorize("@pms.hasPermission('device_inspectionTask_view')" )
    public R getInspectionTaskPage(@ParameterObject Page page, @ParameterObject InspectionTaskQueryDTO queryDTO) {
        return R.ok(inspectionTaskService.pageNew(page, queryDTO));
    }
    /**
     * 通过id查询巡检任务
     * @param id id
     * @return R
     */
    @Operation(summary = "通过id查询" , description = "通过id查询" )
    @GetMapping("/{id}" )
    @PreAuthorize("@pms.hasPermission('device_inspectionTask_view')" )
    public R getById(@PathVariable("id" ) Long id) {
        return R.ok(inspectionTaskService.getByIdNew(id));
    }
    /**
     * 新增巡检任务
     * @param inspectionTask 巡检任务
     * @return R
     */
    @Operation(summary = "新增巡检任务" , description = "新增巡检任务" )
    @SysLog("新增巡检任务" )
    @PostMapping
    @PreAuthorize("@pms.hasPermission('device_inspectionTask_add')" )
    public R save(@RequestBody InspectionTask inspectionTask) {
        return R.ok(inspectionTaskService.save(inspectionTask));
    }
    /**
     * 修改巡检任务
     * @param inspectionTask 巡检任务
     * @return R
     */
    @Operation(summary = "修改巡检任务" , description = "修改巡检任务" )
    @SysLog("修改巡检任务" )
    @PutMapping
    @PreAuthorize("@pms.hasPermission('device_inspectionTask_edit')" )
    public R updateById(@RequestBody InspectionTask inspectionTask) {
        return R.ok(inspectionTaskService.updateByIdNew(inspectionTask));
    }
    /**
     * 通过id删除巡检任务
     * @param ids id列表
     * @return R
     */
    @Operation(summary = "通过id删除巡检任务" , description = "通过id删除巡检任务" )
    @SysLog("通过id删除巡检任务" )
    @DeleteMapping
    @PreAuthorize("@pms.hasPermission('device_inspectionTask_del')" )
    public R removeById(@RequestBody Long[] ids) {
        return R.ok(inspectionTaskService.removeBatchByIds(CollUtil.toList(ids)));
    }
    /**
     * 导出excel 表格
     * @param inspectionTask 查询条件
        * @param ids 导出指定ID
     * @return excel 文件流
     */
    @ResponseExcel
    @GetMapping("/export")
    @PreAuthorize("@pms.hasPermission('device_inspectionTask_export')" )
    public List<InspectionTask> export(InspectionTask inspectionTask,Long[] ids) {
        return inspectionTaskService.list(Wrappers.lambdaQuery(inspectionTask).in(ArrayUtil.isNotEmpty(ids), InspectionTask::getId, ids));
    }
    /**
     * 通过id开始巡检任务
     * @param id id
     * @return R
     */
    @Operation(summary = "通过id开始巡检任务" , description = "通过id开始巡检任务" )
    @GetMapping("/taskStartById/{id}" )
    public R taskStartById(@PathVariable("id" ) Long id) {
        return R.ok(inspectionTaskService.taskStartById(id));
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java
New file
@@ -0,0 +1,123 @@
package com.by4cloud.platformx.device.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.log.annotation.SysLog;
import com.by4cloud.platformx.device.entity.WorkOrder;
import com.by4cloud.platformx.device.service.WorkOrderService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import org.springdoc.api.annotations.ParameterObject;
import org.springframework.http.HttpHeaders;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
/**
 * 工单
 *
 * @author syt
 * @date 2025-04-22 16:01:37
 */
@RestController
@RequiredArgsConstructor
@RequestMapping("/workOrder" )
@Tag(description = "workOrder" , name = "工单管理" )
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class WorkOrderController {
    private final  WorkOrderService workOrderService;
    /**
     * 分页查询
     * @param page 分页对象
     * @param workOrder 工单
     * @return
     */
    @Operation(summary = "分页查询" , description = "分页查询" )
    @GetMapping("/page" )
    @PreAuthorize("@pms.hasPermission('device_workOrder_view')" )
    public R getWorkOrderPage(@ParameterObject Page page, @ParameterObject WorkOrder workOrder) {
        LambdaQueryWrapper<WorkOrder> wrapper = Wrappers.lambdaQuery();
        wrapper.like(StrUtil.isNotBlank(workOrder.getWoCode()),WorkOrder::getWoCode,workOrder.getWoCode());
        wrapper.like(StrUtil.isNotBlank(workOrder.getWoDesc()),WorkOrder::getWoDesc,workOrder.getWoDesc());
        wrapper.eq(Objects.nonNull(workOrder.getWoStatus()),WorkOrder::getWoStatus,workOrder.getWoStatus());
        return R.ok(workOrderService.page(page, wrapper));
    }
    /**
     * 通过id查询工单
     * @param id id
     * @return R
     */
    @Operation(summary = "通过id查询" , description = "通过id查询" )
    @GetMapping("/{id}" )
    @PreAuthorize("@pms.hasPermission('device_workOrder_view')" )
    public R getById(@PathVariable("id" ) Long id) {
        return R.ok(workOrderService.getById(id));
    }
    /**
     * 新增工单
     * @param workOrder 工单
     * @return R
     */
    @Operation(summary = "新增工单" , description = "新增工单" )
    @SysLog("新增工单" )
    @PostMapping
    @PreAuthorize("@pms.hasPermission('device_workOrder_add')" )
    public R save(@RequestBody WorkOrder workOrder) {
        return R.ok(workOrderService.save(workOrder));
    }
    /**
     * 修改工单
     * @param workOrder 工单
     * @return R
     */
    @Operation(summary = "修改工单" , description = "修改工单" )
    @SysLog("修改工单" )
    @PutMapping
    @PreAuthorize("@pms.hasPermission('device_workOrder_edit')" )
    public R updateById(@RequestBody WorkOrder workOrder) {
        return R.ok(workOrderService.updateById(workOrder));
    }
    /**
     * 通过id删除工单
     * @param ids id列表
     * @return R
     */
    @Operation(summary = "通过id删除工单" , description = "通过id删除工单" )
    @SysLog("通过id删除工单" )
    @DeleteMapping
    @PreAuthorize("@pms.hasPermission('device_workOrder_del')" )
    public R removeById(@RequestBody Long[] ids) {
        return R.ok(workOrderService.removeBatchByIds(CollUtil.toList(ids)));
    }
    /**
     * 导出excel 表格
     * @param workOrder 查询条件
        * @param ids 导出指定ID
     * @return excel 文件流
     */
    @ResponseExcel
    @GetMapping("/export")
    @PreAuthorize("@pms.hasPermission('device_workOrder_export')" )
    public List<WorkOrder> export(WorkOrder workOrder,Long[] ids) {
        return workOrderService.list(Wrappers.lambdaQuery(workOrder).in(ArrayUtil.isNotEmpty(ids), WorkOrder::getId, ids));
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionPlanDeviceMapper.java
New file
@@ -0,0 +1,11 @@
package com.by4cloud.platformx.device.mapper;
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.entity.InspectionPlanDevice;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface InspectionPlanDeviceMapper extends PlatformxBaseMapper<InspectionPlanDevice> {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionPlanDeviceSerialMapper.java
New file
@@ -0,0 +1,15 @@
package com.by4cloud.platformx.device.mapper;
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.entity.InspectionPlanDeviceSerial;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface InspectionPlanDeviceSerialMapper extends PlatformxBaseMapper<InspectionPlanDeviceSerial> {
    List<String> selectSerialList(@Param("id") Long id);
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionPlanDeviceStandardMapper.java
New file
@@ -0,0 +1,15 @@
package com.by4cloud.platformx.device.mapper;
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.entity.InspectionPlanDeviceStandards;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface InspectionPlanDeviceStandardMapper extends PlatformxBaseMapper<InspectionPlanDeviceStandards> {
    List<Long> selectStandardIdList(@Param("id")Long id);
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionPlanMapper.java
New file
@@ -0,0 +1,17 @@
package com.by4cloud.platformx.device.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.dto.InspectionPlanQueryDTO;
import com.by4cloud.platformx.device.entity.InspectionPlan;
import com.by4cloud.platformx.device.entity.vo.InspectionPlanPageVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface InspectionPlanMapper extends PlatformxBaseMapper<InspectionPlan> {
    IPage<InspectionPlanPageVo> page(Page page, @Param("queryDTO") InspectionPlanQueryDTO queryDTO);
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionStandardsMapper.java
New file
@@ -0,0 +1,11 @@
package com.by4cloud.platformx.device.mapper;
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.entity.InspectionStandards;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface InspectionStandardsMapper extends PlatformxBaseMapper<InspectionStandards> {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionTaskItemMapper.java
New file
@@ -0,0 +1,11 @@
package com.by4cloud.platformx.device.mapper;
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.entity.InspectionTaskItem;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface InspectionTaskItemMapper extends PlatformxBaseMapper<InspectionTaskItem> {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InspectionTaskMapper.java
New file
@@ -0,0 +1,17 @@
package com.by4cloud.platformx.device.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.dto.InspectionTaskQueryDTO;
import com.by4cloud.platformx.device.entity.InspectionTask;
import com.by4cloud.platformx.device.entity.vo.InspectionTaskPageVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface InspectionTaskMapper extends PlatformxBaseMapper<InspectionTask> {
    IPage<InspectionTaskPageVo> page(Page page, @Param("queryDTO") InspectionTaskQueryDTO queryDTO);
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/WorkOrderMapper.java
New file
@@ -0,0 +1,11 @@
package com.by4cloud.platformx.device.mapper;
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.entity.WorkOrder;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface WorkOrderMapper extends PlatformxBaseMapper<WorkOrder> {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceRepairService.java
@@ -14,4 +14,6 @@
    R complete(Long id);
    IPage pageNew(Page page, DeviceRepairQueryDTO queryDTO);
    R genWorkOrder(Long id);
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InspectionPlanService.java
New file
@@ -0,0 +1,21 @@
package com.by4cloud.platformx.device.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.dto.InspectionPlanQueryDTO;
import com.by4cloud.platformx.device.entity.InspectionPlan;
public interface InspectionPlanService extends IService<InspectionPlan> {
    boolean saveDeep(InspectionPlan inspectionPlan);
    IPage pageNew(Page page, InspectionPlanQueryDTO queryDTO);
    InspectionPlan getByIdNew(Long id);
    boolean updateByIdNew(InspectionPlan inspectionPlan);
    R gentTask(Long id);
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InspectionStandardsService.java
New file
@@ -0,0 +1,10 @@
package com.by4cloud.platformx.device.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.entity.InspectionStandards;
public interface InspectionStandardsService extends IService<InspectionStandards> {
    R openOrOffById(Long id, Integer status);
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InspectionTaskService.java
New file
@@ -0,0 +1,18 @@
package com.by4cloud.platformx.device.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.by4cloud.platformx.device.dto.InspectionTaskQueryDTO;
import com.by4cloud.platformx.device.entity.InspectionTask;
public interface InspectionTaskService extends IService<InspectionTask> {
    IPage pageNew(Page page, InspectionTaskQueryDTO queryDTO);
    InspectionTask getByIdNew(Long id);
    boolean updateByIdNew(InspectionTask inspectionTask);
    boolean taskStartById(Long id);
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java
New file
@@ -0,0 +1,8 @@
package com.by4cloud.platformx.device.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.by4cloud.platformx.device.entity.WorkOrder;
public interface WorkOrderService extends IService<WorkOrder> {
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java
@@ -4,12 +4,16 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.constant.MaxSizeContant;
import com.by4cloud.platformx.device.dto.DeviceRepairQueryDTO;
import com.by4cloud.platformx.device.entity.DeviceInventory;
import com.by4cloud.platformx.device.entity.DeviceRepair;
import com.by4cloud.platformx.device.entity.WorkOrder;
import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper;
import com.by4cloud.platformx.device.mapper.DeviceRepairMapper;
import com.by4cloud.platformx.device.mapper.WorkOrderMapper;
import com.by4cloud.platformx.device.service.DeviceRepairService;
import com.by4cloud.platformx.device.service.JcMaxSizeService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
@@ -23,6 +27,8 @@
public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, DeviceRepair> implements DeviceRepairService {
    private final DeviceInventoryMapper inventoryMapper;
    private final JcMaxSizeService maxSizeService;
    private final WorkOrderMapper workOrderMapper;
    @Override
    public R approved(Long id) {
@@ -50,4 +56,19 @@
    public IPage pageNew(Page page, DeviceRepairQueryDTO queryDTO) {
        return baseMapper.pageNew(page,queryDTO);
    }
    @Override
    public R genWorkOrder(Long id) {
        DeviceRepair repair = baseMapper.selectById(id);
        WorkOrder workOrder = new WorkOrder();
        workOrder.setRepairId(id);
        workOrder.setWoCode(maxSizeService.nextNo(MaxSizeContant.DEVICE_PURCHASE_CODE));
        workOrder.setWoDesc(repair.getRepairDesc());
        workOrder.setWoType(1);
        workOrder.setWoStatus(1);
        workOrderMapper.insert(workOrder);
        repair.setWoFlag(1);
        baseMapper.updateById(repair);
        return R.ok();
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java
New file
@@ -0,0 +1,252 @@
package com.by4cloud.platformx.device.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.dto.InspectionPlanQueryDTO;
import com.by4cloud.platformx.device.entity.*;
import com.by4cloud.platformx.device.mapper.*;
import com.by4cloud.platformx.device.service.InspectionPlanService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * 巡检计划
 *
 * @author syt
 * @date 2025-04-22 09:06:43
 */
@Service
@AllArgsConstructor
public class InspectionPlanServiceImpl extends ServiceImpl<InspectionPlanMapper, InspectionPlan> implements InspectionPlanService {
    private final InspectionPlanDeviceMapper planDeviceMapper;
    private final InspectionPlanDeviceSerialMapper planDeviceSerialMapper;
    private final InspectionPlanDeviceStandardMapper planDeviceStandardMapper;
    private final InspectionTaskMapper taskMapper;
    private final InspectionTaskItemMapper taskItemMapper;
    @Override
    public boolean saveDeep(InspectionPlan inspectionPlan) {
        baseMapper.insert(inspectionPlan);
        //计划与设备关联
        if (inspectionPlan.getDeviceList()!=null&&inspectionPlan.getDeviceList().size()>0){
            for (InspectionPlanDevice planDevice:inspectionPlan.getDeviceList()
                 ) {
                planDevice.setPlanId(inspectionPlan.getId());
                planDeviceMapper.insert(planDevice);
                //巡检计划设备具体序列号
                if (planDevice.getSerialList()!=null&&planDevice.getSerialList().size()>0){
                    planDevice.getSerialList().stream().forEach(item->{
                        InspectionPlanDeviceSerial serial = new InspectionPlanDeviceSerial();
                        serial.setSerialNo(item);
                        serial.setPlanDeviceId(planDevice.getId());
                        planDeviceSerialMapper.insert(serial);
                    });
                }
                //巡检计划巡检标准
                if (planDevice.getStandardsList()!=null&&planDevice.getStandardsList().size()>0){
                    planDevice.getStandardsList().stream().forEach(item->{
                        InspectionPlanDeviceStandards standards = new InspectionPlanDeviceStandards();
                        standards.setStandardId(item);
                        standards.setPlanDeviceId(planDevice.getId());
                        planDeviceStandardMapper.insert(standards);
                    });
                }
            }
        }
        //根据是否生成任务标识生成任务
        if (inspectionPlan.getTaskFlag()==1){
            InspectionTask task = BeanUtil.copyProperties(inspectionPlan, InspectionTask.class);
            task.setId(null);
            task.setTaskStatus(0);
            task.setTaskName(inspectionPlan.getPlanName()+"的任务");
            task.setPlanId(inspectionPlan.getId());
            taskMapper.insert(task);
            //任务明细
            if (inspectionPlan.getDeviceList()!=null&&inspectionPlan.getDeviceList().size()>0){
                for (InspectionPlanDevice planDevice:inspectionPlan.getDeviceList()
                ) {
                    //巡检计划设备具体序列号
                    if (planDevice.getSerialList()!=null&&planDevice.getSerialList().size()>0){
                        for (String serial:planDevice.getSerialList()
                             ) {
                            //巡检计划巡检标准
                            if (planDevice.getStandardsList()!=null&&planDevice.getStandardsList().size()>0){
                                for (Long standardId:planDevice.getStandardsList()
                                ) {
                                    InspectionTaskItem item = new InspectionTaskItem();
                                    item.setDeviceId(planDevice.getDeviceId());
                                    item.setTaskId(task.getId());
                                    item.setStandardId(standardId);
                                    item.setSerialNo(serial);
                                    taskItemMapper.insert(item);
                                }
                            }
                        }
                    }
                }
            }
        }
        return true;
    }
    @Override
    public IPage pageNew(Page page, InspectionPlanQueryDTO queryDTO) {
        return baseMapper.page(page,queryDTO);
    }
    @Override
    public InspectionPlan getByIdNew(Long id) {
        InspectionPlan plan = baseMapper.selectById(id);
        QueryWrapper<InspectionPlanDevice> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("plan_id",id);
        List<InspectionPlanDevice> planDeviceList = planDeviceMapper.selectList(queryWrapper);
        if (planDeviceList.size()>0){
            planDeviceList.stream().forEach(device->{
                List<String> serials = planDeviceSerialMapper.selectSerialList(device.getId());
                if (serials.size()>0) {
                    device.setSerialList(serials);
                }
                List<Long> standardIdList = planDeviceStandardMapper.selectStandardIdList(device.getId());
                if (standardIdList.size()>0) {
                    device.setStandardsList(standardIdList);
                }
            });
        }
        plan.setDeviceList(planDeviceList);
        return plan;
    }
    @Override
    public boolean updateByIdNew(InspectionPlan inspectionPlan) {
        baseMapper.updateById(inspectionPlan);
        //计划与设备关联
        if (inspectionPlan.getDeviceList()!=null&&inspectionPlan.getDeviceList().size()>0){
            for (InspectionPlanDevice planDevice:inspectionPlan.getDeviceList()
            ) {
                planDevice.setPlanId(inspectionPlan.getId());
                if (planDevice.getId()!=null){
                    planDeviceMapper.updateById(planDevice);
                }else {
                    planDeviceMapper.insert(planDevice);
                }
                //巡检计划设备具体序列号
                if (planDevice.getSerialList()!=null&&planDevice.getSerialList().size()>0){
                    QueryWrapper<InspectionPlanDeviceSerial> queryWrapper = new QueryWrapper<>();
                    queryWrapper.eq("plan_device_id",planDevice.getId());
                    planDeviceSerialMapper.delete(queryWrapper);
                    planDevice.getSerialList().stream().forEach(item->{
                        InspectionPlanDeviceSerial serial = new InspectionPlanDeviceSerial();
                        serial.setSerialNo(item);
                        serial.setPlanDeviceId(planDevice.getId());
                        planDeviceSerialMapper.insert(serial);
                    });
                }
                //巡检计划巡检标准
                if (planDevice.getStandardsList()!=null&&planDevice.getStandardsList().size()>0){
                    QueryWrapper<InspectionPlanDeviceStandards> queryWrapper = new QueryWrapper<>();
                    queryWrapper.eq("plan_device_id",planDevice.getId());
                    planDeviceStandardMapper.delete(queryWrapper);
                    planDevice.getStandardsList().stream().forEach(item->{
                        InspectionPlanDeviceStandards standards = new InspectionPlanDeviceStandards();
                        standards.setStandardId(item);
                        standards.setPlanDeviceId(planDevice.getId());
                        planDeviceStandardMapper.insert(standards);
                    });
                }
            }
        }
        //根据是否生成任务标识生成任务
        if (inspectionPlan.getTaskFlag()==1){
            InspectionTask task = BeanUtil.copyProperties(inspectionPlan, InspectionTask.class);
            task.setId(null);
            task.setTaskStatus(0);
            task.setTaskName(inspectionPlan.getPlanName()+"的任务");
            task.setPlanId(inspectionPlan.getId());
            taskMapper.insert(task);
            //任务明细
            if (inspectionPlan.getDeviceList()!=null&&inspectionPlan.getDeviceList().size()>0){
                for (InspectionPlanDevice planDevice:inspectionPlan.getDeviceList()
                ) {
                    //巡检计划设备具体序列号
                    if (planDevice.getSerialList()!=null&&planDevice.getSerialList().size()>0){
                        for (String serial:planDevice.getSerialList()
                        ) {
                            //巡检计划巡检标准
                            if (planDevice.getStandardsList()!=null&&planDevice.getStandardsList().size()>0){
                                for (Long standardId:planDevice.getStandardsList()
                                ) {
                                    InspectionTaskItem item = new InspectionTaskItem();
                                    item.setDeviceId(planDevice.getDeviceId());
                                    item.setTaskId(task.getId());
                                    item.setStandardId(standardId);
                                    item.setSerialNo(serial);
                                    taskItemMapper.insert(item);
                                }
                            }
                        }
                    }
                }
            }
        }
        return true;
    }
    @Override
    public R gentTask(Long id) {
        InspectionPlan plan = getByIdNew(id);
        InspectionTask task = BeanUtil.copyProperties(plan, InspectionTask.class);
        task.setId(null);
        task.setTaskStatus(0);
        task.setTaskName(plan.getPlanName()+"的任务");
        task.setPlanId(plan.getId());
        taskMapper.insert(task);
        //任务明细
        if (plan.getDeviceList()!=null&&plan.getDeviceList().size()>0){
            for (InspectionPlanDevice planDevice:plan.getDeviceList()
            ) {
                //巡检计划设备具体序列号
                if (planDevice.getSerialList()!=null&&planDevice.getSerialList().size()>0){
                    for (String serial:planDevice.getSerialList()
                    ) {
                        //巡检计划巡检标准
                        if (planDevice.getStandardsList()!=null&&planDevice.getStandardsList().size()>0){
                            for (Long standardId:planDevice.getStandardsList()
                            ) {
                                InspectionTaskItem item = new InspectionTaskItem();
                                item.setDeviceId(planDevice.getDeviceId());
                                item.setTaskId(task.getId());
                                item.setStandardId(standardId);
                                item.setSerialNo(serial);
                                taskItemMapper.insert(item);
                            }
                        }
                    }
                }
            }
        }
        //跟新计划标识
        plan.setTaskFlag(1);
        baseMapper.updateById(plan);
        return R.ok();
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionStandardsServiceImpl.java
New file
@@ -0,0 +1,24 @@
package com.by4cloud.platformx.device.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.entity.InspectionStandards;
import com.by4cloud.platformx.device.mapper.InspectionStandardsMapper;
import com.by4cloud.platformx.device.service.InspectionStandardsService;
import org.springframework.stereotype.Service;
/**
 * 巡检标准
 *
 * @author syt
 * @date 2025-04-22 09:13:46
 */
@Service
public class InspectionStandardsServiceImpl extends ServiceImpl<InspectionStandardsMapper, InspectionStandards> implements InspectionStandardsService {
    @Override
    public R openOrOffById(Long id, Integer status) {
        InspectionStandards standards = baseMapper.selectById(id);
        standards.setStatus(status);
        baseMapper.updateById(standards);
        return R.ok();
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java
New file
@@ -0,0 +1,64 @@
package com.by4cloud.platformx.device.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.admin.api.entity.SysUser;
import com.by4cloud.platformx.device.dto.InspectionTaskQueryDTO;
import com.by4cloud.platformx.device.entity.InspectionTask;
import com.by4cloud.platformx.device.entity.InspectionTaskItem;
import com.by4cloud.platformx.device.mapper.InspectionTaskItemMapper;
import com.by4cloud.platformx.device.mapper.InspectionTaskMapper;
import com.by4cloud.platformx.device.service.InspectionTaskService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * 巡检任务
 *
 * @author syt
 * @date 2025-04-22 09:15:32
 */
@Service
@AllArgsConstructor
public class InspectionTaskServiceImpl extends ServiceImpl<InspectionTaskMapper, InspectionTask> implements InspectionTaskService {
    private final InspectionTaskItemMapper itemMapper;
    @Override
    public IPage pageNew(Page page, InspectionTaskQueryDTO queryDTO) {
        return baseMapper.page(page,queryDTO);
    }
    @Override
    public InspectionTask getByIdNew(Long id) {
        InspectionTask task = baseMapper.selectById(id);
        QueryWrapper<InspectionTaskItem> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("task_id",id);
        List<InspectionTaskItem> taskItemList = itemMapper.selectList(queryWrapper);
        task.setItemList(taskItemList);
        return task;
    }
    @Override
    public boolean updateByIdNew(InspectionTask inspectionTask) {
        inspectionTask.getItemList().stream().forEach(item->{
            itemMapper.updateById(item);
        });
        inspectionTask.setTaskStatus(2);
        baseMapper.updateById(inspectionTask);
        return true;
    }
    @Override
    public boolean taskStartById(Long id) {
        InspectionTask task = baseMapper.selectById(id);
        task.setTaskStatus(1);
        baseMapper.updateById(task);
        return true;
    }
}
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java
New file
@@ -0,0 +1,16 @@
package com.by4cloud.platformx.device.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.device.entity.WorkOrder;
import com.by4cloud.platformx.device.mapper.WorkOrderMapper;
import com.by4cloud.platformx.device.service.WorkOrderService;
import org.springframework.stereotype.Service;
/**
 * 工单
 *
 * @author syt
 * @date 2025-04-22 16:01:37
 */
@Service
public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService {
}
platformx-device-biz/src/main/resources/mapper/DeviceRepairMapper.xml
@@ -27,7 +27,8 @@
            dr.serial_no,
            dr.repair_start_date,
            dr.repair_end_date,
            dr.status
            dr.status,
            dr.wo_flag
        from
            device_repair dr
        join device d on
platformx-device-biz/src/main/resources/mapper/InspectionPlanDeviceMapper.xml
New file
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.by4cloud.platformx.device.mapper.InspectionPlanDeviceMapper">
    <resultMap id="inspectionPlanDeviceMap" type="com.by4cloud.platformx.device.entity.InspectionPlanDevice">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="deviceId" column="device_id"/>
        <result property="planId" column="plan_id"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
    </resultMap>
</mapper>
platformx-device-biz/src/main/resources/mapper/InspectionPlanDeviceSerialMapper.xml
New file
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.by4cloud.platformx.device.mapper.InspectionPlanDeviceSerialMapper">
    <resultMap id="inspectionPlanDeviceSerialMap" type="com.by4cloud.platformx.device.entity.InspectionPlanDeviceSerial">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="planDeviceId" column="plan_device_id"/>
        <result property="serialNo" column="serial_no"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
    </resultMap>
    <select id="selectSerialList" resultType="java.lang.String">
        select
            serial_no
        from
            inspection_plan_device_serial
        where
            del_flag = '0'
        and plan_device_id = #{id}
    </select>
</mapper>
platformx-device-biz/src/main/resources/mapper/InspectionPlanDeviceStandardMapper.xml
New file
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.by4cloud.platformx.device.mapper.InspectionPlanDeviceStandardMapper">
    <resultMap id="inspectionPlanDeviceStandardMap" type="com.by4cloud.platformx.device.entity.InspectionPlanDeviceStandards">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="standardId" column="standard_id"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
    </resultMap>
    <select id="selectStandardIdList" resultType="java.lang.Long">
        select
            standard_id
        from
            inspection_plan_device_standard
        where
            del_flag = '0'
        and plan_device_id = #{id}
    </select>
</mapper>
platformx-device-biz/src/main/resources/mapper/InspectionPlanMapper.xml
New file
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.by4cloud.platformx.device.mapper.InspectionPlanMapper">
  <resultMap id="inspectionPlanMap" type="com.by4cloud.platformx.device.entity.InspectionPlan">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="endTime" column="end_time"/>
        <result property="inspectionUserId" column="inspection_user_id"/>
        <result property="planName" column="plan_name"/>
        <result property="startTime" column="start_time"/>
        <result property="taskFlag" column="task_flag"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
  </resultMap>
    <select id="page" resultType="com.by4cloud.platformx.device.entity.vo.InspectionPlanPageVo">
        select
            ip.id,
            ip.plan_name,
            ip.inspection_user_id,
            ip.start_time,
            ip.end_time,
            ip.task_flag,
            su.name inspectionUserName
        from
            inspection_plan ip
                join platformxx_boot.sys_user su on
                su.user_id = ip.inspection_user_id
        where
            ip.del_flag = '0'
        <if test="queryDTO.planName != null and queryDTO.planName != ''">
            and ip.plan_name like CONCAT('%', #{queryDTO.planName}, '%')
        </if>
            order by ip.create_time desc
    </select>
</mapper>
platformx-device-biz/src/main/resources/mapper/InspectionStandardsMapper.xml
New file
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.by4cloud.platformx.device.mapper.InspectionStandardsMapper">
  <resultMap id="inspectionStandardsMap" type="com.by4cloud.platformx.device.entity.InspectionStandards">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="standardsContent" column="standards_content"/>
        <result property="standardsName" column="standards_name"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
  </resultMap>
</mapper>
platformx-device-biz/src/main/resources/mapper/InspectionTaskItemMapper.xml
New file
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.by4cloud.platformx.device.mapper.InspectionTaskItemMapper">
    <resultMap id="inspectionTaskItemMap" type="com.by4cloud.platformx.device.entity.InspectionTaskItem">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="deviceId" column="device_id"/>
        <result property="inspectionResults" column="inspection_results"/>
        <result property="serialNo" column="serial_no"/>
        <result property="standardId" column="standard_id"/>
        <result property="taskId" column="task_id"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
    </resultMap>
</mapper>
platformx-device-biz/src/main/resources/mapper/InspectionTaskMapper.xml
New file
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.by4cloud.platformx.device.mapper.InspectionTaskMapper">
  <resultMap id="inspectionTaskMap" type="com.by4cloud.platformx.device.entity.InspectionTask">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="endTime" column="end_time"/>
        <result property="inspectionUserId" column="inspection_user_id"/>
        <result property="startTime" column="start_time"/>
        <result property="taskName" column="task_name"/>
        <result property="taskStatus" column="task_status"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
  </resultMap>
    <select id="page" resultType="com.by4cloud.platformx.device.entity.vo.InspectionTaskPageVo">
        select
            it.id,
            it.task_name ,
            it.inspection_user_id,
            it.start_time,
            it.end_time,
            it.task_status ,
            su.name inspectionUserName
        from
            inspection_task it
                join platformxx_boot.sys_user su on
                su.user_id = it.inspection_user_id
        where
            it.del_flag = '0'
        <if test="queryDTO.taskName != null and queryDTO.taskName != ''">
            and ip.task_name like CONCAT('%', #{queryDTO.taskName}, '%')
        </if>
        order by it.create_time desc
    </select>
</mapper>
platformx-device-biz/src/main/resources/mapper/WorkOrderMapper.xml
New file
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.by4cloud.platformx.device.mapper.WorkOrderMapper">
  <resultMap id="workOrderMap" type="com.by4cloud.platformx.device.entity.WorkOrder">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="handleDesc" column="handle_desc"/>
        <result property="handlePic" column="handle_pic"/>
        <result property="handleTime" column="handle_time"/>
        <result property="handleUserId" column="handle_user_id"/>
        <result property="handleUserName" column="handle_user_name"/>
        <result property="woType" column="wo_type"/>
        <result property="repairId" column="repair_id"/>
        <result property="woCode" column="wo_code"/>
        <result property="woDesc" column="wo_desc"/>
        <result property="woStatus" column="wo_status"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
  </resultMap>
</mapper>