diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java index 2fd707c08..8e5979fd9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java @@ -66,6 +66,14 @@ public class FileSplitItemsEOController extends JeroController getSplitItemsById(String id){ + Map item = fileSplitItemsEOService.selectByPrimaryKey(id); + return Result.OK(item); + } + @AutoLog(value = "新增") @ApiOperation(value = "新增") @PostMapping("/addSplitItems") diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/SarFileSplitInfoController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/SarFileSplitInfoController.java index f3a5cf6b2..6289ed36a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/SarFileSplitInfoController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/SarFileSplitInfoController.java @@ -52,6 +52,8 @@ public class SarFileSplitInfoController extends JeroController page = new Page(sarFileSplitInfoEOPage.getPageNo(), sarFileSplitInfoEOPage.getPageSize()); IPage pageList = sarFileSplitInfoService.page(page, queryWrapper); + List rows = pageList.getRecords(); + sarFileSplitInfoService.dataProcessing(sarFileSplitInfoEOPage.getCut(), rows); return Result.OK(pageList); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/entity/SarFileSplitInfoEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/entity/SarFileSplitInfoEO.java index 6436b1bab..d777fbc1b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/entity/SarFileSplitInfoEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/entity/SarFileSplitInfoEO.java @@ -1,6 +1,7 @@ package com.jero.modules.split.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -71,7 +72,7 @@ public class SarFileSplitInfoEO implements Serializable { /**文本状态*/ @Excel(name = "文本状态", width = 15, dicCode = "file_type") - @Dict(dicCode = "file_type") +// @Dict(dicCode = "file_type") @ApiModelProperty(value = "文本状态") private String fileType; @@ -82,7 +83,7 @@ public class SarFileSplitInfoEO implements Serializable { /**拆分结果*/ @Excel(name = "拆分结果", width = 15, dicCode = "split_result") - @Dict(dicCode = "split_result") +// @Dict(dicCode = "split_result") @ApiModelProperty(value = "拆分结果") private String splitResult; @@ -91,4 +92,12 @@ public class SarFileSplitInfoEO implements Serializable { @ApiModelProperty(value = "文件id") private String fileId; + /**文档库关联id*/ + @Excel(name = "文档库关联id", width = 15) + @ApiModelProperty(value = "文档库关联id") + private String connectId; + + @TableField(exist = false) + private String flag; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/SarFileSplitItemsValEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/SarFileSplitItemsValEOMapper.java index 9268f3aad..0198b5613 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/SarFileSplitItemsValEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/SarFileSplitItemsValEOMapper.java @@ -23,7 +23,7 @@ public interface SarFileSplitItemsValEOMapper extends BaseMapper list); - int updateForeach(List list); + int updateForeach(@Param("list") List list); int updateForeach2(@Param("list") List list); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/SarFileSplitInfoMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/SarFileSplitInfoMapper.xml index b39469502..c4adcbd3c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/SarFileSplitInfoMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/SarFileSplitInfoMapper.xml @@ -14,5 +14,6 @@ + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/page/SarFileSplitInfoEOPage.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/page/SarFileSplitInfoEOPage.java index 6d80fc16a..699d4220f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/page/SarFileSplitInfoEOPage.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/page/SarFileSplitInfoEOPage.java @@ -54,4 +54,6 @@ public class SarFileSplitInfoEOPage { private String orderBy; private String orderByField; + private String cut; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitInfoService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitInfoService.java index 162c5d0a4..012516850 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitInfoService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitInfoService.java @@ -63,4 +63,6 @@ public interface ISarFileSplitInfoService extends IService { List queryByFileId(String fileId); boolean bindToDocumentLibrary(String id, String connectId, String fileName); + + void dataProcessing(String cut, List sarFileSplitInfoEOList); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index 4f932bff3..e8b03294f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -131,7 +131,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl"; // valContent = valEO.getItemContent(); } else if ("TABLE".equals(valEO.getType())) { @@ -205,14 +206,22 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl"; } else if ("IMG".equals(valEO.getType())) { - valContent = ""; + if(!valEO.getItemContent().contains("uploadPath")) { + String ossFileId = valEO.getItemContent(); + OSSFile ossFile = ossFileService.getById(ossFileId); + String url = ossFile.getUrl(); + String imgUrl = "uploadPath/" + url.substring(url.lastIndexOf("/") + 1); + valEO.setItemContent(imgUrl); + } + valContent = ""; // valContent = valEO.getItemContent(); } else if ("TABLE".equals(valEO.getType())) { valContent = valEO.getItemContent(); } itemConditions += valContent; // val表信息 - if (com.jero.modules.system.util.StringUtils.isNotEmpty(valEO.getId())) { + if (StringUtils.isNotBlank(valEO.getId())) { + valEO.setItemId(itemId); valEO.setDisplaySeq(ind); valEO.setModifyTime(new Date()); valEO.setModifyUser(userId); @@ -221,6 +230,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl> mapList = queryCondition("1", null); + List> mapList = queryCondition("4", null); //查询条件处理 for (Map.Entry entry : parameter.entrySet()) { @@ -534,7 +547,9 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl formFieldList = onlCgformFieldService.getFieldList(ModuleEnum.FILE_SPLIT_ITEMS.getValue()); if (formFieldList.size() != 0) { //过滤出表单字段 - formFieldList = formFieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm()))).collect(Collectors.toList()); + formFieldList = formFieldList.stream() + .filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm()))|| "条款内容".equals(e.getDbFieldTxt())) + .collect(Collectors.toList()); } // 查询所有要合并的条款 List> oldItemMapList = dao.queryItemByIds(oldItemIdList); // 根据目录排序 升序 @@ -553,27 +568,30 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl { if(ObjectUtils.isNotEmpty(item.get(dbFieldName))) { - conditionSb.append(item.get(dbFieldName).toString()); // TODO itmeCondition 有问题 + conditionSb.append(item.get(dbFieldName).toString()); } }); + newItemMap.put(dbFieldName, conditionSb.toString()); } else if (FieldTypeEnum.PULL_SINGLE.getValue().equals(fieldType) || FieldTypeEnum.PULL_MORE.getValue().equals(fieldType) || FieldTypeEnum.TREE.getValue().equals(fieldType)) { + StringBuilder con = new StringBuilder(); // 去重合并内容 oldItemMapList.forEach(item -> { if(ObjectUtils.isNotEmpty(item.get(dbFieldName))) { - conditionSb.append(",").append(item.get(dbFieldName).toString()); + con.append(",").append(item.get(dbFieldName).toString()); } }); // 合并 - if(ObjectUtils.isNotEmpty(conditionSb)){ - List conditionList = Arrays.asList(conditionSb.toString().split(",")); + if(ObjectUtils.isNotEmpty(con)){ + List conditionList = Arrays.asList(con.toString().split(",")); conditionList = conditionList.stream().distinct().collect(Collectors.toList()); // 去重 conditionSb.append(StringUtils.join(conditionList, ",")); } + newItemMap.put(dbFieldName, conditionSb.toString()); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java index 3cbbabd05..f5f3d1019 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java @@ -3,6 +3,11 @@ package com.jero.modules.split.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.constant.enums.ModuleEnum; +import com.jero.common.constant.enums.YesOrNoEnum; +import com.jero.generater.modules.online.cgform.entity.OnlCgformField; +import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.split.entity.SarFileSplitInfoEO; @@ -10,12 +15,13 @@ import com.jero.modules.split.entity.SarFileSplitMenuEO; import com.jero.modules.split.mapper.SarFileSplitInfoMapper; import com.jero.modules.split.mapper.SarFileSplitMenuEOMapper; import com.jero.modules.split.service.ISarFileSplitInfoService; +import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.service.ISysDictItemService; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Date; -import java.util.List; -import java.util.UUID; +import java.util.*; import java.util.stream.Collectors; /** @@ -33,6 +39,12 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl ossFileList = ossFileService.getFileInfosByConnectId(connectId); - List fileOfSplit = ossFileList.stream().filter(e->"fileName".equals(e.getFileName())).collect(Collectors.toList()); + List fileOfSplit = ossFileList.stream().filter(e->fileName.equals(e.getFileName())).collect(Collectors.toList()); if (CollectionUtil.isNotEmpty(fileOfSplit)) { String fileId = fileOfSplit.get(0).getId(); SarFileSplitInfoEO infoEO = new SarFileSplitInfoEO(); @@ -133,4 +148,50 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl sarFileSplitInfoEOList) { + // 查询文档拆分表中类型是下拉选的字段 + List fieldList = onlCgformFieldService.getFieldList(ModuleEnum.FILE_SPLIT.getValue()); + if (fieldList.size() != 0) { + //过滤列表字段(is_show_list-->列表是否显示0否 1是 且 有数据字典编码) + fieldList = fieldList.stream() + .filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList())) + && StringUtils.isNotBlank(e.getDictField())) + .collect(Collectors.toList()); + } + // 根据切换语言 查询下拉选字段的下拉值 + List dictItemListAll = new ArrayList<>(); + for (OnlCgformField onlCgformField : fieldList) { + // 查询数据字典值 + List dictItemList = sysDictItemService.selectItemsByDictCode(onlCgformField.getDictField()); + if(CollectionUtil.isNotEmpty(dictItemList)) { + dictItemListAll.addAll(dictItemList); + } + } + + // 处理数据中所有下拉字典值 + for (SarFileSplitInfoEO splitInfoEO : sarFileSplitInfoEOList){ + if (CutEnum.CN.getValue().equals(cut)) { + Map cnMap = dictItemListAll.stream() + .filter(e->e.getItemValue().equals(splitInfoEO.getFileType()) + || e.getItemValue().equals(splitInfoEO.getSplitResult())) + .collect(Collectors.toMap(SysDictItem::getItemValue, SysDictItem::getItemText)); // 优化 + splitInfoEO.setFileType(cnMap.get(splitInfoEO.getFileType())); + splitInfoEO.setSplitResult(cnMap.get(splitInfoEO.getSplitResult())); + } else { + Map enMap = dictItemListAll.stream() + .filter(e->e.getItemValue().equals(splitInfoEO.getFileType()) + || e.getItemValue().equals(splitInfoEO.getSplitResult())) + .collect(Collectors.toMap(SysDictItem::getItemValue, SysDictItem::getEnName)); // 优化 + splitInfoEO.setFileType(enMap.get(splitInfoEO.getFileType())); + splitInfoEO.setSplitResult(enMap.get(splitInfoEO.getSplitResult())); + } + if(StringUtils.isNotEmpty(splitInfoEO.getFileId())) { + splitInfoEO.setFlag("1"); + }else{ + splitInfoEO.setFlag("0"); + } + } + } }