From dd0411e2b33635bae66170b4a51612d835a7bfe7 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期五, 11 七月 2025 10:22:16 +0800
Subject: [PATCH] 添加点检HF编码关联

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java |  272 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 154 insertions(+), 118 deletions(-)

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 6ac4eae..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.service.IBaseFactoryService;
-import org.jeecg.modules.system.service.IBaseFactoryUserService;
 import org.jeecg.modules.eam.constant.BusinessCodeConst;
 import org.jeecg.modules.eam.constant.EamMaintenanceStandardDetailCategory;
 import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum;
@@ -38,15 +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.service.ISysBusinessCodeRuleService;
-import org.jeecg.modules.system.service.ISysUserService;
+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;
@@ -65,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;
@@ -97,6 +95,8 @@
     private IEamEquipmentExtendService eamEquipmentExtendService;
     @Autowired
     private ISysBusinessCodeRuleService businessCodeRuleService;
+    @Autowired
+    private ISysParamsService sysParamsService;
 
     // 甯搁噺瀹氫箟
     private static final String REPAIR_TITLE = "缁翠慨浜哄憳淇濆吇鍐呭";
@@ -124,43 +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<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toList());
-                List<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getFactoryCode).collect(Collectors.toList());
+            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());
                 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());
             }
         }
@@ -175,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());
             });
@@ -200,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);
         }
@@ -236,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("缂栬緫鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�");
         }
 
@@ -256,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) {
             }
         }
@@ -265,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);
@@ -286,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);
@@ -295,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);
@@ -303,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);
@@ -333,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());
@@ -368,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);
             }
@@ -382,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())) {
@@ -440,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());
@@ -465,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) {
@@ -481,7 +484,7 @@
                                 this.updateById(eamMaintenanceStandard1);
                             }
                         }
-                    }else {
+                    } else {
                         eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
                     }
                     eamMaintenanceStandard.setTechnicalManager(user.getUsername());
@@ -544,9 +547,10 @@
 
 
     /*瀵煎叆鐐规鏂囦欢Excel--------------------------寮�濮�*/
+
     /**
-        * 鐐规琛ㄥ鍏ュ叆鍙�
-    */
+     * 鐐规琛ㄥ鍏ュ叆鍙�
+     */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result<?> importPointInspectionExcel(MultipartFile file) {
@@ -560,7 +564,7 @@
             EamMaintenanceStandard eamMaintenanceStandard = extractDeviceInfo(sheet);
             if (eamMaintenanceStandard == null) {
                 return Result.error("璁惧淇℃伅鎻愬彇澶辫触");
-            }else {
+            } else {
                 if (eamMaintenanceStandard.getEquipmentId() == null) {
                     return Result.error("璁惧淇℃伅鎻愬彇澶辫触");
                 }
@@ -568,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 + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞");
             }
 
@@ -577,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("鏈壘鍒板懆淇濆吇椤圭洰");
             }
 
@@ -596,6 +600,18 @@
                 eamMaintenanceStandardDetailService.saveBatch(allDetails);
             }
 
+            SysParams sysParams = sysParamsService.getSysPramBySettingKey("maintenance_import_type");
+
+            if (sysParams != null) {
+                if (sysParams.getSettingValue().equals("1")) {
+                    //瑙﹀彂淇濆吇娴佺▼
+                    eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
+                    eamMaintenanceStandardMapper.updateById(eamMaintenanceStandard);
+                }
+            } else {
+                return Result.error("鏈壘鍒颁繚鍏绘祦绋嬪鍏ョ浉鍏抽厤缃�,璇疯仈绯荤鐞嗗憳");
+            }
+
             return Result.OK("鐐规琛ㄥ鍏ユ垚鍔�");
 
         } catch (Exception e) {
@@ -604,8 +620,8 @@
     }
 
     /**
-        * 鎻愬彇鐐规琛ㄦ爣棰�
-    */
+     * 鎻愬彇鐐规琛ㄦ爣棰�
+     */
     private String extractInspectionTitle(MultipartFile file) {
         try (Workbook workbook = WorkbookFactory.create(file.getInputStream())) {
             Sheet sheet = workbook.getSheetAt(0);
@@ -629,7 +645,7 @@
     }
 
     /**
-        * 鎻愬彇鐐规琛ㄤ箣鍓嶇殑鏂囧瓧
+     * 鎻愬彇鐐规琛ㄤ箣鍓嶇殑鏂囧瓧
      */
     private String extractTextBeforeInspection(String title) {
         if (StringUtils.isBlank(title)) {
@@ -641,8 +657,8 @@
     }
 
     /**
-        * 鎻愬彇璁惧淇℃伅
-    */
+     * 鎻愬彇璁惧淇℃伅
+     */
     private EamMaintenanceStandard extractDeviceInfo(Sheet sheet) {
         Row headerRow = sheet.getRow(0);
         if (headerRow == null) {
@@ -677,7 +693,7 @@
             EamEquipment equipments = eamEquipmentService.selectByEquipmentCode(standard.getEquipmentCode());
             if (equipments == null) {
                 return null;
-            }else {
+            } else {
                 standard.setEquipmentId(equipments.getId());
             }
         }
@@ -694,7 +710,7 @@
     }
 
     /**
-        * 瑙f瀽鏃ユ湡瀛楃涓�
+     * 瑙f瀽鏃ユ湡瀛楃涓�
      */
     private Date parseDate(String dateStr) throws ParseException {
         // 灏濊瘯澶氱鏃ユ湡鏍煎紡
@@ -720,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) {
@@ -760,6 +776,7 @@
             // 鍒涘缓椤圭洰璇︽儏
             EamMaintenanceStandardDetail detail = new EamMaintenanceStandardDetail();
             detail.setStandardId(standard.getId());
+            detail.setItemCode(Integer.parseInt(getCellStringValue(row.getCell(0))));
             detail.setItemName(getCellStringValue(row.getCell(1)));
             detail.setItemCategory(itemCategory);
 
@@ -777,7 +794,7 @@
     }
 
     /**
-        * 鏌ユ壘琛ㄦ牸鍖哄煙
+     * 鏌ユ壘琛ㄦ牸鍖哄煙
      */
     private int[] findTableSection(Sheet sheet, String primaryHeader, String secondaryHeader) {
         for (int rowIdx = 0; rowIdx <= sheet.getLastRowNum(); rowIdx++) {
@@ -794,8 +811,8 @@
     }
 
     /**
-        * 妫�鏌ユ槸鍚︿负琛ㄥご琛�
-    */
+     * 妫�鏌ユ槸鍚︿负琛ㄥご琛�
+     */
     private boolean isHeaderRow(Row row, String header1, String header2) {
         boolean foundHeader1 = false;
         boolean foundHeader2 = false;
@@ -813,7 +830,7 @@
     }
 
     /**
-        * 鏌ユ壘鏁版嵁缁撴潫浣嶇疆
+     * 鏌ユ壘鏁版嵁缁撴潫浣嶇疆
      */
     private int findDataEnd(Sheet sheet, int startRow) {
         for (int rowIdx = startRow; rowIdx <= sheet.getLastRowNum(); rowIdx++) {
@@ -834,8 +851,8 @@
     }
 
     /**
-        * 璇嗗埆绛惧瓧琛岀壒寰�
-    */
+     * 璇嗗埆绛惧瓧琛岀壒寰�
+     */
     private boolean isSignatureRow(Row row) {
         for (int colIdx = 0; colIdx < row.getLastCellNum(); colIdx++) {
             Cell cell = row.getCell(colIdx);
@@ -852,7 +869,7 @@
 
     /**
      * 璇嗗埆鏂拌〃澶村紑濮�
-    */
+     */
     private boolean isNewHeaderStart(Row row) {
         for (int colIdx = 0; colIdx < row.getLastCellNum(); colIdx++) {
             Cell cell = row.getCell(colIdx);
@@ -867,8 +884,8 @@
     }
 
     /**
-        * 妫�鏌ヨ鏄惁涓虹┖
-    */
+     * 妫�鏌ヨ鏄惁涓虹┖
+     */
     private boolean isEmptyRow(Row row) {
         if (row == null) return true;
         for (int colIdx = 0; colIdx < row.getLastCellNum(); colIdx++) {
@@ -884,8 +901,8 @@
     }
 
     /**
-        * 浣跨敤姝e垯鎻愬彇瀛楁
-    */
+     * 浣跨敤姝e垯鎻愬彇瀛楁
+     */
     private String extractField(String text, String regex) {
         if (StringUtils.isBlank(text)) return "";
         Pattern pattern = Pattern.compile(regex);
@@ -894,8 +911,8 @@
     }
 
     /**
-        * 鑾峰彇鍗曞厓鏍煎瓧绗︿覆鍊�
-    */
+     * 鑾峰彇鍗曞厓鏍煎瓧绗︿覆鍊�
+     */
     private String getCellStringValue(Cell cell) {
         if (cell == null) return "";
         switch (cell.getCellType()) {
@@ -916,8 +933,8 @@
     }
 
     /**
-        * 澶勭悊鍏紡鍗曞厓鏍�
-    */
+     * 澶勭悊鍏紡鍗曞厓鏍�
+     */
     private String handleFormulaCell(Cell cell) {
         try {
             FormulaEvaluator evaluator = cell.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
@@ -926,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 "";
@@ -941,6 +962,7 @@
 
     /**
      * 缁熶竴淇濆吇瑙勮寖瀵煎叆鍏ュ彛
+     *
      * @param file 涓婁紶鏂囦欢
      * @param type 淇濆吇绫诲瀷 (SECOND/THIRD)
      * @return 瀵煎叆缁撴灉锛堝寘鍚垚鍔�/澶辫触淇℃伅锛�
@@ -958,7 +980,6 @@
 
             List<XWPFTable> tables = doc.getTables();
             EamMaintenanceStandard standard = null;
-            boolean firstTableProcessed = false;
             List<EamMaintenanceStandardDetail> items = new ArrayList<>();
             String standardId = null;
 
@@ -974,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);
@@ -1021,6 +1042,18 @@
             // 4. 淇濆瓨椤圭洰
             eamMaintenanceStandardDetailService.saveBatch(items);
 
+
+            SysParams sysParams = sysParamsService.getSysPramBySettingKey("maintenance_import_type");
+
+            if (sysParams != null) {
+                if (sysParams.getSettingValue().equals("1")) {
+                    standard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
+                    eamMaintenanceStandardMapper.updateById(standard);
+                }
+            } else {
+                return Result.error("鏈壘鍒颁繚鍏绘祦绋嬪鍏ョ浉鍏抽厤缃�,璇疯仈绯荤鐞嗗憳");
+            }
+
             return Result.ok(fileName + ": 瀵煎叆鎴愬姛, 椤圭洰鏁�: " + items.size());
 
         } catch (ImportException e) {
@@ -1032,7 +1065,7 @@
 
     /**
      * 鍚庡鐞嗘柟娉曪細鏍规嵁涓嶅悓绫诲瀷杩涜澶勭悊
-    */
+     */
     private void processItemsAfterExtraction(List<EamMaintenanceStandardDetail> items, String type) {
         if ("SECOND".equals(type)) {
             // 浜岀骇淇濆吇: 鍒犻櫎娌℃湁搴忓彿鐨勬暟鎹�
@@ -1043,18 +1076,21 @@
             if (!items.isEmpty()) {
                 items.remove(0);
             }
-
             // 2. 涓虹己澶遍儴浣嶇殑鏁版嵁濉厖鍓嶄竴鏉$殑淇濆吇閮ㄤ綅
             String lastPart = "";
+            int i = 1;
             for (EamMaintenanceStandardDetail item : items) {
+                item.setItemCode(i);
                 if (item.getItemPart() != null && !item.getItemPart().isEmpty()) {
                     lastPart = item.getItemPart();
                 } else if (!lastPart.isEmpty()) {
                     item.setItemPart(lastPart);
                 }
+                i++;
             }
         }
     }
+
     /**
      * 鎻愬彇浜岀骇淇濆吇椤圭洰锛堝尯鍒嗙涓�椤靛拰鍚庣画椤甸潰锛�
      */
@@ -1093,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) {
@@ -1183,7 +1219,7 @@
             } else if (cellContents.size() == 1) {
                 // 鍗曞垪妯″紡锛氳涓哄唴瀹�
                 item.setItemName(cellContents.get(0));
-            } else if (cellContents.isEmpty() && !isRowEmpty(row)) {
+            } else if (!isRowEmpty(row)) {
                 // 鐗规畩澶勭悊锛氳闈炵┖浣嗘病鏈夋彁鍙栧埌鍐呭锛堝彲鑳芥槸澶嶆潅鍚堝苟鍗曞厓鏍硷級
                 // 灏濊瘯鎻愬彇鏁磋鏂囨湰浣滀负鍐呭
                 StringBuilder content = new StringBuilder();
@@ -1220,7 +1256,7 @@
 
     /**
      * 鏂囨。绫诲瀷鏍¢獙 - 闃叉浜屼繚浼犲叆涓変繚鎴栧弽涔�
-    */
+     */
     private boolean isWrongDocumentType(XWPFTable table, String requestedType) {
         boolean hasRepairTitle = false;
         boolean hasOperatorTitle = false;
@@ -1267,7 +1303,7 @@
     /**
      * 鎻愬彇璁惧鍩烘湰淇℃伅
      */
-    private EamMaintenanceStandard extractDeviceInfo(XWPFTable table,String type) {
+    private EamMaintenanceStandard extractDeviceInfo(XWPFTable table, String type) {
         if (table.getNumberOfRows() < 2) return null;
 
         // 鎻愬彇鍓嶄袱琛屾暟鎹�
@@ -1286,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());
             }
         }

--
Gitblit v1.9.3