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