From ea42a1e743bf24bbc1648f7ea82ad1812e156eb4 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期一, 26 五月 2025 11:43:57 +0800
Subject: [PATCH] 设备点检报表

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IInspectionOrderService.java          |   14 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/InspectionOrderServiceImpl.java  |   21 +++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java |    6 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml          |   46 +++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml         |    4 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceCycle.java                  |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/InspectionOrderMapper.java             |   13 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java     |  100 ++++++++++++++++++++++++
 8 files changed, 204 insertions(+), 2 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
index e874d7a..dcd01ca 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
@@ -8,6 +8,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -693,4 +694,101 @@
 		 return Result.ok(maps);
 	 }
 
-}
+
+	 /**
+	  *鐢熶骇璁惧鑷富缁存姢鐐规琛� 鎶ヨ〃
+	  * 2024-3-27 qsw
+	  */
+	 @GetMapping("findInspectionForms")
+	 public Result<?> findInspectionForms(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+												@RequestParam(name = "pageSize", defaultValue = "1000") Integer pageSize,
+												@RequestParam Map<String, Object> params) {
+
+//		 HashMap<String, Object> mapEquipment = new HashMap<>();
+//		 HashMap<String, Object> mapStandard = new HashMap<>();
+		 HashMap<String, Object> mapResult = new HashMap<>();
+
+
+
+		 String num = (String)params.get("num");
+		 Equipment equipment = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getNum, num).eq(Equipment::getDelFlag, 0));
+
+//		 mapEquipment.put("num",equipment.getNum());
+
+
+		 List<Map<String, Object>> list1 = this.getInspectionStandars(num);
+		 List<Map<String, Object>> list2 = this.getUserQianzi(num);
+
+		 mapResult.put("equipentNum",equipment.getNum());
+		 mapResult.put("equipentName",equipment.getName());
+		 mapResult.put("list1",list1);
+		 mapResult.put("list2",list2);
+
+		 return Result.ok(mapResult);
+	 }
+
+	 List<Map<String, Object>> getInspectionStandars(String num){
+		 List<Map<String, Object>> maps = new ArrayList<>();
+		 List<Map<String, Object>> dayInspectionStandard = inspectionOrderService.findDayInspectionStandard(num);
+		 for (Map<String, Object> map : dayInspectionStandard) {
+			 String name = (String)map.get("name");
+			 String detectionStandard = (String)map.get("detectionStandard");
+			 List<Map<String, Object>> record = inspectionOrderService.findDayInspectionStandardProject(name, detectionStandard);
+
+			 for (Map<String, Object> r : record) {
+				 if(maps.size()>0){
+					 Boolean flag = false;
+					 for (Map<String, Object> map1 : maps) {
+						 if(map1.containsValue(r.get("name")) && map1.containsValue(r.get("detectionStandard"))){
+							 map1.put(r.get("dayTime").toString(),r.get("insResult"));
+							 flag = true;
+						 }
+					 }
+					 if(flag == false){
+						 HashMap<String, Object> hashMap = new HashMap<>();
+						 hashMap.put("name",r.get("name"));
+						 hashMap.put("detectionStandard",r.get("detectionStandard"));
+						 hashMap.put(r.get("dayTime").toString(),r.get("insResult"));
+						 maps.add(hashMap);
+					 }
+				 }else{
+					 HashMap<String, Object> hashMap = new HashMap<>();
+					 hashMap.put("name",r.get("name"));
+					 hashMap.put("detectionStandard",r.get("detectionStandard"));
+					 hashMap.put(r.get("dayTime").toString(),r.get("insResult"));
+					 maps.add(hashMap);
+
+				 }
+			 }
+		 }
+		 return maps;
+	 }
+	List<Map<String, Object>> getUserQianzi(String num){
+		List<Map<String, Object>> maps2 = new ArrayList<>();
+		List<Map<String, Object>> userQianZi = inspectionOrderService.getUserQianZi(num);
+		for (Map<String, Object> map : userQianZi) {
+			if(maps2.size()>0){
+				Boolean flag = false;
+				for (Map<String, Object> map1 : maps2) {
+					if(map1.containsValue("缁存姢璐d换浜�")){
+						map1.put(map.get("dayTime").toString(),map.get("inspectionUserName"));
+						flag = true;
+					}
+				}
+				if(flag == false){
+					HashMap<String, Object> hashMap = new HashMap<>();
+					hashMap.put("inspectionUserName","缁存姢璐d换浜�");
+					hashMap.put(map.get("dayTime").toString(),map.get("inspectionUserName"));
+					maps2.add(hashMap);
+				}
+			}else{
+				HashMap<String, Object> hashMap = new HashMap<>();
+				hashMap.put("inspectionUserName","缁存姢璐d换浜�");
+				hashMap.put(map.get("dayTime").toString(),map.get("inspectionUserName"));
+				maps2.add(hashMap);
+			}
+		}
+		return maps2;
+	}
+
+ }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
index 19f7773..30aaa10 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
@@ -201,6 +201,9 @@
 
         Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
         List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
+        if(maintenanceCycle.size()==0){
+            return Result.OK("娌℃湁鎵惧埌鐨勪繚鍏诲懆鏈燂紝璇峰厛缁存姢淇濆吇鍛ㄦ湡!");
+        }
         List<MaintenanceStandardDetail> maintenanceStandardDetaillist = maintenanceStandard.getMaintenanceStandardDetaillist();
         for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetaillist) {
             if(maintenanceCycle.size() > 0){
@@ -240,6 +243,9 @@
         //2.閲嶆柊鎸佷箙淇濆吇椤圭洰
         Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
         List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
+        if(maintenanceCycle.size()==0){
+            return Result.OK("娌℃湁鎵惧埌鐨勪繚鍏诲懆鏈燂紝璇峰厛缁存姢淇濆吇鍛ㄦ湡!");
+        }
         List<MaintenanceStandardDetail> maintenanceStandardDetails = maintenanceStandard.getMaintenanceStandardDetaillist();
         for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetails) {
             if(maintenanceCycle.size() > 0){
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceCycle.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceCycle.java
index 48470cc..d8004e8 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceCycle.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceCycle.java
@@ -7,6 +7,7 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.base.entity.JeecgEntity;
 import org.jeecgframework.poi.excel.annotation.Excel;
@@ -144,6 +145,7 @@
     private String equipmentImportanceId;
 
     @ApiModelProperty(value = "缁翠繚绫诲瀷")
+    @Dict(dicCode = "maintenance_type")
     private String maintenanceType;
 
 
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/InspectionOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/InspectionOrderMapper.java
index 24b203e..b33ad56 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/InspectionOrderMapper.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/InspectionOrderMapper.java
@@ -40,5 +40,18 @@
 
     IPage<Map<String, Object>> findWeekInspectionProjectList(IPage<Map> pageData, @Param("params") Map<String,Object> params);
 
+    /**
+     * 鐐规鎶ヨ〃 new
+     */
+    List<Map<String, Object>> findDayInspectionStandard(@Param("equipmentId")String equipmentId);
 
+    /**
+     * 鐐规鎶ヨ〃 new
+     */
+    List<Map<String, Object>> findDayInspectionStandardProject(@Param("name")String name,@Param("detectionStandard")String detectionStandard);
+
+    /**
+     * 鐐规鎶ヨ〃 new
+     */
+    List<Map<String, Object>> getUserQianzi(@Param("num")String num);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml
index 8aaddd1..0bc3dba 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml
@@ -281,4 +281,50 @@
                 AND tt1.del_flag = '0'
         )
     </select>
+
+    <select id="findDayInspectionStandard"  parameterType="String" resultType="Map">
+        SELECT
+            t3.name AS name,
+            t3.detection_standard AS detectionStandard
+        FROM
+            mom_eam_daily_inspection_standard_detail t1
+                LEFT JOIN mom_eam_daily_inspection_standard t2 ON t1.daily_inspection_standard_id = t2.id
+                LEFT JOIN mom_eam_inspection_project t3 ON t1.inspection_project_id = t3.id
+                LEFT JOIN mom_eam_equipment t4 ON t2.equipment_id = t4.id
+        WHERE t4.num = '0524'
+        AND t2.version_status = '2'
+        UNION ALL select '' as name,'缁存姢璐d换浜虹瀛�'  as detectionStandard
+        UNION ALL select '' as name,'妫�鏌ヨ矗浠讳汉绛惧瓧'  as detectionStandard
+
+    </select>
+
+    <select id="findDayInspectionStandardProject"  parameterType="String" resultType="Map">
+        SELECT
+            t3.name AS name,
+            t3.detection_standard AS detectionStandard,
+            t2.inspection_order_uda2 as inspectionUserName,
+            t2.inspection_order_uda1 AS repairConfirmPerson,
+            case t1.inspection_project_result  when '1' then '鈭�' when '2' then 'x' when '3' then '鈻�'  when '4' then 'T' else '' end as insResult,
+            CONVERT(VARCHAR, DATEPART(DAY, t2.create_time)) as dayTime
+        FROM
+            mom_eam_inspection_order_detail t1
+                LEFT JOIN mom_eam_inspection_order t2 ON t1.inspection_order_id= t2.id
+                left join  mom_eam_inspection_project t3  on t1.inspection_project_id  = t3.id
+                LEFT JOIN mom_eam_equipment t4 ON t2.equipment_id = t4.id
+        WHERE
+            t4.num = '0524'
+            and t3.name = #{name} and t3.detection_standard = #{detectionStandard}
+    </select>
+
+    <select id="getUserQianzi"  parameterType="String" resultType="Map">
+        SELECT
+            t1.inspection_order_uda2 AS inspectionUserName,
+            t1.inspection_order_uda1 AS repairConfirmPerson,
+            CONVERT ( VARCHAR, DATEPART( DAY, t1.create_time ) ) AS dayTime
+        FROM
+            mom_eam_inspection_order t1
+        LEFT JOIN mom_eam_equipment t2 ON t1.equipment_id = t2.id
+        WHERE
+            t2.num = '0524'
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml
index 352d482..e48899d 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml
@@ -34,7 +34,8 @@
         t8.item_text overdueDisposeModeName,
         t9.item_text accordingCalendarName,
         t1.equipment_importance_id as equipmentImportanceId,
-        t1.maintenance_type as maintenanceType
+        t1.maintenance_type as maintenanceType,
+        t10.item_text maintenanceTypeName
         from mom_eam_maintenance_cycle t1
         left join (select * from v_sys_dict where dict_code = 'maintenance_cycle_unit') t2 on t1.cycle_unit=t2.item_value
         left join (select * from v_sys_dict where dict_code = 'cycle_time_unit') t3 on t1.unit=t3.item_value
@@ -42,6 +43,7 @@
         left join (select * from v_sys_dict where dict_code = 'version_status') t6 on t1.version_status=t6.item_value
         left join (select * from v_sys_dict where dict_code = 'overdue_dispose_mode') t8 on t1.overdue_dispose_mode=t8.item_value
         left join (select * from v_sys_dict where dict_code = 'according_calendar') t9 on t1.according_calendar=t9.item_value
+        left join (select * from v_sys_dict where dict_code = 'maintenance_type') t10 on t1.maintenance_type=t10.item_value
         where 1=1
         <if test="maintenanceCycle.version!=null and maintenanceCycle.version!= ''">
             and t1.version=#{maintenanceCycle.version}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IInspectionOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IInspectionOrderService.java
index 061e975..910c18b 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IInspectionOrderService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IInspectionOrderService.java
@@ -39,4 +39,18 @@
 
     IPage<Map<String, Object>> findWeekInspectionProjectList(Integer pageNo, Integer pageSize, Map<String, Object> params);
 
+    /**
+     * 鐐规鎶ヨ〃 new
+     */
+    List<Map<String, Object>> findDayInspectionStandard(String equipmentNum);
+
+    /**
+     * 鑾峰彇鐐规椤� new
+     */
+    List<Map<String, Object>> findDayInspectionStandardProject(String name,String detectionStandard);
+
+    List<Map<String, Object>> getUserQianZi(String num);
+
+
+
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/InspectionOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/InspectionOrderServiceImpl.java
index bdeacb2..02e2c08 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/InspectionOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/InspectionOrderServiceImpl.java
@@ -93,4 +93,25 @@
         IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
         return  this.baseMapper.findWeekInspectionProjectList(pageData,params);
     }
+
+    /**
+     * 鐐规鎶ヨ〃 new
+     */
+    @Override
+    public List<Map<String, Object>> findDayInspectionStandard(String equipmentNum) {
+        return this.baseMapper.findDayInspectionStandard(equipmentNum);
+    }
+
+    /**
+     * 鑾峰彇鐐规椤� new
+     */
+    @Override
+    public List<Map<String, Object>> findDayInspectionStandardProject(String name, String detectionStandard) {
+        return this.baseMapper.findDayInspectionStandardProject(name,detectionStandard);
+    }
+
+    @Override
+    public List<Map<String, Object>> getUserQianZi(String num) {
+        return this.baseMapper.getUserQianzi(num);
+    }
 }

--
Gitblit v1.9.3