From 2c250bb7d2c0efd16e5f124648bc77f5fd93040a Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期日, 29 十月 2023 22:05:14 +0800 Subject: [PATCH] 增加下次三保时间 技术状态类型及单号 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java | 331 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 329 insertions(+), 2 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 0b7d503..65ecaef 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,8 @@ import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -84,6 +86,27 @@ @Autowired private IMaintenanceOrderActualWorkingHourService maintenanceOrderActualWorkingHourService; + @Autowired + private IFinishTransferOrderService finishTransferOrderService; + + @Autowired + private ISysUserService sysUserService; + + @Autowired + private IPrecisionInspectionService precisionInspectionService; + + @Autowired + private IEamEquipmentService equipmentService; + + @Autowired + private IEquipmentPrecisionParametersService equipmentPrecisionParametersService; + + @Autowired + private IPrecisionInspectionDetailService precisionInspectionDetailService; + + @Autowired + private IMaintenanceStoveExemptService maintenanceStoveExemptService; + /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -105,7 +128,7 @@ } /** - * 鏃ュ父淇濆吇宸ュ崟 + * 浜岀骇淇濆吇宸ュ崟 * qsw 2023-4-14 */ @GetMapping("getDailyMaintenanceOrderList") @@ -114,6 +137,7 @@ 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); @@ -151,9 +175,102 @@ 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()); + } + String repairUser = finishTransferOrder.getRepairUser(); + if(StringUtils.isNotBlank(repairUser)){ + SysUser sysUser = sysUserService.getById(repairUser); + record.put("repairUserName", sysUser.getRealname()); + } + String repairDirectorUser = finishTransferOrder.getRepairDirectorUser(); + if(StringUtils.isNotBlank(repairDirectorUser)){ + SysUser sysUser = sysUserService.getById(repairDirectorUser); + record.put("repairDirectorUserName", sysUser.getRealname()); + } + String equipmentInspectorUser = finishTransferOrder.getEquipmentInspectorUser(); + if(StringUtils.isNotBlank(equipmentInspectorUser)){ + SysUser sysUser = sysUserService.getById(equipmentInspectorUser); + record.put("equipmentInspectorUserName", sysUser.getRealname()); + } + + } + } 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); + } + /** * 娣诲姞 @@ -179,7 +296,11 @@ } else if ("day".equals(unit)) { date = DateUtils.getDayAfter(planStartTime, effectiveTime); } - dailyMaintenanceOrder.setPlanEndTime(date); + dailyMaintenanceOrder.setPlanEndTime(date);//鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛� + 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) { @@ -400,6 +521,33 @@ if ("5".equals(status)) { maintenanceOrder.setActualEndTime(null); boolean b = dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder); + + List<FinishTransferOrder> finishTransferOrders = finishTransferOrderService.lambdaQuery() + .eq(FinishTransferOrder::getMaintenanceOrderId, id) + .eq(FinishTransferOrder::getDelFlag,0) + .eq(FinishTransferOrder::getEquipmentId, maintenanceOrder.getEquipmentId()).list(); + for (FinishTransferOrder finishTransferOrder : finishTransferOrders) { + 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 { @@ -409,6 +557,57 @@ 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) + .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); + } + + /** + * 鍒犻櫎鐐夌被妫�娴� + */ + 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 { + return Result.error("鎾ら攢澶辫触!"); + } + } else { + return Result.error("浠呴檺宸插畬宸ョ姸鎬佹挙閿�瀹屾垚鎿嶄綔!"); + } + } + /** * 淇濆吇宸ュ崟娲惧伐銆佹敼娲� @@ -429,11 +628,89 @@ 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("鎶ュ伐澶辫触!"); } 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("鎶ュ伐澶辫触!"); + } else { + return Result.ok("鎶ュ伐鎴愬姛!"); + } + } + + void createPrecisionInspection(DailyMaintenanceOrder dailyMaintenanceOrder){ + PrecisionInspection precisionInspection = new PrecisionInspection(); + precisionInspection.setMaintenanceOrderId(dailyMaintenanceOrder.getId()); + precisionInspection.setEquipmentId(dailyMaintenanceOrder.getEquipmentId()); + precisionInspectionService.save(precisionInspection); + + List<EquipmentPrecisionParameters> equipmentPrecisionParameters = equipmentPrecisionParametersService.lambdaQuery() + .eq(EquipmentPrecisionParameters::getEquipmentId, dailyMaintenanceOrder.getEquipmentId()) + .eq(EquipmentPrecisionParameters::getDelFlag, "0").list(); + PrecisionInspectionDetail precisionInspectionDetail = null; + for (EquipmentPrecisionParameters equipmentPrecisionParameter : equipmentPrecisionParameters) { + precisionInspectionDetail = new PrecisionInspectionDetail(); + precisionInspectionDetail.setPrecisionInspectionId(precisionInspection.getId()); + precisionInspectionDetail.setEquipmentId(dailyMaintenanceOrder.getEquipmentId()); + precisionInspectionDetail.setPrecisionParametersId(equipmentPrecisionParameter.getPrecisionParametersId()); + + String upperLimit = equipmentPrecisionParameter.getUpperLimit()+""; + String lowerLimit = equipmentPrecisionParameter.getLowerLimit()+""; + precisionInspectionDetail.setTolerance("["+upperLimit+"鈥�"+lowerLimit+"]"); + precisionInspectionDetailService.save(precisionInspectionDetail); + } + } + + + void createMaintenanceStoveExempt(DailyMaintenanceOrder dailyMaintenanceOrder){ + MaintenanceStoveExempt maintenanceStoveExempt = new MaintenanceStoveExempt(); + maintenanceStoveExempt.setMaintenanceOrderId(dailyMaintenanceOrder.getId()); + maintenanceStoveExemptService.save(maintenanceStoveExempt); } /** @@ -446,4 +723,54 @@ return Result.ok(sysDeparts); } + /** + * 瀹℃壒 + */ + @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(); + + String orderId = dailyMaintenanceOrder.getId(); + DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(orderId); + String equipmentId = maintenanceOrder.getEquipmentId(); + String confirmStatus = maintenanceOrder.getConfirmStatus(); + + 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); + finishTransferOrderService.updateById(finishTransferOrder); + + maintenanceOrder.setConfirmStatus("1"); + dailyMaintenanceOrderService.updateById(maintenanceOrder); + }else{ + finishTransferOrder.setEquipmentInspectorUser(userId); + finishTransferOrderService.updateById(finishTransferOrder); + + maintenanceOrder.setConfirmStatus("2"); + 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()); + dailyMaintenanceOrder.setStatus("8"); + dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder); + return Result.OK("缂栬緫鎴愬姛!"); + } + } -- Gitblit v1.9.3