From 66e943c91e133eec5a0822ea22fd92cbc04bc9f3 Mon Sep 17 00:00:00 2001 From: zhuguifei <312353457@qq.com> Date: 星期三, 12 三月 2025 16:04:14 +0800 Subject: [PATCH] 保养工单汇总 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java | 52 ++++++++++++++++++++++------------------------------ 1 files changed, 22 insertions(+), 30 deletions(-) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java index 4b388cb..cb01ba0 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java @@ -3,10 +3,7 @@ import com.aizuda.snailjob.client.job.core.annotation.JobExecutor; import com.aizuda.snailjob.client.job.core.dto.JobArgs; import com.aizuda.snailjob.client.model.ExecuteResult; -import com.aizuda.snailjob.common.core.util.JsonUtil; -import com.aizuda.snailjob.common.log.SnailJobLog; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; @@ -14,15 +11,11 @@ import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.eims.domain.*; -import org.dromara.eims.domain.bo.EimsMaintPlanBo; import org.dromara.eims.domain.vo.EimsMaintPlanVo; import org.dromara.eims.mapper.EimsMaintOrderMapper; import org.dromara.eims.mapper.EimsMaintPlanMapper; -import org.dromara.eims.service.IEimsMaintOrderService; -import org.dromara.eims.service.IEimsMaintPlanService; import org.dromara.eims.service.IGenerateCodeService; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -34,7 +27,6 @@ @JobExecutor(name = "maintPlanToOrderJob") public class MaintPlanToOrderJob { private final EimsMaintOrderMapper orderMapper; - private final EimsMaintPlanMapper planMapper; @@ -51,8 +43,6 @@ LambdaQueryWrapper<EimsMaintPlan> planBoQueryWrapper = Wrappers.lambdaQuery(); // 鏌ヨ鍚敤鐨勪繚鍏昏鍒� planBoQueryWrapper.eq(EimsMaintPlan::getStatus, DictConstants.SYS_NORMAL_DISABLE_DETAIL.NORMAL); - // 杩囨护娌℃湁棣栨杩愯鏃堕棿 - planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintFirstTime); // 杩囨护娌℃湁涓嬫杩愯鏃堕棿 planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintNextTime); // 杩囨护娌℃湁淇濆吇鍛ㄦ湡鐨勬暟鎹� @@ -64,8 +54,8 @@ for (int i = 0; i < planVoList.size(); i++) { EimsMaintPlanVo planVo = planVoList.get(i); // 淇濆吇璁″垝add鐨勬椂鍊欎細鑷姩鐢熸垚涓嬫杩愯鏃堕棿 - Date createOrderTime = planVo.getMaintNextTime(); - int day = DateUtils.differentDays(today,createOrderTime ); + Date oldNext = planVo.getMaintNextTime(); + int day = DateUtils.differentDays(today, oldNext); // 濡傛灉璁″垝鐢熸垚宸ュ崟鏃ユ湡澶т簬浠婂ぉ鍒欎笉鐢熸垚宸ュ崟 if (day >= 1) { continue; @@ -76,48 +66,50 @@ String maintRule = planVo.getMaintRule(); Date firstTime = planVo.getMaintFirstTime(); Date lastTime = planVo.getMaintLastTime(); - Date nextTime = null; + Date newNext = null; String maintCycleUnit = planVo.getMaintCycleUnit(); switch (maintCycleUnit) { case DictConstants.MAINT_CYCLE_UNIT_DETAIL.DAY: + newNext = DateUtils.addDays(oldNext, maintCycle.intValue()); break; case DictConstants.MAINT_CYCLE_UNIT_DETAIL.WEEK: - maintCycle *= 7; + + newNext = DateUtils.addWeeks(oldNext, maintCycle.intValue()); + break; case DictConstants.MAINT_CYCLE_UNIT_DETAIL.MONTH: - maintCycle *= 30; + + newNext = DateUtils.addMonths(oldNext, maintCycle.intValue()); + break; case DictConstants.MAINT_CYCLE_UNIT_DETAIL.SEASON: - maintCycle *= 90; + newNext = DateUtils.addMonths(oldNext, maintCycle.intValue() * 3); + break; case DictConstants.MAINT_CYCLE_UNIT_DETAIL.YEAR: - maintCycle *= 365; + + newNext = DateUtils.addYears(oldNext, maintCycle.intValue()); + break; } - // 棣栨 - if (lastTime == null ) { - nextTime = DateUtils.addDays(createOrderTime, maintCycle.intValue()); - } else { - nextTime = DateUtils.addDays(lastTime, maintCycle.intValue()); - } + EimsMaintOrder order = new EimsMaintOrder(); BeanUtils.copyProperties(planVo, order); order.setId(null); order.setStatus(DictConstants.MAINT_ORDER_STATUS_DETAIL.DAIBAOYANG); - order.setPlanTime(createOrderTime); + order.setPlanTime(oldNext); order.setPlanId(planVo.getId()); order.setMaintCode(codeService.generateCode("BYZD")); EimsMaintPlan plan = MapstructUtils.convert(planVo, EimsMaintPlan.class); assert plan != null; - plan.setLastGenerateDate(new Date()); - plan.setMaintLastTime(createOrderTime); - plan.setMaintNextTime(nextTime); - boolean flag = orderMapper.insert(order) > 0; + plan.setLastOrderDate(new Date()); + plan.setMaintLastTime(oldNext); + plan.setMaintNextTime(newNext); + if(plan.getMaintFirstTime()==null)plan.setMaintFirstTime(oldNext); + boolean flag = orderMapper.insert(order) > 0; //TODO 鐢熸垚澶辫触锛屾坊鍔犲紓甯歌褰� if (!flag) continue; planMapper.updateById(plan); - - } -- Gitblit v1.9.3