feat(文档拆分): 条目信息、复制、批量复制
This commit is contained in:
+42
@@ -7,6 +7,7 @@ import com.jero.modules.laws.documenttool.common.DocumentSplitCommon;
|
||||
import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo;
|
||||
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.service.ISarFileSplitInfoService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -17,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -120,6 +122,19 @@ public class DocumentSplitController {
|
||||
return Result.OK(documentSplitService.queryDocumentSplitDetail(parameter));
|
||||
}
|
||||
|
||||
/**
|
||||
* 文档拆分详情-条目信息列表
|
||||
* @param id
|
||||
* @return Result<IPage<Map<String,Object>>>
|
||||
*/
|
||||
@AutoLog(value = "文档拆分详情-条目信息列表")
|
||||
@ApiOperation(value = "文档拆分详情-条目信息列表")
|
||||
@GetMapping("/queryItemsValList")
|
||||
public Result<List<SarFileSplitItemsValEO>> queryItemsValList(String id) {
|
||||
return Result.OK(documentSplitService.queryItemsValList(id));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 文档拆分详情-编辑
|
||||
* @param parameter
|
||||
@@ -184,4 +199,31 @@ public class DocumentSplitController {
|
||||
documentSplitService.mergeDocumentSplitDetail(parameter);
|
||||
return Result.OK("合并成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 文档拆分详情-复制
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "文档拆分详情-复制")
|
||||
@ApiOperation(value = "文档拆分详情-复制")
|
||||
@GetMapping("/copyDocumentSplitDetail")
|
||||
public Result<T> copyDocumentSplitDetail(String id) {
|
||||
documentSplitService.copyDocumentSplitDetail(id);
|
||||
return Result.OK("复制成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 文档拆分详情-批量复制
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "文档拆分详情-批量复制")
|
||||
@ApiOperation(value = "文档拆分详情-批量复制")
|
||||
@GetMapping("/copyBatchDocumentSplitDetail")
|
||||
public Result<T> copyBatchDocumentSplitDetail(String ids) {
|
||||
documentSplitService.copyBatchDocumentSplitDetail(ids);
|
||||
return Result.OK("批量复制成功!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+14
@@ -103,4 +103,18 @@ public interface DocumentSplitMapper {
|
||||
* @return
|
||||
*/
|
||||
int addBatchItemsVal(@Param("valList") List<SarFileSplitItemsValEO> valList);
|
||||
|
||||
/**
|
||||
* 文档拆分详情通过id查询
|
||||
* @param id
|
||||
*/
|
||||
Map<String, Object> queryLawsDocumentSplitById(@Param("id") String id);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-新增
|
||||
* @param insertField
|
||||
* @param insertValue
|
||||
* @return
|
||||
*/
|
||||
int insertLawsDocumentSplit(@Param("insertField") String insertField, @Param("insertValue") String insertValue);
|
||||
}
|
||||
|
||||
+11
@@ -18,6 +18,11 @@
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="insertLawsDocumentSplit">
|
||||
insert into laws_document_split(${insertField})
|
||||
values (${insertValue})
|
||||
</insert>
|
||||
|
||||
<delete id="sarFileSplitMenuDeleteByIdList">
|
||||
delete from SAR_FILE_SPLIT_MENU
|
||||
where id in
|
||||
@@ -91,6 +96,12 @@
|
||||
order by display_seq
|
||||
</select>
|
||||
|
||||
<select id="queryLawsDocumentSplitById" resultType="java.util.Map">
|
||||
select *
|
||||
from laws_document_split
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<update id="editDocumentSplitDetail">
|
||||
UPDATE laws_document_split
|
||||
SET ${updateSet}
|
||||
|
||||
+20
@@ -3,6 +3,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.split.entity.SarFileSplitInfoEO;
|
||||
import com.jero.modules.split.entity.SarFileSplitItemsValEO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -78,4 +79,23 @@ public interface IDocumentSplitService {
|
||||
* @param parameter
|
||||
*/
|
||||
void deleteBatchDocumentSplitDetail(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-复制
|
||||
* @param id
|
||||
*/
|
||||
void copyDocumentSplitDetail(String id);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-批量复制
|
||||
* @param ids
|
||||
*/
|
||||
void copyBatchDocumentSplitDetail(String ids);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-条目信息列表
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
List<SarFileSplitItemsValEO> queryItemsValList(String itemId);
|
||||
}
|
||||
|
||||
+61
-4
@@ -38,6 +38,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -181,12 +182,12 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
updateSet.insert(0, updateByAndUpdateTime + ",");
|
||||
updateSet.deleteCharAt(updateSet.length() - 1);
|
||||
// where条件
|
||||
String updateCondition = "id = '" + parameter.get("id") + "'";
|
||||
String updateCondition = "id = '" + parameter.get(ID) + "'";
|
||||
documentSplitMapper.editDocumentSplitDetail(updateSet.toString(), updateCondition);
|
||||
|
||||
// 条目信息更新
|
||||
// 删除旧数据
|
||||
documentSplitMapper.deleteItemsValByItemId((String) parameter.get("id"));
|
||||
documentSplitMapper.deleteItemsValByItemId((String) parameter.get(ID));
|
||||
// 添加新数据
|
||||
documentSplitMapper.addBatchItemsVal(valList);
|
||||
}
|
||||
@@ -357,13 +358,69 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
documentSplitMapper.deleteBatchDocumentSplitDetail(updateCondition);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void copyDocumentSplitDetail(String id) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 查询数据
|
||||
Map<String, Object> resultMap = documentSplitMapper.queryLawsDocumentSplitById(id);
|
||||
// 字段名
|
||||
StringBuilder fieldsBuilder = new StringBuilder();
|
||||
// 字段值
|
||||
StringBuilder valuesBuilder = new StringBuilder();
|
||||
Date date = new Date();
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String format = dateFormat.format(date);
|
||||
String newItemValId = UUID.randomUUID().toString().replace("-", "");
|
||||
resultMap.put(ID, newItemValId);
|
||||
resultMap.put("create_by", loginUser.getUsername());
|
||||
resultMap.put("create_time", format);
|
||||
resultMap.put("update_by", loginUser.getUsername());
|
||||
resultMap.put("update_time", format);
|
||||
// 字段名和值
|
||||
manageData(resultMap, fieldsBuilder, valuesBuilder);
|
||||
documentSplitMapper.insertLawsDocumentSplit(fieldsBuilder.toString(), valuesBuilder.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void copyBatchDocumentSplitDetail(String ids) {
|
||||
String[] idsArr = ids.split(",");
|
||||
for (String id : idsArr) {
|
||||
copyDocumentSplitDetail(id);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SarFileSplitItemsValEO> queryItemsValList(String itemId) {
|
||||
List<SarFileSplitItemsValEO> sarFileSplitItemsValEOS = documentSplitMapper.queryItemsValByItemId(itemId);
|
||||
if (!Objects.isNull(sarFileSplitItemsValEOS) && !sarFileSplitItemsValEOS.isEmpty()){
|
||||
for (SarFileSplitItemsValEO sarFileSplitItemsValEO : sarFileSplitItemsValEOS) {
|
||||
String imgPath = sarFileSplitItemsValEO.getItemContent();
|
||||
if (DocumentSplitCommon.IMG.equals(sarFileSplitItemsValEO.getType()) && org.apache.commons.lang.StringUtils.isNotEmpty(imgPath)) {
|
||||
String imgName = imgPath.substring(imgPath.lastIndexOf("/") + 1);
|
||||
sarFileSplitItemsValEO.setImgName(imgName);
|
||||
}
|
||||
}
|
||||
}
|
||||
return sarFileSplitItemsValEOS;
|
||||
}
|
||||
|
||||
private void manageData(Map<String, Object> resultMap, StringBuilder fieldsBuilder, StringBuilder valuesBuilder) {
|
||||
// 所有key(字段名)
|
||||
resultMap.forEach((k, v) -> {
|
||||
fieldsBuilder.append(k).append(",");
|
||||
valuesBuilder.append("'").append(v).append("'").append(",");
|
||||
});
|
||||
fieldsBuilder.deleteCharAt(fieldsBuilder.length() - 1);
|
||||
valuesBuilder.deleteCharAt(valuesBuilder.length() - 1);
|
||||
}
|
||||
|
||||
|
||||
private String mergeData(List<Map<String, Object>> listMap) {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
// 合并数据(合并每个key对应的value)
|
||||
for (Map<String, Object> map : listMap) {
|
||||
String num = (String) map.get(ITEM_NUM);
|
||||
String content = (String) map.get(ITEM_CONTENT);
|
||||
stringBuilder.append("<p>").append(num).append("<p>").append(content);
|
||||
stringBuilder.append(content);
|
||||
}
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user