From bb47bf3d97d1a68e06a73ce275e81b5e581219d4 Mon Sep 17 00:00:00 2001 From: cuijian <cuijian@xalxzn.com> Date: 星期三, 25 六月 2025 09:31:26 +0800 Subject: [PATCH] 工具分类导入调整 --- lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java | 150 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 96 insertions(+), 54 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..35ae470 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(); @@ -68,7 +78,7 @@ return this.baseMapper.queryPageList(page, queryWrapper); } public List<CommonGenericTree> loadTree() { - List<ToolsClassify> toolsClassifyList = this.list(); + List<ToolsClassify> toolsClassifyList = this.lambdaQuery().orderByAsc(ToolsClassify::getId).list(); List<CommonGenericTree> commonGenericTreeList = loadTree(toolsClassifyList); return commonGenericTreeList; } @@ -77,54 +87,39 @@ @SuppressWarnings("unused") ToolsClassify toolsClassify = new ToolsClassify(); List<CommonGenericTree> list = new ArrayList<>(); Map<String, CommonGenericTree> map = new HashMap<>(); - CommonGenericTree<ToolsClassify> node = new CommonGenericTree<>(); - node.setKey("-1"); - node.setTitle("宸ュ叿鍒嗙被"); - node.setRField1(""); - node.setRField2(""); - node.setEntity(new ToolsClassify().setId("-1").setClassifyId("0").setTypeName("宸ュ叿鍒嗙被").setLeafFlag("2")); - list.add(node); if (CollectionUtils.isNotEmpty(toolsClassifyList)) { CommonGenericTree<ToolsClassify> tcNode; + CommonGenericTree<ToolsClassify> childNode; for (ToolsClassify tc : toolsClassifyList) { - if (StrUtils.isBlankOrNull(tc.getParentId()) || tc.getParentId().equals("-1")) { + ToolsClassify child = tc; + if (StrUtils.isBlankOrNull(tc.getParentId())) { tcNode = new CommonGenericTree<>(); tcNode.setKey(tc.getId()); tcNode.setTitle(tc.getClassifyId() + "/" + tc.getTypeName()); - tcNode.setParentId(node.getKey()); tcNode.setIcon(""); tcNode.setType(1); tcNode.setValue(tc.getId()); tcNode.setDisabled(CommonConstant.STATUS_0.equals(tc.getStatus()) ? true : false); tcNode.setRField1(tc.getClassifyId()); - tcNode.setRField2(getBaseParent(tc.getId(), 0).getClassifyId()); + //tcNode.setRField2(getBaseParent(tc.getId(), 0).getClassifyId()); tcNode.setEntity(tc); - node.addChildren(tcNode); + list.add(tcNode); map.put(tc.getId(), tcNode); - } - } - CommonGenericTree<ToolsClassify> childNode; - for (ToolsClassify tc : toolsClassifyList) { - ToolsClassify child = tc; - if (map.containsKey(child.getParentId())) { - if (StrUtils.isBlankOrNull(tc.getParentId()) || tc.getParentId().equals("-1")) { - toolsClassify = tc; - } else { - tcNode = map.get(child.getParentId()); - childNode = new CommonGenericTree<>(); - childNode.setKey(tc.getId()); - childNode.setTitle(tc.getClassifyId() + "/" + tc.getTypeName()); - childNode.setParentId(tc.getParentId()); - childNode.setIcon(""); - childNode.setType(0); - childNode.setValue(tc.getId()); - childNode.setDisabled(CommonConstant.STATUS_0.equals(tc.getStatus()) ? true : false); - childNode.setRField1(tc.getClassifyId()); - childNode.setRField2(getBaseParent(tc.getId(), 0).getClassifyId()); - childNode.setEntity(tc); - tcNode.addChildren(childNode); - map.put(child.getId(), childNode); - } + } else { + tcNode = map.get(child.getParentId()); + childNode = new CommonGenericTree<>(); + childNode.setKey(tc.getId()); + childNode.setTitle(tc.getClassifyId() + "/" + tc.getTypeName()); + childNode.setParentId(tc.getParentId()); + childNode.setIcon(""); + childNode.setType(0); + childNode.setValue(tc.getId()); + childNode.setDisabled(CommonConstant.STATUS_0.equals(tc.getStatus()) ? true : false); + childNode.setRField1(tc.getClassifyId()); + //childNode.setRField2(getBaseParent(tc.getId(), 0).getClassifyId()); + childNode.setEntity(tc); + tcNode.addChildren(childNode); + map.put(child.getId(), childNode); } } } @@ -188,6 +183,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 +193,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 +205,91 @@ }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) + .setEncodingType("3") + .setSeq(seq) + .setParentId(toolsClassify.getId()) + .setParaTypeFlag(paraTypeFlag); + this.updateById(tools); + }else{ + newToolsClassify.setClassifyId(num) + .setTypeName(name) + .setStatus("1") + .setLeafFlag(leafFlag) + .setEncodingType("3") + .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) + .setEncodingType("3") + .setSeq(seq) + .setParentId("-1") + .setParaTypeFlag(paraTypeFlag); + this.updateById(tools); + }else { + newToolsClassify.setClassifyId(num) + .setTypeName(name) + .setStatus("1") + .setParentId("-1") + .setSeq(seq) + .setLeafFlag(leafFlag) + .setEncodingType("3") + .setParaTypeFlag(paraTypeFlag); + this.save(newToolsClassify); + } successLines++; } } -- Gitblit v1.9.3