From cdeec053dbbc842c03dd1a0b961b3b3321c5ac20 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 19 三月 2024 16:32:39 +0800
Subject: [PATCH] 首页接口优化

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ICalibrationOrderService.java         |    7 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderMapper.xml         |   41 ++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/CalibrationOrderMapper.java            |   20 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java |   66 +++++++++++-
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java    |  131 ++++++++++++++++++++-----
 5 files changed, 228 insertions(+), 37 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java
index 7ae9603..dd18a9c 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java
@@ -775,19 +775,33 @@
                 String orgType = calibrationOrderService.findOrgType(productionCode);
                 if(ORG_TYPE_2.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getEquipmentTechnologyStatusList(area.getId(),"");
+                    if(area != null){
+                        list = calibrationOrderService.getEquipmentTechnologyStatusList(area.getId(),"");
+                    }
                 }else if(ORG_TYPE_3.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getEquipmentTechnologyStatusList("",area.getId());
+                    if(area != null){
+                        list = calibrationOrderService.getEquipmentTechnologyStatusList("",area.getId());
+                    }
                 }
             }
         }else if(USER_TYPE_3.equals(userType)){
             String code = calibrationOrderService.findProductionCode(user.getId());
             if(StringUtils.isBlank(productionCode)){
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                list = calibrationOrderService.getEquipmentTechnologyStatusList(area.getId(),"");
+                if(area != null){
+                    list = calibrationOrderService.getEquipmentTechnologyStatusList(area.getId(),"");
+                }
             }else{
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    list = calibrationOrderService.getEquipmentTechnologyStatusList("",area.getId());
+                }
+            }
+        }else if(USER_TYPE_2.equals(userType)){
+            String areaProductionCode = calibrationOrderService.findAreaProductionCode(user.getId());
+            Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, areaProductionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+            if(area != null){
                 list = calibrationOrderService.getEquipmentTechnologyStatusList("",area.getId());
             }
         }
@@ -810,19 +824,33 @@
                 String orgType = calibrationOrderService.findOrgType(productionCode);
                 if(ORG_TYPE_2.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getReportRepairEquipmentList(area.getId(),"");
+                    if(area != null){
+                        list = calibrationOrderService.getReportRepairEquipmentList(area.getId(),"");
+                    }
                 }else if(ORG_TYPE_3.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getReportRepairEquipmentList("",area.getId());
+                    if(area != null){
+                        list = calibrationOrderService.getReportRepairEquipmentList("",area.getId());
+                    }
                 }
             }
         }else if(USER_TYPE_3.equals(userType)){
             String code = calibrationOrderService.findProductionCode(user.getId());
             if(StringUtils.isBlank(productionCode)){
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                list = calibrationOrderService.getReportRepairEquipmentList(area.getId(),"");
+                if(area != null){
+                    list = calibrationOrderService.getReportRepairEquipmentList(area.getId(),"");
+                }
             }else{
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    list = calibrationOrderService.getReportRepairEquipmentList("",area.getId());
+                }
+            }
+        }else if(USER_TYPE_2.equals(userType)){
+            String areaProductionCode = calibrationOrderService.findAreaProductionCode(user.getId());
+            Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, areaProductionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+            if(area != null){
                 list = calibrationOrderService.getReportRepairEquipmentList("",area.getId());
             }
         }
@@ -835,13 +863,6 @@
      */
     @GetMapping("getThisMonthMaintenanceList")
     public Result<?> getThisMonthMaintenanceList(String productionCode) {
-//        List<Area> areaList = areaService.lambdaQuery().eq(Area::getNum, factoryNum).eq(Area::getDelFlag, 0).list();
-//        List<Map<String, Object>> list;
-//        if(areaList.size()>0){
-//            list = calibrationOrderService.getThisMonthMaintenanceList(areaList.get(0).getId());
-//        }else{
-//            list = null;
-//        }
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         Integer userType = user.getUserType();
         List<Map<String, Object>> list = null;
@@ -852,19 +873,33 @@
                 String orgType = calibrationOrderService.findOrgType(productionCode);
                 if(ORG_TYPE_2.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getThisMonthMaintenanceList(area.getId(),"");
+                    if(area != null){
+                        list = calibrationOrderService.getThisMonthMaintenanceList(area.getId(),"");
+                    }
                 }else if(ORG_TYPE_3.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getThisMonthMaintenanceList("",area.getId());
+                    if(area != null){
+                        list = calibrationOrderService.getThisMonthMaintenanceList("",area.getId());
+                    }
                 }
             }
         }else if(USER_TYPE_3.equals(userType)){
             String code = calibrationOrderService.findProductionCode(user.getId());
             if(StringUtils.isBlank(productionCode)){
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                list = calibrationOrderService.getThisMonthMaintenanceList(area.getId(),"");
+                if(area != null){
+                    list = calibrationOrderService.getThisMonthMaintenanceList(area.getId(),"");
+                }
             }else{
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    list = calibrationOrderService.getThisMonthMaintenanceList("",area.getId());
+                }
+            }
+        }else if(USER_TYPE_2.equals(userType)){
+            String areaProductionCode = calibrationOrderService.findAreaProductionCode(user.getId());
+            Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, areaProductionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+            if(area != null){
                 list = calibrationOrderService.getThisMonthMaintenanceList("",area.getId());
             }
         }
@@ -887,19 +922,33 @@
                 String orgType = calibrationOrderService.findOrgType(productionCode);
                 if(ORG_TYPE_2.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getNextMonthMaintenanceList(area.getId(),"");
+                    if(area != null){
+                        list = calibrationOrderService.getNextMonthMaintenanceList(area.getId(),"");
+                    }
                 }else if(ORG_TYPE_3.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getNextMonthMaintenanceList("",area.getId());
+                    if(area != null){
+                        list = calibrationOrderService.getNextMonthMaintenanceList("",area.getId());
+                    }
                 }
             }
         }else if(USER_TYPE_3.equals(userType)){
             String code = calibrationOrderService.findProductionCode(user.getId());
             if(StringUtils.isBlank(productionCode)){
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                list = calibrationOrderService.getNextMonthMaintenanceList(area.getId(),"");
+                if(area != null){
+                    list = calibrationOrderService.getNextMonthMaintenanceList(area.getId(),"");
+                }
             }else{
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    list = calibrationOrderService.getNextMonthMaintenanceList("",area.getId());
+                }
+            }
+        }else if(USER_TYPE_2.equals(userType)){
+            String areaProductionCode = calibrationOrderService.findAreaProductionCode(user.getId());
+            Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, areaProductionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+            if(area != null){
                 list = calibrationOrderService.getNextMonthMaintenanceList("",area.getId());
             }
         }
@@ -917,25 +966,39 @@
         List<Map<String, Object>> list = null;
         if(USER_TYPE_4.equals(userType)){
             if(StringUtils.isBlank(productionCode)){
-                list = calibrationOrderService.getFactoryNextMonthMaintenanceList();
+                list = calibrationOrderService.getFactoryNextNextMonthMaintenanceList();
             }else{
                 String orgType = calibrationOrderService.findOrgType(productionCode);
                 if(ORG_TYPE_2.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getNextMonthMaintenanceList(area.getId(),"");
+                    if(area != null){
+                        list = calibrationOrderService.getNextNextMonthMaintenanceList(area.getId(),"");
+                    }
                 }else if(ORG_TYPE_3.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getNextMonthMaintenanceList("",area.getId());
+                    if(area != null){
+                        list = calibrationOrderService.getNextNextMonthMaintenanceList("",area.getId());
+                    }
                 }
             }
         }else if(USER_TYPE_3.equals(userType)){
             String code = calibrationOrderService.findProductionCode(user.getId());
             if(StringUtils.isBlank(productionCode)){
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                list = calibrationOrderService.getNextMonthMaintenanceList(area.getId(),"");
+                if(area != null){
+                    list = calibrationOrderService.getNextNextMonthMaintenanceList(area.getId(),"");
+                }
             }else{
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
-                list = calibrationOrderService.getNextMonthMaintenanceList("",area.getId());
+                if(area != null){
+                    list = calibrationOrderService.getNextNextMonthMaintenanceList("",area.getId());
+                }
+            }
+        }else if(USER_TYPE_2.equals(userType)){
+            String areaProductionCode = calibrationOrderService.findAreaProductionCode(user.getId());
+            Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, areaProductionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+            if(area != null){
+                list = calibrationOrderService.getNextNextMonthMaintenanceList("",area.getId());
             }
         }
         return Result.ok(list);
@@ -957,19 +1020,33 @@
                 String orgType = calibrationOrderService.findOrgType(productionCode);
                 if(ORG_TYPE_2.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getThisMonthMaintenanceFinishList(area.getId(),"");
+                    if(area != null){
+                        list = calibrationOrderService.getThisMonthMaintenanceFinishList(area.getId(),"");
+                    }
                 }else if(ORG_TYPE_3.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
-                    list = calibrationOrderService.getThisMonthMaintenanceFinishList("",area.getId());
+                    if(area != null){
+                        list = calibrationOrderService.getThisMonthMaintenanceFinishList("",area.getId());
+                    }
                 }
             }
         }else if(USER_TYPE_3.equals(userType)){
             String code = calibrationOrderService.findProductionCode(user.getId());
             if(StringUtils.isBlank(productionCode)){
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
-                list = calibrationOrderService.getThisMonthMaintenanceFinishList(area.getId(),"");
+                if(area != null){
+                    list = calibrationOrderService.getThisMonthMaintenanceFinishList(area.getId(),"");
+                }
             }else{
                 Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    list = calibrationOrderService.getThisMonthMaintenanceFinishList("",area.getId());
+                }
+            }
+        }else if(USER_TYPE_2.equals(userType)){
+            String areaProductionCode = calibrationOrderService.findAreaProductionCode(user.getId());
+            Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, areaProductionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+            if(area != null){
                 list = calibrationOrderService.getThisMonthMaintenanceFinishList("",area.getId());
             }
         }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/CalibrationOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/CalibrationOrderMapper.java
index 0bc73b1..aef2081 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/CalibrationOrderMapper.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/CalibrationOrderMapper.java
@@ -30,6 +30,18 @@
     String findProductionCode(@Param("userId") String userId);
 
     /**
+     * 鑾峰彇褰撳墠鐧诲綍浜哄伐娈电骇瀵瑰簲鐨勭紪鐮�
+     * qsw 2024-3-18
+     */
+    String findAreaProductionCode(@Param("userId") String userId);
+
+    /**
+     * 閫氳繃褰撳墠鐧诲綍浜虹殑宸ユ缂栫爜  鑾峰垎鍘傜紪鐮�
+     * qsw 2024-3-18
+     */
+    String findSiteProductionCode(@Param("productionCode") String productionCode);
+
+    /**
      * 鏍规嵁妯″瀷浼犲叆鐨勭紪鐮�  鍒ゆ柇鏀圭紪鐮佸叕鍙�/涓績/宸ユ鐨勫摢涓�绾�
      * qsw 2024-3-18
      */
@@ -113,4 +125,12 @@
      */
     List<Map<String, Object>> getCenterTwoMaintenancePlanList(@Param("workCenterId")String workCenterId);
 
+
+    /**
+     *宸ユ涓� 浜岀骇淇濆吇璁″垝鏄庣粏
+     * qsw 2024-3-19
+     */
+    String findMaintenanceDate(@Param("workCenterId")String workCenterId);
+    List<Map<String, Object>> getAreTwoMaintenancePlanDetails(@Param("areaId")String areaId,@Param("maintenanceDate")String maintenanceDate);
+
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderMapper.xml
index 06f679e..aaaeb4b 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderMapper.xml
@@ -26,9 +26,21 @@
         select TOP 1 org_type as orgType from mdc_production where production_code = #{productionCode}
     </select>
 
+
+
     <!--鑾峰彇褰撳墠鐧诲綍浜烘槸涓績鍙婂搴旂殑缂栫爜-->
     <select id="findProductionCode" resultType="java.lang.String">
         SELECT top 1 t2.production_code  as productionCode FROM mdc_user_production t1 LEFT JOIN mdc_production t2 ON t1.pro_id = t2.id  where t1.user_id =#{userId} and t2.org_type = '2'
+    </select>
+
+    <!--鑾峰彇褰撳墠鐧诲綍浜烘槸涓績鍙婂搴旂殑缂栫爜-->
+    <select id="findAreaProductionCode" resultType="java.lang.String">
+        SELECT top 1 t2.production_code  as areaProductionCode FROM mdc_user_production t1 LEFT JOIN mdc_production t2 ON t1.pro_id = t2.id  where t1.user_id =#{userId} and t2.org_type = '3'
+    </select>
+
+    <!--閫氳繃褰撳墠鐧诲綍浜虹殑宸ユ缂栫爜  鑾峰垎鍘傜紪鐮�-->
+    <select id="findSiteProductionCode" resultType="java.lang.String">
+        select fa.production_code as siteProductionCode  from mdc_production son left join mdc_production fa on son.parent_id = fa.id where son.production_code =#{productionCode}
     </select>
 
     <select id="getFactoryEquipmentTechnologyStatusList"  parameterType="String" resultType="Map">
@@ -98,7 +110,7 @@
             top 1
 	        t1.id,
             t5.name centerName,
-            SUBSTRING(CONVERT(VARCHAR(10),t1.plan_start_time, 120), 1, 10) maintenanceDate,
+            SUBSTRING(CONVERT(VARCHAR(10),t1.plan_start_time, 120), 1, 7) maintenanceDate,
             '浜岀骇淇濆吇' as content
         FROM
             mom_eam_equipment_maintenance_plan_detail t1
@@ -109,5 +121,32 @@
         where t5.id = #{workCenterId} ORDER BY t1.plan_start_time desc
     </select>
 
+    <select id="findMaintenanceDate"  parameterType="String" resultType="java.lang.String">
+        SELECT
+            top 1
+            SUBSTRING(CONVERT(VARCHAR(10),t1.plan_start_time, 120), 1, 7) maintenanceDate
+        FROM
+            mom_eam_equipment_maintenance_plan_detail t1
+            left join mom_eam_maintenance_standard t3 on t1.standard_id = t3.id
+            left join mom_eam_equipment t4 on t3.equipment_id = t4.id
+            left join mom_base_area t5 on t4.work_center_id = t5.id
+        where t5.id = #{workCenterId} ORDER BY t1.plan_start_time desc
+    </select>
+
+    <!--  宸ユ涓� 浜岀骇淇濆吇璁″垝鏄庣粏  -->
+    <select id="getAreTwoMaintenancePlanDetails"  parameterType="String" resultType="Map">
+        SELECT
+            t1.id,
+            t4.num,
+            t4.name,
+            t4.model,
+            t4.specification
+        FROM
+            mom_eam_equipment_maintenance_plan_detail t1
+            LEFT JOIN mom_eam_maintenance_standard t3 ON t1.standard_id = t3.id
+            LEFT JOIN mom_eam_equipment t4 ON t3.equipment_id = t4.id
+        where t4.area_id = #{areaId} and SUBSTRING(CONVERT(VARCHAR(10), t1.plan_start_time, 120), 1, 7) = #{maintenanceDate}
+    </select>
+
 
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ICalibrationOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ICalibrationOrderService.java
index f8437a5..6cdb187 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ICalibrationOrderService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ICalibrationOrderService.java
@@ -64,6 +64,13 @@
     String findProductionCode(String userId);
 
     /**
+     * 鏍规嵁妯″瀷浼犲叆鐨勭紪鐮�  鍒ゆ柇鏀圭紪鐮佸叕鍙�/涓績/宸ユ鐨勫摢涓�绾�
+     * 鑾峰彇褰撳墠鐧诲綍浜哄伐娈电骇瀵瑰簲鐨勭紪鐮�
+     * qsw 2024-3-18
+     */
+    String findAreaProductionCode(String userId);
+
+    /**
      * 璁惧妫�瀹氬伐鍗� 鍒涘缓鏃堕�氳繃璁惧鑾峰彇璁惧绮惧害鍙傛暟
      * qsw 2023-7-18
      */
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java
index b5d72fa..14043df 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java
@@ -129,6 +129,16 @@
     }
 
     /**
+     * 鏍规嵁妯″瀷浼犲叆鐨勭紪鐮�  鍒ゆ柇鏀圭紪鐮佸叕鍙�/涓績/宸ユ鐨勫摢涓�绾�
+     * 鑾峰彇褰撳墠鐧诲綍浜哄伐娈电骇瀵瑰簲鐨勭紪鐮�
+     * qsw 2024-3-18
+     */
+    @Override
+    public String findAreaProductionCode(String userId) {
+        return this.baseMapper.findAreaProductionCode(userId);
+    }
+
+    /**
      * 璁惧妫�瀹氬伐鍗� 鍒涘缓鏃堕�氳繃璁惧鑾峰彇璁惧绮惧害鍙傛暟
      * qsw 2023-7-18
      */
@@ -252,6 +262,7 @@
      */
     @Override
     public List<Map<String, Object>> getTwoMaintenancePlanList(String productionCode) {
+        Boolean flag = true;
         List<Map<String, Object>> list = new ArrayList<>();
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         Integer userType = user.getUserType();
@@ -264,18 +275,55 @@
                 if(ORG_TYPE_2.equals(orgType)){
                     Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
                     areaList = areaService.lambdaQuery().eq(Area::getType, "1").eq(Area::getId,area.getId()).eq(Area::getDelFlag, "0").list();
+                } else if(ORG_TYPE_3.equals(orgType)){
+                    //宸ユ绾х洿鎺ユ樉绀哄伐娈典笅瑕佷繚鍏荤殑璁惧鏄庣粏
+                    flag = false;
+                    String siteProductionCode = this.baseMapper.findSiteProductionCode(productionCode);
+                    Area areaOne = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, siteProductionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
+                    Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                    if(areaOne != null && area != null){
+                        String maintenanceDate = this.baseMapper.findMaintenanceDate(areaOne.getId());
+                        list = this.baseMapper.getAreTwoMaintenancePlanDetails(area.getId(), maintenanceDate);
+                    }
                 }
-//                else if(ORG_TYPE_3.equals(orgType)){
-//                    Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
-//                    list = calibrationOrderService.getThisMonthMaintenanceFinishList("",area.getId());
-//                }
+            }
+        }else if(USER_TYPE_3.equals(userType)){
+            String code = this.baseMapper.findProductionCode(user.getId());
+            Area area = null;
+            if(StringUtils.isBlank(productionCode)){
+                area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    areaList = areaService.lambdaQuery().eq(Area::getType, "1").eq(Area::getId,area.getId()).eq(Area::getDelFlag, "0").list();
+                }
+            }else{
+                //宸ユ绾х洿鎺ユ樉绀哄伐娈典笅瑕佷繚鍏荤殑璁惧鏄庣粏
+                flag = false;
+                Area areaOne = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
+                area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(areaOne != null && area != null){
+                    String maintenanceDate = this.baseMapper.findMaintenanceDate(areaOne.getId());
+                    list = this.baseMapper.getAreTwoMaintenancePlanDetails(area.getId(), maintenanceDate);
+                }
+            }
+        }else if(USER_TYPE_2.equals(userType)){
+            //宸ユ绾х洿鎺ユ樉绀哄伐娈典笅瑕佷繚鍏荤殑璁惧鏄庣粏
+            flag = false;
+            String areaProductionCode = this.baseMapper.findAreaProductionCode(user.getId());
+            String code = this.baseMapper.findSiteProductionCode(productionCode);
+            Area areaOne = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
+            Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, areaProductionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+            if(areaOne != null && area != null){
+                String maintenanceDate = this.baseMapper.findMaintenanceDate(areaOne.getId());
+                list = this.baseMapper.getAreTwoMaintenancePlanDetails(area.getId(), maintenanceDate);
             }
         }
-        for (Area area : areaList) {
-            String id = area.getId();
-            List<Map<String, Object>> centerTwoMaintenancePlanList = this.baseMapper.getCenterTwoMaintenancePlanList(id);
-            if(centerTwoMaintenancePlanList.size()>0){
-                list.add(centerTwoMaintenancePlanList.get(0));
+        if(flag == true){
+            for (Area area : areaList) {
+                String id = area.getId();
+                List<Map<String, Object>> centerTwoMaintenancePlanList = this.baseMapper.getCenterTwoMaintenancePlanList(id);
+                if(centerTwoMaintenancePlanList.size()>0){
+                    list.add(centerTwoMaintenancePlanList.get(0));
+                }
             }
         }
         return list;

--
Gitblit v1.9.3