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 dd24a8eb..abaadacd 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 @@ -29,6 +29,7 @@ import java.util.Map; @RequestMapping("/laws/DocumentTool/documentSplit") @Slf4j public class DocumentSplitController { + private final IDocumentSplitService documentSplitService; private final ISarFileSplitInfoService sarFileSplitInfoService; @@ -106,10 +107,54 @@ public class DocumentSplitController { return Result.OK("批量删除成功!"); } + /** + * 文档拆分详情-分页列表查询 + * @param parameter + * @return Result>> + */ @AutoLog(value = "文档拆分详情-分页列表查询") @ApiOperation(value = "文档拆分详情-分页列表查询") @PostMapping("/queryDocumentSplitDetail") public Result>> queryDocumentSplitDetail(@RequestBody Map parameter) { return Result.OK(documentSplitService.queryDocumentSplitDetail(parameter)); } + + /** + * 文档拆分详情-编辑 + * @param parameter + * @return Result>> + */ + @AutoLog(value = "文档拆分详情-编辑") + @ApiOperation(value = "文档拆分详情-编辑") + @PostMapping("/editDocumentSplitDetail") + public Result editDocumentSplitDetail(@RequestBody Map parameter) { + documentSplitService.editDocumentSplitDetail(parameter); + return Result.OK("删除成功!"); + } + + /** + * 文档拆分详情-批量编辑 + * @param parameter + * @return Result>> + */ + @AutoLog(value = "文档拆分详情-批量编辑") + @ApiOperation(value = "文档拆分详情-批量编辑") + @PostMapping("/editBatchDocumentSplitDetail") + public Result editBatchDocumentSplitDetail(@RequestBody Map parameter) { + documentSplitService.editBatchDocumentSplitDetail(parameter); + return Result.OK("批量删除成功!"); + } + + /** + * 文档拆分详情-合并条款 + * @param parameter + * @return Result>> + */ + @AutoLog(value = "文档拆分详情-合并条款") + @ApiOperation(value = "文档拆分详情-合并条款") + @PostMapping("/mergeDocumentSplitDetail") + public Result mergeDocumentSplitDetail(@RequestBody Map parameter) { + documentSplitService.mergeDocumentSplitDetail(parameter); + return Result.OK("合并成功!"); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/DocumentSplitInfo.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/DocumentSplitInfo.java index 32bdbf51..214720c6 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/DocumentSplitInfo.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/DocumentSplitInfo.java @@ -14,7 +14,7 @@ import org.jeecgframework.poi.excel.annotation.Excel; */ @EqualsAndHashCode(callSuper = true) @Data -public class DocumentSplitInfo extends BaseEntity{ +public class DocumentSplitInfo extends BaseEntity { /**标准号*/ @Excel(name = "标准号", width = 15) @ApiModelProperty(value = "标准号") diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/LawsDocumentSplit.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/LawsDocumentSplit.java new file mode 100644 index 00000000..4488f022 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/LawsDocumentSplit.java @@ -0,0 +1,119 @@ +package com.jero.modules.laws.documenttool.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Author: yjz + * @Date: 2023/10/15/19:34 + * @Description: + */ +@Data +@TableName("laws_document_split") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="laws_document_split对象", description="文档拆分") +public class LawsDocumentSplit extends BaseEntity { + /** + * 条文号 + */ + private String itemNum; + + /** + * 条文标题 + */ + private String itemTitle; + + /** + * 条文内容 + */ + private String itemContent; + + /** + * 展示顺序 + */ + private String sortNumber; + + /** + * 拆分目录id + */ + private String menuId; + + /** + * 技术领域 + */ + private String technicalField; + + /** + * 信息类别 + */ + private String infoType; + + /** + * 法规要求类型 + */ + private String lawsRequireType; + + /** + * 功能分类 + */ + private String functionClassification; + + /** + * 功能专业 + */ + private String functionProfessional; + + /** + * 功能分组编码 + */ + private String functionGroupCode; + + /** + * 功能分组名称 + */ + private String functionGroupName; + + /** + * 新认证实施时间 + */ + private String newCerImplementDate; + + /** + * 已认证实施时间 + */ + private String cerImplementDate; + + /** + * 新注册实施时间 + */ + private String newRegisterImplementDate; + + /** + * 适用车型 + */ + private String applications; + + /** + * 动力类型 + */ + private String dynamicType; + + /** + * 适用零部件 + */ + private String applicableComponents; + + /** + * 条文解读 + */ + private String interpretationArticles; + + /** + * 拆分信息记录id + */ + private String infoId; +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/AbstractConditionBase.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/AbstractConditionBase.java index b2d155af..2b488b30 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/AbstractConditionBase.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/AbstractConditionBase.java @@ -1,6 +1,12 @@ package com.jero.modules.laws.documenttool.handler; +import com.jero.common.system.vo.LoginUser; +import com.jero.modules.laws.common.constant.FieldCommon; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; + +import java.text.SimpleDateFormat; +import java.util.Date; /** * @Author: yjz @@ -15,7 +21,27 @@ public class AbstractConditionBase { * @return 拼接完成的sql */ public String buildCondition(String fieldName, String value){ - log.info("字段名:{}, 参数值{}", fieldName, value); + log.info("构建查询条件字段名:{}, 参数值{}", fieldName, value); return ""; } + + /** + * 构建修改字段 + * @return 拼接完成的sql + */ + public String buildUpdate(String fieldName, String value){ + log.info("构建修改字段字段名:{}, 参数值{}", fieldName, value); + return ""; + } + + /** + * 更新人、更新时间填充 + * @return + */ + public String getUpdateByAndUpdateTime() { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return " update_by = " + "'" + sysUser.getUsername() + "'" + + "update_time = " + FieldCommon.STR_TO_DATE_PREFIX + dateFormat.format(new Date()) + "','%Y-%m-%d %H:%i:%s')"; + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/DateManyConditionImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/DateManyConditionImpl.java index 5f1f1ed6..728f05d4 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/DateManyConditionImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/DateManyConditionImpl.java @@ -48,6 +48,11 @@ public class DateManyConditionImpl extends AbstractConditionBase { return dateMany; } + @Override + public String buildUpdate(String fieldName, String value){ + return fieldName + " = " + "'" + value +"'"; + } + /** * 初始化注册到工厂 */ diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/DateSingleConditionImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/DateSingleConditionImpl.java index 87d52404..77b0f97a 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/DateSingleConditionImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/DateSingleConditionImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.laws.documenttool.handler.impl; +import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.documenttool.common.DocumentSplitCommon; import com.jero.modules.laws.documenttool.factory.ConditionMapFactory; import com.jero.modules.laws.documenttool.handler.AbstractConditionBase; @@ -37,6 +38,11 @@ public class DateSingleConditionImpl extends AbstractConditionBase { return dateSingle; } + @Override + public String buildUpdate(String fieldName, String value){ + return fieldName + " = " + "'" + FieldCommon.STR_TO_DATE_PREFIX + value + FieldCommon.STR_TO_DATE_SUFFIX +"'"; + } + /** * 初始化注册到工厂 */ diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/UniversalImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/UniversalImpl.java new file mode 100644 index 00000000..3eb93512 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/UniversalImpl.java @@ -0,0 +1,22 @@ +package com.jero.modules.laws.documenttool.handler.impl; + +import com.jero.modules.laws.common.constant.FieldCommon; +import com.jero.modules.laws.documenttool.handler.AbstractConditionBase; +import lombok.extern.slf4j.Slf4j; + +/** + * @Author: yjz + * @Date: 2023/10/15/15:19 + * @Description: 普通 + */ +@Slf4j +public class UniversalImpl extends AbstractConditionBase { + public UniversalImpl(){ + log.info(""); + } + + @Override + public String buildUpdate(String fieldName, String value){ + return fieldName + " = " + "'" + FieldCommon.STR_TO_DATE_PREFIX + value + FieldCommon.STR_TO_DATE_SUFFIX +"'"; + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java index 104b16fd..f5ded4fb 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo; import com.jero.modules.split.entity.SarFileSplitInfoEO; +import com.jero.modules.split.entity.SarFileSplitItemsValEO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -40,4 +41,40 @@ public interface DocumentSplitMapper { * @return */ IPage> queryDocumentSplitDetail(Page> mapPage, @Param("selectColumn") String selectColumn, @Param("selectCondition") String selectCondition); + + /** + * 文档拆分详情-列表查询 + * @param selectColumn + * @param selectCondition + * @return + */ + List> queryDocumentSplitDetail(@Param("selectColumn") String selectColumn, @Param("selectCondition") String selectCondition); + + /** + * 文档拆分详情-编辑 + * @param updateSet + * @param updateCondition + * @return int + */ + int editDocumentSplitDetail(@Param("updateSet") String updateSet,@Param("updateCondition") String updateCondition); + + /** + * 条目查询根据itemId集合 + * @param itemIdList + * @return + */ + List queryItemsValByItemIds(@Param("itemIdList") List itemIdList); + + /** + * 条目查询根据itemId + * @param itemId + * @return + */ + List queryItemsValByItemId(@Param("itemId") String itemId); + + /** + * 目录删除根据menuId集合 + * @param menuIdList + */ + int sarFileSplitMenudeleteByIdList(@Param("menuIdList") List menuIdList); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/LawsDocumentSplitMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/LawsDocumentSplitMapper.java new file mode 100644 index 00000000..972004a5 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/LawsDocumentSplitMapper.java @@ -0,0 +1,12 @@ +package com.jero.modules.laws.documenttool.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit; + +/** + * @Author: yjz + * @Date: 2023/10/15/19:32 + * @Description: + */ +public interface LawsDocumentSplitMapper extends BaseMapper { +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml index 31e2d5e3..64b4ab71 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml @@ -2,6 +2,14 @@ + + delete from SAR_FILE_SPLIT_MENU + where id in + + #{item} + + + + + + + + + + UPDATE laws_document_split + SET ${updateSet} + WHERE #{updateCondition} + 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 bb0f121f..d2acbf46 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 @@ -48,4 +48,22 @@ public interface IDocumentSplitService { * @param sarFileSplitInfoEO */ void add(SarFileSplitInfoEO sarFileSplitInfoEO); + + /** + * 文档拆分详情-编辑 + * @param parameter + */ + void editDocumentSplitDetail(Map parameter); + + /** + * 文档拆分详情-批量编辑 + * @param parameter + */ + void editBatchDocumentSplitDetail(Map parameter); + + /** + * 文档拆分详情-合并条款 + * @param parameter + */ + void mergeDocumentSplitDetail(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 693dee5a..91e80c1d 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 @@ -13,12 +13,17 @@ 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.factory.ConditionMapFactory; +import com.jero.modules.laws.documenttool.handler.impl.DateManyConditionImpl; +import com.jero.modules.laws.documenttool.handler.impl.UniversalImpl; import com.jero.modules.laws.documenttool.mapper.DocumentSplitMapper; +import com.jero.modules.laws.documenttool.mapper.LawsDocumentSplitMapper; import com.jero.modules.laws.documenttool.service.IDocumentSplitService; import com.jero.modules.split.entity.SarFileSplitInfoEO; +import com.jero.modules.split.entity.SarFileSplitItemsValEO; import com.jero.modules.split.entity.SarFileSplitMenuEO; import com.jero.modules.split.enums.SplitEnum; import com.jero.modules.split.enums.SplitFileTypeTypeEnum; +import com.jero.modules.split.mapper.SarFileSplitItemsValEOMapper; import com.jero.modules.split.service.ISarFileSplitInfoService; import com.jero.modules.split.service.ISarFileSplitMenuEOService; import com.jero.modules.split.service.impl.FileSpiltService; @@ -47,20 +52,29 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { private final LawsCommonMapper lawsCommonMapper; private final FileSpiltService fileSpiltService; private final ISarFileSplitMenuEOService sarFileSplitMenuEOService; - private static final String INFO_ID = "infoId"; - private static final String ITEM_NUM = "itemNum"; - private static final String ITEM_TITLE = "itemTitle"; - private static final String ITEM_CONTENT = "itemContent"; - private static final String MENU_ID = "menuId"; + private final LawsDocumentSplitMapper lawsDocumentSplitMapper; + private final SarFileSplitItemsValEOMapper sarFileSplitItemsValEOMapper; + private static final String INFO_ID = "info_id"; + private static final String ID = "id"; + private static final String IDS = "ids"; + private static final String ITEM_NUM = "item_num"; + private static final String ITEM_TITLE = "item_title"; + private static final String ITEM_CONTENT = "item_content"; + private static final String MENU_ID = "menu_id"; public DocumentSplitServiceImpl(DocumentSplitMapper documentSplitMapper, ISarFileSplitInfoService sarFileSplitInfoService, LawsCommonMapper lawsCommonMapper, - FileSpiltService fileSpiltService, ISarFileSplitMenuEOService sarFileSplitMenuEOService) { + FileSpiltService fileSpiltService, + ISarFileSplitMenuEOService sarFileSplitMenuEOService, + LawsDocumentSplitMapper lawsDocumentSplitMapper, + SarFileSplitItemsValEOMapper sarFileSplitItemsValEOMapper) { this.documentSplitMapper = documentSplitMapper; this.sarFileSplitInfoService = sarFileSplitInfoService; this.lawsCommonMapper = lawsCommonMapper; this.fileSpiltService = fileSpiltService; this.sarFileSplitMenuEOService = sarFileSplitMenuEOService; + this.lawsDocumentSplitMapper = lawsDocumentSplitMapper; + this.sarFileSplitItemsValEOMapper = sarFileSplitItemsValEOMapper; } @Override @@ -136,6 +150,141 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { } } + @Override + public void editDocumentSplitDetail(Map parameter) { + // 查询全部字段列表 + List fieldList = lawsCommonMapper.getFieldList(TableNameEnum.DOCUMENT_SPLIT.getTableName()); + // 编辑页展示的字段 + fieldList = fieldList.stream().filter(v -> YesOrNoEnum.YES.getInteger() + .equals(v.getIsShowFormCreate())).collect(Collectors.toList()); + List finalFieldList = fieldList; + parameter.forEach((k, v) -> { + // 修改字段 + String updateSet = getUpdateValue(finalFieldList, k, (String) v); + // where条件 + String updateCondition = (String) parameter.get("id"); + documentSplitMapper.editDocumentSplitDetail(updateSet, updateCondition); + }); + } + + @NotNull + private static String getUpdateValue(List finalFieldList, String k, String v) { + // 匹配参数和字段 + Optional lawsTag = finalFieldList.stream().filter(o -> k.equals(o.getDbFieldName())).findFirst(); + ArrayList sqlList = new ArrayList<>(); + lawsTag.ifPresent(l -> { + // 构建修改字段 + if (LawsFieldTypeEnum.DATE_MANY.getValue().equals(l.getFieldShowType())){ + // 多日期 + sqlList.add(new DateManyConditionImpl().buildUpdate(l.getDbFieldName(), v)); + }else { + sqlList.add(new UniversalImpl().buildUpdate(l.getDbFieldName(), v)); + } + }); + // 修改数据 + String updateByAndUpdateTime = new UniversalImpl().getUpdateByAndUpdateTime(); + String join = String.join(",", sqlList); + return updateByAndUpdateTime + "," + join; + } + + @Override + public void editBatchDocumentSplitDetail(Map parameter) { + // 查询全部字段列表 + List fieldList = lawsCommonMapper.getFieldList(TableNameEnum.DOCUMENT_SPLIT.getTableName()); + // 编辑页展示的字段 + fieldList = fieldList.stream().filter(v -> YesOrNoEnum.YES.getInteger() + .equals(v.getIsShowFormCreate())).collect(Collectors.toList()); + List finalFieldList = fieldList; + parameter.forEach((k, v) -> { + // 修改字段 + String updateSet = getUpdateValue(finalFieldList, k, (String) v); + // where条件 + String updateCondition = ""; + if (parameter.containsKey("id")){ + String id = (String) parameter.get("id"); + updateCondition = "id = " + "'" + id + "'"; + }else { + String infoId = (String) parameter.get(INFO_ID); + updateCondition = "info_id = " + "'" + infoId + "'"; + } + documentSplitMapper.editDocumentSplitDetail(updateSet, updateCondition); + }); + } + + @Override + public void mergeDocumentSplitDetail(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()); + // sql查询列字段拼接 + String selectColumn = getSelectColumn(fieldListSelect); + // 勾选数据ids + String ids = (String) parameter.get(IDS); + List idList = Arrays.asList(ids.split(",")); + // sql where条件拼接 + String selectCondition = "where del_flag = 0 and s.id in ('" + String.join(",", idList) + "')"; + // 排序 + orderBy(new StringBuilder(selectCondition)); + // 查询数据 + List> listMap = documentSplitMapper.queryDocumentSplitDetail(selectColumn, selectCondition); + // 第一条数据 + Map firstData = listMap.get(0); + listMap.remove(0); + // 合并数据(合并每个key对应的value) + String content = firstData.get(ITEM_CONTENT) + mergeData(listMap); + String updateByAndUpdateTime = new UniversalImpl().getUpdateByAndUpdateTime(); + String updateSet = updateByAndUpdateTime + "," + ITEM_CONTENT + " = " + "'" + content + "'"; + String updateCondition = "id = " + "'" + firstData.get(ID) + "'"; + // 修改数据 + documentSplitMapper.editDocumentSplitDetail(updateSet, updateCondition); + List otherIds = listMap.stream().map(v -> (String)v.get(ID)).collect(Collectors.toList()); + // 删除旧数据 + lawsDocumentSplitMapper.deleteBatchIds(otherIds); + + // 目录更新 + List menuIdList = listMap.stream().map(v -> (String) v.get(MENU_ID)).distinct().collect(Collectors.toList()); + // 删除旧数据 + documentSplitMapper.sarFileSplitMenudeleteByIdList(menuIdList); + + // 修改条目 + ArrayList sarFileSplitItemsValEOSList = new ArrayList<>(); + // 查询旧数据 + for (Map map : listMap) { + String id = (String) map.get(ID); + sarFileSplitItemsValEOSList.addAll(documentSplitMapper.queryItemsValByItemId(id)); + } + List sarFileSplitItemsValEOS = documentSplitMapper.queryItemsValByItemId((String) firstData.get(ID)); + // 第一条数据信息的最大的排序字段值 + Optional sarFileSplitItemsValEOOptional = sarFileSplitItemsValEOS.stream().sorted().findFirst(); + sarFileSplitItemsValEOOptional.ifPresent(v ->{ + // 排序字段 + Integer displaySeq = v.getDisplaySeq(); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + for (SarFileSplitItemsValEO fileSplitItemsValEO : sarFileSplitItemsValEOSList) { + displaySeq += 1; + fileSplitItemsValEO.setItemId(v.getItemId()); + fileSplitItemsValEO.setDisplaySeq(displaySeq); + fileSplitItemsValEO.setModifyTime(new Date()); + fileSplitItemsValEO.setModifyUser(sysUser.getUsername()); + // 修改数据 + sarFileSplitItemsValEOMapper.updateByPrimaryKeySelective(fileSplitItemsValEO); + } + } ); + } + + private String mergeData(List> listMap) { + StringBuilder stringBuilder = new StringBuilder(); + // 合并数据(合并每个key对应的value) + for (Map map : listMap) { + String num = (String) map.get(ITEM_NUM); + String content = (String) map.get(ITEM_CONTENT); + stringBuilder.append("

").append(num).append("

").append(content); + } + return stringBuilder.toString(); + } + private void saveDocumentSplitInfo(SarFileSplitInfoEO sarFileSplitInfoEO) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); Date now = new Date(); @@ -213,6 +362,10 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { } private void defaultCondition(Map parameter, StringBuilder selectCondition) { + if (parameter.containsKey(ID)){ + selectCondition.append(" and s.id = '").append(parameter.get(ID)).append("'"); + parameter.remove(ID); + } if (parameter.containsKey(INFO_ID)){ selectCondition.append(" and s.info_id = '").append(parameter.get(INFO_ID)).append("'"); parameter.remove(INFO_ID); @@ -223,12 +376,12 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { } if (parameter.containsKey(ITEM_TITLE)){ // 模糊匹配 - selectCondition.append(likeCondition("item_title", (String) parameter.get(ITEM_TITLE))); + selectCondition.append(likeCondition(ITEM_TITLE, (String) parameter.get(ITEM_TITLE))); parameter.remove(ITEM_TITLE); } if (parameter.containsKey(ITEM_CONTENT)){ // 模糊匹配 - selectCondition.append(likeCondition("item_content", (String) parameter.get(ITEM_CONTENT))); + selectCondition.append(likeCondition(ITEM_CONTENT, (String) parameter.get(ITEM_CONTENT))); parameter.remove(ITEM_CONTENT); } // 树节点搜索 diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index 06828968..1f2842f1 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -437,7 +437,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl