文档拆分条款修改
This commit is contained in:
+8
@@ -66,6 +66,14 @@ public class FileSplitItemsEOController extends JeroController<SarFileSplitItems
|
||||
return Result.OK(infoPage);
|
||||
}
|
||||
|
||||
@AutoLog(value = "根据id查询")
|
||||
@ApiOperation(value = "根据id查询")
|
||||
@GetMapping("/getSplitItemsById")
|
||||
public Result<?> getSplitItemsById(String id){
|
||||
Map<String, Object> item = fileSplitItemsEOService.selectByPrimaryKey(id);
|
||||
return Result.OK(item);
|
||||
}
|
||||
|
||||
@AutoLog(value = "新增")
|
||||
@ApiOperation(value = "新增")
|
||||
@PostMapping("/addSplitItems")
|
||||
|
||||
+2
@@ -52,6 +52,8 @@ public class SarFileSplitInfoController extends JeroController<SarFileSplitInfoE
|
||||
.like(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getTitle()), SarFileSplitInfoEO::getTitle, sarFileSplitInfoEOPage.getTitle());
|
||||
Page<SarFileSplitInfoEO> page = new Page<SarFileSplitInfoEO>(sarFileSplitInfoEOPage.getPageNo(), sarFileSplitInfoEOPage.getPageSize());
|
||||
IPage<SarFileSplitInfoEO> pageList = sarFileSplitInfoService.page(page, queryWrapper);
|
||||
List<SarFileSplitInfoEO> rows = pageList.getRecords();
|
||||
sarFileSplitInfoService.dataProcessing(sarFileSplitInfoEOPage.getCut(), rows);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
+11
-2
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ public interface SarFileSplitItemsValEOMapper extends BaseMapper<SarFileSplitIte
|
||||
|
||||
int insertForeach(List<SarFileSplitItemsValEO> list);
|
||||
|
||||
int updateForeach(List<SarFileSplitItemsValEO> list);
|
||||
int updateForeach(@Param("list") List<SarFileSplitItemsValEO> list);
|
||||
|
||||
int updateForeach2(@Param("list") List<SarFileSplitItemsValEO> list);
|
||||
|
||||
|
||||
+1
@@ -14,5 +14,6 @@
|
||||
<result column="file_name" property="fileName" />
|
||||
<result column="split_result" property="splitResult" />
|
||||
<result column="file_id" property="fileId" />
|
||||
<result column="connect_id" property="connectId" />
|
||||
</resultMap>
|
||||
</mapper>
|
||||
+2
@@ -54,4 +54,6 @@ public class SarFileSplitInfoEOPage {
|
||||
private String orderBy;
|
||||
private String orderByField;
|
||||
|
||||
private String cut;
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -63,4 +63,6 @@ public interface ISarFileSplitInfoService extends IService<SarFileSplitInfoEO> {
|
||||
List<SarFileSplitInfoEO> queryByFileId(String fileId);
|
||||
|
||||
boolean bindToDocumentLibrary(String id, String connectId, String fileName);
|
||||
|
||||
void dataProcessing(String cut, List<SarFileSplitInfoEO> sarFileSplitInfoEOList);
|
||||
}
|
||||
|
||||
+29
-11
@@ -131,7 +131,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
String ossFileId = valEO.getItemContent();
|
||||
OSSFile ossFile = ossFileService.getById(ossFileId);
|
||||
String url = ossFile.getUrl();
|
||||
String imgUrl = "uploadPath/" + url.substring(url.lastIndexOf("/")+1);
|
||||
String imgUrl = "uploadPath/" + url.substring(url.lastIndexOf("/")+1); // TODO 本地是反斜杠,服务器上是正斜杠?
|
||||
valEO.setItemContent(imgUrl);
|
||||
valContent = "<img class=\"wordImg\" src=\""+ valEO.getItemContent() +"\">";
|
||||
// valContent = valEO.getItemContent();
|
||||
} else if ("TABLE".equals(valEO.getType())) {
|
||||
@@ -205,14 +206,22 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
if ("TEXT".equals(valEO.getType())) {
|
||||
valContent = "<p>" + valEO.getItemContent() + "</p>";
|
||||
} else if ("IMG".equals(valEO.getType())) {
|
||||
valContent = "<img class=\'wordImg\' src=\'"+ valEO.getItemContent() +"\'>";
|
||||
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 = "<img class=\"wordImg\" src=\"" + valEO.getItemContent() + "\">";
|
||||
// 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<FileSplitItemsEOMap
|
||||
// sarFileSplitItemsValEODao.updateByPrimaryKeySelective(valEO);
|
||||
} else {
|
||||
valEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
valEO.setItemId(itemId);
|
||||
valEO.setDisplaySeq(ind);
|
||||
valEO.setValidFlag(0);
|
||||
valEO.setCreationTime(new Date());
|
||||
@@ -236,7 +246,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
sarFileSplitItemsValEOMapper.insertForeach(addValList);
|
||||
}
|
||||
if (updateValList != null && !updateValList.isEmpty()) {
|
||||
sarFileSplitItemsValEOMapper.updateForeach(updateValList);
|
||||
for(SarFileSplitItemsValEO updateVal : updateValList){
|
||||
sarFileSplitItemsValEOMapper.updateByPrimaryKeySelective(updateVal);
|
||||
}
|
||||
// sarFileSplitItemsValEOMapper.updateForeach(updateValList);
|
||||
}
|
||||
// sarFileSplitItemsTableEODao.deleteByitemValIds(itemValIds);
|
||||
parameter.put("iterms_conditions", itemConditions);
|
||||
@@ -436,7 +449,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
StringBuilder conditionSb = new StringBuilder("where 1 = 1");
|
||||
|
||||
//搜索条件字段类型信息
|
||||
List<Map<String, Object>> mapList = queryCondition("1", null);
|
||||
List<Map<String, Object>> mapList = queryCondition("4", null);
|
||||
|
||||
//查询条件处理
|
||||
for (Map.Entry<String, Object> entry : parameter.entrySet()) {
|
||||
@@ -534,7 +547,9 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
List<OnlCgformField> 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<Map<String, Object>> oldItemMapList = dao.queryItemByIds(oldItemIdList); // 根据目录排序 升序
|
||||
@@ -553,27 +568,30 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
StringBuilder conditionSb = new StringBuilder();
|
||||
String fieldType = onlCgformField.getFieldShowType();
|
||||
String dbFieldName = onlCgformField.getDbFieldName();
|
||||
if (FieldTypeEnum.TEXT_STRING.getValue().equals(fieldType)) {
|
||||
if (FieldTypeEnum.TEXT_STRING.getValue().equals(fieldType) && !"条款号".equals(onlCgformField.getDbFieldTxt())) {
|
||||
// 追加合并内容
|
||||
oldItemMapList.forEach(item -> {
|
||||
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<String> conditionList = Arrays.asList(conditionSb.toString().split(","));
|
||||
if(ObjectUtils.isNotEmpty(con)){
|
||||
List<String> conditionList = Arrays.asList(con.toString().split(","));
|
||||
conditionList = conditionList.stream().distinct().collect(Collectors.toList()); // 去重
|
||||
conditionSb.append(StringUtils.join(conditionList, ","));
|
||||
}
|
||||
newItemMap.put(dbFieldName, conditionSb.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+65
-4
@@ -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<SarFileSplitInfoMap
|
||||
@Autowired
|
||||
private IOSSFileService ossFileService;
|
||||
|
||||
@Autowired
|
||||
private OnlCgformFieldServiceImpl onlCgformFieldService;
|
||||
|
||||
@Autowired
|
||||
private ISysDictItemService sysDictItemService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -42,12 +54,15 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl<SarFileSplitInfoMap
|
||||
@Override
|
||||
public void add(SarFileSplitInfoEO sarFileSplitInfoEO) {
|
||||
Date now = new Date();
|
||||
String infoId = UUID.randomUUID().toString().replace("-", "");
|
||||
sarFileSplitInfoEO.setId(infoId);
|
||||
sarFileSplitInfoEO.setCreateTime(now);
|
||||
sarFileSplitInfoEO.setUpdateTime(now);
|
||||
save(sarFileSplitInfoEO);
|
||||
// 添加条款总目录 TODO 这块之后可能不会用到
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = new SarFileSplitMenuEO();
|
||||
sarFileSplitMenuEO.setName("总目录");
|
||||
sarFileSplitMenuEO.setInfoId(infoId);
|
||||
sarFileSplitMenuEO.setDisplaySeq(1L);
|
||||
sarFileSplitMenuEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
sarFileSplitMenuEO.setValidFlag(0);
|
||||
@@ -122,7 +137,7 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl<SarFileSplitInfoMap
|
||||
@Override
|
||||
public boolean bindToDocumentLibrary(String id, String connectId, String fileName) {
|
||||
List<OSSFile> ossFileList = ossFileService.getFileInfosByConnectId(connectId);
|
||||
List<OSSFile> fileOfSplit = ossFileList.stream().filter(e->"fileName".equals(e.getFileName())).collect(Collectors.toList());
|
||||
List<OSSFile> 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<SarFileSplitInfoMap
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dataProcessing(String cut, List<SarFileSplitInfoEO> sarFileSplitInfoEOList) {
|
||||
// 查询文档拆分表中类型是下拉选的字段
|
||||
List<OnlCgformField> 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<SysDictItem> dictItemListAll = new ArrayList<>();
|
||||
for (OnlCgformField onlCgformField : fieldList) {
|
||||
// 查询数据字典值
|
||||
List<SysDictItem> dictItemList = sysDictItemService.selectItemsByDictCode(onlCgformField.getDictField());
|
||||
if(CollectionUtil.isNotEmpty(dictItemList)) {
|
||||
dictItemListAll.addAll(dictItemList);
|
||||
}
|
||||
}
|
||||
|
||||
// 处理数据中所有下拉字典值
|
||||
for (SarFileSplitInfoEO splitInfoEO : sarFileSplitInfoEOList){
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
Map<String, String> 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<String, String> 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");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user