From ec4d16c8a630960a4671a60f4d1957fd3de9def3 Mon Sep 17 00:00:00 2001 From: zhuguifei <zhuguifei@zhuguifeideiMac.local> Date: 星期四, 27 二月 2025 16:53:59 +0800 Subject: [PATCH] 完成维修工单查看维修记录子表 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java | 82 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 72 insertions(+), 10 deletions(-) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java index 8fa2a81..d809c00 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.SneakyThrows; import org.dromara.common.core.constant.DictConstants; import org.dromara.common.core.service.RepairResService; import org.dromara.common.core.utils.MapstructUtils; @@ -14,10 +15,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; -import org.dromara.eims.domain.EimsEqu; -import org.dromara.eims.domain.EimsFixture; -import org.dromara.eims.domain.EimsRepairReq; +import org.dromara.eims.domain.*; import org.dromara.eims.domain.vo.EimsRepairReqVo; +import org.dromara.eims.mapper.EimsRepairRecordMapper; import org.dromara.eims.mapper.EimsRepairReqMapper; import org.dromara.eims.utils.DataFilterUtil; import org.dromara.system.domain.SysDept; @@ -26,15 +26,11 @@ import org.springframework.stereotype.Service; import org.dromara.eims.domain.bo.EimsRepairResBo; import org.dromara.eims.domain.vo.EimsRepairResVo; -import org.dromara.eims.domain.EimsRepairRes; import org.dromara.eims.mapper.EimsRepairResMapper; import org.dromara.eims.service.IEimsRepairResService; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; /** * 缁翠慨宸ュ崟Service涓氬姟灞傚鐞� @@ -49,6 +45,7 @@ private final EimsRepairResMapper baseMapper; private final EimsRepairReqMapper reqMapper; private final SysDeptMapper deptMapper; + private final EimsRepairRecordMapper recordMapper; /** * 鏌ヨ缁翠慨宸ュ崟 @@ -121,8 +118,55 @@ reqVo.setStatus(DictConstants.REPAIR_REQ_STATUS_DETAIL.WEIXIU); EimsRepairReq req = MapstructUtils.convert(reqVo, EimsRepairReq.class); reqMapper.updateById(req); + + //灏嗘柊澧炴姤淇崟鏃剁淮淇褰曠殑缁翠慨宸ュ崟id鏇存柊 + LambdaQueryWrapper<EimsRepairRecord> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EimsRepairRecord::getReqId, add.getReqId()); + EimsRepairRecord one = recordMapper.selectOne(queryWrapper); + if(one!=null){ + one.setResId(add.getId()); + recordMapper.updateById(one); + } + + + //鐢熸垚缁翠慨璁板綍 + EimsRepairRecord record = new EimsRepairRecord(); + record.setReqId(add.getReqId()); + record.setResId(add.getId()); + record.setHandleTime(new Date()); + //鎺ュ崟鐘舵�� + record.setOpera(DictConstants.REPAIR_RECORD_HANDLE_DETAIL.JIEDAN); + record.setOperaUser(add.getCreateBy()); + record.setOperaResult("鎺ュ崟锛岀敓鎴愮淮淇伐鍗�"); + //鏂板鏃剁敓鎴愯褰� + recordMapper.insert(record); + + } return flag; + } + + @SneakyThrows + @Transactional(rollbackFor = Exception.class) + @Override + public Boolean insertBatchByBo(EimsRepairResBo bo){ + String batchReqIds = bo.getBatchReqIds(); + boolean result = StringUtils.isNotEmpty(batchReqIds); + for (String reqId : batchReqIds.split(",")) { + EimsRepairReqVo reqVo = reqMapper.selectVoById(reqId); + EimsRepairResBo insert = new EimsRepairResBo(); + insert.setReqId(reqVo.getId()); + insert.setReqUser(reqVo.getReqUser()); + insert.setReqDept(reqVo.getReqDept()); + insert.setResCode(reqVo.getCode().replace("BXD","WXD")); + insert.setResUser(bo.getResUser()); + insert.setResDept(bo.getResDept()); + insert.setStatus(DictConstants.REPAIR_RES_STATUS_DETAIL.WEIXIU); + insert.setStartTime(new Date()); + Boolean b = insertByBo(insert); + if(!b)throw new Exception(""); + } + return result; } /** @@ -145,6 +189,18 @@ reqVo.setStatus(DictConstants.REPAIR_REQ_STATUS_DETAIL.WANCHENG); EimsRepairReq req = MapstructUtils.convert(reqVo, EimsRepairReq.class); reqMapper.updateById(req); + + //鐢熸垚缁翠慨璁板綍 + EimsRepairRecord record = new EimsRepairRecord(); + record.setResId(bo.getId()); + record.setReqId(bo.getReqId()); + record.setHandleTime(new Date()); + //瀹屾垚鐘舵�� + record.setOpera(DictConstants.REPAIR_RECORD_HANDLE_DETAIL.WANCHENG); + record.setOperaUser(bo.getUpdateBy()); + record.setOperaResult("瀹屾垚缁翠慨宸ュ崟"); + recordMapper.insert(record); + } validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; @@ -174,6 +230,7 @@ @Override public TableDataInfo<EimsRepairResVo> queryPageListCustom(EimsRepairResBo bo, PageQuery pageQuery) { + DataFilterUtil.getInstance().filterRepairRes(bo); Page<EimsRepairResVo> page = baseMapper.selectRepairResList(pageQuery.build(), buildWrapper(bo)); return TableDataInfo.build(page); } @@ -184,9 +241,14 @@ qw.like(StringUtils.isNotBlank(bo.getResCode()), "res.res_code", bo.getResCode()); qw.like(StringUtils.isNotBlank(bo.getReqCode()), "req.code", bo.getReqCode()); qw.eq(bo.getResUser() != null, "res.res_user", bo.getResUser()); + qw.eq(bo.getReqUser() != null, "res.req_user", bo.getReqUser()); - List<Long> allDescendantIds = getAllDescendantIds(bo.getResDept()); - qw.in(bo.getResDept() != null, "res.res_dept", allDescendantIds); + List<Long> resDeptIds = getAllDescendantIds(bo.getResDept()); + qw.in(bo.getResDept() != null, "res.res_dept", resDeptIds); + + List<Long> reqDeptIds = getAllDescendantIds(bo.getReqDept()); + qw.in(bo.getReqDept() != null, "res.req_dept", reqDeptIds); + qw.eq(StringUtils.isNotBlank(bo.getStatus()), "res.status", bo.getStatus()); qw.orderByDesc("res.create_time"); -- Gitblit v1.9.3