From 1a2258c4eca2e7514b6096004fa1c3e0036b402b Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期四, 28 三月 2024 14:04:24 +0800
Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/mdc_430 into develop

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java |  121 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 110 insertions(+), 11 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 6cc9e33..13ad3d5 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
@@ -1,6 +1,8 @@
 package org.jeecg.modules.eam.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
@@ -32,6 +34,22 @@
  */
 @Service
 public class CalibrationOrderServiceImpl extends ServiceImpl<CalibrationOrderMapper, CalibrationOrder> implements ICalibrationOrderService {
+
+
+    /**
+     * 鐢ㄦ埛绫诲瀷(1 鏅�氭垚鍛� 2 宸ユ 3 鍒嗗巶/涓績 4 鍏徃锛�
+     */
+    private static final Integer USER_TYPE_1 = 1;
+    private static final Integer USER_TYPE_2 = 2;
+    private static final Integer USER_TYPE_3 = 3;
+    private static final Integer USER_TYPE_4 = 4;
+
+    /**
+     * 杞﹂棿灞傜骇绫诲瀷(1 鍏徃 2 鍒嗗巶銆佷腑蹇� 3 宸ユ锛�
+     */
+    private static final String ORG_TYPE_1 = "1";
+    private static final String ORG_TYPE_2 = "2";
+    private static final String ORG_TYPE_3 = "3";
 
     @Autowired
     private CalibrationOrderMapper calibrationOrderMapper;
@@ -108,6 +126,16 @@
     @Override
     public String findProductionCode(String userId) {
         return this.baseMapper.findProductionCode(userId);
+    }
+
+    /**
+     * 鏍规嵁妯″瀷浼犲叆鐨勭紪鐮�  鍒ゆ柇鏀圭紪鐮佸叕鍙�/涓績/宸ユ鐨勫摢涓�绾�
+     * 鑾峰彇褰撳墠鐧诲綍浜哄伐娈电骇瀵瑰簲鐨勭紪鐮�
+     * qsw 2024-3-18
+     */
+    @Override
+    public String findAreaProductionCode(String userId) {
+        return this.baseMapper.findAreaProductionCode(userId);
     }
 
     /**
@@ -229,22 +257,93 @@
     }
 
     /**
+     *宸ユ绾� 鏈湀涓変繚寤舵湡鏁伴噺
+     * qsw 2024-3-20
+     */
+    @Override
+    public List<Map<String, Object>> get3MaintenancePostponeCount(String areaId) {
+        return this.baseMapper.get3MaintenancePostponeCount(areaId);
+    }
+
+    /**
+     *宸ユ绾� 鏈湀涓変繚瓒呮湡鏁伴噺
+     * qsw 2024-3-20
+     */
+    @Override
+    public List<Map<String, Object>> get3MaintenanceOverdueCount(String areaId) {
+        return this.baseMapper.get3MaintenanceOverdueCount(areaId);
+    }
+
+    /**
      *棣栭〉浜屼繚璁″垝灞曠ず
      * qsw 2024-3-15
      */
     @Override
-    public List<Map<String, Object>> getTwoMaintenancePlanList() {
-        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-
-        List<Area> areaList = areaService.lambdaQuery().eq(Area::getType, "1").eq(Area::getDelFlag, "0").list();
-        List<Map<String, Object>> arrayList = new ArrayList<>();
-        for (Area area : areaList) {
-            String id = area.getId();
-            List<Map<String, Object>> centerTwoMaintenancePlanList = this.baseMapper.getCenterTwoMaintenancePlanList(id);
-            if(centerTwoMaintenancePlanList.size()>0){
-                arrayList.add(centerTwoMaintenancePlanList.get(0));
+    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();
+        List<Area> areaList = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                areaList = areaService.lambdaQuery().eq(Area::getType, "1").eq(Area::getDelFlag, "0").list();
+            }else{
+                String orgType = this.baseMapper.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));
+                    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(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);
             }
         }
-        return null;
+        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