From 0c929802702bca00b24b8c74f52723b21ba5b4c2 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期五, 11 七月 2025 09:43:45 +0800
Subject: [PATCH] art: 查询岗位用户信息修改

---
 lxzn-boot-base-core/src/main/java/org/jeecg/common/util/OrgCodeSplitUtil.java                                      |   30 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderController.java    |  155 ++--
 db/ZHR/position_zhr.sql                                                                                            |    0 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java |   14 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java             |   13 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java |   21 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java     | 1287 +++++++++++++++++++++---------------------
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java         |    7 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java            |  240 ++++---
 9 files changed, 909 insertions(+), 858 deletions(-)

diff --git a/db/ZHR/position_zhr.sql b/db/ZHR/position_zhr.sql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/db/ZHR/position_zhr.sql
diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/OrgCodeSplitUtil.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/OrgCodeSplitUtil.java
new file mode 100644
index 0000000..31b9fc0
--- /dev/null
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/OrgCodeSplitUtil.java
@@ -0,0 +1,30 @@
+package org.jeecg.common.util;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+public class OrgCodeSplitUtil {
+    public static List<String> splitOrgCode(String orgCode) {
+        if(StringUtils.isBlank(orgCode)) {
+            return Collections.emptyList();
+        }
+        if(orgCode.length() % 3 != 0) {
+            return Collections.emptyList();
+        }
+        List<String> list = new ArrayList<>();
+        int length = orgCode.length();
+        for (int i = length; i > 0; i -= 3) {
+            list.add(orgCode.substring(0, i));
+        }
+        return list;
+    }
+
+    public static void main(String[] args) {
+        String orgCode = "A01A01A01";
+        List<String> list = splitOrgCode(orgCode);
+        System.out.println(list);
+    }
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderController.java
index 215428d..8a8f39e 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderController.java
@@ -9,103 +9,96 @@
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.modules.eam.constant.BusinessCodeConst;
-import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
 import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrder;
 import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderQuery;
 import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderRequest;
 import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationOrderService;
-import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
- /**
+/**
  * @Description: 鎶�鏈姸鎬侀壌瀹氬伐鍗�
  * @Author: jeecg-boot
- * @Date:   2025-07-09
+ * @Date: 2025-07-09
  * @Version: V1.0
  */
 @Slf4j
-@Api(tags="鎶�鏈姸鎬侀壌瀹氬伐鍗�")
+@Api(tags = "鎶�鏈姸鎬侀壌瀹氬伐鍗�")
 @RestController
 @RequestMapping("/eam/eamTechnicalStatusEvaluationOrder")
 public class EamTechnicalStatusEvaluationOrderController extends JeecgController<EamTechnicalStatusEvaluationOrder, IEamTechnicalStatusEvaluationOrderService> {
-	@Autowired
-	private IEamTechnicalStatusEvaluationOrderService eamTechnicalStatusEvaluationOrderService;
-	 @Autowired
-	 private ISysBusinessCodeRuleService businessCodeRuleService;
-	/**
-	 * 鍒嗛〉鍒楄〃鏌ヨ
-	 *
-	 * @param query
-	 * @param pageNo
-	 * @param pageSize
-	 * @return
-	 */
-	@ApiOperation(value="鎶�鏈姸鎬侀壌瀹氬伐鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes="鎶�鏈姸鎬侀壌瀹氬伐鍗�-鍒嗛〉鍒楄〃鏌ヨ")
-	@GetMapping(value = "/list")
-	public Result<?> queryPageList(EamTechnicalStatusEvaluationOrderQuery query,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
-		Page<EamTechnicalStatusEvaluationOrder> page = new Page<EamTechnicalStatusEvaluationOrder>(pageNo, pageSize);
-		IPage<EamTechnicalStatusEvaluationOrder> pageList = eamTechnicalStatusEvaluationOrderService.queryPageList(page, query);
-		return Result.OK(pageList);
-	}
-	
-	/**
-	 * 娣诲姞
-	 *
-	 * @param request
-	 * @return
-	 */
-	@AutoLog(value = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-娣诲姞")
-	@ApiOperation(value="鎶�鏈姸鎬侀壌瀹氬伐鍗�-娣诲姞", notes="鎶�鏈姸鎬侀壌瀹氬伐鍗�-娣诲姞")
-	@PostMapping(value = "/add")
-	public Result<?> add(@RequestBody EamTechnicalStatusEvaluationOrderRequest request) {
-		if (request == null) {
-			return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒");
-		}
-		if (CollectionUtil.isEmpty(request.getTableDetailList())) {
-			return Result.error("妫�鏌ラ」涓嶈兘涓虹┖锛�");
-		}
-		String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_EVALUATION_ORDER_CODE_RULE);
-		request.setOrderNum(codeSeq);
-		request.setCreationMethod(OrderCreationMethodEnum.MANUAL.name());
-		boolean b = eamTechnicalStatusEvaluationOrderService.addTechnicalStatusEvaluationOrder(request);
-		if (!b) {
-			return Result.error("娣诲姞澶辫触锛�");
-		}
-		return Result.OK("娣诲姞鎴愬姛锛�");
-	}
+    @Autowired
+    private IEamTechnicalStatusEvaluationOrderService eamTechnicalStatusEvaluationOrderService;
 
-	 /**
-	  * 閫氳繃id棰嗗彇
-	  *
-	  * @param id
-	  * @return
-	  */
-	 @AutoLog(value = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-棰嗗彇")
-	 @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-棰嗗彇", notes = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-棰嗗彇")
-	 @GetMapping(value = "/collect")
-	 public Result<?> collect(@RequestParam(name = "id", required = true) String id) {
-		 boolean b = eamTechnicalStatusEvaluationOrderService.collect(id);
-		 if (!b) {
-			 Result.OK("棰嗗彇澶辫触!");
-		 }
-		 return Result.OK("棰嗗彇鎴愬姛!");
-	 }
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param query
+     * @param pageNo
+     * @param pageSize
+     * @return
+     */
+    @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamTechnicalStatusEvaluationOrderQuery query,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        Page<EamTechnicalStatusEvaluationOrder> page = new Page<EamTechnicalStatusEvaluationOrder>(pageNo, pageSize);
+        IPage<EamTechnicalStatusEvaluationOrder> pageList = eamTechnicalStatusEvaluationOrderService.queryPageList(page, query);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param request
+     * @return
+     */
+    @AutoLog(value = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-娣诲姞")
+    @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-娣诲姞", notes = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamTechnicalStatusEvaluationOrderRequest request) {
+        if (request == null) {
+            return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒");
+        }
+        if (CollectionUtil.isEmpty(request.getTableDetailList())) {
+            return Result.error("妫�鏌ラ」涓嶈兘涓虹┖锛�");
+        }
+        boolean b = eamTechnicalStatusEvaluationOrderService.addTechnicalStatusEvaluationOrder(request);
+        if (!b) {
+            return Result.error("娣诲姞澶辫触锛�");
+        }
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 閫氳繃id棰嗗彇
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-棰嗗彇")
+    @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-棰嗗彇", notes = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-棰嗗彇")
+    @GetMapping(value = "/collect")
+    public Result<?> collect(@RequestParam(name = "id", required = true) String id) {
+        boolean b = eamTechnicalStatusEvaluationOrderService.collect(id);
+        if (!b) {
+            Result.OK("棰嗗彇澶辫触!");
+        }
+        return Result.OK("棰嗗彇鎴愬姛!");
+    }
 
 
-	 /**
-	 * 閫氳繃id鏌ヨ
-	 *
-	 * @param id
-	 * @return
-	 */
-	@ApiOperation(value="鎶�鏈姸鎬侀壌瀹氬伐鍗�-閫氳繃id鏌ヨ", notes="鎶�鏈姸鎬侀壌瀹氬伐鍗�-閫氳繃id鏌ヨ")
-	@GetMapping(value = "/queryById")
-	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
-		EamTechnicalStatusEvaluationOrder eamTechnicalStatusEvaluationOrder = eamTechnicalStatusEvaluationOrderService.getById(id);
-		return Result.OK(eamTechnicalStatusEvaluationOrder);
-	}
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-閫氳繃id鏌ヨ", notes = "鎶�鏈姸鎬侀壌瀹氬伐鍗�-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
+        EamTechnicalStatusEvaluationOrder eamTechnicalStatusEvaluationOrder = eamTechnicalStatusEvaluationOrderService.getById(id);
+        return Result.OK(eamTechnicalStatusEvaluationOrder);
+    }
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
index 1238b1b..73d7efd 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -20,10 +20,6 @@
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.system.entity.BaseFactory;
-import org.jeecg.modules.system.entity.BaseFactoryUser;
-import org.jeecg.modules.system.entity.SysParams;
-import org.jeecg.modules.system.service.*;
 import org.jeecg.modules.eam.constant.BusinessCodeConst;
 import org.jeecg.modules.eam.constant.EamMaintenanceStandardDetailCategory;
 import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum;
@@ -38,13 +34,17 @@
 import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService;
 import org.jeecg.modules.eam.service.IEamMaintenanceStandardService;
-import org.jeecg.modules.eam.vo.*;
+import org.jeecg.modules.eam.vo.EamMaintenanceStandardVo;
 import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
 import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService;
 import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI;
 import org.jeecg.modules.flowable.apithird.service.FlowCommonService;
 import org.jeecg.modules.flowable.service.IFlowDefinitionService;
 import org.jeecg.modules.flowable.service.IFlowTaskService;
+import org.jeecg.modules.system.entity.BaseFactory;
+import org.jeecg.modules.system.entity.BaseFactoryUser;
+import org.jeecg.modules.system.entity.SysParams;
+import org.jeecg.modules.system.service.*;
 import org.jeecg.modules.system.vo.UserSelector;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -63,11 +63,11 @@
 /**
  * @Description: 淇濆吇鏍囧噯
  * @Author: jeecg-boot
- * @Date:   2025-03-26
+ * @Date: 2025-03-26
  * @Version: V1.0
  */
 @Service("IEamMaintenanceStandardService")
-public class EamMaintenanceStandardServiceImpl extends ServiceImpl<EamMaintenanceStandardMapper, EamMaintenanceStandard> implements IEamMaintenanceStandardService , FlowCallBackServiceI {
+public class EamMaintenanceStandardServiceImpl extends ServiceImpl<EamMaintenanceStandardMapper, EamMaintenanceStandard> implements IEamMaintenanceStandardService, FlowCallBackServiceI {
 
     @Resource
     private EamMaintenanceStandardMapper eamMaintenanceStandardMapper;
@@ -124,45 +124,45 @@
             queryWrapper.in("e.equipment_code", equipArr);
         } else {
             //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶�
-            List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService.
-                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
-            if(!CollectionUtils.isEmpty(baseFactoryUserList)){
+            List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService.
+                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId, sysUser.getId()));
+            if (!CollectionUtils.isEmpty(baseFactoryUserList)) {
                 Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet());
-                Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
+                Set<String> factoryCode = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
                 queryWrapper.in("e.factory_org_code", factoryCode);
             } else {
                 return page;
             }
         }
-        if(eamMaintenanceStandard != null) {
+        if (eamMaintenanceStandard != null) {
             //缂栫爜 妯$硦鏌ヨ
-            if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardCode())) {
+            if (StringUtils.isNotBlank(eamMaintenanceStandard.getStandardCode())) {
                 queryWrapper.like("ems.standard_code", eamMaintenanceStandard.getStandardCode());
             }
             //鍚嶇О 妯$硦鏌ヨ
-            if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardName())) {
+            if (StringUtils.isNotBlank(eamMaintenanceStandard.getStandardName())) {
                 queryWrapper.like("ems.standard_name", eamMaintenanceStandard.getStandardName());
             }
             //璁惧
-            if(StringUtils.isNotBlank(eamMaintenanceStandard.getEquipmentId())) {
+            if (StringUtils.isNotBlank(eamMaintenanceStandard.getEquipmentId())) {
                 queryWrapper.eq("ems.equipment_id", eamMaintenanceStandard.getEquipmentId());
             }
             //淇濆吇鍒嗙被
-            if(StringUtils.isNotBlank(eamMaintenanceStandard.getMaintenanceCategory())) {
+            if (StringUtils.isNotBlank(eamMaintenanceStandard.getMaintenanceCategory())) {
                 queryWrapper.eq("ems.maintenance_category", eamMaintenanceStandard.getMaintenanceCategory());
             }
             //淇濆吇鍒嗙被
-            if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardStatus())) {
+            if (StringUtils.isNotBlank(eamMaintenanceStandard.getStandardStatus())) {
                 queryWrapper.eq("ems.standard_status", eamMaintenanceStandard.getStandardStatus());
             }
             //璁惧缂栫爜
-            if(StringUtils.isNotBlank(eamMaintenanceStandard.getKeyword())) {
+            if (StringUtils.isNotBlank(eamMaintenanceStandard.getKeyword())) {
                 queryWrapper.and(wrapper -> wrapper.like("e.equipment_name", eamMaintenanceStandard.getKeyword())
                         .or()
                         .like("e.equipment_code", eamMaintenanceStandard.getKeyword()));
             }
             //id
-            if(StringUtils.isNotBlank(eamMaintenanceStandard.getId())) {
+            if (StringUtils.isNotBlank(eamMaintenanceStandard.getId())) {
                 queryWrapper.eq("ems.id", eamMaintenanceStandard.getId());
             }
         }
@@ -177,19 +177,19 @@
         BeanUtils.copyProperties(standardRequest, entity);
         entity.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
         //鐗堟湰閫掑
-        entity.setStandardVersion("v"+CommonConstant.OPERATE_TYPE_1);
+        entity.setStandardVersion("v" + CommonConstant.OPERATE_TYPE_1);
         //璁惧澶勭悊
         entity.setEquipmentId(standardRequest.getEquipmentId());
         //鍒犻櫎鏍囪
         entity.setDelFlag(CommonConstant.DEL_FLAG_0);
         //閲嶅鎬ф牎楠�
-        EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory(),MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
-        if(exist != null){
+        EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory(), MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
+        if (exist != null) {
             throw new JeecgBootException("璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�");
         }
         eamMaintenanceStandardMapper.insert(entity);
         //澶勭悊鏄庣粏鏁版嵁
-        if(CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) {
+        if (CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) {
             standardRequest.getTableDetailList().forEach(tableDetail -> {
                 tableDetail.setStandardId(entity.getId());
             });
@@ -202,32 +202,32 @@
     @Transactional(rollbackFor = Exception.class)
     public boolean editMaintenanceStandard(EamMaintenanceStandardRequest standardRequest) {
         EamMaintenanceStandard entity = eamMaintenanceStandardMapper.selectById(standardRequest.getId());
-        if(entity == null){
+        if (entity == null) {
             throw new JeecgBootException("缂栬緫鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�");
         }
         entity.setStandardName(standardRequest.getStandardName());
         entity.setMaintenancePeriod(standardRequest.getMaintenancePeriod());
         eamMaintenanceStandardMapper.updateById(entity);
         //澶勭悊璇︽儏
-        if(CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) {
+        if (CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) {
             List<EamMaintenanceStandardDetail> addList = new ArrayList<>();
             List<EamMaintenanceStandardDetail> updateList = new ArrayList<>();
             standardRequest.getTableDetailList().forEach(tableDetail -> {
                 tableDetail.setStandardId(entity.getId());
-                if(tableDetail.getId() == null){
+                if (tableDetail.getId() == null) {
                     addList.add(tableDetail);
-                }else {
+                } else {
                     updateList.add(tableDetail);
                 }
             });
-            if(CollectionUtil.isNotEmpty(addList)){
+            if (CollectionUtil.isNotEmpty(addList)) {
                 eamMaintenanceStandardDetailService.saveBatch(addList);
             }
-            if(CollectionUtil.isNotEmpty(updateList)){
+            if (CollectionUtil.isNotEmpty(updateList)) {
                 eamMaintenanceStandardDetailService.updateBatchById(updateList);
             }
         }
-        if(CollectionUtil.isNotEmpty(standardRequest.getRemoveDetailList())) {
+        if (CollectionUtil.isNotEmpty(standardRequest.getRemoveDetailList())) {
             List<String> ids = standardRequest.getRemoveDetailList().stream().map(EamMaintenanceStandardDetail::getId).collect(Collectors.toList());
             eamMaintenanceStandardDetailService.removeBatchByIds(ids);
         }
@@ -238,7 +238,7 @@
     @Transactional(rollbackFor = Exception.class)
     public boolean upgradeMaintenanceStandard(EamMaintenanceStandardRequest standardRequest) {
         EamMaintenanceStandard entity = eamMaintenanceStandardMapper.selectById(standardRequest.getId());
-        if(entity == null){
+        if (entity == null) {
             throw new JeecgBootException("缂栬緫鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�");
         }
 
@@ -258,7 +258,7 @@
         if (matcher.find()) {
             try {
                 int mainVersion = Integer.parseInt(matcher.group(1));
-                newEntity.setStandardVersion("v"+(mainVersion+1));
+                newEntity.setStandardVersion("v" + (mainVersion + 1));
             } catch (NumberFormatException ignored) {
             }
         }
@@ -267,13 +267,13 @@
         //鍒犻櫎鏍囪
         newEntity.setDelFlag(CommonConstant.DEL_FLAG_0);
         //閲嶅鎬ф牎楠�
-        EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory(),MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
-        if(exist != null){
+        EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory(), MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
+        if (exist != null) {
             throw new JeecgBootException("璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�");
         }
         eamMaintenanceStandardMapper.insert(newEntity);
         //澶勭悊鏄庣粏鏁版嵁
-        if(CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) {
+        if (CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) {
             standardRequest.getTableDetailList().forEach(tableDetail -> {
                 tableDetail.setId(null);
                 tableDetail.setCreateBy(null);
@@ -288,7 +288,7 @@
     }
 
     @Override
-    public EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory,String standardStatus) {
+    public EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory, String standardStatus) {
         LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId);
         queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory);
@@ -297,7 +297,7 @@
         queryWrapper.orderByDesc(EamMaintenanceStandard::getStandardVersion);
 
         List<EamMaintenanceStandard> list = eamMaintenanceStandardMapper.selectList(queryWrapper);
-        if(CollectionUtil.isEmpty(list)) {
+        if (CollectionUtil.isEmpty(list)) {
             return null;
         }
         return list.get(0);
@@ -305,12 +305,13 @@
 
     /**
      * 鏌ヨ鏍囧噯鍒楄〃-鍓嶇灞曠ず璇ョ敤鎴锋嫢鏈夌殑鏍囧噯
-     * @param keyword 璁惧缂栧彿
+     *
+     * @param keyword             璁惧缂栧彿
      * @param maintenanceCategory 淇濆吇绫诲瀷
      * @return
      */
     @Override
-    public List<EamMaintenanceStandard> queryListByKeywordAndCategory(String keyword, String equipmentId, Integer pageSize, String maintenanceCategory){
+    public List<EamMaintenanceStandard> queryListByKeywordAndCategory(String keyword, String equipmentId, Integer pageSize, String maintenanceCategory) {
         Page<EamMaintenanceStandard> page = new Page<EamMaintenanceStandard>(1, pageSize);
         EamMaintenanceStandard query = new EamMaintenanceStandard();
         query.setEquipmentId(equipmentId);
@@ -335,28 +336,29 @@
 
     /**
      * 娴佺▼鍚姩,淇濆瓨瀵瑰簲鐨勬暟鎹�
+     *
      * @param id
      * @return
      */
     @Override
-    public Result<?> saveEamMaintenanceStandardProcess(String id){
+    public Result<?> saveEamMaintenanceStandardProcess(String id) {
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        EamMaintenanceStandard maintenanceStandard=this.getById(id);
-        if (maintenanceStandard==null){
+        EamMaintenanceStandard maintenanceStandard = this.getById(id);
+        if (maintenanceStandard == null) {
             return Result.error("鏈壘鍒板搴斾繚鍏绘爣鍑�");
         }
         System.out.println("淇濆吇瑙勮寖娴佺▼锛�" + maintenanceStandard.getId());
-        flowCommonService.initActBusiness(maintenanceStandard.getStandardName()+"瑙勮寖杩涜娴佺▼瀹℃牳",
+        flowCommonService.initActBusiness(maintenanceStandard.getStandardName() + "瑙勮寖杩涜娴佺▼瀹℃牳",
                 maintenanceStandard.getId(), "IEamMaintenanceStandardService", "eam_maintenance_standard", null);
         Map<String, Object> variables = new HashMap<>();
         variables.put("dataId", maintenanceStandard.getId());
         variables.put("organization", "淇濆吇瑙勮寖鍚姩娴佺▼");
         variables.put("comment", "淇濆吇瑙勮寖鍚姩娴佺▼");
-        variables.put("proofreading",true);
-        Result result= flowDefinitionService.startProcessInstanceByKey("eam_maintenance_standard", variables);
+        variables.put("proofreading", true);
+        Result result = flowDefinitionService.startProcessInstanceByKey("eam_maintenance_standard", variables);
         if (!result.isSuccess()) {
             super.removeById(maintenanceStandard.getId());
-        }else {
+        } else {
             maintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_REPAIR_DIRECTOR.name());
             maintenanceStandard.setDesigner(user.getUsername());
             maintenanceStandard.setDesignTime(new Date());
@@ -370,11 +372,10 @@
                 return Result.error("娴佺▼璁板綍涓嶅瓨鍦�");
             }
             FlowMyBusiness flowMyBusiness = businessList.get(0);
-            EamEquipment eamEquipment=eamEquipmentService.getById(maintenanceStandard.getEquipmentId());
-            BaseFactory baseFactory=baseFactoryService.getOne(new QueryWrapper<BaseFactory>().eq("org_code", eamEquipment.getFactoryOrgCode()));
-            List<UserSelector> userSelectorList=sysUserService.selectOperatorFactoryList(eamEquipment.getEquipmentCode(),baseFactory.getId(), BusinessCodeConst.PCR0008);
+            EamEquipment eamEquipment = eamEquipmentService.getById(maintenanceStandard.getEquipmentId());
+            List<UserSelector> userSelectorList = sysUserService.selectOperatorList(eamEquipment.getEquipmentCode(), eamEquipment.getFactoryOrgCode(), BusinessCodeConst.PCR0008);
             if (!CollectionUtils.isEmpty(userSelectorList)) {
-                List<String> usernameList=userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                List<String> usernameList = userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList());
                 flowMyBusiness.setTodoUsers(JSON.toJSONString(usernameList));
                 flowMyBusinessService.updateById(flowMyBusiness);
             }
@@ -384,11 +385,12 @@
 
     /**
      * 瀹℃壒鎿嶄綔
+     *
      * @param eamMaintenanceStandardVo
      * @return
      */
     @Override
-    public Result<?> auditEamMaintenanceStandard(EamMaintenanceStandardVo eamMaintenanceStandardVo){
+    public Result<?> auditEamMaintenanceStandard(EamMaintenanceStandardVo eamMaintenanceStandardVo) {
         try {
             // 鍙傛暟鏍¢獙
             if (StrUtil.isEmpty(eamMaintenanceStandardVo.getTaskId()) || StrUtil.isEmpty(eamMaintenanceStandardVo.getDataId())) {
@@ -442,23 +444,22 @@
             Result result = flowTaskService.complete(eamMaintenanceStandardVo);
             if (result.isSuccess()) {
                 if (eamMaintenanceStandardVo.getRepairManagerApproveResult() != null) {
-                    if (eamMaintenanceStandardVo.getRepairManagerApproveResult().equals("1")){
+                    if (eamMaintenanceStandardVo.getRepairManagerApproveResult().equals("1")) {
                         List<FlowMyBusiness> newbusinessList = flowMyBusinessService.list(
                                 new QueryWrapper<FlowMyBusiness>()
                                         .eq("process_instance_id", eamMaintenanceStandardVo.getInstanceId()));
                         FlowMyBusiness newflowMyBusiness = newbusinessList.get(0);
                         eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_TECHNICAL_DIRECTOR.name());
                         //鑾峰彇flow鐨勬祦绋嬪疄渚媔d,璁剧疆涓嬩竴姝ョ殑澶勭悊浜哄憳
-                        EamMaintenanceStandard maintenanceStandard=this.getById(eamMaintenanceStandardVo.getDataId());
-                        EamEquipment eamEquipment=eamEquipmentService.getById(maintenanceStandard.getEquipmentId());
-                        BaseFactory baseFactory=baseFactoryService.getOne(new QueryWrapper<BaseFactory>().eq("org_code", eamEquipment.getFactoryOrgCode()));
-                        List<UserSelector> userSelectorList=sysUserService.selectOperatorFactoryList(eamEquipment.getEquipmentCode(),baseFactory.getId(), BusinessCodeConst.PCR0009);
+                        EamMaintenanceStandard maintenanceStandard = this.getById(eamMaintenanceStandardVo.getDataId());
+                        EamEquipment eamEquipment = eamEquipmentService.getById(maintenanceStandard.getEquipmentId());
+                        List<UserSelector> userSelectorList = sysUserService.selectOperatorList(eamEquipment.getEquipmentCode(), eamEquipment.getFactoryOrgCode(), BusinessCodeConst.PCR0009);
                         if (!CollectionUtils.isEmpty(userSelectorList)) {
-                            List<String> usernameList=userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                            List<String> usernameList = userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList());
                             newflowMyBusiness.setTodoUsers(JSON.toJSONString(usernameList));
                             flowMyBusinessService.updateById(newflowMyBusiness);
                         }
-                    }else {
+                    } else {
                         eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
                     }
                     eamMaintenanceStandard.setRepairManager(user.getUsername());
@@ -467,15 +468,15 @@
                     eamMaintenanceStandard.setRepairManagerApproveComment(eamMaintenanceStandardVo.getComment());
                 }
                 if (eamMaintenanceStandardVo.getTechnicalManagerApproveResult() != null) {
-                    if (eamMaintenanceStandardVo.getTechnicalManagerApproveResult().equals("1")){
+                    if (eamMaintenanceStandardVo.getTechnicalManagerApproveResult().equals("1")) {
                         eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.START.name());
                         //鍒ゆ柇鏄惁杩涜鍗囩増锛岄�氳繃璁惧缂栧彿銆佷繚鍏诲垎绫汇�佺姸鎬佽繘琛岀瓫閫�
-                        EamMaintenanceStandard maintenanceStandard=this.getById(eamMaintenanceStandardVo.getDataId());
-                        QueryWrapper<EamMaintenanceStandard> queryWrapper=new QueryWrapper<>();
+                        EamMaintenanceStandard maintenanceStandard = this.getById(eamMaintenanceStandardVo.getDataId());
+                        QueryWrapper<EamMaintenanceStandard> queryWrapper = new QueryWrapper<>();
                         queryWrapper.eq("equipment_id", maintenanceStandard.getEquipmentId());
                         queryWrapper.eq("maintenance_category", maintenanceStandard.getMaintenanceCategory());
                         queryWrapper.eq("standard_status", MaintenanceStandardStatusEnum.START.name());
-                        List<EamMaintenanceStandard> list=eamMaintenanceStandardMapper.selectList(queryWrapper);
+                        List<EamMaintenanceStandard> list = eamMaintenanceStandardMapper.selectList(queryWrapper);
                         if (!CollectionUtils.isEmpty(list)) {
                             //浣滃簾鍘熸湁
                             for (EamMaintenanceStandard eamMaintenanceStandard1 : list) {
@@ -483,7 +484,7 @@
                                 this.updateById(eamMaintenanceStandard1);
                             }
                         }
-                    }else {
+                    } else {
                         eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
                     }
                     eamMaintenanceStandard.setTechnicalManager(user.getUsername());
@@ -546,9 +547,10 @@
 
 
     /*瀵煎叆鐐规鏂囦欢Excel--------------------------寮�濮�*/
+
     /**
-        * 鐐规琛ㄥ鍏ュ叆鍙�
-    */
+     * 鐐规琛ㄥ鍏ュ叆鍙�
+     */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result<?> importPointInspectionExcel(MultipartFile file) {
@@ -562,7 +564,7 @@
             EamMaintenanceStandard eamMaintenanceStandard = extractDeviceInfo(sheet);
             if (eamMaintenanceStandard == null) {
                 return Result.error("璁惧淇℃伅鎻愬彇澶辫触");
-            }else {
+            } else {
                 if (eamMaintenanceStandard.getEquipmentId() == null) {
                     return Result.error("璁惧淇℃伅鎻愬彇澶辫触");
                 }
@@ -570,8 +572,8 @@
 
             eamMaintenanceStandard.setStandardName(name);
 
-            EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(), eamMaintenanceStandard.getMaintenanceCategory(),MaintenanceStandardStatusEnum.START.name());
-            if(exist != null){
+            EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(), eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.START.name());
+            if (exist != null) {
                 return Result.error(name + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞");
             }
 
@@ -579,13 +581,13 @@
 
             // 2. 鎻愬彇姣忔棩鐐规椤圭洰
             List<EamMaintenanceStandardDetail> dailyDetails = extractDailyItems(sheet, eamMaintenanceStandard);
-            if(dailyDetails.isEmpty()){
+            if (dailyDetails.isEmpty()) {
                 return Result.error("鏈壘鍒版瘡鏃ョ偣妫�椤圭洰");
             }
 
             // 3. 鎻愬彇鍛ㄤ繚鍏婚」鐩�
             List<EamMaintenanceStandardDetail> weeklyDetails = extractWeeklyItems(sheet, eamMaintenanceStandard);
-            if(weeklyDetails.isEmpty()){
+            if (weeklyDetails.isEmpty()) {
                 return Result.error("鏈壘鍒板懆淇濆吇椤圭洰");
             }
 
@@ -601,12 +603,12 @@
             SysParams sysParams = sysParamsService.getSysPramBySettingKey("maintenance_import_type");
 
             if (sysParams != null) {
-                if (sysParams.getSettingValue().equals("1")){
+                if (sysParams.getSettingValue().equals("1")) {
                     //瑙﹀彂淇濆吇娴佺▼
                     eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
                     eamMaintenanceStandardMapper.updateById(eamMaintenanceStandard);
                 }
-            }else {
+            } else {
                 return Result.error("鏈壘鍒颁繚鍏绘祦绋嬪鍏ョ浉鍏抽厤缃�,璇疯仈绯荤鐞嗗憳");
             }
 
@@ -618,8 +620,8 @@
     }
 
     /**
-        * 鎻愬彇鐐规琛ㄦ爣棰�
-    */
+     * 鎻愬彇鐐规琛ㄦ爣棰�
+     */
     private String extractInspectionTitle(MultipartFile file) {
         try (Workbook workbook = WorkbookFactory.create(file.getInputStream())) {
             Sheet sheet = workbook.getSheetAt(0);
@@ -643,7 +645,7 @@
     }
 
     /**
-        * 鎻愬彇鐐规琛ㄤ箣鍓嶇殑鏂囧瓧
+     * 鎻愬彇鐐规琛ㄤ箣鍓嶇殑鏂囧瓧
      */
     private String extractTextBeforeInspection(String title) {
         if (StringUtils.isBlank(title)) {
@@ -655,8 +657,8 @@
     }
 
     /**
-        * 鎻愬彇璁惧淇℃伅
-    */
+     * 鎻愬彇璁惧淇℃伅
+     */
     private EamMaintenanceStandard extractDeviceInfo(Sheet sheet) {
         Row headerRow = sheet.getRow(0);
         if (headerRow == null) {
@@ -691,7 +693,7 @@
             EamEquipment equipments = eamEquipmentService.selectByEquipmentCode(standard.getEquipmentCode());
             if (equipments == null) {
                 return null;
-            }else {
+            } else {
                 standard.setEquipmentId(equipments.getId());
             }
         }
@@ -708,7 +710,7 @@
     }
 
     /**
-        * 瑙f瀽鏃ユ湡瀛楃涓�
+     * 瑙f瀽鏃ユ湡瀛楃涓�
      */
     private Date parseDate(String dateStr) throws ParseException {
         // 灏濊瘯澶氱鏃ユ湡鏍煎紡
@@ -734,22 +736,22 @@
     }
 
     /**
-        * 鎻愬彇姣忔棩鐐规椤圭洰
-    */
+     * 鎻愬彇姣忔棩鐐规椤圭洰
+     */
     private List<EamMaintenanceStandardDetail> extractDailyItems(Sheet sheet, EamMaintenanceStandard standard) {
         return extractItems(sheet, standard, "鐐规椤圭洰", "瀹屾垚鏁版嵁/瑕佹眰", "DAY_INSPECTION");
     }
 
     /**
-        * 鎻愬彇鍛ㄤ繚鍏婚」鐩�
-    */
+     * 鎻愬彇鍛ㄤ繚鍏婚」鐩�
+     */
     private List<EamMaintenanceStandardDetail> extractWeeklyItems(Sheet sheet, EamMaintenanceStandard standard) {
         return extractItems(sheet, standard, "鍛ㄤ繚鍏婚」鐩�", "妫�鏌ユ爣鍑�", "WEEK_INSPECTION");
     }
 
     /**
-        * 閫氱敤椤圭洰鎻愬彇鏂规硶
-    */
+     * 閫氱敤椤圭洰鎻愬彇鏂规硶
+     */
     private List<EamMaintenanceStandardDetail> extractItems(Sheet sheet, EamMaintenanceStandard standard,
                                                             String primaryHeader, String secondaryHeader,
                                                             String itemCategory) {
@@ -792,7 +794,7 @@
     }
 
     /**
-        * 鏌ユ壘琛ㄦ牸鍖哄煙
+     * 鏌ユ壘琛ㄦ牸鍖哄煙
      */
     private int[] findTableSection(Sheet sheet, String primaryHeader, String secondaryHeader) {
         for (int rowIdx = 0; rowIdx <= sheet.getLastRowNum(); rowIdx++) {
@@ -809,8 +811,8 @@
     }
 
     /**
-        * 妫�鏌ユ槸鍚︿负琛ㄥご琛�
-    */
+     * 妫�鏌ユ槸鍚︿负琛ㄥご琛�
+     */
     private boolean isHeaderRow(Row row, String header1, String header2) {
         boolean foundHeader1 = false;
         boolean foundHeader2 = false;
@@ -828,7 +830,7 @@
     }
 
     /**
-        * 鏌ユ壘鏁版嵁缁撴潫浣嶇疆
+     * 鏌ユ壘鏁版嵁缁撴潫浣嶇疆
      */
     private int findDataEnd(Sheet sheet, int startRow) {
         for (int rowIdx = startRow; rowIdx <= sheet.getLastRowNum(); rowIdx++) {
@@ -849,8 +851,8 @@
     }
 
     /**
-        * 璇嗗埆绛惧瓧琛岀壒寰�
-    */
+     * 璇嗗埆绛惧瓧琛岀壒寰�
+     */
     private boolean isSignatureRow(Row row) {
         for (int colIdx = 0; colIdx < row.getLastCellNum(); colIdx++) {
             Cell cell = row.getCell(colIdx);
@@ -867,7 +869,7 @@
 
     /**
      * 璇嗗埆鏂拌〃澶村紑濮�
-    */
+     */
     private boolean isNewHeaderStart(Row row) {
         for (int colIdx = 0; colIdx < row.getLastCellNum(); colIdx++) {
             Cell cell = row.getCell(colIdx);
@@ -882,8 +884,8 @@
     }
 
     /**
-        * 妫�鏌ヨ鏄惁涓虹┖
-    */
+     * 妫�鏌ヨ鏄惁涓虹┖
+     */
     private boolean isEmptyRow(Row row) {
         if (row == null) return true;
         for (int colIdx = 0; colIdx < row.getLastCellNum(); colIdx++) {
@@ -899,8 +901,8 @@
     }
 
     /**
-        * 浣跨敤姝e垯鎻愬彇瀛楁
-    */
+     * 浣跨敤姝e垯鎻愬彇瀛楁
+     */
     private String extractField(String text, String regex) {
         if (StringUtils.isBlank(text)) return "";
         Pattern pattern = Pattern.compile(regex);
@@ -909,8 +911,8 @@
     }
 
     /**
-        * 鑾峰彇鍗曞厓鏍煎瓧绗︿覆鍊�
-    */
+     * 鑾峰彇鍗曞厓鏍煎瓧绗︿覆鍊�
+     */
     private String getCellStringValue(Cell cell) {
         if (cell == null) return "";
         switch (cell.getCellType()) {
@@ -931,8 +933,8 @@
     }
 
     /**
-        * 澶勭悊鍏紡鍗曞厓鏍�
-    */
+     * 澶勭悊鍏紡鍗曞厓鏍�
+     */
     private String handleFormulaCell(Cell cell) {
         try {
             FormulaEvaluator evaluator = cell.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
@@ -941,10 +943,14 @@
             if (cellValue == null) return "";
 
             switch (cellValue.getCellType()) {
-                case STRING: return cellValue.getStringValue();
-                case NUMERIC: return String.valueOf((int) cellValue.getNumberValue());
-                case BOOLEAN: return String.valueOf(cellValue.getBooleanValue());
-                default: return "";
+                case STRING:
+                    return cellValue.getStringValue();
+                case NUMERIC:
+                    return String.valueOf((int) cellValue.getNumberValue());
+                case BOOLEAN:
+                    return String.valueOf(cellValue.getBooleanValue());
+                default:
+                    return "";
             }
         } catch (Exception e) {
             return "";
@@ -956,6 +962,7 @@
 
     /**
      * 缁熶竴淇濆吇瑙勮寖瀵煎叆鍏ュ彛
+     *
      * @param file 涓婁紶鏂囦欢
      * @param type 淇濆吇绫诲瀷 (SECOND/THIRD)
      * @return 瀵煎叆缁撴灉锛堝寘鍚垚鍔�/澶辫触淇℃伅锛�
@@ -988,15 +995,15 @@
                     }
 
                     // 鎻愬彇璁惧淇℃伅
-                    standard = extractDeviceInfo(table,type);
+                    standard = extractDeviceInfo(table, type);
                     if (standard == null) {
                         return Result.error(fileName + ": 璁惧淇℃伅鎻愬彇澶辫触");
                     }
 
                     // 閰嶇疆绫诲瀷鐩稿叧鍙傛暟
                     configureStandard(standard, type, file);
-                    EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(),MaintenanceStandardStatusEnum.START.name());
-                    if(exist != null){
+                    EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.START.name());
+                    if (exist != null) {
                         return Result.error(fileName + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞");
                     }
                     eamMaintenanceStandardMapper.insert(standard);
@@ -1043,7 +1050,7 @@
                     standard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
                     eamMaintenanceStandardMapper.updateById(standard);
                 }
-            }else {
+            } else {
                 return Result.error("鏈壘鍒颁繚鍏绘祦绋嬪鍏ョ浉鍏抽厤缃�,璇疯仈绯荤鐞嗗憳");
             }
 
@@ -1058,7 +1065,7 @@
 
     /**
      * 鍚庡鐞嗘柟娉曪細鏍规嵁涓嶅悓绫诲瀷杩涜澶勭悊
-    */
+     */
     private void processItemsAfterExtraction(List<EamMaintenanceStandardDetail> items, String type) {
         if ("SECOND".equals(type)) {
             // 浜岀骇淇濆吇: 鍒犻櫎娌℃湁搴忓彿鐨勬暟鎹�
@@ -1071,7 +1078,7 @@
             }
             // 2. 涓虹己澶遍儴浣嶇殑鏁版嵁濉厖鍓嶄竴鏉$殑淇濆吇閮ㄤ綅
             String lastPart = "";
-            int i =1;
+            int i = 1;
             for (EamMaintenanceStandardDetail item : items) {
                 item.setItemCode(i);
                 if (item.getItemPart() != null && !item.getItemPart().isEmpty()) {
@@ -1083,6 +1090,7 @@
             }
         }
     }
+
     /**
      * 鎻愬彇浜岀骇淇濆吇椤圭洰锛堝尯鍒嗙涓�椤靛拰鍚庣画椤甸潰锛�
      */
@@ -1121,7 +1129,7 @@
                 if (row.getTableCells().size() > 1) {
                     String seqText = getCellText(row.getCell(1));
                     try {
-                        if (!seqText.equals("搴忓彿")){
+                        if (!seqText.equals("搴忓彿")) {
                             item.setItemCode(Integer.parseInt(seqText.trim()));
                         }
                     } catch (NumberFormatException e) {
@@ -1248,7 +1256,7 @@
 
     /**
      * 鏂囨。绫诲瀷鏍¢獙 - 闃叉浜屼繚浼犲叆涓変繚鎴栧弽涔�
-    */
+     */
     private boolean isWrongDocumentType(XWPFTable table, String requestedType) {
         boolean hasRepairTitle = false;
         boolean hasOperatorTitle = false;
@@ -1295,7 +1303,7 @@
     /**
      * 鎻愬彇璁惧鍩烘湰淇℃伅
      */
-    private EamMaintenanceStandard extractDeviceInfo(XWPFTable table,String type) {
+    private EamMaintenanceStandard extractDeviceInfo(XWPFTable table, String type) {
         if (table.getNumberOfRows() < 2) return null;
 
         // 鎻愬彇鍓嶄袱琛屾暟鎹�
@@ -1314,11 +1322,11 @@
             EamEquipment equipments = eamEquipmentService.selectByEquipmentCode(standard.getEquipmentCode());
             if (equipments == null) {
                 return null;
-            }else {
+            } else {
                 standard.setEquipmentId(equipments.getId());
             }
-            if (type.equals("THIRD")){
-                EamEquipmentExtend eamEquipmentExtend=eamEquipmentExtendService.getById(standard.getEquipmentId());
+            if (type.equals("THIRD")) {
+                EamEquipmentExtend eamEquipmentExtend = eamEquipmentExtendService.getById(standard.getEquipmentId());
                 standard.setMaintenancePeriod(eamEquipmentExtend.getThirdMaintenancePeriod());
             }
         }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
index 65c5bd8..43adcef 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
@@ -40,6 +40,7 @@
 import org.jeecg.modules.system.service.IBaseFactoryUserService;
 import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
 import org.jeecg.modules.system.service.ISysUserService;
+import org.jeecg.modules.system.vo.UserSelector;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -228,6 +229,11 @@
         if(sysUser == null) {
             throw new JeecgBootException("涓嶆槸缁翠慨宸ワ紝鏃犳硶棰嗗彇姝ゅ伐鍗曪紒");
         }
+        List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0002);
+        if (CollectionUtil.isEmpty(userSelectors)) {
+            throw new JeecgBootException("璁惧鏈垎閰嶇粰杞﹂棿鐝粍闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
+        }
+
         entity.setEvaluator(sysUser.getUsername());
         entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.UNDER_EVALUATION.name());
         entity.setActualStartTime(new Date());
@@ -245,10 +251,10 @@
             variables.put("organization", entity.getRemark());
             variables.put("comment", entity.getRemark());
         }
-//        variables.put("proofreading", true);
-//        List<String> usernames = new ArrayList<>();
-//        usernames.add(entity.getOperator());
-//        variables.put("NextAssignee", usernames);
+        variables.put("proofreading", true);
+        List<String> usernames = new ArrayList<>();
+        usernames.add(entity.getEquipmentCode());
+        variables.put("NextAssignee", usernames);
 //        Result result = flowDefinitionService.startProcessInstanceByKey("second_maintenance_process", variables);
 //        if (result != null) {
 //            //鏇存柊璁惧淇濆吇鐘舵��
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java
index 3d4d2d7..904b722 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java
@@ -67,4 +67,11 @@
      * @param orgCode
      */
     String factoryDataNameByOrgCode(String orgCode);
+
+    /**
+     * 鏍规嵁 orgCode 鏌ヨ factoryIds 浠ラ兘濂藉垎鍓�
+     * @param orgCode
+     * @return
+     */
+    List<String> queryFactoryIdsByOrgCode(String orgCode);
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
index 7f4bc94..b3abea7 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
@@ -344,20 +344,11 @@
 	/**
 	 * 閫夋嫨鐢ㄦ埛
 	 * @param equipmentCode 閫夋嫨鐨勮澶嘔D
-	 * @param productionId 閫夋嫨鐨勮溅闂碔D
+	 * @param factoryOrgCode 閫夋嫨鐨勪腑蹇冧俊鎭�
 	 * @param positionCode 宀椾綅缂栧彿
 	 * @return
 	 */
-	List<UserSelector> selectOperatorList(String equipmentCode, String productionId, String positionCode);
-
-	/**
-	 * 閫夋嫨鐢ㄦ埛
-	 * @param equipmentCode 閫夋嫨鐨勮澶嘔D
-	 * @param factoryId 閫夋嫨鐨勮溅闂碔D
-	 * @param positionCode 宀椾綅缂栧彿
-	 * @return
-	 */
-	List<UserSelector> selectOperatorFactoryList(String equipmentCode, String factoryId, String positionCode);
+	List<UserSelector> selectOperatorList(String equipmentCode, String factoryOrgCode, String positionCode);
 
 	/**
 	 * 閫夋嫨鐢ㄦ埛
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java
index d28a83f..3406dd7 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.system.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -11,6 +12,7 @@
 import org.jeecg.common.constant.FillRuleConstant;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.util.FillRuleUtil;
+import org.jeecg.common.util.OrgCodeSplitUtil;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.system.entity.BaseFactory;
 import org.jeecg.modules.system.entity.BaseFactoryUser;
@@ -29,6 +31,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 璁惧杞﹂棿绠$悊
@@ -362,4 +365,22 @@
         }
         return null;
     }
+
+    @Override
+    public List<String> queryFactoryIdsByOrgCode(String orgCode) {
+        //鍒嗗壊 orgCode
+        List<String> orgCodeArr = OrgCodeSplitUtil.splitOrgCode(orgCode);
+        if(CollectionUtil.isEmpty(orgCodeArr)){
+            return Collections.emptyList();
+        }
+        LambdaQueryWrapper<BaseFactory> query = new LambdaQueryWrapper<>();
+        query.in(BaseFactory::getOrgCode, orgCodeArr);
+        query.eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0);
+        List<BaseFactory> list = this.getBaseMapper().selectList(query);
+        Set<String> collect = list.stream().map(BaseFactory::getId).collect(Collectors.toSet());
+        if(CollectionUtil.isEmpty(collect)){
+            return Collections.emptyList();
+        }
+        return new ArrayList<>(collect);
+    }
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
index 7f1e65b..cb14a54 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.system.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -23,6 +24,7 @@
 import org.jeecg.modules.system.entity.*;
 import org.jeecg.modules.system.mapper.*;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
+import org.jeecg.modules.system.service.IBaseFactoryService;
 import org.jeecg.modules.system.service.ISysDictService;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecg.modules.system.vo.EamUserRepDepVo;
@@ -52,38 +54,40 @@
 @Slf4j
 public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
 
-	@Autowired
-	private SysUserMapper userMapper;
-	@Autowired
-	private SysPermissionMapper sysPermissionMapper;
-	@Autowired
-	private SysUserRoleMapper sysUserRoleMapper;
-	@Autowired
-	private SysUserDepartMapper sysUserDepartMapper;
-	@Autowired
-	private SysDepartMapper sysDepartMapper;
-	@Autowired
-	private SysRoleMapper sysRoleMapper;
-	@Autowired
-	private SysDepartRoleUserMapper departRoleUserMapper;
-	@Autowired
-	private SysDepartRoleMapper sysDepartRoleMapper;
-	@Resource
-	private BaseCommonService baseCommonService;
-	@Autowired
-	private SysThirdAccountMapper sysThirdAccountMapper;
-	@Autowired
-	ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService;
-	@Autowired
-	ThirdAppDingtalkServiceImpl dingtalkService;
-	@Autowired
-	SysRoleIndexMapper sysRoleIndexMapper;
-	@Resource
-	MdcUserProductionMapper mdcUserProductionMapper;
-	@Resource
-	EamBaseRepairDepartUserMapper eamBaseRepairDepartUserMapper;
-	@Resource
-	private ISysDictService sysDictService;
+    @Resource
+    private SysUserMapper userMapper;
+    @Resource
+    private SysPermissionMapper sysPermissionMapper;
+    @Resource
+    private SysUserRoleMapper sysUserRoleMapper;
+    @Resource
+    private SysUserDepartMapper sysUserDepartMapper;
+    @Resource
+    private SysDepartMapper sysDepartMapper;
+    @Resource
+    private SysRoleMapper sysRoleMapper;
+    @Resource
+    private SysDepartRoleUserMapper departRoleUserMapper;
+    @Resource
+    private SysDepartRoleMapper sysDepartRoleMapper;
+    @Resource
+    private BaseCommonService baseCommonService;
+    @Resource
+    private SysThirdAccountMapper sysThirdAccountMapper;
+    @Autowired
+    ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService;
+    @Autowired
+    ThirdAppDingtalkServiceImpl dingtalkService;
+    @Resource
+    SysRoleIndexMapper sysRoleIndexMapper;
+    @Resource
+    MdcUserProductionMapper mdcUserProductionMapper;
+    @Resource
+    EamBaseRepairDepartUserMapper eamBaseRepairDepartUserMapper;
+    @Resource
+    private ISysDictService sysDictService;
+    @Autowired
+    private IBaseFactoryService factoryService;
 
     @Override
     @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
@@ -99,10 +103,10 @@
         if (!newpassword.equals(confirmpassword)) {
             return Result.error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!");
         }
-		//璁剧疆瀵嗙爜鏇存柊鏃堕棿
-		//sysUser.setPasswordTime(new Date());
-		//璁剧疆瀵嗙爜棣栨鐧诲綍澶辨晥
-		//sysUser.setPasswordFlag(CommonConstant.DEL_FLAG_0);
+        //璁剧疆瀵嗙爜鏇存柊鏃堕棿
+        //sysUser.setPasswordTime(new Date());
+        //璁剧疆瀵嗙爜棣栨鐧诲綍澶辨晥
+        //sysUser.setPasswordFlag(CommonConstant.DEL_FLAG_0);
         String password = PasswordUtil.encrypt(username, newpassword, user.getSalt());
         this.userMapper.update(new SysUser().setPassword(password).setPasswordTime(new Date()).setPasswordFlag(CommonConstant.DEL_FLAG_0), new LambdaQueryWrapper<SysUser>().eq(SysUser::getId, user.getId()));
         return Result.ok("瀵嗙爜閲嶇疆鎴愬姛!");
@@ -113,10 +117,10 @@
     public Result<?> changePassword(SysUser sysUser) {
         String salt = oConvertUtils.randomGen(8);
         sysUser.setSalt(salt);
-		//璁剧疆瀵嗙爜鏇存柊鏃堕棿
-		sysUser.setPasswordTime(new Date());
-		//绠$悊鍛樹慨鏀瑰瘑鐮侊紝璁剧疆鐢ㄦ埛棣栨鐧诲綍
-		//sysUser.setPasswordFlag();
+        //璁剧疆瀵嗙爜鏇存柊鏃堕棿
+        sysUser.setPasswordTime(new Date());
+        //绠$悊鍛樹慨鏀瑰瘑鐮侊紝璁剧疆鐢ㄦ埛棣栨鐧诲綍
+        //sysUser.setPasswordFlag();
         String password = sysUser.getPassword();
         String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, salt);
         sysUser.setPassword(passwordEncode);
@@ -125,209 +129,213 @@
     }
 
     @Override
-    @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	@Transactional(rollbackFor = Exception.class)
-	public boolean deleteUser(String userId) {
-		//1.鍒犻櫎鐢ㄦ埛
-		this.removeById(userId);
-		return false;
-	}
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
+    @Transactional(rollbackFor = Exception.class)
+    public boolean deleteUser(String userId) {
+        //1.鍒犻櫎鐢ㄦ埛
+        this.removeById(userId);
+        return false;
+    }
 
-	@Override
-    @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	@Transactional(rollbackFor = Exception.class)
-	public boolean deleteBatchUsers(String userIds) {
-		//1.鍒犻櫎鐢ㄦ埛
-		this.removeByIds(Arrays.asList(userIds.split(",")));
-		return false;
-	}
+    @Override
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
+    @Transactional(rollbackFor = Exception.class)
+    public boolean deleteBatchUsers(String userIds) {
+        //1.鍒犻櫎鐢ㄦ埛
+        this.removeByIds(Arrays.asList(userIds.split(",")));
+        return false;
+    }
 
-	@Override
-	public SysUser getUserByName(String username) {
-		return userMapper.getUserByName(username);
-	}
+    @Override
+    public SysUser getUserByName(String username) {
+        return userMapper.getUserByName(username);
+    }
 
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public void addUserWithRole(SysUser user, String roles) {
-		this.save(user);
-		if(oConvertUtils.isNotEmpty(roles)) {
-			String[] arr = roles.split(",");
-			for (String roleId : arr) {
-				SysUserRole userRole = new SysUserRole(user.getId(), roleId);
-				sysUserRoleMapper.insert(userRole);
-			}
-		}
-	}
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void addUserWithRole(SysUser user, String roles) {
+        this.save(user);
+        if (oConvertUtils.isNotEmpty(roles)) {
+            String[] arr = roles.split(",");
+            for (String roleId : arr) {
+                SysUserRole userRole = new SysUserRole(user.getId(), roleId);
+                sysUserRoleMapper.insert(userRole);
+            }
+        }
+    }
 
-	@Override
-	@CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	@Transactional(rollbackFor = Exception.class)
-	public void editUserWithRole(SysUser user, String roles) {
-		this.updateById(user);
-		//鍏堝垹鍚庡姞
-		sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId()));
-		if(oConvertUtils.isNotEmpty(roles)) {
-			String[] arr = roles.split(",");
-			for (String roleId : arr) {
-				SysUserRole userRole = new SysUserRole(user.getId(), roleId);
-				sysUserRoleMapper.insert(userRole);
-			}
-		}
-	}
+    @Override
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
+    @Transactional(rollbackFor = Exception.class)
+    public void editUserWithRole(SysUser user, String roles) {
+        this.updateById(user);
+        //鍏堝垹鍚庡姞
+        sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId()));
+        if (oConvertUtils.isNotEmpty(roles)) {
+            String[] arr = roles.split(",");
+            for (String roleId : arr) {
+                SysUserRole userRole = new SysUserRole(user.getId(), roleId);
+                sysUserRoleMapper.insert(userRole);
+            }
+        }
+    }
 
 
-	@Override
-	public List<String> getRole(String username) {
-		return sysUserRoleMapper.getRoleByUserName(username);
-	}
+    @Override
+    public List<String> getRole(String username) {
+        return sysUserRoleMapper.getRoleByUserName(username);
+    }
 
-	/**
-	 * 鑾峰彇鍔ㄦ�侀椤佃矾鐢遍厤缃�
-	 * @param username
-	 * @param version
-	 * @return
-	 */
-	@Override
-	public SysRoleIndex getDynamicIndexByUserRole(String username,String version) {
-		List<String> roles = sysUserRoleMapper.getRoleByUserName(username);
-		String componentUrl = RoleIndexConfigEnum.getIndexByRoles(roles);
-		SysRoleIndex roleIndex = new SysRoleIndex(componentUrl);
-		//鍙湁 X-Version=v3 鐨勬椂鍊欙紝鎵嶈鍙杝ys_role_index琛ㄨ幏鍙栬鑹查椤甸厤缃�
-		if (oConvertUtils.isNotEmpty(version) && roles!=null && roles.size()>0) {
-			LambdaQueryWrapper<SysRoleIndex> routeIndexQuery = new LambdaQueryWrapper();
-			//鐢ㄦ埛鎵�鏈夎鑹�
-			routeIndexQuery.in(SysRoleIndex::getRoleCode, roles);
-			//瑙掕壊棣栭〉鐘舵��0锛氭湭寮�鍚�  1锛氬紑鍚�
-			routeIndexQuery.eq(SysRoleIndex::getStatus, CommonConstant.STATUS_1);
-			//浼樺厛绾ф搴忔帓搴�
-			routeIndexQuery.orderByAsc(SysRoleIndex::getPriority);
-			List<SysRoleIndex> list = sysRoleIndexMapper.selectList(routeIndexQuery);
-			if (null != list && list.size() > 0) {
-				roleIndex = list.get(0);
-			}
-		}
+    /**
+     * 鑾峰彇鍔ㄦ�侀椤佃矾鐢遍厤缃�
+     *
+     * @param username
+     * @param version
+     * @return
+     */
+    @Override
+    public SysRoleIndex getDynamicIndexByUserRole(String username, String version) {
+        List<String> roles = sysUserRoleMapper.getRoleByUserName(username);
+        String componentUrl = RoleIndexConfigEnum.getIndexByRoles(roles);
+        SysRoleIndex roleIndex = new SysRoleIndex(componentUrl);
+        //鍙湁 X-Version=v3 鐨勬椂鍊欙紝鎵嶈鍙杝ys_role_index琛ㄨ幏鍙栬鑹查椤甸厤缃�
+        if (oConvertUtils.isNotEmpty(version) && roles != null && roles.size() > 0) {
+            LambdaQueryWrapper<SysRoleIndex> routeIndexQuery = new LambdaQueryWrapper();
+            //鐢ㄦ埛鎵�鏈夎鑹�
+            routeIndexQuery.in(SysRoleIndex::getRoleCode, roles);
+            //瑙掕壊棣栭〉鐘舵��0锛氭湭寮�鍚�  1锛氬紑鍚�
+            routeIndexQuery.eq(SysRoleIndex::getStatus, CommonConstant.STATUS_1);
+            //浼樺厛绾ф搴忔帓搴�
+            routeIndexQuery.orderByAsc(SysRoleIndex::getPriority);
+            List<SysRoleIndex> list = sysRoleIndexMapper.selectList(routeIndexQuery);
+            if (null != list && list.size() > 0) {
+                roleIndex = list.get(0);
+            }
+        }
 
-		//濡傛灉componentUrl涓虹┖锛屽垯杩斿洖绌�
-		if(oConvertUtils.isEmpty(roleIndex.getComponent())){
-			return null;
-		}
-		return roleIndex;
-	}
+        //濡傛灉componentUrl涓虹┖锛屽垯杩斿洖绌�
+        if (oConvertUtils.isEmpty(roleIndex.getComponent())) {
+            return null;
+        }
+        return roleIndex;
+    }
 
-	/**
-	 * 閫氳繃鐢ㄦ埛鍚嶈幏鍙栫敤鎴疯鑹查泦鍚�
-	 * @param username 鐢ㄦ埛鍚�
+    /**
+     * 閫氳繃鐢ㄦ埛鍚嶈幏鍙栫敤鎴疯鑹查泦鍚�
+     *
+     * @param username 鐢ㄦ埛鍚�
      * @return 瑙掕壊闆嗗悎
-	 */
-	@Override
-	public Set<String> getUserRolesSet(String username) {
-		// 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勮鑹查泦鍚�
-		List<String> roles = sysUserRoleMapper.getRoleByUserName(username);
-		log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑瑙掕壊Rules------username锛� " + username + ",Roles size: " + (roles == null ? 0 : roles.size()));
-		return new HashSet<>(roles);
-	}
+     */
+    @Override
+    public Set<String> getUserRolesSet(String username) {
+        // 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勮鑹查泦鍚�
+        List<String> roles = sysUserRoleMapper.getRoleByUserName(username);
+        log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑瑙掕壊Rules------username锛� " + username + ",Roles size: " + (roles == null ? 0 : roles.size()));
+        return new HashSet<>(roles);
+    }
 
-	/**
-	 * 閫氳繃鐢ㄦ埛鍚嶈幏鍙栫敤鎴锋潈闄愰泦鍚�
-	 *
-	 * @param username 鐢ㄦ埛鍚�
-	 * @return 鏉冮檺闆嗗悎
-	 */
-	@Override
-	public Set<String> getUserPermissionsSet(String username) {
-		Set<String> permissionSet = new HashSet<>();
-		List<SysPermission> permissionList = sysPermissionMapper.queryByUser(username);
-		for (SysPermission po : permissionList) {
+    /**
+     * 閫氳繃鐢ㄦ埛鍚嶈幏鍙栫敤鎴锋潈闄愰泦鍚�
+     *
+     * @param username 鐢ㄦ埛鍚�
+     * @return 鏉冮檺闆嗗悎
+     */
+    @Override
+    public Set<String> getUserPermissionsSet(String username) {
+        Set<String> permissionSet = new HashSet<>();
+        List<SysPermission> permissionList = sysPermissionMapper.queryByUser(username);
+        for (SysPermission po : permissionList) {
 //			// TODO URL瑙勫垯鏈夐棶棰橈紵
 //			if (oConvertUtils.isNotEmpty(po.getUrl())) {
 //				permissionSet.add(po.getUrl());
 //			}
-			if (oConvertUtils.isNotEmpty(po.getPerms())) {
-				permissionSet.add(po.getPerms());
-			}
-		}
-		log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑鏉冮檺Perms------username锛� "+ username+",Perms size: "+ (permissionSet==null?0:permissionSet.size()) );
-		return permissionSet;
-	}
+            if (oConvertUtils.isNotEmpty(po.getPerms())) {
+                permissionSet.add(po.getPerms());
+            }
+        }
+        log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑鏉冮檺Perms------username锛� " + username + ",Perms size: " + (permissionSet == null ? 0 : permissionSet.size()));
+        return permissionSet;
+    }
 
-	/**
-	 * 鍗囩骇SpringBoot2.6.6,涓嶅厑璁稿惊鐜緷璧�
-	 * @author:qinfeng
-	 * @update: 2022-04-07
-	 * @param username
-	 * @return
-	 */
-	@Override
-	public SysUserCacheInfo getCacheUser(String username) {
-		SysUserCacheInfo info = new SysUserCacheInfo();
-		info.setOneDepart(true);
-		if(oConvertUtils.isEmpty(username)) {
-			return null;
-		}
+    /**
+     * 鍗囩骇SpringBoot2.6.6,涓嶅厑璁稿惊鐜緷璧�
+     *
+     * @param username
+     * @return
+     * @author:qinfeng
+     * @update: 2022-04-07
+     */
+    @Override
+    public SysUserCacheInfo getCacheUser(String username) {
+        SysUserCacheInfo info = new SysUserCacheInfo();
+        info.setOneDepart(true);
+        if (oConvertUtils.isEmpty(username)) {
+            return null;
+        }
 
-		//鏌ヨ鐢ㄦ埛淇℃伅
-		SysUser sysUser = userMapper.getUserByName(username);
-		if(sysUser!=null) {
-			info.setSysUserCode(sysUser.getUsername());
-			info.setSysUserName(sysUser.getRealname());
-			info.setSysOrgCode(sysUser.getOrgCode());
-		}
+        //鏌ヨ鐢ㄦ埛淇℃伅
+        SysUser sysUser = userMapper.getUserByName(username);
+        if (sysUser != null) {
+            info.setSysUserCode(sysUser.getUsername());
+            info.setSysUserName(sysUser.getRealname());
+            info.setSysOrgCode(sysUser.getOrgCode());
+        }
 
-		//澶氶儴闂ㄦ敮鎸乮n鏌ヨ
-		List<SysDepart> list = sysDepartMapper.queryUserDeparts(sysUser.getId());
-		List<String> sysMultiOrgCode = new ArrayList<String>();
-		if(list==null || list.size()==0) {
-			//褰撳墠鐢ㄦ埛鏃犻儴闂�
-			//sysMultiOrgCode.add("0");
-		}else if(list.size()==1) {
-			sysMultiOrgCode.add(list.get(0).getOrgCode());
-		}else {
-			info.setOneDepart(false);
-			for (SysDepart dpt : list) {
-				sysMultiOrgCode.add(dpt.getOrgCode());
-			}
-		}
-		info.setSysMultiOrgCode(sysMultiOrgCode);
+        //澶氶儴闂ㄦ敮鎸乮n鏌ヨ
+        List<SysDepart> list = sysDepartMapper.queryUserDeparts(sysUser.getId());
+        List<String> sysMultiOrgCode = new ArrayList<String>();
+        if (list == null || list.size() == 0) {
+            //褰撳墠鐢ㄦ埛鏃犻儴闂�
+            //sysMultiOrgCode.add("0");
+        } else if (list.size() == 1) {
+            sysMultiOrgCode.add(list.get(0).getOrgCode());
+        } else {
+            info.setOneDepart(false);
+            for (SysDepart dpt : list) {
+                sysMultiOrgCode.add(dpt.getOrgCode());
+            }
+        }
+        info.setSysMultiOrgCode(sysMultiOrgCode);
 
-		return info;
-	}
+        return info;
+    }
 
     /**
      * 鏍规嵁閮ㄩ棬Id鏌ヨ
+     *
      * @param page
      * @param departId 閮ㄩ棬id
      * @param username 鐢ㄦ埛璐︽埛鍚嶇О
      * @return
      */
-	@Override
-	public IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId,String username) {
-		return userMapper.getUserByDepId(page, departId,username);
-	}
+    @Override
+    public IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId, String username) {
+        return userMapper.getUserByDepId(page, departId, username);
+    }
 
-	@Override
-	public IPage<SysUser> getUserByDepIds(Page<SysUser> page, List<String> departIds, String username) {
-		return userMapper.getUserByDepIds(page, departIds,username);
-	}
+    @Override
+    public IPage<SysUser> getUserByDepIds(Page<SysUser> page, List<String> departIds, String username) {
+        return userMapper.getUserByDepIds(page, departIds, username);
+    }
 
-	@Override
-	public Map<String, String> getDepNamesByUserIds(List<String> userIds) {
-		List<SysUserDepVo> list = this.baseMapper.getDepNamesByUserIds(userIds);
+    @Override
+    public Map<String, String> getDepNamesByUserIds(List<String> userIds) {
+        List<SysUserDepVo> list = this.baseMapper.getDepNamesByUserIds(userIds);
 
-		Map<String, String> res = new HashMap(5);
-		list.forEach(item -> {
-					if (res.get(item.getUserId()) == null) {
-						res.put(item.getUserId(), item.getDepartName());
-					} else {
-						res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getDepartName());
-					}
-				}
-		);
-		return res;
-	}
+        Map<String, String> res = new HashMap(5);
+        list.forEach(item -> {
+                    if (res.get(item.getUserId()) == null) {
+                        res.put(item.getUserId(), item.getDepartName());
+                    } else {
+                        res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getDepartName());
+                    }
+                }
+        );
+        return res;
+    }
 
-	//update-begin-author:taoyan date:2022-9-13 for: VUEN-2245銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906 ----sql娉ㄥ叆  鏂规硶娌℃湁浣跨敤锛屾敞鎺�
+    //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906 ----sql娉ㄥ叆  鏂规硶娌℃湁浣跨敤锛屾敞鎺�
 /*	@Override
 	public IPage<SysUser> getUserByDepartIdAndQueryWrapper(Page<SysUser> page, String departId, QueryWrapper<SysUser> queryWrapper) {
 		LambdaQueryWrapper<SysUser> lambdaQueryWrapper = queryWrapper.lambda();
@@ -337,211 +345,214 @@
 
         return userMapper.selectPage(page, lambdaQueryWrapper);
 	}*/
-	//update-end-author:taoyan date:2022-9-13 for: VUEN-2245銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906 ----sql娉ㄥ叆 鏂规硶娌℃湁浣跨敤锛屾敞鎺�
+    //update-end-author:taoyan date:2022-9-13 for: VUEN-2245銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906 ----sql娉ㄥ叆 鏂规硶娌℃湁浣跨敤锛屾敞鎺�
 
-	@Override
-	public IPage<SysUserSysDepartModel> queryUserByOrgCode(String orgCode, SysUser userParams, IPage page) {
-		List<SysUserSysDepartModel> list = baseMapper.getUserByOrgCode(page, orgCode, userParams);
-		Integer total = baseMapper.getUserByOrgCodeTotal(orgCode, userParams);
+    @Override
+    public IPage<SysUserSysDepartModel> queryUserByOrgCode(String orgCode, SysUser userParams, IPage page) {
+        List<SysUserSysDepartModel> list = baseMapper.getUserByOrgCode(page, orgCode, userParams);
+        Integer total = baseMapper.getUserByOrgCodeTotal(orgCode, userParams);
 
-		IPage<SysUserSysDepartModel> result = new Page<>(page.getCurrent(), page.getSize(), total);
-		result.setRecords(list);
+        IPage<SysUserSysDepartModel> result = new Page<>(page.getCurrent(), page.getSize(), total);
+        result.setRecords(list);
 
-		return result;
-	}
+        return result;
+    }
 
     /**
      * 鏍规嵁瑙掕壊Id鏌ヨ
+     *
      * @param page
-     * @param roleId 瑙掕壊id
+     * @param roleId   瑙掕壊id
      * @param username 鐢ㄦ埛璐︽埛鍚嶇О
      * @return
      */
-	@Override
-	public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username) {
-		return userMapper.getUserByRoleId(page,roleId,username);
-	}
+    @Override
+    public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username) {
+        return userMapper.getUserByRoleId(page, roleId, username);
+    }
 
-	/**
-	 * 鏍规嵁璁惧杞﹂棿绠$悊Id鏌ヨ
-	 * @param page
-	 * @param baseFactoryId 璁惧杞﹂棿绠$悊Id
-	 * @return
-	 */
-	public IPage<SysUser> getUserByworkShopDepartId(Page<SysUser> page,String baseFactoryId,String username){
-		return userMapper.getUserByWorkShopDepartId(page,baseFactoryId,username);
-	}
+    /**
+     * 鏍规嵁璁惧杞﹂棿绠$悊Id鏌ヨ
+     *
+     * @param page
+     * @param baseFactoryId 璁惧杞﹂棿绠$悊Id
+     * @return
+     */
+    public IPage<SysUser> getUserByworkShopDepartId(Page<SysUser> page, String baseFactoryId, String username) {
+        return userMapper.getUserByWorkShopDepartId(page, baseFactoryId, username);
+    }
 
 
-	@Override
-	@CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, key="#username")
-	public void updateUserDepart(String username,String orgCode) {
-		baseMapper.updateUserDepart(username, orgCode);
-	}
+    @Override
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, key = "#username")
+    public void updateUserDepart(String username, String orgCode) {
+        baseMapper.updateUserDepart(username, orgCode);
+    }
 
 
-	@Override
-	public SysUser getUserByPhone(String phone) {
-		return userMapper.getUserByPhone(phone);
-	}
+    @Override
+    public SysUser getUserByPhone(String phone) {
+        return userMapper.getUserByPhone(phone);
+    }
 
 
-	@Override
-	public SysUser getUserByEmail(String email) {
-		return userMapper.getUserByEmail(email);
-	}
+    @Override
+    public SysUser getUserByEmail(String email) {
+        return userMapper.getUserByEmail(email);
+    }
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public void addUserWithDepart(SysUser user, String selectedParts) {
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void addUserWithDepart(SysUser user, String selectedParts) {
 //		this.save(user);  //淇濆瓨瑙掕壊鐨勬椂鍊欏凡缁忔坊鍔犺繃涓�娆′簡
-		if(oConvertUtils.isNotEmpty(selectedParts)) {
-			String[] arr = selectedParts.split(",");
-			for (String deaprtId : arr) {
-				SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId);
-				sysUserDepartMapper.insert(userDeaprt);
-			}
-		}
-	}
+        if (oConvertUtils.isNotEmpty(selectedParts)) {
+            String[] arr = selectedParts.split(",");
+            for (String deaprtId : arr) {
+                SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId);
+                sysUserDepartMapper.insert(userDeaprt);
+            }
+        }
+    }
 
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	public void editUserWithDepart(SysUser user, String departs) {
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
+    public void editUserWithDepart(SysUser user, String departs) {
         //鏇存柊瑙掕壊鐨勬椂鍊欏凡缁忔洿鏂颁簡涓�娆′簡锛屽彲浠ュ啀璺熸柊涓�娆�
-		this.updateById(user);
-		String[] arr = {};
-		if(oConvertUtils.isNotEmpty(departs)){
-			arr = departs.split(",");
-		}
-		//鏌ヨ宸插叧鑱旈儴闂�
-		List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
-		if(userDepartList != null && userDepartList.size()>0){
-			for(SysUserDepart depart : userDepartList ){
-				//淇敼宸插叧鑱旈儴闂ㄥ垹闄ら儴闂ㄧ敤鎴疯鑹插叧绯�
-				if(!Arrays.asList(arr).contains(depart.getDepId())){
-					List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList(
-							new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId,depart.getDepId()));
-					List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList());
-					if(roleIds != null && roleIds.size()>0){
-						departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId())
-								.in(SysDepartRoleUser::getDroleId,roleIds));
-					}
-				}
-			}
-		}
-		//鍏堝垹鍚庡姞
-		sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
-		if(oConvertUtils.isNotEmpty(departs)) {
-			for (String departId : arr) {
-				SysUserDepart userDepart = new SysUserDepart(user.getId(), departId);
-				sysUserDepartMapper.insert(userDepart);
-			}
-		}
-	}
+        this.updateById(user);
+        String[] arr = {};
+        if (oConvertUtils.isNotEmpty(departs)) {
+            arr = departs.split(",");
+        }
+        //鏌ヨ宸插叧鑱旈儴闂�
+        List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
+        if (userDepartList != null && userDepartList.size() > 0) {
+            for (SysUserDepart depart : userDepartList) {
+                //淇敼宸插叧鑱旈儴闂ㄥ垹闄ら儴闂ㄧ敤鎴疯鑹插叧绯�
+                if (!Arrays.asList(arr).contains(depart.getDepId())) {
+                    List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList(
+                            new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId, depart.getDepId()));
+                    List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList());
+                    if (roleIds != null && roleIds.size() > 0) {
+                        departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId())
+                                .in(SysDepartRoleUser::getDroleId, roleIds));
+                    }
+                }
+            }
+        }
+        //鍏堝垹鍚庡姞
+        sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
+        if (oConvertUtils.isNotEmpty(departs)) {
+            for (String departId : arr) {
+                SysUserDepart userDepart = new SysUserDepart(user.getId(), departId);
+                sysUserDepartMapper.insert(userDepart);
+            }
+        }
+    }
 
 
-	/**
-	   * 鏍¢獙鐢ㄦ埛鏄惁鏈夋晥
-	 * @param sysUser
-	 * @return
-	 */
-	@Override
-	public Result<?> checkUserIsEffective(SysUser sysUser) {
-		Result<?> result = new Result<Object>();
-		//鎯呭喌1锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴蜂笉瀛樺湪
-		if (sysUser == null) {
-			result.error500("璇ョ敤鎴蜂笉瀛樺湪锛岃娉ㄥ唽");
-			baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴蜂笉瀛樺湪锛�", CommonConstant.LOG_TYPE_1, null);
-			return result;
-		}
-		//鎯呭喌2锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰凡娉ㄩ攢
-		//update-begin---author:鐜嬪竻   Date:20200601  for锛歩f鏉′欢姘歌繙涓篺alsebug------------
-		if (CommonConstant.DEL_FLAG_1.equals(sysUser.getDelFlag())) {
-		//update-end---author:鐜嬪竻   Date:20200601  for锛歩f鏉′欢姘歌繙涓篺alsebug------------
-			baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "宸叉敞閿�锛�", CommonConstant.LOG_TYPE_1, null);
-			result.error500("璇ョ敤鎴峰凡娉ㄩ攢");
-			return result;
-		}
-		//鎯呭喌3锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰凡鍐荤粨
-		if (CommonConstant.USER_FREEZE.equals(sysUser.getStatus())) {
-			baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "宸插喕缁擄紒", CommonConstant.LOG_TYPE_1, null);
-			result.error500("璇ョ敤鎴峰凡鍐荤粨");
-			return result;
-		}
-		//鎯呭喌4锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰瘑鐮佺郴棣栨浣跨敤锛岄渶淇敼瀵嗙爜
-		List<DictModel> dictList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_USER_FIRST_LOGIN);
-		if (dictList != null && !dictList.isEmpty()) {
-			if (CommonConstant.DEL_FLAG_1.equals(Integer.valueOf(dictList.get(0).getValue())) && CommonConstant.DEL_FLAG_1.equals(sysUser.getPasswordFlag())) {
-				baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "绯婚娆$櫥褰曠郴缁燂紝璇烽噸缃瘑鐮侊紒", CommonConstant.LOG_TYPE_1, null);
-				result.setCode(5001);
-				result.setMessage("鐢ㄦ埛瀵嗙爜绯婚粯璁ゅ瘑鐮侊紝闇�閲嶇疆瀵嗙爜鍚庨噸鏂扮櫥褰曞瘑鐮侊紒");
-				result.setSuccess(false);
-				return result;
-			}
-		}
-		//鎯呭喌5锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰瘑鐮佹槸鍚﹀凡杩囨洿鏀瑰懆鏈�
-		Date passwordTime = sysUser.getPasswordTime();
-		//Integer passwordExpirationPeriod = CommonConstant.PASSWORD_EXPIRATION_PERIOD;
-		List<DictModel> dictModelList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_PASSWORD_EXPIRATION);
-		if (dictModelList != null && !dictModelList.isEmpty()) {
-			Integer passwordExpirationPeriod = Integer.valueOf(dictModelList.get(0).getValue());
-			Date dayAfter = DateUtils.getDayAfter(passwordTime, passwordExpirationPeriod);
-			if (new Date().after(dayAfter)) {
-				baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "瀵嗙爜宸茶繃鏈夋晥鏈燂紝璇烽噸缃瘑鐮侊紒", CommonConstant.LOG_TYPE_1, null);
-				result.setCode(5002);
-				result.setMessage("鐢ㄦ埛瀵嗙爜宸茶繃鏈夋晥鏈燂紝璇烽噸缃瘑鐮侊紒");
-				result.setSuccess(false);
-				return result;
-			}
-		}
-		return result;
-	}
+    /**
+     * 鏍¢獙鐢ㄦ埛鏄惁鏈夋晥
+     *
+     * @param sysUser
+     * @return
+     */
+    @Override
+    public Result<?> checkUserIsEffective(SysUser sysUser) {
+        Result<?> result = new Result<Object>();
+        //鎯呭喌1锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴蜂笉瀛樺湪
+        if (sysUser == null) {
+            result.error500("璇ョ敤鎴蜂笉瀛樺湪锛岃娉ㄥ唽");
+            baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴蜂笉瀛樺湪锛�", CommonConstant.LOG_TYPE_1, null);
+            return result;
+        }
+        //鎯呭喌2锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰凡娉ㄩ攢
+        //update-begin---author:鐜嬪竻   Date:20200601  for锛歩f鏉′欢姘歌繙涓篺alsebug------------
+        if (CommonConstant.DEL_FLAG_1.equals(sysUser.getDelFlag())) {
+            //update-end---author:鐜嬪竻   Date:20200601  for锛歩f鏉′欢姘歌繙涓篺alsebug------------
+            baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "宸叉敞閿�锛�", CommonConstant.LOG_TYPE_1, null);
+            result.error500("璇ョ敤鎴峰凡娉ㄩ攢");
+            return result;
+        }
+        //鎯呭喌3锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰凡鍐荤粨
+        if (CommonConstant.USER_FREEZE.equals(sysUser.getStatus())) {
+            baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "宸插喕缁擄紒", CommonConstant.LOG_TYPE_1, null);
+            result.error500("璇ョ敤鎴峰凡鍐荤粨");
+            return result;
+        }
+        //鎯呭喌4锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰瘑鐮佺郴棣栨浣跨敤锛岄渶淇敼瀵嗙爜
+        List<DictModel> dictList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_USER_FIRST_LOGIN);
+        if (dictList != null && !dictList.isEmpty()) {
+            if (CommonConstant.DEL_FLAG_1.equals(Integer.valueOf(dictList.get(0).getValue())) && CommonConstant.DEL_FLAG_1.equals(sysUser.getPasswordFlag())) {
+                baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "绯婚娆$櫥褰曠郴缁燂紝璇烽噸缃瘑鐮侊紒", CommonConstant.LOG_TYPE_1, null);
+                result.setCode(5001);
+                result.setMessage("鐢ㄦ埛瀵嗙爜绯婚粯璁ゅ瘑鐮侊紝闇�閲嶇疆瀵嗙爜鍚庨噸鏂扮櫥褰曞瘑鐮侊紒");
+                result.setSuccess(false);
+                return result;
+            }
+        }
+        //鎯呭喌5锛氭牴鎹敤鎴蜂俊鎭煡璇紝璇ョ敤鎴峰瘑鐮佹槸鍚﹀凡杩囨洿鏀瑰懆鏈�
+        Date passwordTime = sysUser.getPasswordTime();
+        //Integer passwordExpirationPeriod = CommonConstant.PASSWORD_EXPIRATION_PERIOD;
+        List<DictModel> dictModelList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_PASSWORD_EXPIRATION);
+        if (dictModelList != null && !dictModelList.isEmpty()) {
+            Integer passwordExpirationPeriod = Integer.valueOf(dictModelList.get(0).getValue());
+            Date dayAfter = DateUtils.getDayAfter(passwordTime, passwordExpirationPeriod);
+            if (new Date().after(dayAfter)) {
+                baseCommonService.addLog("鐢ㄦ埛鐧诲綍澶辫触锛岀敤鎴峰悕:" + sysUser.getUsername() + "瀵嗙爜宸茶繃鏈夋晥鏈燂紝璇烽噸缃瘑鐮侊紒", CommonConstant.LOG_TYPE_1, null);
+                result.setCode(5002);
+                result.setMessage("鐢ㄦ埛瀵嗙爜宸茶繃鏈夋晥鏈燂紝璇烽噸缃瘑鐮侊紒");
+                result.setSuccess(false);
+                return result;
+            }
+        }
+        return result;
+    }
 
-	@Override
-	public List<SysUser> queryLogicDeleted() {
-		return this.queryLogicDeleted(null);
-	}
+    @Override
+    public List<SysUser> queryLogicDeleted() {
+        return this.queryLogicDeleted(null);
+    }
 
-	@Override
-	public List<SysUser> queryLogicDeleted(LambdaQueryWrapper<SysUser> wrapper) {
-		if (wrapper == null) {
-			wrapper = new LambdaQueryWrapper<>();
-		}
-		wrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_1);
-		return userMapper.selectLogicDeleted(wrapper);
-	}
+    @Override
+    public List<SysUser> queryLogicDeleted(LambdaQueryWrapper<SysUser> wrapper) {
+        if (wrapper == null) {
+            wrapper = new LambdaQueryWrapper<>();
+        }
+        wrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_1);
+        return userMapper.selectLogicDeleted(wrapper);
+    }
 
-	@Override
-	@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	public boolean revertLogicDeleted(List<String> userIds, SysUser updateEntity) {
-		return userMapper.revertLogicDeleted(userIds, updateEntity) > 0;
-	}
+    @Override
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
+    public boolean revertLogicDeleted(List<String> userIds, SysUser updateEntity) {
+        return userMapper.revertLogicDeleted(userIds, updateEntity) > 0;
+    }
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public boolean removeLogicDeleted(List<String> userIds) {
-		// 1. 鍒犻櫎鐢ㄦ埛
-		int line = userMapper.deleteLogicDeleted(userIds);
-		// 2. 鍒犻櫎鐢ㄦ埛閮ㄩ棬鍏崇郴
-		line += sysUserDepartMapper.delete(new LambdaQueryWrapper<SysUserDepart>().in(SysUserDepart::getUserId, userIds));
-		// 3. 鍒犻櫎鐢ㄦ埛浜х嚎鍏崇郴
-		line += mdcUserProductionMapper.delete(new LambdaQueryWrapper<MdcUserProduction>().in(MdcUserProduction::getUserId, userIds));
-		//3. 鍒犻櫎鐢ㄦ埛瑙掕壊鍏崇郴
-		line += sysUserRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getUserId, userIds));
-		//4.鍚屾鍒犻櫎绗笁鏂笰pp鐨勭敤鎴�
-		try {
-			dingtalkService.removeThirdAppUser(userIds);
-			wechatEnterpriseService.removeThirdAppUser(userIds);
-		} catch (Exception e) {
-			log.error("鍚屾鍒犻櫎绗笁鏂笰pp鐨勭敤鎴峰け璐ワ細", e);
-		}
-		//5. 鍒犻櫎绗笁鏂圭敤鎴疯〃锛堝洜涓虹4姝ラ渶瑕佺敤鍒扮涓夋柟鐢ㄦ埛琛紝鎵�浠ュ湪浠栦箣鍚庡垹锛�
-		line += sysThirdAccountMapper.delete(new LambdaQueryWrapper<SysThirdAccount>().in(SysThirdAccount::getSysUserId, userIds));
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean removeLogicDeleted(List<String> userIds) {
+        // 1. 鍒犻櫎鐢ㄦ埛
+        int line = userMapper.deleteLogicDeleted(userIds);
+        // 2. 鍒犻櫎鐢ㄦ埛閮ㄩ棬鍏崇郴
+        line += sysUserDepartMapper.delete(new LambdaQueryWrapper<SysUserDepart>().in(SysUserDepart::getUserId, userIds));
+        // 3. 鍒犻櫎鐢ㄦ埛浜х嚎鍏崇郴
+        line += mdcUserProductionMapper.delete(new LambdaQueryWrapper<MdcUserProduction>().in(MdcUserProduction::getUserId, userIds));
+        //3. 鍒犻櫎鐢ㄦ埛瑙掕壊鍏崇郴
+        line += sysUserRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getUserId, userIds));
+        //4.鍚屾鍒犻櫎绗笁鏂笰pp鐨勭敤鎴�
+        try {
+            dingtalkService.removeThirdAppUser(userIds);
+            wechatEnterpriseService.removeThirdAppUser(userIds);
+        } catch (Exception e) {
+            log.error("鍚屾鍒犻櫎绗笁鏂笰pp鐨勭敤鎴峰け璐ワ細", e);
+        }
+        //5. 鍒犻櫎绗笁鏂圭敤鎴疯〃锛堝洜涓虹4姝ラ渶瑕佺敤鍒扮涓夋柟鐢ㄦ埛琛紝鎵�浠ュ湪浠栦箣鍚庡垹锛�
+        line += sysThirdAccountMapper.delete(new LambdaQueryWrapper<SysThirdAccount>().in(SysThirdAccount::getSysUserId, userIds));
 
-		return line != 0;
-	}
+        return line != 0;
+    }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -551,280 +562,264 @@
         return true;
     }
 
-	@Override
-	public void saveThirdUser(SysUser sysUser) {
-		//淇濆瓨鐢ㄦ埛
-		String userid = UUIDGenerator.generate();
-		sysUser.setId(userid);
-		baseMapper.insert(sysUser);
-		//鑾峰彇绗笁鏂硅鑹�
-		SysRole sysRole = sysRoleMapper.selectOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleCode, "third_role"));
-		//淇濆瓨鐢ㄦ埛瑙掕壊
-		SysUserRole userRole = new SysUserRole();
-		userRole.setRoleId(sysRole.getId());
-		userRole.setUserId(userid);
-		sysUserRoleMapper.insert(userRole);
-	}
+    @Override
+    public void saveThirdUser(SysUser sysUser) {
+        //淇濆瓨鐢ㄦ埛
+        String userid = UUIDGenerator.generate();
+        sysUser.setId(userid);
+        baseMapper.insert(sysUser);
+        //鑾峰彇绗笁鏂硅鑹�
+        SysRole sysRole = sysRoleMapper.selectOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleCode, "third_role"));
+        //淇濆瓨鐢ㄦ埛瑙掕壊
+        SysUserRole userRole = new SysUserRole();
+        userRole.setRoleId(sysRole.getId());
+        userRole.setUserId(userid);
+        sysUserRoleMapper.insert(userRole);
+    }
 
-	@Override
-	public List<SysUser> queryByDepIds(List<String> departIds, String username) {
-		return userMapper.queryByDepIds(departIds,username);
-	}
+    @Override
+    public List<SysUser> queryByDepIds(List<String> departIds, String username) {
+        return userMapper.queryByDepIds(departIds, username);
+    }
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions, String selectedRepairDeparts) {
-		//step.1 淇濆瓨鐢ㄦ埛
-		this.save(user);
-		//step.2 淇濆瓨瑙掕壊
-		if(oConvertUtils.isNotEmpty(selectedRoles)) {
-			String[] arr = selectedRoles.split(",");
-			for (String roleId : arr) {
-				SysUserRole userRole = new SysUserRole(user.getId(), roleId);
-				sysUserRoleMapper.insert(userRole);
-			}
-		}
-		//step.3 淇濆瓨鎵�灞為儴闂�
-		if(oConvertUtils.isNotEmpty(selectedDeparts)) {
-			String[] arr = selectedDeparts.split(",");
-			for (String deaprtId : arr) {
-				SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId);
-				sysUserDepartMapper.insert(userDeaprt);
-			}
-		}
-		//step.4 淇濆瓨鎵�灞炰骇绾�
-		if (oConvertUtils.isNotEmpty(selectedProductions)) {
-			String[] arr = selectedProductions.split(",");
-			for (String productionId : arr) {
-				MdcUserProduction mdcUserProduction = new MdcUserProduction(user.getId(), productionId);
-				mdcUserProductionMapper.insert(mdcUserProduction);
-			}
-		}
-		//step.5 淇濆瓨鎵�灞炵淮淇儴闂�
-		if (oConvertUtils.isNotEmpty(selectedRepairDeparts)) {
-			String[] arr = selectedRepairDeparts.split(",");
-			for (String repairDepartId : arr) {
-				EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId);
-				eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser);
-			}
-		}
-	}
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions, String selectedRepairDeparts) {
+        //step.1 淇濆瓨鐢ㄦ埛
+        this.save(user);
+        //step.2 淇濆瓨瑙掕壊
+        if (oConvertUtils.isNotEmpty(selectedRoles)) {
+            String[] arr = selectedRoles.split(",");
+            for (String roleId : arr) {
+                SysUserRole userRole = new SysUserRole(user.getId(), roleId);
+                sysUserRoleMapper.insert(userRole);
+            }
+        }
+        //step.3 淇濆瓨鎵�灞為儴闂�
+        if (oConvertUtils.isNotEmpty(selectedDeparts)) {
+            String[] arr = selectedDeparts.split(",");
+            for (String deaprtId : arr) {
+                SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId);
+                sysUserDepartMapper.insert(userDeaprt);
+            }
+        }
+        //step.4 淇濆瓨鎵�灞炰骇绾�
+        if (oConvertUtils.isNotEmpty(selectedProductions)) {
+            String[] arr = selectedProductions.split(",");
+            for (String productionId : arr) {
+                MdcUserProduction mdcUserProduction = new MdcUserProduction(user.getId(), productionId);
+                mdcUserProductionMapper.insert(mdcUserProduction);
+            }
+        }
+        //step.5 淇濆瓨鎵�灞炵淮淇儴闂�
+        if (oConvertUtils.isNotEmpty(selectedRepairDeparts)) {
+            String[] arr = selectedRepairDeparts.split(",");
+            for (String repairDepartId : arr) {
+                EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId);
+                eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser);
+            }
+        }
+    }
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	public void editUser(SysUser user, String roles, String departs, String productions, String repairDeparts) {
-		//step.1 淇敼鐢ㄦ埛鍩虹淇℃伅
-		this.updateById(user);
-		//step.2 淇敼瑙掕壊
-		//澶勭悊鐢ㄦ埛瑙掕壊 鍏堝垹鍚庡姞
-		sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId()));
-		if(oConvertUtils.isNotEmpty(roles)) {
-			String[] arr = roles.split(",");
-			for (String roleId : arr) {
-				SysUserRole userRole = new SysUserRole(user.getId(), roleId);
-				sysUserRoleMapper.insert(userRole);
-			}
-		}
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
+    public void editUser(SysUser user, String roles, String departs, String productions, String repairDeparts) {
+        //step.1 淇敼鐢ㄦ埛鍩虹淇℃伅
+        this.updateById(user);
+        //step.2 淇敼瑙掕壊
+        //澶勭悊鐢ㄦ埛瑙掕壊 鍏堝垹鍚庡姞
+        sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId()));
+        if (oConvertUtils.isNotEmpty(roles)) {
+            String[] arr = roles.split(",");
+            for (String roleId : arr) {
+                SysUserRole userRole = new SysUserRole(user.getId(), roleId);
+                sysUserRoleMapper.insert(userRole);
+            }
+        }
 
-		//step.3 淇敼閮ㄩ棬
-		String[] arr = {};
-		if(oConvertUtils.isNotEmpty(departs)){
-			arr = departs.split(",");
-		}
-		//鏌ヨ宸插叧鑱旈儴闂�
-		List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
-		if(userDepartList != null && userDepartList.size()>0){
-			for(SysUserDepart depart : userDepartList ){
-				//淇敼宸插叧鑱旈儴闂ㄥ垹闄ら儴闂ㄧ敤鎴疯鑹插叧绯�
-				if(!Arrays.asList(arr).contains(depart.getDepId())){
-					List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList(
-							new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId,depart.getDepId()));
-					List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList());
-					if(roleIds != null && roleIds.size()>0){
-						departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId())
-								.in(SysDepartRoleUser::getDroleId,roleIds));
-					}
-				}
-			}
-		}
-		//鍏堝垹鍚庡姞
-		sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
-		if(oConvertUtils.isNotEmpty(departs)) {
-			for (String departId : arr) {
-				SysUserDepart userDepart = new SysUserDepart(user.getId(), departId);
-				sysUserDepartMapper.insert(userDepart);
-			}
-		}
-		//step.4 淇敼浜х嚎
-		String[] array = {};
-		if(oConvertUtils.isNotEmpty(productions)){
-			array = productions.split(",");
-		}
-		//鍏堝垹鍚庡姞
-		mdcUserProductionMapper.delete(new QueryWrapper<MdcUserProduction>().lambda().eq(MdcUserProduction::getUserId, user.getId()));
-		if (oConvertUtils.isNotEmpty(productions)) {
-			for (String productionId : array) {
-				MdcUserProduction mdcUserProduction = new MdcUserProduction(user.getId(), productionId);
-				mdcUserProductionMapper.insert(mdcUserProduction);
-			}
-		}
-		//step.5 淇敼缁翠慨閮ㄩ棬
-		String[] arrayRepDep = {};
-		if(oConvertUtils.isNotEmpty(repairDeparts)){
-			arrayRepDep = repairDeparts.split(",");
-		}
-		//鍏堝垹鍚庡姞
-		eamBaseRepairDepartUserMapper.delete(new QueryWrapper<EamBaseRepairDepartUser>().lambda().eq(EamBaseRepairDepartUser::getUserId, user.getId()));
-		if (oConvertUtils.isNotEmpty(repairDeparts)) {
-			for (String repairDepartId : arrayRepDep) {
-				EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId);
-				eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser);
-			}
-		}
-		//step.5 淇敼鎵嬫満鍙峰拰閭
-		// 鏇存柊鎵嬫満鍙枫�侀偖绠辩┖瀛楃涓蹭负 null
-		userMapper.updateNullByEmptyString("email");
-		userMapper.updateNullByEmptyString("phone");
+        //step.3 淇敼閮ㄩ棬
+        String[] arr = {};
+        if (oConvertUtils.isNotEmpty(departs)) {
+            arr = departs.split(",");
+        }
+        //鏌ヨ宸插叧鑱旈儴闂�
+        List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
+        if (userDepartList != null && userDepartList.size() > 0) {
+            for (SysUserDepart depart : userDepartList) {
+                //淇敼宸插叧鑱旈儴闂ㄥ垹闄ら儴闂ㄧ敤鎴疯鑹插叧绯�
+                if (!Arrays.asList(arr).contains(depart.getDepId())) {
+                    List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList(
+                            new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId, depart.getDepId()));
+                    List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList());
+                    if (roleIds != null && roleIds.size() > 0) {
+                        departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId())
+                                .in(SysDepartRoleUser::getDroleId, roleIds));
+                    }
+                }
+            }
+        }
+        //鍏堝垹鍚庡姞
+        sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
+        if (oConvertUtils.isNotEmpty(departs)) {
+            for (String departId : arr) {
+                SysUserDepart userDepart = new SysUserDepart(user.getId(), departId);
+                sysUserDepartMapper.insert(userDepart);
+            }
+        }
+        //step.4 淇敼浜х嚎
+        String[] array = {};
+        if (oConvertUtils.isNotEmpty(productions)) {
+            array = productions.split(",");
+        }
+        //鍏堝垹鍚庡姞
+        mdcUserProductionMapper.delete(new QueryWrapper<MdcUserProduction>().lambda().eq(MdcUserProduction::getUserId, user.getId()));
+        if (oConvertUtils.isNotEmpty(productions)) {
+            for (String productionId : array) {
+                MdcUserProduction mdcUserProduction = new MdcUserProduction(user.getId(), productionId);
+                mdcUserProductionMapper.insert(mdcUserProduction);
+            }
+        }
+        //step.5 淇敼缁翠慨閮ㄩ棬
+        String[] arrayRepDep = {};
+        if (oConvertUtils.isNotEmpty(repairDeparts)) {
+            arrayRepDep = repairDeparts.split(",");
+        }
+        //鍏堝垹鍚庡姞
+        eamBaseRepairDepartUserMapper.delete(new QueryWrapper<EamBaseRepairDepartUser>().lambda().eq(EamBaseRepairDepartUser::getUserId, user.getId()));
+        if (oConvertUtils.isNotEmpty(repairDeparts)) {
+            for (String repairDepartId : arrayRepDep) {
+                EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId);
+                eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser);
+            }
+        }
+        //step.5 淇敼鎵嬫満鍙峰拰閭
+        // 鏇存柊鎵嬫満鍙枫�侀偖绠辩┖瀛楃涓蹭负 null
+        userMapper.updateNullByEmptyString("email");
+        userMapper.updateNullByEmptyString("phone");
 
-	}
+    }
 
-	@Override
-	public List<String> userIdToUsername(Collection<String> userIdList) {
-		LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.in(SysUser::getId, userIdList);
-		List<SysUser> userList = super.list(queryWrapper);
-		return userList.stream().map(SysUser::getUsername).collect(Collectors.toList());
-	}
+    @Override
+    public List<String> userIdToUsername(Collection<String> userIdList) {
+        LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(SysUser::getId, userIdList);
+        List<SysUser> userList = super.list(queryWrapper);
+        return userList.stream().map(SysUser::getUsername).collect(Collectors.toList());
+    }
 
-	@Override
-	@Cacheable(cacheNames=CacheConstant.SYS_USERS_CACHE, key="#username")
-	@SensitiveEncode
-	public LoginUser getEncodeUserInfo(String username){
-		if(oConvertUtils.isEmpty(username)) {
-			return null;
-		}
-		LoginUser loginUser = new LoginUser();
-		SysUser sysUser = userMapper.getUserByName(username);
-		if(sysUser==null) {
-			return null;
-		}
-		BeanUtils.copyProperties(sysUser, loginUser);
-		return loginUser;
-	}
+    @Override
+    @Cacheable(cacheNames = CacheConstant.SYS_USERS_CACHE, key = "#username")
+    @SensitiveEncode
+    public LoginUser getEncodeUserInfo(String username) {
+        if (oConvertUtils.isEmpty(username)) {
+            return null;
+        }
+        LoginUser loginUser = new LoginUser();
+        SysUser sysUser = userMapper.getUserByName(username);
+        if (sysUser == null) {
+            return null;
+        }
+        BeanUtils.copyProperties(sysUser, loginUser);
+        return loginUser;
+    }
 
-	@Override
-	public Map<String, String> getProNamesByUserIds(List<String> userIds) {
-		List<MdcUserProVo> list = this.baseMapper.getProNamesByUserIds(userIds);
+    @Override
+    public Map<String, String> getProNamesByUserIds(List<String> userIds) {
+        List<MdcUserProVo> list = this.baseMapper.getProNamesByUserIds(userIds);
 
-		Map<String, String> res = new HashMap<>(5);
-		list.forEach(item -> {
-			if (res.get(item.getUserId()) == null) {
-				res.put(item.getUserId(), item.getProductionName());
-			} else {
-				res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getProductionName());
-			}
-		});
-		return res;
-	}
+        Map<String, String> res = new HashMap<>(5);
+        list.forEach(item -> {
+            if (res.get(item.getUserId()) == null) {
+                res.put(item.getUserId(), item.getProductionName());
+            } else {
+                res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getProductionName());
+            }
+        });
+        return res;
+    }
 
-	@Override
-	public Map<String, String> getRepDepNamesByUserIds(List<String> userIds) {
-		List<EamUserRepDepVo> list = this.baseMapper.getRepDepNamesByUserIds(userIds);
+    @Override
+    public Map<String, String> getRepDepNamesByUserIds(List<String> userIds) {
+        List<EamUserRepDepVo> list = this.baseMapper.getRepDepNamesByUserIds(userIds);
 
-		Map<String, String> res = new HashMap<>(5);
-		list.forEach(item -> {
-			if (res.get(item.getUserId()) == null) {
-				res.put(item.getUserId(), item.getRepairDepartName());
-			} else {
-				res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getRepairDepartName());
-			}
-		});
-		return res;
-	}
+        Map<String, String> res = new HashMap<>(5);
+        list.forEach(item -> {
+            if (res.get(item.getUserId()) == null) {
+                res.put(item.getUserId(), item.getRepairDepartName());
+            } else {
+                res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getRepairDepartName());
+            }
+        });
+        return res;
+    }
 
-	// 鏍规嵁瑙掕壊Id鏌ヨ璇ヨ鑹蹭笅鐨勬墍鏈夌敤鎴蜂俊鎭�
-	@Override
-	public List<SysUser> getAllUsersByRoleId(String roleId) {
-		return userMapper.getAllUsersByRoleId(roleId);
-	}
+    // 鏍规嵁瑙掕壊Id鏌ヨ璇ヨ鑹蹭笅鐨勬墍鏈夌敤鎴蜂俊鎭�
+    @Override
+    public List<SysUser> getAllUsersByRoleId(String roleId) {
+        return userMapper.getAllUsersByRoleId(roleId);
+    }
 
-	/**
-	 * 鏍规嵁瑙掕壊缂栫爜鏌ヨ鐢ㄦ埛id闆嗗悎
-	 */
-	@Override
-	public List<String> getUserByRoleCode(String roleCode) {
-		return this.baseMapper.getUserByRoleCode(roleCode);
-	}
+    /**
+     * 鏍规嵁瑙掕壊缂栫爜鏌ヨ鐢ㄦ埛id闆嗗悎
+     */
+    @Override
+    public List<String> getUserByRoleCode(String roleCode) {
+        return this.baseMapper.getUserByRoleCode(roleCode);
+    }
 
-	/**
-	 * 鏍规嵁瑙掕壊缂栫爜鍒楄〃鏌ヨ鐢ㄦ埛id闆嗗悎
-	 */
-	@Override
-	public List<SysUser> getUserByRoleCodeList(List<String> roleCodeList) {
-		return this.baseMapper.getUserByRoleCodeList(roleCodeList);
-	}
+    /**
+     * 鏍规嵁瑙掕壊缂栫爜鍒楄〃鏌ヨ鐢ㄦ埛id闆嗗悎
+     */
+    @Override
+    public List<SysUser> getUserByRoleCodeList(List<String> roleCodeList) {
+        return this.baseMapper.getUserByRoleCodeList(roleCodeList);
+    }
 
-	/**
-	 * 鏍规嵁瑙掕壊缂栫爜鍜岃澶囩紪鍙锋煡璇㈢敤鎴�
-	 */
-	@Override
-	public List<SysUser> getEquipmentAdmin(String roleCode, String equipmentId) {
-		return this.baseMapper.getEquipmentAdmin(roleCode, equipmentId);
-	}
+    /**
+     * 鏍规嵁瑙掕壊缂栫爜鍜岃澶囩紪鍙锋煡璇㈢敤鎴�
+     */
+    @Override
+    public List<SysUser> getEquipmentAdmin(String roleCode, String equipmentId) {
+        return this.baseMapper.getEquipmentAdmin(roleCode, equipmentId);
+    }
 
-	@Override
-	public List<UserSelector> selectOperatorList(String equipmentCode, String productionId, String positionCode) {
-		LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.eq(SysUser::getPost, positionCode);
-		if(StringUtils.isNotBlank(equipmentCode)) {
-			queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode));
-		}
-		if(StringUtils.isNotBlank(productionId)) {
-			queryWrapper.exists("select 1 from mdc_user_production t where t.user_id=sys_user.id and t.pro_id={0}", productionId);
-		}
-		queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0);
-		queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1);
-		queryWrapper.orderByDesc(SysUser::getId);
-		List<SysUser> sysUsers = userMapper.selectList(queryWrapper);
-		List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList());
-		return collect;
-	}
+    @Override
+    public List<UserSelector> selectOperatorList(String equipmentCode, String factoryOrgCode, String positionCode) {
+        LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SysUser::getPost, positionCode);
+        if (StringUtils.isNotBlank(equipmentCode)) {
+            queryWrapper.and(q -> q.isNull(SysUser::getEamEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEamEquipmentIds, equipmentCode));
+        }
+        if (StringUtils.isNotBlank(factoryOrgCode)) {
+            List<String> factoryIds = factoryService.queryFactoryIdsByOrgCode(factoryOrgCode);
+            if (CollectionUtil.isNotEmpty(factoryIds)) {
+                String factory = String.join(",", factoryIds);
+                String inClause = "(" + factory + ")";
+                queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id in {0}", inClause);
+            } else {
+                return Collections.emptyList();
+            }
+        }
+        queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0);
+        queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1);
+        queryWrapper.orderByDesc(SysUser::getId);
+        List<SysUser> sysUsers = userMapper.selectList(queryWrapper);
+        if (CollectionUtil.isEmpty(sysUsers)) {
+            return Collections.emptyList();
+        }
+        return sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList());
+    }
 
-	/**
-	 * 閫夋嫨鐢ㄦ埛
-	 * @param equipmentCode 閫夋嫨鐨勮澶嘔D
-	 * @param factoryId 閫夋嫨鐨勫伐鍘侷D
-	 * @param positionCode 宀椾綅缂栧彿
-	 * @return
-	 */
-	@Override
-	public List<UserSelector> selectOperatorFactoryList(String equipmentCode, String factoryId, String positionCode){
-		LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.eq(SysUser::getPost, positionCode);
-//		if(StringUtils.isNotBlank(equipmentCode)) {
-//			queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode));
-//		}
-//		if(StringUtils.isNotBlank(factoryId)) {
-//			queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id={0}", factoryId);
-//		}
-		queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0);
-		queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1);
-		queryWrapper.orderByDesc(SysUser::getId);
-		List<SysUser> sysUsers = userMapper.selectList(queryWrapper);
-		List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList());
-		return collect;
-	}
-
-	@Override
-	public List<UserSelector> selectOperatorList(String positionCode) {
-		LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.eq(SysUser::getPost, positionCode);
-		queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0);
-		queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1);
-		queryWrapper.orderByDesc(SysUser::getId);
-		List<SysUser> sysUsers = userMapper.selectList(queryWrapper);
-		List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList());
-		return collect;
-	}
+    @Override
+    public List<UserSelector> selectOperatorList(String positionCode) {
+        LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SysUser::getPost, positionCode);
+        queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0);
+        queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1);
+        queryWrapper.orderByDesc(SysUser::getId);
+        List<SysUser> sysUsers = userMapper.selectList(queryWrapper);
+        List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList());
+        return collect;
+    }
 }

--
Gitblit v1.9.3