fix(文档拆分): 批量编辑问题修复
This commit is contained in:
+6
@@ -117,4 +117,10 @@ public interface DocumentSplitMapper {
|
||||
* @return
|
||||
*/
|
||||
int insertLawsDocumentSplit(@Param("insertField") String insertField, @Param("insertValue") String insertValue);
|
||||
|
||||
/**
|
||||
* 条目批量删除根据itemId
|
||||
* @param itemIds
|
||||
*/
|
||||
int deleteItemsValByItemIds(@Param("itemIds") String itemIds, @Param("type") String type);
|
||||
}
|
||||
|
||||
+17
@@ -57,6 +57,23 @@
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteItemsValByItemIds">
|
||||
delete from sar_file_split_items_val
|
||||
where item_id in
|
||||
<foreach collection="itemIds.split(',')" item="item" separator="or" open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
|
||||
<choose>
|
||||
<when test="type != null and type != ''">
|
||||
and type = #{type}
|
||||
</when>
|
||||
<otherwise>
|
||||
and type <![CDATA[<>]]> 'interpretation'
|
||||
</otherwise>
|
||||
</choose>
|
||||
</delete>
|
||||
|
||||
<select id="queryByPage" resultType="com.jero.modules.laws.documenttool.entity.DocumentSplitInfo">
|
||||
select *
|
||||
from (select i.id as id,
|
||||
|
||||
+30
-8
@@ -76,6 +76,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
private static final String ITEM_TITLE = "item_title";
|
||||
private static final String ITEM_CONTENT = "item_content";
|
||||
private static final String INTERPRETATION_ARTICLES = "interpretation_articles";
|
||||
private static final String INTERPRETATION_ARTICLES_LIST = "interpretationArticlesList";
|
||||
private static final String MENU_ID = "menu_id";
|
||||
public DocumentSplitServiceImpl(DocumentSplitMapper documentSplitMapper,
|
||||
ISarFileSplitInfoService sarFileSplitInfoService,
|
||||
@@ -179,10 +180,9 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
List<SarFileSplitItemsValEO> valList = JSON.parseArray(JSON.toJSONString(parameter.get("itemValEOList")), SarFileSplitItemsValEO.class);
|
||||
parameter.remove("itemValEOList");
|
||||
// 条文解读
|
||||
List<SarFileSplitItemsValEO> articlesList = JSON.parseArray(JSON.toJSONString(parameter.get("interpretationArticlesList")), SarFileSplitItemsValEO.class);
|
||||
parameter.remove("interpretationArticlesList");
|
||||
List<SarFileSplitItemsValEO> articlesList = JSON.parseArray(JSON.toJSONString(parameter.get(INTERPRETATION_ARTICLES_LIST)), SarFileSplitItemsValEO.class);
|
||||
parameter.remove(INTERPRETATION_ARTICLES_LIST);
|
||||
|
||||
// 计数
|
||||
parameter.forEach((k, v) ->{
|
||||
// 条文内容拼接
|
||||
if (ITEM_CONTENT.equals(k)){
|
||||
@@ -209,14 +209,19 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
//条文解读更新
|
||||
// 删除旧数据
|
||||
documentSplitMapper.deleteItemsValByItemId((String) parameter.get(ID), DocumentSplitCommon.INTERPRETATION);
|
||||
// 添加新数据
|
||||
documentSplitMapper.addBatchItemsVal(articlesList);
|
||||
if (!Objects.isNull(articlesList) && !articlesList.isEmpty()){
|
||||
// 添加新数据
|
||||
documentSplitMapper.addBatchItemsVal(articlesList);
|
||||
}
|
||||
|
||||
|
||||
// 条目信息更新
|
||||
// 删除旧数据
|
||||
documentSplitMapper.deleteItemsValByItemId((String) parameter.get(ID), "");
|
||||
// 添加新数据
|
||||
documentSplitMapper.addBatchItemsVal(valList);
|
||||
if (!Objects.isNull(valList) && !valList.isEmpty()){
|
||||
// 添加新数据
|
||||
documentSplitMapper.addBatchItemsVal(valList);
|
||||
}
|
||||
}
|
||||
|
||||
private String articlesJoin(List<SarFileSplitItemsValEO> articlesList, String itemId) {
|
||||
@@ -298,7 +303,16 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
.equals(v.getIsShowFormCreate())).collect(Collectors.toList());
|
||||
List<LawsTag> finalFieldList = fieldList;
|
||||
StringBuilder updateSet = new StringBuilder();
|
||||
|
||||
// 条文解读
|
||||
List<SarFileSplitItemsValEO> articlesList = JSON.parseArray(JSON.toJSONString(parameter.get(INTERPRETATION_ARTICLES_LIST)), SarFileSplitItemsValEO.class);
|
||||
parameter.remove(INTERPRETATION_ARTICLES_LIST);
|
||||
|
||||
parameter.forEach((k, v) -> {
|
||||
// 条文解读
|
||||
if (INTERPRETATION_ARTICLES.equals(k)){
|
||||
v = articlesJoin(articlesList, (String) parameter.get(ID));
|
||||
}
|
||||
// 修改字段
|
||||
String updateValue = getUpdateValue(finalFieldList, k, (String) v);
|
||||
if (StringUtils.isNotBlank(updateValue)){
|
||||
@@ -314,12 +328,20 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
if (parameter.containsKey("ids")){
|
||||
String ids = (String) parameter.get("ids");
|
||||
List<String> list = Arrays.asList(ids.split(","));
|
||||
updateCondition = "id in " + "'" + String.join(",", list) + "'";
|
||||
updateCondition = "id in ('" + String.join(",", list) + "')";
|
||||
}else {
|
||||
String infoId = (String) parameter.get(INFO_ID);
|
||||
updateCondition = "info_id = " + "'" + infoId + "'";
|
||||
}
|
||||
documentSplitMapper.editDocumentSplitDetail(updateSet.toString(), updateCondition);
|
||||
|
||||
// 条文解读更新
|
||||
// 删除旧数据
|
||||
documentSplitMapper.deleteItemsValByItemIds((String) parameter.get(ID), DocumentSplitCommon.INTERPRETATION);
|
||||
if (!Objects.isNull(articlesList) && !articlesList.isEmpty()){
|
||||
// 添加新数据
|
||||
documentSplitMapper.addBatchItemsVal(articlesList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user