zhangherong
2025-07-10 8aa956fed9950c75b7115e44e01b9d41b9241b82
Merge remote-tracking branch 'origin/master'
已添加6个文件
已修改16个文件
1157 ■■■■■ 文件已修改
db/template/生产设备三级保养规范.docx 补丁 | 查看 | 原始文档 | blame | 历史
db/template/生产设备二级保养规范.docx 补丁 | 查看 | 原始文档 | blame | 历史
db/template/设备台账导入模板.xls 补丁 | 查看 | 原始文档 | blame | 历史
db/template/设备点检标准导入模板.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/InspectionResultEnum.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamEquipmentDto.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrderDetail.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamWeekInspectionDetail.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamInsOrderDetailResultResponse.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamInsOrderDetailUserResponse.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamInspectionOrderBaseResponse.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamWeekInsDetailResultResponse.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamWeekInsDetailUserResponse.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java 314 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml 146 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java 291 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/template/Éú²úÉ豸Èý¼¶±£Ñø¹æ·¶.docx
Binary files differ
db/template/Éú²úÉ豸¶þ¼¶±£Ñø¹æ·¶.docx
Binary files differ
db/template/É豸̨Õ˵¼ÈëÄ£°å.xls
Binary files differ
db/template/É豸µã¼ì±ê×¼µ¼ÈëÄ£°å.xlsx
Binary files differ
lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
@@ -137,6 +137,12 @@
        filterChainDefinitionMap.put("/jmreport/**", "anon");
        filterChainDefinitionMap.put("/**/*.js.map", "anon");
        filterChainDefinitionMap.put("/**/*.css.map", "anon");
        //设备点检打印接口排除
        filterChainDefinitionMap.put("/eam/eamInspectionOrder/exportInsOrderBaseInfo", "anon");
        filterChainDefinitionMap.put("/eam/eamInspectionOrder/exportInsOrderDetailList", "anon");
        filterChainDefinitionMap.put("/eam/eamInspectionOrder/exportInsOrderDetailUserList", "anon");
        filterChainDefinitionMap.put("/eam/eamInspectionOrder/exportWeekInsDetailList", "anon");
        filterChainDefinitionMap.put("/eam/eamInspectionOrder/exportWeekInsOrderDetailUserList", "anon");
        //设备完好率报表排除
        filterChainDefinitionMap.put("/eam/repairOrder/equipmentAvailability", "anon");
        //生产故障间隔时间报表排除
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/InspectionResultEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package org.jeecg.modules.eam.constant;
/**
 * ç‚¹æ£€ç»“果分类
 */
public enum InspectionResultEnum {
    NORMAL, //正常
    ANOMALY, //异常
    FAULT, //故障
    CLOSE //关机
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamEquipmentDto.java
@@ -92,7 +92,7 @@
    /**
     * æ‰€å±žåˆ†ç±»
     */
    @Excel(name = "所属分类", width = 15, orderNum = "5")
    @Excel(name = "所属分类", width = 15, orderNum = "5",dicCode = "equipment_category")
    @ApiModelProperty(value = "所属分类")
    @Dict(dicCode = "equipment_category")
    private String equipmentCategory;
@@ -296,7 +296,7 @@
    /**
     * è´¨ä¿å¼€å§‹æ—¥æœŸ
     */
    @Excel(name = "质保开始日期", width = 15, orderNum = "36")
    @Excel(name = "质保开始日期", width = 15, format = "yyyy/MM/dd", orderNum = "36")
    @ApiModelProperty(value = "质保开始日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -305,7 +305,7 @@
    /**
     * è´¨ä¿ç»“束日期
     */
    @Excel(name = "质保结束日期", width = 15, orderNum = "37")
    @Excel(name = "质保结束日期", width = 15, format = "yyyy/MM/dd", orderNum = "37")
    @ApiModelProperty(value = "质保结束日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -321,7 +321,7 @@
    /**最新二保日期*/
    @TableField(exist = false)
    @Excel(name = "最新二保日期", width = 15, orderNum = "39")
    @Excel(name = "最新二保日期", width = 15, format = "yyyy/MM/dd", orderNum = "39")
    @ApiModelProperty(value = "最新二保日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -329,7 +329,7 @@
    /**下次二保日期*/
    @TableField(exist = false)
    @Excel(name = "下次二保日期", width = 15, orderNum = "40")
    @Excel(name = "下次二保日期", width = 15, format = "yyyy/MM/dd", orderNum = "40")
    @ApiModelProperty(value = "下次二保日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -338,7 +338,7 @@
    /**本次三保日期*/
    @TableField(exist = false)
    @Excel(name = "本次三保日期", width = 15, orderNum = "41")
    @Excel(name = "本次三保日期", width = 15, format = "yyyy/MM/dd", orderNum = "41")
    @ApiModelProperty(value = "本次三保日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -346,7 +346,7 @@
    /**下次三保日期*/
    @TableField(exist = false)
    @Excel(name = "下次三保日期", width = 15, orderNum = "42")
    @Excel(name = "下次三保日期", width = 15, format = "yyyy/MM/dd", orderNum = "42")
    @ApiModelProperty(value = "下次三保日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -360,14 +360,14 @@
    /**最新技术状态鉴定日期*/
    @TableField(exist = false)
    @Excel(name = "最新技术状态鉴定日期", width = 15, orderNum = "44")
    @Excel(name = "最新技术状态鉴定日期", width = 15, format = "yyyy/MM/dd", orderNum = "44")
    @ApiModelProperty(value = "最新技术状态鉴定日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private java.util.Date latestTechnologyCheck;
    /**技术状态下次鉴定日期*/
    @TableField(exist = false)
    @Excel(name = "技术状态下次鉴定日期", width = 15, orderNum = "45")
    @Excel(name = "技术状态下次鉴定日期", width = 15, format = "yyyy/MM/dd", orderNum = "45")
    @ApiModelProperty(value = "技术状态下次鉴定日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java
@@ -126,7 +126,7 @@
    /**
     * æ‰€å±žåˆ†ç±»
     */
    @Excel(name = "所属分类", width = 15, orderNum = "5")
    @Excel(name = "所属分类", width = 15, orderNum = "5",dicCode = "equipment_category")
    @ApiModelProperty(value = "所属分类")
    @Dict(dicCode = "equipment_category")
    private String equipmentCategory;
@@ -331,7 +331,7 @@
    /**
     * è´¨ä¿å¼€å§‹æ—¥æœŸ
     */
    @Excel(name = "质保开始日期", width = 15, orderNum = "36")
    @Excel(name = "质保开始日期",  width = 25, format = "yyyy/MM/dd",  orderNum = "36")
    @ApiModelProperty(value = "质保开始日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -340,7 +340,7 @@
    /**
     * è´¨ä¿ç»“束日期
     */
    @Excel(name = "质保结束日期", width = 15, orderNum = "37")
    @Excel(name = "质保结束日期", width = 15, format = "yyyy/MM/dd", orderNum = "37")
    @ApiModelProperty(value = "质保结束日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -356,7 +356,7 @@
    /**最新二保日期*/
    @TableField(exist = false)
    @Excel(name = "最新二保日期", width = 15, orderNum = "39")
    @Excel(name = "最新二保日期", width = 15, format = "yyyy/MM/dd", orderNum = "39")
    @ApiModelProperty(value = "最新二保日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -364,7 +364,7 @@
    /**下次二保日期*/
    @TableField(exist = false)
    @Excel(name = "下次二保日期", width = 15, orderNum = "40")
    @Excel(name = "下次二保日期", width = 15, format = "yyyy/MM/dd", orderNum = "40")
    @ApiModelProperty(value = "下次二保日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -373,7 +373,7 @@
    /**本次三保日期*/
    @TableField(exist = false)
    @Excel(name = "本次三保日期", width = 15, orderNum = "41")
    @Excel(name = "本次三保日期", width = 15,  format = "yyyy/MM/dd",orderNum = "41")
    @ApiModelProperty(value = "本次三保日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -381,7 +381,7 @@
    /**下次三保日期*/
    @TableField(exist = false)
    @Excel(name = "下次三保日期", width = 15, orderNum = "42")
    @Excel(name = "下次三保日期", width = 15, format = "yyyy/MM/dd", orderNum = "42")
    @ApiModelProperty(value = "下次三保日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
@@ -395,14 +395,14 @@
    /**最新技术状态鉴定日期*/
    @TableField(exist = false)
    @Excel(name = "最新技术状态鉴定日期", width = 15, orderNum = "44")
    @Excel(name = "最新技术状态鉴定日期", width = 15, format = "yyyy/MM/dd", orderNum = "44")
    @ApiModelProperty(value = "最新技术状态鉴定日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private java.util.Date latestTechnologyCheck;
    /**技术状态下次鉴定日期*/
    @TableField(exist = false)
    @Excel(name = "技术状态下次鉴定日期", width = 15, orderNum = "45")
    @Excel(name = "技术状态下次鉴定日期", width = 15, format = "yyyy/MM/dd", orderNum = "45")
    @ApiModelProperty(value = "技术状态下次鉴定日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrderDetail.java
@@ -31,7 +31,7 @@
    private String orderId;
    /**点检结果*/
    @Excel(name = "点检结果", width = 15)
    @ApiModelProperty(value = "点检结果-正常-异常")
    @ApiModelProperty(value = "点检结果-正常-异常-故障-关机")
    private String inspectionResult;
    /**异常描述*/
    @Excel(name = "异常描述", width = 15)
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamWeekInspectionDetail.java
@@ -46,7 +46,7 @@
    private Date planInspectionDate;
    /**点检结果*/
    @Excel(name = "点检结果", width = 15)
    @ApiModelProperty(value = "点检结果-正常-异常")
    @ApiModelProperty(value = "点检结果-正常-异常-关机-故障")
    private String inspectionResult;
    /**异常描述*/
    @Excel(name = "异常描述", width = 15)
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamInsOrderDetailResultResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package org.jeecg.modules.eam.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * @Author: Lius
 * @CreateTime: 2025-07-09
 * @Description: ç‚¹æ£€é¡¹åŸºç¡€ä¿¡æ¯å¯¼å‡ºè¯¦ç»†
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="返回对象", description="点检工单基础信息导出详细")
public class EamInsOrderDetailResultResponse implements Serializable {
    private static final long serialVersionUID = -1779195782355233938L;
    /**点检日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "点检日期")
    private Date inspectionDate;
    /**保养项序号*/
    @ApiModelProperty(value = "保养项序号")
    private Integer itemCode;
    /**保养项*/
    @ApiModelProperty(value = "保养项")
    private String itemName;
    /**保养要求*/
    @ApiModelProperty(value = "保养要求")
    private String  itemDemand;
    /**点检结果*/
    @ApiModelProperty(value = "点检结果-正常-异常-")
    private String inspectionResult;
    public EamInsOrderDetailResultResponse() {
    }
    public EamInsOrderDetailResultResponse(Integer itemCode, String itemName, String itemDemand) {
        this.itemCode = itemCode;
        this.itemName = itemName;
        this.itemDemand = itemDemand;
    }
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamInsOrderDetailUserResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package org.jeecg.modules.eam.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * @Author: Lius
 * @CreateTime: 2025-07-09
 * @Description: æ—¥ç‚¹æ£€è´£ä»»äººè¿”回对象
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="返回对象", description="日点检责任人返回导出详细")
public class EamInsOrderDetailUserResponse implements Serializable {
    private static final long serialVersionUID = 6369935960896727599L;
    /**点检日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "点检日期")
    private Date inspectionDate;
    /**点检人*/
    @ApiModelProperty(value = "点检人-是领取人")
    private String operator;
    /**班组长确认*/
    @ApiModelProperty(value = "班组长确认--领取后产生")
    private String confirmUser;
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamInspectionOrderBaseResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package org.jeecg.modules.eam.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
 * @Author: Lius
 * @CreateTime: 2025-07-09
 * @Description: ç‚¹æ£€å·¥å•基础信息导出详细
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="返回对象", description="点检工单基础信息导出详细")
public class EamInspectionOrderBaseResponse implements Serializable {
    private static final long serialVersionUID = -9051699099294744556L;
    @ApiModelProperty(value = "设备名称")
    private String equipmentName;
    @ApiModelProperty(value = "设备型号")
    private String equipmentModel;
    @ApiModelProperty(value = "设备编号")
    private String equipmentCode;
    @ApiModelProperty(value = "单位")
    private String factoryName;
    @ApiModelProperty(value = "å¹´")
    private String inspectionYear;
    @ApiModelProperty(value = "月")
    private String inspectionMonth;
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamWeekInsDetailResultResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package org.jeecg.modules.eam.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * @Author: Lius
 * @CreateTime: 2025-07-09
 * @Description: å‘¨ç‚¹æ£€ç»“果列表
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="返回对象", description="周点检工单基础信息导出详细")
public class EamWeekInsDetailResultResponse implements Serializable {
    private static final long serialVersionUID = -9051699099294744556L;
    /**计划点检日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "计划点检日期")
    private Date planInspectionDate;
    /**保养项序号*/
    @ApiModelProperty(value = "保养项序号")
    private Integer itemCode;
    /**保养项*/
    @ApiModelProperty(value = "保养项")
    private String itemName;
    /**保养要求*/
    @ApiModelProperty(value = "保养要求")
    private String  itemDemand;
    /**点检结果*/
    @ApiModelProperty(value = "点检结果-正常-异常-故障-关机")
    private String inspectionResult;
    public EamWeekInsDetailResultResponse() {
    }
    public EamWeekInsDetailResultResponse(Integer itemCode, String itemName, String itemDemand) {
        this.itemCode = itemCode;
        this.itemName = itemName;
        this.itemDemand = itemDemand;
    }
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamWeekInsDetailUserResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
package org.jeecg.modules.eam.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * @Author: Lius
 * @CreateTime: 2025-07-10
 * @Description: å‘¨ç‚¹æ£€è´£ä»»äººè¿”回对象
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="返回对象", description="周点检责任人返回导出详细")
public class EamWeekInsDetailUserResponse implements Serializable {
    private static final long serialVersionUID = -2269180394302345460L;
    /**点检日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "点检日期")
    private Date inspectionDate;
    /**点检人*/
    @ApiModelProperty(value = "点检人-是领取人")
    private String inspector;
    /**班组长确认*/
    @ApiModelProperty(value = "班组长确认--领取后产生")
    private String confirmUser;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -303,6 +303,9 @@
                        sb.append(String.format("设备编码[%s]保存失败,无法导入\n\r", eamEquipment.getEquipmentCode()));
                        continue;
                    }
                    EamEquipmentExtend eamEquipmentExtend=new EamEquipmentExtend();
                    BeanUtils.copyProperties(eamEquipmentExtend,equipment);
                    eamEquipmentExtendService.save(eamEquipmentExtend);
                }
                log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
                //update-end-author:taoyan date:20190528 for:批量插入数据
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
@@ -330,277 +330,63 @@
    }
    /**
     * æŠ¥è¡¨ä½¿ç”¨ qsw
     * 2025-6-19
     * å¯¼å‡ºèŽ·å–åŸºæœ¬ä¿¡æ¯
     * @param equipmentCode ç»Ÿä¸€ç¼–码
     * @param inspectionDate æ—¥æœŸ
     * @return
     */
    @GetMapping("/findInspectionResult")
    public JSONObject findInspectionResult(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                          @RequestParam(name = "pageSize", defaultValue = "1000") Integer pageSize,
                                          @RequestParam Map<String, Object> params) {
        String equipmentId = (String)params.get("equipmentId");
        String inspectionDate = (String)params.get("inspectionDate");
        List<InspectionVo> inspectionVos = new ArrayList<>();
        List<Map<String, Object>> inspectionStandard = eamInspectionOrderService.findInspectionStandard(equipmentId);
        for (Map<String, Object> map : inspectionStandard) {
            List<InspectionVo> dayInspectionResult = eamInspectionOrderService.findInspectionResult(equipmentId,(String)map.get("itemDemand"),inspectionDate);
            InspectionVo inspectionVo = new InspectionVo();
            inspectionVo.setInspectionContent((String)map.get("itemDemand"));
            Object seq = map.get("seq");
            inspectionVo.setSeq(seq.toString());
            for (InspectionVo vo : dayInspectionResult) {
                if("1".equals(vo.getDayTime())){
                    inspectionVo.setDay1(vo.getInspectionResult());
                    continue;
                }else if("2".equals(vo.getDayTime())){
                    inspectionVo.setDay2(vo.getInspectionResult());
                    continue;
                }else if("3".equals(vo.getDayTime())){
                    inspectionVo.setDay3(vo.getInspectionResult());
                    continue;
                }else if("4".equals(vo.getDayTime())){
                    inspectionVo.setDay4(vo.getInspectionResult());
                    continue;
                }else if("5".equals(vo.getDayTime())){
                    inspectionVo.setDay5(vo.getInspectionResult());
                    continue;
                }else if("6".equals(vo.getDayTime())){
                    inspectionVo.setDay6(vo.getInspectionResult());
                    continue;
                }else if("7".equals(vo.getDayTime())){
                    inspectionVo.setDay7(vo.getInspectionResult());
                    continue;
                }else if("8".equals(vo.getDayTime())){
                    inspectionVo.setDay8(vo.getInspectionResult());
                    continue;
                }else if("9".equals(vo.getDayTime())){
                    inspectionVo.setDay9(vo.getInspectionResult());
                    continue;
                }else if("10".equals(vo.getDayTime())){
                    inspectionVo.setDay10(vo.getInspectionResult());
                    continue;
                }else if("11".equals(vo.getDayTime())){
                    inspectionVo.setDay11(vo.getInspectionResult());
                    continue;
                }else if("12".equals(vo.getDayTime())){
                    inspectionVo.setDay12(vo.getInspectionResult());
                    continue;
                }else if("13".equals(vo.getDayTime())){
                    inspectionVo.setDay13(vo.getInspectionResult());
                    continue;
                }else if("14".equals(vo.getDayTime())){
                    inspectionVo.setDay14(vo.getInspectionResult());
                    continue;
                }else if("15".equals(vo.getDayTime())){
                    inspectionVo.setDay15(vo.getInspectionResult());
                    continue;
                }else if("16".equals(vo.getDayTime())){
                    inspectionVo.setDay16(vo.getInspectionResult());
                    continue;
                }else if("17".equals(vo.getDayTime())){
                    inspectionVo.setDay17(vo.getInspectionResult());
                    continue;
                }else if("18".equals(vo.getDayTime())){
                    inspectionVo.setDay18(vo.getInspectionResult());
                    continue;
                }else if("19".equals(vo.getDayTime())){
                    inspectionVo.setDay19(vo.getInspectionResult());
                    continue;
                }else if("20".equals(vo.getDayTime())){
                    inspectionVo.setDay20(vo.getInspectionResult());
                    continue;
                }else if("21".equals(vo.getDayTime())){
                    inspectionVo.setDay21(vo.getInspectionResult());
                    continue;
                }else if("22".equals(vo.getDayTime())){
                    inspectionVo.setDay22(vo.getInspectionResult());
                    continue;
                }else if("23".equals(vo.getDayTime())){
                    inspectionVo.setDay23(vo.getInspectionResult());
                    continue;
                }else if("24".equals(vo.getDayTime())){
                    inspectionVo.setDay24(vo.getInspectionResult());
                    continue;
                }else if("25".equals(vo.getDayTime())){
                    inspectionVo.setDay25(vo.getInspectionResult());
                    continue;
                }else if("26".equals(vo.getDayTime())){
                    inspectionVo.setDay26(vo.getInspectionResult());
                    continue;
                }else if("27".equals(vo.getDayTime())){
                    inspectionVo.setDay27(vo.getInspectionResult());
                    continue;
                }else if("28".equals(vo.getDayTime())){
                    inspectionVo.setDay28(vo.getInspectionResult());
                    continue;
                }else if("29".equals(vo.getDayTime())){
                    inspectionVo.setDay29(vo.getInspectionResult());
                    continue;
                }else if("30".equals(vo.getDayTime())){
                    inspectionVo.setDay30(vo.getInspectionResult());
                    continue;
                }else if("31".equals(vo.getDayTime())){
                    inspectionVo.setDay31(vo.getInspectionResult());
                    continue;
                }
            }
            inspectionVos.add(inspectionVo);
        }
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("data",inspectionVos);
        return jsonObject;
    @GetMapping("/exportInsOrderBaseInfo")
    public JSONObject exportInspectionOrderBaseInfo(@RequestParam(name = "equipmentCode", required = true) String equipmentCode,
                                                    @RequestParam(name = "inspectionDate", required = true) String inspectionDate) {
        return eamInspectionOrderService.exportInspectionOrderBaseInfo(equipmentCode, inspectionDate);
    }
    /**
     * æŠ¥è¡¨ä½¿ç”¨ qsw
     * 2025-6-19
     * æ—¥ç‚¹æ£€é¡¹åˆ—表
     * @param equipmentCode ç»Ÿä¸€ç¼–码
     * @param inspectionDate æ—¥æœŸ
     * @return
     */
    @GetMapping("/findInspectionUser")
    public JSONObject findInspectionUser(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                           @RequestParam(name = "pageSize", defaultValue = "1000") Integer pageSize,
                                           @RequestParam Map<String, Object> params) {
        String equipmentId = (String)params.get("equipmentId");
        String inspectionDate = (String)params.get("inspectionDate");
        List<InspectionVo> inspectionVos = new ArrayList<>();
            List<InspectionVo> inspectionUser = eamInspectionOrderService.findInspectionUser(equipmentId,inspectionDate);
            InspectionVo inspectionVo = new InspectionVo();
            for (InspectionVo vo : inspectionUser) {
                if("1".equals(vo.getDayTime())){
                    inspectionVo.setOperator1(vo.getOperator());
                    inspectionVo.setConfirmUser1(vo.getConfirmUser());
                    continue;
                }else if("2".equals(vo.getDayTime())){
                    inspectionVo.setOperator2(vo.getOperator());
                    inspectionVo.setConfirmUser2(vo.getConfirmUser());
                    continue;
                }else if("3".equals(vo.getDayTime())){
                    inspectionVo.setOperator3(vo.getOperator());
                    inspectionVo.setConfirmUser3(vo.getConfirmUser());
                    continue;
                }else if("4".equals(vo.getDayTime())){
                    inspectionVo.setOperator4(vo.getOperator());
                    inspectionVo.setConfirmUser4(vo.getConfirmUser());
                    continue;
                }else if("5".equals(vo.getDayTime())){
                    inspectionVo.setOperator5(vo.getOperator());
                    inspectionVo.setConfirmUser5(vo.getConfirmUser());
                    continue;
                }else if("6".equals(vo.getDayTime())){
                    inspectionVo.setOperator6(vo.getOperator());
                    inspectionVo.setConfirmUser6(vo.getConfirmUser());
                    continue;
                }else if("7".equals(vo.getDayTime())){
                    inspectionVo.setOperator7(vo.getOperator());
                    inspectionVo.setConfirmUser7(vo.getConfirmUser());
                    continue;
                }else if("8".equals(vo.getDayTime())){
                    inspectionVo.setOperator8(vo.getOperator());
                    inspectionVo.setConfirmUser8(vo.getConfirmUser());
                    continue;
                }else if("9".equals(vo.getDayTime())){
                    inspectionVo.setOperator9(vo.getOperator());
                    inspectionVo.setConfirmUser9(vo.getConfirmUser());
                    continue;
                }else if("10".equals(vo.getDayTime())){
                    inspectionVo.setOperator10(vo.getOperator());
                    inspectionVo.setConfirmUser10(vo.getConfirmUser());
                    continue;
                }else if("11".equals(vo.getDayTime())){
                    inspectionVo.setOperator11(vo.getOperator());
                    inspectionVo.setConfirmUser11(vo.getConfirmUser());
                    continue;
                }else if("12".equals(vo.getDayTime())){
                    inspectionVo.setOperator12(vo.getOperator());
                    inspectionVo.setConfirmUser12(vo.getConfirmUser());
                    continue;
                }else if("13".equals(vo.getDayTime())){
                    inspectionVo.setOperator13(vo.getOperator());
                    inspectionVo.setConfirmUser13(vo.getConfirmUser());
                    continue;
                }else if("14".equals(vo.getDayTime())){
                    inspectionVo.setOperator14(vo.getOperator());
                    inspectionVo.setConfirmUser14(vo.getConfirmUser());
                    continue;
                }else if("15".equals(vo.getDayTime())){
                    inspectionVo.setOperator15(vo.getOperator());
                    inspectionVo.setConfirmUser15(vo.getConfirmUser());
                    continue;
                }else if("16".equals(vo.getDayTime())){
                    inspectionVo.setOperator16(vo.getOperator());
                    inspectionVo.setConfirmUser16(vo.getConfirmUser());
                    continue;
                }else if("17".equals(vo.getDayTime())){
                    inspectionVo.setOperator17(vo.getOperator());
                    inspectionVo.setConfirmUser17(vo.getConfirmUser());
                    continue;
                }else if("18".equals(vo.getDayTime())){
                    inspectionVo.setOperator18(vo.getOperator());
                    inspectionVo.setConfirmUser18(vo.getConfirmUser());
                    continue;
                }else if("19".equals(vo.getDayTime())){
                    inspectionVo.setOperator19(vo.getOperator());
                    inspectionVo.setConfirmUser19(vo.getConfirmUser());
                    continue;
                }else if("20".equals(vo.getDayTime())){
                    inspectionVo.setOperator20(vo.getOperator());
                    inspectionVo.setConfirmUser20(vo.getConfirmUser());
                    continue;
                }else if("21".equals(vo.getDayTime())){
                    inspectionVo.setOperator21(vo.getOperator());
                    inspectionVo.setConfirmUser21(vo.getConfirmUser());
                    continue;
                }else if("22".equals(vo.getDayTime())){
                    inspectionVo.setOperator22(vo.getOperator());
                    inspectionVo.setConfirmUser22(vo.getConfirmUser());
                    continue;
                }else if("23".equals(vo.getDayTime())){
                    inspectionVo.setOperator23(vo.getOperator());
                    inspectionVo.setConfirmUser23(vo.getConfirmUser());
                    continue;
                }else if("24".equals(vo.getDayTime())){
                    inspectionVo.setOperator24(vo.getOperator());
                    inspectionVo.setConfirmUser24(vo.getConfirmUser());
                    continue;
                }else if("25".equals(vo.getDayTime())){
                    inspectionVo.setOperator25(vo.getOperator());
                    inspectionVo.setConfirmUser25(vo.getConfirmUser());
                    continue;
                }else if("26".equals(vo.getDayTime())){
                    inspectionVo.setOperator26(vo.getOperator());
                    inspectionVo.setConfirmUser26(vo.getConfirmUser());
                    continue;
                }else if("27".equals(vo.getDayTime())){
                    inspectionVo.setOperator27(vo.getOperator());
                    inspectionVo.setConfirmUser27(vo.getConfirmUser());
                    continue;
                }else if("28".equals(vo.getDayTime())){
                    inspectionVo.setOperator28(vo.getOperator());
                    inspectionVo.setConfirmUser28(vo.getConfirmUser());
                    continue;
                }else if("29".equals(vo.getDayTime())){
                    inspectionVo.setOperator29(vo.getOperator());
                    inspectionVo.setConfirmUser29(vo.getConfirmUser());
                    continue;
                }else if("30".equals(vo.getDayTime())){
                    inspectionVo.setOperator30(vo.getOperator());
                    inspectionVo.setConfirmUser30(vo.getConfirmUser());
                    continue;
                }else if("31".equals(vo.getDayTime())){
                    inspectionVo.setOperator31(vo.getOperator());
                    inspectionVo.setConfirmUser31(vo.getConfirmUser());
                    continue;
                }
            }
            inspectionVos.add(inspectionVo);
//        }
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("data",inspectionVos);
        return jsonObject;
    @GetMapping("/exportInsOrderDetailList")
    public JSONObject exportInspectionOrderDetailList(@RequestParam(name = "equipmentCode", required = true) String equipmentCode,
                                                    @RequestParam(name = "inspectionDate", required = true) String inspectionDate) {
        return eamInspectionOrderService.exportInspectionOrderDetailList(equipmentCode, inspectionDate);
    }
    /**
     * æ—¥ç‚¹æ£€è´£ä»»äººåˆ—表
     * @param equipmentCode ç»Ÿä¸€ç¼–码
     * @param inspectionDate æ—¥æœŸ
     * @return
     */
    @GetMapping("/exportInsOrderDetailUserList")
    public JSONObject exportInspectionOrderDetailUserList(@RequestParam(name = "equipmentCode", required = true) String equipmentCode,
                                                    @RequestParam(name = "inspectionDate", required = true) String inspectionDate) {
        return eamInspectionOrderService.exportInspectionOrderDetailUserList(equipmentCode, inspectionDate);
    }
    /**
     * å‘¨ç‚¹æ£€é¡¹åˆ—表
     * @param equipmentCode ç»Ÿä¸€ç¼–码
     * @param inspectionDate æ—¥æœŸ
     * @return
     */
    @GetMapping("/exportWeekInsDetailList")
    public JSONObject exportWeekInsDetailList(@RequestParam(name = "equipmentCode", required = true) String equipmentCode,
                                                    @RequestParam(name = "inspectionDate", required = true) String inspectionDate) {
        return eamInspectionOrderService.exportWeekInsDetailList(equipmentCode, inspectionDate);
    }
    /**
     * å‘¨ç‚¹æ£€è´£ä»»äººåˆ—表
     * @param equipmentCode ç»Ÿä¸€ç¼–码
     * @param inspectionDate æ—¥æœŸ
     * @return
     */
    @GetMapping("/exportWeekInsOrderDetailUserList")
    public JSONObject exportInspectionOrder(@RequestParam(name = "equipmentCode", required = true) String equipmentCode,
                                                    @RequestParam(name = "inspectionDate", required = true) String inspectionDate) {
        return eamInspectionOrderService.exportWeekInsOrderDetailUserList(equipmentCode, inspectionDate);
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
@@ -30,6 +30,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
/**
 * @Description: ä¿å…»æ ‡å‡†
@@ -232,15 +233,17 @@
    @DeleteMapping(value = "/deleteBatch")
    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
        List<String> list = Arrays.asList(ids.split(","));
        AtomicInteger i = new AtomicInteger();
        list.forEach(id -> {
            EamMaintenanceStandard entity = eamMaintenanceStandardService.getById(id);
            if (entity != null&&entity.getStandardStatus().equals(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name())) {
                //只删除状态为待提交的
                i.getAndIncrement();
                entity.setDelFlag(CommonConstant.DEL_FLAG_1);
                eamMaintenanceStandardService.updateById(entity);
            }
        });
        return Result.OK("批量删除成功!");
        return Result.OK("批量删除成功,已删除状态为待提交的保养标准,删除数量为"+i);
    }
    /**
@@ -282,18 +285,18 @@
            for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
                MultipartFile file = entity.getValue();
                file.getOriginalFilename();
                return eamMaintenanceStandardService.importPointInspectionExcel(file);
                String fileName = file.getOriginalFilename();
                Result<?> importResult=eamMaintenanceStandardService.importPointInspectionExcel(file);
                if (importResult.isSuccess()) {
                    successCount++;
                } else {
                    results.put(fileName, importResult.getMessage());
                    failureCount++;
                }
            }
            // æž„建响应
            Map<String, Object> response = new HashMap<>();
            response.put("results", results);
            response.put("totalFiles", fileMap.size());
            response.put("successCount", successCount);
            response.put("failureCount", failureCount);
            return Result.ok("导入完成" + response);
            // æž„建最终响应
            return getResult(results, fileMap.size(), successCount, failureCount);
        } catch (Exception e) {
            log.error("点检导入处理异常", e);
@@ -318,18 +321,18 @@
            for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
                MultipartFile file = entity.getValue();
                file.getOriginalFilename();
                return eamMaintenanceStandardService.importMaintenanceStandard(file, "SECOND");
                String fileName = file.getOriginalFilename();
                Result<?> importResult=eamMaintenanceStandardService.importMaintenanceStandard(file, "SECOND");
                if (importResult.isSuccess()) {
                    successCount++;
                } else {
                    results.put(fileName, importResult.getMessage());
                    failureCount++;
                }
            }
            // æž„建最终响应
            Map<String, Object> response = new HashMap<>();
            response.put("results", results);
            response.put("totalFiles", fileMap.size());
            response.put("successCount", successCount);
            response.put("failureCount", failureCount);
            return Result.ok("导入完成"+response);
            return getResult(results, fileMap.size(), successCount, failureCount);
        } catch (Exception e) {
            log.error("导入处理异常", e);
@@ -353,18 +356,18 @@
            for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
                MultipartFile file = entity.getValue();
                file.getOriginalFilename();
                return eamMaintenanceStandardService.importMaintenanceStandard(file, "THIRD");
                String fileName = file.getOriginalFilename();
                Result<?> importResult= eamMaintenanceStandardService.importMaintenanceStandard(file, "THIRD");
                if (importResult.isSuccess()) {
                    successCount++;
                } else {
                    results.put(fileName, importResult.getMessage());
                    failureCount++;
                }
            }
            // æž„建最终响应
            Map<String, Object> response = new HashMap<>();
            response.put("results", results);
            response.put("totalFiles", fileMap.size());
            response.put("successCount", successCount);
            response.put("failureCount", failureCount);
            return Result.ok("导入完成"+response);
            return getResult(results, fileMap.size(), successCount, failureCount);
        } catch (Exception e) {
            log.error("导入处理异常", e);
@@ -372,4 +375,16 @@
        }
    }
    private Result<?> getResult(Map<String, String> results, int fileCount, int successCount, int failureCount) {
        List<String> response = new ArrayList<>();
        response.add("总文件数:" + fileCount);
        response.add("成功数:" + successCount);
        response.add("失败数:" + failureCount);
        if (failureCount > 0) {
            response.add("错误信息:" + results.values());
            return Result.error("部分文件导入失败:" + response);
        }
        return Result.ok("所有文件导入成功:" + response);
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java
@@ -7,11 +7,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.eam.entity.EamInspectionOrder;
import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder;
import org.jeecg.modules.eam.vo.InspectionVo;
import org.jeecg.modules.eam.request.*;
import java.util.List;
import java.util.Map;
/**
 * @Description: ç‚¹æ£€å·¥å•
@@ -28,12 +26,14 @@
     * @return
     */
    IPage<EamInspectionOrder> queryPageList(Page<EamInspectionOrder> page, @Param(Constants.WRAPPER) QueryWrapper<EamInspectionOrder> queryWrapper);
    /**
     * ç‚¹æ£€æŠ¥è¡¨ new
     */
    List<InspectionVo> findInspectionResult(@Param("equipmentId")String equipmentId, @Param("itemDemand")String itemDemand,@Param("yearMonth")String yearMonth);
    List<InspectionVo> findInspectionUser(@Param("equipmentId")String equipmentId,@Param("yearMonth")String yearMonth);
    EamInspectionOrderBaseResponse findInsOrderBaseInfo(@Param("equipmentCode") String equipmentCode, @Param("inspectionDate") String inspectionDate);
    List<Map<String,Object>> findInspectionStandard(@Param("equipmentId")String equipmentId);
    List<EamInsOrderDetailResultResponse> findInsOrderDetailList(@Param("equipmentCode") String equipmentCode, @Param("inspectionDate") String inspectionDate);
    List<EamInsOrderDetailUserResponse> findInspectionOrderDetailUserList(@Param("equipmentCode") String equipmentCode, @Param("inspectionDate") String inspectionDate);
    List<EamWeekInsDetailResultResponse> findWeekInsDetailList(@Param("equipmentCode") String equipmentCode, @Param("inspectionDate") String inspectionDate);
    List<EamWeekInsDetailUserResponse> findWeekInsOrderDetailUserList(@Param("equipmentCode") String equipmentCode, @Param("inspectionDate") String inspectionDate);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml
@@ -10,47 +10,117 @@
        ${ew.customSqlSegment}
    </select>
    <select id="findInspectionUser"  parameterType="String" resultType="org.jeecg.modules.eam.vo.InspectionVo">
        SELECT
            t2.realname operator,
            t3.realname as confirmUser,
            CONVERT(VARCHAR, DATEPART(DAY, t1.inspection_date)) as dayTime
    <select id="findInsOrderBaseInfo" resultType="org.jeecg.modules.eam.request.EamInspectionOrderBaseResponse">
        SELECT TOP 1
            t2.equipment_name equipmentName,
            t2.equipment_code equipmentCode,
            t2.equipment_model equipmentModel,
            t2.factory_org_code factoryName,
            DATEPART( YEAR, t1.inspection_date ) AS inspectionYear,
            DATEPART( MONTH, t1.inspection_date ) AS inspectionMonth
        FROM
            eam_inspection_order t1
            left join sys_user t2 on t1.operator = t2.username
            left join sys_user t3 on t1.confirm_user = t3.username
        WHERE t1.del_flag = '0'
          AND t1.equipment_id = #{equipmentId}
        AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.inspection_date, 120 ), 1, 7 ) = SUBSTRING(CONVERT(VARCHAR(10),#{yearMonth}, 120 ), 1, 7 )
    </select>
    <select id="findInspectionResult"  parameterType="String" resultType="org.jeecg.modules.eam.vo.InspectionVo">
        SELECT
            t1.item_demand as inspectionContent,
            CONVERT(VARCHAR, DATEPART(DAY, t2.inspection_date)) as dayTime,
            case t1.inspection_result  when '1' then '√' when '2' then 'x' else '' end as inspectionResult
        FROM
            eam_inspection_order_detail t1
        LEFT JOIN eam_inspection_order t2 ON t1.order_id = t2.id
        WHERE t1.item_demand = #{itemDemand}
        and t2.equipment_id = #{equipmentId}
        AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t2.inspection_date, 120 ), 1, 7 ) = SUBSTRING(CONVERT(VARCHAR(10),#{yearMonth}, 120 ), 1, 7 )
    </select>
    <select id="findInspectionStandard"  parameterType="String" resultType="Map">
        SELECT
            ROW_NUMBER() OVER (ORDER BY t1.id) AS seq,
            t1.item_demand as itemDemand
        FROM
            eam_maintenance_standard_detail t1
            LEFT JOIN eam_maintenance_standard t2 ON t1.standard_id = t2.id
                LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.id
        WHERE
          t2.maintenance_category = 'POINT_INSPECTION'
          AND t2.standard_status = 'NORMAL'
          and equipment_id =#{equipmentId}
            t2.equipment_code = #{equipmentCode}
          AND t1.inspection_date LIKE CONCAT(#{inspectionDate},'%')
          AND t1.inspection_status = 'COMPLETE'
        ORDER BY
            item_code ASC
            t1.inspection_date DESC
    </select>
    <select id="findInsOrderDetailList" resultType="org.jeecg.modules.eam.request.EamInsOrderDetailResultResponse">
        SELECT
            t1.inspection_date inspectionDate,
            t2.item_code item_code,
            t2.item_name item_name,
            t2.item_demand item_demand,
            t2.inspection_result inspection_result
        FROM
            eam_inspection_order t1
                LEFT JOIN eam_inspection_order_detail t2 ON t1.id = t2.order_id
                LEFT JOIN eam_equipment t3 ON t1.equipment_id = t3.id
        WHERE
            t3.equipment_code = #{equipmentCode}
            AND t1.inspection_date LIKE CONCAT(#{inspectionDate},'%')
            AND t1.inspection_status = 'COMPLETE'
        GROUP BY
            t1.inspection_date,
            t2.item_code,
            t2.item_name,
            t2.item_demand,
            t2.inspection_result
        ORDER BY
            t1.inspection_date ASC
    </select>
    <select id="findInspectionOrderDetailUserList" resultType="org.jeecg.modules.eam.request.EamInsOrderDetailUserResponse">
        SELECT
            t1.inspection_date inspectionDate,
            t1.operator,
            t1.confirm_user confirmUser
        FROM
            eam_inspection_order t1
            LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.id
        WHERE
            t2.equipment_code = #{equipmentCode}
            AND t1.inspection_date LIKE CONCAT(#{inspectionDate},'%')
            AND t1.inspection_status = 'COMPLETE'
        GROUP BY
            t1.inspection_date,
            t1.operator,
            t1.confirm_user
        ORDER BY
            t1.inspection_date ASC
    </select>
    <select id="findWeekInsDetailList" resultType="org.jeecg.modules.eam.request.EamWeekInsDetailResultResponse">
        SELECT
            t1.plan_inspection_date,
            t1.item_code,
            t1.item_name,
            t1.item_demand,
            t1.inspection_result
        FROM
            eam_week_inspection_detail t1
                LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.id
                LEFT JOIN eam_inspection_order t3 ON t3.inspection_date = t1.plan_inspection_date
                AND t3.equipment_id = t1.equipment_id
        WHERE
            t2.equipment_code = #{equipmentCode}
            AND t3.inspection_date LIKE CONCAT(#{inspectionDate},'%')
            AND t3.inspection_status = 'COMPLETE'
        GROUP BY
            t1.plan_inspection_date,
            t1.item_code,
            t1.item_name,
            t1.item_demand,
            t1.inspection_result
        ORDER BY
            t1.plan_inspection_date ASC
    </select>
    <select id="findWeekInsOrderDetailUserList" resultType="org.jeecg.modules.eam.request.EamWeekInsDetailUserResponse">
        SELECT
            t1.plan_inspection_date,
            t1.inspector,
            t3.confirm_user
        FROM
            eam_week_inspection_detail t1
                LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.id
                LEFT JOIN eam_inspection_order t3 ON t3.inspection_date = t1.plan_inspection_date
                AND t3.equipment_id = t1.equipment_id
        WHERE
            t2.equipment_code = #{equipmentCode}
            AND t3.inspection_date LIKE CONCAT(#{inspectionDate},'%')
            AND t3.inspection_status = 'COMPLETE'
        GROUP BY
            t1.plan_inspection_date,
            t1.inspector,
            t3.confirm_user
        ORDER BY
            t1.plan_inspection_date ASC
    </select>
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java
@@ -1,5 +1,6 @@
package org.jeecg.modules.eam.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -88,11 +89,27 @@
    List<EamInspectionOrder> selectUnCompleteOrder(String expiredDate);
    /**
     * ç‚¹æ£€æŠ¥è¡¨ new
     * å¯¼å‡ºèŽ·å–åŸºæœ¬ä¿¡æ¯
     */
    List<InspectionVo> findInspectionResult(String equipmentId, String itemDemand,String yearMonth);
    JSONObject exportInspectionOrderBaseInfo(String equipmentCode, String inspectionDate);
    List<InspectionVo> findInspectionUser(String equipmentId,String yearMonth);
    /**
     * æ—¥ç‚¹æ£€é¡¹åˆ—表
     */
    JSONObject exportInspectionOrderDetailList(String equipmentCode, String inspectionDate);
    List<Map<String,Object>> findInspectionStandard(String equipmentId);
    /**
     * æ—¥ç‚¹æ£€è´£ä»»äººåˆ—表
     */
    JSONObject exportInspectionOrderDetailUserList(String equipmentCode, String inspectionDate);
    /**
     * å‘¨ç‚¹æ£€é¡¹åˆ—表
     */
    JSONObject exportWeekInsDetailList(String equipmentCode, String inspectionDate);
    /**
     * å‘¨ç‚¹æ£€è´£ä»»äººåˆ—表
     */
    JSONObject exportWeekInsOrderDetailUserList(String equipmentCode, String inspectionDate);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -20,18 +21,14 @@
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
import org.jeecg.modules.eam.constant.*;
import org.jeecg.modules.eam.request.*;
import org.jeecg.modules.system.entity.BaseFactory;
import org.jeecg.modules.system.entity.BaseFactoryUser;
import org.jeecg.modules.system.service.IBaseFactoryService;
import org.jeecg.modules.system.service.IBaseFactoryUserService;
import org.jeecg.modules.eam.constant.BusinessCodeConst;
import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum;
import org.jeecg.modules.eam.constant.InspectionItemCategroyEnum;
import org.jeecg.modules.eam.constant.InspectionStatus;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.mapper.EamInspectionOrderMapper;
import org.jeecg.modules.eam.request.EamInspectionOrderQuery;
import org.jeecg.modules.eam.request.EamInspectionOrderRequest;
import org.jeecg.modules.eam.service.*;
import org.jeecg.modules.eam.util.DateUtils;
import org.jeecg.modules.eam.vo.InspectionVo;
@@ -41,13 +38,20 @@
import org.jeecg.modules.flowable.apithird.service.FlowCommonService;
import org.jeecg.modules.flowable.service.IFlowDefinitionService;
import org.jeecg.modules.flowable.service.IFlowTaskService;
import org.jeecg.modules.system.service.ISysDictService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
/**
 * @Description: ç‚¹æ£€å·¥å•
@@ -84,6 +88,8 @@
    private IEamReportRepairService eamReportRepairService;
    @Resource
    private IEamMaintenanceStandardDetailService eamMaintenanceStandardDetailService;
    @Resource
    private ISysDictService sysDictService;
    @Override
    public IPage<EamInspectionOrder> queryPageList(Page<EamInspectionOrder> page, EamInspectionOrderQuery query) {
@@ -156,6 +162,264 @@
        return eamInspectionOrderMapper.selectList(queryWrapper);
    }
    /**
     * å¯¼å‡ºèŽ·å–åŸºæœ¬ä¿¡æ¯
     * @param equipmentCode è®¾å¤‡ç¼–码
     * @param inspectionDate ç‚¹æ£€æ—¥æœŸ
     * @return
     */
    @Override
    public JSONObject exportInspectionOrderBaseInfo(String equipmentCode, String inspectionDate) {
        // åˆ›å»ºç»“果对象
        JSONObject result = new JSONObject();
        EamInspectionOrderBaseResponse eamInspectionOrderBaseResponse = eamInspectionOrderMapper.findInsOrderBaseInfo(equipmentCode, inspectionDate);
        // å¤„理单位
        String factoryOrgCode = eamInspectionOrderBaseResponse.getFactoryName();
        BaseFactory baseFactory = baseFactoryService.getOne(new LambdaQueryWrapper<BaseFactory>().eq(BaseFactory::getOrgCode, factoryOrgCode.substring(0, 6)));
        eamInspectionOrderBaseResponse.setFactoryName(baseFactory.getFactoryName());
        result.put("data",Collections.singletonList(eamInspectionOrderBaseResponse));
        return result;
    }
    /**
     * æ—¥ç‚¹æ£€é¡¹åˆ—表
     * @param equipmentCode è®¾å¤‡ç¼–码
     * @param inspectionDate ç‚¹æ£€æ—¥æœŸ
     * @return
     */
    @Override
    public JSONObject exportInspectionOrderDetailList(String equipmentCode, String inspectionDate) {
        // åˆ›å»ºç»“果对象
        JSONObject result = new JSONObject();
        List<EamInsOrderDetailResultResponse> eamInsOrderDetailResultResponseList = eamInspectionOrderMapper.findInsOrderDetailList(equipmentCode, inspectionDate);
        if (eamInsOrderDetailResultResponseList == null || eamInsOrderDetailResultResponseList.isEmpty()) {
            return result;
        }
        Map<EamInsOrderDetailResultResponse, List<EamInsOrderDetailResultResponse>> groupMap = eamInsOrderDetailResultResponseList
                .stream().collect(Collectors.groupingBy(
                        // åˆ†ç»„键:包含 itemCode、itemName、itemDemand çš„对象
                        item -> new EamInsOrderDetailResultResponse(
                                item.getItemCode(),
                                item.getItemName(),
                                item.getItemDemand()
                        ),
                        // ç”¨ TreeMap ä½œä¸ºå®¹å™¨ï¼Œå¹¶æŒ‡å®šæŒ‰ itemCode æŽ’序的比较器
                        () -> new TreeMap<>(Comparator.comparingInt(EamInsOrderDetailResultResponse::getItemCode)),
                        // æ”¶é›†æ¯ç»„的元素为 List
                        Collectors.toList()
                ));
        List<Map<String, Object>> resultList = new ArrayList<>();
        groupMap.forEach((insOrderDetailResultResponse, insOrderDetailResultResponseList) -> {
            Map<String, Object> resultMap = new LinkedHashMap<>();
            resultMap.put("itemCode", insOrderDetailResultResponse.getItemCode());
            resultMap.put("itemName", insOrderDetailResultResponse.getItemName());
            resultMap.put("itemDemand", insOrderDetailResultResponse.getItemDemand());
            Map<Integer, EamInsOrderDetailResultResponse> collect = insOrderDetailResultResponseList
                    .stream().collect(Collectors.toMap(
                            // åˆ†ç»„键:提取日期中的“天”
                            item -> {
                                Date date = item.getInspectionDate();
                                LocalDate localDate = date.toInstant()
                                        .atZone(ZoneId.systemDefault())
                                        .toLocalDate();
                                return localDate.getDayOfMonth(); // é”®ä¸ºâ€œå¤©â€ï¼ˆ1-31)
                            },
                            // å€¼ï¼šç›´æŽ¥ä½¿ç”¨å½“前对象(作为初始值)
                            item -> item,
                            // åˆå¹¶å‡½æ•°ï¼šå½“同一“天”有多个对象时,如何处理(这里示例取第一个)
                            (existing, replacement) -> existing // è‹¥æœ‰é‡å¤é”®ï¼Œä¿ç•™å·²å­˜åœ¨çš„对象
                    ));
            for (int i = 1; i <= 31; i++) {
                if (collect.containsKey(i)) {
                    String inspectionResult = "";
                    switch (collect.get(i).getInspectionResult()) {
                        case "NORMAL":
                            inspectionResult = "√";
                            break;
                        case "ANOMALY":
                            inspectionResult = "×";
                            break;
                        case "FAULT":
                            inspectionResult = "△";
                            break;
                        case "CLOSE":
                            inspectionResult = "T";
                            break;
                    }
                    resultMap.put("inspectionResult" + i, inspectionResult);
                } else {
                    resultMap.put("inspectionResult" + i, "");
                }
            }
            resultList.add(resultMap);
        });
        result.put("data", resultList);
        return result;
    }
    /**
     * æ—¥ç‚¹æ£€è´£ä»»äººåˆ—表
     * @param equipmentCode è®¾å¤‡ç¼–码
     * @param inspectionDate ç‚¹æ£€æ—¥æœŸ
     * @return
     */
    @Override
    public JSONObject exportInspectionOrderDetailUserList(String equipmentCode, String inspectionDate) {
        // åˆ›å»ºç»“果对象
        JSONObject result = new JSONObject();
        List<EamInsOrderDetailUserResponse> eamInsOrderDetailUserResponseList = eamInspectionOrderMapper.findInspectionOrderDetailUserList(equipmentCode, inspectionDate);
        if (eamInsOrderDetailUserResponseList == null || eamInsOrderDetailUserResponseList.isEmpty()) {
            return result;
        }
        Map<Integer, EamInsOrderDetailUserResponse> groupMap = eamInsOrderDetailUserResponseList.stream().collect(Collectors.toMap(
                // åˆ†ç»„键:提取日期中的“天”
                item -> {
                    Date date = item.getInspectionDate();
                    LocalDate localDate = date.toInstant()
                            .atZone(ZoneId.systemDefault())
                            .toLocalDate();
                    return localDate.getDayOfMonth(); // é”®ä¸ºâ€œå¤©â€ï¼ˆ1-31)
                },
                // å€¼ï¼šç›´æŽ¥ä½¿ç”¨å½“前对象(作为初始值)
                item -> item,
                // åˆå¹¶å‡½æ•°ï¼šå½“同一“天”有多个对象时,如何处理(这里示例取第一个)
                (existing, replacement) -> existing // è‹¥æœ‰é‡å¤é”®ï¼Œä¿ç•™å·²å­˜åœ¨çš„对象
        ));
        List<Map<String, Object>> resultList = new ArrayList<>();
        for (int i = 1; i <= 31; i++) {
            Map<String, Object> resultMap = new HashMap<>();
            if (groupMap.containsKey(i)) {
                EamInsOrderDetailUserResponse eamInsOrderDetailUserResponse = groupMap.get(i);
                resultMap.put("operator" + i, sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamInsOrderDetailUserResponse.getOperator()));
                resultMap.put("confirmUser" + i, sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamInsOrderDetailUserResponse.getConfirmUser()));
            } else {
                resultMap.put("operator" + i, "");
                resultMap.put("confirmUser" + i, "");
            }
            resultList.add(resultMap);
        }
        result.put("data", resultList);
        return result;
    }
    /**
     * å‘¨ç‚¹æ£€é¡¹åˆ—表
     * @param equipmentCode è®¾å¤‡ç¼–码
     * @param inspectionDate ç‚¹æ£€æ—¥æœŸ
     * @return
     */
    @Override
    public JSONObject exportWeekInsDetailList(String equipmentCode, String inspectionDate) {
        // åˆ›å»ºç»“果对象
        JSONObject result = new JSONObject();
        List<EamWeekInsDetailResultResponse> eamWeekInsDetailResultResponseList = eamInspectionOrderMapper.findWeekInsDetailList(equipmentCode, inspectionDate);
        if (eamWeekInsDetailResultResponseList == null || eamWeekInsDetailResultResponseList.isEmpty()) {
            return result;
        }
        Map<EamWeekInsDetailResultResponse, List<EamWeekInsDetailResultResponse>> groupMap = eamWeekInsDetailResultResponseList
                .stream().collect(Collectors.groupingBy(
                        // åˆ†ç»„键:包含 itemCode、itemName、itemDemand çš„对象
                        item -> new EamWeekInsDetailResultResponse(
                                item.getItemCode(),
                                item.getItemName(),
                                item.getItemDemand()
                        ),
                        // ç”¨ TreeMap ä½œä¸ºå®¹å™¨ï¼Œå¹¶æŒ‡å®šæŒ‰ itemCode æŽ’序的比较器
                        () -> new TreeMap<>(Comparator.comparingInt(EamWeekInsDetailResultResponse::getItemCode)),
                        // æ”¶é›†æ¯ç»„的元素为 List
                        Collectors.toList()
                ));
        List<Map<String, Object>> resultList = new ArrayList<>();
        groupMap.forEach((weekInsDetailResultResponse, weekInsDetailResultResponseList) -> {
            Map<String, Object> resultMap = new LinkedHashMap<>();
            resultMap.put("itemCode", weekInsDetailResultResponse.getItemCode());
            resultMap.put("itemName", weekInsDetailResultResponse.getItemName());
            resultMap.put("itemDemand", weekInsDetailResultResponse.getItemDemand());
            // ä½¿ç”¨AtomicInteger作为计数器,从1开始
            AtomicInteger counter = new AtomicInteger(1);
            Map<Integer, EamWeekInsDetailResultResponse> collect = weekInsDetailResultResponseList
                    .stream()
                    .collect(Collectors.toMap(
                            // åˆ†ç»„键:使用自增序号(从1开始)
                            item -> counter.getAndIncrement(),
                            // å€¼ï¼šç›´æŽ¥ä½¿ç”¨å½“前对象
                            item -> item,
                            // åˆå¹¶å‡½æ•°ï¼šå½“同一序号有多个对象时(理论上不会发生),如何处理
                            (existing, replacement) -> existing, // è‹¥æœ‰é‡å¤é”®ï¼Œä¿ç•™å·²å­˜åœ¨çš„对象
                            // æŒ‡å®šMap的具体实现(可选)
                            LinkedHashMap::new // ä¿æŒæ’入顺序
                    ));
            for (int i = 1; i <= 5; i++) {
                if (collect.containsKey(i)) {
                    String inspectionResult = "";
                    switch (collect.get(i).getInspectionResult()) {
                        case "NORMAL":
                            inspectionResult = "√";
                            break;
                        case "ANOMALY":
                            inspectionResult = "×";
                            break;
                        case "FAULT":
                            inspectionResult = "△";
                            break;
                        case "CLOSE":
                            inspectionResult = "T";
                            break;
                    }
                    resultMap.put("inspectionResult" + i, inspectionResult);
                } else {
                    resultMap.put("inspectionResult" + i, "");
                }
            }
            resultList.add(resultMap);
        });
        result.put("data", resultList);
        return result;
    }
    /**
     * å‘¨ç‚¹æ£€è´£ä»»äººåˆ—表
     * @param equipmentCode è®¾å¤‡ç¼–码
     * @param inspectionDate ç‚¹æ£€æ—¥æœŸ
     * @return
     */
    @Override
    public JSONObject exportWeekInsOrderDetailUserList(String equipmentCode, String inspectionDate) {
        // åˆ›å»ºç»“果对象
        JSONObject result = new JSONObject();
        List<EamWeekInsDetailUserResponse> eamWeekInsDetailUserResponseList = eamInspectionOrderMapper.findWeekInsOrderDetailUserList(equipmentCode, inspectionDate);
        if (eamWeekInsDetailUserResponseList == null || eamWeekInsDetailUserResponseList.isEmpty()) {
            return result;
        }
        // ä½¿ç”¨AtomicInteger作为计数器,从1开始
        AtomicInteger counter = new AtomicInteger(1);
        Map<Integer, EamWeekInsDetailUserResponse> groupMap = eamWeekInsDetailUserResponseList
                .stream()
                .collect(Collectors.toMap(
                        // åˆ†ç»„键:使用自增序号(从1开始)
                        item -> counter.getAndIncrement(),
                        // å€¼ï¼šç›´æŽ¥ä½¿ç”¨å½“前对象(作为初始值)
                        item -> item,
                        // åˆå¹¶å‡½æ•°ï¼šå½“同一“天”有多个对象时,如何处理(这里示例取第一个)
                        (existing, replacement) -> existing // è‹¥æœ‰é‡å¤é”®ï¼Œä¿ç•™å·²å­˜åœ¨çš„对象
                ));
        List<Map<String, Object>> resultList = new ArrayList<>();
        for (int i = 1; i <= 5; i++) {
            Map<String, Object> resultMap = new HashMap<>();
            if (groupMap.containsKey(i)) {
                EamWeekInsDetailUserResponse eamWeekInsDetailUserResponse = groupMap.get(i);
                resultMap.put("operator" + i, sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamWeekInsDetailUserResponse.getInspector()));
                resultMap.put("confirmUser" + i, sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamWeekInsDetailUserResponse.getConfirmUser()));
            } else {
                resultMap.put("operator" + i, "");
                resultMap.put("confirmUser" + i, "");
            }
            resultList.add(resultMap);
        }
        result.put("data", resultList);
        return result;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result<String> addInspectionOrder(EamInspectionOrderRequest eamInspectionOrderRequest) {
@@ -193,6 +457,7 @@
                if (CollectionUtils.isNotEmpty(maintenanceStandardDetailList)) {
                    List<EamWeekInspectionDetail> weekInspectionDetailList = maintenanceStandardDetailList.stream().map(EamWeekInspectionDetail::new).collect(Collectors.toList());
                    weekInspectionDetailList.forEach(weekInspectionDetail -> {
                        weekInspectionDetail.setEquipmentId(eamInspectionOrderRequest.getEquipmentId());
                        weekInspectionDetail.setStandardId(eamInspectionOrderRequest.getStandardId());
                        // TODO å‘¨ç‚¹æ£€æ—¥æœŸ
                        weekInspectionDetail.setPlanInspectionDate(eamInspectionOrderRequest.getInspectionDate());
@@ -541,18 +806,4 @@
        return (List<String>) object;
    }
    @Override
    public List<InspectionVo> findInspectionResult(String equipmentId, String itemDemand, String yearMonth) {
        return this.baseMapper.findInspectionResult(equipmentId, itemDemand, yearMonth);
    }
    @Override
    public List<InspectionVo> findInspectionUser(String equipmentId, String yearMonth) {
        return this.baseMapper.findInspectionUser(equipmentId, yearMonth);
    }
    @Override
    public List<Map<String, Object>> findInspectionStandard(String equipmentId) {
        return this.baseMapper.findInspectionStandard(equipmentId);
    }
}