From df64c34d92cbe8501bbbfe837bc491a47452c0b6 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期一, 09 六月 2025 10:58:19 +0800 Subject: [PATCH] feat(eims): 新增保养工单批量修改功能并优化相关领域对象 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java | 66 +++++++++++++++++++++++++++++++-- 1 files changed, 62 insertions(+), 4 deletions(-) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java index b01acb4..c85145d 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java @@ -20,17 +20,19 @@ import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.eims.domain.EimsMaintPlan; -import org.dromara.eims.domain.bo.EimsMaintPlanBo; -import org.dromara.eims.domain.vo.EimsEquVo; -import org.dromara.eims.domain.vo.MaintOrdeGroupVo; +import org.dromara.eims.domain.EimsSpareInout; +import org.dromara.eims.domain.bo.EimsSpareBo; +import org.dromara.eims.domain.bo.EimsSpareInoutBo; +import org.dromara.eims.domain.bo.MaintOrderBo; +import org.dromara.eims.domain.vo.*; import org.dromara.eims.mapper.EimsEquMapper; import org.dromara.eims.mapper.EimsMaintPlanMapper; +import org.dromara.eims.service.IEimsSpareInoutService; import org.dromara.system.domain.SysDept; import org.dromara.system.domain.vo.SysDeptVo; import org.dromara.system.mapper.SysDeptMapper; import org.springframework.stereotype.Service; import org.dromara.eims.domain.bo.EimsMaintOrderBo; -import org.dromara.eims.domain.vo.EimsMaintOrderVo; import org.dromara.eims.domain.EimsMaintOrder; import org.dromara.eims.mapper.EimsMaintOrderMapper; import org.dromara.eims.service.IEimsMaintOrderService; @@ -52,6 +54,7 @@ private final EimsMaintPlanMapper planMapper; private final SysDeptMapper sysDeptMapper; private final EimsEquMapper equMapper; + private final IEimsSpareInoutService spareInoutService; /** * 鏌ヨ淇濆吇宸ュ崟 @@ -293,6 +296,45 @@ } /** + * 鎵归噺淇敼淇濆吇宸ュ崟 + * + * @param bo 淇濆吇宸ュ崟 + * @return 鏄惁淇敼鎴愬姛 + */ + @Override + public boolean updateBatchByBo(MaintOrderBo bo) { + LoginUser loginUser = LoginHelper.getLoginUser(); + List<EimsMaintOrder> list = MapstructUtils.convert(bo.getMaintOrderList(), EimsMaintOrder.class); + list.forEach(e -> { + e.setStatus(DictConstants.MAINT_ORDER_STATUS_DETAIL.DAIYANZHENG); + e.setEndTime(new Date()); + e.setMaintUser(loginUser.getUserId()); + e.setUpdateTime(new Date()); + }); + bo.getMaintOrderList().forEach(item -> { + // 鍒ゆ柇澶囦欢鍒楄〃鏄惁涓虹┖锛屼笉涓虹┖鍒欐柊澧炰竴涓浠跺嚭搴撳崟锛屽悓鏃跺鍔犲嚭搴撴槑缁� + if (item.getSpareParts() != null && item.getSpareParts().size() > 0) { + EimsSpareInoutBo spareInoutBo = new EimsSpareInoutBo(); + // 鏍规嵁鏃ユ湡鐢熸垚鍗曞彿锛屾牸寮忎负CK+鏃ユ湡+娴佹按鍙� + spareInoutBo.setOrderCode("CK"+DateUtils.dateTimeNow("yyyyMMddHHmmss")); + spareInoutBo.setOrderTime(new Date()); + spareInoutBo.setType(DictConstants.SPARE_INOUT_TYPE_DETAIL.CK); + spareInoutBo.setPartnerName(loginUser.getNickname()); + spareInoutBo.setSpareList(item.getSpareParts()); + spareInoutBo.setChargeUser(loginUser.getUserId()); + spareInoutBo.setChargeDept(loginUser.getDeptId()); + spareInoutBo.setAssociatedOrder(item.getMaintCode()); + // 淇濆瓨杩涙暟鎹簱 + Boolean b = spareInoutService.insertByBo(spareInoutBo); + + + } + }); + + return baseMapper.updateBatchById(list); + } + + /** * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 */ private void validEntityBeforeSave(EimsMaintOrder entity){ @@ -326,4 +368,20 @@ } return String.join(StringUtils.SEPARATOR, list); } + + + @Override + public List<EimsSpareVo> querySpareParts(String code) { + // 鏌ヨ鍏宠仈鐨勫浠讹紝鍏崇郴濡備笅锛氬浠跺嚭鍏ュ簱鍗曠殑associatedOrder 鍏宠仈浼犲叆鐨刢ode,澶囦欢鍑哄叆搴撴槑缁嗛�氳繃鍑哄叆搴撳崟鐨刬d鍏宠仈锛屽浠跺悕绉伴�氳繃鍑哄叆搴撴槑缁嗕腑鐨剆pareId鍏宠仈 + + EimsSpareInoutBo bo = new EimsSpareInoutBo(); + bo.setAssociatedOrder(code); + List<EimsSpareInoutVo> list = spareInoutService.queryList(bo); + if (!list.isEmpty()) { + // 鏌ヨ澶囦欢鏄庣粏鍜屽悕绉� + EimsSpareInoutVo eimsSpareInoutVo = spareInoutService.queryById(list.get(0).getId()); + return eimsSpareInoutVo.getSpareList(); + } + return List.of(); + } } -- Gitblit v1.9.3