Browse Source

fix bug

master
刘力 2 years ago
parent
commit
031466e11a
  1. 8
      archives/src/main/java/com/storeroom/modules/dictionary/service/ArchivesDictionaryService.java
  2. 6
      archives/src/main/java/com/storeroom/modules/dictionary/service/ArchivesNoSettingService.java
  3. 5
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesDictionaryImpl.java
  4. 14
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesNoSettingImpl.java
  5. 63
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesTypeServiceImpl.java
  6. 41
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/DynamicTableImpl.java

8
archives/src/main/java/com/storeroom/modules/dictionary/service/ArchivesDictionaryService.java

@ -120,4 +120,12 @@ public interface ArchivesDictionaryService {
* @return
*/
List<ArchivesDictionary> queryCategoryIdAndIsType(String categoryId,Integer IsType);
/**
* 通过门类id 查询
* @param categoryId /
* @return /
*/
List<ArchivesDictionary> queryCategoryId(String categoryId);
}

6
archives/src/main/java/com/storeroom/modules/dictionary/service/ArchivesNoSettingService.java

@ -28,6 +28,12 @@ public interface ArchivesNoSettingService {
*/
void create(Set<ArchivesNoSettingDTO> archivesNoSettingDTO);
/**
* 模板规则字段创建 复制排序
* @param archivesNoSettingDTO
*/
void createTemplateData(Set<ArchivesNoSettingDTO> archivesNoSettingDTO);
/**
* 删除规则字段
*

5
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesDictionaryImpl.java

@ -280,4 +280,9 @@ public class ArchivesDictionaryImpl implements ArchivesDictionaryService {
return archivesDictionaryRepository.findByCategoryIdAndIsType(categoryId, isType);
}
@Override
public List<ArchivesDictionary> queryCategoryId(String categoryId) {
return archivesDictionaryRepository.findByCategoryId(categoryId);
}
}

14
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesNoSettingImpl.java

@ -51,6 +51,20 @@ public class ArchivesNoSettingImpl implements ArchivesNoSettingService {
}
/**
* 创建模板的时候使用
* @param archivesNoSettingDTO
*/
@Override
public void createTemplateData(Set<ArchivesNoSettingDTO> archivesNoSettingDTO){
archivesNoSettingDTO.forEach(item -> {
item.setId(NanoIdUtils.randomNanoId());
ArchivesNoSetting as = archivesNoSettingMapper.toEntity(item);
ansRepostiory.save(as);
});
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(Set<ArchivesNoSettingDTO> archivesNoSettingDTOS) {

63
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesTypeServiceImpl.java

@ -5,9 +5,11 @@ import com.storeroom.modules.common.ArchivesTypeEnum;
import com.storeroom.modules.dictionary.domain.ArchivesType;
import com.storeroom.modules.dictionary.repository.ArchivesDictionaryRepository;
import com.storeroom.modules.dictionary.repository.ArchivesTypeRepository;
import com.storeroom.modules.dictionary.service.ArchivesNoSettingService;
import com.storeroom.modules.dictionary.service.ArchivesTypeService;
import com.storeroom.modules.dictionary.service.DynamicTableService;
import com.storeroom.modules.dictionary.service.dto.ArcTypeSmallDTO;
import com.storeroom.modules.dictionary.service.dto.ArchivesNoSettingDTO;
import com.storeroom.modules.dictionary.service.dto.ArchivesTypeDTO;
import com.storeroom.modules.dictionary.service.mapstruct.ArchivesTypeMapper;
import com.storeroom.utils.DateUtils;
@ -35,6 +37,7 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService {
private final ArchivesTypeRepository archivesTypeRepository;
private final DynamicTableService dynamicTableService;
private final ArchivesDictionaryRepository archivesDictionaryRepository;
private final ArchivesNoSettingService archivesNoSettingService;
@Override
@ -59,7 +62,21 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService {
archivesType.getChildren().forEach(item -> {
//如果模板类型为项目
if (item.getIsType() == 2) {
ArchivesType ar = createTemplateRoot(archivesTypeDTO.getPid(), cnName, item);
List<ArchivesNoSettingDTO> archivesNoSettingDTOList = archivesNoSettingService.findByCategoryId(item.getId());
Set<ArchivesNoSettingDTO> archivesNoSettingDTOSet = new HashSet<>();
archivesNoSettingDTOList.forEach(value -> {
ArchivesNoSettingDTO dto = new ArchivesNoSettingDTO();
dto.setFieldName(value.getFieldName());
dto.setFieldCnName(value.getFieldCnName());
dto.setConnector(value.getConnector());
dto.setDictionaryId(value.getDictionaryId());
dto.setCategoryId(ar.getId());
dto.setSequence(value.getSequence());
archivesNoSettingDTOSet.add(dto);
});
archivesNoSettingService.createTemplateData(archivesNoSettingDTOSet);
createArchives(ar.getId(), cnName, item.getChildren());
}
//如果模板类型为案卷
@ -75,11 +92,25 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService {
arcProject.setIsType(item.getIsType());
arcProject.setPid(archivesTypeDTO.getPid());
arcProject.setCategorySeq(item.getCategorySeq());
arcProject.setCnName(cnName);
arcProject.setCnName(cnName + "文件级");
arcProject.setRemark(item.getRemark());
arcProject.setEnName(tableName1);
arcProject.setTypeMetic(item.isTypeMetic());
dynamicTableService.DynamicCreate(arcProject.getIsType(), arcProject.getId(), tableName1);
List<ArchivesNoSettingDTO> archivesNoSettingDTOList = archivesNoSettingService.findByCategoryId(item.getId());
Set<ArchivesNoSettingDTO> archivesNoSettingDTOSet = new HashSet<>();
archivesNoSettingDTOList.forEach(value -> {
ArchivesNoSettingDTO dto = new ArchivesNoSettingDTO();
dto.setFieldName(value.getFieldName());
dto.setFieldCnName(value.getFieldCnName());
dto.setConnector(value.getConnector());
dto.setDictionaryId(value.getDictionaryId());
dto.setCategoryId(arcProject.getId());
dto.setSequence(value.getSequence());
archivesNoSettingDTOSet.add(dto);
});
archivesNoSettingService.createTemplateData(archivesNoSettingDTOSet);
dynamicTableService.DynamicTemplateTable(arcProject.getId(), item.getId(), item.getIsType(), tableName1);
archivesTypeRepository.save(arcProject);
}
});
@ -123,6 +154,7 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService {
private void createArchives(String pid, String cnName, List<ArchivesType> archivesType) {
String tableName = "tb_";
for (ArchivesType arc : archivesType) {
//如果还有子集菜单
if (arc.getChildren().size() != 0) {
ArchivesType archivesType1 = new ArchivesType();
@ -137,6 +169,19 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService {
archivesType1.setTypeMetic(arc.isTypeMetic());
archivesType1.setEnName(tableName);
archivesTypeRepository.save(archivesType1);
List<ArchivesNoSettingDTO> archivesNoSettingDTOList = archivesNoSettingService.findByCategoryId(arc.getId());
Set<ArchivesNoSettingDTO> archivesNoSettingDTOSet = new HashSet<>();
archivesNoSettingDTOList.forEach(value -> {
ArchivesNoSettingDTO dto = new ArchivesNoSettingDTO();
dto.setFieldName(value.getFieldName());
dto.setFieldCnName(value.getFieldCnName());
dto.setConnector(value.getConnector());
dto.setDictionaryId(value.getDictionaryId());
dto.setCategoryId(archivesType1.getId());
dto.setSequence(value.getSequence());
archivesNoSettingDTOSet.add(dto);
});
archivesNoSettingService.createTemplateData(archivesNoSettingDTOSet);
dynamicTableService.DynamicTemplateTable(archivesType1.getId(), arc.getId(), arc.getIsType(), tableName);
createInChive(archivesType1.getId(), cnName, arc.getChildren());
}
@ -149,6 +194,7 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService {
private void createInChive(String pid, String cnName, List<ArchivesType> archivesType) {
String tableName = "tb_";
for (ArchivesType arc : archivesType) {
//如果还有子集菜单
ArchivesType archivesType1 = new ArchivesType();
tableName += DateUtils.getNowDateTime();
@ -161,6 +207,19 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService {
archivesType1.setCategorySeq(arc.getCategorySeq());
archivesType1.setTypeMetic(arc.isTypeMetic());
archivesType1.setEnName(tableName);
List<ArchivesNoSettingDTO> archivesNoSettingDTOList = archivesNoSettingService.findByCategoryId(arc.getId());
Set<ArchivesNoSettingDTO> archivesNoSettingDTOSet = new HashSet<>();
archivesNoSettingDTOList.forEach(value -> {
ArchivesNoSettingDTO dto = new ArchivesNoSettingDTO();
dto.setFieldName(value.getFieldName());
dto.setFieldCnName(value.getFieldCnName());
dto.setConnector(value.getConnector());
dto.setDictionaryId(value.getDictionaryId());
dto.setCategoryId(archivesType1.getId());
dto.setSequence(value.getSequence());
archivesNoSettingDTOSet.add(dto);
});
archivesNoSettingService.createTemplateData(archivesNoSettingDTOSet);
dynamicTableService.DynamicTemplateTable(archivesType1.getId(), arc.getId(), arc.getIsType(), tableName);
archivesTypeRepository.save(archivesType1);
}

41
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/DynamicTableImpl.java

@ -87,11 +87,15 @@ public class DynamicTableImpl implements DynamicTableService {
@Override
@Transactional(rollbackFor = Exception.class)
public void DynamicTemplateTable(String arcTypeId, String categoryId, Integer isType, String tableName) {
List<ArchivesDictionary> arcList = archivesDictionaryService.queryCategoryIdAndIsType(categoryId, 2);
List<ArchivesDictionary> arcList = archivesDictionaryService.queryCategoryIdAndIsType(categoryId, 1);
List<ArchivesDictionary> arcList1 = archivesDictionaryService.queryCategoryIdAndIsType(categoryId, 2);
List<ArchivesDictionary> newList = new ArrayList<>();
newList.addAll(arcList);
newList.addAll(arcList1);
List<ArchivesDictionary> arcList2 = archivesDictionaryService.queryCategoryIdAndIsType(categoryId, 3);
//#生成文件表名称
// String fileTableName = "file_" + tableName;
List<FieldVO> fieldVOList = new ArrayList<>();
arcList.forEach(item -> {
newList.forEach(item -> {
FieldVO fieldVO = new FieldVO();
Field field = fieldService.findByCNName(item.getFieldCnName(), item.getIsType());
//如果系统默认字段里面不为空就为复制数据
@ -112,9 +116,36 @@ public class DynamicTableImpl implements DynamicTableService {
fieldVOList.add(fieldVO);
});
DynamicInsertTemplateTable(arcList, arcTypeId);
DynamicInsertTemplateTable(newList, arcTypeId);
DynamicCreateFileTable(fieldVOList, tableName);
fieldVOList.clear();
if (arcList2.size() != 0) {
arcList2.forEach(item -> {
FieldVO fieldVO = new FieldVO();
Field field = fieldService.findByCNName(item.getFieldCnName(), item.getIsType());
//如果系统默认字段里面不为空就为复制数据
if (!ObjectUtil.isEmpty(field)) {
fieldVO.setId(field.getId());
fieldVO.setIsSystem(field.getIsSystem());
fieldVO.setDictionaryId(field.getDictionaryId());
}
fieldVO.setFieldName(item.getFieldName());
fieldVO.setFieldCnName(item.getFieldCnName());
fieldVO.setIsDefaultValue(item.getIsDefaultValue());
fieldVO.setIsDataType(item.getIsDataType());
fieldVO.setIsDataTypeDetails(item.getIsDataTypeDetails());
fieldVO.setIsColumnLength(item.getIsColumnLength());
fieldVO.setIsSequence(item.getIsSequence());
fieldVO.setIsType(item.getIsType());
fieldVO.setCategoryId(arcTypeId);
fieldVOList.add(fieldVO);
});
String fileTableName = "file_" + tableName;
DynamicInsertTemplateTable(arcList2, arcTypeId);
DynamicCreateFileTable(fieldVOList, fileTableName);
}
}

Loading…
Cancel
Save