From 23396e93588f52941f729fc63cea84a70847d3bc Mon Sep 17 00:00:00 2001 From: hyingbo <1363390067@qq.com> Date: 星期四, 11 九月 2025 11:08:12 +0800 Subject: [PATCH] 二保三保设备保养时间调整 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentExtendServiceImpl.java | 18 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java | 29 +++++- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java | 10 +- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/SecondMaintenanceOrderGenerateJob.java | 28 ++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 28 ++++-- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentExtendService.java | 6 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderGenerateJob.java | 21 +++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java | 6 - lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java | 35 ++++++++ 9 files changed, 145 insertions(+), 36 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentExtendService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentExtendService.java index c886331..53d8270 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentExtendService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentExtendService.java @@ -1,7 +1,9 @@ package org.jeecg.modules.eam.service; -import org.jeecg.modules.eam.entity.EamEquipmentExtend; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.entity.EamEquipmentExtend; + +import java.util.Date; /** * @Description: 璁惧鍙拌处鎵╁睍琛� @@ -16,7 +18,7 @@ * @param status 鐘舵�� * @return */ - boolean updateEquipmentMaintenanceStatus(String equipmentId, String status); + boolean updateEquipmentMaintenanceStatus(String equipmentId, String status, String maintenanceCategory, Date date); /** * 鏇存柊璁惧缁翠慨鐘舵�� diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentExtendServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentExtendServiceImpl.java index b7c322d..ae2157c 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentExtendServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentExtendServiceImpl.java @@ -1,14 +1,16 @@ package org.jeecg.modules.eam.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum; import org.jeecg.modules.eam.entity.EamEquipmentExtend; import org.jeecg.modules.eam.mapper.EamEquipmentExtendMapper; import org.jeecg.modules.eam.service.IEamEquipmentExtendService; import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Date; +import java.util.Objects; /** * @Description: 璁惧鍙拌处鎵╁睍琛� @@ -24,12 +26,22 @@ @Override @Transactional(rollbackFor = Exception.class) - public boolean updateEquipmentMaintenanceStatus(String equipmentId, String status) { + public boolean updateEquipmentMaintenanceStatus(String equipmentId, String status, String maintenanceCategory, Date date) { EamEquipmentExtend entity = eamEquipmentExtendMapper.selectById(equipmentId); if (entity == null) { return false; } + entity.setMaintenanceStatus(status); + if (Objects.nonNull(date)) { + if (MaintenanceCategoryEnum.SECOND_MAINTENANCE.name().equals(maintenanceCategory)) { + entity.setLatestSecondMaintenance(new Date()); + entity.setNextSecondMaintenance(date); + }else if (MaintenanceCategoryEnum.THIRD_MAINTENANCE.name().equals(maintenanceCategory)) { + entity.setLatestThirdMaintenance(new Date()); + entity.setNextThirdMaintenance(date); + } + } eamEquipmentExtendMapper.updateById(entity); return true; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java index 416a747..b387332 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java @@ -18,7 +18,6 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.exception.ExceptionCast; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.util.FileUtil; @@ -32,7 +31,6 @@ import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamMaintenanceStandard; import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; -import org.jeecg.modules.eam.entity.EamSysFiles; import org.jeecg.modules.eam.request.EamMaintenanceStandardRequest; import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IEamMaintenanceStandardService; @@ -388,7 +386,7 @@ } /** - * 閫氳繃excel瀵煎叆鏁版嵁 + * 浜屼繚-閫氳繃excel瀵煎叆鏁版嵁 * * @param request * @param response @@ -446,7 +444,7 @@ } /** - * 閫氳繃excel瀵煎叆鏁版嵁 + * 涓変繚-閫氳繃excel瀵煎叆鏁版嵁 * * @param request * @param response diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/SecondMaintenanceOrderGenerateJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/SecondMaintenanceOrderGenerateJob.java index 89b126a..3f9883f 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/SecondMaintenanceOrderGenerateJob.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/SecondMaintenanceOrderGenerateJob.java @@ -1,18 +1,21 @@ package org.jeecg.modules.eam.job; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum; import org.jeecg.modules.eam.constant.OrderCreationMethodEnum; -import org.jeecg.modules.eam.entity.*; +import org.jeecg.modules.eam.entity.EamEquipmentExtend; +import org.jeecg.modules.eam.entity.EamMaintenanceStandard; +import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; +import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrderDetail; import org.jeecg.modules.eam.request.EamSecondMaintenanceRequest; -import org.jeecg.modules.eam.request.EamWeekMaintenanceRequest; +import org.jeecg.modules.eam.service.IEamEquipmentExtendService; import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; import org.jeecg.modules.eam.service.IEamMaintenanceStandardService; import org.jeecg.modules.eam.service.IEamSecondMaintenanceOrderService; -import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService; import org.jeecg.modules.mdc.util.ThrowableUtil; import org.jeecg.modules.quartz.entity.QuartzJob; import org.jeecg.modules.quartz.entity.SysQuartzLog; @@ -30,6 +33,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Component @@ -48,6 +52,8 @@ private ISysQuartzLogService sysQuartzLogService; @Autowired private IQuartzJobService quartzJobService; + @Autowired + private IEamEquipmentExtendService equipmentExtendService; @Override @Transactional(rollbackFor = Exception.class) @@ -69,6 +75,14 @@ log.warn("娌℃湁閰嶇疆浠讳綍浜屼繚鏍囧噯锛屼换鍔$粨鏉�"); return; } + List<String> equipmentIdList = standardList.stream().map(EamMaintenanceStandard::getEquipmentId).collect(Collectors.toList()); + List<EamEquipmentExtend> eamEquipmentExtendList = equipmentExtendService.list(new LambdaQueryWrapper<EamEquipmentExtend>() + .in(EamEquipmentExtend::getId, equipmentIdList)); + Map<String, EamEquipmentExtend> eamEquipmentExtendByIdMap = eamEquipmentExtendList.stream() + .collect(Collectors.toMap(EamEquipmentExtend::getId, + eamEquipmentExtend -> eamEquipmentExtend, + (v1, v2) -> v1)); + //褰撳墠鏃ユ湡 LocalDate now = LocalDate.now(); try { @@ -124,6 +138,14 @@ standard.setLastGenerateTime(new Date()); eamMaintenanceStandardService.updateById(standard); + + LocalDate nextSecondMaintenanceDate = DateUtils.dateToLocalDate(standard.getInitialDate()).plusDays(standard.getMaintenancePeriod()); + + if (eamEquipmentExtendByIdMap.containsKey(standard.getEquipmentId())) { + EamEquipmentExtend eamEquipmentExtend = eamEquipmentExtendByIdMap.get(standard.getEquipmentId()); + eamEquipmentExtend.setNextSecondMaintenance(DateUtils.localDateToDate(nextSecondMaintenanceDate)); + equipmentExtendService.updateById(eamEquipmentExtend); + } } quartzLog.setIsSuccess(0); } catch (Exception e) { diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderGenerateJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderGenerateJob.java index 8e19741..fc65fd1 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderGenerateJob.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderGenerateJob.java @@ -1,13 +1,13 @@ package org.jeecg.modules.eam.job; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum; import org.jeecg.modules.eam.constant.OrderCreationMethodEnum; import org.jeecg.modules.eam.entity.*; -import org.jeecg.modules.eam.request.EamSecondMaintenanceRequest; import org.jeecg.modules.eam.request.EamThirdMaintenanceRequest; import org.jeecg.modules.eam.service.*; import org.jeecg.modules.mdc.util.ThrowableUtil; @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Component @@ -47,6 +48,8 @@ private ISysQuartzLogService sysQuartzLogService; @Autowired private IQuartzJobService quartzJobService; + @Autowired + private IEamEquipmentExtendService equipmentExtendService; @Override @Transactional(rollbackFor = Exception.class) @@ -68,6 +71,14 @@ log.warn("娌℃湁閰嶇疆浠讳綍涓変繚鏍囧噯锛屼换鍔$粨鏉�"); return; } + + List<String> equipmentIdList = standardList.stream().map(EamMaintenanceStandard::getEquipmentId).collect(Collectors.toList()); + List<EamEquipmentExtend> eamEquipmentExtendList = equipmentExtendService.list(new LambdaQueryWrapper<EamEquipmentExtend>() + .in(EamEquipmentExtend::getId, equipmentIdList)); + Map<String, EamEquipmentExtend> eamEquipmentExtendByIdMap = eamEquipmentExtendList.stream() + .collect(Collectors.toMap(EamEquipmentExtend::getId, + eamEquipmentExtend -> eamEquipmentExtend, + (v1, v2) -> v1)); //褰撳墠鏃ユ湡 LocalDate now = LocalDate.now(); try { @@ -139,6 +150,14 @@ standard.setLastGenerateTime(new Date()); eamMaintenanceStandardService.updateById(standard); + + LocalDate nextSecondMaintenanceDate = DateUtils.dateToLocalDate(standard.getInitialDate()).plusDays(standard.getMaintenancePeriod()); + + if (eamEquipmentExtendByIdMap.containsKey(standard.getEquipmentId())) { + EamEquipmentExtend eamEquipmentExtend = eamEquipmentExtendByIdMap.get(standard.getEquipmentId()); + eamEquipmentExtend.setNextThirdMaintenance(DateUtils.localDateToDate(nextSecondMaintenanceDate)); + equipmentExtendService.updateById(eamEquipmentExtend); + } } quartzLog.setIsSuccess(0); } catch (Exception e) { diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java index f0507d6..2bb6b18 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.beust.jcommander.internal.Lists; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.lang3.StringUtils; @@ -15,24 +16,31 @@ import org.jeecg.common.exception.ExceptionCast; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.FileUtil; +import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum; import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum; +import org.jeecg.modules.eam.entity.EamEquipmentExtend; import org.jeecg.modules.eam.entity.EamMaintenanceStandard; import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; import org.jeecg.modules.eam.entity.EamSysFiles; import org.jeecg.modules.eam.mapper.EamMaintenanceStandardMapper; import org.jeecg.modules.eam.request.EamMaintenanceStandardRequest; +import org.jeecg.modules.eam.service.IEamEquipmentExtendService; import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; import org.jeecg.modules.eam.service.IEamMaintenanceStandardService; import org.jeecg.modules.eam.service.IEamSysFilesService; -import org.jeecg.modules.system.service.ISysFilesService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.*; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -52,6 +60,8 @@ @Autowired private IEamSysFilesService sysFilesService; + @Autowired + private IEamEquipmentExtendService eamEquipmentExtendService; @Override public IPage<EamMaintenanceStandard> queryPageList(Page<EamMaintenanceStandard> page, EamMaintenanceStandard eamMaintenanceStandard) { @@ -136,6 +146,11 @@ } } eamMaintenanceStandardMapper.insert(entity); + + //淇濆吇鍒嗙被涓轰簩淇�/涓変繚鏃惰缃笅娆′繚鍏绘椂闂� + if (Lists.newArrayList(MaintenanceCategoryEnum.SECOND_MAINTENANCE.name(), MaintenanceCategoryEnum.THIRD_MAINTENANCE.name()).contains(entity.getMaintenanceCategory())) { + updateEquipmentExtendInfo(entity); + } //澶勭悊鏄庣粏鏁版嵁 if(CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) { standardRequest.getTableDetailList().forEach(tableDetail -> { @@ -189,11 +204,25 @@ eamMaintenanceStandardDetailService.updateBatchById(updateList); } } + updateEquipmentExtendInfo(entity); if(CollectionUtil.isNotEmpty(standardRequest.getRemoveDetailList())) { List<String> ids = standardRequest.getRemoveDetailList().stream().map(EamMaintenanceStandardDetail::getId).collect(Collectors.toList()); eamMaintenanceStandardDetailService.removeBatchByIds(ids); } return true; + } + + private boolean updateEquipmentExtendInfo(EamMaintenanceStandard entity) { + //鏌ヨ璁惧鎵╁睍琛� + EamEquipmentExtend eamEquipmentExtend = eamEquipmentExtendService.getById(entity.getEquipmentId()); + //澶勭悊璁惧鎵╁睍琛ㄤ腑涓嬫淇濆吇鏃堕棿 + LocalDate nextSecondMaintenanceDate = DateUtils.dateToLocalDate(entity.getInitialDate()).plusDays(entity.getMaintenancePeriod()); + if (MaintenanceCategoryEnum.THIRD_MAINTENANCE.name().equals(entity.getMaintenanceCategory())) { + eamEquipmentExtend.setNextThirdMaintenance(DateUtils.localDateToDate(nextSecondMaintenanceDate)); + }else if (MaintenanceCategoryEnum.SECOND_MAINTENANCE.name().equals(entity.getMaintenanceCategory())) { + eamEquipmentExtend.setNextSecondMaintenance(DateUtils.localDateToDate(nextSecondMaintenanceDate)); + } + return eamEquipmentExtendService.updateById(eamEquipmentExtend); } @Override @@ -251,6 +280,8 @@ }); eamMaintenanceStandardDetailService.saveBatch(standardRequest.getTableDetailList()); } + + updateEquipmentExtendInfo(entity); return true; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java index 42ec1ff..8abe1f7 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java @@ -3,6 +3,7 @@ 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.extension.plugins.pagination.Page; @@ -19,10 +20,14 @@ import org.jeecg.common.constant.DataBaseConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.DateUtils; 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.entity.*; +import org.jeecg.modules.eam.entity.EamEquipment; +import org.jeecg.modules.eam.entity.EamMaintenanceStandard; +import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder; +import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrderDetail; import org.jeecg.modules.eam.mapper.EamSecondMaintenanceOrderMapper; import org.jeecg.modules.eam.request.EamSecondMaintenanceQuery; import org.jeecg.modules.eam.request.EamSecondMaintenanceRequest; @@ -40,6 +45,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -75,6 +81,8 @@ private IEamReportRepairService eamReportRepairService; @Autowired private IEamEquipmentExtendService eamEquipmentExtendService; + @Autowired + private IEamMaintenanceStandardService eamMaintenanceStandardService; @Override public IPage<EamSecondMaintenanceOrder> queryPageList(Page<EamSecondMaintenanceOrder> page, EamSecondMaintenanceQuery query) { @@ -180,7 +188,7 @@ order.setActualStartTime(new Date()); eamSecondMaintenanceOrderMapper.updateById(order); //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_SECOND_MAINTENANCE.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_SECOND_MAINTENANCE.name(), null, null); return result.isSuccess(); } } @@ -255,7 +263,7 @@ entity.setActualStartTime(new Date()); eamSecondMaintenanceOrderMapper.updateById(entity); //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_SECOND_MAINTENANCE.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_SECOND_MAINTENANCE.name(), null, null); return result.isSuccess(); } @@ -305,7 +313,7 @@ Result result = flowDefinitionService.startProcessInstanceByKey("second_maintenance_process", variables); if (result != null) { //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_SECOND_MAINTENANCE.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_SECOND_MAINTENANCE.name(), null, null); return result.isSuccess(); } return true; @@ -359,7 +367,7 @@ //杞﹂棿璁惧绠$悊鍛樼‘璁� userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0004); if (CollectionUtil.isEmpty(userSelectors)) { - throw new JeecgBootException("璁惧鏈垎閰嶇粰杞﹂棿璁惧绠$悊鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); + throw new JeecgBootException("璁惧鏈棤鍒嗛厤缁欒溅闂磋澶囩鐞嗗憳锛屾硶杩涘叆涓嬬骇瀹℃壒锛�"); } userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); values.put("dataId", entity.getId()); @@ -386,7 +394,7 @@ secondMaintenanceOrderDetailService.updateBatchById(request.getTableDetailList()); } //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.SECOND_MAINTENANCE_WAIT_CONFIRM.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.SECOND_MAINTENANCE_WAIT_CONFIRM.name(), null, null); break; case WAIT_CONFIRM: // 缁翠慨涓讳换纭 @@ -431,8 +439,15 @@ entity.setConfirmLeader(user.getUsername()); entity.setLeaderConfirmComment(request.getLeaderConfirmComment()); entity.setLeaderConfirmTime(new Date()); + + //鏌ヨ淇濆吇鏍囧噯 + EamMaintenanceStandard standard = eamMaintenanceStandardService.getOne(new LambdaQueryWrapper<EamMaintenanceStandard>() + .eq(EamMaintenanceStandard::getEquipmentId, entity.getEquipmentId()) + .eq(EamMaintenanceStandard::getMaintenanceCategory, MaintenanceCategoryEnum.SECOND_MAINTENANCE.name())); + LocalDate nextSecondMaintenanceDate = DateUtils.dateToLocalDate(standard.getInitialDate()).plusDays(standard.getMaintenancePeriod()); + //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name(), standard.getMaintenanceCategory(), DateUtils.localDateToDate(nextSecondMaintenanceDate)); break; } request.setValues(values); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java index 86a24d7..2a6e4f1 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java @@ -3,6 +3,7 @@ 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.extension.plugins.pagination.Page; @@ -19,13 +20,12 @@ import org.jeecg.common.constant.DataBaseConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; -import org.jeecg.modules.eam.constant.BusinessCodeConst; -import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus; -import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum; -import org.jeecg.modules.eam.constant.ThirdMaintenanceStatusEnum; +import org.jeecg.modules.eam.constant.*; import org.jeecg.modules.eam.entity.EamEquipment; +import org.jeecg.modules.eam.entity.EamMaintenanceStandard; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail; import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper; @@ -45,6 +45,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -81,6 +82,8 @@ private IEamEquipmentExtendService eamEquipmentExtendService; @Autowired private IEamPrecisionCheckDetailService precisionCheckDetailService; + @Autowired + private IEamMaintenanceStandardService eamMaintenanceStandardService; @Override public IPage<EamThirdMaintenanceOrder> queryPageList(Page<EamThirdMaintenanceOrder> page, EamThirdMaintenanceQuery query) { @@ -190,7 +193,7 @@ Result result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_process", variables); if (result != null) { //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_THIRD_MAINTENANCE.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_THIRD_MAINTENANCE.name(), null, null); return result.isSuccess(); } } @@ -261,7 +264,7 @@ Result result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_process", variables); if (result != null) { //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_THIRD_MAINTENANCE.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_THIRD_MAINTENANCE.name(), null, null); return result.isSuccess(); } @@ -320,7 +323,7 @@ Result result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_process", variables); if (result != null) { //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_THIRD_MAINTENANCE.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_THIRD_MAINTENANCE.name(), null, null); return result.isSuccess(); } return true; @@ -416,7 +419,7 @@ } if (parallelCompletion) { //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.THIRD_MAINTENANCE_WAIT_CONFIRM.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.THIRD_MAINTENANCE_WAIT_CONFIRM.name(), null, null); } break; case WAIT_CONFIRM: @@ -453,8 +456,15 @@ entity.setConfirmLeader(user.getUsername()); entity.setLeaderConfirmComment(request.getLeaderConfirmComment()); entity.setLeaderConfirmTime(new Date()); + + //鏌ヨ淇濆吇鏍囧噯 + EamMaintenanceStandard standard = eamMaintenanceStandardService.getOne(new LambdaQueryWrapper<EamMaintenanceStandard>() + .eq(EamMaintenanceStandard::getEquipmentId, entity.getEquipmentId()) + .eq(EamMaintenanceStandard::getMaintenanceCategory, MaintenanceCategoryEnum.THIRD_MAINTENANCE.name())); + LocalDate nextThirdMaintenanceDate = DateUtils.dateToLocalDate(standard.getInitialDate()).plusDays(standard.getMaintenancePeriod()); + //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name(), standard.getMaintenanceCategory(), DateUtils.localDateToDate(nextThirdMaintenanceDate)); break; } request.setValues(values); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java index efc54f1..8396a63 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java @@ -134,7 +134,7 @@ order.setActualStartTime(new Date()); eamWeekMaintenanceOrderMapper.updateById(order); //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_WEEK_MAINTENANCE.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_WEEK_MAINTENANCE.name(), null, null); return result.isSuccess(); } } @@ -260,7 +260,7 @@ entity.setActualStartTime(new Date()); eamWeekMaintenanceOrderMapper.updateById(entity); //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_WEEK_MAINTENANCE.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_WEEK_MAINTENANCE.name(), null, null); return result.isSuccess(); } @@ -310,7 +310,7 @@ Result result = flowDefinitionService.startProcessInstanceByKey("week_maintenance_process", variables); if (result != null) { //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_WEEK_MAINTENANCE.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_WEEK_MAINTENANCE.name(), null, null); return result.isSuccess(); } return true; @@ -390,7 +390,7 @@ eamWeekMaintenanceOrderDetailService.updateBatchById(request.getTableDetailList()); } //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.WEEK_MAINTENANCE_WAIT_CONFIRM.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.WEEK_MAINTENANCE_WAIT_CONFIRM.name(), null, null); break; case WAIT_CONFIRM: if (StringUtils.isBlank(equipment.getEquipmentManager())) { @@ -474,7 +474,7 @@ } } //鏇存柊璁惧淇濆吇鐘舵�� - eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name()); + eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name(), null, null); break; } request.setValues(values); -- Gitblit v1.9.3