From 9de1d40d3a61ce166c63a2c07d02d89bf8bdabd0 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期五, 07 三月 2025 16:16:18 +0800
Subject: [PATCH] art: 选择设备查询逻辑修改, 点检工单新增时产线逻辑修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java | 1086 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 1,039 insertions(+), 47 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 a604a67..79650b8 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
@@ -3,6 +3,8 @@
 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.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import io.swagger.annotations.Api;
@@ -21,14 +23,12 @@
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.eam.entity.*;
-import org.jeecg.modules.eam.service.ICalibrationOrderDetailService;
-import org.jeecg.modules.eam.service.ICalibrationOrderReportService;
-import org.jeecg.modules.eam.service.ICalibrationOrderService;
-import org.jeecg.modules.eam.service.IEamEquipmentService;
+import org.jeecg.modules.eam.service.*;
 import org.jeecg.modules.eam.vo.CalibrationOrderPage;
-
-//import org.jeecg.modules.system.service.IUploadRelaService;
-//import org.jeecg.modules.system.service.IUploadService;
+import org.jeecg.modules.eam.vo.SysFileNameVo;
+import org.jeecg.modules.system.entity.MdcProduction;
+import org.jeecg.modules.system.entity.SysDepart;
+import org.jeecg.modules.system.service.ISysDepartService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -45,6 +45,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.time.LocalDate;
+import java.time.ZoneId;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
@@ -60,6 +62,25 @@
 @RequestMapping("/eam/calibrationOrder")
 @Slf4j
 public class CalibrationOrderController {
+
+    /**
+     * 鐢ㄦ埛绫诲瀷(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 ICalibrationOrderService calibrationOrderService;
     @Autowired
@@ -69,12 +90,27 @@
     private ICalibrationOrderReportService calibrationOrderReportService;
     @Autowired
     private IEamEquipmentService equipmentService;
+
+    @Autowired
+    private IPrecisionParametersTemplateDetailService precisionParametersTemplateDetailService;
+
+    @Autowired
+    private ITechnologyStatusService technologyStatusService;
+
+    @Autowired
+    private ISysFileNameService sysFileNameService;
+
+    @Autowired
+    private ISysDepartService sysDepartService;
 //    @Autowired
 //    private IUploadRelaService uploadRelaService;
 //    @Autowired
 //    private IUploadService uploadService;
 
     private ISysBaseAPI  sysBaseApi;
+
+    @Autowired
+    private IAreaService areaService;
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
      *
@@ -449,6 +485,13 @@
                                                     @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                                     HttpServletRequest req) {
         QueryWrapper<CalibrationOrder> queryWrapper = QueryGenerator.initQueryWrapper(calibrationOrder, req.getParameterMap());
+        //鐘舵�佺瓫閫�
+        List<String> statusEnumList = null;
+        if(StringUtils.isNotBlank(calibrationOrder.getStatusEnums())) {
+            String[] statusEnums = calibrationOrder.getStatusEnums().split(",");
+            statusEnumList = Arrays.asList(statusEnums);
+            queryWrapper.notIn("status", statusEnumList);
+        }
         Page<CalibrationOrder> page = new Page<CalibrationOrder>(pageNo, pageSize);
         IPage<CalibrationOrder> pageList = calibrationOrderService.page(page, queryWrapper);
         for (CalibrationOrder record : pageList.getRecords()) {
@@ -457,37 +500,41 @@
             String managementMode = record.getManagementMode();
             String equipmentId = record.getEquipmentId();
             Equipment equipment = equipmentService.getById(equipmentId);
+            String useId = equipment.getUseId();
+            SysDepart depart = sysDepartService.getById(useId);
             if(equipment != null){
                 record.setEquipmentNum(equipment.getNum());
                 record.setEquipmentName(equipment.getName());
                 record.setEquipmentModel(equipment.getModel());
                 record.setEquipmentSpecification(equipment.getSpecification());
+                record.setEquipmentImportance(equipment.getEquipmentImportanceId());
+                record.setUseDepartName(ObjectUtils.isNotNull(depart)?depart.getDepartName():"");
             }
-            List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(equipmentId);
-            record.setPrecisionParameterList(precisionParameterList);
-            if("4".equals(status)){
-                if("data".equals(managementMode)){
-                    List<CalibrationOrderDetail> calibrationOrderDetails = calibrationOrderDetailService.lambdaQuery()
-                            .eq(CalibrationOrderDetail::getCalibrationOrderId, id)
-                            .eq(CalibrationOrderDetail::getJudgmentResult, "fail")
-                            .eq(CalibrationOrderDetail::getDelFlag,"0").list();
-                    if(calibrationOrderDetails.size()>0){
-                        record.setCalibrationResult("寮傚父");
-                    }else{
-                        record.setCalibrationResult("姝e父");
-                    }
-                }else{
-                    List<CalibrationOrderReport> calibrationOrderReports = calibrationOrderReportService.lambdaQuery()
-                            .eq(CalibrationOrderReport::getCalibrationOrderId, id)
-                            .eq(CalibrationOrderReport::getJudgmentResult, "fail")
-                            .eq(CalibrationOrderReport::getDelFlag, "0").list();
-                    if(calibrationOrderReports.size()>0){
-                        record.setCalibrationResult("寮傚父");
-                    }else{
-                        record.setCalibrationResult("姝e父");
-                    }
-                }
-            }
+//            List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(equipmentId);
+//            record.setPrecisionParameterList(precisionParameterList);
+//            if("4".equals(status)){
+//                if("data".equals(managementMode)){
+//                    List<CalibrationOrderDetail> calibrationOrderDetails = calibrationOrderDetailService.lambdaQuery()
+//                            .eq(CalibrationOrderDetail::getCalibrationOrderId, id)
+//                            .eq(CalibrationOrderDetail::getJudgmentResult, "fail")
+//                            .eq(CalibrationOrderDetail::getDelFlag,"0").list();
+//                    if(calibrationOrderDetails.size()>0){
+//                        record.setCalibrationResult("寮傚父");
+//                    }else{
+//                        record.setCalibrationResult("姝e父");
+//                    }
+//                }else{
+//                    List<CalibrationOrderReport> calibrationOrderReports = calibrationOrderReportService.lambdaQuery()
+//                            .eq(CalibrationOrderReport::getCalibrationOrderId, id)
+//                            .eq(CalibrationOrderReport::getJudgmentResult, "fail")
+//                            .eq(CalibrationOrderReport::getDelFlag, "0").list();
+//                    if(calibrationOrderReports.size()>0){
+//                        record.setCalibrationResult("寮傚父");
+//                    }else{
+//                        record.setCalibrationResult("姝e父");
+//                    }
+//                }
+//            }
         }
         return Result.OK(pageList);
     }
@@ -502,16 +549,24 @@
         for (CalibrationOrderDetail calibrationOrderDetail : calibrationOrderDetails) {
             calibrationOrderDetailService.removeById(calibrationOrderDetail);
         }
-        List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(calibrationOrder.getEquipmentId());
-        CalibrationOrderDetail calibrationOrderDetail = null;
-        for (Map<String, Object> map : precisionParameterList) {
-            calibrationOrderDetail = new CalibrationOrderDetail();
+//        addAndEdit(calibrationOrder);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    private void addAndEdit(@RequestBody CalibrationOrder calibrationOrder) {
+        String precisionParametersTemplateId = calibrationOrder.getCalibrationOrderUda1();
+        List<PrecisionParametersTemplateDetail> precisionParametersTemplateDetails = precisionParametersTemplateDetailService
+                .list(new QueryWrapper<PrecisionParametersTemplateDetail>()
+                        .eq("precision_parameters_template_id",precisionParametersTemplateId)
+                        .eq("del_flag",0));
+        for (PrecisionParametersTemplateDetail precisionParametersTemplateDetail : precisionParametersTemplateDetails) {
+            CalibrationOrderDetail calibrationOrderDetail = new CalibrationOrderDetail();
             calibrationOrderDetail.setCalibrationOrderId(calibrationOrder.getId());
-            calibrationOrderDetail.setEquipmentPrecisionParametersId((String)map.get("id"));
-            calibrationOrderDetail.setPrecisionParametersId((String)map.get("precisionParametersId"));
+            calibrationOrderDetail.setCalibrationOrderDetailUda1(precisionParametersTemplateDetail.getId());
+            calibrationOrderDetail.setPrecisionParametersId(precisionParametersTemplateDetail.getPrecisionParametersId());
+            calibrationOrderDetail.setSort(precisionParametersTemplateDetail.getSort());
             calibrationOrderDetailService.save(calibrationOrderDetail);
         }
-        return Result.OK("缂栬緫鎴愬姛!");
     }
 
     /**
@@ -523,16 +578,24 @@
     public Result<String> addNew(@RequestBody CalibrationOrder calibrationOrder) {
         calibrationOrder.setStatus("1");
         calibrationOrderService.save(calibrationOrder);
-        List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(calibrationOrder.getEquipmentId());
-        CalibrationOrderDetail calibrationOrderDetail = null;
-        for (Map<String, Object> map : precisionParameterList) {
-            calibrationOrderDetail = new CalibrationOrderDetail();
-            calibrationOrderDetail.setCalibrationOrderId(calibrationOrder.getId());
-            calibrationOrderDetail.setEquipmentPrecisionParametersId((String)map.get("id"));
-            calibrationOrderDetail.setPrecisionParametersId((String)map.get("precisionParametersId"));
-            calibrationOrderDetailService.save(calibrationOrderDetail);
+
+        String equipmentId = calibrationOrder.getEquipmentId();
+        Equipment equipment = equipmentService.getById(equipmentId);
+        String equipmentImportance = equipment.getEquipmentImportanceId();
+        if("D".equals(equipmentImportance)){
+            this.createTechnologyStatus(calibrationOrder);
         }
+
+//        addAndEdit(calibrationOrder);
         return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    void createTechnologyStatus(CalibrationOrder calibrationOrder){
+        List<SysFileNameVo> sysFileName = sysFileNameService.getSysFileName("9");
+        TechnologyStatus technologyStatus = new TechnologyStatus();
+        technologyStatus.setOrderId(calibrationOrder.getId());
+        technologyStatus.setReceipts(sysFileName.get(0).getReceipts());
+        technologyStatusService.save(technologyStatus);
     }
 
     /**
@@ -598,4 +661,933 @@
         calibrationOrderService.removeById(id);
         return Result.OK("鍒犻櫎鎴愬姛!");
     }
+    @GetMapping(value = "/listByMainId")
+    public Result<IPage<CalibrationOrderDetail>> listByMainId(CalibrationOrderDetail calibrationOrderDetail,
+                                                                                                    @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                                                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                                                                    HttpServletRequest req) {
+        QueryWrapper<CalibrationOrderDetail> queryWrapper = QueryGenerator.initQueryWrapper(calibrationOrderDetail, req.getParameterMap());
+        Page<CalibrationOrderDetail> page = new Page<CalibrationOrderDetail>(pageNo, pageSize);
+        IPage<CalibrationOrderDetail> pageList = calibrationOrderDetailService.pageList(page,calibrationOrderDetail.getCalibrationOrderId());
+        return Result.OK(pageList);
+    }
+    @RequestMapping(value = "/saveFinal", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> saveFinal(@RequestBody CalibrationOrder calibrationOrder) {
+        calibrationOrder.setCalibrationTime(new Date());
+        calibrationOrder.setStatus("5");
+        if(StringUtils.isNotBlank(calibrationOrder.getEquipmentId())){
+            String equipmentId = calibrationOrder.getEquipmentId();
+            Equipment equipment = equipmentService.getById(equipmentId);
+            if(ObjectUtils.isNotNull(equipment)){
+                LocalDate currentDate = LocalDate.now();
+                // 娣诲姞缁存姢鍛ㄦ湡鐨勬棩鏈�
+                String checkPeriod = equipment.getCheckPeriod();
+                if(StringUtils.isNotBlank(checkPeriod)){
+                    LocalDate dateAfter30Days = currentDate.plusDays(Integer.parseInt(checkPeriod));
+                    Date result = Date.from(dateAfter30Days.atStartOfDay(ZoneId.systemDefault()).toInstant());
+                    equipment.setTechnologyStatus(calibrationOrder.getCalibrationOrderUda6());
+                    equipment.setTechnologyStatusQualificationTime(new Date());
+                    equipment.setNextTechnologyStatusQualificationTime(result);
+                }else {
+                    return Result.error("璇ヨ澶囧皻鏈淮鎶ゆ瀹氬懆鏈燂紝璇峰厛缁存姢妫�瀹氬懆鏈�");
+                }
+
+                // 杞崲涓簀ava.util.Date
+                equipmentService.updateById(equipment);
+            }
+
+
+        }
+        calibrationOrderService.updateById(calibrationOrder);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     *棣栭〉鍏徃绾� 鎶�鏈姸鎬佹暟閲忕粺璁�
+     * qsw 2024-3-13
+     */
+    @GetMapping("getFactoryEquipmentTechnologyStatusList")
+    public Result<?> getFactoryEquipmentTechnologyStatusList() {
+        List<Map<String, Object>> list = calibrationOrderService.getFactoryEquipmentTechnologyStatusList();
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉鍏徃绾� 璁惧鎶ヤ慨鎯呭喌缁熻
+     * qsw 2024-3-13
+     */
+    @GetMapping("getFactoryReportRepairEquipmentList")
+    public Result<?> getFactoryReportRepairEquipmentList() {
+        List<Map<String, Object>> list = calibrationOrderService.getFactoryReportRepairEquipmentList();
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉鍏徃绾� 鏈湀涓変繚璁″垝
+     * qsw 2024-3-14
+     */
+    @GetMapping("getFactoryThisMonthMaintenanceList")
+    public Result<?> getFactoryThisMonthMaintenanceList() {
+        List<Map<String, Object>> list = calibrationOrderService.getFactoryThisMonthMaintenanceList();
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉鍏徃绾� 涓嬫湀涓変繚璁″垝
+     * qsw 2024-3-14
+     */
+    @GetMapping("getFactoryNextMonthMaintenanceList")
+    public Result<?> getFactoryNextMonthMaintenanceList() {
+        List<Map<String, Object>> list = calibrationOrderService.getFactoryNextMonthMaintenanceList();
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉鍏徃绾� 鏈湀涓変繚瀹屾垚鏁伴噺
+     * qsw 2024-3-14
+     */
+    @GetMapping("getFactoryThisMonthMaintenanceFinishList")
+    public Result<?> getFactoryThisMonthMaintenanceFinishList() {
+        List<Map<String, Object>> list = calibrationOrderService.getFactoryThisMonthMaintenanceFinishList();
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉鍏徃绾� 涓嬩笅鏈堜笁淇濊鍒�
+     * qsw 2024-3-14
+     */
+    @GetMapping("getFactoryNextNextMonthMaintenanceList")
+    public Result<?> getFactoryNextNextMonthMaintenanceList() {
+        List<Map<String, Object>> list = calibrationOrderService.getFactoryNextNextMonthMaintenanceList();
+        return Result.ok(list);
+    }
+
+
+
+
+    /**
+     *棣栭〉锛堜簩绾ч〉闈級鎶�鏈姸鎬佹暟閲忕粺璁�
+     * qsw 2024-3-13
+     */
+    @GetMapping("getEquipmentTechnologyStatusList")
+    public Result<?> getEquipmentTechnologyStatusList(String productionCode) {
+
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        List<Map<String, Object>> list = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                list = calibrationOrderService.getFactoryEquipmentTechnologyStatusList();
+            }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));
+                    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));
+                    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));
+                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());
+            }
+        }
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉锛堜簩绾ч〉闈級璁惧鎶ヤ慨鎯呭喌缁熻
+     * qsw 2024-3-13
+     */
+    @GetMapping("getReportRepairEquipmentList")
+    public Result<?> getReportRepairEquipmentList(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        List<Map<String, Object>> list = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                list = calibrationOrderService.getFactoryReportRepairEquipmentList();
+            }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));
+                    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));
+                    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));
+                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());
+            }
+        }
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉锛堜簩绾ч〉闈級鏈湀涓変繚璁″垝
+     * qsw 2024-3-14
+     */
+    @GetMapping("getThisMonthMaintenanceList")
+    public Result<?> getThisMonthMaintenanceList(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        List<Map<String, Object>> list = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                list = calibrationOrderService.getFactoryThisMonthMaintenanceList();
+            }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));
+                    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));
+                    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));
+                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());
+            }
+        }
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉锛堜簩绾ч〉闈級涓嬫湀涓変繚璁″垝
+     * qsw 2024-3-14
+     */
+    @GetMapping("getNextMonthMaintenanceList")
+    public Result<?> getNextMonthMaintenanceList(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        List<Map<String, Object>> list = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                list = calibrationOrderService.getFactoryNextMonthMaintenanceList();
+            }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));
+                    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));
+                    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));
+                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());
+            }
+        }
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉锛堜簩绾ч〉闈級涓嬩笅鏈堜笁淇濊鍒�
+     * qsw 2024-3-14
+     */
+    @GetMapping("getNextNextMonthMaintenanceList")
+    public Result<?> getNextNextMonthMaintenanceList(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        List<Map<String, Object>> list = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                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));
+                    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));
+                    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));
+                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));
+                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);
+    }
+
+    /**
+     *棣栭〉锛堜簩绾ч〉闈級鏈湀涓変繚瀹屾垚鏁伴噺
+     * qsw 2024-3-14
+     */
+    @GetMapping("getThisMonthMaintenanceFinishList")
+    public Result<?> getThisMonthMaintenanceFinishList(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        List<Map<String, Object>> list = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                list = calibrationOrderService.getFactoryThisMonthMaintenanceFinishList();
+            }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));
+                    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));
+                    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));
+                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());
+            }
+        }
+        return Result.ok(list);
+    }
+
+    /**
+     * 宸ユ绾� 涓変繚寤舵湡鏁伴噺
+     * qsw 2024-3-20
+     */
+    @GetMapping("get3MaintenancePostponeCount")
+    public Result<?> get3MaintenancePostponeCount(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        List<Map<String, Object>> list = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isNotBlank(productionCode)){
+                String orgType = calibrationOrderService.findOrgType(productionCode);
+                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));
+                    if(area != null){
+                        list = calibrationOrderService.get3MaintenancePostponeCount(area.getId());
+                    }
+                }
+            }
+        }else if(USER_TYPE_3.equals(userType)){
+            if(StringUtils.isNotBlank(productionCode)){
+                Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    list = calibrationOrderService.get3MaintenancePostponeCount(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.get3MaintenancePostponeCount(area.getId());
+            }
+        }
+        return Result.ok(list);
+    }
+
+    /**
+     * 宸ユ绾� 涓変繚瓒呮湡鏁伴噺
+     * qsw 2024-3-20
+     */
+    @GetMapping("get3MaintenanceOverdueCount")
+    public Result<?> get3MaintenanceOverdueCount(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        List<Map<String, Object>> list = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isNotBlank(productionCode)){
+                String orgType = calibrationOrderService.findOrgType(productionCode);
+                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));
+                    if(area != null){
+                        list = calibrationOrderService.get3MaintenanceOverdueCount(area.getId());
+                    }
+                }
+            }
+        }else if(USER_TYPE_3.equals(userType)){
+            if(StringUtils.isNotBlank(productionCode)){
+                Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    list = calibrationOrderService.get3MaintenanceOverdueCount(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.get3MaintenanceOverdueCount(area.getId());
+            }
+        }
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉浜屼繚璁″垝灞曠ず
+     * qsw 2024-3-15
+     */
+    @GetMapping("getTwoMaintenancePlanList")
+    public Result<?> getTwoMaintenancePlanList(String productionCode) {
+        List<Map<String, Object>> twoMaintenancePlanList = calibrationOrderService.getTwoMaintenancePlanList(productionCode);
+        return Result.ok(twoMaintenancePlanList);
+    }
+
+    /**
+     *棣栭〉  绗洓绾�  瀵瑰簲宸ュ尯涓嬶紝璁惧鍙拌处淇℃伅灞曠ず锛�
+     * qsw 2024-4-22
+     */
+    @GetMapping("getAreaEquipmentList")
+    public Result<?> getAreaEquipmentList(String equipmentNum) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        List<Map<String, Object>> list = calibrationOrderService.getAreaEquipmentList(equipmentNum,"",null);
+        for (Map<String, Object> map : list) {
+           String equipmentId =  (String)map.get("id");
+            List<Map<String, Object>> counts = calibrationOrderService.getEquipmentReportRepairCount(equipmentId);
+            if(counts.size()>0){
+                map.put("repairCount",counts.get(0).get("repairCount"));
+            }else{
+                map.put("repairCount","0");
+            }
+        }
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉  绗洓绾�  瀵瑰簲宸ュ尯涓嬶紝鎵�鏈夎澶囧彴璐︿俊鎭睍绀猴紱
+     * qsw 2024-4-22
+     */
+    @GetMapping("getAllAreaEquipmentList")
+    public Result<?> getAllAreaEquipmentList(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        List<Map<String, Object>> list = null;
+        if(!USER_TYPE_1.equals(userType)){
+            Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+            if(area != null){
+                list = calibrationOrderService.getAreaEquipmentList("",area.getId(),null);
+                for (Map<String, Object> map : list) {
+                    String equipmentId =  (String)map.get("id");
+                    List<Map<String, Object>> counts = calibrationOrderService.getEquipmentReportRepairCount(equipmentId);
+                    if(counts.size()>0){
+                        map.put("repairCount",counts.get(0).get("repairCount"));
+                    }else{
+                        map.put("repairCount","0");
+                    }
+                }
+            }
+        }else{
+            List<Map<String, Object>> operationCertificatelist = calibrationOrderService.getOperationCertificate(user.getUsername());
+            if(operationCertificatelist.size()>0){
+                String equipmentIds = (String)operationCertificatelist.get(0).get("equipmentIds");
+                List<String> strings = Arrays.asList(equipmentIds.split(","));
+                list = calibrationOrderService.getAreaEquipmentList("","",strings);
+                for (Map<String, Object> map : list) {
+                    String equipmentId =  (String)map.get("id");
+                    List<Map<String, Object>> counts = calibrationOrderService.getEquipmentReportRepairCount(equipmentId);
+                    if(counts.size()>0){
+                        map.put("repairCount",counts.get(0).get("repairCount"));
+                    }else{
+                        map.put("repairCount","0");
+                    }
+                }
+            }
+        }
+        return Result.ok(list);
+    }
+
+    /**
+     *棣栭〉  绗洓绾�  瀵瑰簲宸ュ尯涓嬶紝鎵�鏈夎澶囧彴璐︿俊鎭睍绀猴紱
+     * qsw 2024-4-22
+     */
+    @GetMapping("getOperationCertificate")
+    public Result<?> getOperationCertificate() {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        List<Map<String, Object>> list = calibrationOrderService.getOperationCertificate(user.getUsername());
+        return Result.ok(list);
+    }
+
+
+    /**
+     *棣栭〉 鎶�鏈姸鎬佺偣鍑诲脊鍑哄搴旀槑缁�
+     * qsw 2024-5-23
+     */
+    @GetMapping("showEquipmentByTechnologyStatus")
+    public Result<?> getEquipmentByTechnologyStatus(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize,String productionCode,String technologyStatus) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        IPage<Map<String, Object>> equipments = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                equipments = calibrationOrderService.getEquipmentByTechnologyStatus(pageNo, pageSize, "", "", technologyStatus);
+            }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));
+                    if(area != null){
+                        equipments = calibrationOrderService.getEquipmentByTechnologyStatus(pageNo, pageSize, area.getId(), "", technologyStatus);
+                    }
+                }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));
+                    if(area != null){
+                        equipments = calibrationOrderService.getEquipmentByTechnologyStatus(pageNo, pageSize, "", area.getId(), technologyStatus);
+                    }
+                }
+            }
+        }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));
+                if(area != null){
+                    equipments = calibrationOrderService.getEquipmentByTechnologyStatus(pageNo, pageSize, area.getId(), "", technologyStatus);
+                }
+            }else{
+                Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    equipments = calibrationOrderService.getEquipmentByTechnologyStatus(pageNo, pageSize, "", area.getId(), technologyStatus);
+                }
+            }
+        }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){
+                equipments = calibrationOrderService.getEquipmentByTechnologyStatus(pageNo, pageSize, "", area.getId(), technologyStatus);
+            }
+        }
+        return Result.ok(equipments);
+    }
+
+
+    /**
+     *棣栭〉 璁惧鎶ヤ慨鎯呭喌缁熻鏄庣粏灞曠ず
+     * qsw 2024-5-25
+     */
+    @GetMapping("showEquipmentByReportRepair")
+    public Result<?> getEquipmentByReportRepair(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize,String productionCode,String isStop) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        IPage<Map<String, Object>> equipments = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                equipments = calibrationOrderService.getEquipmentByReportRepair(pageNo, pageSize, "", "", isStop);
+            }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));
+                    if(area != null){
+                        equipments = calibrationOrderService.getEquipmentByReportRepair(pageNo, pageSize, area.getId(), "", isStop);
+                    }
+                }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));
+                    if(area != null){
+                        equipments = calibrationOrderService.getEquipmentByReportRepair(pageNo, pageSize, "", area.getId(), isStop);
+                    }
+                }
+            }
+        }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));
+                if(area != null){
+                    equipments = calibrationOrderService.getEquipmentByReportRepair(pageNo, pageSize, area.getId(), "", isStop);
+                }
+            }else{
+                Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    equipments = calibrationOrderService.getEquipmentByReportRepair(pageNo, pageSize, "", area.getId(), isStop);
+                }
+            }
+        }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){
+                equipments = calibrationOrderService.getEquipmentByReportRepair(pageNo, pageSize, "", area.getId(), isStop);
+            }
+        }
+        return Result.ok(equipments);
+    }
+
+    /**
+     *棣栭〉鏈湀涓変繚璁″垝鏄庣粏
+     * qsw 2024-3-14
+     */
+    @GetMapping("showThisMonthMaintenanceList")
+    public Result<?> showThisMonthMaintenanceList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize,String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        IPage<Map<String, Object>> equipments = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                equipments = calibrationOrderService.showThisMonthMaintenanceList(pageNo, pageSize, "", "");
+            }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));
+                    if(area != null){
+                        equipments = calibrationOrderService.showThisMonthMaintenanceList(pageNo, pageSize, 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));
+                    if(area != null){
+                        equipments = calibrationOrderService.showThisMonthMaintenanceList(pageNo, pageSize, "", 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));
+                if(area != null){
+                    equipments = calibrationOrderService.showThisMonthMaintenanceList(pageNo, pageSize, 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){
+                    equipments = calibrationOrderService.showThisMonthMaintenanceList(pageNo, pageSize, "", 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){
+                equipments = calibrationOrderService.showThisMonthMaintenanceList(pageNo, pageSize, "", area.getId());
+            }
+        }
+        return Result.ok(equipments);
+    }
+
+
+    /**
+     *棣栭〉涓嬫湀涓変繚璁″垝鏄庣粏灞曠ず
+     * qsw 2024-3-14
+     */
+    @GetMapping("showNextMonthMaintenanceList")
+    public Result<?> showNextMonthMaintenanceList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize,String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        IPage<Map<String, Object>> equipments = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                equipments = calibrationOrderService.showNextMonthMaintenanceList(pageNo, pageSize, "", "");
+            }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));
+                    if(area != null){
+                        equipments = calibrationOrderService.showNextMonthMaintenanceList(pageNo, pageSize, 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));
+                    if(area != null){
+                        equipments = calibrationOrderService.showNextMonthMaintenanceList(pageNo, pageSize, "", 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));
+                if(area != null){
+                    equipments = calibrationOrderService.showNextMonthMaintenanceList(pageNo, pageSize, 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){
+                    equipments = calibrationOrderService.showNextMonthMaintenanceList(pageNo, pageSize, "", 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){
+                equipments = calibrationOrderService.showNextMonthMaintenanceList(pageNo, pageSize, "", area.getId());
+            }
+        }
+        return Result.ok(equipments);
+    }
+
+    /**
+     *棣栭〉锛堜簩绾ч〉闈級涓嬩笅鏈堜笁淇濊鍒掓槑缁�
+     * qsw 2024-3-14
+     */
+    @GetMapping("showNextNextMonthMaintenanceList")
+    public Result<?> showNextNextMonthMaintenanceList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize,String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+//        List<Map<String, Object>> list = null;
+        IPage<Map<String, Object>> equipments = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                equipments = calibrationOrderService.showNextNextMonthMaintenanceList(pageNo, pageSize, "", "");
+            }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));
+                    if(area != null){
+                        equipments = calibrationOrderService.showNextNextMonthMaintenanceList(pageNo, pageSize, 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));
+                    if(area != null){
+                        equipments = calibrationOrderService.showNextNextMonthMaintenanceList(pageNo, pageSize, "", 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));
+                if(area != null){
+                    equipments = calibrationOrderService.showNextNextMonthMaintenanceList(pageNo, pageSize, 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){
+                    equipments = calibrationOrderService.showNextNextMonthMaintenanceList(pageNo, pageSize, "", 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){
+                equipments = calibrationOrderService.showNextNextMonthMaintenanceList(pageNo, pageSize, "", area.getId());
+            }
+        }
+        return Result.ok(equipments);
+    }
+
+    /**
+     *棣栭〉锛堜簩绾ч〉闈級鏈湀涓変繚瀹屾垚璁惧鏄庣粏
+     * qsw 2024-3-14
+     */
+    @GetMapping("showThisMonthMaintenanceFinishList")
+    public Result<?> showThisMonthMaintenanceFinishList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize,String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        IPage<Map<String, Object>> equipments = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isBlank(productionCode)){
+                equipments = calibrationOrderService.showThisMonthMaintenanceFinishList(pageNo, pageSize, "", "");
+            }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));
+                    if(area != null){
+                        equipments = calibrationOrderService.showThisMonthMaintenanceFinishList(pageNo, pageSize, 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));
+                    if(area != null){
+                        equipments = calibrationOrderService.showThisMonthMaintenanceFinishList(pageNo, pageSize, "", 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));
+                if(area != null){
+                    equipments = calibrationOrderService.showThisMonthMaintenanceFinishList(pageNo, pageSize, 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){
+                    equipments = calibrationOrderService.showThisMonthMaintenanceFinishList(pageNo, pageSize, "", 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){
+                equipments = calibrationOrderService.showThisMonthMaintenanceFinishList(pageNo, pageSize, "", area.getId());
+            }
+        }
+        return Result.ok(equipments);
+    }
+
+    /**
+     * 宸ユ绾� 涓変繚寤舵湡鏁伴噺鏄庣粏
+     * qsw 2024-3-20
+     */
+    @GetMapping("show3MaintenancePostponeList")
+    public Result<?> show3MaintenancePostponeList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize,String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        IPage<Map<String, Object>> equipments = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isNotBlank(productionCode)){
+                String orgType = calibrationOrderService.findOrgType(productionCode);
+                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));
+                    if(area != null){
+                        equipments = calibrationOrderService.show3MaintenancePostponeCount(pageNo, pageSize,area.getId());
+                    }
+                }
+            }
+        }else if(USER_TYPE_3.equals(userType)){
+            if(StringUtils.isNotBlank(productionCode)){
+                Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    equipments = calibrationOrderService.show3MaintenancePostponeCount(pageNo, pageSize,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){
+                equipments = calibrationOrderService.show3MaintenancePostponeCount(pageNo, pageSize,area.getId());
+            }
+        }
+        return Result.ok(equipments);
+    }
+
+    /**
+     * 宸ユ绾� 涓変繚瓒呮湡鏁伴噺鏄庣粏
+     * qsw 2024-3-20
+     */
+    @GetMapping("show3MaintenanceOverdueList")
+    public Result<?> show3MaintenanceOverdueList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize,String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        IPage<Map<String, Object>> equipments = null;
+        if(USER_TYPE_4.equals(userType)){
+            if(StringUtils.isNotBlank(productionCode)){
+                String orgType = calibrationOrderService.findOrgType(productionCode);
+                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));
+                    if(area != null){
+                        equipments = calibrationOrderService.show3MaintenanceOverdueCount(pageNo, pageSize, area.getId());
+                    }
+                }
+            }
+        }else if(USER_TYPE_3.equals(userType)){
+            if(StringUtils.isNotBlank(productionCode)){
+                Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
+                if(area != null){
+                    equipments = calibrationOrderService.show3MaintenanceOverdueCount(pageNo, pageSize, 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){
+                equipments = calibrationOrderService.show3MaintenanceOverdueCount(pageNo, pageSize, area.getId());
+            }
+        }
+        return Result.ok(equipments);
+    }
+
+
+
+
 }

--
Gitblit v1.9.3