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