From 245cfffbbc8d96333eccf40885e6fdeeb0ed636e Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期五, 20 六月 2025 14:18:54 +0800 Subject: [PATCH] feat(eims): 添加未完成维修工单数量查询功能,优化搜索设备、保养、点检、维修查询,增加关键字模糊查询 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsRepairResMapper.java | 3 + eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java | 11 ++++- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java | 17 +++++++- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java | 22 +++++++---- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java | 6 +++ eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsRepairResMapper.xml | 8 ++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsRepairResService.java | 4 +- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java | 10 ++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsRepairResController.java | 11 +++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java | 6 ++ 10 files changed, 81 insertions(+), 17 deletions(-) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsRepairResController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsRepairResController.java index ff1be67..0719df3 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsRepairResController.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsRepairResController.java @@ -46,6 +46,17 @@ return eimsRepairResService.queryPageListCustom(bo, pageQuery); } + + /** + * 鏌ヨ鏈畬鎴愮殑缁翠慨宸ュ崟鏁伴噺 + * + */ + @SaCheckPermission("eims:repairRes:list") + @GetMapping("/list/unfinished") + public R<Integer> listUnfinished(String status) { + Integer num = eimsRepairResService.listUnfinished(status); + return R.ok("鎿嶄綔鎴愬姛", num); + } /** * 瀵煎嚭缁翠慨宸ュ崟鍒楄〃 */ diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsRepairResMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsRepairResMapper.java index 96f6469..bd597bb 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsRepairResMapper.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsRepairResMapper.java @@ -8,6 +8,8 @@ import org.dromara.eims.domain.EimsRepairRes; import org.dromara.eims.domain.vo.EimsRepairResVo; +import java.util.List; + /** * 缁翠慨宸ュ崟Mapper鎺ュ彛 * @@ -17,4 +19,5 @@ public interface EimsRepairResMapper extends BaseMapperPlus<EimsRepairRes, EimsRepairResVo> { Page<EimsRepairResVo> selectRepairResList(@Param("page") Page<EimsRepairResVo> page, @Param(Constants.WRAPPER) Wrapper<EimsRepairRes> queryWrapper); + Integer listUnfinished(List<String> list); } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsRepairResService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsRepairResService.java index 3f0da6e..06bffaa 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsRepairResService.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsRepairResService.java @@ -1,7 +1,5 @@ package org.dromara.eims.service; -import org.dromara.eims.domain.bo.EimsRepairReqBo; -import org.dromara.eims.domain.vo.EimsRepairReqVo; import org.dromara.eims.domain.vo.EimsRepairResVo; import org.dromara.eims.domain.bo.EimsRepairResBo; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -77,6 +75,8 @@ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); + Integer listUnfinished(String status); + /** * 鍒嗛〉鏌ヨ缁翠慨宸ュ崟鍒楄〃-澶氳〃鏌ヨ * diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java index c7cf26e..1e7eb28 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java @@ -53,7 +53,7 @@ @Override public EimsEquVo queryByAssetNo(String assetNo) { LambdaQueryWrapper<EimsEqu> lqw = new LambdaQueryWrapper<>(); - lqw.eq(EimsEqu::getAssetNo, assetNo); + lqw.eq(EimsEqu::getAssetNo, assetNo.trim()); EimsEquVo eimsEquVo = baseMapper.selectVoOne(lqw); return eimsEquVo; } @@ -97,6 +97,14 @@ List<Long> allDescendantIds = getAllDescendantIds(equTypeId); lqw.in(EimsEqu::getEquTypeId, allDescendantIds); } + if (params.get("searchValue") != null && StringUtils.isNotBlank(params.get("searchValue").toString())) { + // 濡傛灉鎼滅储鍊间笉涓虹┖锛屽垯鎸夎澶囧悕绉般�佽祫浜х紪鍙疯繘琛屾ā绯婃煡璇� + lqw.and(wrapper -> { + wrapper.like(EimsEqu::getEquName, params.get("searchValue")) + .or() + .like(EimsEqu::getAssetNo, params.get("searchValue")); + }); + } lqw.like(StringUtils.isNotBlank(bo.getEquName()), EimsEqu::getEquName, bo.getEquName()); lqw.eq(StringUtils.isNotBlank(bo.getModelNo()), EimsEqu::getModelNo, bo.getModelNo()); diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java index 07503f7..a9b17a7 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java @@ -116,6 +116,11 @@ qw.like(StringUtils.isNotBlank(bo.getInspName()),"ir.insp_name", bo.getInspName()); qw.like(bo.getEquName() != null, "equ.equ_name", bo.getEquName()); qw.like(bo.getAssetNo() != null, "equ.asset_no", bo.getAssetNo()); + if (params.get("searchValue") != null && StringUtils.isNotBlank(params.get("searchValue").toString())) { + qw.and(wq -> wq.like("equ.equ_name", params.get("searchValue")) + .or().like("equ.asset_no", params.get("searchValue")) + ); + } qw.like(bo.getEquId() != null, "equ.equ_id", bo.getEquId()); qw.eq(StringUtils.isNotBlank(bo.getInspType()), "ir.insp_type", bo.getInspType()); qw.eq(bo.getInspUser() != null, "ir.insp_user", bo.getInspUser()); @@ -244,13 +249,13 @@ @Override public Boolean updateBatchByBo(InspectRecordBo bo) { - LoginUser loginUser = LoginHelper.getLoginUser(); +// LoginUser loginUser = LoginHelper.getLoginUser(); List<EimsInspectRecord> inspRecordList = MapstructUtils.convert(bo.getInspRecordList(), EimsInspectRecord.class); inspRecordList.forEach(item->{ // 鏇存柊涓哄凡鐐规 item.setStatus(DictConstants.EIMS_INSPECT_STATUS_DETAIL.Y); - item.setInspTime(new Date()); - item.setInspUser(loginUser.getUserId()); +// item.setInspTime(new Date()); +// item.setInspUser(loginUser.getUserId()); }); return baseMapper.updateBatchById(inspRecordList); } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java index 4578011..00410e6 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java @@ -253,6 +253,12 @@ qw.eq( "st.type", bo.getType()); qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null, "st.plan_time", params.get("beginPlanTime"), params.get("endPlanTime")); + if (params.get("searchValue") != null && StringUtils.isNotBlank(params.get("searchValue").toString())) { + qw.and(wq -> wq.like("st.title", params.get("searchValue")) + .or().like("equ.equ_name", params.get("searchValue")) + .or().like("equ.asset_no", params.get("searchValue")) + ); + } qw.eq(bo.getInspUser() != null, "st.maint_user", bo.getInspUser()); qw.eq(bo.getVerifyUser() != null, "st.verify_user", bo.getVerifyUser()); qw.eq(bo.getStatus() != null, "st.status", bo.getStatus()); @@ -288,14 +294,14 @@ public Boolean updateByBo(EimsInspectStBo bo) { EimsInspectSt update = MapstructUtils.convert(bo, EimsInspectSt.class); - if(bo.getVerifyUser()!=null){ - EimsInspectSt st = baseMapper.selectById(bo.getId()); - String status = st.getStatus(); - if(status==null || status.equals(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.N)){ - if(update.getVerifyTime()==null) update.setStatus(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.Y); - if(update.getVerifyTime()==null) update.setVerifyTime(new Date()); - } - } +// if(bo.getVerifyUser()!=null){ +// EimsInspectSt st = baseMapper.selectById(bo.getId()); +// String status = st.getStatus(); +// if(status==null || status.equals(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.N)){ +// if(update.getVerifyTime()==null) update.setStatus(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.Y); +// if(update.getVerifyTime()==null) update.setVerifyTime(new Date()); +// } +// } validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java index 2d78c60..3ba819c 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java @@ -166,6 +166,12 @@ qw.like(StringUtils.isNotBlank(bo.getAssetNo()), "equ.asset_no", bo.getAssetNo()); qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null, "st.plan_time", params.get("beginPlanTime"), params.get("endPlanTime")); + if (params.get("searchValue") != null && StringUtils.isNotBlank(params.get("searchValue").toString())) { + qw.and( wq ->wq.like("st.title", params.get("searchValue")) + .or().like("equ.equ_name", params.get("searchValue")) + .or().like("equ.asset_no", params.get("searchValue")) + ); + } qw.eq(bo.getMaintUser() != null, "st.maint_user", bo.getMaintUser()); qw.eq(bo.getVerifyUser() != null, "st.verify_user", bo.getVerifyUser()); qw.eq(bo.getStatus() != null, "st.status", bo.getStatus()); diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java index 7f17f4c..7f109ea 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java @@ -96,7 +96,11 @@ qw.eq(StringUtils.isNotBlank(bo.getFaultType()), "a,fault_type", bo.getFaultType()); qw.in(params.containsKey("createBy"), "a.create_by", (List<Long>) params.get("createBy")); Object status = params.get("status") == null ? "" : params.get("status"); - + if (params.get("searchValue") != null && StringUtils.isNotBlank(params.get("searchValue").toString())) { + qw.and( wq ->wq.like("b.equ_name", params.get("searchValue")) + .or().like("b.asset_no", params.get("searchValue")) + ); + } String[] split = status.toString().split(","); qw.in(params.containsKey("status"), "a.status", split); qw.between(params.get("beginReqTime") != null && params.get("endReqTime") != null, 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 d37a7ba..2c1ec00 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 @@ -27,7 +27,6 @@ import org.dromara.system.domain.SysDept; import org.dromara.system.domain.vo.SysDeptVo; import org.dromara.system.mapper.SysDeptMapper; -import org.redisson.misc.LogHelper; import org.springframework.stereotype.Service; import org.dromara.eims.domain.bo.EimsRepairResBo; import org.dromara.eims.service.IEimsRepairResService; @@ -328,6 +327,16 @@ return TableDataInfo.build(page); } + @Override + public Integer listUnfinished(String status) { + // 鏍规嵁宸ュ崟鐘舵�佹煡璇㈡�绘暟 + if (!status.isEmpty()) { + List<String> statusList = Arrays.asList(status.split(",")); + return baseMapper.listUnfinished(statusList); + } + return 0; + } + private QueryWrapper<EimsRepairRes> buildWrapper(EimsRepairResBo bo) { Map<String, Object> params = bo.getParams(); QueryWrapper<EimsRepairRes> qw = Wrappers.query(); @@ -347,7 +356,11 @@ List<Long> reqDeptIds = getAllDescendantIds(bo.getReqDept()); qw.in(bo.getReqDept() != null, "res.req_dept", reqDeptIds); - + if (params.get("searchValue") != null && StringUtils.isNotBlank(params.get("searchValue").toString())) { + qw.and( wq ->wq.like("equ.equ_name", params.get("searchValue")) + .or().like("equ.asset_no", params.get("searchValue")) + ); + } qw.eq(StringUtils.isNotBlank(bo.getStatus()), "res.status", bo.getStatus()); String s = params.get("status") == null ? "" : params.get("status").toString(); diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsRepairResMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsRepairResMapper.xml index 80e8d78..859e9b8 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsRepairResMapper.xml +++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsRepairResMapper.xml @@ -17,5 +17,13 @@ LEFT JOIN sys_user usr ON req.req_user = usr.user_id ${ew.getCustomSqlSegment} </select> + <select id="listUnfinished" resultType="java.lang.Integer"> + SELECT COUNT(1) + FROM eims_repair_res + WHERE status in + <foreach item="item" collection="list" separator="," open="(" close=")" index=""> + #{item} + </foreach> + </select> </mapper> -- Gitblit v1.9.3