From ed48aa9f30a87c528f071d06bf6b59d7d15428e9 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期一, 26 五月 2025 16:12:55 +0800
Subject: [PATCH] 点检报表后端

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java |  269 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 257 insertions(+), 12 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 37ac0f2..ba0272d 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,11 +1,21 @@
 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.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.eam.entity.Area;
 import org.jeecg.modules.eam.entity.CalibrationOrder;
 import org.jeecg.modules.eam.entity.CalibrationOrderDetail;
+import org.jeecg.modules.eam.entity.Equipment;
 import org.jeecg.modules.eam.mapper.CalibrationOrderDetailMapper;
 import org.jeecg.modules.eam.mapper.CalibrationOrderMapper;
 import org.jeecg.modules.eam.model.MaintenanceCycleVo;
+import org.jeecg.modules.eam.service.IAreaService;
 import org.jeecg.modules.eam.service.ICalibrationOrderService;
 import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +23,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -26,10 +37,29 @@
 @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;
     @Autowired
     private CalibrationOrderDetailMapper calibrationOrderDetailMapper;
+
+    @Autowired
+    private IAreaService areaService;
 
 
     @Override
@@ -81,6 +111,35 @@
     }
 
     //qsw 2023-7-18================================================================================
+
+    /**
+     * 鏍规嵁妯″瀷浼犲叆鐨勭紪鐮�  鍒ゆ柇鏀圭紪鐮佸叕鍙�/涓績/宸ユ鐨勫摢涓�绾�
+     * qsw 2024-3-18
+     */
+    @Override
+    public String findOrgType(String productionCode) {
+        return this.baseMapper.findOrgType(productionCode);
+    }
+
+    /**
+     * 鑾峰彇褰撳墠鐧诲綍浜烘槸涓績鍙婂搴旂殑缂栫爜
+     * qsw 2024-3-18
+     */
+    @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);
+    }
+
     /**
      * 璁惧妫�瀹氬伐鍗� 鍒涘缓鏃堕�氳繃璁惧鑾峰彇璁惧绮惧害鍙傛暟
      * qsw 2023-7-18
@@ -150,8 +209,18 @@
      * qsw 2024-3-13
      */
     @Override
-    public List<Map<String, Object>> getEquipmentTechnologyStatusList(String factoryModelId) {
-        return this.baseMapper.getEquipmentTechnologyStatusList(factoryModelId);
+    public List<Map<String, Object>> getEquipmentTechnologyStatusList(String workCenterId,String areaId) {
+        return this.baseMapper.getEquipmentTechnologyStatusList(workCenterId,areaId);
+    }
+
+    /**
+     *棣栭〉 鎶�鏈姸鎬佺偣鍑诲脊鍑哄搴旀槑缁�
+     * qsw 2024-5-25
+     */
+    @Override
+    public IPage<Map<String, Object>> getEquipmentByTechnologyStatus(Integer pageNo, Integer pageSize,String workCenterId, String areaId,String technologyStatus) {
+        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
+        return this.baseMapper.getEquipmentByTechnologyStatus(pageData,workCenterId,areaId,technologyStatus);
     }
 
     /**
@@ -159,8 +228,18 @@
      * qsw 2024-3-13
      */
     @Override
-    public List<Map<String, Object>> getReportRepairEquipmentList(String factoryModelId) {
-        return this.baseMapper.getReportRepairEquipmentList(factoryModelId);
+    public List<Map<String, Object>> getReportRepairEquipmentList(String workCenterId,String areaId) {
+        return this.baseMapper.getReportRepairEquipmentList(workCenterId,areaId);
+    }
+
+    /**
+     *棣栭〉 璁惧鎶ヤ慨鎯呭喌缁熻鏄庣粏灞曠ず
+     * qsw 2024-5-25
+     */
+    @Override
+    public IPage<Map<String, Object>> getEquipmentByReportRepair(Integer pageNo, Integer pageSize, String workCenterId, String areaId, String isStop) {
+        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
+        return this.baseMapper.getEquipmentByReportRepair(pageData,workCenterId,areaId,isStop);
     }
 
     /**
@@ -168,8 +247,18 @@
      * qsw 2024-3-14
      */
     @Override
-    public List<Map<String, Object>> getThisMonthMaintenanceList(String factoryModelId) {
-        return this.baseMapper.getThisMonthMaintenanceList(factoryModelId);
+    public List<Map<String, Object>> getThisMonthMaintenanceList(String workCenterId,String areaId) {
+        return this.baseMapper.getThisMonthMaintenanceList(workCenterId,areaId);
+    }
+
+    /**
+     *棣栭〉鏈湀涓変繚璁″垝鏄庣粏
+     * qsw 2024-3-14
+     */
+    @Override
+    public IPage<Map<String, Object>> showThisMonthMaintenanceList(Integer pageNo, Integer pageSize, String workCenterId, String areaId) {
+        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
+        return this.baseMapper.showThisMonthMaintenanceList(pageData,workCenterId,areaId);
     }
 
     /**
@@ -177,8 +266,18 @@
      * qsw 2024-3-14
      */
     @Override
-    public List<Map<String, Object>> getNextMonthMaintenanceList(String factoryModelId) {
-        return this.baseMapper.getNextMonthMaintenanceList(factoryModelId);
+    public List<Map<String, Object>> getNextMonthMaintenanceList(String workCenterId,String areaId) {
+        return this.baseMapper.getNextMonthMaintenanceList(workCenterId,areaId);
+    }
+
+    /**
+     *棣栭〉涓嬫湀涓変繚璁″垝鏄庣粏灞曠ず
+     * qsw 2024-3-14
+     */
+    @Override
+    public IPage<Map<String, Object>> showNextMonthMaintenanceList(Integer pageNo, Integer pageSize, String workCenterId, String areaId) {
+        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
+        return this.baseMapper.showNextMonthMaintenanceList(pageData,workCenterId,areaId);
     }
 
     /**
@@ -186,8 +285,18 @@
      * qsw 2024-3-14
      */
     @Override
-    public List<Map<String, Object>> getNextNextMonthMaintenanceList(String factoryModelId) {
-        return this.baseMapper.getNextNextMonthMaintenanceList(factoryModelId);
+    public List<Map<String, Object>> getNextNextMonthMaintenanceList(String workCenterId,String areaId) {
+        return this.baseMapper.getNextNextMonthMaintenanceList(workCenterId,areaId);
+    }
+
+    /**
+     *棣栭〉锛堜簩绾ч〉闈級涓嬩笅鏈堜笁淇濊鍒掓槑缁�
+     * qsw 2024-3-14
+     */
+    @Override
+    public IPage<Map<String, Object>> showNextNextMonthMaintenanceList(Integer pageNo, Integer pageSize, String workCenterId, String areaId) {
+        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
+        return this.baseMapper.showNextNextMonthMaintenanceList(pageData,workCenterId,areaId);
     }
 
     /**
@@ -195,7 +304,143 @@
      * qsw 2024-3-14
      */
     @Override
-    public List<Map<String, Object>> getThisMonthMaintenanceFinishList(String factoryModelId) {
-        return this.baseMapper.getThisMonthMaintenanceFinishList(factoryModelId);
+    public List<Map<String, Object>> getThisMonthMaintenanceFinishList(String workCenterId,String areaId) {
+        return this.baseMapper.getThisMonthMaintenanceFinishList(workCenterId,areaId);
+    }
+
+    @Override
+    public IPage<Map<String, Object>> showThisMonthMaintenanceFinishList(Integer pageNo, Integer pageSize, String workCenterId, String areaId) {
+        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
+        return this.baseMapper.showThisMonthMaintenanceFinishList(pageData,workCenterId,areaId);
+    }
+
+    /**
+     *宸ユ绾� 鏈湀涓変繚寤舵湡鏁伴噺
+     * qsw 2024-3-20
+     */
+    @Override
+    public List<Map<String, Object>> get3MaintenancePostponeCount(String areaId) {
+        return this.baseMapper.get3MaintenancePostponeCount(areaId);
+    }
+
+    @Override
+    public IPage<Map<String, Object>> show3MaintenancePostponeCount(Integer pageNo, Integer pageSize, String areaId) {
+        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
+        return this.baseMapper.show3MaintenancePostponeCount(pageData,areaId);
+    }
+
+    /**
+     *宸ユ绾� 鏈湀涓変繚瓒呮湡鏁伴噺
+     * qsw 2024-3-20
+     */
+    @Override
+    public List<Map<String, Object>> get3MaintenanceOverdueCount(String areaId) {
+        return this.baseMapper.get3MaintenanceOverdueCount(areaId);
+    }
+
+    /**
+     * 宸ユ绾� 涓変繚瓒呮湡鏁伴噺鏄庣粏
+     * qsw 2024-3-20
+     */
+    @Override
+    public IPage<Map<String, Object>> show3MaintenanceOverdueCount(Integer pageNo, Integer pageSize, String areaId) {
+        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
+        return this.baseMapper.show3MaintenanceOverdueCount(pageData,areaId);
+    }
+
+    /**
+     *棣栭〉浜屼繚璁″垝灞曠ず
+     * qsw 2024-3-15
+     */
+    @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();
+        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);
+            }
+        }
+        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;
+    }
+
+    @Override
+    public List<Map<String, Object>> getAreaEquipmentList(String equipmentNum, String areaId,List<String> equipmentIds) {
+        return this.baseMapper.getAreaEquipmentList(equipmentNum,areaId,equipmentIds);
+    }
+
+    /**
+     *棣栭〉  绗洓绾�  瀵瑰簲宸ュ尯涓嬶紝璁惧鍙拌处淇℃伅灞曠ず锛�
+     * qsw 2024-4-22
+     */
+    @Override
+    public List<Map<String, Object>> getOperationCertificate(String username) {
+        return this.baseMapper.getOperationCertificate(username);
+    }
+
+    /**
+     *棣栭〉  绗洓绾�  瀵瑰簲宸ュ尯涓嬶紝璁惧鍙拌处淇℃伅灞曠ず锛�
+     * qsw 2024-4-22
+     */
+    @Override
+    public List<Map<String, Object>> getEquipmentReportRepairCount(String equipmentId) {
+        return this.baseMapper.getEquipmentReportRepairCount(equipmentId);
     }
 }

--
Gitblit v1.9.3