From 9a9697c55fa66821cf74165ac2ae820182dae94d Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期三, 23 七月 2025 17:41:53 +0800 Subject: [PATCH] 设备维修对应接口 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java | 412 +++++++++++++++++----------------------------------------- 1 files changed, 124 insertions(+), 288 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 43b4479..92eb973 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 @@ -1,18 +1,15 @@ package org.jeecg.modules.eam.service.impl; - -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.flowable.engine.TaskService; import org.flowable.task.api.Task; -import org.jeecg.common.api.vo.FileUploadResult; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.DataBaseConstant; @@ -21,18 +18,17 @@ import org.jeecg.common.util.oConvertUtils; 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.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamRepairOrder; +import org.jeecg.modules.eam.entity.EamRepairPerson; import org.jeecg.modules.eam.entity.EamReportRepair; import org.jeecg.modules.eam.mapper.EamRepairOrderMapper; import org.jeecg.modules.eam.request.EamRepairOrderQuery; import org.jeecg.modules.eam.request.EamRepairOrderRequest; import org.jeecg.modules.eam.request.EamRepairOrderResponse; import org.jeecg.modules.eam.request.EamReportRepairQuery; -import org.jeecg.modules.eam.service.IEamEquipmentExtendService; -import org.jeecg.modules.eam.service.IEamEquipmentService; -import org.jeecg.modules.eam.service.IEamRepairOrderService; -import org.jeecg.modules.eam.service.IEamReportRepairService; +import org.jeecg.modules.eam.service.*; import org.jeecg.modules.eam.util.DateUtils; import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; @@ -40,6 +36,10 @@ 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.system.entity.BaseFactory; +import org.jeecg.modules.system.entity.BaseFactoryUser; +import org.jeecg.modules.system.service.IBaseFactoryService; +import org.jeecg.modules.system.service.IBaseFactoryUserService; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.vo.UserSelector; @@ -66,9 +66,6 @@ private FlowCommonService flowCommonService; @Resource - private ISysBusinessCodeRuleService businessCodeRuleService; - - @Resource private IEamReportRepairService eamReportRepairService; @Resource @@ -92,6 +89,15 @@ @Autowired private ISysUserService sysUserService; + @Autowired + private IBaseFactoryService baseFactoryService; + + @Autowired + private IBaseFactoryUserService baseFactoryUserService; + + @Autowired + private IEamRepairPersonService iEamRepairPersonService; + /** * 鍒嗛〉鍒楄〃 * @@ -108,13 +114,21 @@ if (sysUser == null) { return page; } - if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) { + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 - List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(",")); + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); queryWrapper.in("e.equipment_code", equipArr); } else { - //娌℃湁閫夋嫨璁惧锛屾牴鎹溅闂磋繃婊よ澶� - queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId()); + //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶� + 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 page; + } } //鏌ヨ鏉′欢杩囨护 if (query != null) { @@ -130,15 +144,9 @@ if (StringUtils.isNotBlank(query.getRepairStatus())) { queryWrapper.eq("wmo.repair_status", query.getRepairStatus()); } - if (StringUtils.isNotBlank(query.getRepairer())) { - queryWrapper.like("wmo.repairer", query.getRepairer()); - } if (StringUtils.isNotBlank(query.getRepairCode())) { queryWrapper.like("wmo.repair_code", query.getRepairCode()); } -// if(query.getStartTime() != null && query.getEndTime() != null) { -// queryWrapper.between("wmo.fault_start_time", query.getStartTime(), query.getEndTime()); -// } //鎺掑簭 if (StringUtils.isNotBlank(query.getColumn()) && StringUtils.isNotBlank(query.getOrder())) { String column = query.getColumn(); @@ -160,91 +168,105 @@ return baseMapper.queryPageList(page, queryWrapper); } + /** + * 濉姤璇︽儏 + * @param id + */ @Override - @Transactional(rollbackFor = Exception.class) - public void saveRepairOrder(EamRepairOrder eamRepairOrder) { - String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.REPAIR_ORDER_CODE_RULE); - eamRepairOrder.setRepairCode(codeSeq); - EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId()); - if(eamReportRepair == null){ - throw new JeecgBootException("鏁呴殰鎶ヤ慨涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); + public List<EamRepairOrderDto> queryByReportId(String id){ + List<EamRepairOrder> eamRepairOrders=this.list( + new QueryWrapper<EamRepairOrder>().eq("id",id)); + List<EamRepairOrderDto> eamRepairOrderDtoList=new ArrayList<>(); + if (CollectionUtils.isEmpty(eamRepairOrders)) { + return null; + }else { + eamRepairOrders.forEach(eamRepairOrder->{ + EamRepairOrderDto eamRepairOrderDto=new EamRepairOrderDto(); + BeanUtils.copyProperties(eamRepairOrder,eamRepairOrderDto); + List<EamRepairPerson> eamRepairPersonList=iEamRepairPersonService.list( + new QueryWrapper<EamRepairPerson>().eq("repair_id",eamRepairOrder.getId())); + eamRepairOrderDto.setEamRepairPersonList(eamRepairPersonList); + eamRepairOrderDtoList.add(eamRepairOrderDto); + }); } - eamRepairOrder.setDelFlag(CommonConstant.DEL_FLAG_0); - eamRepairOrder.setEquipmentId(eamReportRepair.getEquipmentId()); - eamRepairOrder.setRepairStatus(ReportRepairEnum.WAIT_INTERNAL_CONFIRM.name()); - eamRepairOrder.setActualStartTime(DateUtils.getNow()); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - eamRepairOrder.setRepairer(user.getUsername()); - super.save(eamRepairOrder); - EamEquipment eamEquipment = eamEquipmentService.getById(eamReportRepair.getEquipmentId()); - // 鍚姩缁翠慨娴佺▼ - flowCommonService.initActBusiness("宸ュ崟鍙凤細" + codeSeq + ", 璁惧缂栧彿锛�" + eamEquipment.getEquipmentCode() + ";瀹夎浣嶇疆: " + eamEquipment.getInstallationPosition(), - eamRepairOrder.getId(), - "IEamRepairOrderService", - "eam_repair", - null); - Map<String, Object> variables = new HashMap<>(); - variables.put("dataId", eamRepairOrder.getId()); - variables.put("organization", "缁翠慨宸ュ崟鍚姩娴佺▼"); - variables.put("comment", "缁翠慨宸ュ崟鍚姩娴佺▼"); - variables.put("proofreading", true); - List<String> usernames = new ArrayList<>(); - usernames.add(user.getUsername()); - variables.put("NextAssignee", usernames); - Result result = flowDefinitionService.startProcessInstanceByKey("eam_repair", variables); - if (!result.isSuccess()) { - super.removeById(eamRepairOrder); - } else { - eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_INTERNAL_CONFIRM.name()); - eamReportRepairService.updateById(eamReportRepair); - //鏇存柊璁惧缁翠慨鐘舵�� - eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.UNDER_REPAIR.name()); - } + return eamRepairOrderDtoList; } /** - * 鎸囨淳 - * @param eamReportRepairQuery + * 濉姤缁翠慨宸ュ崟 + * @param eamRepairOrderDto */ @Override @Transactional(rollbackFor = Exception.class) - public void assign(EamReportRepairQuery eamReportRepairQuery) { - EamRepairOrder eamRepairOrder = new EamRepairOrder(); - String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.REPAIR_ORDER_CODE_RULE); - eamRepairOrder.setRepairCode(codeSeq); - EamReportRepair eamReportRepair = eamReportRepairService.getById(eamReportRepairQuery.getId()); - if(eamReportRepair == null){ - throw new JeecgBootException("鏁呴殰鎶ヤ慨涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); + public boolean report(EamRepairOrderDto eamRepairOrderDto){ + EamRepairOrder eamRepairOrder=this.getById(eamRepairOrderDto.getId()); + if (eamRepairOrder==null){ + return false; } - eamRepairOrder.setDelFlag(CommonConstant.DEL_FLAG_0); - eamRepairOrder.setEquipmentId(eamReportRepair.getEquipmentId()); - eamRepairOrder.setRepairStatus(ReportRepairEnum.WAIT_INTERNAL_CONFIRM.name()); - eamRepairOrder.setActualStartTime(DateUtils.getNow()); - eamRepairOrder.setRepairer(eamReportRepairQuery.getRepairer()); - super.save(eamRepairOrder); - EamEquipment eamEquipment = eamEquipmentService.getById(eamReportRepair.getEquipmentId()); + BeanUtils.copyProperties(eamRepairOrderDto,eamRepairOrder); + eamRepairOrder.setRepairStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name()); + this.updateById(eamRepairOrder); + EamReportRepair eamReportRepair=eamReportRepairService.getById(eamRepairOrder.getReportId()); + if (eamReportRepair==null){ + return false; + } + eamReportRepair.setReportStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name()); + eamReportRepairService.updateById(eamReportRepair); + iEamRepairPersonService.remove(new QueryWrapper<EamRepairPerson>().eq("repair_id",eamRepairOrderDto.getId())); + if(CollectionUtils.isNotEmpty(eamRepairOrderDto.getEamRepairPersonList())) { + List<EamRepairPerson> persons = eamRepairOrderDto.getEamRepairPersonList().stream() + .map(person -> new EamRepairPerson() + .setRepairId(eamRepairOrder.getId()) + .setDelFlag(CommonConstant.DEL_FLAG_0)) + .collect(Collectors.toList()); + iEamRepairPersonService.saveBatch(persons); + } + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveRepairOrder(String id) { + EamRepairOrder eamRepairOrder = this.getById(id); + List<EamRepairPerson> eamRepairPersonList=iEamRepairPersonService.list( + new QueryWrapper<EamRepairPerson>().eq("repair_id",eamRepairOrder.getId())); + if (CollectionUtils.isEmpty(eamRepairPersonList)) { + throw new RuntimeException("缁翠慨浜哄憳涓嶈兘涓虹┖"); + } + if (StrUtil.isEmpty(eamRepairOrder.getRepairCode())) {} + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + EamEquipment eamEquipment = eamEquipmentService.getById(eamRepairOrder.getEquipmentId()); + List<UserSelector> userSelectorList = sysUserService.selectOperatorList(eamEquipment.getEquipmentCode(), eamEquipment.getFactoryOrgCode(), BusinessCodeConst.PCR0001); // 鍚姩缁翠慨娴佺▼ - flowCommonService.initActBusiness("宸ュ崟鍙凤細" + codeSeq + ", 璁惧缂栧彿锛�" + eamEquipment.getEquipmentCode() + ";瀹夎浣嶇疆: " + eamEquipment.getInstallationPosition(), + flowCommonService.initActBusiness("宸ュ崟鍙凤細" + eamRepairOrder.getRepairCode() + ", 璁惧缂栧彿锛�" + eamEquipment.getEquipmentCode()+"鍙戣捣缁翠慨娴佺▼", eamRepairOrder.getId(), "IEamRepairOrderService", - "eam_repair", + "repair_work_order", null); Map<String, Object> variables = new HashMap<>(); variables.put("dataId", eamRepairOrder.getId()); variables.put("organization", "缁翠慨宸ュ崟鍚姩娴佺▼"); variables.put("comment", "缁翠慨宸ュ崟鍚姩娴佺▼"); variables.put("proofreading", true); - List<String> usernames = new ArrayList<>(); - usernames.add(eamReportRepairQuery.getRepairer()); - variables.put("NextAssignee", usernames); - Result result = flowDefinitionService.startProcessInstanceByKey("eam_repair", variables); + if (CollectionUtils.isEmpty(userSelectorList)) { + throw new JeecgBootException("璁惧鏈瓨鍦ㄦ搷浣滃憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒"); + }else { + List<String> usernameList = userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList()); + variables.put("NextAssignee", usernameList); + } + Result result = flowDefinitionService.startProcessInstanceByKey("repair_work_order", variables); if (!result.isSuccess()) { super.removeById(eamRepairOrder); } else { - eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_INTERNAL_CONFIRM.name()); + eamRepairOrder.setRepairConfirm(user.getUsername()); + eamRepairOrder.setRepairConfirmTime(new Date()); + eamRepairOrder.setRepairStatus(EamRepairOrderRepairStatusEnum.PENDING_CONFIRMATION.name()); + this.updateById(eamRepairOrder); + EamReportRepair eamReportRepair=eamReportRepairService.getById(eamRepairOrder.getReportId()); + eamReportRepair.setReportStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name()); eamReportRepairService.updateById(eamReportRepair); //鏇存柊璁惧缁翠慨鐘舵�� - eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.UNDER_REPAIR.name()); + eamEquipmentExtendService.updateEquipmentRepairStatus(eamRepairOrder.getEquipmentId(), EquipmentRepairStatus.UNDER_REPAIR.name()); } } @@ -261,10 +283,6 @@ EamRepairOrder order = this.baseMapper.selectById(request.getId()); if (order == null) { throw new JeecgBootException("缁翠慨宸ュ崟涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); - } - EamReportRepair eamReportRepair = eamReportRepairService.getById(order.getReportId()); - if (eamReportRepair == null) { - throw new JeecgBootException("鏁呴殰鎶ヤ慨涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); } // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛 LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -289,214 +307,34 @@ if (equipment == null) { throw new JeecgBootException("璁惧涓嶅瓨鍦紝璇锋鏌ワ紒"); } - - ReportRepairEnum status = ReportRepairEnum.getInstance(order.getRepairStatus()); - if (status == null) { - throw new JeecgBootException("宸ュ崟鐘舵�佷笉鍚堟硶锛岃妫�鏌ワ紒"); - } //娴佺▼鍙橀噺 Map<String, Object> values = new HashMap<>(); - List<UserSelector> userSelectors; - List<String> userApprovalList; - switch (status) { - case WAIT_INTERNAL_CONFIRM: - order.setRepairConfirm(request.getRepairConfirm()); - order.setRepairConfirmComment(request.getRepairConfirmComment()); - order.setRepairConfirmTime(new Date()); - values.put("dataId", order.getId()); - values.put("repairConfirm", request.getRepairConfirm()); - if(StringUtils.isNotBlank(request.getRepairConfirmComment())){ - values.put("organization", request.getRepairConfirmComment()); - values.put("comment", request.getRepairConfirmComment()); - request.setComment(request.getRepairConfirmComment()); - }else { - values.put("organization", "缁翠慨宸ュ崟缁翠慨浜虹‘璁ゅ畬鎴�"); - values.put("comment", "缁翠慨宸ュ崟缁翠慨浜虹‘璁ゅ畬鎴�"); - request.setComment("缁翠慨宸ュ崟缁翠慨浜虹‘璁ゅ畬鎴�"); - } - if(CommonConstant.STATUS_1.equals(request.getRepairConfirm())) { - //鍙唴閮ㄧ淮淇� 缁翠慨浜鸿繘琛岀淮淇� - values.put("NextAssignee", Arrays.asList(order.getRepairer().split(","))); - - order.setRepairStatus(ReportRepairEnum.UNDER_INTERNAL_REPAIR.name()); - eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_INTERNAL_REPAIR.name()); - }else { - //鎻愪氦鏈哄姩鍔炵淮淇紝杞﹂棿绠$悊鍛樼‘璁� - userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0003); - if (CollectionUtil.isEmpty(userSelectors)) { - throw new JeecgBootException("璁惧鏈垎閰嶇粰鐝粍闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); - } - userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); - values.put("NextAssignee", userApprovalList); - order.setRepairStatus(ReportRepairEnum.WAIT_LEADER_CONFIRM.name()); - eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_LEADER_CONFIRM.name()); - } - break; - case UNDER_INTERNAL_REPAIR: - // 鍐呴儴缁翠慨 - values.put("dataId", order.getId()); - values.put("organization", "缁翠慨宸ュ崟缁翠慨瀹屾垚寰呮搷浣滃伐纭"); - values.put("comment", "缁翠慨宸ュ崟缁翠慨瀹屾垚寰呮搷浣滃伐纭"); - values.put("NextAssignee", Arrays.asList(eamReportRepair.getCreateBy().split(","))); - request.setComment("缁翠慨宸ュ崟缁翠慨瀹屾垚寰呮搷浣滃伐纭"); - order.setRepairStatus(ReportRepairEnum.WAIT_CONFIRM.name()); - eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_CONFIRM.name()); - order.setFaultReason(request.getFaultReason()); - order.setRepairDescription(request.getRepairDescription()); - order.setActualEndTime(new Date()); - // 澶勭悊闄勪欢 - if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) { - List<FileUploadResult> fileUploadResultList = request.getImageFilesResult(); - ObjectMapper mapper = new ObjectMapper(); - try { - String referenceFile = mapper.writeValueAsString(fileUploadResultList); - order.setImageFiles(referenceFile); - } catch (JsonProcessingException e) { - log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e); - } - } - //鏇存柊璁惧缁翠慨鐘舵�� - eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_CONFIRM.name()); - break; - case WAIT_LEADER_CONFIRM: - order.setLeaderConfirm(request.getLeaderConfirm()); - order.setLeaderConfirmComment(request.getLeaderConfirmComment()); - order.setLeaderUser(user.getUsername()); - order.setLeaderConfirmTime(new Date()); - values.put("dataId", order.getId()); - values.put("leaderConfirm", request.getLeaderConfirm()); - if(StringUtils.isNotBlank(request.getLeaderConfirmComment())){ - values.put("organization", request.getLeaderConfirmComment()); - values.put("comment", request.getLeaderConfirmComment()); - request.setComment(request.getLeaderConfirmComment()); - }else { - values.put("organization", "缁翠慨宸ュ崟棰嗗纭瀹屾垚"); - values.put("comment", "缁翠慨宸ュ崟棰嗗纭瀹屾垚"); - request.setComment("缁翠慨宸ュ崟棰嗗纭瀹屾垚"); - } - if(CommonConstant.STATUS_1.equals(request.getLeaderConfirm())) { - //閫氳繃 鎻愪氦鏈哄姩鍔炵淮淇� - userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0006); - if (CollectionUtil.isEmpty(userSelectors)) { - throw new JeecgBootException("璁惧鏈垎閰嶇粰鍏徃绠$悊鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); - } - userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); - values.put("NextAssignee", userApprovalList); - order.setRepairStatus(ReportRepairEnum.WAIT_EXTERNAL_CONFIRM.name()); - eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_EXTERNAL_CONFIRM.name()); - }else { - //椹冲洖 鍙唴閮ㄧ淮淇� 缁翠慨浜鸿繘琛岀淮淇� - values.put("NextAssignee", Arrays.asList(order.getRepairer().split(","))); - order.setRepairStatus(ReportRepairEnum.UNDER_INTERNAL_REPAIR.name()); - eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_INTERNAL_REPAIR.name()); - } - break; - case WAIT_EXTERNAL_CONFIRM: - order.setExternalConfirm(request.getExternalConfirm()); - order.setExternalConfirmComment(request.getExternalConfirmComment()); - order.setExternalRepairer(user.getUsername()); - order.setExternalConfirmTime(new Date()); - values.put("dataId", order.getId()); - values.put("externalConfirm", request.getExternalConfirm()); - if(StringUtils.isNotBlank(request.getExternalConfirmComment())){ - values.put("organization", request.getExternalConfirmComment()); - values.put("comment", request.getExternalConfirmComment()); - request.setComment(request.getExternalConfirmComment()); - }else { - values.put("organization", "缁翠慨宸ュ崟鏈哄姩鍔炵‘璁ゅ畬鎴�"); - values.put("comment", "缁翠慨宸ュ崟鏈哄姩鍔炵‘璁ゅ畬鎴�"); - request.setComment("缁翠慨宸ュ崟鏈哄姩鍔炵‘璁ゅ畬鎴�"); - } - if(CommonConstant.STATUS_1.equals(request.getExternalConfirm())) { - //鏈哄姩鍔炲彲缁翠慨 鏈哄姩鍔炵淮淇汉杩涜缁翠慨 - values.put("NextAssignee", Arrays.asList(order.getExternalRepairer().split(","))); - order.setRepairStatus(ReportRepairEnum.UNDER_EXTERNAL_REPAIR.name()); - eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_EXTERNAL_REPAIR.name()); - }else { - //鏈哄姩鍔炰笉鍙淮淇� 杩涜濮斿缁翠慨 - values.put("NextAssignee", Arrays.asList(order.getExternalRepairer().split(","))); - order.setRepairStatus(ReportRepairEnum.UNDER_OUTSIDE_REPAIR.name()); - eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_OUTSIDE_REPAIR.name()); - } - break; - case UNDER_EXTERNAL_REPAIR: - // 鏈哄姩鍔炵淮淇� - values.put("dataId", order.getId()); - values.put("organization", "缁翠慨宸ュ崟鏈哄姩鍔炵淮淇畬鎴愬緟鎿嶄綔宸ョ‘璁�"); - values.put("comment", "缁翠慨宸ュ崟鏈哄姩鍔炵淮淇畬鎴愬緟鎿嶄綔宸ョ‘璁�"); - values.put("NextAssignee", Arrays.asList(eamReportRepair.getCreateBy().split(","))); - request.setComment("缁翠慨宸ュ崟鏈哄姩鍔炵淮淇畬鎴愬緟鎿嶄綔宸ョ‘璁�"); - order.setRepairStatus(ReportRepairEnum.WAIT_CONFIRM.name()); - eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_CONFIRM.name()); - order.setFaultReason(request.getFaultReason()); - order.setRepairDescription(request.getRepairDescription()); - order.setActualEndTime(new Date()); - // 澶勭悊闄勪欢 - if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) { - List<FileUploadResult> fileUploadResultList = request.getImageFilesResult(); - ObjectMapper mapper = new ObjectMapper(); - try { - String referenceFile = mapper.writeValueAsString(fileUploadResultList); - order.setImageFiles(referenceFile); - } catch (JsonProcessingException e) { - log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e); - } - } - //鏇存柊璁惧缁翠慨鐘舵�� - eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_CONFIRM.name()); - break; - case UNDER_OUTSIDE_REPAIR: - // 鏈哄姩鍔炵淮淇� - values.put("dataId", order.getId()); - values.put("organization", "缁翠慨宸ュ崟濮斿缁翠慨瀹屾垚寰呮搷浣滃伐纭"); - values.put("comment", "缁翠慨宸ュ崟濮斿缁翠慨瀹屾垚寰呮搷浣滃伐纭"); - values.put("NextAssignee", Arrays.asList(eamReportRepair.getCreateBy().split(","))); - request.setComment("缁翠慨宸ュ崟濮斿缁翠慨瀹屾垚寰呮搷浣滃伐纭"); - order.setRepairStatus(ReportRepairEnum.WAIT_CONFIRM.name()); - order.setOutsourcedUser(user.getUsername()); - eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_CONFIRM.name()); - order.setFaultReason(request.getFaultReason()); - order.setRepairDescription(request.getRepairDescription()); - order.setActualEndTime(new Date()); - // 澶勭悊闄勪欢 - if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) { - List<FileUploadResult> fileUploadResultList = request.getImageFilesResult(); - ObjectMapper mapper = new ObjectMapper(); - try { - String referenceFile = mapper.writeValueAsString(fileUploadResultList); - order.setImageFiles(referenceFile); - } catch (JsonProcessingException e) { - log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e); - } - } - //鏇存柊璁惧缁翠慨鐘舵�� - eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_CONFIRM.name()); - break; - case WAIT_CONFIRM: - // 寰呯‘璁�, 缁翠慨鍛樼淮淇畬鎴愶紝鎶ヤ慨浜虹‘璁ょ粨鏉熸祦绋� - values.put("dataId", order.getId()); - values.put("organization", "缁翠慨宸ュ崟娴佺▼缁撴潫"); - values.put("comment", "缁翠慨宸ュ崟娴佺▼缁撴潫"); - request.setComment("缁翠慨宸ュ崟娴佺▼缁撴潫"); - order.setRepairStatus(ReportRepairEnum.COMPLETE.name()); - eamReportRepair.setReportStatus(ReportRepairEnum.COMPLETE.name()); - order.setConfirmComment(request.getConfirmComment()); - order.setConfirmTime(new Date()); - order.setConfirmer(user.getUsername()); - //鏇存柊璁惧缁翠慨鐘舵�� - eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.NORMAL.name()); - break; - } + values.put("dataId", request.getId()); + values.put("assignee", user.getId()); + values.put("organization", request.getConfirmComment()); + values.put("comment", request.getConfirmComment()); + request.setComment(request.getConfirmComment()); request.setValues(values); - // 瀹屾垚娴佺▼浠诲姟 Result result = flowTaskService.complete(request); if (!result.isSuccess()) { throw new JeecgBootException("瀹℃壒澶辫触锛岃鍒锋柊鏌ョ湅锛�"); } //淇濆瓨宸ュ崟 + if (request.getConfirmResult() != null) { + if ("1".equals(request.getConfirmResult())) { + order.setRepairStatus(EamRepairOrderRepairStatusEnum.REPAIR_COMPLETED.name()); + }else { + order.setRepairStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name()); + } + } + order.setConfirmer(user.getUsername()); + order.setConfirmTime(new Date()); + order.setConfirmResult(request.getConfirmResult()); + order.setConfirmComment(request.getConfirmComment()); this.baseMapper.updateById(order); - // 鍚屾鏇存柊鎶ヤ慨琛ㄧ姸鎬� + EamReportRepair eamReportRepair=eamReportRepairService.getById(order.getReportId()); + eamReportRepair.setReportStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name()); eamReportRepairService.updateById(eamReportRepair); return order; } @@ -508,8 +346,6 @@ BeanUtils.copyProperties(eamRepairOrder, eamRepairOrderResponse); EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId()); BeanUtils.copyProperties(eamReportRepair, eamRepairOrderResponse); - eamRepairOrderResponse.setReportImageFiles(eamReportRepair.getImageFiles()); - eamRepairOrderResponse.setImageFiles(eamRepairOrder.getImageFiles()); return eamRepairOrderResponse; } -- Gitblit v1.9.3