From deec8d86a5eee2fc9ec18f6749076ea20b9edc66 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 17 十月 2023 17:42:29 +0800
Subject: [PATCH] 保养问题修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java |  178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 177 insertions(+), 1 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
index 06c690a..3266c04 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
@@ -104,6 +104,9 @@
     @Autowired
     private IPrecisionInspectionDetailService precisionInspectionDetailService;
 
+    @Autowired
+    private IMaintenanceStoveExemptService maintenanceStoveExemptService;
+
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -125,7 +128,7 @@
     }
 
     /**
-     * 鏃ュ父淇濆吇宸ュ崟
+     * 浜岀骇淇濆吇宸ュ崟
      * qsw 2023-4-14
      */
     @GetMapping("getDailyMaintenanceOrderList")
@@ -204,6 +207,71 @@
         return Result.ok(dailyMaintenanceOrderList);
     }
 
+
+    /**
+     * 涓夌骇淇濆吇宸ュ崟
+     * qsw 2023-4-14
+     */
+    @GetMapping("getDailyMaintenanceOrder3List")
+    public Result<?> getDailyMaintenanceOrder3List(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
+        IPage<Map<String, Object>> dailyMaintenanceOrderList = dailyMaintenanceOrderService.getDailyMaintenanceOrderList(pageNo, pageSize, params);
+        List<Map<String, Object>> records = dailyMaintenanceOrderList.getRecords();
+        for (Map<String, Object> record : records) {
+            String id = (String) record.get("id");
+            String equipmentId = (String) record.get("equipmentId");
+            String maintenanceStandardId = (String) record.get("maintenanceStandardId");
+            List<MaintenanceCycleVo> maintenanceCycles = dailyMaintenanceOrderService.getMaintenanceCycleByStandardId(maintenanceStandardId);
+            record.put("maintenanceCycles", maintenanceCycles);
+
+            List<Map<String, Object>> dailyMaintenanceDetails = dailyMaintenanceOrderService.getDailyMaintenanceDetailByOrderId(id);
+            //缁熻宸ユ椂瀹氶
+            BigDecimal workingHourQuota = new BigDecimal(0);
+            for(Map<String, Object> dailyMaintenanceOrderDetail : dailyMaintenanceDetails){
+                if(dailyMaintenanceOrderDetail.get("workingHourQuota") != null){
+                    Integer wh = (Integer)dailyMaintenanceOrderDetail.get("workingHourQuota");
+                    BigDecimal workingHour = new BigDecimal(wh);
+                    workingHourQuota = workingHourQuota.add(workingHour);
+                }
+            }
+            record.put("workingHourQuota",workingHourQuota);
+            record.put("dailyMaintenanceDetails", dailyMaintenanceDetails);
+            /**
+             * 澶嶉�夋 涓嶅彲缂栬緫
+             */
+           /* String status = (String) record.get("status");
+            if ("5".equals(status)) {
+                record.put("distable", false);
+            } else {
+                record.put("distable", true);
+            }*/
+            /**
+             * 缁熻瀹為檯宸ユ椂
+             */
+            QueryWrapper<MaintenanceOrderActualWorkingHour> actualWorkingHourWrapper = new QueryWrapper<>();
+            actualWorkingHourWrapper.eq("maintenance_order_id", id).eq("del_flag", 0);
+            actualWorkingHourWrapper.select("sum(actual_working_hour_quota) as actualQuantity");
+            Map<String, Object> map = maintenanceOrderActualWorkingHourService.getMap(actualWorkingHourWrapper);
+            BigDecimal actualQuantity = new BigDecimal(0);
+            if (map != null) {
+                actualQuantity = (BigDecimal) map.get("actualQuantity");
+            }
+            record.put("actualWorkingHourQuota", actualQuantity);
+
+            /**
+             *鑾峰彇鏄惁涓虹倝绫昏澶囨爣璁�
+             */
+            String equipmentCategoryName = (String) record.get("equipmentCategoryName");
+            if("鐐夌被璁惧".equals(equipmentCategoryName)){
+                record.put("isNotStoveCategoryFlag", true);
+            }else{
+                record.put("isNotStoveCategoryFlag", false);
+            }
+
+        }
+        return Result.ok(dailyMaintenanceOrderList);
+    }
+
+
     /**
      * 娣诲姞
      *
@@ -232,6 +300,7 @@
         dailyMaintenanceOrder.setCreateType("1");//鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛�
         dailyMaintenanceOrder.setConfirmStatus("0");//绉讳氦纭鐘舵�侊紙0鏈‘璁わ紝1涓讳换纭锛�2妫�楠屽憳纭锛�
         dailyMaintenanceOrder.setPrecisionInspectionStatus("0");//绮惧害妫�楠屽崟娴佺▼鐘舵�侊紙0鏈‘璁わ紝1绮惧害妫�楠岃�咃紝2缁翠慨瀹や富浠伙紝3璁惧妫�楠屽憳锛�4浣跨敤鍗曚綅鎶�鏈富绠★紝5璁惧妫�楠屽憳锛堢洊绔狅級锛�
+        dailyMaintenanceOrder.setStoveExemptStatus("0");//鐐夌被璁惧璞佸厤20椤圭姸鎬侊紙0鏈‘璁わ紝1缁翠慨瀹や富浠伙紝2淇濆吇浜哄憳锛�3浠〃宸ワ級
         dailyMaintenanceOrderService.save(dailyMaintenanceOrder);
         List<DailyMaintenanceOrderDetail> dailyMaintenanceOrderDetails = dailyMaintenanceOrder.getDailyMaintenanceOrderDetails();
         for (DailyMaintenanceOrderDetail dailyMaintenanceOrderDetail : dailyMaintenanceOrderDetails) {
@@ -461,6 +530,49 @@
                 finishTransferOrderService.removeById(finishTransferOrder);
             }
 
+//            /**
+//             * 鍒犻櫎绮惧害绠$悊琛�
+//             */
+//            List<PrecisionInspection> precisionInspectionList = precisionInspectionService.lambdaQuery()
+//                    .eq(PrecisionInspection::getMaintenanceOrderId, id)
+//                    .eq(PrecisionInspection::getDelFlag,0)
+//                    .eq(PrecisionInspection::getEquipmentId, maintenanceOrder.getEquipmentId()).list();
+//            for (PrecisionInspection precisionInspection : precisionInspectionList) {
+//                List<PrecisionInspectionDetail> precisionInspectionDetails = precisionInspectionDetailService.lambdaQuery()
+//                        .eq(PrecisionInspectionDetail::getPrecisionInspectionId, precisionInspection.getId())
+//                        .eq(PrecisionInspectionDetail::getDelFlag,0)
+//                        .list();
+//                for (PrecisionInspectionDetail precisionInspectionDetail : precisionInspectionDetails) {
+//                    precisionInspectionDetailService.removeById(precisionInspectionDetail);
+//                }
+//                precisionInspectionService.removeById(precisionInspection);
+//            }
+
+            if (b) {
+                return Result.OK("鎾ら攢鎴愬姛!");
+            } else {
+                return Result.error("鎾ら攢澶辫触!");
+            }
+        } else {
+            return Result.error("浠呴檺宸插畬宸ョ姸鎬佹挙閿�瀹屾垚鎿嶄綔!");
+        }
+    }
+
+
+
+    @RequestMapping(value = "/revocation3M", method = {RequestMethod.PUT, RequestMethod.POST})
+    @Transactional(rollbackFor = { Exception.class })
+    public Result<String> revocation3M(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) {
+        String id = dailyMaintenanceOrder.getId();
+        DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(id);
+        String status = maintenanceOrder.getStatus();
+        if ("5".equals(status)) {
+            maintenanceOrder.setActualEndTime(null);
+            boolean b = dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder);
+
+            /**
+             * 鍒犻櫎绮惧害妫�楠岃〃
+             */
             List<PrecisionInspection> precisionInspectionList = precisionInspectionService.lambdaQuery()
                     .eq(PrecisionInspection::getMaintenanceOrderId, id)
                     .eq(PrecisionInspection::getDelFlag,0)
@@ -476,6 +588,16 @@
                 precisionInspectionService.removeById(precisionInspection);
             }
 
+            /**
+             * 鍒犻櫎鐐夌被妫�娴�
+             */
+            List<MaintenanceStoveExempt> maintenanceStoveExempts = maintenanceStoveExemptService.lambdaQuery()
+                    .eq(MaintenanceStoveExempt::getMaintenanceOrderId, id)
+                    .eq(MaintenanceStoveExempt::getDelFlag, 0).list();
+            for (MaintenanceStoveExempt maintenanceStoveExempt : maintenanceStoveExempts) {
+                maintenanceStoveExemptService.removeById(maintenanceStoveExempt);
+            }
+
             if (b) {
                 return Result.OK("鎾ら攢鎴愬姛!");
             } else {
@@ -485,6 +607,7 @@
             return Result.error("浠呴檺宸插畬宸ョ姸鎬佹挙閿�瀹屾垚鎿嶄綔!");
         }
     }
+
 
     /**
      *  淇濆吇宸ュ崟娲惧伐銆佹敼娲�
@@ -517,7 +640,41 @@
         finishTransferOrder.setDelFlag(0);
         finishTransferOrderService.save(finishTransferOrder);
 
+//        this.createPrecisionInspection(maintenanceOrder);
+//
+//        this.createMaintenanceStoveExempt(maintenanceOrder);
+
+        if (!b) {
+            return Result.error("鎶ュ伐澶辫触!");
+        } else {
+            return Result.ok("鎶ュ伐鎴愬姛!");
+        }
+    }
+
+
+    @RequestMapping(value = "/report3M", method = {RequestMethod.PUT, RequestMethod.POST})
+    @Transactional(rollbackFor = { Exception.class })
+    public Result<String> report3M(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) {
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = sysUser.getId();
+        dailyMaintenanceOrder.setMaintenanceUserId(userId);
+        dailyMaintenanceOrder.setActualEndTime(new Date());
+        boolean b = dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder);
+
+        String id = dailyMaintenanceOrder.getId();
+        DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(id);
+        FinishTransferOrder finishTransferOrder = new FinishTransferOrder();
+        finishTransferOrder.setEquipmentId(maintenanceOrder.getEquipmentId());
+        finishTransferOrder.setMaintenanceOrderId(maintenanceOrder.getId());
+        finishTransferOrder.setOperateUser(userId);
+        finishTransferOrder.setRepairUser(userId);
+        finishTransferOrder.setStatus("1");
+        finishTransferOrder.setDelFlag(0);
+        finishTransferOrderService.save(finishTransferOrder);
+
         this.createPrecisionInspection(maintenanceOrder);
+
+        this.createMaintenanceStoveExempt(maintenanceOrder);
 
         if (!b) {
             return Result.error("鎶ュ伐澶辫触!");
@@ -549,6 +706,13 @@
         }
     }
 
+
+    void createMaintenanceStoveExempt(DailyMaintenanceOrder dailyMaintenanceOrder){
+        MaintenanceStoveExempt maintenanceStoveExempt = new MaintenanceStoveExempt();
+        maintenanceStoveExempt.setMaintenanceOrderId(dailyMaintenanceOrder.getId());
+        maintenanceStoveExemptService.save(maintenanceStoveExempt);
+    }
+
     /**
      * 鏃ュ父淇濆吇宸ュ崟 鑾峰彇璁惧鍙扮珯宸茬粦瀹氱殑瀵硅薄閮ㄩ棬
      * qsw 2023-7-11
@@ -563,6 +727,7 @@
      * 瀹℃壒
      */
     @RequestMapping(value = "/approve", method = {RequestMethod.PUT, RequestMethod.POST})
+    @Transactional(rollbackFor = { Exception.class })
     public Result<String> approve(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         String userId = sysUser.getId();
@@ -596,4 +761,15 @@
         return Result.OK("瀹℃壒鎴愬姛!");
     }
 
+    @RequestMapping(value = "/editTechnologyStatus", method = {RequestMethod.PUT,RequestMethod.POST})
+    @Transactional(rollbackFor = { Exception.class })
+    public Result<String> editTechnologyStatus(@RequestBody Equipment equipment) {
+        equipmentService.updateById(equipment);
+
+        DailyMaintenanceOrder dailyMaintenanceOrder = dailyMaintenanceOrderService.getById(equipment.getMaintenanceOrderId());
+        dailyMaintenanceOrder.setStatus("8");
+        dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
 }

--
Gitblit v1.9.3