From a5b427bc39acc0cea80e3ca44d5744968778bc74 Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期二, 12 十二月 2023 15:25:13 +0800 Subject: [PATCH] 维修履历 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/FaultIntervalTimeServiceImpl.java | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/QuanlityConfirmController.java | 16 -------- lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11(lnl)/lnl.sql | 5 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java | 11 +++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java | 4 +- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java | 47 +++++++++++++++++++++-- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java | 3 + 8 files changed, 64 insertions(+), 26 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java index f3b4005..595167d 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java @@ -17,10 +17,7 @@ import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; -import org.jeecg.modules.eam.entity.Equipment; -import org.jeecg.modules.eam.entity.EquipmentReportRepair; -import org.jeecg.modules.eam.entity.FaultDescription; -import org.jeecg.modules.eam.entity.QuanlityConfirm; +import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.service.*; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysUserService; @@ -30,6 +27,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; @@ -61,6 +59,8 @@ @Autowired @Lazy private IdentityService sysIdentityService; + @Autowired + private IFaultInfoService faultInfoService; /** @@ -121,6 +121,19 @@ quanlityConfirm.setQuantity(equipmentReportRepair.getQuantity()); quanlityConfirm.setOperator(curUser.getId()); quanlityConfirmService.save(quanlityConfirm); + String fNum = sysIdentityService.getNumByTypeAndLength("FaultInfo",4); + FaultInfo faultInfo = new FaultInfo(); + faultInfo.setNum(fNum); + faultInfo.setQuanlityId(quanlityConfirm.getId()); + faultInfo.setOperater(quanlityConfirm.getOperator()); + faultInfo.setIsConfirm(IS_PRODUCT_NO); + String eId = equipmentReportRepair.getEquipmentId(); + Equipment equipment = equipmentService.getById(eId); + faultInfo.setEquipModel(equipment.getModel()); + faultInfo.setEquipName(equipment.getName()); + faultInfo.setEquipNum(equipment.getNum()); + faultInfoService.save(faultInfo); + } Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId()); equipment.setEquipmentStatus("2"); @@ -244,8 +257,34 @@ @PutMapping("/accept") public Result<?> accept(@RequestBody EquipmentReportRepair equipmentReportRepair ){ + if(equipmentReportRepair.getErrUda1().equals("yes")){ + QuanlityConfirm quanlityConfirm = quanlityConfirmService.getOne(new QueryWrapper<QuanlityConfirm>().eq("report_id",equipmentReportRepair.getId()),false); + if(ObjectUtils.isNotNull(quanlityConfirm)){ + String isConfirm1 = quanlityConfirm.getIsConfirm(); + FaultInfo faultInfo = faultInfoService.getOne(new QueryWrapper<FaultInfo>().eq("quanlity_id",quanlityConfirm.getId()),false); + if(ObjectUtils.isNotNull(faultInfo)){ + String isConfirm2 = faultInfo.getIsConfirm(); + if(!isConfirm1.equals("yes")||isConfirm2.equals("yes")){ + return Result.error("楠屾敹澶辫触锛屼骇鍝佽川閲忛殣鎮g‘璁ゅ拰浜嬫晠鐧昏灏氭湭瀹屽満锛岃瀹屾垚纭鍚庡啀杩涜楠屾敹"); + } + }else { + return Result.error("楠屾敹澶辫触锛屾湭鐢熸垚浜嬫晠鐧昏鍗�"); + } + }else { + return Result.error("楠屾敹澶辫触锛屾湭鐢熸垚浜у钩璐ㄩ噺纭"); + } + } + LoginUser user= (LoginUser)SecurityUtils.getSubject().getPrincipal(); equipmentReportRepair.setStatus("5"); equipmentReportRepair.setAcceptTime(new Date()); + Date start = equipmentReportRepair.getFaultTime(); + Date end = equipmentReportRepair.getAcceptTime(); + if(ObjectUtils.isNotNull(start)){ + long timeDifference =end.getTime() - start.getTime(); + BigDecimal hours = new BigDecimal(timeDifference) + .divide(new BigDecimal(60 * 60 * 1000), 3, BigDecimal.ROUND_HALF_EVEN); + equipmentReportRepair.setFaultHour(hours); + } equipmentReportRepairService.updateById(equipmentReportRepair); String equipmentId = equipmentReportRepair.getEquipmentId(); if(StringUtils.isNotBlank(equipmentId)){ diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/QuanlityConfirmController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/QuanlityConfirmController.java index 4b87df4..793e1ec 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/QuanlityConfirmController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/QuanlityConfirmController.java @@ -117,22 +117,6 @@ quanlityConfirm.setLeader(curUser.getId()); quanlityConfirm.setConfirmTime(new Date()); quanlityConfirmService.updateById(quanlityConfirm); - if(quanlityConfirm.getCondition().equals("yes")){ - String num = sysIdentityService.getNumByTypeAndLength("FaultInfo",4); - FaultInfo faultInfo = new FaultInfo(); - faultInfo.setNum(num); - faultInfo.setQuanlityId(quanlityConfirm.getId()); - faultInfo.setOperater(quanlityConfirm.getOperator()); - faultInfo.setIsConfirm("no"); - String rId = quanlityConfirm.getReportId(); - EquipmentReportRepair equipmentReportRepair = equipmentReportRepairService.getById(rId); - String eId = equipmentReportRepair.getEquipmentId(); - Equipment equipment = equipmentService.getById(eId); - faultInfo.setEquipModel(equipment.getModel()); - faultInfo.setEquipName(equipment.getName()); - faultInfo.setEquipNum(equipment.getNum()); - faultInfoService.save(faultInfo); - } return Result.OK("缂栬緫鎴愬姛!"); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java index 5e968fc..aa77ba7 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java @@ -1547,6 +1547,15 @@ @PutMapping(value = "/report") @Transactional(rollbackFor = {Exception.class}) public Result<?> orderReport(@RequestBody RepairOrder repairOrder){ + String id = repairOrder.getId(); + List<RepairOrderActualWorkHours> hoursList = repairOrderActualWorkHoursService.list(new QueryWrapper<RepairOrderActualWorkHours>().eq("repair_order_id",id).eq("del_flag",0)); + List<RepairOrderActualWorkHours> mainStuff = repairOrderActualWorkHoursService.list(new QueryWrapper<RepairOrderActualWorkHours>().eq("repair_order_id",id).eq("del_flag",0).eq("principal_contractor","1")); + if(hoursList.size()<2){ + return Result.error("鎿嶄綔澶辫触锛岃鑷冲皯娣诲姞涓や釜鎵夸慨浜�"); + } + if(mainStuff.size()!=1){ + return Result.error("鎿嶄綔澶辫触锛岃娣诲姞涓绘壙淇汉锛屾湁涓斿彧鏈変竴涓�"); + } if(StringUtils.isNotBlank(repairOrder.getProjectMaintenanceOrderId())){ //鍒ゆ柇椤圭洰鎬х淮淇瓙琛ㄧ姸鎬� ProjectMaintenanceOrderDetail projectMaintenanceOrderDetail = projectMaintenanceOrderDetailService.getById(repairOrder.getProjectMaintenanceOrderId()); @@ -1587,7 +1596,7 @@ repairOrder.setStatus("4"); repairOrder.setActualEndTime(now); repairOrder.setActualHour(hours); - repairOrder.setRecipientUserId(user.getId()); + repairOrder.setRecipientUserId(mainStuff.get(0).getUserId()); repairOrderService.updateById(repairOrder); if(StringUtils.isNotBlank(repairOrder.getEquipmentId())){ Equipment equipment = equipmentService.getById(repairOrder.getEquipmentId()); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java index 513c4eb..dc284b0 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java @@ -16,6 +16,7 @@ import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -177,7 +178,7 @@ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date finishTime; - private Double faultHour; + private BigDecimal faultHour; /** * 闄勪欢涓婁紶鍒楄〃 */ diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml index edbd955..0b4f164 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml @@ -18,7 +18,7 @@ t1.theoretical_time theoreticalTime, t7.item_text principalContractor_dictText, t1.user_num as userNum, - t2.id userId, + t1.user_id userId, t1.repair_order_id as repairOrderId, t1.actual_hour,---------- t2.username username, diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/FaultIntervalTimeServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/FaultIntervalTimeServiceImpl.java index c6324fb..d4dd5a8 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/FaultIntervalTimeServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/FaultIntervalTimeServiceImpl.java @@ -92,7 +92,7 @@ if(equipmentReportRepair.getFaultTime() != null && equipmentReportRepair.getFaultTime().compareTo(endDate) < 0 && equipmentReportRepair.getFaultTime().compareTo(startDate) > 0){ //2銆侀獙鏀舵椂闂村湪鏌ヨ鏃堕棿娈靛唴 if(equipmentReportRepair.getAcceptTime() != null && equipmentReportRepair.getAcceptTime().compareTo(endDate) < 0){ - equipmentFaultTime = equipmentFaultTime.add(new BigDecimal(equipmentReportRepair.getFaultHour())); + equipmentFaultTime = equipmentFaultTime.add(equipmentReportRepair.getFaultHour()); count++; //3銆侀獙鏀舵椂闂村ぇ浜庢煡璇㈢粨鏉熸椂闂� }else { diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java index 45d9d2c..e383048 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java @@ -383,7 +383,7 @@ if(equipmentReportRepair.getFaultTime() != null && equipmentReportRepair.getFaultTime().compareTo(endDate) < 0 && equipmentReportRepair.getFaultTime().compareTo(startDate) > 0){ //2銆侀獙鏀舵椂闂村湪鏌ヨ鏃堕棿娈靛唴 if(equipmentReportRepair.getAcceptTime() != null && equipmentReportRepair.getAcceptTime().compareTo(endDate) < 0){ - equipmentFaultTime = equipmentFaultTime.add(new BigDecimal(equipmentReportRepair.getFaultHour())); + equipmentFaultTime = equipmentFaultTime.add(equipmentReportRepair.getFaultHour()); int flag = 0; if(CollectionUtils.isNotEmpty(faultTimeList)){ for(String faultTime : faultTimeList){ @@ -504,7 +504,7 @@ if(equipmentReportRepair.getFaultTime() != null && equipmentReportRepair.getFaultTime().compareTo(endDate) < 0 && equipmentReportRepair.getFaultTime().compareTo(startDate) > 0){ //2銆侀獙鏀舵椂闂村湪鏌ヨ鏃堕棿娈靛唴 if(equipmentReportRepair.getAcceptTime() != null && equipmentReportRepair.getAcceptTime().compareTo(endDate) < 0){ - equipmentFaultTime = equipmentFaultTime.add(new BigDecimal(equipmentReportRepair.getFaultHour())); + equipmentFaultTime = equipmentFaultTime.add(equipmentReportRepair.getFaultHour()); //3銆侀獙鏀舵椂闂村ぇ浜庢煡璇㈢粨鏉熸椂闂� }else { long diff2 = endDate.getTime() - equipmentReportRepair.getFaultTime().getTime(); diff --git "a/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11\050lnl\051/lnl.sql" "b/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11\050lnl\051/lnl.sql" new file mode 100644 index 0000000..3661494 --- /dev/null +++ "b/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11\050lnl\051/lnl.sql" @@ -0,0 +1,5 @@ +-- 鑿滃崟缁翠慨灞ュ巻淇敼 +UPDATE [dbo].[sys_permission] SET [parent_id] = N'1647845086853693442', [name] = N'缁翠慨灞ュ巻', [url] = N'/eam/RepairOrder', [component] = N'eam/RepairOrderList', [component_name] = NULL, [redirect] = NULL, [menu_type] = 1, [perms] = NULL, [perms_type] = N'1', [sort_no] = 1.2, [always_show] = 0, [icon] = NULL, [is_route] = 1, [is_leaf] = 1, [keep_alive] = 0, [hidden] = 0, [hide_tab] = 0, [description] = NULL, [create_by] = N'admin', [create_time] = '2023-04-24 16:56:44.0000000', [update_by] = N'admin', [update_time] = '2023-12-11 11:32:06.0090000', [del_flag] = 0, [rule_flag] = 0, [status] = N'1', [internal_or_external] = 0 WHERE CONVERT(NVARCHAR(MAX), [id]) = N'1650423515662295042'; +-- 鑿滃崟璁惧浜嬫晠鐧昏琛ㄤ慨鏀� +UPDATE [dbo].[sys_permission] SET [parent_id] = N'1647845086853693442', [name] = N'璁惧浜嬫晠鐧昏琛�', [url] = N'/eam/FaultInfoList', [component] = N'eam/FaultInfoList', [component_name] = NULL, [redirect] = NULL, [menu_type] = 1, [perms] = NULL, [perms_type] = N'1', [sort_no] = 2.1, [always_show] = 0, [icon] = NULL, [is_route] = 1, [is_leaf] = 1, [keep_alive] = 0, [hidden] = 0, [hide_tab] = 0, [description] = NULL, [create_by] = N'admin', [create_time] = '2023-11-13 09:39:39.0000000', [update_by] = N'admin', [update_time] = '2023-12-11 11:38:21.9880000', [del_flag] = 0, [rule_flag] = NULL, [status] = N'1', [internal_or_external] = 0 WHERE CONVERT(NVARCHAR(MAX), [id]) = N'1723878256194232322'; + -- Gitblit v1.9.3