qushaowei
2023-11-21 f1ec60de737efb5108c177e1618573be2a53f51f
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
@@ -147,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);
            /**
             * 复选框 不可编辑
             */
@@ -170,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);
            }
        }
@@ -229,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);
            /**
             * 复选框 不可编辑
@@ -251,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);
            /**
             *获取是否为炉类设备标记
@@ -638,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);
@@ -736,42 +725,73 @@
    @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);
                if(StringUtils.isBlank(orderUda3)){
                    maintenanceOrder.setMaintenanceOrderUda3(maintenanceOrderUda3);
                }
               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);
               if(StringUtils.isBlank(orderUda3)){
                   maintenanceOrder.setMaintenanceOrderUda3(maintenanceOrderUda3);
               }
               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("审批成功!");
    }