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.entity.DocumentSplitInfo;
|
||||||
import com.jero.modules.laws.documenttool.service.IDocumentSplitService;
|
import com.jero.modules.laws.documenttool.service.IDocumentSplitService;
|
||||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||||
|
import com.jero.modules.split.entity.SarFileSplitItemsValEO;
|
||||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@@ -17,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -120,6 +122,19 @@ public class DocumentSplitController {
|
|||||||
return Result.OK(documentSplitService.queryDocumentSplitDetail(parameter));
|
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
|
* @param parameter
|
||||||
@@ -184,4 +199,31 @@ public class DocumentSplitController {
|
|||||||
documentSplitService.mergeDocumentSplitDetail(parameter);
|
documentSplitService.mergeDocumentSplitDetail(parameter);
|
||||||
return Result.OK("合并成功!");
|
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
|
* @return
|
||||||
*/
|
*/
|
||||||
int addBatchItemsVal(@Param("valList") List<SarFileSplitItemsValEO> valList);
|
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>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<insert id="insertLawsDocumentSplit">
|
||||||
|
insert into laws_document_split(${insertField})
|
||||||
|
values (${insertValue})
|
||||||
|
</insert>
|
||||||
|
|
||||||
<delete id="sarFileSplitMenuDeleteByIdList">
|
<delete id="sarFileSplitMenuDeleteByIdList">
|
||||||
delete from SAR_FILE_SPLIT_MENU
|
delete from SAR_FILE_SPLIT_MENU
|
||||||
where id in
|
where id in
|
||||||
@@ -91,6 +96,12 @@
|
|||||||
order by display_seq
|
order by display_seq
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="queryLawsDocumentSplitById" resultType="java.util.Map">
|
||||||
|
select *
|
||||||
|
from laws_document_split
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
<update id="editDocumentSplitDetail">
|
<update id="editDocumentSplitDetail">
|
||||||
UPDATE laws_document_split
|
UPDATE laws_document_split
|
||||||
SET ${updateSet}
|
SET ${updateSet}
|
||||||
|
|||||||
+20
@@ -3,6 +3,7 @@ package com.jero.modules.laws.documenttool.service;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo;
|
import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo;
|
||||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||||
|
import com.jero.modules.split.entity.SarFileSplitItemsValEO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -78,4 +79,23 @@ public interface IDocumentSplitService {
|
|||||||
* @param parameter
|
* @param parameter
|
||||||
*/
|
*/
|
||||||
void deleteBatchDocumentSplitDetail(Map<String, Object> 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.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -181,12 +182,12 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
|||||||
updateSet.insert(0, updateByAndUpdateTime + ",");
|
updateSet.insert(0, updateByAndUpdateTime + ",");
|
||||||
updateSet.deleteCharAt(updateSet.length() - 1);
|
updateSet.deleteCharAt(updateSet.length() - 1);
|
||||||
// where条件
|
// where条件
|
||||||
String updateCondition = "id = '" + parameter.get("id") + "'";
|
String updateCondition = "id = '" + parameter.get(ID) + "'";
|
||||||
documentSplitMapper.editDocumentSplitDetail(updateSet.toString(), updateCondition);
|
documentSplitMapper.editDocumentSplitDetail(updateSet.toString(), updateCondition);
|
||||||
|
|
||||||
// 条目信息更新
|
// 条目信息更新
|
||||||
// 删除旧数据
|
// 删除旧数据
|
||||||
documentSplitMapper.deleteItemsValByItemId((String) parameter.get("id"));
|
documentSplitMapper.deleteItemsValByItemId((String) parameter.get(ID));
|
||||||
// 添加新数据
|
// 添加新数据
|
||||||
documentSplitMapper.addBatchItemsVal(valList);
|
documentSplitMapper.addBatchItemsVal(valList);
|
||||||
}
|
}
|
||||||
@@ -357,13 +358,69 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
|||||||
documentSplitMapper.deleteBatchDocumentSplitDetail(updateCondition);
|
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) {
|
private String mergeData(List<Map<String, Object>> listMap) {
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
// 合并数据(合并每个key对应的value)
|
// 合并数据(合并每个key对应的value)
|
||||||
for (Map<String, Object> map : listMap) {
|
for (Map<String, Object> map : listMap) {
|
||||||
String num = (String) map.get(ITEM_NUM);
|
|
||||||
String content = (String) map.get(ITEM_CONTENT);
|
String content = (String) map.get(ITEM_CONTENT);
|
||||||
stringBuilder.append("<p>").append(num).append("<p>").append(content);
|
stringBuilder.append(content);
|
||||||
}
|
}
|
||||||
return stringBuilder.toString();
|
return stringBuilder.toString();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user