From 3874457905a4e4d4f08c313f48451ec9a4f32ae2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8A=9B?= Date: Mon, 19 Sep 2022 15:24:20 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E7=B1=BB=E5=88=9B=E5=BB=BA=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ArchivesTypeServiceImpl.java | 52 +++++++++++++++---- 1 file changed, 43 insertions(+), 9 deletions(-) diff --git a/archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesTypeServiceImpl.java b/archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesTypeServiceImpl.java index e20f9ea..f851d80 100644 --- a/archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesTypeServiceImpl.java +++ b/archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesTypeServiceImpl.java @@ -58,17 +58,29 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService { archivesType.getChildren().forEach(item -> { //如果模板类型为项目 if (item.getIsType() == 2) { + ArchivesType ar = createTemplateRoot(archivesTypeDTO.getPid(),cnName, item); + createArchives(ar.getId(), cnName, item.getChildren()); + } + //如果模板类型为案卷 + if (item.getIsType() == 3) { + ArchivesType ar = createTemplateRoot(archivesTypeDTO.getPid(),cnName, item); + createInChive(ar.getId(), cnName, item.getChildren()); + } + //如果是文件级 + if (item.getIsType() == 5){ ArchivesType arcProject = new ArchivesType(); + String tableName1 = "tb_"; + tableName1 += DateUtils.getNowDateTime(); arcProject.setId(NanoIdUtils.randomNanoId()); arcProject.setIsType(item.getIsType()); - arcProject.setPid(item.getPid()); + arcProject.setPid(archivesTypeDTO.getPid()); arcProject.setCategorySeq(item.getCategorySeq()); arcProject.setCnName(cnName); arcProject.setRemark(item.getRemark()); - arcProject.setEnName(item.getEnName()); + arcProject.setEnName(tableName1); arcProject.setTypeMetic(item.isTypeMetic()); + dynamicTableService.DynamicCreate(arcProject.getIsType(), arcProject.getId(), tableName1); archivesTypeRepository.save(arcProject); - createArchives(arcProject.getId(), cnName, item.getChildren()); } }); } @@ -88,6 +100,23 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService { return archivesType; } + private ArchivesType createTemplateRoot(String pid,String cnName, ArchivesType item) { + ArchivesType arcProject = new ArchivesType(); + String tableName1 = "tb_"; + tableName1 += DateUtils.getNowDateTime(); + arcProject.setId(NanoIdUtils.randomNanoId()); + arcProject.setIsType(item.getIsType()); + arcProject.setPid(pid); + arcProject.setCategorySeq(item.getCategorySeq()); + arcProject.setCnName(cnName+"(项目)"); + arcProject.setRemark(item.getRemark()); + arcProject.setEnName(tableName1); + arcProject.setTypeMetic(item.isTypeMetic()); + dynamicTableService.DynamicCreate(arcProject.getIsType(), arcProject.getId(), tableName1); + archivesTypeRepository.save(arcProject); + return arcProject; + } + /** * 创建模版案卷 @@ -95,21 +124,24 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService { * @param archivesType */ private void createArchives(String pid, String cnName, List archivesType) { + String tableName = "tb_"; for (ArchivesType arc : archivesType) { //如果还有子集菜单 if (arc.getChildren().size() != 0) { ArchivesType archivesType1 = new ArchivesType(); + tableName += DateUtils.getNowDateTime(); archivesType1.setId(NanoIdUtils.randomNanoId()); archivesType1.setIsType(arc.getIsType()); archivesType1.setTypeMetic(arc.isTypeMetic()); archivesType1.setPid(pid); - archivesType1.setCnName(cnName + "案卷"); + archivesType1.setCnName(cnName + "(案卷)"); archivesType1.setRemark(arc.getRemark()); archivesType1.setCategorySeq(arc.getCategorySeq()); archivesType1.setTypeMetic(arc.isTypeMetic()); - archivesType1.setEnName(archivesType1.getEnName()); + archivesType1.setEnName(tableName); archivesTypeRepository.save(archivesType1); - createInChive(archivesType1.getId(), cnName, archivesType1.getChildren()); + dynamicTableService.DynamicCreate(archivesType1.getIsType(), archivesType1.getId(), tableName); + createInChive(archivesType1.getId(), cnName, arc.getChildren()); } } } @@ -118,19 +150,21 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService { * 创建卷内 */ private void createInChive(String pid, String cnName, List archivesType) { - + String tableName = "tb_"; for (ArchivesType arc : archivesType) { //如果还有子集菜单 ArchivesType archivesType1 = new ArchivesType(); + tableName += DateUtils.getNowDateTime(); archivesType1.setId(NanoIdUtils.randomNanoId()); archivesType1.setIsType(arc.getIsType()); archivesType1.setTypeMetic(arc.isTypeMetic()); archivesType1.setPid(pid); - archivesType1.setCnName(cnName + "卷内"); + archivesType1.setCnName(cnName + "(卷内)"); archivesType1.setRemark(arc.getRemark()); archivesType1.setCategorySeq(arc.getCategorySeq()); archivesType1.setTypeMetic(arc.isTypeMetic()); - archivesType1.setEnName(archivesType1.getEnName()); + archivesType1.setEnName(tableName); + dynamicTableService.DynamicCreate(archivesType1.getIsType(), archivesType1.getId(), tableName); archivesTypeRepository.save(archivesType1); } }