diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java index e54eef83..af822461 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java @@ -5,6 +5,7 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.modules.laws.documenttool.common.DocumentSplitCommon; import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo; +import com.jero.modules.laws.documenttool.entity.LawsDocumentSplitView; import com.jero.modules.laws.documenttool.service.IDocumentSplitService; import com.jero.modules.split.entity.SarFileSplitInfoEO; import com.jero.modules.split.entity.SarFileSplitItemsValEO; @@ -45,7 +46,7 @@ public class DocumentSplitController { } /** - * 分页列表查询 + * 文档拆分-分页列表查询 * * @return */ @@ -58,6 +59,18 @@ public class DocumentSplitController { return Result.OK(documentSplitService.queryByPage(documentSplitInfo, pageNo, pageSize)); } + /** + * 文档拆分-查看 + * + * @return + */ + @AutoLog(value = "文档拆分-查看") + @ApiOperation(value="文档拆分-查看", notes="文档拆分-查看") + @PostMapping(value = "/queryView") + public Result queryView(@RequestBody Map parameter) { + return Result.OK(documentSplitService.queryView(parameter)); + } + /** * 更改权限 * diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/IDocumentSplitService.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/IDocumentSplitService.java index 229735f2..70dd17e1 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/IDocumentSplitService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/IDocumentSplitService.java @@ -2,6 +2,7 @@ package com.jero.modules.laws.documenttool.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo; +import com.jero.modules.laws.documenttool.entity.LawsDocumentSplitView; import com.jero.modules.split.entity.SarFileSplitInfoEO; import com.jero.modules.split.entity.SarFileSplitItemsValEO; @@ -46,6 +47,13 @@ public interface IDocumentSplitService { */ IPage> queryDocumentSplitDetail(Map parameter); + /** + * 文档拆分详情-列表查询 + * @param parameter + * @return + */ + List> queryDocumentSplitDetailByList(Map parameter); + /** * 文档拆分-拆分 * @param sarFileSplitInfoEO @@ -121,4 +129,11 @@ public interface IDocumentSplitService { * @return */ List queryInterpretationArticlesList(String itemId); + + /** + * 文档拆分-查看 + * @param parameter + * @return + */ + LawsDocumentSplitView queryView(Map parameter); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java index 42cf0184..aa13dbc3 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java @@ -16,6 +16,7 @@ import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.mapper.LawsCommonMapper; import com.jero.modules.laws.documenttool.common.DocumentSplitCommon; import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo; +import com.jero.modules.laws.documenttool.entity.LawsDocumentSplitView; import com.jero.modules.laws.documenttool.factory.ConditionMapFactory; import com.jero.modules.laws.documenttool.handler.impl.DateManyConditionImpl; import com.jero.modules.laws.documenttool.handler.impl.UniversalImpl; @@ -164,9 +165,30 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { return mapIPage; } + @Override + public List> queryDocumentSplitDetailByList(Map parameter) { + // 查询全部字段列表 + List fieldList = lawsCommonMapper.getFieldList(TableNameEnum.DOCUMENT_SPLIT.getTableName()); + // 列表展示字段 + List fieldListSelect = fieldList.stream().filter(v -> YesOrNoEnum.YES.getValue() + .equals(String.valueOf(v.getIsShowList()))).collect(Collectors.toList()); + // 搜索条件展示字段 + List fieldListCondition = fieldList.stream().filter(v -> YesOrNoEnum.YES.getValue() + .equals(String.valueOf(v.getIsQuery()))).collect(Collectors.toList()); + + // sql查询列字段拼接 + String selectColumn = getSelectColumn(fieldListSelect); + // sql where条件拼接 + String selectCondition = getSelectCondition(parameter, fieldListCondition); + + // 查询数据 + List> list = documentSplitMapper.queryDocumentSplitDetail(selectColumn, selectCondition); + // 翻译 + dicTranslate(list, fieldListSelect); + return list; + } + private void dicTranslate(List> records, List fieldListSelect) { - // 单选树结构、多选树结构 - List treeTypeList = Arrays.asList(LawsFieldTypeEnum.TREE_BOX.getValue(), LawsFieldTypeEnum.TREE_BOX_SINGLE.getValue()); List lawsTags = fieldListSelect.stream() .filter(j -> FieldCommon.TYPE_DICT.contains(j.getFieldShowType())).collect(Collectors.toList()); for (Map map : records) { @@ -176,22 +198,17 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { // 字典查找 SysDict sysDict = sysDictService.getById(lawsTag.getDictId()); if (!Objects.isNull(sysDict)){ - setDicText(treeTypeList, map, lawsTag, dbFieldName, sysDict); + setDicText(map, dbFieldName, sysDict); } } } } } - private void setDicText(List treeTypeList, Map map, LawsTag lawsTag, String dbFieldName, SysDict sysDict) { + private void setDicText(Map map, String dbFieldName, SysDict sysDict) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(SysDictItem::getDictId, sysDict.getId()); - // 树结构查询dic_id - if (treeTypeList.contains(lawsTag.getFieldShowType())){ - queryWrapper.in(SysDictItem::getId, Arrays.asList(map.get(dbFieldName).toString().split(","))); - }else { - queryWrapper.in(SysDictItem::getItemValue, Arrays.asList(map.get(dbFieldName).toString().split(","))); - } + .eq(SysDictItem::getDictId, sysDict.getId()) + .in(SysDictItem::getItemValue, Arrays.asList(map.get(dbFieldName).toString().split(","))); // 字典值查询 List list = sysDictItemService.list(queryWrapper); if(!list.isEmpty()){ @@ -599,6 +616,24 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { return documentSplitMapper.queryItemsValByItemId(itemId, DocumentSplitCommon.INTERPRETATION); } + @Override + public LawsDocumentSplitView queryView(Map parameter) { + LawsDocumentSplitView lawsDocumentSplitView = new LawsDocumentSplitView(); + String id = (String) parameter.get(ID); + // 文档拆分信息 + DocumentSplitInfo documentSplitInfo = new DocumentSplitInfo(); + documentSplitInfo.setId(id); + List documentSplitInfos = queryByList(documentSplitInfo); + lawsDocumentSplitView.setDocumentSplitInfo(documentSplitInfos.get(0)); + + // 文档拆分详情 + parameter.remove(ID); + parameter.put(INFO_ID, id); + List> documentSplitDetailByList = queryDocumentSplitDetailByList(parameter); + lawsDocumentSplitView.setDocumentSplitDetail(documentSplitDetailByList); + return lawsDocumentSplitView; + } + private void manageData(Map resultMap, StringBuilder fieldsBuilder, StringBuilder valuesBuilder) { // 所有key(字段名) resultMap.forEach((k, v) -> { @@ -751,6 +786,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { @NotNull private static QueryWrapper getSarFileSplitInfoEOQueryWrapper(DocumentSplitInfo documentSplitInfo) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(StringUtils.isNotBlank(documentSplitInfo.getId()), "id", documentSplitInfo.getId()); // 标准编号/标准名称 if (StringUtils.isNotBlank(documentSplitInfo.getSerialNumberOrName())){ queryWrapper.and(qw -> qw