From 8cd2d2d8c805be35db8f697926aea59792e80b36 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 18 八月 2025 09:07:56 +0800 Subject: [PATCH] 维修工单修改 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java | 91 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 84 insertions(+), 7 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java index 15ca1f2..1ef4f8e 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java @@ -19,6 +19,7 @@ import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; import org.jeecg.modules.eam.constant.*; import org.jeecg.modules.eam.dto.EamRepairOrderDto; +import org.jeecg.modules.eam.dto.EamRepairOrderExport; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamRepairOrder; import org.jeecg.modules.eam.entity.EamRepairPerson; @@ -36,6 +37,7 @@ import org.jeecg.modules.flowable.apithird.service.FlowCommonService; import org.jeecg.modules.flowable.service.IFlowDefinitionService; import org.jeecg.modules.flowable.service.IFlowTaskService; +import org.jeecg.modules.flowable.util.TimeUtil; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.entity.BaseFactoryUser; import org.jeecg.modules.system.service.IBaseFactoryService; @@ -205,11 +207,24 @@ } BeanUtils.copyProperties(eamRepairOrderDto,eamRepairOrder); eamRepairOrder.setRepairStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name()); - this.updateById(eamRepairOrder); + eamRepairOrder.setActualEndTime(new Date()); + //璁$畻缁翠慨鏃堕棿涓庢晠闅滄椂闂� + Date startTime; + Date endTime; + //缁翠慨缁撴潫鏃堕棿-缁翠慨寮�濮嬫椂闂�=缁翠慨鏃堕暱 + startTime=eamRepairOrder.getActualStartTime(); + endTime=eamRepairOrder.getActualEndTime(); + eamRepairOrder.setRepairDuration(TimeUtil.howLong(startTime,endTime,2)); + //缁翠慨缁撴潫鏃堕棿-鏁呴殰鎶ヤ慨鏃堕棿=鏁呴殰鏃堕暱 EamReportRepair eamReportRepair=eamReportRepairService.getById(eamRepairOrder.getReportId()); if (eamReportRepair==null){ return false; } + startTime=eamReportRepair.getFaultStartTime(); + endTime=eamRepairOrder.getActualEndTime(); + eamRepairOrder.setFaultDuration(TimeUtil.howLong(startTime,endTime,2)); + eamRepairOrder.setFaultStartTime(new Date()); + this.updateById(eamRepairOrder); eamReportRepair.setReportStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name()); eamReportRepairService.updateById(eamReportRepair); List<EamRepairPerson> eamRepairPersonList=new ArrayList<>(); @@ -237,12 +252,6 @@ } if (StrUtil.isEmpty(eamRepairOrder.getRepairCode())) { throw new RuntimeException("宸ュ崟缂栧彿涓虹┖"); - } - if (eamRepairOrder.getActualStartTime()==null){ - throw new RuntimeException("缁翠慨寮�濮嬫椂闂翠负绌�"); - } - if (eamRepairOrder.getActualEndTime()==null){ - throw new RuntimeException("缁翠慨缁撴潫鏃堕棿涓虹┖"); } if (StrUtil.isEmpty(eamRepairOrder.getFaultReason())){ throw new RuntimeException("鏁呴殰鍘熷洜涓虹┖"); @@ -371,6 +380,74 @@ return eamRepairOrderResponse; } + /** + * 缁翠慨宸ュ崟瀵煎嚭 + * @param eamRepairOrderQuery + * @return + */ + @Override + public List<EamRepairOrderExport> exportList(EamRepairOrderQuery eamRepairOrderQuery){ + QueryWrapper<EamRepairOrderExport> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("wmo.del_flag", CommonConstant.DEL_FLAG_0); + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return new ArrayList<>(); + } + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶� + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService. + list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId, sysUser.getId())); + if (!CollectionUtils.isEmpty(baseFactoryUserList)) { + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCode = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCode); + } else { + return new ArrayList<>(); + } + } + //鏌ヨ鏉′欢杩囨护 + if (eamRepairOrderQuery != null) { + if (StringUtils.isNotBlank(eamRepairOrderQuery.getEquipmentId())) { + queryWrapper.eq("wmo.equipment_id", eamRepairOrderQuery.getEquipmentId()); + } + if (StringUtils.isNotBlank(eamRepairOrderQuery.getEquipmentCode())) { + queryWrapper.like("e.equipment_code", eamRepairOrderQuery.getEquipmentCode()); + } + if (StringUtils.isNotBlank(eamRepairOrderQuery.getEquipmentName())) { + queryWrapper.like("e.equipment_name", eamRepairOrderQuery.getEquipmentName()); + } + if (StringUtils.isNotBlank(eamRepairOrderQuery.getRepairStatus())) { + queryWrapper.eq("wmo.repair_status", eamRepairOrderQuery.getRepairStatus()); + } + if (StringUtils.isNotBlank(eamRepairOrderQuery.getRepairCode())) { + queryWrapper.like("wmo.repair_code", eamRepairOrderQuery.getRepairCode()); + } + //鎺掑簭 + if (StringUtils.isNotBlank(eamRepairOrderQuery.getColumn()) && StringUtils.isNotBlank(eamRepairOrderQuery.getOrder())) { + String column = eamRepairOrderQuery.getColumn(); + if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) { + column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX)); + } + if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(eamRepairOrderQuery.getOrder())) { + queryWrapper.orderByAsc("wmo." + oConvertUtils.camelToUnderline(column)); + } else { + queryWrapper.orderByDesc("wmo." + oConvertUtils.camelToUnderline(column)); + } + } else { + queryWrapper.orderByDesc("wmo.create_time"); + } + } else { + queryWrapper.orderByDesc("wmo.create_time"); + } + return this.baseMapper.queryExportList(queryWrapper); + + } + private boolean claimTask(String taskId, LoginUser user) { Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); if (task == null) { -- Gitblit v1.9.3