Merge branch '20240913' into 20240920

This commit is contained in:
fengchenchen
2024-09-18 16:37:37 +08:00
5 changed files with 49 additions and 53 deletions
@@ -1533,8 +1533,13 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
data.put("release_date", new SimpleDateFormat(YYYY_MM_DD).format(releaseDate)); data.put("release_date", new SimpleDateFormat(YYYY_MM_DD).format(releaseDate));
} }
if (!Objects.isNull(data.get("implementation_date"))){ if (!Objects.isNull(data.get("implementation_date"))){
Date implementationDate = (Date) data.get("implementation_date"); try{
data.put("implementation_date", new SimpleDateFormat(YYYY_MM_DD).format(implementationDate)); Date implementationDate = (Date) data.get("implementation_date");
data.put("implementation_date", new SimpleDateFormat(YYYY_MM_DD).format(implementationDate));
}catch (Exception e){
String implementationDate = data.get("implementation_date").toString();
data.put("implementation_date", implementationDate);
}
} }
} }
return Result.OK(advancedSearchAll); return Result.OK(advancedSearchAll);
@@ -74,7 +74,7 @@ public interface SarFileSplitMenuEOMapper extends BaseMapper<SarFileSplitMenuEO>
SarFileSplitMenuEO findById(String id); SarFileSplitMenuEO findById(String id);
List<SarFileSplitMenuEO> findLastByParentId(@Param("parentId") String parentId, @Param("displaySeq") Long displaySeq); List<SarFileSplitMenuEO> findLastByParentId(@Param("parentId") String parentId, @Param("displaySeq") Long displaySeq, @Param("sourceIdList") List<String> sourceIdList);
List<SarFileSplitMenuEO> queryByGTDisplaySeq(@Param("infoId") String infoId, @Param("displaySeq") Long displaySeq); List<SarFileSplitMenuEO> queryByGTDisplaySeq(@Param("infoId") String infoId, @Param("displaySeq") Long displaySeq);
@@ -378,7 +378,9 @@
<if test="displaySeq != null"> <if test="displaySeq != null">
and display_seq > #{displaySeq} and display_seq > #{displaySeq}
</if> </if>
<foreach item="item" index="index" collection="sourceIdList" open="and id not in (" separator="," close=")">
#{item}
</foreach>
order by display_seq order by display_seq
</select> </select>
@@ -2269,6 +2269,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
tableHtml = tableHtml.replaceAll("style","border=\"1\" style");// 解决导入的表格没线 tableHtml = tableHtml.replaceAll("style","border=\"1\" style");// 解决导入的表格没线
splitTableInfo.setTableHtml(tableHtml); splitTableInfo.setTableHtml(tableHtml);
}catch (Exception e){ }catch (Exception e){
log.error(e.getMessage(),e);
throw new JeroBootException(sheet.getSheetName() + "页签数据异常"); throw new JeroBootException(sheet.getSheetName() + "页签数据异常");
} }
getSheetTableList.add(splitTableInfo); getSheetTableList.add(splitTableInfo);
@@ -2295,11 +2296,12 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
return message; return message;
} catch (JeroBootException e){ } catch (JeroBootException e){
log.error(e.getMessage(),e);
//删除原上传文件 //删除原上传文件
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
return Result.error(1, e.getMessage()); return Result.error(1, e.getMessage());
}catch (NullPointerException e){ }catch (NullPointerException e){
log.error(e.getMessage()); log.error("读取失败,请严格按照模板文件导入数据",e);
//删除原上传文件 //删除原上传文件
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())){ if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())){
@@ -2309,6 +2311,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
} }
return Result.error(1, resultMsg); return Result.error(1, resultMsg);
}catch (Exception e) { }catch (Exception e) {
log.error(e.getMessage(),e);
//删除原上传文件 //删除原上传文件
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
return Result.error(e.getMessage()); return Result.error(e.getMessage());
@@ -1,7 +1,9 @@
package com.jero.modules.split.service.impl; package com.jero.modules.split.service.impl;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.modules.laws.documenttool.service.IDocumentSplitService; import com.jero.modules.laws.documenttool.service.IDocumentSplitService;
@@ -377,54 +379,33 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
public void updateMenuLevel(String sourceIds, String parentId, Long displaySeq) { public void updateMenuLevel(String sourceIds, String parentId, Long displaySeq) {
// 要移动到的节点信息 // 要移动到的节点信息
SarFileSplitMenuEO parentMenu = baseMapper.findById(parentId); SarFileSplitMenuEO parentMenu = baseMapper.findById(parentId);
Long menuDisplaySeq = parentMenu.getDisplaySeq();
List<String> sourceIdList = Arrays.asList(sourceIds.split(",")); List<String> sourceIdList = Arrays.asList(sourceIds.split(","));
// 获取要移动到的层级的最后一个 的排序值
List<SarFileSplitMenuEO> lastMenuList; List<SarFileSplitMenuEO> lastMenuList = getLastMenu(parentMenu.getId(),displaySeq,sourceIdList);
//是否是放到最后 if (CollectionUtil.isNotEmpty(lastMenuList)){
boolean equals = Objects.equals(menuDisplaySeq, displaySeq); displaySeq = lastMenuList.stream().map(SarFileSplitMenuEO::getDisplaySeq).min(Comparator.comparing(x -> x)).orElse(null);
if (equals){
// 获取要移动到的层级的最后一个 的排序值
lastMenuList = getLastMenu(parentMenu.getId(),null);
int size = lastMenuList.size();
for (int i = 0; i < size; i++) {
SarFileSplitMenuEO sarFileSplitMenuEO = lastMenuList.get(i);
sarFileSplitMenuEO.setDisplaySeq(menuDisplaySeq+i+1);
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
}
if(displaySeq == 0){
displaySeq = menuDisplaySeq;
}
for (int i = 0; i < sourceIdList.size(); i++) {
String sourceId = sourceIdList.get(i);
// 要移动的节点信息
SarFileSplitMenuEO sarFileSplitMenuEO = baseMapper.findById(sourceId);
sarFileSplitMenuEO.setParentId(parentId);
sarFileSplitMenuEO.setDisplaySeq(displaySeq+size+i+1);
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
}
}else {
// 获取要移动到的层级的最后一个 的排序值
lastMenuList = getLastMenu(parentMenu.getId(),displaySeq);
int size = sourceIdList.size();
for (SarFileSplitMenuEO sarFileSplitMenuEO : lastMenuList) {
Long displaySeq1 = sarFileSplitMenuEO.getDisplaySeq();
sarFileSplitMenuEO.setDisplaySeq(displaySeq1+size);
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
}
if(displaySeq == 0){
displaySeq = parentMenu.getDisplaySeq();
}
for (int i = 0; i < sourceIdList.size(); i++) {
String sourceId = sourceIdList.get(i);
// 要移动的节点信息
SarFileSplitMenuEO sarFileSplitMenuEO = baseMapper.findById(sourceId);
sarFileSplitMenuEO.setParentId(parentId);
sarFileSplitMenuEO.setDisplaySeq(displaySeq+i+1);
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
}
} }
// 要移动的节点所有子集(包括本身)
List<SarFileSplitMenuEO> sarFileSplitMenuEO1List = new ArrayList<>();
for (String sourceId : sourceIdList) {
// 要移动的节点信息
SarFileSplitMenuEO sarFileSplitMenuEO = baseMapper.findById(sourceId);
sarFileSplitMenuEO.setParentId(parentId);
sarFileSplitMenuEO1List.add(sarFileSplitMenuEO);
}
List<SarFileSplitMenuEO> allList = new ArrayList<>();
getChildren(allList, sarFileSplitMenuEO1List);
//for (SarFileSplitMenuEO splitMenuEO : allList) {
// splitMenuEO.setParentId(parentId);
//}
//排除
getChildren(allList, lastMenuList);
for (int i = 0; i < allList.size(); i++) {
SarFileSplitMenuEO sarFileSplitMenuEO = allList.get(i);
sarFileSplitMenuEO.setDisplaySeq(displaySeq+i+1);
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
}
//this.updateBatchById(updateList); //this.updateBatchById(updateList);
// 要移动的节点所有子集(包括本身) // 要移动的节点所有子集(包括本身)
@@ -464,16 +445,21 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
private void getChildren(List<SarFileSplitMenuEO> allList, List<SarFileSplitMenuEO> sarFileSplitMenuEOList) { private void getChildren(List<SarFileSplitMenuEO> allList, List<SarFileSplitMenuEO> sarFileSplitMenuEOList) {
for (SarFileSplitMenuEO sarFileSplitMenuEO : sarFileSplitMenuEOList) { for (SarFileSplitMenuEO sarFileSplitMenuEO : sarFileSplitMenuEOList) {
String id = sarFileSplitMenuEO.getId();
List<String> idList = CollStreamUtil.toList(allList, SarFileSplitMenuEO::getId);
if (idList.contains(id)){
continue;
}
allList.add(sarFileSplitMenuEO); allList.add(sarFileSplitMenuEO);
List<SarFileSplitMenuEO> childrenList = baseMapper.findByParentId(sarFileSplitMenuEO.getId()); List<SarFileSplitMenuEO> childrenList = baseMapper.findByParentId(id);
if (CollectionUtils.isNotEmpty(childrenList)){ if (CollectionUtils.isNotEmpty(childrenList)){
getChildren(allList, childrenList); getChildren(allList, childrenList);
} }
} }
} }
public List<SarFileSplitMenuEO> getLastMenu(String parentId, Long displaySeq) { public List<SarFileSplitMenuEO> getLastMenu(String parentId, Long displaySeq, List<String> sourceIdList) {
List<SarFileSplitMenuEO> lastByParentId = baseMapper.findLastByParentId(parentId, displaySeq); List<SarFileSplitMenuEO> lastByParentId = baseMapper.findLastByParentId(parentId, displaySeq,sourceIdList);
//if(sarFileSplitMenuEO1 != null){ //if(sarFileSplitMenuEO1 != null){
// getLastMenu(sarFileSplitMenuEO1.getId()); // getLastMenu(sarFileSplitMenuEO1.getId());
//} //}