From eadaad85fc5fed59c34a0145c2f99a1022581458 Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期二, 21 十一月 2023 20:57:25 +0800
Subject: [PATCH] 生产时间间隔报表逻辑、设备完好率报表逻辑

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java |  167 +++++++++++++++++++++++++++++++++----------------------
 1 files changed, 101 insertions(+), 66 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 3266c04..862676c 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
@@ -37,6 +37,7 @@
 import lombok.extern.slf4j.Slf4j;
 
 
+import org.jeecg.modules.eam.vo.SysFileNameVo;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -107,6 +108,9 @@
     @Autowired
     private IMaintenanceStoveExemptService maintenanceStoveExemptService;
 
+    @Autowired
+    private ISysFileNameService sysFileNameService;
+
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -143,17 +147,19 @@
             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);
+
+            //缁熻宸ユ椂瀹氶
+//            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);
+
             /**
              * 澶嶉�夋 涓嶅彲缂栬緫
              */
@@ -166,41 +172,28 @@
             /**
              * 缁熻瀹為檯宸ユ椂
              */
-            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);
+//            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);
 
             List<FinishTransferOrder> finishTransferOrders = finishTransferOrderService.lambdaQuery()
                     .eq(FinishTransferOrder::getMaintenanceOrderId, id)
                     .eq(FinishTransferOrder::getEquipmentId, equipmentId).list();
             for (FinishTransferOrder finishTransferOrder : finishTransferOrders) {
                 String operateUser = finishTransferOrder.getOperateUser();
-                if(StringUtils.isNotBlank(operateUser)){
-                    SysUser sysUser = sysUserService.getById(operateUser);
-                    record.put("operateUserName", sysUser.getRealname());
-                }
+                record.put("operateUserName", operateUser);
                 String repairUser = finishTransferOrder.getRepairUser();
-                if(StringUtils.isNotBlank(repairUser)){
-                    SysUser sysUser = sysUserService.getById(repairUser);
-                    record.put("repairUserName", sysUser.getRealname());
-                }
+                record.put("repairUserName", repairUser);
                 String repairDirectorUser = finishTransferOrder.getRepairDirectorUser();
-                if(StringUtils.isNotBlank(repairDirectorUser)){
-                    SysUser sysUser = sysUserService.getById(repairDirectorUser);
-                    record.put("repairDirectorUserName", sysUser.getRealname());
-                }
+                record.put("repairDirectorUserName", repairDirectorUser);
                 String equipmentInspectorUser = finishTransferOrder.getEquipmentInspectorUser();
-                if(StringUtils.isNotBlank(equipmentInspectorUser)){
-                    SysUser sysUser = sysUserService.getById(equipmentInspectorUser);
-                    record.put("equipmentInspectorUserName", sysUser.getRealname());
-                }
-
+                record.put("equipmentInspectorUserName", equipmentInspectorUser);
             }
 
         }
@@ -214,7 +207,7 @@
      */
     @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);
+        IPage<Map<String, Object>> dailyMaintenanceOrderList = dailyMaintenanceOrderService.getDailyMaintenanceOrder3List(pageNo, pageSize, params);
         List<Map<String, Object>> records = dailyMaintenanceOrderList.getRecords();
         for (Map<String, Object> record : records) {
             String id = (String) record.get("id");
@@ -225,15 +218,15 @@
 
             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);
+//            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);
             /**
              * 澶嶉�夋 涓嶅彲缂栬緫
@@ -247,15 +240,15 @@
             /**
              * 缁熻瀹為檯宸ユ椂
              */
-            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);
+//            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);
 
             /**
              *鑾峰彇鏄惁涓虹倝绫昏澶囨爣璁�
@@ -634,8 +627,8 @@
         FinishTransferOrder finishTransferOrder = new FinishTransferOrder();
         finishTransferOrder.setEquipmentId(maintenanceOrder.getEquipmentId());
         finishTransferOrder.setMaintenanceOrderId(maintenanceOrder.getId());
-        finishTransferOrder.setOperateUser(userId);
-        finishTransferOrder.setRepairUser(userId);
+//        finishTransferOrder.setOperateUser(userId);
+//        finishTransferOrder.setRepairUser(userId);
         finishTransferOrder.setStatus("1");
         finishTransferOrder.setDelFlag(0);
         finishTransferOrderService.save(finishTransferOrder);
@@ -708,8 +701,10 @@
 
 
     void createMaintenanceStoveExempt(DailyMaintenanceOrder dailyMaintenanceOrder){
+        List<SysFileNameVo> sysFileName = sysFileNameService.getSysFileName("20");
         MaintenanceStoveExempt maintenanceStoveExempt = new MaintenanceStoveExempt();
         maintenanceStoveExempt.setMaintenanceOrderId(dailyMaintenanceOrder.getId());
+        maintenanceStoveExempt.setReceipts(sysFileName.get(0).getReceipts());
         maintenanceStoveExemptService.save(maintenanceStoveExempt);
     }
 
@@ -730,40 +725,80 @@
     @Transactional(rollbackFor = { Exception.class })
     public Result<String> approve(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = sysUser.getId();
 
         String orderId = dailyMaintenanceOrder.getId();
+        String maintenanceOrderUda3 = dailyMaintenanceOrder.getMaintenanceOrderUda3();
+        String confirmStatus = dailyMaintenanceOrder.getConfirmStatus();
+
         DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(orderId);
         String equipmentId = maintenanceOrder.getEquipmentId();
-        String confirmStatus = maintenanceOrder.getConfirmStatus();
+        String orderUda3 = maintenanceOrder.getMaintenanceOrderUda3();
+        if(StringUtils.isBlank(orderUda3)){
+            maintenanceOrder.setMaintenanceOrderUda3(maintenanceOrderUda3);
+        }
 
         List<FinishTransferOrder> finishTransferOrders = finishTransferOrderService.lambdaQuery()
                 .eq(FinishTransferOrder::getMaintenanceOrderId, orderId)
                 .eq(FinishTransferOrder::getEquipmentId, equipmentId).list();
        if(finishTransferOrders.size()>0){
            FinishTransferOrder finishTransferOrder = finishTransferOrders.get(0);
-           if ("0".equals(confirmStatus)){
-               finishTransferOrder.setRepairDirectorUser(userId);
+           if("1".equals(confirmStatus)){
+               finishTransferOrder.setOperateUser(sysUser.getRealname());
                finishTransferOrderService.updateById(finishTransferOrder);
 
-               maintenanceOrder.setConfirmStatus("1");
+               maintenanceOrder.setConfirmStatus(confirmStatus);
                dailyMaintenanceOrderService.updateById(maintenanceOrder);
-           }else{
-               finishTransferOrder.setEquipmentInspectorUser(userId);
+           }else if("2".equals(confirmStatus)){
+               finishTransferOrder.setEquipmentInspectorUser("");
+               finishTransferOrder.setRepairDirectorUser("");
+               finishTransferOrder.setRepairUser("");
+               finishTransferOrder.setOperateUser("");
                finishTransferOrderService.updateById(finishTransferOrder);
 
-               maintenanceOrder.setConfirmStatus("2");
+               maintenanceOrder.setConfirmStatus(confirmStatus);
+               dailyMaintenanceOrderService.updateById(maintenanceOrder);
+           }else if("3".equals(confirmStatus)){
+               finishTransferOrder.setRepairUser(sysUser.getRealname());
+               finishTransferOrderService.updateById(finishTransferOrder);
+
+               maintenanceOrder.setConfirmStatus(confirmStatus);
+               dailyMaintenanceOrderService.updateById(maintenanceOrder);
+           }else if("4".equals(confirmStatus)){
+               finishTransferOrder.setEquipmentInspectorUser("");
+               finishTransferOrder.setRepairDirectorUser("");
+               finishTransferOrder.setRepairUser("");
+               finishTransferOrderService.updateById(finishTransferOrder);
+
+               maintenanceOrder.setConfirmStatus(confirmStatus);
+               dailyMaintenanceOrderService.updateById(maintenanceOrder);
+           }else if("5".equals(confirmStatus)){
+               finishTransferOrder.setRepairDirectorUser(sysUser.getRealname());
+               finishTransferOrderService.updateById(finishTransferOrder);
+
+               maintenanceOrder.setConfirmStatus(confirmStatus);
+               dailyMaintenanceOrderService.updateById(maintenanceOrder);
+           }else if("6".equals(confirmStatus)){
+               finishTransferOrder.setRepairDirectorUser("");
+               finishTransferOrderService.updateById(finishTransferOrder);
+
+               maintenanceOrder.setConfirmStatus(confirmStatus);
+               dailyMaintenanceOrderService.updateById(maintenanceOrder);
+           }else if("7".equals(confirmStatus)){
+               finishTransferOrder.setEquipmentInspectorUser(sysUser.getRealname());
+               finishTransferOrderService.updateById(finishTransferOrder);
+
+               maintenanceOrder.setConfirmStatus(confirmStatus);
                maintenanceOrder.setStatus("8");
                dailyMaintenanceOrderService.updateById(maintenanceOrder);
            }
        }
-
         return Result.OK("瀹℃壒鎴愬姛!");
     }
 
     @RequestMapping(value = "/editTechnologyStatus", method = {RequestMethod.PUT,RequestMethod.POST})
     @Transactional(rollbackFor = { Exception.class })
     public Result<String> editTechnologyStatus(@RequestBody Equipment equipment) {
+        equipment.setTechnologyStatusVerificationType("1");
         equipmentService.updateById(equipment);
 
         DailyMaintenanceOrder dailyMaintenanceOrder = dailyMaintenanceOrderService.getById(equipment.getMaintenanceOrderId());

--
Gitblit v1.9.3