From 6b5f508bcd94d3f3d6484075c69d918fae226788 Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期四, 15 五月 2025 16:23:53 +0800
Subject: [PATCH] 工具信息及参数功能

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java |   89 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 71 insertions(+), 18 deletions(-)

diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java
index 26f4bef..8cabb60 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java
@@ -13,16 +13,20 @@
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.DictModel;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.ImportExcelUtil;
 import org.jeecg.common.util.StrUtils;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.system.mapper.SysDictItemMapper;
+import org.jeecg.modules.system.mapper.SysDictMapper;
 import org.jeecg.modules.tms.entity.ToolsClassify;
 import org.jeecg.modules.tms.mapper.ToolsClassifyMapper;
 import org.jeecg.modules.tms.service.IToolsClassifyService;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
@@ -49,6 +53,12 @@
 
     @Value("${jeecg.path.upload}")
     private String upLoadPath;
+
+    @Autowired
+    private SysDictMapper sysDictMapper;
+
+    @Autowired
+    private SysDictItemMapper sysDictItemMapper;
     @Override
     public IPage<ToolsClassify> queryPageList(Page<ToolsClassify> page, Map<String, String[]> parameterMap) {
         QueryWrapper<ToolsClassify> queryWrapper = Wrappers.query();
@@ -188,6 +198,7 @@
             // 鑾峰彇绗竴涓伐浣滆〃
             Sheet sheet = workbook.getSheetAt(0);
             for(Row row : sheet) {
+                int rowNum = row.getRowNum()+1;
                 ToolsClassify newToolsClassify = new ToolsClassify();
                 if (row.getRowNum() == 0)
                     continue;
@@ -197,6 +208,8 @@
                 String name = nameCell.getStringCellValue();
                 Cell parentNumCell = row.getCell(2);
                 String parentNum = parentNumCell.getStringCellValue();
+                Cell seqCell = row.getCell(3);
+                String seq = seqCell.getStringCellValue();
                 Cell leafFlagCell = row.getCell(4);
                 String leafFlag = leafFlagCell.getStringCellValue();
                 Cell paraTypeFlagCell = row.getCell(5);
@@ -207,47 +220,87 @@
                 }else if("鍚�".equals(leafFlag)){
                     leafFlag = "2";
                 }else {
-                    errorMessage.add("绗�"+row.getRowNum()+1+"琛岋紝鏄惁涓哄彾瀛愯妭鐐瑰~鍐欓敊璇紝璇峰~鍐欌�樻槸鈥欐垨鈥欏惁鈥�");
+                    errorMessage.add("绗�"+rowNum+"琛岋紝鏄惁涓哄彾瀛愯妭鐐瑰~鍐欓敊璇紝璇峰~鍐欌�樻槸鈥欐垨鈥欏惁鈥�");
                     errorLines++;
                     continue;
                 }
                 if(StringUtils.isBlank(num)){
-                    errorMessage.add("绗�"+row.getRowNum()+1+"琛岋紝鍒嗙被缂栫爜涓嶈兘涓虹┖");
+                    errorMessage.add("绗�"+rowNum+"琛岋紝鍒嗙被缂栫爜涓嶈兘涓虹┖");
                     errorLines++;
                     continue;
                 }
                 if(StringUtils.isBlank(name)){
-                    errorMessage.add("绗�"+row.getRowNum()+1+"琛岋紝鍒嗙被鍚嶇О涓嶈兘涓虹┖");
+                    errorMessage.add("绗�"+rowNum+"琛岋紝鍒嗙被鍚嶇О涓嶈兘涓虹┖");
                     errorLines++;
                     continue;
                     //鍒ゆ柇鏄惁鏈変笂绾у垎绫�
                 }
+                //鍒ゆ柇鍙傛暟妯℃澘鏄惁瀛樺湪
+                if(StringUtils.isNotBlank(paraTypeFlag)){
+                    List<DictModel> dictList = sysDictMapper.queryDictItemValueByCodeAndText("tool_para_type",paraTypeFlag);
+                    if(CollectionUtils.isNotEmpty(dictList)){
+                        paraTypeFlag = dictList.get(0).getValue();
+                    }else {
+                        errorMessage.add("绗�"+rowNum+"琛岋紝鍙傛暟妯℃澘涓嶅瓨鍦�");
+                        errorLines++;
+                        continue;
+                    }
+                }
+
                 if(StringUtils.isNotBlank(parentNum)){
                     ToolsClassify toolsClassify = this.lambdaQuery()
                             .eq(ToolsClassify::getClassifyId,parentNum)
                             .eq(ToolsClassify::getLeafFlag,"2").one();
                     if(toolsClassify == null){
-                        errorMessage.add("绗�"+row.getRowNum()+1+"琛岋紝鍒嗙被缂栫爜涓�"+num+"鐨勬暟鎹殑涓婄骇鍒嗙被缂栧彿涓嶅瓨鍦ㄦ垨涓哄彾瀛愯妭鐐�");
+                        errorMessage.add("绗�"+rowNum+"琛岋紝鍒嗙被缂栫爜涓�"+num+"鐨勬暟鎹殑涓婄骇鍒嗙被缂栧彿涓嶅瓨鍦ㄦ垨涓哄彾瀛愯妭鐐�");
                         errorLines++;
                     }else {
-                        newToolsClassify.setClassifyId(num)
-                                .setTypeName(name)
-                                .setStatus("1")
-                                .setLeafFlag(leafFlag)
-                                .setParentId(toolsClassify.getId())
-                                .setParaTypeFlag(paraTypeFlag);
-                        this.save(newToolsClassify);
+                        //鍒ゆ柇缂栫爜鏄惁閲嶅锛岄噸澶嶇殑杩涜鏇存柊
+                        ToolsClassify tools = this.lambdaQuery().eq(ToolsClassify::getClassifyId,num).one();
+                        if(tools != null){
+                            tools.setClassifyId(num)
+                                    .setTypeName(name)
+                                    .setStatus("1")
+                                    .setLeafFlag(leafFlag)
+                                    .setSeq(seq)
+                                    .setParentId(toolsClassify.getId())
+                                    .setParaTypeFlag(paraTypeFlag);
+                            this.updateById(tools);
+                        }else{
+                            newToolsClassify.setClassifyId(num)
+                                    .setTypeName(name)
+                                    .setStatus("1")
+                                    .setLeafFlag(leafFlag)
+                                    .setSeq(seq)
+                                    .setParentId(toolsClassify.getId())
+                                    .setParaTypeFlag(paraTypeFlag);
+                            this.save(newToolsClassify);
+                        }
                         successLines++;
                     }
                     //濡傛灉娌″~鍐欎笂绾у垎绫荤紪鍙凤紝鍒欐柊澧炲埌鏍硅妭鐐�
                 }else {
-                    newToolsClassify.setClassifyId(num)
-                            .setTypeName(name)
-                            .setStatus("1")
-                            .setParentId("-1")
-                            .setLeafFlag(leafFlag)
-                            .setParaTypeFlag(paraTypeFlag);
-                    this.save(newToolsClassify);
+                    //鍒ゆ柇缂栫爜鏄惁閲嶅锛岄噸澶嶇殑杩涜鏇存柊
+                    ToolsClassify tools = this.lambdaQuery().eq(ToolsClassify::getClassifyId,num).one();
+                    if(tools != null){
+                        tools.setClassifyId(num)
+                                .setTypeName(name)
+                                .setStatus("1")
+                                .setLeafFlag(leafFlag)
+                                .setSeq(seq)
+                                .setParentId("-1")
+                                .setParaTypeFlag(paraTypeFlag);
+                        this.updateById(tools);
+                    }else {
+                        newToolsClassify.setClassifyId(num)
+                                .setTypeName(name)
+                                .setStatus("1")
+                                .setParentId("-1")
+                                .setSeq(seq)
+                                .setLeafFlag(leafFlag)
+                                .setParaTypeFlag(paraTypeFlag);
+                        this.save(newToolsClassify);
+                    }
                     successLines++;
                 }
             }

--
Gitblit v1.9.3