From d61b21c50e62298f185ecafa8e0b22f7ee8c4973 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 21 八月 2025 18:13:17 +0800
Subject: [PATCH] 430报表接口与列表流程添加

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml                  |    6 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java                 |    6 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderExport.java                       |   71 +++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/WeeklyResponsibleInfo.java                          |   24 +
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportProductHazardsService.java            |   10 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderDetailExport.java                 |   60 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java                             |    9 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java          |   19 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportProductHazardsMapper.xml            |   14 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/DailyResponsibleInfo.java                           |   24 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportAccidentsRegisterController.java           |   12 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportAccidentsRegisterDto.java                  |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java                  |    3 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java                   |   10 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java    |   43 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml                 |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml                    |    5 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportAccidentsRegisterService.java         |    9 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java                |  270 +++++++++++++++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java                    |   12 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportProductHazardsDto.java                     |   16 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportAccidentsRegisterMapper.xml         |   21 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportProductHazardsController.java              |   12 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml                        |   36 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java                        |   12 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java |   42 ++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExportYj.java               |  268 ++++++++++++++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportAccidentsRegisterMapper.java            |    8 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportProductHazardsMapper.java               |    6 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java                          |   13 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java                   |   11 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java                           |    7 
 32 files changed, 1,045 insertions(+), 21 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/DailyResponsibleInfo.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/DailyResponsibleInfo.java
new file mode 100644
index 0000000..f6ddeca
--- /dev/null
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/DailyResponsibleInfo.java
@@ -0,0 +1,24 @@
+package org.jeecg.modules.eam.dto;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+public class DailyResponsibleInfo {
+    /** 鎿嶄綔鍛樺鍚嶆暟缁� (1-31鏃�) */
+    private String[] operators = new String[31];
+
+    /** 纭浜哄鍚嶆暟缁� (1-31鏃�) */
+    private String[] confirmUsers = new String[31];
+
+    /**
+     * 璁剧疆鏌愬ぉ鐨勮矗浠讳汉淇℃伅
+     */
+    public void setResponsibleForDay(int day, String operator, String confirmUser) {
+        if (day >= 1 && day <= 31) {
+            operators[day - 1] = operator;
+            confirmUsers[day - 1] = confirmUser;
+        }
+    }
+}
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderDetailExport.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderDetailExport.java
new file mode 100644
index 0000000..bc33c5b
--- /dev/null
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderDetailExport.java
@@ -0,0 +1,60 @@
+package org.jeecg.modules.eam.dto;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 鐐规宸ュ崟鏄庣粏
+ * @Author: jeecg-boot
+ * @Date:   2025-04-02
+ * @Version: V1.0
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+public class EamInspectionOrderDetailExport extends JeecgEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**宸ュ崟ID*/
+	@Excel(name = "宸ュ崟ID", width = 15)
+    @ApiModelProperty(value = "宸ュ崟ID")
+    private String orderId;
+	/**鐐规缁撴灉*/
+	@Excel(name = "鐐规缁撴灉", width = 15)
+    @ApiModelProperty(value = "鐐规缁撴灉-姝e父-寮傚父-鏁呴殰-鍏虫満")
+    private String inspectionResult;
+	/**寮傚父鎻忚堪*/
+	@Excel(name = "寮傚父鎻忚堪", width = 15)
+    @ApiModelProperty(value = "寮傚父鎻忚堪")
+    private String exceptionDescription;
+    /**淇濆吇椤瑰簭鍙�*/
+    @ApiModelProperty(value = "淇濆吇椤瑰簭鍙�")
+    private Integer itemCode;
+    /**淇濆吇椤�*/
+    @ApiModelProperty(value = "淇濆吇椤�")
+    private String itemName;
+    /**淇濆吇瑕佹眰*/
+    @ApiModelProperty(value = "淇濆吇瑕佹眰")
+    private String  itemDemand;
+
+    /**
+     * 1-31鏃ユ湡鏍囧織
+     */
+    private String[] dateFlag;
+
+    /**
+     * 1-5鍛ㄦ爣蹇�
+     */
+    private String[] weekFlag;
+
+}
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderExport.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderExport.java
new file mode 100644
index 0000000..726a253
--- /dev/null
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderExport.java
@@ -0,0 +1,71 @@
+package org.jeecg.modules.eam.dto;
+
+import com.baomidou.mybatisplus.annotation.*;
+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.jeecg.common.aspect.annotation.Dict;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description: 鐐规宸ュ崟鎵归噺瀵煎嚭
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+public class EamInspectionOrderExport  {
+
+    @ApiModelProperty(value = "璁惧鍚嶇О")
+    private String equipmentName;
+
+    @ApiModelProperty(value = "璁惧鍨嬪彿")
+    private String equipmentModel;
+
+    @ApiModelProperty(value = "璁惧缂栧彿")
+    private String equipmentCode;
+
+    @ApiModelProperty(value = "鍗曚綅")
+    @Dict(dictTable = "eam_base_factory",dicText = "factory_name",dicCode = "org_code")
+    private String factoryName;
+
+    @ApiModelProperty(value = "骞�")
+    private String inspectionYear;
+
+    @ApiModelProperty(value = "鏈�")
+    private String inspectionMonth;
+
+    @ApiModelProperty(value = "hf缂栫爜")
+    private String hfCode;
+
+    /**
+     * 鏃ョ偣妫�鍒楄〃
+     */
+    @ApiModelProperty(value = "鏃ョ偣妫�鍒楄〃")
+    @TableField(exist = false)
+    private List<EamInspectionOrderDetailExport> eamDailyInspectionList;
+
+    /**
+     * 鍛ㄧ偣妫�鍒楄〃
+     */
+    @ApiModelProperty(value = "鍛ㄧ偣妫�鍒楄〃")
+    @TableField(exist = false)
+    private List<EamInspectionOrderDetailExport> eamWeeklyInspectionList;
+
+
+    /**鏃ョ偣妫�璐d换浜轰俊鎭� (1-31鏃�) */
+    @ApiModelProperty(value = "鏃ョ偣妫�璐d换浜轰俊鎭�")
+    private DailyResponsibleInfo dailyResponsibleInfo;
+
+    /**鍛ㄧ偣妫�璐d换浜轰俊鎭� (1-5鍛�) */
+    @ApiModelProperty(value = "鍛ㄧ偣妫�璐d换浜轰俊鎭�")
+    private WeeklyResponsibleInfo weeklyResponsibleInfo;
+}
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportAccidentsRegisterDto.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportAccidentsRegisterDto.java
index 5a72396..6793989 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportAccidentsRegisterDto.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportAccidentsRegisterDto.java
@@ -333,4 +333,6 @@
     @TableField(exist = false)
     @ApiModelProperty(value = "搴熷搧浠峰��")
     private String scrapPartValue;
+    /**鐢熶骇鍗曚綅*/
+    private String factoryName;
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportProductHazardsDto.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportProductHazardsDto.java
index c031d6f..6517d7e 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportProductHazardsDto.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportProductHazardsDto.java
@@ -10,6 +10,7 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
 import org.jeecg.modules.flowable.domain.vo.FlowTaskVo;
 import org.jeecgframework.poi.excel.annotation.Excel;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -64,6 +65,7 @@
 	/**鎿嶄綔宸�*/
 	@Excel(name = "鎿嶄綔宸�", width = 15)
     @ApiModelProperty(value = "鎿嶄綔宸�")
+    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
     private String confirmer;
 	/**鎿嶄綔宸ョ‘璁ゆ椂闂�*/
 	@Excel(name = "鎿嶄綔宸ョ‘璁ゆ椂闂�", width = 15, format = "yyyy-MM-dd")
@@ -74,6 +76,7 @@
 	/**浜у搧鎹熷け鎯呭喌*/
 	@Excel(name = "浜у搧鎹熷け鎯呭喌", width = 15)
     @ApiModelProperty(value = "浜у搧鎹熷け鎯呭喌")
+    @Dict(dicCode = "yn")
     private String productLoss;
 	/**浜у搧鎹熷け璐ㄩ噺褰卞搷鍒嗘瀽*/
 	@Excel(name = "浜у搧鎹熷け璐ㄩ噺褰卞搷鍒嗘瀽", width = 15)
@@ -82,6 +85,7 @@
 	/**涓荤宸ヨ壓*/
 	@Excel(name = "涓荤宸ヨ壓", width = 15)
     @ApiModelProperty(value = "涓荤宸ヨ壓")
+    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
     private String technologist;
 	/**涓荤宸ヨ壓纭鏃堕棿*/
 	@Excel(name = "涓荤宸ヨ壓纭鏃堕棿", width = 15, format = "yyyy-MM-dd")
@@ -100,6 +104,7 @@
 	/**閮ㄧ骇棰嗗*/
 	@Excel(name = "閮ㄧ骇棰嗗", width = 15)
     @ApiModelProperty(value = "閮ㄧ骇棰嗗")
+    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
     private String deputyDepartment;
 	/**閮ㄧ骇棰嗗纭鏃堕棿*/
 	@Excel(name = "閮ㄧ骇棰嗗纭鏃堕棿", width = 15, format = "yyyy-MM-dd")
@@ -124,5 +129,14 @@
     private String equipmentModel;
     @TableField(exist = false)
     private String installationPosition;
-
+    /**鐢熶骇鍗曚綅*/
+    private String factoryName;
+    /**鏁呴殰鐜拌薄*/
+    private String faultDescription;
+    /**鎵规鍙�*/
+    private String batchNumber;
+    /**鍔犲伐闆朵欢鍙�*/
+    private String processingPart;
+    /**浠舵暟*/
+    private String quantity;
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java
index 2c3202c..26448de 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java
@@ -259,12 +259,6 @@
     private String maintenanceDateFormatted;
     //浣跨敤鍗曚綅
     private String factoryName;
-    /**
-     * 澶囦欢鏄庣粏
-     */
-    @ApiModelProperty(value = "澶囦欢浣跨敤鏄庣粏")
-    @DictList
-    private List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpareList;
 
     /**
      * 鍒楄〃 淇濆吇椤规槑缁�
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExportYj.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExportYj.java
new file mode 100644
index 0000000..92334f1
--- /dev/null
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExportYj.java
@@ -0,0 +1,268 @@
+package org.jeecg.modules.eam.dto;
+
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecg.common.aspect.annotation.DictList;
+import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail;
+import org.jeecg.modules.eam.entity.EamThirdMaintenanceSpare;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description: 璁惧涓夌骇淇濆吇
+ * @Author: jeecg-boot
+ * @Date: 2025-04-29
+ * @Version: V1.0
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class EamThirdMaintenanceOrderExportYj {
+
+    /**
+     * ID
+     */
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "ID")
+    private String id;
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    private Integer delFlag;
+    /**
+     * 宸ュ崟鍙�
+     */
+    @Excel(name = "宸ュ崟鍙�", width = 15)
+    @ApiModelProperty(value = "宸ュ崟鍙�")
+    private String orderNum;
+    /**
+     * 璁惧ID
+     */
+    @Excel(name = "璁惧ID", width = 15)
+    @ApiModelProperty(value = "璁惧ID")
+    private String equipmentId;
+    /**
+     * 鏍囧噯ID
+     */
+    @Excel(name = "鏍囧噯ID", width = 15)
+    @ApiModelProperty(value = "鏍囧噯ID")
+    @Dict(dictTable = "eam_maintenance_standard", dicCode = "id", dicText = "standard_name")
+    private String standardId;
+    /**
+     * 璁″垝淇濆吇鏃ユ湡
+     */
+    @ApiModelProperty(value = "璁″垝淇濆吇鏃ユ湡;鎻愬墠70澶╃敓鎴愬伐鍗�")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+    private String maintenanceDate;
+    /**
+     * 閿佸畾宸ュ崟鏃ユ湡
+     */
+    @ApiModelProperty(value = "閿佸畾宸ュ崟鏃ユ湡;鎻愬墠55澶╅攣瀹氬伐鍗�")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date freezeOrderDate;
+    /**
+     * 宸ュ崟杩囨湡鏃ユ湡
+     */
+    @ApiModelProperty(value = "宸ュ崟杩囨湡鏃ユ湡;鍒版湡鏈仛鐩存帴杩囨湡")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date orderExpirationDate;
+    /**
+     * 瀹為檯寮�濮嬫椂闂�
+     */
+    @Excel(name = "瀹為檯寮�濮嬫椂闂�", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "瀹為檯寮�濮嬫椂闂�")
+    private Date actualStartTime;
+    /**
+     * 瀹為檯缁撴潫鏃堕棿
+     */
+    @Excel(name = "瀹為檯缁撴潫鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "瀹為檯缁撴潫鏃堕棿")
+    private Date actualEndTime;
+    /**
+     * 缁翠慨浜�
+     */
+    @Excel(name = "缁翠慨浜�", width = 15)
+    @ApiModelProperty(value = "缁翠慨浜�")
+    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
+    private String repairman;
+    /**
+     * 淇濆吇鐘舵��
+     */
+    @Excel(name = "淇濆吇鐘舵��", width = 15)
+    @ApiModelProperty(value = "淇濆吇鐘舵��;寰呬繚鍏汇�佷繚鍏讳腑銆佸緟妫�鏌ャ�佹搷浣滀汉绛惧瓧銆佺淮淇汉绛惧瓧銆佺淮淇涓讳换绛惧瓧銆佽澶囨鏌ヤ汉绛惧瓧銆佸凡瀹屾垚銆佸凡閿佸畾銆佸彉鏇翠腑銆佸凡鍙栨秷")
+    @Dict(dicCode = "third_maintenance_status")
+    private String maintenanceStatus;
+    /**
+     * 鍒涘缓鏂瑰紡
+     */
+    @Excel(name = "鍒涘缓鏂瑰紡", width = 15)
+    @ApiModelProperty(value = "鍒涘缓鏂瑰紡")
+    @Dict(dicCode = "order_creation_method")
+    private String creationMethod;
+    /**
+     * 璁惧鍔熻兘鏄惁榻愬;鏄惁
+     */
+    @Excel(name = "璁惧鍔熻兘鏄惁榻愬;鏄惁", width = 15)
+    @ApiModelProperty(value = "璁惧鍔熻兘鏄惁榻愬;鏄惁")
+    @Dict(dicCode = "yn")
+    private String fullyFunctional;
+    /**
+     * 璁惧鍔熻兘鏄惁榻愬;鏄惁
+     */
+    @Excel(name = "璁惧鑳藉惁姝e父杩愯浆;鏄惁", width = 15)
+    @ApiModelProperty(value = "璁惧鍔熻兘鏄惁榻愬;鏄惁")
+    @Dict(dicCode = "yn")
+    private String runningNormally;
+    /**
+     * 闂鎻忚堪
+     */
+    @Excel(name = "闂鎻忚堪", width = 30)
+    @ApiModelProperty(value = "闂鎻忚堪")
+    private String problemDescription;
+    /**
+     * 妫�鏌ヤ汉
+     */
+    @Excel(name = "妫�鏌ヤ汉", width = 15)
+    @ApiModelProperty(value = "妫�鏌ヤ汉")
+    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
+    private String inspector;
+    /**
+     * 妫�鏌ユ椂闂�
+     */
+    @ApiModelProperty(value = "妫�鏌ユ椂闂�")
+    @Excel(name = "妫�鏌ユ椂闂�", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date inspectTime;
+    /**
+     * 鎿嶄綔浜虹瀛�
+     */
+    @Excel(name = "鎿嶄綔浜虹瀛�", width = 15)
+    @ApiModelProperty(value = "鎿嶄綔浜虹瀛�")
+    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
+    private String operatorSignature;
+    /**
+     * 鍗忓姪鎿嶄綔浜�
+     */
+    @Excel(name = "鍗忓姪鎿嶄綔浜�", width = 15)
+    @ApiModelProperty(value = "鍗忓姪鎿嶄綔浜�")
+    private String assistantOperator;
+    /**
+     * 鎿嶄綔浜虹瀛楁椂闂�
+     */
+    @ApiModelProperty(value = "鎿嶄綔浜虹瀛楁椂闂�")
+    @Excel(name = "鎿嶄綔浜虹瀛楁椂闂�", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date operatorSignatureTime;
+    /**
+     * 缁翠慨浜虹瀛�
+     */
+    @Excel(name = "缁翠慨浜虹瀛�", width = 15)
+    @ApiModelProperty(value = "缁翠慨浜虹瀛�")
+    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
+    private String repairmanSignature;
+    /**
+     * 鍗忓姪缁翠慨浜�
+     */
+    @Excel(name = "鍗忓姪缁翠慨浜�", width = 15)
+    @ApiModelProperty(value = "鍗忓姪缁翠慨浜�")
+    private String assistantRepairman;
+    /**
+     * 缁翠慨浜虹瀛楁椂闂�
+     */
+    @ApiModelProperty(value = "缁翠慨浜虹瀛楁椂闂�")
+    @Excel(name = "缁翠慨浜虹瀛楁椂闂�", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date repairmanSignatureTime;
+    /**
+     * 缁翠慨瀹や富浠荤瀛�
+     */
+    @Excel(name = "缁翠慨瀹や富浠荤瀛�", width = 15)
+    @ApiModelProperty(value = "缁翠慨瀹や富浠荤瀛�")
+    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
+    private String repairManagerSignature;
+    /**
+     * 缁翠慨瀹や富浠荤瀛楁椂闂�
+     */
+    @ApiModelProperty(value = "缁翠慨瀹や富浠荤瀛楁椂闂�")
+    @Excel(name = "缁翠慨瀹や富浠荤瀛楁椂闂�", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date repairManagerSignatureTime;
+    /**
+     * 璁惧妫�鏌ヤ汉绛惧瓧
+     */
+    @Excel(name = "璁惧妫�鏌ヤ汉绛惧瓧", width = 15)
+    @ApiModelProperty(value = "璁惧妫�鏌ヤ汉绛惧瓧")
+    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
+    private String inspectorSignature;
+    /**
+     * 璁惧妫�鏌ヤ汉绛惧瓧鏃堕棿
+     */
+    @ApiModelProperty(value = "璁惧妫�鏌ヤ汉绛惧瓧鏃堕棿")
+    @Excel(name = "璁惧妫�鏌ヤ汉绛惧瓧鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date inspectorSignatureTime;
+    /**
+     * 澶囨敞
+     */
+    @Excel(name = "澶囨敞", width = 15)
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+    /**
+     * 绉讳氦鍗旽F缂栫爜
+     */
+    @Excel(name = "绉讳氦鍗旽F缂栫爜", width = 15)
+    @ApiModelProperty(value = "绉讳氦鍗旽F缂栫爜")
+    private String hfCodeA;
+    /**
+     * 楠屾敹鍗旽F缂栫爜
+     */
+    @Excel(name = "楠屾敹鍗旽F缂栫爜", width = 15)
+    @ApiModelProperty(value = "楠屾敹鍗旽F缂栫爜")
+    private String hfCodeB;
+    //鍒楄〃灞曠ず
+    @TableField(exist = false)
+    private String equipmentCode;
+    @TableField(exist = false)
+    private String equipmentName;
+    //鍨嬪彿
+    @TableField(exist = false)
+    private String equipmentModel;
+    @ApiModelProperty(value = "璁惧绫诲埆")
+    @Dict(dicCode = "equipment_category")
+    private String equipmentCategory;
+    //淇濆吇鏃ユ湡
+    private String maintenanceDateFormatted;
+    //浣跨敤鍗曚綅
+    private String factoryName;
+    /**
+     * 澶囦欢鏄庣粏
+     */
+    @ApiModelProperty(value = "澶囦欢浣跨敤鏄庣粏")
+    @DictList
+    private List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpareList;
+}
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/WeeklyResponsibleInfo.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/WeeklyResponsibleInfo.java
new file mode 100644
index 0000000..816ac15
--- /dev/null
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/WeeklyResponsibleInfo.java
@@ -0,0 +1,24 @@
+package org.jeecg.modules.eam.dto;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+public class WeeklyResponsibleInfo {
+    /** 鎿嶄綔鍛樺鍚嶆暟缁� (1-5鍛�) */
+    private String[] operators = new String[5];
+
+    /** 纭浜哄鍚嶆暟缁� (1-5鍛�) */
+    private String[] confirmUsers = new String[5];
+
+    /**
+     * 璁剧疆鏌愬懆鐨勮矗浠讳汉淇℃伅
+     */
+    public void setResponsibleForWeek(int week, String operator, String confirmUser) {
+        if (week >= 1 && week <= 5) {
+            operators[week - 1] = operator;
+            confirmUsers[week - 1] = confirmUser;
+        }
+    }
+}
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java
index 7fdc76b..d0d04f7 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java
@@ -122,4 +122,17 @@
     @Excel(name = "HF缂栫爜", width = 15)
     @ApiModelProperty(value = "HF缂栫爜")
     private String hfCode;
+
+    //娴佽浆鑺傜偣浣跨敤鏌ヨ
+    @TableField(exist = false)
+    private String procInstId;
+    /**娴佺▼瀹氫箟key 涓�涓猭ey浼氭湁澶氫釜鐗堟湰鐨刬d*/
+    @TableField(exist = false)
+    private String processDefinitionKey;
+    /**娴佺▼瀹氫箟id 涓�涓祦绋嬪畾涔夊敮涓�*/
+    @TableField(exist = false)
+    private String processDefinitionId;
+    /**娴佺▼涓氬姟瀹炰緥id 涓�涓祦绋嬩笟鍔″敮涓�锛屾湰琛ㄤ腑涔熷敮涓�*/
+    @TableField(exist = false)
+    private String processInstanceId;
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java
index 4a52c29..e7796d1 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java
@@ -187,4 +187,14 @@
     //娴佽浆鑺傜偣浣跨敤鏌ヨ
     @TableField(exist = false)
     private String procInstId;
+
+    /**娴佺▼瀹氫箟key 涓�涓猭ey浼氭湁澶氫釜鐗堟湰鐨刬d*/
+    @TableField(exist = false)
+    private String processDefinitionKey;
+    /**娴佺▼瀹氫箟id 涓�涓祦绋嬪畾涔夊敮涓�*/
+    @TableField(exist = false)
+    private String processDefinitionId;
+    /**娴佺▼涓氬姟瀹炰緥id 涓�涓祦绋嬩笟鍔″敮涓�锛屾湰琛ㄤ腑涔熷敮涓�*/
+    @TableField(exist = false)
+    private String processInstanceId;
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java
index dae7639..3c1fdae 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java
@@ -247,4 +247,16 @@
     private String equipmentName;
     @TableField(exist = false)
     private String equipmentModel;
+    //娴佽浆鑺傜偣浣跨敤鏌ヨ
+    @TableField(exist = false)
+    private String procInstId;
+    /**娴佺▼瀹氫箟key 涓�涓猭ey浼氭湁澶氫釜鐗堟湰鐨刬d*/
+    @TableField(exist = false)
+    private String processDefinitionKey;
+    /**娴佺▼瀹氫箟id 涓�涓祦绋嬪畾涔夊敮涓�*/
+    @TableField(exist = false)
+    private String processDefinitionId;
+    /**娴佺▼涓氬姟瀹炰緥id 涓�涓祦绋嬩笟鍔″敮涓�锛屾湰琛ㄤ腑涔熷敮涓�*/
+    @TableField(exist = false)
+    private String processInstanceId;
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportAccidentsRegisterMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportAccidentsRegisterMapper.java
index 21b3ec2..d6c29a4 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportAccidentsRegisterMapper.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportAccidentsRegisterMapper.java
@@ -6,6 +6,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.eam.dto.EamReportAccidentsRegisterDto;
+import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport;
 import org.jeecg.modules.eam.entity.EamReportAccidentsRegister;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.jeecg.modules.eam.request.EamReportAccidentsRegisterQuery;
@@ -19,4 +21,10 @@
 public interface EamReportAccidentsRegisterMapper extends BaseMapper<EamReportAccidentsRegister> {
 
     IPage<EamReportAccidentsRegisterQuery>  queryPageList(IPage<EamReportAccidentsRegisterQuery> page, @Param(Constants.WRAPPER) QueryWrapper<EamReportAccidentsRegisterQuery> eamReportAccidentsRegisterQuery);
+
+    /**
+     * 鍒楄〃鏌ヨ
+     * param
+     */
+    List<EamReportAccidentsRegisterDto> queryList(@Param(Constants.WRAPPER) QueryWrapper<EamReportAccidentsRegisterDto> queryWrapper);
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportProductHazardsMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportProductHazardsMapper.java
index b1b0f41..e28003f 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportProductHazardsMapper.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportProductHazardsMapper.java
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.eam.dto.EamReportProductHazardsDto;
 import org.jeecg.modules.eam.entity.EamReportProductHazards;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.jeecg.modules.eam.request.EamReportProductHazardsQuery;
@@ -21,4 +22,9 @@
 
     IPage<EamReportProductHazardsQuery> queryPageList(Page<EamReportProductHazardsQuery> page, @Param(Constants.WRAPPER) QueryWrapper<EamReportProductHazardsQuery> eamReportProductHazardsQuery);
 
+    /**
+     * 鍒楄〃鏌ヨ
+     * @param queryWrapper
+     */
+    List<EamReportProductHazardsDto> queryList(@Param(Constants.WRAPPER) QueryWrapper<EamReportProductHazardsDto> queryWrapper);
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportAccidentsRegisterMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportAccidentsRegisterMapper.xml
index 0593f6d..65df024 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportAccidentsRegisterMapper.xml
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportAccidentsRegisterMapper.xml
@@ -21,4 +21,25 @@
                                 AND e.del_flag = 0
             ${ew.customSqlSegment}
     </select>
+    <select id="queryList" resultType="org.jeecg.modules.eam.dto.EamReportAccidentsRegisterDto">
+        SELECT
+            aar.*,
+            e.equipment_code,
+            e.equipment_name,
+            e.equipment_model,
+            e.installation_position,
+            wmo.scrap_part_number,
+            wmo.scrap_part_quantity,
+            wmo.scrap_part_value ,
+            f.factory_name
+        FROM eam_report_accidents_register aar
+                 LEFT JOIN eam_report_repair wmo
+                           ON aar.report_id = wmo.id
+                               AND wmo.del_flag = 0
+                 INNER JOIN eam_equipment e
+                            ON wmo.equipment_id = e.id
+                                AND e.del_flag = 0
+                 LEFT JOIN eam_base_factory f ON f.org_code = SUBSTRING ( e.factory_org_code , 1, 6 )
+            ${ew.customSqlSegment}
+    </select>
 </mapper>
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportProductHazardsMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportProductHazardsMapper.xml
index 01d5dab..fdaf505 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportProductHazardsMapper.xml
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportProductHazardsMapper.xml
@@ -14,4 +14,18 @@
                                and arr.del_flag=0
             ${ew.customSqlSegment}
     </select>
+    <select id="queryList" resultType="org.jeecg.modules.eam.dto.EamReportProductHazardsDto">
+        select erph.*, e.equipment_code, e.equipment_name,e.equipment_model, e.installation_position,
+               arr.processing_part,arr.batch_number,arr.quantity,arr.fault_description,
+               f.factory_name
+        from eam_report_product_hazards erph
+                 inner join eam_equipment e
+                            on erph.equipment_id = e.id
+                                and e.del_flag=0
+                 left join eam_report_repair arr
+                           on erph.report_id = arr.id
+                               and arr.del_flag=0
+                 LEFT JOIN eam_base_factory f ON f.org_code = SUBSTRING ( e.factory_org_code , 1, 6 )
+            ${ew.customSqlSegment}
+    </select>
 </mapper>
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportAccidentsRegisterService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportAccidentsRegisterService.java
index f0a57b0..0d624e6 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportAccidentsRegisterService.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportAccidentsRegisterService.java
@@ -10,6 +10,8 @@
 import org.jeecg.modules.eam.request.EamRepairOrderQuery;
 import org.jeecg.modules.eam.request.EamReportAccidentsRegisterQuery;
 
+import java.util.List;
+
 /**
  * @Description: 璁惧浜嬫晠鐧昏琛�
  * @Author: jeecg-boot
@@ -52,4 +54,11 @@
      * @return
      */
     boolean cancelled(String id);
+
+    /**
+     * 璁惧浜嬫晠鐧昏琛ㄦ墦鍗�
+     * @param ids
+     * @return
+     */
+    List<EamReportAccidentsRegisterDto> findListByIds(String ids);
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportProductHazardsService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportProductHazardsService.java
index c432146..dcfecaf 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportProductHazardsService.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportProductHazardsService.java
@@ -3,11 +3,14 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.eam.dto.EamReportAccidentsRegisterDto;
 import org.jeecg.modules.eam.dto.EamReportProductHazardsDto;
 import org.jeecg.modules.eam.entity.EamReportProductHazards;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.eam.request.EamReportAccidentsRegisterQuery;
 import org.jeecg.modules.eam.request.EamReportProductHazardsQuery;
+
+import java.util.List;
 
 /**
  * @Description: 浜у搧瀹夊叏闅愭偅纭
@@ -51,4 +54,11 @@
      * @return
      */
     boolean cancelled(String id);
+
+    /**
+     * 浜у搧瀹夊叏闅愭偅纭鎵撳嵃
+     * @param ids
+     * @return
+     */
+    List<EamReportProductHazardsDto> findListByIds(String ids);
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java
index 8ac42a8..1e6cfa0 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java
@@ -21,6 +21,7 @@
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.eam.constant.*;
 import org.jeecg.modules.eam.dto.EamReportAccidentsRegisterDto;
+import org.jeecg.modules.eam.dto.EamReportProductHazardsDto;
 import org.jeecg.modules.eam.entity.*;
 import org.jeecg.modules.eam.mapper.EamReportAccidentsRegisterMapper;
 import org.jeecg.modules.eam.request.EamReportAccidentsRegisterQuery;
@@ -631,6 +632,47 @@
         return true;
     }
 
+    /**
+     * 璁惧浜嬫晠鐧昏琛ㄦ墦鍗�
+     * @param ids
+     * @return
+     */
+    @Override
+    public List<EamReportAccidentsRegisterDto> findListByIds(String ids){
+        QueryWrapper<EamReportAccidentsRegisterDto> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("aar.del_flag",CommonConstant.DEL_FLAG_0.toString());
+        queryWrapper.eq("aar.register_status",EamReportAccidentsRegisterEnum.REPAIR_COMPLETED.name());
+        //鐢ㄦ埛鏁版嵁鏉冮檺
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (sysUser == null) {
+            return new ArrayList<>();
+        }
+        if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
+            //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
+            List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
+            queryWrapper.in("e.equipment_code", equipArr);
+        } else {
+            //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶�
+            List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService.
+                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
+            if(!CollectionUtils.isEmpty(baseFactoryUserList)){
+                Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet());
+                Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
+                queryWrapper.in("e.factory_org_code", factoryCode);
+            } else {
+                return new ArrayList<>();
+            }
+        }
+        //鏌ヨ鏉′欢杩囨护
+        if (StrUtil.isNotEmpty(ids)) {
+            List<String> idList = Arrays.asList(ids.split(","));
+            queryWrapper.in("aar.id", idList);
+        } else {
+            queryWrapper.orderByDesc("aar.create_time");
+        }
+        return this.baseMapper.queryList(queryWrapper);
+    }
+
     @Override
     public void afterFlowHandle(FlowMyBusiness business) {
 
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java
index 47ff53c..8850de0 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java
@@ -22,6 +22,8 @@
 import org.jeecg.modules.eam.constant.BusinessCodeConst;
 import org.jeecg.modules.eam.constant.EamReportAccidentsRegisterEnum;
 import org.jeecg.modules.eam.constant.EamReportProductHazardsEnum;
+import org.jeecg.modules.eam.constant.SecondMaintenanceStatusEnum;
+import org.jeecg.modules.eam.dto.EamReportProductHazardsDto;
 import org.jeecg.modules.eam.dto.EamReportProductHazardsDto;
 import org.jeecg.modules.eam.entity.EamEquipment;
 import org.jeecg.modules.eam.entity.EamReportAccidentsRegister;
@@ -380,6 +382,47 @@
         return true;
     }
 
+    /**
+     * 浜у搧瀹夊叏闅愭偅纭鎵撳嵃
+     * @param ids
+     * @return
+     */
+    @Override
+    public List<EamReportProductHazardsDto> findListByIds(String ids){
+        QueryWrapper<EamReportProductHazardsDto> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("erph.del_flag",CommonConstant.DEL_FLAG_0.toString());
+        queryWrapper.eq("erph.confirm_status",EamReportProductHazardsEnum.REPAIR_COMPLETED.name() );
+        //鐢ㄦ埛鏁版嵁鏉冮檺
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (sysUser == null) {
+            return new ArrayList<>();
+        }
+        if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
+            //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
+            List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
+            queryWrapper.in("e.equipment_code", equipArr);
+        } else {
+            //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶�
+            List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService.
+                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
+            if(!CollectionUtils.isEmpty(baseFactoryUserList)){
+                Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet());
+                Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
+                queryWrapper.in("e.factory_org_code", factoryCode);
+            } else {
+                return new ArrayList<>();
+            }
+        }
+        //鏌ヨ鏉′欢杩囨护
+        if (StrUtil.isNotEmpty(ids)) {
+            List<String> idList = Arrays.asList(ids.split(","));
+            queryWrapper.in("erph.id", idList);
+        } else {
+            queryWrapper.orderByDesc("erph.create_time");
+        }
+        return this.baseMapper.queryList(queryWrapper);
+    }
+
     @Override
     public void afterFlowHandle(FlowMyBusiness business) {
 
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
index 958f9fc..65848e3 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
@@ -19,6 +19,7 @@
 import org.jeecg.modules.eam.constant.InspectionItemCategroyEnum;
 import org.jeecg.modules.eam.constant.InspectionStatus;
 import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
+import org.jeecg.modules.eam.dto.EamInspectionOrderExport;
 import org.jeecg.modules.eam.entity.EamInspectionOrder;
 import org.jeecg.modules.eam.entity.EamInspectionOrderDetail;
 import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail;
@@ -364,4 +365,14 @@
         return eamInspectionOrderService.exportWeekInsOrderDetailUserList(equipmentCode, inspectionDate);
     }
 
+    /**
+     * 鐢熶骇璁惧鑷富缁存姢鐐规琛ㄦ墦鍗�
+     * @param ids
+     * @return
+     */
+    @ApiOperation(value = "鐢熶骇璁惧鑷富缁存姢鐐规琛ㄦ墦鍗�", notes = "鐢熶骇璁惧鑷富缁存姢鐐规琛ㄦ墦鍗�")
+    @GetMapping("/printInspectionOrder")
+    public Result<?> printInspectionOrder(String ids) {
+        return Result.ok(eamInspectionOrderService.printInspectionOrder(ids));
+    }
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportAccidentsRegisterController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportAccidentsRegisterController.java
index c0e8f2e..a2943d1 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportAccidentsRegisterController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportAccidentsRegisterController.java
@@ -270,4 +270,16 @@
         return super.importExcel(request, response, EamReportAccidentsRegister.class);
     }
 
+	 /**
+	  * 璁惧浜嬫晠鐧昏琛ㄦ墦鍗�
+	  * @param ids
+	  * @return
+	  */
+	 @AutoLog(value = "璁惧浜嬫晠鐧昏琛�-璁惧浜嬫晠鐧昏琛ㄦ墦鍗�")
+	 @ApiOperation(value="璁惧浜嬫晠鐧昏琛�-璁惧浜嬫晠鐧昏琛ㄦ墦鍗�", notes="璁惧浜嬫晠鐧昏琛�-璁惧浜嬫晠鐧昏琛ㄦ墦鍗�")
+	 @GetMapping(value = "/batchExport")
+	 public Result<?> batchExport(String ids){
+		 return Result.ok(eamReportAccidentsRegisterService.findListByIds(ids));
+	 }
+
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportProductHazardsController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportProductHazardsController.java
index 2c25443..f154926 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportProductHazardsController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportProductHazardsController.java
@@ -160,6 +160,18 @@
 		return Result.error("鍒犻櫎澶辫触!");
 	}
 
+	 /**
+	  * 浜у搧瀹夊叏闅愭偅纭鎵撳嵃
+	  * @param ids
+	  * @return
+	  */
+	 @AutoLog(value = "浜у搧瀹夊叏闅愭偅纭-浜у搧瀹夊叏闅愭偅纭鎵撳嵃")
+	 @ApiOperation(value="浜у搧瀹夊叏闅愭偅纭-浜у搧瀹夊叏闅愭偅纭鎵撳嵃", notes="浜у搧瀹夊叏闅愭偅纭-浜у搧瀹夊叏闅愭偅纭鎵撳嵃")
+	 @GetMapping(value = "/batchExport")
+	 public Result<?> batchExport(String ids){
+		 return Result.ok(eamReportProductHazardsService.findListByIds(ids));
+	 }
+
 	/**
 	 *  鎵归噺鍒犻櫎
 	 *
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
index ef66a96..41a927d 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
@@ -186,6 +186,15 @@
     //娴佽浆鑺傜偣浣跨敤鏌ヨ
     @TableField(exist = false)
     private String procInstId;
+    /**娴佺▼瀹氫箟key 涓�涓猭ey浼氭湁澶氫釜鐗堟湰鐨刬d*/
+    @TableField(exist = false)
+    private String processDefinitionKey;
+    /**娴佺▼瀹氫箟id 涓�涓祦绋嬪畾涔夊敮涓�*/
+    @TableField(exist = false)
+    private String processDefinitionId;
+    /**娴佺▼涓氬姟瀹炰緥id 涓�涓祦绋嬩笟鍔″敮涓�锛屾湰琛ㄤ腑涔熷敮涓�*/
+    @TableField(exist = false)
+    private String processInstanceId;
 
     public String getEquipmentText() {
         return equipmentCode + "[" + equipmentName + "]";
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java
index 6ddc90e..105ada2 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.eam.dto.EamInspectionOrderExport;
 import org.jeecg.modules.eam.entity.EamInspectionOrder;
 import org.jeecg.modules.eam.request.*;
 
@@ -27,6 +28,12 @@
      */
     IPage<EamInspectionOrder> queryPageList(Page<EamInspectionOrder> page, @Param(Constants.WRAPPER) QueryWrapper<EamInspectionOrder> queryWrapper);
 
+    /**
+     * 鍒楄〃鏌ヨ
+     * @return
+     */
+    List<EamInspectionOrderExport> queryList(@Param("ids") List<String> ids);
+
     EamInspectionOrderBaseResponse findInsOrderBaseInfo(@Param("equipmentCode") String equipmentCode, @Param("inspectionDate") String inspectionDate);
 
     List<EamInsOrderDetailResultResponse> findInsOrderDetailList(@Param("equipmentCode") String equipmentCode, @Param("inspectionDate") String inspectionDate);
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml
index 17d2d32..c5ad973 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml
@@ -3,10 +3,14 @@
 <mapper namespace="org.jeecg.modules.eam.mapper.EamInspectionOrderMapper">
 
     <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamInspectionOrder">
-        select wmo.*, e.equipment_code, e.equipment_name, e.equipment_model
+        select wmo.*, e.equipment_code, e.equipment_name, e.equipment_model,f.process_instance_id as 'procInstId',
+               f.process_definition_key,
+               f.process_definition_id,
+               f.process_instance_id
         from eam_inspection_order wmo
         inner join eam_equipment e
         on wmo.equipment_id = e.id
+        left join flow_my_business f on f.data_id=wmo.id
         ${ew.customSqlSegment}
     </select>
 
@@ -124,5 +128,35 @@
         ORDER BY
             t1.plan_inspection_date ASC
     </select>
+    <select id="queryList" resultType="org.jeecg.modules.eam.dto.EamInspectionOrderExport">
+        SELECT
+            t2.equipment_name equipmentName,
+            t2.equipment_code equipmentCode,
+            t2.equipment_model equipmentModel,
+            SUBSTRING(t2.factory_org_code,1,6) factoryName,
+            DATEPART( YEAR, t1.inspection_date ) AS inspectionYear,
+            DATEPART( MONTH, t1.inspection_date ) AS inspectionMonth,
+            t1.hf_code hfCode
+        FROM
+            eam_inspection_order t1
+                LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.id
+        WHERE
+            1=1
+          <if test="ids != null and ids.size() > 0">
+            AND t1.id IN
+              <foreach collection="ids" item="id" index="index" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+          </if>
+          AND t1.inspection_status = 'COMPLETE'
+        GROUP BY
+        t2.equipment_name,
+        t2.equipment_code,
+        t2.equipment_model ,
+        t2.factory_org_code ,
+        DATEPART( YEAR, t1.inspection_date ),
+        DATEPART( MONTH, t1.inspection_date ),
+        t1.hf_code
+    </select>
 
 </mapper>
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml
index 1bc0828..716507c 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml
@@ -3,7 +3,10 @@
 <mapper namespace="org.jeecg.modules.eam.mapper.EamMaintenanceStandardMapper">
     <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamMaintenanceStandard">
         select ems.*, e.equipment_code, e.equipment_name,
-               e.equipment_model,f.process_instance_id as 'procInstId'
+               e.equipment_model,f.process_instance_id as 'procInstId',
+               f.process_definition_key,
+               f.process_definition_id,
+               f.process_instance_id
         from eam_maintenance_standard ems
         inner join eam_equipment e
         on ems.equipment_id = e.id
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml
index bee23d2..dd75fce 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml
@@ -3,7 +3,10 @@
 <mapper namespace="org.jeecg.modules.eam.mapper.EamSecondMaintenanceOrderMapper">
 
     <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder">
-        select wmo.*, e.equipment_code, e.equipment_name,e.equipment_model,f.process_instance_id as 'procInstId'
+        select wmo.*, e.equipment_code, e.equipment_name,e.equipment_model,f.process_instance_id as 'procInstId',
+               f.process_definition_key,
+               f.process_definition_id,
+               f.process_instance_id
         from eam_second_maintenance_order wmo
         inner join eam_equipment e
         on wmo.equipment_id = e.id
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml
index 2054ac4..e89ebba 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml
@@ -3,10 +3,14 @@
 <mapper namespace="org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper">
 
     <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder">
-        select wmo.*, e.equipment_code, e.equipment_name, e.equipment_model
+        select wmo.*, e.equipment_code, e.equipment_name, e.equipment_model,f.process_instance_id as 'procInstId',
+               f.process_definition_key,
+               f.process_definition_id,
+               f.process_instance_id
         from eam_third_maintenance_order wmo
         inner join eam_equipment e
         on wmo.equipment_id = e.id
+        left join flow_my_business f on f.data_id=wmo.id
         ${ew.customSqlSegment}
     </select>
 
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java
index f072bb0..5761583 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java
@@ -1,19 +1,16 @@
 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;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.eam.dto.EamInspectionOrderExport;
 import org.jeecg.modules.eam.entity.EamInspectionOrder;
-import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail;
 import org.jeecg.modules.eam.request.EamInspectionOrderQuery;
 import org.jeecg.modules.eam.request.EamInspectionOrderRequest;
-import org.jeecg.modules.eam.vo.InspectionVo;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Description: 鐐规宸ュ崟
@@ -112,4 +109,11 @@
      * 鍛ㄧ偣妫�璐d换浜哄垪琛�
      */
     JSONObject exportWeekInsOrderDetailUserList(String equipmentCode, String inspectionDate);
+
+    /**
+     * 鐢熶骇璁惧鑷富缁存姢鐐规琛ㄦ墦鍗�
+     * @param ids
+     * @return
+     */
+    List<EamInspectionOrderExport> printInspectionOrder(String ids);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java
index 6ce703a..3c74110 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport;
+import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExportYj;
 import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.eam.request.EamThirdMaintenanceQuery;
@@ -95,7 +96,7 @@
      * @param ids
      * @return
      */
-    List<EamThirdMaintenanceOrderExport> export(String ids);
+    List<EamThirdMaintenanceOrderExportYj> export(String ids);
 
     /**
      * 鎵归噺鎵撳嵃鍔犲伐璁惧涓夌骇淇濆吇楠屾敹鍗�
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
index 320ad2a..4dd9e26 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
@@ -11,6 +11,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.annotations.Param;
 import org.apache.shiro.SecurityUtils;
 import org.flowable.engine.TaskService;
 import org.flowable.task.api.Task;
@@ -23,6 +24,10 @@
 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.dto.DailyResponsibleInfo;
+import org.jeecg.modules.eam.dto.EamInspectionOrderDetailExport;
+import org.jeecg.modules.eam.dto.EamInspectionOrderExport;
+import org.jeecg.modules.eam.dto.WeeklyResponsibleInfo;
 import org.jeecg.modules.eam.request.*;
 import org.jeecg.modules.system.entity.BaseFactory;
 import org.jeecg.modules.system.entity.BaseFactoryUser;
@@ -49,6 +54,7 @@
 import java.time.LocalDate;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
@@ -698,6 +704,270 @@
         }
     }
 
+    /**
+     * 鐢熶骇璁惧鑷富缁存姢鐐规琛ㄦ墦鍗�
+     * @param ids
+     * @return
+     */
+    @Override
+    public List<EamInspectionOrderExport> printInspectionOrder(String ids) {
+
+        List<EamInspectionOrderExport> eamInspectionOrderExports =
+                this.eamInspectionOrderMapper.queryList(Arrays.asList(ids.split(",")));
+
+        if (eamInspectionOrderExports == null || eamInspectionOrderExports.isEmpty()) {
+            return null;
+        }
+
+        eamInspectionOrderExports.forEach(eamInspectionOrderExport -> {
+
+            // 鏃ユ湡澶勭悊
+            if (StrUtil.isNotEmpty(eamInspectionOrderExport.getInspectionMonth())){
+                if (eamInspectionOrderExport.getInspectionMonth().length() == 1) {
+                    eamInspectionOrderExport.setInspectionMonth("0" + eamInspectionOrderExport.getInspectionMonth());
+                }
+            }
+            String finalInspectionDate = eamInspectionOrderExport.getInspectionYear()+"-" + eamInspectionOrderExport.getInspectionMonth();
+            // 鑾峰彇璇ヨ澶囩殑鏃ョ偣妫�鏄庣粏鏁版嵁
+            List<EamInsOrderDetailResultResponse> detailResponseList =
+                    eamInspectionOrderMapper.findInsOrderDetailList(
+                            eamInspectionOrderExport.getEquipmentCode(),
+                            finalInspectionDate
+                    );
+
+            if (!detailResponseList.isEmpty()) {
+                // 鎸夐」鐩垎缁勫瓨鍌紙椤圭洰缂栫爜涓簁ey锛�
+                Map<Integer, EamInspectionOrderDetailExport> detailExportMap = new HashMap<>();
+
+                // 鍒濆鍖栭」鐩俊鎭紙姣忎釜椤圭洰瀵瑰簲涓�涓�31澶╃姸鎬佺殑瀵硅薄锛�
+                detailResponseList.forEach(detail -> {
+                    Integer itemCode = detail.getItemCode();
+                    EamInspectionOrderDetailExport export = detailExportMap.get(itemCode);
+
+                    if (export == null) {
+                        // 鍒涘缓鏂扮殑鐐规椤圭洰瀵硅薄
+                        export = new EamInspectionOrderDetailExport()
+                                .setItemCode(itemCode)
+                                .setItemName(detail.getItemName())
+                                .setItemDemand(detail.getItemDemand())
+                                .setDateFlag(new String[31]); // 鍒濆鍖�31澶╃姸鎬佹暟缁�
+
+                        detailExportMap.put(itemCode, export);
+                    }
+                });
+
+                // 濉厖鍚勯」鐩瘡鏃ョ殑鐐规鐘舵��
+                detailResponseList.forEach(detail -> {
+                    Integer itemCode = detail.getItemCode();
+                    EamInspectionOrderDetailExport export = detailExportMap.get(itemCode);
+
+                    try {
+                        Date newinspectionDate = detail.getInspectionDate();
+
+                        // 澶勭悊绌烘棩鏈熸儏鍐�
+                        if (newinspectionDate == null) {
+                            log.warn("妫�娴嬪埌绌烘棩鏈熷��, itemCode: {}");
+                            return;
+                        }
+                        // 杞崲涓篖ocalDate
+                        LocalDate date = newinspectionDate.toInstant()
+                                .atZone(ZoneId.systemDefault())
+                                .toLocalDate();
+                        int day = date.getDayOfMonth();
+                        // 瀹夊叏璁剧疆鏃ユ湡鐘舵��
+                        if (day >= 1 && day <= 31) {
+                            String[] dateFlags = export.getDateFlag();
+                            if (dateFlags == null) {
+                                dateFlags = new String[31];
+                                export.setDateFlag(dateFlags);
+                            }
+                            if (StrUtil.isNotEmpty(detail.getInspectionResult())){
+                                switch (detail.getInspectionResult()) {
+                                    case "NORMAL":
+                                        dateFlags[day - 1] = "鈭�";
+                                        break;
+                                    case "ANOMALY":
+                                        dateFlags[day - 1] = "脳";
+                                        break;
+                                    case "FAULT":
+                                        dateFlags[day - 1] = "鈻�";
+                                        break;
+                                    case "CLOSE":
+                                        dateFlags[day - 1] = "T";
+                                        break;
+                                }
+                            }
+                        } else {
+                            log.warn("闈炴硶鏃ユ湡鍊�: {}, itemCode: {}");
+                        }
+                    }
+                    catch (DateTimeParseException | NullPointerException e) {
+                        log.error("鏃ユ湡澶勭悊閿欒 - 鍘熷鍊�: {}, 椤圭洰: {}, 閿欒: {}");
+                    }
+                });
+                // 灏嗙偣妫�椤圭洰闆嗗悎杞崲涓哄垪琛�
+                List<EamInspectionOrderDetailExport> detailExports =
+                        new ArrayList<>(detailExportMap.values());
+                // 璁剧疆鍒颁富瀵煎嚭瀵硅薄涓�
+                eamInspectionOrderExport.setEamDailyInspectionList(detailExports);
+            }else {
+                eamInspectionOrderExport.setEamDailyInspectionList(null);
+            }
+            // 鑾峰彇璇ヨ澶囩殑鍛ㄧ偣妫�鏄庣粏鏁版嵁
+            List<EamWeekInsDetailResultResponse> eamWeekInsDetailResultResponseList =
+                    eamInspectionOrderMapper.findWeekInsDetailList(
+                            eamInspectionOrderExport.getEquipmentCode(),
+                            finalInspectionDate
+                    );
+            if (!eamWeekInsDetailResultResponseList.isEmpty()) {
+                // 鎸夐」鐩垎缁勫瓨鍌紙椤圭洰缂栫爜涓簁ey锛�
+                Map<Integer, EamInspectionOrderDetailExport> detailExportMap = new HashMap<>();
+                // 鍒濆鍖栭」鐩俊鎭�
+                eamWeekInsDetailResultResponseList.forEach(detail -> {
+                    Integer itemCode = detail.getItemCode();
+                    EamInspectionOrderDetailExport export = detailExportMap.get(itemCode);
+                    if (export == null) {
+                        // 鍒涘缓鏂扮殑鐐规椤圭洰瀵硅薄骞跺垵濮嬪寲weekFlag鏁扮粍
+                        export = new EamInspectionOrderDetailExport()
+                                .setItemCode(itemCode)
+                                .setItemName(detail.getItemName())
+                                .setItemDemand(detail.getItemDemand())
+                                .setWeekFlag(new String[5]); // 鏄庣‘鍒濆鍖栭暱搴︿负5
+                        detailExportMap.put(itemCode, export);
+                    }
+                });
+                // 濉厖鍚勯」鐩瘡鍛ㄧ殑鐐规鐘舵��
+                eamWeekInsDetailResultResponseList.forEach(detail -> {
+                    Integer itemCode = detail.getItemCode();
+                    EamInspectionOrderDetailExport export = detailExportMap.get(itemCode);
+
+                    Date newinspectionDate = detail.getPlanInspectionDate();
+                    if (newinspectionDate == null) {
+                        log.warn("妫�娴嬪埌绌烘棩鏈熷��, itemCode: {}");
+                        return;
+                    }
+
+                    // 璁$畻璇ユ棩鏈熸槸褰撴湀绗嚑鍛� (1-5)
+                    int week = calculateWeekOfMonth(newinspectionDate);
+
+                    if (week >= 1 && week <= 5) {
+                        String[] weekFlags = export.getWeekFlag();
+                        if (weekFlags == null) {
+                            weekFlags = new String[31];
+                            export.setWeekFlag(weekFlags);
+                        }
+                        if (StrUtil.isNotEmpty(detail.getInspectionResult())){
+                            switch (detail.getInspectionResult()) {
+                                case "NORMAL":
+                                    weekFlags[week - 1] = "鈭�";
+                                    break;
+                                case "ANOMALY":
+                                    weekFlags[week - 1] = "脳";
+                                    break;
+                                case "FAULT":
+                                    weekFlags[week - 1] = "鈻�";
+                                    break;
+                                case "CLOSE":
+                                    weekFlags[week - 1] = "T";
+                                    break;
+                            }
+                        }
+                    }
+                });
+                // 灏嗙偣妫�椤圭洰闆嗗悎杞崲涓哄垪琛�
+                List<EamInspectionOrderDetailExport> weekDetailExports =
+                        new ArrayList<>(detailExportMap.values());
+                // 璁剧疆鍒颁富瀵煎嚭瀵硅薄涓�
+                eamInspectionOrderExport.setEamWeeklyInspectionList(weekDetailExports);
+            }else {
+                eamInspectionOrderExport.setEamWeeklyInspectionList(null);
+            }
+
+
+            // ================== 娣诲姞鏃ョ偣妫�璐d换浜轰俊鎭� ==================
+            DailyResponsibleInfo dailyResponsible = new DailyResponsibleInfo();
+            List<EamInsOrderDetailUserResponse> dailyUserResponses =
+                    eamInspectionOrderMapper.findInspectionOrderDetailUserList(
+                            eamInspectionOrderExport.getEquipmentCode(),
+                            finalInspectionDate
+                    );
+
+            if (dailyUserResponses != null && !dailyUserResponses.isEmpty()) {
+                dailyUserResponses.forEach(response -> {
+                    try {
+                        Date date = response.getInspectionDate();
+                        if (date == null) return;
+
+                        LocalDate localDate = date.toInstant()
+                                .atZone(ZoneId.systemDefault())
+                                .toLocalDate();
+
+                        int day = localDate.getDayOfMonth();
+                        if (day < 1 || day > 31) return;
+
+                        // 鑾峰彇鎿嶄綔鍛樺拰纭浜哄鍚�
+                        String operator = sysDictService.queryTableDictTextByKey(
+                                "sys_user", "realname", "username", response.getOperator());
+                        String confirmUser = sysDictService.queryTableDictTextByKey(
+                                "sys_user", "realname", "username", response.getConfirmUser());
+
+                        // 璁剧疆璐d换浜轰俊鎭�
+                        dailyResponsible.setResponsibleForDay(day, operator, confirmUser);
+                    } catch (Exception e) {
+                        log.error("澶勭悊鏃ョ偣妫�璐d换浜轰俊鎭嚭閿�: {}");
+                    }
+                });
+            }
+            eamInspectionOrderExport.setDailyResponsibleInfo(dailyResponsible);
+
+            // ================== 娣诲姞鍛ㄧ偣妫�璐d换浜轰俊鎭� ==================
+            WeeklyResponsibleInfo weeklyResponsible = new WeeklyResponsibleInfo();
+            List<EamWeekInsDetailUserResponse> weeklyUserResponses =
+                    eamInspectionOrderMapper.findWeekInsOrderDetailUserList(
+                            eamInspectionOrderExport.getEquipmentCode(),
+                            finalInspectionDate
+                    );
+
+            if (weeklyUserResponses != null && !weeklyUserResponses.isEmpty()) {
+                weeklyUserResponses.forEach(response -> {
+                    try {
+                        Date date = response.getPlanInspectionDate();
+                        if (date == null) return;
+
+                        // 璁$畻鍛ㄦ暟
+                        Calendar calendar = Calendar.getInstance();
+                        calendar.setTime(date);
+                        int week = calendar.get(Calendar.WEEK_OF_MONTH);
+                        if (week < 1 || week > 5) return;
+
+                        // 鑾峰彇鎿嶄綔鍛樺拰纭浜哄鍚�
+                        String operator = sysDictService.queryTableDictTextByKey(
+                                "sys_user", "realname", "username", response.getInspector());
+                        String confirmUser = sysDictService.queryTableDictTextByKey(
+                                "sys_user", "realname", "username", response.getConfirmUser());
+
+                        // 璁剧疆璐d换浜轰俊鎭�
+                        weeklyResponsible.setResponsibleForWeek(week, operator, confirmUser);
+                    } catch (Exception e) {
+                        log.error("澶勭悊鍛ㄧ偣妫�璐d换浜轰俊鎭嚭閿�: {}");
+                    }
+                });
+            }
+            eamInspectionOrderExport.setWeeklyResponsibleInfo(weeklyResponsible);
+        });
+
+        return eamInspectionOrderExports;
+
+    }
+
+    /**
+     * 璁$畻鏃ユ湡鍦ㄥ綋鏈堟槸绗嚑鍛紙1-5锛�
+     */
+    private int calculateWeekOfMonth(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        return calendar.get(Calendar.WEEK_OF_MONTH);
+    }
 
     private boolean isValidRequest(EamInspectionOrderRequest request) {
         return StrUtil.isNotBlank(request.getTaskId()) && StrUtil.isNotBlank(request.getDataId());
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
index 641593a..be80f73 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
@@ -26,6 +26,7 @@
 import org.jeecg.modules.eam.constant.*;
 import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport;
 import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport;
+import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExportYj;
 import org.jeecg.modules.eam.entity.*;
 import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper;
 import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse;
@@ -598,7 +599,7 @@
      * @return
      */
     @Override
-    public List<EamThirdMaintenanceOrderExport> export(String ids){
+    public List<EamThirdMaintenanceOrderExportYj> export(String ids){
         QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString());
         queryWrapper.eq("wmo.maintenance_status",SecondMaintenanceStatusEnum.COMPLETE.name());
@@ -631,15 +632,23 @@
             queryWrapper.orderByDesc("wmo.create_time");
         }
         List<EamThirdMaintenanceOrderExport> eamThirdMaintenanceOrderExports=this.baseMapper.queryList(queryWrapper);
+        List<EamThirdMaintenanceOrderExportYj> eamThirdMaintenanceOrderExportYjs=new  ArrayList<>();
+        if (!eamThirdMaintenanceOrderExports.isEmpty()){
+            for (EamThirdMaintenanceOrderExport eamThirdMaintenanceOrderExport:eamThirdMaintenanceOrderExports) {
+                EamThirdMaintenanceOrderExportYj eamThirdMaintenanceOrderExportYj = new EamThirdMaintenanceOrderExportYj();
+                BeanUtils.copyProperties(eamThirdMaintenanceOrderExport, eamThirdMaintenanceOrderExportYj);
+                eamThirdMaintenanceOrderExportYjs.add(eamThirdMaintenanceOrderExportYj);
+            }
+        }
         //濉厖瀵瑰簲淇悊鏇存崲澶囦欢鏄庣粏
-        eamThirdMaintenanceOrderExports.forEach(eamThirdMaintenanceOrderExport->{
+        eamThirdMaintenanceOrderExportYjs.forEach(eamThirdMaintenanceOrderExportYj->{
             List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpares=eamThirdMaintenanceSpareService.list(
-                    new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExport.getId()));
+                    new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExportYj.getId()));
             if (!eamThirdMaintenanceSpares.isEmpty()){
-                eamThirdMaintenanceOrderExport.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares);
+                eamThirdMaintenanceOrderExportYj.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares);
             }
         });
-        return eamThirdMaintenanceOrderExports;
+        return eamThirdMaintenanceOrderExportYjs;
     }
 
     /**

--
Gitblit v1.9.3