文档库--编辑中log显示顺序

This commit is contained in:
zhn
2022-03-28 15:37:17 +08:00
parent bc2180a138
commit 204763d419
@@ -1186,121 +1186,126 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
return result;
}
private void esFullText(String cut, List<OnlCgformField> fieldList, List<SysCategory> categoryList, List<SysDictItem> dictItemList, List<Map<String, Object>> mapList, StringBuilder sb, Map.Entry<String, Object> entry) {
for (OnlCgformField onlCgformField : fieldList) {
//输入框
if((FieldTypeEnum.TEXT_STRING.getValue().equals(onlCgformField.getFieldShowType())
|| FieldTypeEnum.TEXT_NUMBER.getValue().equals(onlCgformField.getFieldShowType()))
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
sb.append(onlCgformField.getDbFieldTxt()+":"+entry.getValue()+" ");
}
}
//下拉框
if((FieldTypeEnum.PULL_SINGLE.getValue().equals(onlCgformField.getFieldShowType())
|| FieldTypeEnum.PULL_MORE.getValue().equals(onlCgformField.getFieldShowType()))
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
List<SysDictItem> dictItems = dictItemList.stream()
.filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(entry.getKey()))
.collect(Collectors.toList());
StringBuilder sbText = new StringBuilder();
//处理数据字典
for (String item : entry.getValue().toString().split(",")) {
if(dictItems.size() != 0){
List<SysDictItem> itemValue = dictItems.stream().filter(e -> item.equals(e.getItemValue())).collect(Collectors.toList());
if(itemValue.size() != 0){
sbText.append(itemValue.get(0).getItemText()+",");
}
}
}
String substring = sbText.substring(0, sbText.length() - 1);
sb.append(onlCgformField.getDbFieldTxt()+":"+substring+" ");
}
}
//树形
if(FieldTypeEnum.TREE.getValue().equals(onlCgformField.getFieldShowType())
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
StringBuilder sbTree = new StringBuilder();
List<String> idList = Arrays.asList(entry.getValue().toString().split(","));
List<SysCategory> sysCategoryList = categoryList.stream().filter(e -> idList.contains(e.getId())).collect(Collectors.toList());
List<String> nameList = sysCategoryList.stream().map(SysCategory::getName).collect(Collectors.toList());
List<String> nameEnList = sysCategoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList());
if (CutEnum.CN.getValue().equals(cut)) {
sbTree.append(StringUtils.join(nameList, ","));
} else {
sbTree.append(StringUtils.join(nameEnList, ","));
}
sb.append(onlCgformField.getDbFieldTxt()+":"+sbTree.toString()+" ");
}
}
//日期
if(FieldTypeEnum.DATE_SINGLE.getValue().equals(onlCgformField.getFieldShowType())
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
sb.append(onlCgformField.getDbFieldTxt()+":"+entry.getValue().toString().split(" ")[0]+" ");
}
}
//标准选择
if(FieldTypeEnum.STANDARD.getValue().equals(onlCgformField.getFieldShowType())
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
StringBuilder standSb = new StringBuilder();
if("replaced_standard".equals(entry.getKey())){
//被代替标准
for (Map<String, Object> stringObjectMap : mapList) {
String replaceStandard = (String) stringObjectMap.get("replace_standard");
if(StringUtils.isNotBlank(replaceStandard) && replaceStandard.contains((String)entry.getValue())){
standSb.append(stringObjectMap.get("serial_number")+",");
}
}
try {
for (OnlCgformField onlCgformField : fieldList) {
//输入框
if((FieldTypeEnum.TEXT_STRING.getValue().equals(onlCgformField.getFieldShowType())
|| FieldTypeEnum.TEXT_NUMBER.getValue().equals(onlCgformField.getFieldShowType()))
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
//对应标准,代替标准
for (String valueTemp : entry.getValue().toString().split(",")) {
if(isId(valueTemp)){
//是id
for (Map<String, Object> stringObjectMap : mapList) {
if(stringObjectMap.get("id").equals(valueTemp)){
standSb.append(stringObjectMap.get("serial_number")+",");
}
sb.append(onlCgformField.getDbFieldTxt()+":"+entry.getValue()+" ");
}
}
//下拉框
if((FieldTypeEnum.PULL_SINGLE.getValue().equals(onlCgformField.getFieldShowType())
|| FieldTypeEnum.PULL_MORE.getValue().equals(onlCgformField.getFieldShowType()))
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
List<SysDictItem> dictItems = dictItemList.stream()
.filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(entry.getKey()))
.collect(Collectors.toList());
StringBuilder sbText = new StringBuilder();
//处理数据字典
for (String item : entry.getValue().toString().split(",")) {
if(dictItems.size() != 0){
List<SysDictItem> itemValue = dictItems.stream().filter(e -> item.equals(e.getItemValue())).collect(Collectors.toList());
if(itemValue.size() != 0){
sbText.append(itemValue.get(0).getItemText()+",");
}
}else{
//不是id
standSb.append(valueTemp+",");
}
}
if(StringUtils.isNotBlank(sbText)){
String substring = sbText.substring(0, sbText.length() - 1);
sb.append(onlCgformField.getDbFieldTxt()+":"+substring+" ");
}
}
}
//树形
if(FieldTypeEnum.TREE.getValue().equals(onlCgformField.getFieldShowType())
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
StringBuilder sbTree = new StringBuilder();
List<String> idList = Arrays.asList(entry.getValue().toString().split(","));
List<SysCategory> sysCategoryList = categoryList.stream().filter(e -> idList.contains(e.getId())).collect(Collectors.toList());
List<String> nameList = sysCategoryList.stream().map(SysCategory::getName).collect(Collectors.toList());
List<String> nameEnList = sysCategoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList());
if (CutEnum.CN.getValue().equals(cut)) {
sbTree.append(StringUtils.join(nameList, ","));
} else {
sbTree.append(StringUtils.join(nameEnList, ","));
}
sb.append(onlCgformField.getDbFieldTxt()+":"+sbTree.toString()+" ");
}
}
if(StringUtils.isNotBlank(standSb)){
String substring = standSb.substring(0, standSb.length() - 1);
sb.append(onlCgformField.getDbFieldTxt()+":"+substring+" ");
//日期
if(FieldTypeEnum.DATE_SINGLE.getValue().equals(onlCgformField.getFieldShowType())
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
sb.append(onlCgformField.getDbFieldTxt()+":"+entry.getValue().toString().split(" ")[0]+" ");
}
}
//标准选择
if(FieldTypeEnum.STANDARD.getValue().equals(onlCgformField.getFieldShowType())
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
StringBuilder standSb = new StringBuilder();
if("replaced_standard".equals(entry.getKey())){
//被代替标准
for (Map<String, Object> stringObjectMap : mapList) {
String replaceStandard = (String) stringObjectMap.get("replace_standard");
if(StringUtils.isNotBlank(replaceStandard) && replaceStandard.contains((String)entry.getValue())){
standSb.append(stringObjectMap.get("serial_number")+",");
}
}
}else{
//对应标准,代替标准
for (String valueTemp : entry.getValue().toString().split(",")) {
if(isId(valueTemp)){
//是id
for (Map<String, Object> stringObjectMap : mapList) {
if(stringObjectMap.get("id").equals(valueTemp)){
standSb.append(stringObjectMap.get("serial_number")+",");
}
}
}else{
//不是id
standSb.append(valueTemp+",");
}
}
}
if(StringUtils.isNotBlank(standSb)){
String substring = standSb.substring(0, standSb.length() - 1);
sb.append(onlCgformField.getDbFieldTxt()+":"+substring+" ");
}
}
}
//文件
if(FieldTypeEnum.FILE.getValue().equals(onlCgformField.getFieldShowType())
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
List<OSSFile> fileInfos = iOSSFileService.getFileInfos((String) entry.getValue());
List<String> fileNameList = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.toList());
sb.append(onlCgformField.getDbFieldTxt()+":"+StringUtils.join(fileNameList,",")+" ");
}
}
}
//文件
if(FieldTypeEnum.FILE.getValue().equals(onlCgformField.getFieldShowType())
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
if(ObjectUtils.isEmpty(entry.getValue())){
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
}else{
List<OSSFile> fileInfos = iOSSFileService.getFileInfos((String) entry.getValue());
List<String> fileNameList = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.toList());
sb.append(onlCgformField.getDbFieldTxt()+":"+StringUtils.join(fileNameList,",")+" ");
}
}
} catch (Exception e) {
log.error("es全文转换失败");
}
}
@@ -1413,8 +1418,25 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
StringBuilder valuesBuilder = new StringBuilder();
StringBuilder sb = new StringBuilder();
//调整map中字段的顺序和新增表单中字段顺序一致
Map<String,Object> mapNew = new LinkedHashMap<>();
for (OnlCgformField onlCgformField : fieldList) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
//固定字段
if("create_by".equals(entry.getKey())
|| "create_time".equals(entry.getKey())
|| "update_by".equals(entry.getKey())
|| "update_time".equals(entry.getKey())
|| "sys_org_code".equals(entry.getKey())){
mapNew.put(entry.getKey(),entry.getValue());
}else if(onlCgformField.getDbFieldName().equals(entry.getKey())){
mapNew.put(entry.getKey(),entry.getValue());
break;
}
}
}
List<OSSFile> oSSFileAll = new ArrayList<>();
for (Map.Entry<String, Object> entry : map.entrySet()) {
for (Map.Entry<String, Object> entry : mapNew.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
//es全文新增数据(数据转换)
@@ -1604,6 +1626,18 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
@NotNull
private StringBuilder getUpdateInfo(Map<String, Object> map, List<Map<String, Object>> dataList, List<OnlCgformField> fieldList, List<OnlCgformField> fieldDateList, List<OnlCgformField> fieldFileList, List<OnlCgformField> fieldPullList, String cut) {
//调整dataList中map中字段顺序与表单中的一致
Map<String,Object> mapNew = new LinkedHashMap<>();
for (OnlCgformField onlCgformField : fieldList) {
for (Map.Entry<String, Object> entry : dataList.get(0).entrySet()) {
if(onlCgformField.getDbFieldName().equals(entry.getKey())){
mapNew.put(entry.getKey(),entry.getValue());
break;
}
}
}
dataList.remove(0);
dataList.add(mapNew);
Map<String, Object> mapTemp = new HashMap<>();
mapCopy(map, mapTemp);
//时间类型的字段