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/impl/CalibrationOrderServiceImpl.java |   66 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 9 deletions(-)

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