From f29e2aae98bbb52672b67bff99556f3cf64d1bce Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期四, 26 六月 2025 15:45:40 +0800 Subject: [PATCH] feat(eims): 优化设备管理功能和界面 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java | 75 +++++++++++++++++-------------------- 1 files changed, 34 insertions(+), 41 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..7e9e813 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,8 +3,6 @@ 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; @@ -14,15 +12,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; @@ -36,7 +30,6 @@ private final EimsMaintOrderMapper orderMapper; - private final EimsMaintPlanMapper planMapper; private final IGenerateCodeService codeService; @@ -48,24 +41,24 @@ // 鑾峰彇浠婂ぉ鏃ユ湡 Date today = new Date(); - LambdaQueryWrapper<EimsMaintPlan> planBoQueryWrapper = Wrappers.lambdaQuery(); + QueryWrapper<EimsMaintPlan> planBoQueryWrapper = Wrappers.query(); // 鏌ヨ鍚敤鐨勪繚鍏昏鍒� - planBoQueryWrapper.eq(EimsMaintPlan::getStatus, DictConstants.SYS_NORMAL_DISABLE_DETAIL.NORMAL); - // 杩囨护娌℃湁棣栨杩愯鏃堕棿 - planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintFirstTime); - // 杩囨护娌℃湁涓嬫杩愯鏃堕棿 - planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintNextTime); - // 杩囨护娌℃湁淇濆吇鍛ㄦ湡鐨勬暟鎹� - planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintCycle); - planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintCycleUnit); - planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintRule); - List<EimsMaintPlanVo> planVoList = planMapper.selectVoList(planBoQueryWrapper); + planBoQueryWrapper.eq("mp.status", DictConstants.SYS_NORMAL_DISABLE_DETAIL.NORMAL); + planBoQueryWrapper .eq("equ.status", DictConstants.EIMS_EQU_STATUS_DETAIL.SHIYONG); + // 杩囨护涓嬫杩愯鏃堕棿绛変簬褰撳ぉ鏃堕棿鐨� + planBoQueryWrapper.eq("mp.maint_next_time", DateUtils.getDate()); + // 杩囨护娌℃湁淇濆吇鍛ㄦ湡鐨勬暟鎹� + planBoQueryWrapper.isNotNull("mp.maint_cycle"); + planBoQueryWrapper.isNotNull("mp.maint_cycle_unit"); + planBoQueryWrapper.isNotNull("mp.maint_rule"); + + List<EimsMaintPlanVo> planVoList = planMapper.selectVoListJoinEqu(planBoQueryWrapper); 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; @@ -73,51 +66,51 @@ // 璁$畻鐢熸垚宸ュ崟鏃堕棿 Long maintCycle = planVo.getMaintCycle(); - 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.setMaintName(planVo.getMaintName()); 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