From c82b14f3a882698cbca62ef168615d31711320ca Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期四, 03 七月 2025 15:12:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/BaseFactoryUser.java                    |    0 
 lxzn-boot-base-core/src/main/java/org/jeecg/common/system/vo/LoginUser.java                                    |    7 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java      |   16 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/BaseFactoryMapper.java                  |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/WorkShopOrgCodeProRule.java               |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/BaseFactoryController.java          |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/EamBaseRepairDepartTreeModel.java        |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartMapper.xml       |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java                            |  546 ++++++++-----
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java           |   26 
 lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/DictList.java                             |   16 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java       |   72 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/BaseFactoryUserServiceImpl.java   |    0 
 lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/DictExt.java                              |   38 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java                   |    6 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java            |   16 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepartUser.java            |    0 
 lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/FieldQuery.java                           |   37 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EamDictAspect.java                           |   81 ++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java            |   27 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeRepDepRule.java                    |    0 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java                     |   40 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/BaseFactory.java                        |    0 
 lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/FillRuleConstant.java                              |    5 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepart.java                |    0 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java |   39 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/FindsRepairDepartsChildrenUtil.java       |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartMapper.java          |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/RepairDepartIdModel.java                 |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/EamBaseFactoryTreeModel.java             |    7 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java      |  305 +++++++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/BaseFactoryUserController.java      |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/BaseFactoryServiceImpl.java       |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/BaseFactoryUserMapper.xml           |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IBaseFactoryUserService.java           |    0 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/BaseFactoryUserMapper.java              |    0 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentTransferServiceImpl.java          |   12 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IBaseFactoryService.java               |    0 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDictService.java         |   12 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamUserSelectController.java                    |    2 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java         |    4 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/WorkShopIdModel.java                     |    0 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysDictMapper.xml         |   29 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/FindsBaseFactorysChildrenUtil.java        |    0 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentSealUpServiceImpl.java            |    4 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/aspect/FieldBatchQuery.java          |  135 +++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/BaseFactoryMapper.xml               |    0 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java     |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java       |   12 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java           |   45 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentScrapServiceImpl.java             |    2 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml                   |   15 
 /dev/null                                                                                                      |  312 --------
 lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java                                      |    4 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java  |   74 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentExtend.java                      |   32 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java                  |   14 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/aspect/DicAspectService.java         |  311 +++++++
 58 files changed, 1,594 insertions(+), 723 deletions(-)

diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java
index c5c2897..ee72256 100644
--- a/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java
@@ -52,13 +52,13 @@
     /**
      * 瀹氫箟鍒囩偣Pointcut
      */
-    @Pointcut("execution(public * org.jeecg.modules..*.*Controller.*(..)) || @annotation(org.jeecg.common.aspect.annotation.AutoDict)")
+    @Pointcut("execution(public * org.jeecg.modules.base.*Controller.*(..)) || @annotation(org.jeecg.common.aspect.annotation.AutoDict)")
     public void excudeService() {
     }
 
     @Around("excudeService()")
     public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
-    	long time1=System.currentTimeMillis();	
+    	long time1=System.currentTimeMillis();
         Object result = pjp.proceed();
         long time2=System.currentTimeMillis();
         log.debug("鑾峰彇JSON鏁版嵁 鑰楁椂锛�"+(time2-time1)+"ms");
diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/DictExt.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/DictExt.java
new file mode 100644
index 0000000..a8b69d0
--- /dev/null
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/DictExt.java
@@ -0,0 +1,38 @@
+package org.jeecg.common.aspect.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 瀛楀吀娉ㄨВ鎵╁睍锛屾敮鎸佸瀛楁鍖归厤
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface DictExt {
+
+    /**
+     * 鏁版嵁瀛楀吀琛�
+     * @return
+     */
+    String dicTable() default "";
+
+    /**
+     * 鏁版嵁Text
+     * @return
+     */
+    String dicText() default "";
+
+    /**
+     * 鏁版嵁code鏁扮粍
+     * @return
+     */
+    String[] dicCode();
+
+    /**
+     * 鏁版嵁鍙傛暟鏁扮粍锛屽弬鏁拌窡code鏁扮粍涓�涓�瀵瑰簲
+     * @return
+     */
+    String[] dicParams();
+}
diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/DictList.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/DictList.java
new file mode 100644
index 0000000..33b19d3
--- /dev/null
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/DictList.java
@@ -0,0 +1,16 @@
+package org.jeecg.common.aspect.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 绫绘弿杩�: 娣卞害瀛楀吀缈昏瘧娉ㄨВ
+ * 鍙兘鐢ㄦ潵娉ㄨВList绫诲瀷鐨勫睘鎬�
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface DictList {
+
+}
diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/FieldQuery.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/FieldQuery.java
new file mode 100644
index 0000000..c8dc56b
--- /dev/null
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/FieldQuery.java
@@ -0,0 +1,37 @@
+package org.jeecg.common.aspect.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 瀛楀吀娉ㄨВ
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface FieldQuery{
+    /**
+     * 鍏宠仈鏁版嵁琛�
+     * @return
+     */
+    String dicTable() default "";
+
+    /**
+     * 鏁版嵁Text
+     * @return
+     */
+    String dicText() default "";
+
+    /**
+     * 鏁版嵁code鏁扮粍
+     * @return
+     */
+    String[] dicCode();
+
+    /**
+     * 鏁版嵁鍙傛暟鏁扮粍锛屽弬鏁拌窡code鏁扮粍涓�涓�瀵瑰簲
+     * @return
+     */
+    String[] dicParams();
+}
diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/FillRuleConstant.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/FillRuleConstant.java
index 2321cfa..3f13a76 100644
--- a/lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/FillRuleConstant.java
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/FillRuleConstant.java
@@ -21,7 +21,10 @@
      * 浜х嚎缂栫爜
      */
     public static final String PRODUCTION = "org_num_rule";
-
+    /**
+     * 缁翠慨閮ㄩ棬鐝粍缂栫爜
+     */
+    public static final String REPAIRDEPART = "org_repair_deport_rule";
     /**
      * 璁惧杞﹂棿缂栫爜
      */
diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/system/vo/LoginUser.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/system/vo/LoginUser.java
index 6345532..6c8940d 100644
--- a/lxzn-boot-base-core/src/main/java/org/jeecg/common/system/vo/LoginUser.java
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/system/vo/LoginUser.java
@@ -89,7 +89,7 @@
 	 * 鐘舵��(1锛氭甯� 2锛氬喕缁� 锛�
 	 */
 	private Integer status;
-	
+
 	private Integer delFlag;
 	/**
      * 鍚屾宸ヤ綔娴佸紩鎿�1鍚屾0涓嶅悓姝�
@@ -143,4 +143,9 @@
 
 	private String equipmentIds;
 
+	/**
+	 * 璁惧绠$悊璁惧缁�
+	 */
+	private String eamEquipmentIds;
+
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EamDictAspect.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EamDictAspect.java
new file mode 100644
index 0000000..77202b1
--- /dev/null
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EamDictAspect.java
@@ -0,0 +1,81 @@
+package org.jeecg.modules.eam.aspect;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.system.aspect.DicAspectService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description: Dnc瀛楀吀aop绫�
+ * @Version: 1.0
+ */
+@Aspect
+@Component
+@Slf4j
+public class EamDictAspect {
+    @Autowired
+    private DicAspectService dicAspectService;
+
+    // 瀹氫箟鍒囩偣Pointcut
+    @Pointcut("execution(public * org.jeecg.modules.eam..*.*Controller.*(..))")
+    public void excudeService() {
+    }
+
+    @Around("excudeService()")
+    public Object  doAround(ProceedingJoinPoint pjp) throws Throwable {
+        long time1=System.currentTimeMillis();
+        Object result = pjp.proceed();
+        long time2=System.currentTimeMillis();
+        log.debug("鑾峰彇JSON鏁版嵁 鑰楁椂锛�"+(time2-time1)+"ms");
+        long start=System.currentTimeMillis();
+        this.parseDictText(result);
+        long end=System.currentTimeMillis();
+        log.debug("瑙f瀽娉ㄥ叆JSON鏁版嵁  鑰楁椂"+(end-start)+"ms");
+        return result;
+    }
+
+    /**
+     * 鏈柟娉曢拡瀵硅繑鍥炲璞′负Result 鐨処Page鐨勫垎椤靛垪琛ㄦ暟鎹繘琛屽姩鎬佸瓧鍏告敞鍏�
+     * 瀛楀吀娉ㄥ叆瀹炵幇 閫氳繃瀵瑰疄浣撶被娣诲姞娉ㄨВ@dict 鏉ユ爣璇嗛渶瑕佺殑瀛楀吀鍐呭,瀛楀吀鍒嗕负鍗曞瓧鍏竎ode鍗冲彲 锛宼able瀛楀吀 code table text閰嶅悎浣跨敤涓庡師鏉eecg鐨勭敤娉曠浉鍚�
+     * 绀轰緥涓篠ysUser   瀛楁涓簊ex 娣诲姞浜嗘敞瑙Dict(dicCode = "sex") 浼氬湪瀛楀吀鏈嶅姟绔嬮┈鏌ュ嚭鏉ュ搴旂殑text 鐒跺悗鍦ㄨ姹俵ist鐨勬椂鍊欏皢杩欎釜瀛楀吀text锛屽凡瀛楁鍚嶇О鍔燺dictText褰㈠紡杩斿洖鍒板墠绔�
+     * 渚嬭緭鍏ュ綋鍓嶈繑鍥炲�肩殑灏变細澶氬嚭涓�涓猻ex_dictText瀛楁
+     * {
+     *      sex:1,
+     *      sex_dictText:"鐢�"
+     * }
+     * 鍓嶇鐩存帴鍙栧�約ext_dictText鍦╰able閲岄潰鏃犻渶鍐嶈繘琛屽墠绔殑瀛楀吀杞崲浜�
+     *  customRender:function (text) {
+     *               if(text==1){
+     *                 return "鐢�";
+     *               }else if(text==2){
+     *                 return "濂�";
+     *               }else{
+     *                 return text;
+     *               }
+     *             }
+     *             鐩墠vue鏄繖涔堣繘琛屽瓧鍏告覆鏌撳埌table涓婄殑澶氫簡灏卞緢楹荤儲浜� 杩欎釜鐩存帴鍦ㄦ湇鍔$娓叉煋瀹屾垚鍓嶇鍙互鐩存帴鐢�
+     * @param result
+     */
+    private void parseDictText(Object result) {
+        if (result instanceof Result) {
+            if (((Result) result).getResult() instanceof IPage) {
+                List<JSONObject> items = dicAspectService.detailDict(((IPage) ((Result) result).getResult()).getRecords());
+                ((IPage) ((Result) result).getResult()).setRecords(items);
+            }
+            else if(((Result) result).getResult() instanceof List){
+                List<JSONObject> items = dicAspectService.detailDict(((List) ((Result) result).getResult()));
+                ((Result) result).setResult(items);
+            }
+        }
+    }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/BaseFactoryController.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/BaseFactoryController.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/BaseFactoryController.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/BaseFactoryController.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/BaseFactoryUserController.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/BaseFactoryUserController.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/BaseFactoryUserController.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/BaseFactoryUserController.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java
similarity index 75%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java
index 155615c..e04b991 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java
@@ -43,7 +43,7 @@
 public class EamBaseRepairDepartController extends JeecgController<EamBaseRepairDepart, IEamBaseRepairDepartService> {
 
     @Resource
-    private IEamBaseRepairDepartService sysMaintainDepartService;
+    private IEamBaseRepairDepartService eamBaseRepairDepartService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -63,7 +63,7 @@
                                    HttpServletRequest req) {
         QueryWrapper<EamBaseRepairDepart> queryWrapper = QueryGenerator.initQueryWrapper(eamBaseRepairDepart, req.getParameterMap());
         Page<EamBaseRepairDepart> page = new Page<EamBaseRepairDepart>(pageNo, pageSize);
-        IPage<EamBaseRepairDepart> pageList = sysMaintainDepartService.page(page, queryWrapper);
+        IPage<EamBaseRepairDepart> pageList = eamBaseRepairDepartService.page(page, queryWrapper);
         return Result.OK(pageList);
     }
 
@@ -74,10 +74,10 @@
         Result<List<EamBaseRepairDepartTreeModel>> result = new Result<>();
         try {
             if (oConvertUtils.isNotEmpty(ids)) {
-                List<EamBaseRepairDepartTreeModel> maintainDepartList = sysMaintainDepartService.queryTreeList(ids);
-                result.setResult(maintainDepartList);
+                List<EamBaseRepairDepartTreeModel> repairDepartList = eamBaseRepairDepartService.queryTreeList(ids);
+                result.setResult(repairDepartList);
             } else {
-                List<EamBaseRepairDepartTreeModel> list = sysMaintainDepartService.queryTreeList();
+                List<EamBaseRepairDepartTreeModel> list = eamBaseRepairDepartService.queryTreeList();
                 result.setResult(list);
             }
             result.setSuccess(true);
@@ -87,22 +87,22 @@
         return result;
     }
 
-    @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」")
-    @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」", notes = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」")
-    @GetMapping(value = "/loadMaintainDepartTreeOptions")
-    public Result<List<RepairDepartIdModel>> loadMaintainDepartTreeOptions() {
-        Result<List<RepairDepartIdModel>> result = new Result<>();
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = user.getId();
-        try {
-            List<RepairDepartIdModel> list = sysMaintainDepartService.loadMaintainDepartTreeOptions(userId);
-            result.setSuccess(true);
-            result.setResult(list);
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-        }
-        return result;
-    }
+//    @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」")
+//    @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」", notes = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」")
+//    @GetMapping(value = "/loadMaintainDepartTreeOptions")
+//    public Result<List<RepairDepartIdModel>> loadMaintainDepartTreeOptions() {
+//        Result<List<RepairDepartIdModel>> result = new Result<>();
+//        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+//        String userId = user.getId();
+//        try {
+//            List<RepairDepartIdModel> list = eamBaseRepairDepartService.loadMaintainDepartTreeOptions(userId);
+//            result.setSuccess(true);
+//            result.setResult(list);
+//        } catch (Exception e) {
+//            log.error(e.getMessage(), e);
+//        }
+//        return result;
+//    }
 
     @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-id闆嗗悎")
     @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-id闆嗗悎", notes = "缁翠慨閮ㄩ棬鐝粍-id闆嗗悎")
@@ -110,8 +110,8 @@
     public Result<List<String>> queryTreeIdList() {
         Result<List<String>> result = new Result<>();
         try {
-            List<EamBaseRepairDepart> maintainDepartList = sysMaintainDepartService.list(new LambdaQueryWrapper<EamBaseRepairDepart>().eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0).orderByAsc(EamBaseRepairDepart::getDepartOrder));
-            List<String> ids = maintainDepartList.stream().map(EamBaseRepairDepart::getId).collect(Collectors.toList());
+            List<EamBaseRepairDepart> repairDepartList = eamBaseRepairDepartService.list(new LambdaQueryWrapper<EamBaseRepairDepart>().eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0).orderByAsc(EamBaseRepairDepart::getDepartOrder));
+            List<String> ids = repairDepartList.stream().map(EamBaseRepairDepart::getId).collect(Collectors.toList());
             result.setSuccess(true);
             result.setResult(ids);
         } catch (Exception e) {
@@ -129,11 +129,11 @@
     @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-娣诲姞")
     @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-娣诲姞", notes = "缁翠慨閮ㄩ棬鐝粍-娣诲姞")
     @PostMapping(value = "/add")
-    @CacheEvict(value = {"sys:cache:maintainDepart:alldata", "sys:cache:maintainDepart:allids"}, allEntries = true)
+    @CacheEvict(value = {"eam:cache:repairDepart:alldata", "eam:cache:repairDepart:allids"}, allEntries = true)
     public Result<EamBaseRepairDepart> add(@RequestBody EamBaseRepairDepart eamBaseRepairDepart) {
         Result<EamBaseRepairDepart> result = new Result<>();
         try {
-            sysMaintainDepartService.saveMaintainDepartData(eamBaseRepairDepart);
+            eamBaseRepairDepartService.saveMaintainDepartData(eamBaseRepairDepart);
             result.success("娣诲姞鎴愬姛锛�");
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -151,14 +151,14 @@
     @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-缂栬緫")
     @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-缂栬緫", notes = "缁翠慨閮ㄩ棬鐝粍-缂栬緫")
     @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
-    @CacheEvict(value = {"sys:cache:maintainDepart:alldata", "sys:cache:maintainDepart:allids"}, allEntries = true)
+    @CacheEvict(value = {"eam:cache:repairDepart:alldata", "eam:cache:repairDepart:allids"}, allEntries = true)
     public Result<EamBaseRepairDepart> edit(@RequestBody EamBaseRepairDepart eamBaseRepairDepart) {
         Result<EamBaseRepairDepart> result = new Result<>();
-        EamBaseRepairDepart eamBaseRepairDepartEntity = sysMaintainDepartService.getById(eamBaseRepairDepart.getId());
+        EamBaseRepairDepart eamBaseRepairDepartEntity = eamBaseRepairDepartService.getById(eamBaseRepairDepart.getId());
         if (eamBaseRepairDepartEntity == null) {
             result.error500("鏈壘鍒板搴斿疄浣�");
         } else {
-            boolean ok = sysMaintainDepartService.updateMaintainDepartDataById(eamBaseRepairDepart);
+            boolean ok = eamBaseRepairDepartService.updateMaintainDepartDataById(eamBaseRepairDepart);
             if (ok) {
                 result.success("淇敼鎴愬姛!");
             }
@@ -175,14 +175,14 @@
     @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-閫氳繃id鍒犻櫎")
     @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-閫氳繃id鍒犻櫎", notes = "缁翠慨閮ㄩ棬鐝粍-閫氳繃id鍒犻櫎")
     @DeleteMapping(value = "/delete")
-    @CacheEvict(value = {"sys:cache:maintainDepart:alldata", "sys:cache:maintainDepart:allids"}, allEntries = true)
+    @CacheEvict(value = {"eam:cache:repairDepart:alldata", "eam:cache:repairDepart:allids"}, allEntries = true)
     public Result<EamBaseRepairDepart> delete(@RequestParam(name = "id", required = true) String id) {
         Result<EamBaseRepairDepart> result = new Result<>();
-        EamBaseRepairDepart eamBaseRepairDepart = sysMaintainDepartService.getById(id);
+        EamBaseRepairDepart eamBaseRepairDepart = eamBaseRepairDepartService.getById(id);
         if (eamBaseRepairDepart == null) {
             result.error500("鏈壘鍒板搴斿疄浣�");
         } else {
-            boolean ok = sysMaintainDepartService.delete(id);
+            boolean ok = eamBaseRepairDepartService.delete(id);
             if (ok) {
                 result.success("鍒犻櫎鎴愬姛!");
             }
@@ -199,13 +199,13 @@
     @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-鎵归噺鍒犻櫎")
     @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-鎵归噺鍒犻櫎", notes = "缁翠慨閮ㄩ棬鐝粍-鎵归噺鍒犻櫎")
     @DeleteMapping(value = "/deleteBatch")
-    @CacheEvict(value = {"sys:cache:maintainDepart:alldata", "sys:cache:maintainDepart:allids"}, allEntries = true)
+    @CacheEvict(value = {"eam:cache:repairDepart:alldata", "eam:cache:repairDepart:allids"}, allEntries = true)
     public Result<EamBaseRepairDepart> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
         Result<EamBaseRepairDepart> result = new Result<>();
         if (ids == null || "".equals(ids.trim())) {
             result.error500("鍙傛暟涓嶈瘑鍒紒");
         } else {
-            this.sysMaintainDepartService.deleteBatchWithChildren(Arrays.asList(ids.split(",")));
+            this.eamBaseRepairDepartService.deleteBatchWithChildren(Arrays.asList(ids.split(",")));
             result.success("鍒犻櫎鎴愬姛!");
         }
         return result;
@@ -217,7 +217,7 @@
     public Result<List<RepairDepartIdModel>> queryIdTree() {
         Result<List<RepairDepartIdModel>> result = new Result<>();
         try {
-            List<RepairDepartIdModel> list = sysMaintainDepartService.queryMaintainDepartIdTreeList();
+            List<RepairDepartIdModel> list = eamBaseRepairDepartService.queryMaintainDepartIdTreeList();
             result.setResult(list);
             result.setSuccess(true);
         } catch (Exception e) {
@@ -231,7 +231,7 @@
     @GetMapping(value = "/searchBy")
     public Result<List<EamBaseRepairDepartTreeModel>> searchBy(@RequestParam(name = "keyWord", required = true) String keyWord) {
         Result<List<EamBaseRepairDepartTreeModel>> result = new Result<>();
-        List<EamBaseRepairDepartTreeModel> treeList = sysMaintainDepartService.searchByKeyWord(keyWord);
+        List<EamBaseRepairDepartTreeModel> treeList = eamBaseRepairDepartService.searchByKeyWord(keyWord);
         if (treeList == null || treeList.isEmpty()) {
             result.setSuccess(false);
             result.setMessage("鏈煡璇㈠尮閰嶆暟鎹紒");
@@ -251,7 +251,7 @@
     @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-閫氳繃id鏌ヨ", notes = "缁翠慨閮ㄩ棬鐝粍-閫氳繃id鏌ヨ")
     @GetMapping(value = "/queryById")
     public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
-        EamBaseRepairDepart eamBaseRepairDepart = sysMaintainDepartService.getById(id);
+        EamBaseRepairDepart eamBaseRepairDepart = eamBaseRepairDepartService.getById(id);
         return Result.OK(eamBaseRepairDepart);
     }
 
@@ -278,7 +278,7 @@
     @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-閫氳繃excel瀵煎叆鏁版嵁")
     @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-閫氳繃excel瀵煎叆鏁版嵁", notes = "缁翠慨閮ㄩ棬鐝粍-閫氳繃excel瀵煎叆鏁版嵁")
     @PostMapping(value = "/importExcel")
-    @CacheEvict(value = {"sys:cache:maintainDepart:alldata", "sys:cache:maintainDepart:allids"}, allEntries = true)
+    @CacheEvict(value = {"eam:cache:repairDepart:alldata", "eam:cache:repairDepart:allids"}, allEntries = true)
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, EamBaseRepairDepart.class);
     }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/entity/BaseFactory.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/BaseFactory.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/entity/BaseFactory.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/BaseFactory.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/entity/BaseFactoryUser.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/BaseFactoryUser.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/entity/BaseFactoryUser.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/BaseFactoryUser.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepart.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepart.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepart.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepart.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepartUser.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepartUser.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepartUser.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepartUser.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/BaseFactoryMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/BaseFactoryMapper.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/BaseFactoryMapper.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/BaseFactoryMapper.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/BaseFactoryUserMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/BaseFactoryUserMapper.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/BaseFactoryUserMapper.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/BaseFactoryUserMapper.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartMapper.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartMapper.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartMapper.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/BaseFactoryMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/BaseFactoryMapper.xml
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/BaseFactoryMapper.xml
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/BaseFactoryMapper.xml
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/BaseFactoryUserMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/BaseFactoryUserMapper.xml
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/BaseFactoryUserMapper.xml
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/BaseFactoryUserMapper.xml
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartMapper.xml
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartMapper.xml
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartMapper.xml
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/model/EamBaseFactoryTreeModel.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/EamBaseFactoryTreeModel.java
similarity index 89%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/model/EamBaseFactoryTreeModel.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/EamBaseFactoryTreeModel.java
index 6f8f16f..1d0c674 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/model/EamBaseFactoryTreeModel.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/EamBaseFactoryTreeModel.java
@@ -1,17 +1,10 @@
 package org.jeecg.modules.eam.base.model;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import org.jeecg.modules.eam.base.entity.BaseFactory;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.util.ArrayList;
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/model/EamBaseRepairDepartTreeModel.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/EamBaseRepairDepartTreeModel.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/model/EamBaseRepairDepartTreeModel.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/EamBaseRepairDepartTreeModel.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/model/RepairDepartIdModel.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/RepairDepartIdModel.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/model/RepairDepartIdModel.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/RepairDepartIdModel.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/model/WorkShopIdModel.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/WorkShopIdModel.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/model/WorkShopIdModel.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/model/WorkShopIdModel.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeRepDepRule.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeRepDepRule.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeRepDepRule.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeRepDepRule.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/IBaseFactoryService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IBaseFactoryService.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/IBaseFactoryService.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IBaseFactoryService.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/IBaseFactoryUserService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IBaseFactoryUserService.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/IBaseFactoryUserService.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IBaseFactoryUserService.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java
similarity index 63%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java
index 2b60d19..90a26bb 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java
@@ -53,41 +53,41 @@
      * 鏍规嵁浜х嚎id鎵归噺鍒犻櫎骞跺垹闄ゅ叾鍙兘瀛樺湪鐨勫瓙绾т骇绾�
      */
     void deleteBatchWithChildren(List<String> ids);
-
-    /**
-     * 鑾峰彇涓嬬骇浜х嚎
-     */
-    List<EamBaseRepairDepart> queryRepDepByPid(String pid);
-
-    /**
-     * 鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」
-     */
-    List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId);
-
-    /**
-     * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣
-     */
-    List<String> recursionChildren(String productionId);
-
-    /**
-     * 鏍规嵁鐢ㄦ埛id鍜岃溅闂磇d鑾峰彇鐢ㄦ埛鎷ユ湁鐨勮溅闂磇d
-     *
-     * @param userId
-     * @param productionId
-     * @return
-     */
-    String findFirstMaintainDepart(String userId, String productionId);
-
-    /**
-     * 鏍规嵁鐢ㄦ埛id鏌ヨ鐢ㄦ埛宸ユ鏉冮檺
-     */
-    String findThreeMaintainDepartId(String userId);
-
-    /**
-     *
-     * @param equipmentId
-     * @return
-     */
-    EamBaseRepairDepart findMaintainDepartList(String equipmentId);
+//
+//    /**
+//     * 鑾峰彇涓嬬骇浜х嚎
+//     */
+//    List<EamBaseRepairDepart> queryRepDepByPid(String pid);
+//
+//    /**
+//     * 鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」
+//     */
+//    List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId);
+//
+//    /**
+//     * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣
+//     */
+//    List<String> recursionChildren(String productionId);
+//
+//    /**
+//     * 鏍规嵁鐢ㄦ埛id鍜岃溅闂磇d鑾峰彇鐢ㄦ埛鎷ユ湁鐨勮溅闂磇d
+//     *
+//     * @param userId
+//     * @param productionId
+//     * @return
+//     */
+//    String findFirstMaintainDepart(String userId, String productionId);
+//
+//    /**
+//     * 鏍规嵁鐢ㄦ埛id鏌ヨ鐢ㄦ埛宸ユ鏉冮檺
+//     */
+//    String findThreeMaintainDepartId(String userId);
+//
+//    /**
+//     *
+//     * @param equipmentId
+//     * @return
+//     */
+//    EamBaseRepairDepart findMaintainDepartList(String equipmentId);
     
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/impl/BaseFactoryServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/BaseFactoryServiceImpl.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/impl/BaseFactoryServiceImpl.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/BaseFactoryServiceImpl.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/impl/BaseFactoryUserServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/BaseFactoryUserServiceImpl.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/impl/BaseFactoryUserServiceImpl.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/BaseFactoryUserServiceImpl.java
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java
new file mode 100644
index 0000000..38a4fe4
--- /dev/null
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java
@@ -0,0 +1,305 @@
+package org.jeecg.modules.eam.base.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.constant.FillRuleConstant;
+import org.jeecg.common.util.FillRuleUtil;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
+import org.jeecg.modules.eam.base.service.IEamBaseRepairDepartService;
+import org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartMapper;
+import org.jeecg.modules.eam.base.model.EamBaseRepairDepartTreeModel;
+import org.jeecg.modules.eam.base.model.RepairDepartIdModel;
+import org.jeecg.modules.eam.base.util.FindsRepairDepartsChildrenUtil;
+import org.jeecg.modules.system.mapper.SysUserMapper;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-07-01
+ * @Description:
+ */
+@Service
+public class EamBaseRepairDepartImpl extends ServiceImpl<EamBaseRepairDepartMapper, EamBaseRepairDepart> implements IEamBaseRepairDepartService {
+
+    @Resource
+    private SysUserMapper sysUserMapper;
+
+    /**
+     * queryTreeList 瀵瑰簲 queryTreeList 鏌ヨ鎵�鏈夌殑缁翠慨閮ㄩ棬鐝粍鏁版嵁,浠ユ爲缁撴瀯褰㈠紡鍝嶅簲缁欏墠绔�
+     */
+    @Override
+    @Cacheable(value = "eam:cache:repairDepart:alldata")
+    public List<EamBaseRepairDepartTreeModel> queryTreeList() {
+        LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<EamBaseRepairDepart>();
+        query.eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
+        query.orderByAsc(EamBaseRepairDepart::getDepartOrder);
+        List<EamBaseRepairDepart> list = this.list(query);
+        //璁剧疆鐢ㄦ埛id锛岃鍓嶅彴鏄剧ず
+//        this.setUserIdsByProList(list);
+        //璋冪敤wrapTreeDataToTreeList鏂规硶鐢熸垚鏍戠姸鏁版嵁
+        return FindsRepairDepartsChildrenUtil.wrapTreeDataToTreeList(list);
+    }
+
+    /**
+     * queryTreeList 鏍规嵁缁翠慨閮ㄩ棬鐝粍id鏌ヨ,鍓嶇鍥炴樉璋冪敤
+     */
+    @Override
+    public List<EamBaseRepairDepartTreeModel> queryTreeList(String ids) {
+        List<EamBaseRepairDepartTreeModel> listResult = new ArrayList<>();
+        LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<EamBaseRepairDepart>();
+        query.eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
+        if (oConvertUtils.isNotEmpty(ids)) {
+            query.in(true, EamBaseRepairDepart::getId, ids.split(","));
+        }
+        query.orderByAsc(EamBaseRepairDepart::getDepartOrder);
+        List<EamBaseRepairDepart> list = this.list(query);
+        for (EamBaseRepairDepart repairDepart : list) {
+            listResult.add(new EamBaseRepairDepartTreeModel(repairDepart));
+        }
+        return listResult;
+    }
+
+    @Override
+    @Cacheable(value = "eam:cache:repairDepart:allids")
+    public List<RepairDepartIdModel> queryMaintainDepartIdTreeList() {
+        LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<>();
+        query.eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
+        query.orderByAsc(EamBaseRepairDepart::getDepartOrder);
+        List<EamBaseRepairDepart> list = this.list(query);
+        //璋冪敤wrapTreeDataToTreeList鏂规硶鐢熸垚鏍戠姸鏁版嵁
+        return FindsRepairDepartsChildrenUtil.wrapTreeDataToMaintainDepartIdTreeList(list);
+    }
+
+    /**
+     * 鏍规嵁鍏抽敭瀛楁悳绱㈢浉鍏崇殑閮ㄩ棬鏁版嵁
+     */
+    @Override
+    public List<EamBaseRepairDepartTreeModel> searchByKeyWord(String keyWord) {
+        LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<>();
+        List<EamBaseRepairDepartTreeModel> newList = new ArrayList<>();
+        query.like(EamBaseRepairDepart::getDepartName, keyWord);
+        EamBaseRepairDepartTreeModel model = new EamBaseRepairDepartTreeModel();
+        List<EamBaseRepairDepart> repairDepartList = this.list(query);
+        if (!repairDepartList.isEmpty()) {
+            for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
+                model = new EamBaseRepairDepartTreeModel(eamBaseRepairDepart);
+                model.setChildren(null);
+                newList.add(model);
+            }
+            return newList;
+        }
+        return Collections.emptyList();
+    }
+
+    /**
+     * saveMaintainDepartData 瀵瑰簲 add 淇濆瓨鐢ㄦ埛鍦ㄩ〉闈㈡坊鍔犵殑鏂扮殑缁翠慨閮ㄩ棬鐝粍瀵硅薄鏁版嵁
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void saveMaintainDepartData(EamBaseRepairDepart eamBaseRepairDepart) {
+        if (eamBaseRepairDepart != null) {
+            if (eamBaseRepairDepart.getParentId() == null) {
+                eamBaseRepairDepart.setParentId("");
+            }
+            eamBaseRepairDepart.setId(IdWorker.getIdStr(eamBaseRepairDepart));
+            // 鍏堝垽鏂瀵硅薄鏈夋棤鐖剁骇ID,鏈夊垯鎰忓懗鐫�涓嶆槸鏈�楂樼骇,鍚﹀垯鎰忓懗鐫�鏄渶楂樼骇
+            // 鑾峰彇鐖剁骇ID
+            String parentId = eamBaseRepairDepart.getParentId();
+            JSONObject formData = new JSONObject();
+            formData.put("parentId",parentId);
+            String[] codeArray = (String[]) FillRuleUtil.executeRule(FillRuleConstant.REPAIRDEPART,formData);
+            eamBaseRepairDepart.setOrgCode(codeArray[0]);
+            String orgType = codeArray[1];
+            eamBaseRepairDepart.setOrgType(String.valueOf(orgType));
+            eamBaseRepairDepart.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
+            this.save(eamBaseRepairDepart);
+        }
+    }
+
+    /**
+     * updateMaintainDepartDataById 瀵瑰簲 edit 鏍规嵁缁翠慨閮ㄩ棬鐝粍涓婚敭鏉ユ洿鏂板搴旂殑缁翠慨閮ㄩ棬鐝粍鏁版嵁
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean updateMaintainDepartDataById(EamBaseRepairDepart eamBaseRepairDepart) {
+        if (eamBaseRepairDepart != null) {
+            this.updateById(eamBaseRepairDepart);
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎骞跺垹闄ゅ叾鍙兘瀛樺湪鐨勫瓙绾х淮淇儴闂ㄧ彮缁�
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean delete(String id) {
+        List<String> idList = new ArrayList<>();
+        idList.add(id);
+        this.checkChildrenExists(id, idList);
+        boolean result = this.removeByIds(idList);
+        //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎鐢ㄦ埛涓庣淮淇儴闂ㄧ彮缁勫叧绯�
+//        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
+        //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎缁翠慨閮ㄩ棬鐝粍涓庤澶囧叧绯�
+//        repairDepartEquipmentMapper.delete(new LambdaQueryWrapper<SysMaintainDepartEquipment>().in(SysMaintainDepartEquipment::getMaintainDepartId, idList));
+        return result;
+    }
+
+    /**
+     * 鏍规嵁缁翠慨閮ㄩ棬鐝粍id鎵归噺鍒犻櫎骞跺垹闄ゅ叾鍙兘瀛樺湪鐨勫瓙绾х淮淇儴闂ㄧ彮缁�
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteBatchWithChildren(List<String> ids) {
+        List<String> idList = new ArrayList<>();
+        for (String id : ids) {
+            idList.add(id);
+            this.checkChildrenExists(id, idList);
+        }
+        this.removeByIds(idList);
+        //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎鐢ㄦ埛涓庣淮淇儴闂ㄧ彮缁勫叧绯�
+//        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
+        //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎缁翠慨閮ㄩ棬鐝粍涓庤澶囧叧绯�
+//        repairDepartEquipmentMapper.delete(new LambdaQueryWrapper<SysMaintainDepartEquipment>().in(SysMaintainDepartEquipment::getMaintainDepartId, idList));
+    }
+
+//    /**
+//     * 鏍规嵁id鏌ヨ涓嬬骇缁翠慨閮ㄩ棬鐝粍
+//     */
+//    @Override
+//    public List<EamBaseRepairDepart> queryRepDepByPid(String pid) {
+//        return this.baseMapper.queryRepDepByPid(pid);
+//    }
+//
+//    /**
+//     * 鏍规嵁鐢ㄦ埛id鑾峰彇缁翠慨閮ㄩ棬鐝粍涓嬫媺鏍戦�夐」
+//     */
+//    @Override
+//    public List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId) {
+//        //鑾峰彇鎵�鏈夌淮淇儴闂ㄧ彮缁勬暟鎹�
+//        List<EamBaseRepairDepart> repairDepartList = this.baseMapper.selectList(new LambdaQueryWrapper<EamBaseRepairDepart>().eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(EamBaseRepairDepart::getDepartOrder));
+//        //鏍规嵁鐢ㄦ埛id鑾峰彇鎷ユ湁鐨勭淮淇儴闂ㄧ彮缁勪俊鎭泦鍚�
+//        List<String> repairDepartIds = repairDepartUserMapper.queryRepairDepartIdsByUserId(userId);
+//        List<String> allMaintainDepartIds = new ArrayList<>();
+//        //鎵惧埌鎵�鏈夌淮淇儴闂ㄧ彮缁刬d鐨勪笂绾d
+//        if (repairDepartIds != null && !repairDepartIds.isEmpty()) {
+//            for (String repairDepartId : repairDepartIds) {
+//                this.getAllMaintainDepartIds(repairDepartList, repairDepartId, allMaintainDepartIds);
+//            }
+//        }
+//        //杩囨护缁翠慨閮ㄩ棬鐝粍鏁版嵁
+//        List<EamBaseRepairDepart> list = repairDepartList.stream().filter((EamBaseRepairDepart eamBaseRepairDepart) -> allMaintainDepartIds.contains(eamBaseRepairDepart.getId())).collect(Collectors.toList());
+//        return FindsRepairDepartsChildrenUtil.wrapTreeDataToMaintainDepartIdTreeList(list);
+//    }
+//
+//    /**
+//     * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣id
+//     */
+//    @Override
+//    public List<String> recursionChildren(String repairDepartId) {
+//        return this.baseMapper.recursionChildren(repairDepartId);
+//    }
+//
+//    /**
+//     * 鏍规嵁鐢ㄦ埛id鍜岃溅闂磇d鑾峰彇鐢ㄦ埛鎷ユ湁鐨勮溅闂磇d
+//     * @param userId
+//     * @param repairDepartId
+//     * @return
+//     */
+//    @Override
+//    public String findFirstMaintainDepart(String userId, String repairDepartId) {
+//        return this.baseMapper.findFirstMaintain(userId, repairDepartId);
+//    }
+//
+//    /**
+//     * 鏍规嵁鐢ㄦ埛id鏌ヨ鐢ㄦ埛缁翠慨閮ㄩ棬鐝粍鏉冮檺
+//     */
+//    @Override
+//    public String findThreeMaintainDepartId(String userId) {
+//        return this.baseMapper.findThreeMaintainId(userId);
+//    }
+//
+//    @Override
+//    public EamBaseRepairDepart findMaintainDepartList(String equipmentId) {
+//        return this.baseMapper.findMaintainList(equipmentId);
+//    }
+
+    /**
+     * delete 鏂规硶璋冪敤 閫掑綊鏌ユ壘瀛愰泦id
+     */
+    private void checkChildrenExists(String id, List<String> idList) {
+        LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<>();
+        query.eq(EamBaseRepairDepart::getParentId, id);
+        List<EamBaseRepairDepart> repairDepartList = this.list(query);
+        if (repairDepartList != null && !repairDepartList.isEmpty()) {
+            for (EamBaseRepairDepart repairDepart : repairDepartList) {
+                idList.add(repairDepart.getId());
+                this.checkChildrenExists(repairDepart.getId(), idList);
+            }
+        }
+    }
+
+//    /**
+//     * 鑾峰彇鎵�鏈夌殑缁翠慨閮ㄩ棬鐝粍id锛堝寘鍚墍鏈変笂绾э級
+//     */
+//    private void getAllMaintainDepartIds(List<EamBaseRepairDepart> repairDepartList, String repairDepartId, List<String> allMaintainDepartIds) {
+//        if (!allMaintainDepartIds.contains(repairDepartId)) {
+//            allMaintainDepartIds.add(repairDepartId);
+//        }
+//        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
+//            if (StringUtils.isEmpty(eamBaseRepairDepart.getParentId())) {
+//                continue;
+//            }
+//            if (repairDepartId.equals(eamBaseRepairDepart.getId())) {
+//                if (!allMaintainDepartIds.contains(eamBaseRepairDepart.getParentId())) {
+//                    allMaintainDepartIds.add(eamBaseRepairDepart.getParentId());
+//                    getAllMaintainDepartIds(repairDepartList, eamBaseRepairDepart.getParentId(), allMaintainDepartIds);
+//                }
+//            }
+//        }
+//    }
+//
+//    /**
+//     * 閫氳繃缁翠慨閮ㄩ棬鐝粍闆嗗悎涓虹淮淇儴闂ㄧ彮缁勮缃敤鎴穒d锛岀敤浜庡墠鍙板睍绀�
+//     */
+//    private void setUserIdsByProList(List<EamBaseRepairDepart> repairDepartList) {
+//        //鏌ヨ璐熻矗閮ㄩ棬涓嶄负绌虹殑鎯呭喌
+//        LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>();
+//        query.isNotNull(SysUser::getDepartIds);
+//        List<SysUser> users = sysUserMapper.selectList(query);
+//        Map<String, Object> map = new HashMap(5);
+//        //鍏堝惊鐜竴閬嶆壘鍒颁笉鍚岀殑璐熻矗缁翠慨閮ㄩ棬鐝粍id
+//        for (SysUser user : users) {
+//            String repairDepartIds = user.getRepairDepartIds();
+//            if (StringUtils.isNotBlank(repairDepartIds)) {
+//                String[] repairDepartIdArray = repairDepartIds.split(",");
+//                for (String repairDepartId : repairDepartIdArray) {
+//                    if (map.containsKey(repairDepartId)) {
+//                        String userIds = map.get(repairDepartId) + "," + user.getId();
+//                        map.put(repairDepartId, userIds);
+//                    } else {
+//                        map.put(repairDepartId, user.getId());
+//                    }
+//                }
+//            }
+//        }
+//        //寰幆缁翠慨閮ㄩ棬鐝粍闆嗗悎鎵惧埌缁翠慨閮ㄩ棬鐝粍id瀵瑰簲鐨勮礋璐g敤鎴�
+//        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
+//            if (map.containsKey(eamBaseRepairDepart.getId())) {
+//                eamBaseRepairDepart.setDirectorUserIds(map.get(eamBaseRepairDepart.getId()).toString());
+//            }
+//        }
+//    }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/util/FindsBaseFactorysChildrenUtil.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/FindsBaseFactorysChildrenUtil.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/util/FindsBaseFactorysChildrenUtil.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/FindsBaseFactorysChildrenUtil.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/util/FindsRepairDepartsChildrenUtil.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/FindsRepairDepartsChildrenUtil.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/util/FindsRepairDepartsChildrenUtil.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/FindsRepairDepartsChildrenUtil.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/util/WorkShopOrgCodeProRule.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/WorkShopOrgCodeProRule.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/util/WorkShopOrgCodeProRule.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/util/WorkShopOrgCodeProRule.java
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java
index 9ce89d0..e96653e 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.eam.entity;
 
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -14,6 +15,7 @@
 import org.jeecgframework.poi.excel.annotation.Excel;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.awt.*;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
@@ -69,287 +71,405 @@
     @ApiModelProperty(value = "鍒犻櫎鏍囪")
     private Integer delFlag;
     /**
-     * 璁惧缁熶竴缂栧彿
+     * 鍏抽敭璁惧鏍囪瘑
      */
-    @Excel(name = "璁惧缂栧彿", width = 15, orderNum = "1")
-    @ApiModelProperty(value = "璁惧缂栧彿")
+    @Excel(name = "鍏抽敭璁惧鏍囪瘑", width = 15, orderNum = "1")
+    @ApiModelProperty(value = "鍏抽敭璁惧鏍囪瘑")
+    @Dict(dicCode = "equipment_importance")
+    private String equipmentImportance;
+
+    /**
+     * 缁熶竴缂栫爜
+     */
+    @Excel(name = "缁熶竴缂栫爜", width = 15, orderNum = "2")
+    @ApiModelProperty(value = "缁熶竴缂栫爜")
     private String equipmentCode;
     /**
      * 璁惧鍚嶇О
      */
-    @Excel(name = "璁惧鍚嶇О", width = 15, orderNum = "2")
+    @Excel(name = "璁惧鍚嶇О", width = 15, orderNum = "3")
     @ApiModelProperty(value = "璁惧鍚嶇О")
     private String equipmentName;
+
     /**
-     * 浣跨敤閮ㄩ棬
+     * 鍏徃
      */
-    @Excel(name = "浣跨敤杞﹂棿", width = 25, dictTable = "mdc_production", dicText = "production_name", dicCode = "id", orderNum = "9")
-    @ApiModelProperty(value = "浣跨敤閮ㄩ棬")
-    @Dict(dicCode = "mdc_production, production_name, id")
-    private String orgId;
+//    @Excel(name = "鍏徃", width = 15, orderNum = "4")
+    @ApiModelProperty(value = "鍏徃")
+    @Dict(dictTable = "eam_base_factory",dicText = "factory_name",dicCode = "org_code")
+    private transient String gsfactoryOrgCode;
+
     /**
-     * 璁惧绠$悊鍛�
+     * 涓績
      */
-    @Excel(name = "璁惧绠$悊鍛�", width = 35, dictTable = "sys_user", dicText = "realname", dicCode = "username", orderNum = "10")
-    @ApiModelProperty(value = "璁惧绠$悊鍛�")
-    @Dict(dicCode = "sys_user, realname, username")
-    private String equipmentManager;
+//    @Excel(name = "涓績", width = 15, orderNum = "5")
+    @ApiModelProperty(value = "涓績")
+    @Dict(dictTable = "eam_base_factory",dicText = "factory_name",dicCode = "org_code")
+    private transient String zxfactoryOrgCode;
+
     /**
-     * 璁惧绫诲埆
+     * 宸ュ尯
      */
-    @Excel(name = "璁惧绫诲埆", width = 15, dicCode = "equipment_category", orderNum = "5")
-    @ApiModelProperty(value = "璁惧绫诲埆")
+//    @Excel(name = "宸ュ尯", width = 15, orderNum = "6")
+    @ApiModelProperty(value = "宸ュ尯")
+    @Dict(dictTable = "eam_base_factory",dicText = "factory_name",dicCode = "org_code")
+    private transient String gqfactoryOrgCode;
+
+    /**
+     * 宸ユ
+     */
+    @Excel(name = "涓績/宸ュ尯/宸ユ", width = 15, orderNum = "4")
+    @ApiModelProperty(value = "涓績/宸ュ尯/宸ユ")
+    @Dict(dictTable = "eam_base_factory",dicText = "factory_name",dicCode = "org_code")
+    private String factoryOrgCode;
+
+    /**
+     * 鎵�灞炲垎绫�
+     */
+    @Excel(name = "鎵�灞炲垎绫�", width = 15, orderNum = "5")
+    @ApiModelProperty(value = "鎵�灞炲垎绫�")
     @Dict(dicCode = "equipment_category")
     private String equipmentCategory;
-    /**
-     * 璁惧鍨嬪彿
-     */
-    @Excel(name = "璁惧鍨嬪彿", width = 15, orderNum = "3")
-    @ApiModelProperty(value = "璁惧鍨嬪彿")
-    private String equipmentModel;
-    /**
-     * 璁惧瑙勬牸
-     */
-    @Excel(name = "璁惧瑙勬牸", width = 15, orderNum = "4")
-    @ApiModelProperty(value = "璁惧瑙勬牸")
-    private String equipmentSpecification;
 
-    /**
-     * 瀹夎浣嶇疆
-     */
-    @Excel(name = "瀹夎浣嶇疆", width = 15, orderNum = "11")
-    @ApiModelProperty(value = "瀹夎浣嶇疆")
-    private String installationPosition;
-    /**
-     * 璧勪骇浣跨敤鐘舵��
-     */
-    @Excel(name = "璧勪骇浣跨敤鐘舵��", width = 15, dicCode = "asset_status", orderNum = "7")
-    @ApiModelProperty(value = "璧勪骇鐘舵��")
-    @Dict(dicCode = "asset_status")
-    private String assetStatus;
-    /**
-     * 鍑哄巶缂栧彿
-     */
-    @Excel(name = "鍑哄巶缂栧彿", width = 15, orderNum = "12")
-    @ApiModelProperty(value = "鍑哄巶缂栧彿")
-    private String factoryNumber;
-    /**
-     * 鏈哄簥鍘傚
-     */
-    @Excel(name = "鏈哄簥鍘傚", width = 15, orderNum = "13")
-    @ApiModelProperty(value = "鏈哄簥鍘傚")
-    private String manufacturingEnterprise;
-    /**
-     * 鏉ユ簮鍥藉
-     */
-    @Excel(name = "鏉ユ簮鍥藉", width = 25, orderNum = "14")
-    @ApiModelProperty(value = "鏉ユ簮鍥藉")
-    private String originCountry;
-    /**
-     * 璁惧渚涘簲鍟�
-     */
-    @Excel(name = "璁惧渚涘簲鍟�", width = 25, orderNum = "15")
-    @ApiModelProperty(value = "璁惧渚涘簲鍟�")
-    private String supplier;
-    /**
-     * 鍑哄巶鏃ユ湡
-     */
-    @Excel(name = "鍑哄巶鏃ユ湡", width = 25, format = "yyyy/MM/dd", orderNum = "16")
-    @ApiModelProperty(value = "鍑哄巶鏃ユ湡")
-    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    private Date leaveFactoryDate;
-    /**
-     * 楠屾敹鏃ユ湡
-     */
-    @Excel(name = "鎶曠敤鏃ユ湡", width = 25, format = "yyyy/MM/dd", orderNum = "17")
-    @ApiModelProperty(value = "楠屾敹鏃ユ湡")
-    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    private Date acceptanceCheckDate;
-    /**
-     * 璁惧鍥剧墖
-     */
-    @ApiModelProperty(value = "璁惧鍥剧墖")
-    private String equipmentImage;
-    /**
-     * 鐢垫満鍙版暟
-     */
-    @Excel(name = "鐢垫満鍙版暟", width = 15, orderNum = "18")
-    @ApiModelProperty(value = "鐢垫満鍙版暟")
-    private Integer motorsNumber;
-    /**
-     * 鎬诲姛鐜�(KW)
-     */
-    @Excel(name = "鎬诲姛鐜�(KW)", width = 15, orderNum = "19")
-    @ApiModelProperty(value = "鎬诲姛鐜�")
-    private String equipmentPower;
-    /**
-     * 閲嶉噺(鍚�)
-     */
-    @Excel(name = "閲嶉噺(鍚�)", width = 15, orderNum = "20")
-    @ApiModelProperty(value = "閲嶉噺(鍚�)")
-    private String equipmentWeight;
-    /**
-     * 鏄惁鏈夊伐鑹哄弬鏁�
-     */
-    @Excel(name = "鏈夋棤宸ヨ壓鍙傛暟", width = 15, dicCode = "has_no", orderNum = "21")
-    @ApiModelProperty(value = "鏄惁鏈夊伐鑹哄弬鏁�")
-    private String processParametersFlag;
-    /**
-     * 鏄惁鏈夌簿搴﹀弬鏁�
-     */
-    @Excel(name = "鏈夋棤绮惧害鍙傛暟", width = 15, dicCode = "has_no", orderNum = "22")
-    @ApiModelProperty(value = "鏄惁鏈夌簿搴﹀弬鏁�")
-    private String precisionParametersFlag;
+    @TableField(exist = false)
+    @Excel(name = "淇濆吇鐘舵��", width = 15, orderNum = "6",dicCode = "equipment_maintenance_status")
+    @ApiModelProperty(value = "淇濆吇鐘舵��")
+    @Dict(dicCode = "equipment_maintenance_status")
+    private String maintenanceStatus;
 
-    /**
-     * 澶囨敞
-     */
-    @Excel(name = "澶囨敞", width = 50, orderNum = "99")
-    @ApiModelProperty(value = "澶囨敞")
-    private String remark;
-    /**
-     * 澶栧舰灏哄
-     */
-    @Excel(name = "澶栧舰灏哄", width = 15, orderNum = "24")
-    @ApiModelProperty(value = "澶栧舰灏哄")
-    private String overallDimensions;
-    /**
-     * 璁惧绉嶇被
-     */
-    @Excel(name = "璁惧绉嶇被", width = 15, orderNum = "6", dictTable = "sys_category", dicCode = "code", dicText = "name")
-    @ApiModelProperty(value = "璁惧绉嶇被")
-    @Dict(dictTable = "sys_category", dicCode = "code", dicText = "name")
-    private String equipmentType;
-    /**
-     * 鍘熷浠峰��
-     */
-    @Excel(name = "鍘熷��(鍏�)", width = 15, orderNum = "25")
-    @ApiModelProperty(value = "鍘熷浠峰��")
-    private BigDecimal originalValue;
-    /**
-     * 璧勯噾鏉ユ簮
-     */
-    @Excel(name = "璧勯噾鏉ユ簮", width = 15, orderNum = "26")
-    @ApiModelProperty(value = "璧勯噾鏉ユ簮")
-    private String fundingSource;
+    @TableField(exist = false)
+    @Excel(name = "缁翠慨鐘舵��", width = 15, orderNum = "7",dicCode = "equipment_repair_status")
+    @ApiModelProperty(value = "缁翠慨鐘舵��")
+    @Dict(dicCode = "equipment_repair_status")
+    private String repairStatus;
 
-    /**
-     * 鍔熻兘鐢ㄩ��
-     */
-    @Excel(name = "鍔熻兘鐢ㄩ��", width = 15, orderNum = "27")
-    @ApiModelProperty(value = "鍔熻兘鐢ㄩ��")
-    private String functionUse;
-    /**
-     * 鎬ц兘鎸囨爣
-     */
-    @Excel(name = "鎬ц兘鎸囨爣", width = 15, orderNum = "28")
-    @ApiModelProperty(value = "鎬ц兘鎸囨爣")
-    private String performanceIndicators;
 
-    /**
-     * 鍏ュ笎鏃堕棿
-     */
-    @Excel(name = "鍏ュ笎鏃堕棿", width = 15, format = "yyyy/MM/dd", orderNum = "29")
-    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(value = "鍏ュ笎鏃堕棿")
-    private Date bookingTime;
-
-    /**
-     * 绠$悊鍒嗙被锛圓\B\C锛�
-     */
-    @Excel(name = "绠$悊鍒嗙被", width = 15, dicCode = "equipment_abc_flag", orderNum = "8")
-    @ApiModelProperty(value = "绠$悊鍒嗙被")
-    @Dict(dicCode = "equipment_abc_flag")
-    private String equipmentImportance;
-
-    /**
-     * 鎶�鏈姸鎬�
-     */
-    @Excel(name = "鎶�鏈姸鎬�", width = 15, dicCode = "technology_status", orderNum = "7")
+    /**鎶�鏈姸鎬�*/
+    @TableField(exist = false)
+    @Excel(name = "鎶�鏈姸鎬�", width = 15, orderNum = "8",dicCode = "equipment_technology_status")
     @ApiModelProperty(value = "鎶�鏈姸鎬�")
-    @Dict(dicCode = "technology_status")
+    @Dict(dicCode = "equipment_technology_status")
     private String technologyStatus;
 
+    /**
+     * ABC鏍囪瘑
+     */
+    @Excel(name = "ABC鏍囪瘑", width = 15, orderNum = "9",dicCode = "abc_flag")
+    @ApiModelProperty(value = "ABC鏍囪瘑")
+    @Dict(dicCode = "abc_flag")
+    private String abcFlag;
 
+    /**
+     * 缁翠慨鐝粍
+     */
+    @Excel(name = "缁翠慨鐝粍", width = 15, orderNum = "10")
+    @ApiModelProperty(value = "缁翠慨鐝粍")
+    private String repairDepartOrgCode;
 
-    /** =================== 鑸畤鏁戠敓 鏈敤鐨勫瓧娈�  寮�濮�  ==========================**/
+    /**
+     * 瀹夊叏閰嶇疆
+     */
+    @Excel(name = "瀹夊叏閰嶇疆", width = 15, orderNum = "11")
+    @ApiModelProperty(value = "瀹夊叏閰嶇疆")
+    private String securityConfiguration;
+
+    /**
+     * 鍐峰嵈绯荤粺
+     */
+    @Excel(name = "鍐峰嵈绯荤粺", width = 15, orderNum = "15",dicCode = "cooling_system")
+    @ApiModelProperty(value = "鍐峰嵈绯荤粺")
+    @Dict(dicCode = "cooling_system")
+    private String coolSystem;
+
+    /**
+     * 鐏伀鍣�
+     */
+    @Excel(name = "鐏伀鍣�", width = 15, orderNum = "16")
+    @ApiModelProperty(value = "鐏伀鍣�")
+    private String fireExtinguisher;
+
+    /**
+     * 鐏伀鍣ㄦ湁鏁堟湡鑷�
+     */
+    @Excel(name = "鐏伀鍣ㄦ湁鏁堟湡鑷�", width = 15, orderNum = "17")
+    @ApiModelProperty(value = "鐏伀鍣ㄦ湁鏁堟湡鑷�")
+    private String fireExtinguisherExpirationDate;
 
     /**
      * 鎿嶄綔绯荤粺
      */
+    @Excel(name = "鎿嶄綔绯荤粺", width = 15, orderNum = "18",dicCode = "yn")
     @ApiModelProperty(value = "鎿嶄綔绯荤粺")
+    @Dict(dicCode = "yn")
     private String operationSystem;
-    /**
-     * 涓昏酱杩炴帴灏哄
-     */
-    @ApiModelProperty(value = "涓昏酱杩炴帴灏哄")
-    private String spindleConnectDimension;
-    /**
-     * 绔嬮」鍗″彿
-     */
-    @ApiModelProperty(value = "绔嬮」鍗″彿")
-    private String cardNumber;
-    /**
-     * 鏄惁瀹炴柦MDC
-     */
-    @ApiModelProperty(value = "鏄惁瀹炴柦MDC")
-    private String mdcFlag;
 
-    @ApiModelProperty(value = "MDC璁惧绫诲瀷")
-    private String deviceType;
+    /**
+     * 绯荤粺
+     */
+    @Excel(name = "绯荤粺", width = 15, orderNum = "19")
+    @ApiModelProperty(value = "绯荤粺")
+    private String system;
+
     /**
      * 璁惧绔彛
      */
+    @Excel(name = "璁惧绔彛", width = 15, orderNum = "20")
     @ApiModelProperty(value = "璁惧绔彛")
     private String equipmentPort;
+
     /**
      * 鍧愭爣鏁伴噺
      */
+    @Excel(name = "鍧愭爣鏁伴噺", width = 15, orderNum = "21")
     @ApiModelProperty(value = "鍧愭爣鏁伴噺")
     private Integer coordinateNum;
+
     /**
-     * 鐗圭璁惧;鏄惁涓虹壒绉嶈澶�
+     * 閲嶉噺(鍚�)
      */
-    @ApiModelProperty(value = "鏄惁鐗圭璁惧")
-    private String specialEquipment;
+    @Excel(name = "閲嶉噺(鍚�)", width = 15, orderNum = "22")
+    @ApiModelProperty(value = "閲嶉噺(鍚�)")
+    private BigDecimal equipmentWeight;
 
+    /**
+     * 閲嶉噺璁¢噺鍗曚綅
+     */
+    @Excel(name = "閲嶉噺璁¢噺鍗曚綅", width = 15, orderNum = "23")
+    @ApiModelProperty(value = "閲嶉噺璁¢噺鍗曚綅")
+    private String weightUnit;
 
+    /**
+     * 鍔熻兘浣嶇疆
+     */
+    @Excel(name = "鍔熻兘浣嶇疆", width = 15, orderNum = "24")
+    @ApiModelProperty(value = "鍔熻兘浣嶇疆")
+    private String functionalLocation;
+
+    /**
+     * 瀹夎浣嶇疆
+     */
+    @Excel(name = "瀹夎浣嶇疆", width = 15, orderNum = "25")
+    @ApiModelProperty(value = "瀹夎浣嶇疆")
+    private String installationPosition;
+
+    /**
+     * 鍑哄巶鏃ユ湡
+     */
+    @Excel(name = "鍑哄巶鏃ユ湡", width = 25, format = "yyyy/MM/dd", orderNum = "26")
+    @ApiModelProperty(value = "鍑哄巶鏃ユ湡")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date leaveFactoryDate;
+
+    /**
+     * 绔嬮」鍗″彿
+     */
+    @Excel(name = "绔嬮」鍗″彿", width = 15, orderNum = "27")
+    @ApiModelProperty(value = "绔嬮」鍗″彿")
+    private String cardNumber;
+
+    /**
+     * 璧勯噾鏉ユ簮
+     */
+    @Excel(name = "璧勯噾鏉ユ簮", width = 15, orderNum = "28")
+    @ApiModelProperty(value = "璧勯噾鏉ユ簮")
+    private String fundingSource;
+
+    /**
+     * 楠屾敹鏃ユ湡
+     */
+    @Excel(name = "鎶曠敤鏃ユ湡", width = 25, format = "yyyy/MM/dd", orderNum = "29")
+    @ApiModelProperty(value = "楠屾敹鏃ユ湡")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date acceptanceCheckDate;
+
+    /**
+     * 鍑哄巶缂栧彿
+     */
+    @Excel(name = "鍑哄巶缂栧彿", width = 15, orderNum = "30")
+    @ApiModelProperty(value = "鍑哄巶缂栧彿")
+    private String factoryNumber;
+
+    /**
+     * 璧勪骇鍒堕�犲晢
+     */
+    @Excel(name = "璧勪骇鍒堕�犲晢", width = 25, orderNum = "31")
+    @ApiModelProperty(value = "璧勪骇鍒堕�犲晢")
+    private String manufacturingEnterprise;
+
+    /**
+     * 璧勪骇鏉ユ簮鍥藉
+     */
+    @Excel(name = "璧勪骇鏉ユ簮鍥藉", width = 25, orderNum = "32")
+    @ApiModelProperty(value = "璧勪骇鏉ユ簮鍥藉")
+    private String originCountry;
+
+    /**
+     * 鍨嬪彿
+     */
+    @Excel(name = "鍨嬪彿", width = 15, orderNum = "33")
+    @ApiModelProperty(value = "鍨嬪彿")
+    private String equipmentModel;
+
+    /**
+     * 璁惧瑙勬牸
+     */
+    @Excel(name = "璁惧瑙勬牸", width = 15, orderNum = "34")
+    @ApiModelProperty(value = "璁惧瑙勬牸")
+    private String equipmentSpecification;
+
+    /**
+     * 鎬诲姛鐜�(KW)
+     */
+    @Excel(name = "鎬诲姛鐜�(KW)", width = 15, orderNum = "35")
+    @ApiModelProperty(value = "鎬诲姛鐜�")
+    private String equipmentPower;
 
     /**
      * 璐ㄤ繚寮�濮嬫棩鏈�
      */
+    @Excel(name = "璐ㄤ繚寮�濮嬫棩鏈�", width = 15, orderNum = "36")
     @ApiModelProperty(value = "璐ㄤ繚寮�濮嬫棩鏈�")
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date warrantyStartDate;
+
     /**
      * 璐ㄤ繚缁撴潫鏃ユ湡
      */
+    @Excel(name = "璐ㄤ繚缁撴潫鏃ユ湡", width = 15, orderNum = "37")
     @ApiModelProperty(value = "璐ㄤ繚缁撴潫鏃ユ湡")
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date warrantyEndDate;
 
-    /** =================== 鑸畤鏁戠敓 鏈敤鐨勫瓧娈�  缁撴潫  ==========================**/
+    /**
+     * 璧勪骇鐘舵��
+     */
+    @Excel(name = "璧勪骇鐘舵��", width = 15, orderNum = "38",dicCode = "asset_status")
+    @ApiModelProperty(value = "璧勪骇鐘舵��")
+    @Dict(dicCode = "asset_status")
+    private String assetStatus;
 
+    /**鏈�鏂颁簩淇濇棩鏈�*/
     @TableField(exist = false)
-    @ApiModelProperty(value = "缁翠慨鐘舵��")
-    @Dict(dicCode = "equipment_repair_status")
-    private String repairStatus;
+    @Excel(name = "鏈�鏂颁簩淇濇棩鏈�", width = 15, orderNum = "39")
+    @ApiModelProperty(value = "鏈�鏂颁簩淇濇棩鏈�")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private java.util.Date latestSecondMaintenance;
 
+    /**涓嬫浜屼繚鏃ユ湡*/
     @TableField(exist = false)
-    @ApiModelProperty(value = "淇濆吇鐘舵��")
-    @Dict(dicCode = "equipment_maintenance_status")
-    private String maintenanceStatus;
+    @Excel(name = "涓嬫浜屼繚鏃ユ湡", width = 15, orderNum = "40")
+    @ApiModelProperty(value = "涓嬫浜屼繚鏃ユ湡")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private java.util.Date nextSecondMaintenance;
 
-    // 璁惧埆绠$悊 鎵嬫寔绔帴鍙d娇鐢�
+
+    /**鏈涓変繚鏃ユ湡*/
     @TableField(exist = false)
-    private String value;
+    @Excel(name = "鏈涓変繚鏃ユ湡", width = 15, orderNum = "41")
+    @ApiModelProperty(value = "鏈涓変繚鏃ユ湡")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private java.util.Date latestThirdMaintenance;
+
+    /**涓嬫涓変繚鏃ユ湡*/
     @TableField(exist = false)
-    private String text;
+    @Excel(name = "涓嬫涓変繚鏃ユ湡", width = 15, orderNum = "42")
+    @ApiModelProperty(value = "涓嬫涓変繚鏃ユ湡")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private java.util.Date nextThirdMaintenance;
+
+    /**涓変繚鍛ㄦ湡(骞�)*/
+    @TableField(exist = false)
+    @Excel(name = "涓変繚鍛ㄦ湡(骞�)", width = 15, orderNum = "43")
+    @ApiModelProperty(value = "涓変繚鍛ㄦ湡(骞�)")
+    private Integer thirdMaintenancePeriod;
+
+    /**鏈�鏂版妧鏈姸鎬侀壌瀹氭棩鏈�*/
+    @TableField(exist = false)
+    @Excel(name = "鏈�鏂版妧鏈姸鎬侀壌瀹氭棩鏈�", width = 15, orderNum = "44")
+    @ApiModelProperty(value = "鏈�鏂版妧鏈姸鎬侀壌瀹氭棩鏈�")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private java.util.Date latestTechnologyCheck;
+    /**鎶�鏈姸鎬佷笅娆¢壌瀹氭棩鏈�*/
+    @TableField(exist = false)
+    @Excel(name = "鎶�鏈姸鎬佷笅娆¢壌瀹氭棩鏈�", width = 15, orderNum = "45")
+    @ApiModelProperty(value = "鎶�鏈姸鎬佷笅娆¢壌瀹氭棩鏈�")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private java.util.Date nextTechnologyCheck;
+    /**鎶�鏈壌瀹氬懆鏈�(骞�)*/
+    @TableField(exist = false)
+    @Excel(name = "鎶�鏈壌瀹氬懆鏈�(骞�)", width = 15, orderNum = "46")
+    @ApiModelProperty(value = "鎶�鏈壌瀹氬懆鏈�(骞�)")
+    private Integer technologyCheckPeriod;
+
+    /**
+     * 鏄惁涓昏澶�
+     */
+    @Excel(name = "鏄惁涓昏澶�", width = 15, dicCode = "yn", orderNum = "47")
+    @ApiModelProperty(value = "鏄惁涓昏澶�")
+    @Dict(dicCode = "yn")
+    private String masterFlag;
+
+
+    /**
+     * 鏄惁鏈夊伐鑹哄弬鏁�
+     */
+    @Excel(name = "鏈夋棤宸ヨ壓鍙傛暟", width = 15, dicCode = "yn", orderNum = "48")
+    @ApiModelProperty(value = "鏄惁鏈夊伐鑹哄弬鏁�")
+    @Dict(dicCode = "yn")
+    private String processParametersFlag;
+    /**
+     * 鏄惁鏈夌簿搴﹀弬鏁�
+     */
+    @Excel(name = "鏈夋棤绮惧害鍙傛暟", width = 15, dicCode = "yn", orderNum = "49")
+    @ApiModelProperty(value = "鏄惁鏈夌簿搴﹀弬鏁�")
+    @Dict(dicCode = "yn")
+    private String precisionParametersFlag;
+
+
+    /**
+     * 澶囨敞
+     */
+    @Excel(name = "澶囨敞", width = 50, orderNum = "50")
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+
+
+    public void setFactoryOrgCode(String factoryOrgCode){
+        this.factoryOrgCode = factoryOrgCode;
+        if(StrUtil.isNotEmpty(factoryOrgCode)){
+            if(factoryOrgCode.length()==12){
+                this.gqfactoryOrgCode = factoryOrgCode.substring(0,9);
+                this.zxfactoryOrgCode = factoryOrgCode.substring(0,6);
+                this.gsfactoryOrgCode = factoryOrgCode.substring(0,3);
+            }
+
+            if(factoryOrgCode.length()==9){
+                this.zxfactoryOrgCode = factoryOrgCode.substring(0,6);
+                this.gsfactoryOrgCode = factoryOrgCode.substring(0,3);
+            }
+
+            if(factoryOrgCode.length()==6){
+                this.gsfactoryOrgCode = factoryOrgCode.substring(0,3);
+            }
+        }
+    }
+
+    public void setEquipmentWeight(BigDecimal equipmentWeight){
+        //鍘婚櫎灏忔暟鐐瑰悗澶氫綑鐨�0
+        if(equipmentWeight!=null) {
+            this.equipmentWeight = equipmentWeight.stripTrailingZeros();
+        }
+    }
 
     public String getValue() {
         return this.id;
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentExtend.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentExtend.java
index a2b06c8..a843e8f 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentExtend.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentExtend.java
@@ -3,12 +3,14 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 
@@ -24,7 +26,7 @@
 @Accessors(chain = true)
 @ApiModel(value="eam_equipment_extend瀵硅薄", description="璁惧鍙拌处鎵╁睍琛�")
 public class EamEquipmentExtend implements Serializable {
-    
+
 	/**涓婚敭*/
 	@TableId(type = IdType.ASSIGN_ID)
     @ApiModelProperty(value = "涓婚敭")
@@ -49,16 +51,44 @@
 	@Excel(name = "缁翠慨鐘舵��", width = 15)
     @ApiModelProperty(value = "缁翠慨鐘舵��")
 	private String repairStatus;
+	/**鎶�鏈姸鎬�*/
+	@Excel(name = "鎶�鏈姸鎬�", width = 15, orderNum = "4")
+	@ApiModelProperty(value = "鎶�鏈姸鎬�")
+	private String technologyStatus;
 	/**鏈�鏂颁簩淇濇棩鏈�*/
     @ApiModelProperty(value = "鏈�鏂颁簩淇濇棩鏈�")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private java.util.Date latestSecondMaintenance;
 	/**涓嬫浜屼繚鏃ユ湡*/
     @ApiModelProperty(value = "涓嬫浜屼繚鏃ユ湡")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private java.util.Date nextSecondMaintenance;
 	/**鏈�鏂颁笁淇濇棩鏈�*/
     @ApiModelProperty(value = "鏈�鏂颁笁淇濇棩鏈�")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private java.util.Date latestThirdMaintenance;
 	/**涓嬫涓変繚鏃ユ湡*/
     @ApiModelProperty(value = "涓嬫涓変繚鏃ユ湡")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private java.util.Date nextThirdMaintenance;
+	/**涓変繚鍛ㄦ湡(骞�)*/
+	@ApiModelProperty(value = "涓変繚鍛ㄦ湡(骞�)")
+	private Integer thirdMaintenancePeriod;
+	/**鏈�鏂版妧鏈姸鎬侀壌瀹氭棩鏈�*/
+	@ApiModelProperty(value = "鏈�鏂版妧鏈姸鎬侀壌瀹氭棩鏈�")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private java.util.Date latestTechnologyCheck;
+	/**鎶�鏈姸鎬佷笅娆¢壌瀹氭棩鏈�*/
+	@ApiModelProperty(value = "鎶�鏈姸鎬佷笅娆¢壌瀹氭棩鏈�")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private java.util.Date nextTechnologyCheck;
+	/**鎶�鏈壌瀹氬懆鏈�(骞�)*/
+	@ApiModelProperty(value = "鎶�鏈壌瀹氬懆鏈�(骞�)")
+	private Integer technologyCheckPeriod;
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
index f7e323a..3ea42f0 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
@@ -3,10 +3,21 @@
 <mapper namespace="org.jeecg.modules.eam.mapper.EamEquipmentMapper">
 
     <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamEquipment">
-        select e.*, ext.repair_status, ext.maintenance_status
+        select e.*,
+               ext.maintenance_status,
+               ext.repair_status,
+               ext.latest_second_maintenance,
+               ext.next_second_maintenance,
+               ext.latest_third_maintenance,
+               ext.next_third_maintenance,
+               ext.technology_status,
+               ext.third_maintenance_period,
+               ext.technology_check_period,
+               ext.latest_technology_check,
+               ext.next_technology_check
         from eam_equipment e
         left join eam_equipment_extend ext
         on e.id = ext.id
         ${ew.customSqlSegment}
     </select>
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java
index d5e31af..d17425a 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java
@@ -24,6 +24,12 @@
     EamEquipment saveEquipment(EamEquipment eamEquipment);
 
     /**
+     * 鍙拌处璁惧缂栬緫
+     * @param eamEquipment
+     */
+    EamEquipment updateEquipment(EamEquipment eamEquipment);
+
+    /**
      * 鑾峰彇浜х嚎涓嬬殑璁惧淇℃伅
      * @param ids 浜х嚎ids
      * @return
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
index c2ec226..19c81b7 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -4,8 +4,10 @@
 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.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.micrometer.core.instrument.binder.BaseUnits;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.constant.CommonConstant;
@@ -13,6 +15,10 @@
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
+import org.jeecg.modules.eam.base.entity.BaseFactory;
+import org.jeecg.modules.eam.base.entity.BaseFactoryUser;
+import org.jeecg.modules.eam.base.service.IBaseFactoryService;
+import org.jeecg.modules.eam.base.service.IBaseFactoryUserService;
 import org.jeecg.modules.eam.constant.AssetStatusEnum;
 import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus;
 import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum;
@@ -28,6 +34,7 @@
 import org.jeecg.modules.eam.vo.EquipmentSearchResult;
 import org.jeecg.modules.system.entity.MdcProduction;
 import org.jeecg.modules.system.service.IMdcProductionService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -54,6 +61,10 @@
     private IEamEquipmentExtendService equipmentExtendService;
     @Autowired
     private IMdcProductionService mdcProductionService;
+    @Autowired
+    private IBaseFactoryUserService baseFactoryUserService;
+    @Autowired
+    private IBaseFactoryService baseFactoryService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -69,13 +80,28 @@
 
         //鎵╁睍琛ㄦ暟鎹悓姝ユ坊鍔�
         EamEquipmentExtend eamEquipmentExtend = new EamEquipmentExtend();
-        eamEquipmentExtend.setId(eamEquipment.getId());
+        BeanUtils.copyProperties(eamEquipment, eamEquipmentExtend);
         eamEquipmentExtend.setMaintenanceStatus(EquipmentMaintenanceStatus.NORMAL.name());
         eamEquipmentExtend.setRepairStatus(EquipmentRepairStatus.NORMAL.name());
-
         equipmentExtendService.save(eamEquipmentExtend);
 
         //鎻掑叆璁惧灞ュ巻   @EquipmentHistoryLog
+        return eamEquipment;
+    }
+
+    /**
+     * 鍙拌处璁惧缂栬緫
+     * @param eamEquipment
+     */
+    @Override
+    public EamEquipment updateEquipment(EamEquipment eamEquipment){
+        if (eamEquipment == null) {
+            return null;
+        }
+        eamEquipmentMapper.updateById(eamEquipment);
+        EamEquipmentExtend eamEquipmentExtend = new EamEquipmentExtend();
+        BeanUtils.copyProperties(eamEquipment, eamEquipmentExtend);
+        equipmentExtendService.updateById(eamEquipmentExtend);
         return eamEquipment;
     }
 
@@ -109,13 +135,20 @@
         if (sysUser == null) {
             return page;
         }
-        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
+        if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
             //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
-            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
+            List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
             queryWrapper.in("e.equipment_code", equipArr);
         } else {
-            //娌℃湁閫夋嫨璁惧锛屾牴鎹溅闂磋繃婊よ澶�
-            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id", sysUser.getId());
+            //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶�
+            List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService.
+                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
+            if(!CollectionUtils.isEmpty(baseFactoryUserList)){
+                List<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toList());
+                List<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getFactoryCode).collect(Collectors.toList());
+                queryWrapper.in("e.factory_code", factoryCode);
+            }
+
         }
         //鏌ヨ鏉′欢杩囨护
         if (eamEquipment != null) {
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
index 6045e70..43b4479 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
@@ -322,7 +322,7 @@
                     eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_INTERNAL_REPAIR.name());
                 }else {
                     //鎻愪氦鏈哄姩鍔炵淮淇紝杞﹂棿绠$悊鍛樼‘璁�
-                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0003);
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0003);
                     if (CollectionUtil.isEmpty(userSelectors)) {
                         throw new JeecgBootException("璁惧鏈垎閰嶇粰鐝粍闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
                     }
@@ -376,7 +376,7 @@
                 }
                 if(CommonConstant.STATUS_1.equals(request.getLeaderConfirm())) {
                     //閫氳繃 鎻愪氦鏈哄姩鍔炵淮淇�
-                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0006);
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0006);
                     if (CollectionUtil.isEmpty(userSelectors)) {
                         throw new JeecgBootException("璁惧鏈垎閰嶇粰鍏徃绠$悊鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
                     }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java
deleted file mode 100644
index 75a2e3f..0000000
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.jeecg.modules.eam.base.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepartUser;
-
-import java.util.List;
-
-/**
- * @Author: Lius
- * @CreateTime: 2025-07-01
- * @Description:
- */
-public interface EamBaseRepairDepartUserMapper extends BaseMapper<EamBaseRepairDepartUser> {
-
-    /**
-     * 鏍规嵁鎸囧畾鐢ㄦ埛id鏌ヨ缁翠慨閮ㄩ棬鐝粍id闆嗗悎
-     */
-    List<String> queryRepairDepartIdsByUserId(@Param("userId") String userId);
-
-}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml
deleted file mode 100644
index eb78982..0000000
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?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.base.mapper.EamBaseRepairDepartUserMapper">
-
-    <!--鏍规嵁鎸囧畾鐢ㄦ埛id鏌ヨ浜х嚎id闆嗗悎-->
-    <select id="queryRepairDepartIdsByUserId" resultType="java.lang.String">
-        SELECT depart_id FROM eam_base_repair_depart_user WHERE user_id = #{userId}
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java
deleted file mode 100644
index 5265d23..0000000
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java
+++ /dev/null
@@ -1,312 +0,0 @@
-package org.jeecg.modules.eam.base.service.impl;
-
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.commons.lang3.StringUtils;
-import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.constant.FillRuleConstant;
-import org.jeecg.common.util.FillRuleUtil;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
-import org.jeecg.modules.eam.base.entity.EamBaseRepairDepartUser;
-import org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartUserMapper;
-import org.jeecg.modules.eam.base.service.IEamBaseRepairDepartService;
-import org.jeecg.modules.system.entity.*;
-import org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartMapper;
-import org.jeecg.modules.eam.base.model.EamBaseRepairDepartTreeModel;
-import org.jeecg.modules.eam.base.model.RepairDepartIdModel;
-import org.jeecg.modules.eam.base.util.FindsRepairDepartsChildrenUtil;
-import org.jeecg.modules.system.mapper.SysUserMapper;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * @Author: Lius
- * @CreateTime: 2025-07-01
- * @Description:
- */
-@Service
-public class EamBaseRepairDepartImpl extends ServiceImpl<EamBaseRepairDepartMapper, EamBaseRepairDepart> implements IEamBaseRepairDepartService {
-
-    @Resource
-    private SysUserMapper sysUserMapper;
-
-    @Resource
-    private EamBaseRepairDepartUserMapper repairDepartUserMapper;
-
-    /**
-     * queryTreeList 瀵瑰簲 queryTreeList 鏌ヨ鎵�鏈夌殑缁翠慨閮ㄩ棬鐝粍鏁版嵁,浠ユ爲缁撴瀯褰㈠紡鍝嶅簲缁欏墠绔�
-     */
-    @Override
-    @Cacheable(value = "eam:cache:repairDepart:alldata")
-    public List<EamBaseRepairDepartTreeModel> queryTreeList() {
-        LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<EamBaseRepairDepart>();
-        query.eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
-        query.orderByAsc(EamBaseRepairDepart::getDepartOrder);
-        List<EamBaseRepairDepart> list = this.list(query);
-        //璁剧疆鐢ㄦ埛id锛岃鍓嶅彴鏄剧ず
-        this.setUserIdsByProList(list);
-        //璋冪敤wrapTreeDataToTreeList鏂规硶鐢熸垚鏍戠姸鏁版嵁
-        return FindsRepairDepartsChildrenUtil.wrapTreeDataToTreeList(list);
-    }
-
-    /**
-     * queryTreeList 鏍规嵁缁翠慨閮ㄩ棬鐝粍id鏌ヨ,鍓嶇鍥炴樉璋冪敤
-     */
-    @Override
-    public List<EamBaseRepairDepartTreeModel> queryTreeList(String ids) {
-        List<EamBaseRepairDepartTreeModel> listResult = new ArrayList<>();
-        LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<EamBaseRepairDepart>();
-        query.eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
-        if (oConvertUtils.isNotEmpty(ids)) {
-            query.in(true, EamBaseRepairDepart::getId, ids.split(","));
-        }
-        query.orderByAsc(EamBaseRepairDepart::getDepartOrder);
-        List<EamBaseRepairDepart> list = this.list(query);
-        for (EamBaseRepairDepart repairDepart : list) {
-            listResult.add(new EamBaseRepairDepartTreeModel(repairDepart));
-        }
-        return listResult;
-    }
-
-    @Override
-    @Cacheable(value = "eam:cache:repairDepart:allids")
-    public List<RepairDepartIdModel> queryMaintainDepartIdTreeList() {
-        LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<>();
-        query.eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
-        query.orderByAsc(EamBaseRepairDepart::getDepartOrder);
-        List<EamBaseRepairDepart> list = this.list(query);
-        //璋冪敤wrapTreeDataToTreeList鏂规硶鐢熸垚鏍戠姸鏁版嵁
-        return FindsRepairDepartsChildrenUtil.wrapTreeDataToMaintainDepartIdTreeList(list);
-    }
-
-    /**
-     * 鏍规嵁鍏抽敭瀛楁悳绱㈢浉鍏崇殑閮ㄩ棬鏁版嵁
-     */
-    @Override
-    public List<EamBaseRepairDepartTreeModel> searchByKeyWord(String keyWord) {
-        LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<>();
-        List<EamBaseRepairDepartTreeModel> newList = new ArrayList<>();
-        query.like(EamBaseRepairDepart::getDepartName, keyWord);
-        EamBaseRepairDepartTreeModel model = new EamBaseRepairDepartTreeModel();
-        List<EamBaseRepairDepart> repairDepartList = this.list(query);
-        if (!repairDepartList.isEmpty()) {
-            for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
-                model = new EamBaseRepairDepartTreeModel(eamBaseRepairDepart);
-                model.setChildren(null);
-                newList.add(model);
-            }
-            return newList;
-        }
-        return Collections.emptyList();
-    }
-
-    /**
-     * saveMaintainDepartData 瀵瑰簲 add 淇濆瓨鐢ㄦ埛鍦ㄩ〉闈㈡坊鍔犵殑鏂扮殑缁翠慨閮ㄩ棬鐝粍瀵硅薄鏁版嵁
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void saveMaintainDepartData(EamBaseRepairDepart eamBaseRepairDepart) {
-        if (eamBaseRepairDepart != null) {
-            if (eamBaseRepairDepart.getParentId() == null) {
-                eamBaseRepairDepart.setParentId("");
-            }
-            eamBaseRepairDepart.setId(IdWorker.getIdStr(eamBaseRepairDepart));
-            // 鍏堝垽鏂瀵硅薄鏈夋棤鐖剁骇ID,鏈夊垯鎰忓懗鐫�涓嶆槸鏈�楂樼骇,鍚﹀垯鎰忓懗鐫�鏄渶楂樼骇
-            // 鑾峰彇鐖剁骇ID
-            String parentId = eamBaseRepairDepart.getParentId();
-            JSONObject formData = new JSONObject();
-            formData.put("parentId",parentId);
-            String[] codeArray = (String[]) FillRuleUtil.executeRule(FillRuleConstant.PRODUCTION,formData);
-            eamBaseRepairDepart.setOrgCode(codeArray[0]);
-            String orgType = codeArray[1];
-            eamBaseRepairDepart.setOrgType(String.valueOf(orgType));
-            eamBaseRepairDepart.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
-            this.save(eamBaseRepairDepart);
-        }
-    }
-
-    /**
-     * updateMaintainDepartDataById 瀵瑰簲 edit 鏍规嵁缁翠慨閮ㄩ棬鐝粍涓婚敭鏉ユ洿鏂板搴旂殑缁翠慨閮ㄩ棬鐝粍鏁版嵁
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public boolean updateMaintainDepartDataById(EamBaseRepairDepart eamBaseRepairDepart) {
-        if (eamBaseRepairDepart != null) {
-            this.updateById(eamBaseRepairDepart);
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * 鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎骞跺垹闄ゅ叾鍙兘瀛樺湪鐨勫瓙绾х淮淇儴闂ㄧ彮缁�
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public boolean delete(String id) {
-        List<String> idList = new ArrayList<>();
-        idList.add(id);
-        this.checkChildrenExists(id, idList);
-        boolean result = this.removeByIds(idList);
-        //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎鐢ㄦ埛涓庣淮淇儴闂ㄧ彮缁勫叧绯�
-        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
-        //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎缁翠慨閮ㄩ棬鐝粍涓庤澶囧叧绯�
-//        repairDepartEquipmentMapper.delete(new LambdaQueryWrapper<SysMaintainDepartEquipment>().in(SysMaintainDepartEquipment::getMaintainDepartId, idList));
-        return result;
-    }
-
-    /**
-     * 鏍规嵁缁翠慨閮ㄩ棬鐝粍id鎵归噺鍒犻櫎骞跺垹闄ゅ叾鍙兘瀛樺湪鐨勫瓙绾х淮淇儴闂ㄧ彮缁�
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void deleteBatchWithChildren(List<String> ids) {
-        List<String> idList = new ArrayList<>();
-        for (String id : ids) {
-            idList.add(id);
-            this.checkChildrenExists(id, idList);
-        }
-        this.removeByIds(idList);
-        //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎鐢ㄦ埛涓庣淮淇儴闂ㄧ彮缁勫叧绯�
-        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
-        //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎缁翠慨閮ㄩ棬鐝粍涓庤澶囧叧绯�
-//        repairDepartEquipmentMapper.delete(new LambdaQueryWrapper<SysMaintainDepartEquipment>().in(SysMaintainDepartEquipment::getMaintainDepartId, idList));
-    }
-
-    /**
-     * 鏍规嵁id鏌ヨ涓嬬骇缁翠慨閮ㄩ棬鐝粍
-     */
-    @Override
-    public List<EamBaseRepairDepart> queryRepDepByPid(String pid) {
-        return this.baseMapper.queryRepDepByPid(pid);
-    }
-
-    /**
-     * 鏍规嵁鐢ㄦ埛id鑾峰彇缁翠慨閮ㄩ棬鐝粍涓嬫媺鏍戦�夐」
-     */
-    @Override
-    public List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId) {
-        //鑾峰彇鎵�鏈夌淮淇儴闂ㄧ彮缁勬暟鎹�
-        List<EamBaseRepairDepart> repairDepartList = this.baseMapper.selectList(new LambdaQueryWrapper<EamBaseRepairDepart>().eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(EamBaseRepairDepart::getDepartOrder));
-        //鏍规嵁鐢ㄦ埛id鑾峰彇鎷ユ湁鐨勭淮淇儴闂ㄧ彮缁勪俊鎭泦鍚�
-        List<String> repairDepartIds = repairDepartUserMapper.queryRepairDepartIdsByUserId(userId);
-        List<String> allMaintainDepartIds = new ArrayList<>();
-        //鎵惧埌鎵�鏈夌淮淇儴闂ㄧ彮缁刬d鐨勪笂绾d
-        if (repairDepartIds != null && !repairDepartIds.isEmpty()) {
-            for (String repairDepartId : repairDepartIds) {
-                this.getAllMaintainDepartIds(repairDepartList, repairDepartId, allMaintainDepartIds);
-            }
-        }
-        //杩囨护缁翠慨閮ㄩ棬鐝粍鏁版嵁
-        List<EamBaseRepairDepart> list = repairDepartList.stream().filter((EamBaseRepairDepart eamBaseRepairDepart) -> allMaintainDepartIds.contains(eamBaseRepairDepart.getId())).collect(Collectors.toList());
-        return FindsRepairDepartsChildrenUtil.wrapTreeDataToMaintainDepartIdTreeList(list);
-    }
-
-    /**
-     * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣id
-     */
-    @Override
-    public List<String> recursionChildren(String repairDepartId) {
-        return this.baseMapper.recursionChildren(repairDepartId);
-    }
-
-    /**
-     * 鏍规嵁鐢ㄦ埛id鍜岃溅闂磇d鑾峰彇鐢ㄦ埛鎷ユ湁鐨勮溅闂磇d
-     * @param userId
-     * @param repairDepartId
-     * @return
-     */
-    @Override
-    public String findFirstMaintainDepart(String userId, String repairDepartId) {
-        return this.baseMapper.findFirstMaintain(userId, repairDepartId);
-    }
-
-    /**
-     * 鏍规嵁鐢ㄦ埛id鏌ヨ鐢ㄦ埛缁翠慨閮ㄩ棬鐝粍鏉冮檺
-     */
-    @Override
-    public String findThreeMaintainDepartId(String userId) {
-        return this.baseMapper.findThreeMaintainId(userId);
-    }
-
-    @Override
-    public EamBaseRepairDepart findMaintainDepartList(String equipmentId) {
-        return this.baseMapper.findMaintainList(equipmentId);
-    }
-
-    /**
-     * delete 鏂规硶璋冪敤 閫掑綊鏌ユ壘瀛愰泦id
-     */
-    private void checkChildrenExists(String id, List<String> idList) {
-        LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<>();
-        query.eq(EamBaseRepairDepart::getParentId, id);
-        List<EamBaseRepairDepart> repairDepartList = this.list(query);
-        if (repairDepartList != null && !repairDepartList.isEmpty()) {
-            for (EamBaseRepairDepart repairDepart : repairDepartList) {
-                idList.add(repairDepart.getId());
-                this.checkChildrenExists(repairDepart.getId(), idList);
-            }
-        }
-    }
-
-    /**
-     * 鑾峰彇鎵�鏈夌殑缁翠慨閮ㄩ棬鐝粍id锛堝寘鍚墍鏈変笂绾э級
-     */
-    private void getAllMaintainDepartIds(List<EamBaseRepairDepart> repairDepartList, String repairDepartId, List<String> allMaintainDepartIds) {
-        if (!allMaintainDepartIds.contains(repairDepartId)) {
-            allMaintainDepartIds.add(repairDepartId);
-        }
-        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
-            if (StringUtils.isEmpty(eamBaseRepairDepart.getParentId())) {
-                continue;
-            }
-            if (repairDepartId.equals(eamBaseRepairDepart.getId())) {
-                if (!allMaintainDepartIds.contains(eamBaseRepairDepart.getParentId())) {
-                    allMaintainDepartIds.add(eamBaseRepairDepart.getParentId());
-                    getAllMaintainDepartIds(repairDepartList, eamBaseRepairDepart.getParentId(), allMaintainDepartIds);
-                }
-            }
-        }
-    }
-
-    /**
-     * 閫氳繃缁翠慨閮ㄩ棬鐝粍闆嗗悎涓虹淮淇儴闂ㄧ彮缁勮缃敤鎴穒d锛岀敤浜庡墠鍙板睍绀�
-     */
-    private void setUserIdsByProList(List<EamBaseRepairDepart> repairDepartList) {
-        //鏌ヨ璐熻矗閮ㄩ棬涓嶄负绌虹殑鎯呭喌
-        LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>();
-        query.isNotNull(SysUser::getDepartIds);
-        List<SysUser> users = sysUserMapper.selectList(query);
-        Map<String, Object> map = new HashMap(5);
-        //鍏堝惊鐜竴閬嶆壘鍒颁笉鍚岀殑璐熻矗缁翠慨閮ㄩ棬鐝粍id
-        for (SysUser user : users) {
-            String repairDepartIds = user.getRepairDepartIds();
-            if (StringUtils.isNotBlank(repairDepartIds)) {
-                String[] repairDepartIdArray = repairDepartIds.split(",");
-                for (String repairDepartId : repairDepartIdArray) {
-                    if (map.containsKey(repairDepartId)) {
-                        String userIds = map.get(repairDepartId) + "," + user.getId();
-                        map.put(repairDepartId, userIds);
-                    } else {
-                        map.put(repairDepartId, user.getId());
-                    }
-                }
-            }
-        }
-        //寰幆缁翠慨閮ㄩ棬鐝粍闆嗗悎鎵惧埌缁翠慨閮ㄩ棬鐝粍id瀵瑰簲鐨勮礋璐g敤鎴�
-        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
-            if (map.containsKey(eamBaseRepairDepart.getId())) {
-                eamBaseRepairDepart.setDirectorUserIds(map.get(eamBaseRepairDepart.getId()).toString());
-            }
-        }
-    }
-
-}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
index 9968c92..31595fe 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -99,14 +99,14 @@
             return Result.OK("娣诲姞澶辫触锛�");
         }
         //璋冪敤mdcEquipment鎻掑叆MDC璁惧
-        if (CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) {
+//        if (CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) {
             //鎻掑叆MDC璁惧
 //            MdcEquipment mdcEquipment = new MdcEquipment();
 //            mdcEquipment.setEquipmentId(entity.getEquipmentCode());
 //            mdcEquipment.setEquipmentType(entity.getDeviceType());
 //            mdcEquipment.setEquipmentName(entity.getEquipmentName());
 //            mdcEquipmentService.addNewEquipmentFromEam(mdcEquipment, eamEquipment.getOrgId());
-        }
+//        }
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
@@ -119,7 +119,7 @@
     @ApiOperation(value = "璁惧鍙拌处-缂栬緫", notes = "璁惧鍙拌处-缂栬緫")
     @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
     public Result<?> edit(@RequestBody EamEquipment eamEquipment) {
-        eamEquipmentService.updateById(eamEquipment);
+        eamEquipmentService.updateEquipment(eamEquipment);
         return Result.OK("缂栬緫鎴愬姛!");
     }
 
@@ -183,9 +183,9 @@
             JSONObject item = JSONObject.parseObject(json, Feature.OrderedField);
             translateDictTextUtils.translateField("createBy", eamEquipment.getCreateBy(), item, "sys_user,realname,username");
             translateDictTextUtils.translateField("updateBy", eamEquipment.getUpdateBy(), item, "sys_user,realname,username");
-            translateDictTextUtils.translateField("technologyStatus", eamEquipment.getTechnologyStatus(), item, "technology_status");
-            translateDictTextUtils.translateField("orgId", eamEquipment.getOrgId(), item, "mdc_production,production_name,id");
-            translateDictTextUtils.translateField("equipmentManager", eamEquipment.getEquipmentManager(), item, "sys_user,realname,username");
+//            translateDictTextUtils.translateField("technologyStatus", eamEquipment.getTechnologyStatus(), item, "technology_status");
+//            translateDictTextUtils.translateField("orgId", eamEquipment.getOrgId(), item, "mdc_production,production_name,id");
+//            translateDictTextUtils.translateField("equipmentManager", eamEquipment.getEquipmentManager(), item, "sys_user,realname,username");
             translateDictTextUtils.translateField("equipmentCategory", eamEquipment.getEquipmentCategory(), item, "equipment_category");
             translateDictTextUtils.translateField("assetStatus", eamEquipment.getAssetStatus(), item, "asset_status");
             translateDictTextUtils.translateField("repairStatus", eamEquipment.getRepairStatus(), item, "equipment_repair_status");
@@ -222,7 +222,7 @@
             // 鑾峰彇涓婁紶鏂囦欢瀵硅薄
             MultipartFile file = entity.getValue();
             ImportParams params = new ImportParams();
-            params.setTitleRows(0);
+            params.setTitleRows(2);
             params.setHeadRows(1);
             params.setNeedSave(true);
             params.setStartSheetIndex(0);
@@ -243,25 +243,10 @@
                         sb.append(String.format("璁惧缂栫爜[%s]璁惧鍒嗙被涓虹┖锛屾棤娉曞鍏n\n", eamEquipment.getEquipmentCode()));
                         continue;
                     }
-                    if (StringUtils.isBlank(eamEquipment.getOrgId()) || StringUtils.isBlank(eamEquipment.getEquipmentManager())) {
-                        sb.append(String.format("璁惧缂栫爜[%s]浣跨敤杞﹂棿鎴栬澶囩鐞嗗憳涓虹┖锛屾棤娉曞鍏n\n", eamEquipment.getEquipmentCode()));
-                        continue;
-                    }
-//                    if (eamEquipment.getAcceptanceCheckDate() == null) {
-//                        sb.append(String.format("璁惧缂栫爜[%s]楠屾敹涓虹┖锛屾棤娉曞鍏n\r", eamEquipment.getEquipmentCode()));
-//                        continue;
-//                    }
-//                    if (StringUtils.isBlank(eamEquipment.getTechnologyStatus())) {
-//                        sb.append(String.format("璁惧缂栫爜[%s]鎶�鏈姸鎬佷负绌猴紝鏃犳硶瀵煎叆\n\r", eamEquipment.getEquipmentCode()));
-//                        continue;
-//                    }
                     EamEquipment one = eamEquipmentService.getOne(new LambdaQueryWrapper<EamEquipment>().eq(EamEquipment::getEquipmentCode, eamEquipment.getEquipmentCode()).eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0));
                     if (one != null) {
                         sb.append(String.format("璁惧缂栫爜[%s]宸插瓨鍦紝鏃犳硶閲嶅瀵煎叆\n\r", eamEquipment.getEquipmentCode()));
                         continue;
-                    }
-                    if (!CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) {
-                        eamEquipment.setMdcFlag(CommonConstant.DEFAULT_0);
                     }
                     EamEquipment equipment = eamEquipmentService.saveEquipment(eamEquipment);
                     if (equipment == null) {
@@ -269,18 +254,7 @@
                         sb.append(String.format("璁惧缂栫爜[%s]淇濆瓨澶辫触锛屾棤娉曞鍏n\r", eamEquipment.getEquipmentCode()));
                         continue;
                     }
-                    //璋冪敤mdcEquipment鎻掑叆MDC璁惧
-                    if (CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) {
-                        //鎻掑叆MDC璁惧
-//                        MdcEquipment mdcEquipment = new MdcEquipment();
-//                        mdcEquipment.setEquipmentId(eamEquipment.getEquipmentCode());
-//                        mdcEquipment.setEquipmentType(eamEquipment.getDeviceType());
-//                        mdcEquipment.setEquipmentName(eamEquipment.getEquipmentName());
-//                        mdcEquipmentService.addNewEquipmentFromEam(mdcEquipment, eamEquipment.getOrgId());
-                    }
                 }
-                //400鏉� saveBatch娑堣�楁椂闂�1592姣  寰幆鎻掑叆娑堣�楁椂闂�1947姣
-                //1200鏉�  saveBatch娑堣�楁椂闂�3687姣 寰幆鎻掑叆娑堣�楁椂闂�5212姣
                 log.info("娑堣�楁椂闂�" + (System.currentTimeMillis() - start) + "姣");
                 //update-end-author:taoyan date:20190528 for:鎵归噺鎻掑叆鏁版嵁
                 if (sb.length() > 0) {
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamUserSelectController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamUserSelectController.java
index 075654f..faa7146 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamUserSelectController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamUserSelectController.java
@@ -43,7 +43,7 @@
         if (StringUtils.isNotBlank(equipmentId)) {
             EamEquipment equipment = eamEquipmentService.getById(equipmentId);
             if(equipment != null) {
-                productionId = equipment.getOrgId();
+//                productionId = equipment.getOrgId();
                 equipmentCode = equipment.getEquipmentCode();
             }
         }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java
index 5ee5fac..1bb76bd 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java
@@ -136,9 +136,9 @@
         if (StringUtils.isBlank(request.getLeanDepartId())) {
             throw new JeecgBootException("鍊熷叆杞﹂棿涓嶅厑璁镐负绌猴紒");
         }
-        if (request.getLeanDepartId().equals(equipment.getOrgId())) {
-            throw new JeecgBootException("褰撳墠璁惧灞炰簬姝よ溅闂达紝涓嶉渶瑕佸�熺敤锛�");
-        }
+//        if (request.getLeanDepartId().equals(equipment.getOrgId())) {
+//            throw new JeecgBootException("褰撳墠璁惧灞炰簬姝よ溅闂达紝涓嶉渶瑕佸�熺敤锛�");
+//        }
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         if (sysUser == null) {
             throw new JeecgBootException("褰撳墠鐢ㄦ埛鏃犳硶娣诲姞鍊熺敤璁板綍锛�");
@@ -168,9 +168,9 @@
         if (StringUtils.isBlank(request.getLeanDepartId())) {
             throw new JeecgBootException("鍊熷叆杞﹂棿涓嶅厑璁镐负绌猴紒");
         }
-        if (request.getLeanDepartId().equals(equipment.getOrgId())) {
-            throw new JeecgBootException("褰撳墠璁惧灞炰簬姝よ溅闂达紝涓嶉渶瑕佸�熺敤锛�");
-        }
+//        if (request.getLeanDepartId().equals(equipment.getOrgId())) {
+//            throw new JeecgBootException("褰撳墠璁惧灞炰簬姝よ溅闂达紝涓嶉渶瑕佸�熺敤锛�");
+//        }
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         if (sysUser == null) {
             throw new JeecgBootException("褰撳墠鐢ㄦ埛鏃犳硶缂栬緫鍊熺敤璁板綍锛�");
@@ -230,7 +230,7 @@
         }
         variables.put("proofreading", true);
         List<String> usernames = new ArrayList<>();
-        usernames.add(equipment.getEquipmentManager());
+//        usernames.add(equipment.getEquipmentManager());
         variables.put("NextAssignee", usernames);
         Result result = flowDefinitionService.startProcessInstanceByKey("equipment_lean_out", variables);
         if (result != null) {
@@ -312,15 +312,15 @@
                 break;
             // 褰掕繕
             case WAIT_RETURN:
-                if (StringUtils.isBlank(equipment.getEquipmentManager())) {
-                    throw new JeecgBootException("璁惧鏈垎閰嶈澶囩鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
-                }
-                List<String> userApprovalList = new ArrayList<>(Collections.singletonList(entity.getLeanPerson()));
-                userApprovalList.add(equipment.getEquipmentManager());
+//                if (StringUtils.isBlank(equipment.getEquipmentManager())) {
+//                    throw new JeecgBootException("璁惧鏈垎閰嶈澶囩鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
+//                }
+//                List<String> userApprovalList = new ArrayList<>(Collections.singletonList(entity.getLeanPerson()));
+//                userApprovalList.add(equipment.getEquipmentManager());
                 values.put("dataId", entity.getId());
                 values.put("organization", request.getReturnComment());
                 values.put("comment", request.getReturnComment());
-                values.put("NextAssignee", userApprovalList);
+//                values.put("NextAssignee", userApprovalList);
                 request.setComment(request.getReturnComment());
                 entity.setLeanEndTime(new Date()); //褰掕繕鏃堕棿
                 //璁剧疆entity
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentScrapServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentScrapServiceImpl.java
index ce371e4..3bfa889 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentScrapServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentScrapServiceImpl.java
@@ -183,7 +183,7 @@
         variables.put("comment", entity.getScrapReason());
         variables.put("proofreading", true);
         // 鍒嗛厤缁欒澶囩鐞嗗憳
-        List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0004);
+        List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0004);
         if (CollectionUtil.isEmpty(userSelectors)) {
             throw new JeecgBootException("璁惧鏈垎閰嶇粰璁惧绠$悊鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
         }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentSealUpServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentSealUpServiceImpl.java
index 0228d7c..83c3253 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentSealUpServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentSealUpServiceImpl.java
@@ -202,7 +202,7 @@
         variables.put("comment", "鏂板鍚皝榛樿鍚姩娴佺▼");
         variables.put("proofreading", true);
         // 鍒嗛厤缁欒澶囩鐞嗗憳
-        List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0004);
+        List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0004);
         if (CollectionUtil.isEmpty(userSelectors)) {
             throw new JeecgBootException("璁惧鏈垎閰嶇粰璁惧绠$悊鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
         }
@@ -261,7 +261,7 @@
         }
         variables.put("proofreading", true);
         // 鍒嗛厤缁欒澶囩鐞嗗憳
-        List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0004);
+        List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(),null, BusinessCodeConst.PCR0004);
         if (CollectionUtil.isEmpty(userSelectors)) {
             throw new JeecgBootException("璁惧鏈垎閰嶇粰璁惧绠$悊鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
         }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentTransferServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentTransferServiceImpl.java
index b25c467..29f710c 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentTransferServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentTransferServiceImpl.java
@@ -140,10 +140,10 @@
         if (sysUser == null) {
             throw new JeecgBootException("褰撳墠鐢ㄦ埛鏃犳硶娣诲姞鍊熺敤璁板綍锛�");
         }
-        if (equipment.getOrgId().equals(request.getNewDepartId())) {
-            throw new JeecgBootException("褰撳墠璁惧灞炰簬姝よ溅闂达紝涓嶉渶瑕佸彉鍔紒");
-        }
-        request.setOldDepartId(equipment.getOrgId());
+//        if (equipment.getOrgId().equals(request.getNewDepartId())) {
+//            throw new JeecgBootException("褰撳墠璁惧灞炰簬姝よ溅闂达紝涓嶉渶瑕佸彉鍔紒");
+//        }
+//        request.setOldDepartId(equipment.getOrgId());
         request.setReportUser(sysUser.getUsername());
         return equipmentTransferMapper.insert(request) > 0;
     }
@@ -185,7 +185,7 @@
         variables.put("comment", entity.getTransferReason());
         variables.put("proofreading", true);
         // 鍒嗛厤缁欒澶囩鐞嗗憳
-        List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0004);
+        List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(),null, BusinessCodeConst.PCR0004);
         if (CollectionUtil.isEmpty(userSelectors)) {
             throw new JeecgBootException("璁惧鏈垎閰嶇粰璁惧绠$悊鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
         }
@@ -305,7 +305,7 @@
         updateWrapper.set("equipment_id", request.getEquipmentId());
         updateWrapper.set("remark", request.getRemark());
         updateWrapper.set("transfer_reason", request.getTransferReason());
-        updateWrapper.set("old_depart_id", equipment.getOrgId());
+//        updateWrapper.set("old_depart_id", equipment.getOrgId());
         updateWrapper.set("new_depart_id", request.getNewDepartId());
         updateWrapper.eq("id", request.getId());
         updateWrapper.eq("report_user", sysUser.getUsername());
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
index 8cf5866..14dfe0a 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
@@ -392,17 +392,17 @@
         Map<String, Object> values = new HashMap<>();
         if (InspectionStatus.UNDER_INSPECTION.name().equals(order.getInspectionStatus()) && user.getUsername().equals(order.getOperator())) {
             // 鐐规浜虹偣妫�缁撴潫
-            String manager = Optional.ofNullable(iEamEquipmentService.getById(order.getEquipmentId()))
-                    .map(EamEquipment::getEquipmentManager)
-                    .orElse(null);
-            if (manager == null) {
-                throw new IllegalArgumentException("璁惧绠$悊鍛樻湭閰嶇疆");
-            }
-            List<String> usernameList = Collections.singletonList(manager);
+//            String manager = Optional.ofNullable(iEamEquipmentService.getById(order.getEquipmentId()))
+//                    .map(EamEquipment::getEquipmentManager)
+//                    .orElse(null);
+//            if (manager == null) {
+//                throw new IllegalArgumentException("璁惧绠$悊鍛樻湭閰嶇疆");
+//            }
+//            List<String> usernameList = Collections.singletonList(manager);
             values.put("dataId", order.getId());
             values.put("organization", "鐐规浜虹偣妫�缁撴潫");
             values.put("comment", "鐐规浜虹偣妫�缁撴潫");
-            values.put("NextAssignee", usernameList);
+//            values.put("NextAssignee", usernameList);
             request.setComment("鐐规浜虹偣妫�缁撴潫");
         } else {
             // 鐝粍闀跨‘璁�
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java
index a9242cb..d19d873 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java
@@ -357,15 +357,15 @@
             case UNDER_MAINTENANCE:
                 //鎵ц瀹屾垚
                 //璁惧绠$悊鍛樼‘璁�
-                String equipmentManager = equipment.getEquipmentManager();
-                if(StringUtils.isBlank(equipmentManager)) {
-                    throw new JeecgBootException("璁惧鏈垎閰嶈澶囩鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
-                }
-                userApprovalList = Collections.singletonList(equipmentManager);
+//                String equipmentManager = equipment.getEquipmentManager();
+//                if(StringUtils.isBlank(equipmentManager)) {
+//                    throw new JeecgBootException("璁惧鏈垎閰嶈澶囩鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
+//                }
+//                userApprovalList = Collections.singletonList(equipmentManager);
                 values.put("dataId", entity.getId());
                 values.put("organization", "浜屼繚鎵ц缁撴潫");
                 values.put("comment", "浜屼繚鎵ц缁撴潫");
-                values.put("NextAssignee", userApprovalList);
+//                values.put("NextAssignee", userApprovalList);
                 request.setComment("浜屼繚鎵ц缁撴潫");
                 //璁剧疆entity
                 entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_CONFIRM.name());
@@ -389,7 +389,7 @@
                 eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.SECOND_MAINTENANCE_WAIT_CONFIRM.name());
                 break;
             case WAIT_CONFIRM:
-                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0003);
+                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(),null, BusinessCodeConst.PCR0003);
                 if (CollectionUtil.isEmpty(userSelectors)) {
                     throw new JeecgBootException("璁惧鏈垎閰嶇粰杞﹂棿鐝粍闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
                 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
index 6121b18..219caca 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
@@ -186,7 +186,7 @@
             variables.put("proofreading", true);
             //骞惰浠诲姟浼氱
             variables.put("maintenance_execution", Collections.singletonList(request.getOperator()));
-            variables.put("precision_check", Collections.singletonList(equipment.getEquipmentManager()));
+//            variables.put("precision_check", Collections.singletonList(equipment.getEquipmentManager()));
             Result result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_process", variables);
             if (result != null) {
                 //鏇存柊璁惧淇濆吇鐘舵��
@@ -257,7 +257,7 @@
             variables.put("proofreading", true);
             //骞惰浠诲姟浼氱
             variables.put("maintenance_execution", Collections.singletonList(request.getOperator()));
-            variables.put("precision_check", Collections.singletonList(equipment.getEquipmentManager()));
+//            variables.put("precision_check", Collections.singletonList(equipment.getEquipmentManager()));
             Result result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_process", variables);
             if (result != null) {
                 //鏇存柊璁惧淇濆吇鐘舵��
@@ -283,9 +283,9 @@
         if (equipment == null) {
             throw new JeecgBootException("璁惧涓嶅瓨鍦紝娣诲姞澶辫触锛�");
         }
-        if (StringUtils.isBlank(equipment.getEquipmentManager())) {
-            throw new JeecgBootException("璁惧鏈垎閰嶈澶囩鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
-        }
+//        if (StringUtils.isBlank(equipment.getEquipmentManager())) {
+//            throw new JeecgBootException("璁惧鏈垎閰嶈澶囩鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
+//        }
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         if (sysUser == null || !BusinessCodeConst.PCR0001.equals(sysUser.getPost())) {
             throw new JeecgBootException("涓嶆槸鎿嶄綔宸ワ紝鏃犳硶棰嗗彇姝ゅ伐鍗曪紒");
@@ -312,7 +312,7 @@
         variables.put("proofreading", true);
         //骞惰浠诲姟浼氱
         variables.put("maintenance_execution", Collections.singletonList(sysUser.getUsername()));
-        variables.put("precision_check", Collections.singletonList(equipment.getEquipmentManager()));
+//        variables.put("precision_check", Collections.singletonList(equipment.getEquipmentManager()));
         Result result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_process", variables);
         if (result != null) {
             //鏇存柊璁惧淇濆吇鐘舵��
@@ -368,7 +368,7 @@
             case UNDER_MAINTENANCE:
                 boolean parallelCompletion = flowTaskService.checkParallelCompletion(flowMyBusiness.getTaskId());
                 //鎵ц瀹屾垚
-                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0006);
+                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0006);
                 if (CollectionUtil.isEmpty(userSelectors)) {
                     throw new JeecgBootException("璁惧鏈垎閰嶇粰杞﹂棿鐝粍闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
                 }
@@ -416,7 +416,7 @@
                 }
                 break;
             case WAIT_CONFIRM:
-                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0003);
+                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(),null, BusinessCodeConst.PCR0003);
                 if (CollectionUtil.isEmpty(userSelectors)) {
                     throw new JeecgBootException("璁惧鏈垎閰嶇粰杞﹂棿鐝粍闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
                 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
index efc54f1..ecc65f4 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
@@ -361,7 +361,7 @@
         switch (status) {
             case UNDER_MAINTENANCE:
                 //鎵ц瀹屾垚
-                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0003);
+                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0003);
                 if (CollectionUtil.isEmpty(userSelectors)) {
                     throw new JeecgBootException("璁惧鏈垎閰嶇粰鐝粍闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
                 }
@@ -393,12 +393,12 @@
                 eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.WEEK_MAINTENANCE_WAIT_CONFIRM.name());
                 break;
             case WAIT_CONFIRM:
-                if (StringUtils.isBlank(equipment.getEquipmentManager())) {
-                    throw new JeecgBootException("璁惧鏈垎閰嶈澶囩鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
-                }
+//                if (StringUtils.isBlank(equipment.getEquipmentManager())) {
+//                    throw new JeecgBootException("璁惧鏈垎閰嶈澶囩鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
+//                }
                 //鐝粍闀跨‘璁�
                 userApprovalList = new ArrayList<>();
-                userApprovalList.add(equipment.getEquipmentManager());
+//                userApprovalList.add(equipment.getEquipmentManager());
                 values.put("dataId", entity.getId());
                 values.put("organization", request.getConfirmComment());
                 values.put("comment", request.getConfirmComment());
@@ -425,7 +425,7 @@
                 }
                 break;
             case WAIT_INITIAL_ACCEPTANCE:
-                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0005);
+                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0005);
                 if (CollectionUtil.isEmpty(userSelectors)) {
                     throw new JeecgBootException("璁惧鏈垎閰嶇粰璁捐兘閮ㄧ鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
                 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/aspect/DicAspectService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/aspect/DicAspectService.java
new file mode 100644
index 0000000..a00c0a5
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/aspect/DicAspectService.java
@@ -0,0 +1,311 @@
+package org.jeecg.modules.system.aspect;
+
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.util.ReflectUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecg.common.aspect.annotation.DictExt;
+import org.jeecg.common.aspect.annotation.DictList;
+import org.jeecg.common.aspect.annotation.FieldQuery;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.system.service.ISysDictService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.lang.reflect.Field;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * 瀛楀吀瀛楁缈昏瘧鏈嶅姟
+ *   鏀寔宓屽缈昏瘧
+ * @since 2020/5/27
+ */
+@Service
+@Slf4j
+public class DicAspectService {
+    @Autowired
+    private ISysDictService dictService;
+
+    /**
+     * 鏈柟娉曢拡瀵瑰垪琛ㄦ暟鎹繘琛屽姩鎬佸瓧鍏告敞鍏�
+     * 瀛楀吀娉ㄥ叆瀹炵幇 閫氳繃瀵瑰疄浣撶被娣诲姞娉ㄨВ@dict 鏉ユ爣璇嗛渶瑕佺殑瀛楀吀鍐呭,瀛楀吀鍒嗕负鍗曞瓧鍏竎ode鍗冲彲 锛宼able瀛楀吀 code table text閰嶅悎浣跨敤涓庡師鏉eecg鐨勭敤娉曠浉鍚�
+     * 绀轰緥涓篠ysUser   瀛楁涓簊ex 娣诲姞浜嗘敞瑙Dict(dicCode = "sex") 浼氬湪瀛楀吀鏈嶅姟绔嬮┈鏌ュ嚭鏉ュ搴旂殑text 鐒跺悗鍦ㄨ姹俵ist鐨勬椂鍊欏皢杩欎釜瀛楀吀text锛屽凡瀛楁鍚嶇О鍔燺dictText褰㈠紡杩斿洖鍒板墠绔�
+     * 渚嬭緭鍏ュ綋鍓嶈繑鍥炲�肩殑灏变細澶氬嚭涓�涓猻ex_dictText瀛楁
+     * {
+     *      sex:1,
+     *      sex_dictText:"鐢�"
+     * }
+     * 鍓嶇鐩存帴鍙栧�約ext_dictText鍦╰able閲岄潰鏃犻渶鍐嶈繘琛屽墠绔殑瀛楀吀杞崲浜�
+     *  customRender:function (text) {
+     *               if(text==1){
+     *                 return "鐢�";
+     *               }else if(text==2){
+     *                 return "濂�";
+     *               }else{
+     *                 return text;
+     *               }
+     *             }
+     *             鐩墠vue鏄繖涔堣繘琛屽瓧鍏告覆鏌撳埌table涓婄殑澶氫簡灏卞緢楹荤儲浜� 杩欎釜鐩存帴鍦ㄦ湇鍔$娓叉煋瀹屾垚鍓嶇鍙互鐩存帴鐢�
+     * @param records
+     * @return
+     */
+    public List<JSONObject> detailDict(List<Object> records){
+        List<JSONObject> items = new ArrayList<>();
+        FieldBatchQuery batchQuery = new FieldBatchQuery();
+        boolean hasDict = false;
+
+        for (Object record : records) {
+            JSONObject item = parseDictItem(record);
+
+            Field[] fieldsArray = oConvertUtils.getAllFields(record);
+            for (int i = 0; i < fieldsArray.length; i++) {
+                Field field = fieldsArray[i];
+                if (field.getAnnotation(Dict.class) != null && records.size()<=500) {
+                    hasDict = true;
+                    String code = field.getAnnotation(Dict.class).dicCode();
+                    String text = field.getAnnotation(Dict.class).dicText();
+                    String table = field.getAnnotation(Dict.class).dictTable();
+                    String key = String.valueOf(item.get(field.getName()));
+
+                    //缈昏瘧瀛楀吀鍊煎搴旂殑txt
+                    String textValue = translateDictValue(code, text, table, key);
+                    item.put(field.getName() + CommonConstant.DICT_TEXT_SUFFIX, textValue);
+                }
+                // 瀛楀吀缈昏瘧鎵╁睍鍔熻兘锛屾敮鎸佸瓧鍏稿瀛楁鍖归厤
+                else if(field.getAnnotation(DictExt.class) != null && records.size() <= 500){
+                    hasDict = true;
+                    String[] code = field.getAnnotation(DictExt.class).dicCode();
+                    String text = field.getAnnotation(DictExt.class).dicText();
+                    String table = field.getAnnotation(DictExt.class).dicTable();
+                    String[] params = field.getAnnotation(DictExt.class).dicParams();
+                    String[] paramValues = this.getParamValues(item, params);
+
+                    String textValue = this.translateDictValue(code, text, table, paramValues);
+                    item.put(field.getName() + CommonConstant.DICT_TEXT_SUFFIX, textValue);
+                    item.put(field.getName(), ArrayUtil.join(paramValues, ","));
+                }
+                else if(field.getAnnotation(FieldQuery.class) != null && records.size() <= 500){
+                    FieldQuery ann = field.getAnnotation(FieldQuery.class);
+                    batchQuery.put(ann.dicTable(), ann.dicText(), ann.dicCode(),
+                            this.getParamValues(item, ann.dicParams()));
+                }
+                // 娣卞害缈昏瘧list鍏冪礌
+                else if(field.getAnnotation(DictList.class) != null){
+                    Object fieldValue = ReflectUtil.getFieldValue(record, field);
+                    if(fieldValue == null){
+                        // no-op
+                    }
+                    else if(null != fieldValue && fieldValue instanceof List){
+                        try{
+                            List<JSONObject> listDetail = this.detailDict((List)fieldValue);
+                            item.put(field.getName(), listDetail);
+                        }catch (Exception e){
+                            log.error("瀛楁缈昏瘧閿欒锛宨ndex=" + i + ",fieldName=" + field.getName() + ",fieldValue=" + fieldValue + ",record=" + record);
+                        }
+
+                    }else{
+                        log.error("娣卞害瀛楀吀缈昏瘧鍙敮鎸丩ist绫诲瀷锛屽綋鍓嶇被鍨嬩负" + fieldValue.getClass());
+                    }
+                }
+
+                //date绫诲瀷榛樿杞崲string鏍煎紡鍖栨棩鏈�
+                if (field.getType().getName().equals("java.util.Date")&&field.getAnnotation(JsonFormat.class)==null&&item.get(field.getName())!=null){
+                    SimpleDateFormat aDate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    item.put(field.getName(), aDate.format(new Date((Long) item.get(field.getName()))));
+                }
+
+            }
+
+            if(records.size()>500 && hasDict){
+                log.error("浣跨敤 @Dict娉ㄨВ瓒呰繃500鏉¤褰曡浣跨敤鍒嗛〉鏌ヨ");
+            }
+            items.add(item);
+        }
+
+        // 鎵归噺鏌ヨ鍏宠仈鏁版嵁
+        if(batchQuery.size() > 0){
+            Map<String, List<Map>> batchResult = new HashMap<>();
+            batchQuery.forEach((queryKey, queryParam) -> {
+                // 鎵归噺鏌ヨ
+                try {
+                    queryParam.setQueryResult(this.batchQueryFieldValue(queryParam.getQueryTable(),
+                            queryParam.getColumns(),
+                            queryParam.getParamName(),
+                            queryParam.getParamValues()));
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+            });
+
+            for (int i = 0; i < records.size(); i++) {
+                Object record = records.get(i);
+                JSONObject item = items.get(i);
+
+                try {
+                    this.fillItemValue(record, item, batchQuery);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    log.info("鎵归噺鏌ヨ鏁版嵁濉厖鍑洪敊:{}", e.getMessage());
+                }
+            }
+        }
+
+        return items;
+    }
+
+    /**
+     * 鍗曡〃鎵归噺鏌ヨ
+     *
+     * @param queryTable
+     * @param columns
+     * @param paramName
+     * @param paramValues
+     * @return
+     */
+    private List<Map> batchQueryFieldValue(String queryTable, String[] columns,
+                                           String paramName, String[] paramValues) throws Exception {
+        try{
+            return this.dictService.queryTableFieldByParams(queryTable, columns, paramName, paramValues);
+        }catch (Exception e){
+            log.error("FieldQuery鏌ヨ閿欒", e);
+            throw new Exception("FieldQuery鏌ヨ閿欒");
+        }
+    }
+
+    /**
+     * 濉厖item鎵归噺鏌ヨ鏁版嵁
+     * @param record
+     * @param item
+     * @param batchQuery
+     */
+    private void fillItemValue(Object record, JSONObject item, FieldBatchQuery batchQuery) throws Exception{
+
+        for (Field field : oConvertUtils.getAllFields(record)) {
+            if(field.getAnnotation(FieldQuery.class) != null){
+                FieldQuery fieldQuery = field.getAnnotation(FieldQuery.class);
+
+                String[] paramValues = this.getParamValues(item, fieldQuery.dicParams());
+                Object textValue = batchQuery.findResult(fieldQuery.dicTable(),
+                        fieldQuery.dicCode(), paramValues, fieldQuery.dicText());
+
+                item.put(field.getName() + CommonConstant.DICT_TEXT_SUFFIX, textValue);
+                item.put(field.getName(), ArrayUtil.join(paramValues, ","));
+            }
+        }
+    }
+
+    /**
+     * 瑙f瀽瀛楀吀Item
+     * @param record
+     * @return
+     */
+    private JSONObject parseDictItem(Object record) {
+        ObjectMapper mapper = new ObjectMapper();
+        String json="{}";
+        try {
+            //瑙e喅@JsonFormat娉ㄨВ瑙f瀽涓嶄簡鐨勯棶棰樿瑙丼ysAnnouncement绫荤殑@JsonFormat
+            json = mapper.writeValueAsString(record);
+        } catch (JsonProcessingException e) {
+            log.error("json瑙f瀽澶辫触"+e.getMessage(),e);
+        }
+        return JSONObject.parseObject(json);
+    }
+
+    /**
+     * 鑾峰彇鍙傛暟鏁板��
+     * @param item
+     * @param paramNames
+     * @return
+     */
+    private String[] getParamValues(JSONObject item, String[] paramNames) {
+
+        // 鑾峰彇瀹為檯鍙傛暟
+        String[] values = new String[paramNames.length];
+        for (int i = 0; i < paramNames.length; i++) {
+            String param = paramNames[i];
+
+            if(param.startsWith("$")){
+                values[i] = (String) item.get(param.substring(1));
+            }else{
+                values[i] = param;
+            }
+
+            if(values[i] == null) return null;
+            if(values[i].indexOf("&&") > -1){
+                log.error(">>>鍙傛暟["+values[i]+"]鍖呭惈闈炴硶瀛楃','");
+                return null;
+            }
+        }
+
+        return values;
+    }
+
+    /**
+     * 缈昏瘧瀛楀吀鏂囨湰
+     *
+     * @param code
+     * @param text
+     * @param table
+     * @param paramValues
+     * @return
+     */
+    private String translateDictValue(String[] code, String text, String table, String[] paramValues) {
+        if(paramValues == null || paramValues.length <=0 || oConvertUtils.isEmpty(table)){
+            return null;
+        }
+
+        try{
+            return this.dictService.queryTableDictByParams(table,text,
+                    ArrayUtil.join(code, "&&"),
+                    ArrayUtil.join(paramValues, "&&"));
+        }catch (Exception e){
+            log.error("瀛楀吀缈昏瘧寮傚父table={},text={},code={},paramValues={}", table, text, ArrayUtil.join(code, "&&"),ArrayUtil.join(paramValues, "&&") );
+            throw e;
+        }
+
+    }
+
+    /**
+     *  缈昏瘧瀛楀吀鏂囨湰
+     * @param code
+     * @param text
+     * @param table
+     * @param key
+     * @return
+     */
+    private String translateDictValue(String code, String text, String table, String key) {
+        if(oConvertUtils.isEmpty(key)) {
+            return null;
+        }
+        StringBuffer textValue=new StringBuffer();
+        String[] keys = key.split(",");
+        for (String k : keys) {
+            String tmpValue = null;
+            if (k.trim().length() == 0) {
+                continue; //璺宠繃寰幆
+            }
+            if (!StringUtils.isEmpty(table)){
+                tmpValue= dictService.queryTableDictTextByKey(table,text,code,k.trim());
+            }else {
+                tmpValue = dictService.queryDictTextByKey(code, k.trim());
+            }
+
+            if (tmpValue != null) {
+                if (!"".equals(textValue.toString())) {
+                    textValue.append(",");
+                }
+                textValue.append(tmpValue);
+            }
+
+        }
+        return textValue.toString();
+    }
+
+}
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/aspect/FieldBatchQuery.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/aspect/FieldBatchQuery.java
new file mode 100644
index 0000000..246db80
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/aspect/FieldBatchQuery.java
@@ -0,0 +1,135 @@
+package org.jeecg.modules.system.aspect;
+
+import cn.hutool.core.util.ArrayUtil;
+
+import java.util.*;
+import java.util.function.BiConsumer;
+
+/**
+ * 鎵归噺鏌ヨ鍣�
+ */
+public class FieldBatchQuery {
+
+    // key=鏌ヨ瑕佺礌=table+paramName锛� value=鏌ヨ鏉′欢
+    private Map<String, QueryParam> queryBatch = new HashMap<>();
+
+    /**
+     * 渚垮埄鏌ヨ瑕佺礌
+     * @param action
+     */
+    public void forEach(BiConsumer<? super String, ? super QueryParam> action) {
+        this.queryBatch.forEach(action);
+    }
+
+    /**
+     * 鏌ヨ琛ㄦ暟閲�
+     * @return
+     */
+    public int size() {
+        return queryBatch.size();
+    }
+
+    /**
+     * 鏌ユ壘鏌ヨ缁撴灉
+     * @param tableName
+     * @param paramName
+     * @param paramValue
+     * @param column
+     * @return
+     */
+    public Object findResult(String tableName, String[] paramName, String[] paramValue, String column) {
+        String queryKey = tableName + "()" + ArrayUtil.join(paramName, ",");
+        if(!this.queryBatch.containsKey(queryKey)) return null;
+
+        return this.queryBatch.get(queryKey).findResult(paramValue, column);
+    }
+
+    /**
+     * 淇濆瓨鏌ヨ鏉′欢
+     * @param tableName 鏌ヨ琛ㄥ悕
+     * @param textName 鏌ヨ瀛楁鍚嶇О
+     * @param paramName 鏌ヨ鍙傛暟鍚嶇О
+     * @param paramValue 鏌ヨ鍙傛暟鍊�
+     */
+    public void put(String tableName, String textName, String[] paramName, String[] paramValue) {
+        String queryKey = tableName + "()" + ArrayUtil.join(paramName, ",");
+
+        QueryParam queryParams;
+        if(this.queryBatch.containsKey(queryKey)){
+            queryParams = this.queryBatch.get(queryKey);
+        }else{
+            queryParams = new QueryParam(tableName, paramName);
+            this.queryBatch.put(queryKey, queryParams);
+        }
+
+        // 娣诲姞鏌ヨ缁撴灉column鍚嶇О
+        queryParams.addTextName(textName);
+        // 娣诲姞鏌ヨ鍙傛暟
+        queryParams.addParamValue(paramValue);
+    }
+
+    public static class QueryParam {
+        private String queryTable;
+        private Set<String> columns = new HashSet<>();
+        private Set<String> paramValueSet = new HashSet<>();
+        private String[] paramName;
+        private List<Map> queryResult = new ArrayList<>();
+        private Map<String, Integer> resultIndex = new HashMap<>();
+
+        public QueryParam(String tableName, String[] column) {
+            this.queryTable = tableName;
+            this.paramName = column;
+        }
+
+        public void addTextName(String textName) {
+            this.columns.add(textName);
+        }
+
+        public void addParamValue(String[] paramValue) {
+            paramValueSet.add(ArrayUtil.join(paramValue, ","));
+        }
+
+        public String getQueryTable() {
+            return queryTable;
+        }
+
+        public String[] getColumns() {
+            String[] ret = new String[this.columns.size()];
+            this.columns.toArray(ret);
+            return ret;
+        }
+
+        public String getParamName() {
+            return "concat(" + ArrayUtil.join(this.paramName, ",',',") + ")";
+        }
+
+        public String[] getParamValues() {
+            String[] ret = new String[this.paramValueSet.size()];
+            this.paramValueSet.toArray(ret);
+            return ret;
+        }
+
+        public void setQueryResult(List<Map> queryResult) {
+            this.queryResult = queryResult;
+        }
+
+        public Object findResult(String[] paramValue, String column) {
+            if(paramValue == null) return null;
+            String value = ArrayUtil.join(paramValue, ",");
+
+            if(this.resultIndex.containsKey(value)){
+                return this.queryResult.get(this.resultIndex.get(value)).get(column);
+            }
+
+            for (int i = 0; i < this.queryResult.size(); i++) {
+                Map<String, Object> map = queryResult.get(i);
+                if(value.equals(map.get("paramValue"))){
+                    this.resultIndex.put(value, i);
+                    return map.get(column);
+                }
+            }
+
+            return null;
+        }
+    }
+}
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java
index f3c3246..76ac551 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java
@@ -189,6 +189,18 @@
     private String productionIds;
 
     /**
+     * eam涓績鍒嗛厤
+     */
+    @Excel(name="eam涓績鍒嗛厤",width = 15,dictTable ="eam_base_factory",dicText = "factory_name",dicCode = "id")
+    @Dict(dictTable ="eam_base_factory",dicText = "factory_name",dicCode = "id")
+    private transient String eamFactoryIds;
+
+    /**
+     * eam璁惧缁�
+     */
+    private String eamEquipmentIds;
+
+    /**
      * 璐熻矗缁翠慨閮ㄩ棬鐝粍
      */
     @Excel(name="璐熻矗缁翠慨閮ㄩ棬鐝粍",width = 15,dictTable ="eam_base_repair_depart",dicText = "depart_name",dicCode = "id")
@@ -210,8 +222,6 @@
     private String homePath;
 //    @Dict(dicCode = "id",dictTable = "mom_base_team",dicText = "name")
     private String teamId;
-//    @Dict(dicCode = "id",dictTable = "mom_base_area",dicText = "name")
-    private String areaId;
 
     /**
      * 瀵嗙爜棣栨浣跨敤鏍囪瘑 1鏄� 0鍚�
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java
index 4a10ad1..cc29b3d 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java
@@ -25,7 +25,7 @@
  * @since 2018-12-28
  */
 public interface SysDictMapper extends BaseMapper<SysDict> {
-	
+
 	/**
 	 * 閲嶅妫�鏌QL
      * @param duplicateCheckVo
@@ -152,13 +152,13 @@
 	 * @return
 	 */
 	public List<DictModel> queryAllDepartBackDictModel();
-	
+
 	/**
 	 * 鏌ヨ鎵�鏈夌敤鎴�  浣滀负瀛楀吀淇℃伅 username -->value,realname -->text
 	 * @return
 	 */
 	public List<DictModel> queryAllUserBackDictModel();
-	
+
 //	/**
 //	 * 閫氳繃鍏抽敭瀛楁煡璇㈠嚭瀛楀吀琛�
 //	 * @param table
@@ -263,4 +263,25 @@
 	 */
 	@Deprecated
 	List<DictModel> queryTableDictByKeysAndFilterSql(@Param("table") String table, @Param("text") String text, @Param("code") String code, @Param("filterSql") String filterSql,  @Param("codeValues") List<String> codeValues);
+
+	/**
+	 * 浣跨敤瀛怱ql鏌ヨ瀛楀吀鏁版嵁
+	 * @param table
+	 * @param text
+	 * @param subSql
+	 * @return
+	 */
+	String queryTableDictTextBySubSql(@Param("table") String table, @Param("text") String text, @Param("subSql") String subSql);
+
+
+	/**
+	 * 鍗曡〃鎵归噺鏌ヨ
+	 * @param queryTable
+	 * @param columns
+	 * @param paramName
+	 * @param paramValues
+	 * @return
+	 */
+	List<Map> queryTableFieldByParams(@Param("table") String queryTable, @Param("columns") String columns, @Param("paramName") String paramName, @Param("paramValues") String[] paramValues);
+
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysDictMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysDictMapper.xml
index ef1ec1d..0274c0b 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysDictMapper.xml
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysDictMapper.xml
@@ -36,7 +36,7 @@
 
 	<!-- 閫氳繃瀛楀吀code鑾峰彇瀛楀吀鏁版嵁 -->
 	<select id="queryDictTextByKey" parameterType="String"  resultType="String">
-		   select s.item_text from sys_dict_item s 
+		   select s.item_text from sys_dict_item s
 		   where s.dict_id = (select id from sys_dict where dict_code = #{code})
 		   and s.item_value = #{key}
 	</select>
@@ -66,7 +66,7 @@
 	<select id="queryTableDictItemsByCode" parameterType="String"  resultType="org.jeecg.common.system.vo.DictModel">
 		   select ${text} as "text",${code} as "value" from ${table}
 	</select>
-	
+
 	<!--閫氳繃鏌ヨ鎸囧畾table鐨� text code 鑾峰彇瀛楀吀锛堟寚瀹氭煡璇㈡潯浠讹級-->
 	<select id="queryTableDictItemsByCodeAndFilter" parameterType="String"  resultType="org.jeecg.common.system.vo.DictModel">
 		   select ${text} as "text",${code} as "value" from ${table}
@@ -74,7 +74,7 @@
 			where ${filterSql}
 		</if>
 	</select>
-	
+
 	<!--閫氳繃鏌ヨ鎸囧畾table鐨� text code key 鑾峰彇瀛楀吀鍊�-->
 	<select id="queryTableDictTextByKey" parameterType="String" resultType="String">
 		   select ${text} as "text" from ${table} where ${code}= #{key}
@@ -101,27 +101,27 @@
 	<select id="duplicateCheckCountSql" resultType="Long" parameterType="org.jeecg.modules.system.model.DuplicateCheckVo">
 		SELECT COUNT(*) FROM ${tableName} WHERE ${fieldName} = #{fieldVal} and id &lt;&gt; #{dataId}
 	</select>
-	
+
 	<!-- 閲嶅鏍¢獙 sql璇彞 -->
 	<select id="duplicateCheckCountSqlNoDataId" resultType="Long" parameterType="org.jeecg.modules.system.model.DuplicateCheckVo">
 		SELECT COUNT(*) FROM ${tableName} WHERE ${fieldName} = #{fieldVal}
 	</select>
-		
+
 	<!-- 鏌ヨ閮ㄩ棬淇℃伅 浣滀负瀛楀吀鏁版嵁 -->
 	<select id="queryAllDepartBackDictModel" resultType="org.jeecg.common.system.vo.DictModel">
 		select id as "value",depart_name as "text" from sys_depart where del_flag = '0'
 	</select>
-	
+
 		<!-- 鏌ヨ鐢ㄦ埛淇℃伅 浣滀负瀛楀吀鏁版嵁 -->
 	<select id="queryAllUserBackDictModel" resultType="org.jeecg.common.system.vo.DictModel">
 		select username as "value",realname as "text" from sys_user where del_flag = '0'
 	</select>
-	
+
 	<!--閫氳繃鏌ヨ鎸囧畾table鐨� text code 鑾峰彇瀛楀吀鏁版嵁锛屼笖鏀寔鍏抽敭瀛楁煡璇�
 	<select id="queryTableDictItems" parameterType="String"  resultType="org.jeecg.common.system.vo.DictModel">
 		select ${text} as "text",${code} as "value" from ${table} where ${text} like #{keyword}
 	</select> -->
-	
+
 	<!-- 鏍规嵁琛ㄥ悕銆佹樉绀哄瓧娈靛悕銆佸瓨鍌ㄥ瓧娈靛悕銆佺埗ID鏌ヨ鏍� -->
 	<select id="queryTreeList" parameterType="Object" resultType="org.jeecg.modules.system.model.TreeSelectModel">
 		select ${text} as "title",
@@ -213,7 +213,14 @@
 			and ${filterSql}
 		</if>
 	</select>
-
-
-
+	<select id="queryTableFieldByParams" resultType="java.util.Map">
+		select ${columns},${paramName} as paramValue
+		from ${table} where ${paramName} in
+		<foreach item="key" collection="paramValues" open="(" separator="," close=")">
+			#{key}
+		</foreach>
+	</select>
+	<select id="queryTableDictTextBySubSql" resultType="java.lang.String">
+		select ${text} as "text" from ${table} where ${subSql}
+	</select>
 </mapper>
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDictService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDictService.java
index 1680a88..1373ddb 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDictService.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDictService.java
@@ -255,4 +255,16 @@
      */
     List<DictModel> loadDict(String dictCode, String keyword, Integer pageSize);
 
+	String queryTableDictByParams(String table, String text, String codes, String params);
+
+	/**
+	 * 鍗曡〃鎵归噺鏌ヨ
+	 * @param queryTable
+	 * @param columns
+	 * @param paramName
+	 * @param paramValues
+	 * @return
+	 */
+	List<Map> queryTableFieldByParams(String queryTable, String[] columns, String paramName, String[] paramValues);
+
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java
index 3776248..516c785 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java
@@ -1,5 +1,7 @@
 package org.jeecg.modules.system.service.impl;
 
+import cn.hutool.core.lang.Validator;
+import cn.hutool.core.util.ArrayUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -153,7 +155,7 @@
 		log.debug("鏃犵紦瀛榙ictTableList鐨勬椂鍊欒皟鐢ㄨ繖閲岋紒");
 		return sysDictMapper.queryTableDictItemsByCodeAndFilter(table,text,code,filterSql);
 	}
-	
+
 	/**
 	 * 閫氳繃鏌ヨ鎸囧畾table鐨� text code 鑾峰彇瀛楀吀鍊紅ext
 	 * dictTableCache閲囩敤redis缂撳瓨鏈夋晥鏈�10鍒嗛挓
@@ -282,7 +284,7 @@
 	public List<DictModel> queryAllUserBackDictModel() {
 		return baseMapper.queryAllUserBackDictModel();
 	}
-	
+
 //	@Override
 //	public List<DictModel> queryTableDictItems(String table, String text, String code, String keyword) {
 //		return baseMapper.queryTableDictItems(table, text, code, "%"+keyword+"%");
@@ -475,4 +477,37 @@
 		}
 	}
 
+	@Override
+	@Cacheable(value = CacheConstant.SYS_DICT_TABLE_CACHE)
+	public String queryTableDictByParams(String table, String text, String codes, String params) {
+		log.info("鏃犵紦瀛榙ictTable queryTableDictByKeys鐨勬椂鍊欒皟鐢ㄨ繖閲岋紒");
+		String[] codeArr = codes.split("&&");
+		String[] paramArr = params.split("&&");
+
+		String subSql = "";
+		for (int i = 0; i < codeArr.length; i++) {
+			String column = codeArr[i];
+			// 榛樿鍙傛暟涓虹┖瀛楃涓�
+			String param = paramArr.length > i ? paramArr[i] : "";
+			if(column == null || ! Validator.isGeneral(column)){
+				log.error("<<<闈炴硶瀛楁:" + column);
+				return null;
+			}
+			if(null == param || (!"-1".equals(param) && ! Validator.isGeneralWithChinese(param.replaceAll(" ", "")))){
+				log.error("<<<闈炴硶鍙傛暟:" + param);
+				return null;
+			}
+
+			if(i != 0) subSql += " and ";
+			subSql += column+" = '"+param+"'";
+		}
+		return sysDictMapper.queryTableDictTextBySubSql(table,text,subSql);
+	}
+
+
+	@Override
+	public List<Map> queryTableFieldByParams(String queryTable, String[] columns, String paramName, String[] paramValues) {
+		String column = ArrayUtil.join(columns, ",");
+		return this.baseMapper.queryTableFieldByParams(queryTable, column, paramName, paramValues);
+	}
 }

--
Gitblit v1.9.3