From 86205f625e45bcdfb4335b672e0754d8a407847f Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 16 四月 2025 11:40:43 +0800
Subject: [PATCH] art: 设备管理-周保-选择设备bug问题修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java                  |  147 +++++++++++++++++++----------
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml         |   35 +-----
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMaintenanceStandardMapper.java            |   15 +-
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java         |    4 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java    |    4 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java |   49 +++++----
 6 files changed, 143 insertions(+), 111 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
index 4623e8a..35b2997 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
@@ -168,8 +168,10 @@
     @ApiOperation(value = "淇濆吇鏍囧噯-鏌ヨ鏍囧噯鍒楄〃-鍓嶇灞曠ず璇ョ敤鎴锋嫢鏈夌殑鏍囧噯", notes = "淇濆吇鏍囧噯-鏌ヨ鏍囧噯鍒楄〃-鍓嶇灞曠ず璇ョ敤鎴锋嫢鏈夌殑鏍囧噯")
     @GetMapping(value = "/listByUser")
     public Result<?> listByUser(@RequestParam(name = "keyword", required = false) String keyword,
+                                @RequestParam(name = "equipmentId", required = false) String equipmentId,
+                                @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize,
                                 @RequestParam(name = "maintenanceCategory", required = false) String maintenanceCategory) {
-        List<EamMaintenanceStandard> list = eamMaintenanceStandardService.queryListBykeywordAndCategory(keyword, maintenanceCategory);
+        List<EamMaintenanceStandard> list = eamMaintenanceStandardService.queryListByKeywordAndCategory(keyword, equipmentId, pageSize, maintenanceCategory);
         return Result.OK(list);
     }
 
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
index 37502c6..3702526 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
@@ -1,6 +1,7 @@
 package org.jeecg.modules.eam.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -14,81 +15,125 @@
 
 import java.io.Serializable;
 import java.util.Date;
+
 /**
  * @Description: 淇濆吇鏍囧噯
  * @Author: jeecg-boot
- * @Date:   2025-03-26
+ * @Date: 2025-03-26
  * @Version: V1.0
  */
 @Data
 @TableName("eam_maintenance_standard")
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@ApiModel(value="eam_maintenance_standard瀵硅薄", description="淇濆吇鏍囧噯")
+@ApiModel(value = "eam_maintenance_standard瀵硅薄", description = "淇濆吇鏍囧噯")
 public class EamMaintenanceStandard implements Serializable {
 
-	/**涓婚敭*/
-	@TableId(type = IdType.ASSIGN_ID)
+    /**
+     * 涓婚敭
+     */
+    @TableId(type = IdType.ASSIGN_ID)
     @ApiModelProperty(value = "涓婚敭")
-	private String id;
-	/**鍒涘缓浜�*/
+    private String id;
+    /**
+     * 鍒涘缓浜�
+     */
     @ApiModelProperty(value = "鍒涘缓浜�")
-	private String createBy;
-	/**鍒涘缓鏃堕棿*/
+    private String createBy;
+    /**
+     * 鍒涘缓鏃堕棿
+     */
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-	private Date createTime;
-	/**鏇存柊浜�*/
+    private Date createTime;
+    /**
+     * 鏇存柊浜�
+     */
     @ApiModelProperty(value = "鏇存柊浜�")
-	private String updateBy;
-	/**鏇存柊鏃堕棿*/
+    private String updateBy;
+    /**
+     * 鏇存柊鏃堕棿
+     */
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
-	private Date updateTime;
-	/**鍒犻櫎鏍囪*/
+    private Date updateTime;
+    /**
+     * 鍒犻櫎鏍囪
+     */
     @ApiModelProperty(value = "鍒犻櫎鏍囪")
-	private Integer delFlag;
-	/**鏍囧噯缂栫爜*/
+    private Integer delFlag;
+    /**
+     * 鏍囧噯缂栫爜
+     */
     @ApiModelProperty(value = "鏍囧噯缂栫爜")
-	private String standardCode;
-	/**鏍囧噯鍚嶇О*/
+    private String standardCode;
+    /**
+     * 鏍囧噯鍚嶇О
+     */
     @ApiModelProperty(value = "鏍囧噯鍚嶇О")
-	private String standardName;
-	/**淇濆吇鍛ㄦ湡;鍗曚綅:澶�*/
+    private String standardName;
+    /**
+     * 淇濆吇鍛ㄦ湡;鍗曚綅:澶�
+     */
     @ApiModelProperty(value = "淇濆吇鍛ㄦ湡;鍗曚綅:澶�")
-	private Integer maintenancePeriod;
-	/**鍒濆鏃ユ湡 浠庡摢涓�澶╁紑濮嬭绠椾笅娆′繚鍏绘棩鏈�*/
-	@ApiModelProperty(value = "鍒濆鏃ユ湡")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
-	@DateTimeFormat(pattern = "yyyy-MM-dd")
-	private Date initialDate;
-	/**淇濆吇鍒嗙被*/
+    private Integer maintenancePeriod;
+    /**
+     * 鍒濆鏃ユ湡 浠庡摢涓�澶╁紑濮嬭绠椾笅娆′繚鍏绘棩鏈�
+     */
+    @ApiModelProperty(value = "鍒濆鏃ユ湡")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date initialDate;
+    /**
+     * 淇濆吇鍒嗙被
+     */
     @ApiModelProperty(value = "淇濆吇鍒嗙被")
-	@Dict(dicCode = "maintenance_category")
-	private String maintenanceCategory;
-	/**璁惧缂栧彿*/
+    @Dict(dicCode = "maintenance_category")
+    private String maintenanceCategory;
+    /**
+     * 璁惧缂栧彿
+     */
     @ApiModelProperty(value = "璁惧缂栧彿")
-	@Dict(dicCode = "eam_equipment, equipment_code, id")
-	private String equipmentId;
-	/**鏍囧噯鐘舵��*/
+    @Dict(dicCode = "eam_equipment, equipment_code, id")
+    private String equipmentId;
+    /**
+     * 鏍囧噯鐘舵��
+     */
     @ApiModelProperty(value = "鏍囧噯鐘舵��")
-	@Dict(dicCode = "maintenance_standard_status")
-	private String standardStatus;
-	/**鏍囧噯鐗堟湰*/
+    @Dict(dicCode = "maintenance_standard_status")
+    private String standardStatus;
+    /**
+     * 鏍囧噯鐗堟湰
+     */
     @ApiModelProperty(value = "鏍囧噯鐗堟湰")
-	private Integer standardVersion;
-	/**鏂囦欢缂栧彿*/
-	@ApiModelProperty(value = "鏂囦欢缂栧彿")
-	private String fileCode;
-	/**鍙傝�冩枃浠�*/
-	@ApiModelProperty(value = "鍙傝�冩枃浠�")
-	private String referenceFile;
-	/**
-	 * 鏈�鏂扮敓鎴愬伐鍗曟椂闂�
-	 * 涓嬩竴娆$敓鎴愭椂闂翠负姝ゆ椂闂� + 淇濆吇鍛ㄦ湡
-	 */
-	@ApiModelProperty(value = "鏈�鏂扮敓鎴愬伐鍗曟椂闂�")
-	private Date lastGenerateTime;
+    private Integer standardVersion;
+    /**
+     * 鏂囦欢缂栧彿
+     */
+    @ApiModelProperty(value = "鏂囦欢缂栧彿")
+    private String fileCode;
+    /**
+     * 鍙傝�冩枃浠�
+     */
+    @ApiModelProperty(value = "鍙傝�冩枃浠�")
+    private String referenceFile;
+    /**
+     * 鏈�鏂扮敓鎴愬伐鍗曟椂闂�
+     * 涓嬩竴娆$敓鎴愭椂闂翠负姝ゆ椂闂� + 淇濆吇鍛ㄦ湡
+     */
+    @ApiModelProperty(value = "鏈�鏂扮敓鎴愬伐鍗曟椂闂�")
+    private Date lastGenerateTime;
 
-	/**璁惧缂栧彿*/
-	private transient String equipmentText;
+    //鍒楄〃灞曠ず
+    @TableField(exist = false)
+    private String equipmentCode;
+    @TableField(exist = false)
+    private String equipmentName;
+    /**
+     * 璁惧缂栧彿鎷兼帴
+     */
+    @TableField(exist = false)
+    private String equipmentText;
 
+    public String getEquipmentText() {
+        return equipmentCode + "[" + equipmentName + "]";
+    }
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMaintenanceStandardMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMaintenanceStandardMapper.java
index 5a0d83c..2c0fd59 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMaintenanceStandardMapper.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMaintenanceStandardMapper.java
@@ -1,6 +1,9 @@
 package org.jeecg.modules.eam.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.eam.entity.EamMaintenanceStandard;
 
@@ -9,18 +12,16 @@
 /**
  * @Description: 淇濆吇鏍囧噯
  * @Author: jeecg-boot
- * @Date:   2025-03-26
+ * @Date: 2025-03-26
  * @Version: V1.0
  */
 public interface EamMaintenanceStandardMapper extends BaseMapper<EamMaintenanceStandard> {
 
     /**
-     * 鏌ヨ鏍囧噯鍒楄〃-鍓嶇灞曠ず璇ョ敤鎴锋嫢鏈夌殑鏍囧噯
-     * @param userId 鐢ㄦ埛
-     * @param keyword 璁惧缂栧彿
-     * @param maintenanceCategory 淇濆吇绫诲瀷
+     * 鍒嗛〉鏌ヨ
+     * @param page
+     * @param queryWrapper
      * @return
      */
-    List<EamMaintenanceStandard> queryListBykeywordAndCategory(@Param("userId")String userId ,@Param("keyword") String keyword, @Param("maintenanceCategory") String maintenanceCategory);
-
+    IPage<EamMaintenanceStandard> queryPageList(IPage<EamMaintenanceStandard> page, @Param(Constants.WRAPPER) Wrapper<EamMaintenanceStandard> queryWrapper);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml
index d1e8ff0..68f0ef2 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml
@@ -1,34 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.eam.mapper.EamMaintenanceStandardMapper">
-
-    <select id="queryListBykeywordAndCategory" resultType="org.jeecg.modules.eam.entity.EamMaintenanceStandard">
-        SELECT
-            e.equipment_code+ '[' + e.equipment_name+ ']' AS 'equipmentText',
-            m.id,
-            m.standard_code,
-            m.standard_name,
-            m.maintenance_period,
-            m.equipment_id
-        FROM
-            eam_maintenance_standard m -- 鍏堣繃婊よ澶囪〃锛屽噺灏� JOIN 閲�
-                INNER JOIN (
-                SELECT
-                    id,
-                    eam_equipment.equipment_code as equipment_code,
-                    eam_equipment.equipment_name as equipment_name,
-                    org_id
-                FROM
-                    eam_equipment
-                WHERE
-                    del_flag = 0
-                  AND ( equipment_code LIKE CONCAT ( #{ keyword }, '%' ) -- 鍙虫ā绯婂埄鐢ㄧ储寮�
-                    OR equipment_name LIKE CONCAT ( #{ keyword }, '%' ) )
-            ) e ON m.equipment_id = e.id
-        WHERE
-            m.del_flag = 0
-          AND m.standard_status= 'NORMAL'
-          AND m.maintenance_category = #{maintenanceCategory}
-          AND EXISTS ( SELECT 1 FROM mdc_user_production t WHERE t.user_id = #{ userId } AND t.pro_id = e.org_id );
+    <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamMaintenanceStandard">
+        select ems.*, e.equipment_code, e.equipment_name
+        from eam_maintenance_standard ems
+        inner join eam_equipment e
+        on ems.equipment_id = e.id
+            ${ew.customSqlSegment}
     </select>
 </mapper>
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java
index 8890114..4a4b3cd 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java
@@ -52,9 +52,9 @@
 
     /**
      * 鏌ヨ鏍囧噯鍒楄〃-鍓嶇灞曠ず璇ョ敤鎴锋嫢鏈夌殑鏍囧噯
-     * @param keyword 璁惧缂栧彿
+     * @param keyword 鍏抽敭璇�
      * @param maintenanceCategory 淇濆吇绫诲瀷
      * @return
      */
-    List<EamMaintenanceStandard> queryListBykeywordAndCategory( String keyword, String maintenanceCategory);
+    List<EamMaintenanceStandard> queryListByKeywordAndCategory(String keyword, String equipmentId, Integer pageSize, String maintenanceCategory);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
index c8c4bcb..b6e17d8 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -2,6 +2,7 @@
 
 import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -47,8 +48,8 @@
 
     @Override
     public IPage<EamMaintenanceStandard> queryPageList(Page<EamMaintenanceStandard> page, EamMaintenanceStandard eamMaintenanceStandard) {
-        LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0);
+        QueryWrapper<EamMaintenanceStandard> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("ems.del_flag", CommonConstant.DEL_FLAG_0);
         //鐢ㄦ埛鏁版嵁鏉冮檺
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         if (sysUser == null) {
@@ -57,41 +58,42 @@
         if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
             //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
             List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
-            StringBuilder sqlSb = new StringBuilder("select 1 from eam_equipment t where t.id = equipment_id and t.equipment_code in (");
-            equipArr.forEach(equipmentCode -> {
-                sqlSb.append("'").append(equipmentCode).append("',");
-            });
-            sqlSb.append(")");
-            String sql = sqlSb.toString().replaceAll(",\\)", ")");
-            queryWrapper.exists(sql);
+            queryWrapper.in("e.equipment_code", equipArr);
         } else {
             //娌℃湁閫夋嫨璁惧锛屾牴鎹溅闂磋繃婊よ澶�
-            queryWrapper.exists("select 1 from eam_equipment e where exists (select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id) and e.id = equipment_id", sysUser.getId());
-        }
+            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId());        }
         if(eamMaintenanceStandard != null) {
             //缂栫爜 妯$硦鏌ヨ
             if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardCode())) {
-                queryWrapper.like(EamMaintenanceStandard::getStandardCode, eamMaintenanceStandard.getStandardCode());
+                queryWrapper.like("ems.standard_code", eamMaintenanceStandard.getStandardCode());
             }
             //鍚嶇О 妯$硦鏌ヨ
             if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardName())) {
-                queryWrapper.like(EamMaintenanceStandard::getStandardName, eamMaintenanceStandard.getStandardName());
+                queryWrapper.like("ems.standard_name", eamMaintenanceStandard.getStandardCode());
             }
             //璁惧
             if(StringUtils.isNotBlank(eamMaintenanceStandard.getEquipmentId())) {
-                queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, eamMaintenanceStandard.getEquipmentId());
+                queryWrapper.eq("ems.equipment_id", eamMaintenanceStandard.getEquipmentId());
             }
             //淇濆吇鍒嗙被
             if(StringUtils.isNotBlank(eamMaintenanceStandard.getMaintenanceCategory())) {
-                queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, eamMaintenanceStandard.getMaintenanceCategory());
+                queryWrapper.eq("ems.maintenance_category", eamMaintenanceStandard.getMaintenanceCategory());
             }
             //淇濆吇鍒嗙被
             if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardStatus())) {
-                queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, eamMaintenanceStandard.getStandardStatus());
+                queryWrapper.eq("ems.standard_status", eamMaintenanceStandard.getStandardStatus());
+            }
+            //璁惧缂栫爜
+            if(StringUtils.isNotBlank(eamMaintenanceStandard.getEquipmentCode())) {
+                queryWrapper.like("e.equipment_code", eamMaintenanceStandard.getEquipmentCode());
+            }
+            //璁惧鍚嶇О
+            if(StringUtils.isNotBlank(eamMaintenanceStandard.getEquipmentName())) {
+                queryWrapper.like("e.equipment_name", eamMaintenanceStandard.getEquipmentName());
             }
         }
-        queryWrapper.orderByDesc(EamMaintenanceStandard::getCreateTime);
-        return eamMaintenanceStandardMapper.selectPage(page, queryWrapper);
+        queryWrapper.orderByDesc("ems.create_time");
+        return eamMaintenanceStandardMapper.queryPageList(page, queryWrapper);
     }
 
     @Override
@@ -269,8 +271,13 @@
      * @return
      */
     @Override
-    public List<EamMaintenanceStandard> queryListBykeywordAndCategory(String keyword, String maintenanceCategory){
-        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        return eamMaintenanceStandardMapper.queryListBykeywordAndCategory(loginUser.getId(),keyword, maintenanceCategory);
+    public List<EamMaintenanceStandard> queryListByKeywordAndCategory(String keyword, String equipmentId, Integer pageSize, String maintenanceCategory){
+        Page<EamMaintenanceStandard> page = new Page<EamMaintenanceStandard>(1, pageSize);
+        EamMaintenanceStandard query = new EamMaintenanceStandard();
+        query.setEquipmentId(equipmentId);
+        query.setEquipmentCode(keyword);
+        query.setEquipmentName(keyword);
+        IPage<EamMaintenanceStandard> pageData = this.queryPageList(page, query);
+        return pageData.getRecords();
     }
 }

--
Gitblit v1.9.3