Merge branch 'master' into SecondStage
This commit is contained in:
@@ -39,6 +39,19 @@
|
||||
<artifactId>mybatis</artifactId>
|
||||
<groupId>org.mybatis</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-email</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-core</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-web</artifactId>
|
||||
</exclusion>
|
||||
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- Activiti生成流程图 -->
|
||||
@@ -102,6 +115,17 @@
|
||||
<version>2.2.3</version>
|
||||
<classifier>jdk15</classifier>
|
||||
<!-- jdk版本 -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>commons-collections</groupId>
|
||||
<artifactId>commons-collections</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!--加载beanutils-->
|
||||
<dependency>
|
||||
<groupId>commons-beanutils</groupId>
|
||||
<artifactId>commons-beanutils</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
|
||||
+2
-1
@@ -304,7 +304,8 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
|
||||
if(!Objects.isNull(data)){
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,data.getManifestId());
|
||||
queryLawsMarketStandardDetail.orderByDesc(LawsMarketStandardDetail::getId);
|
||||
queryLawsMarketStandardDetail.orderByAsc(LawsMarketStandardDetail::getOrderNo);
|
||||
queryLawsMarketStandardDetail.orderByDesc(LawsMarketStandardDetail::getCreateTime);
|
||||
List<LawsMarketStandardDetail> listLawsMarketStandardDetail = lawsMarketStandardDetailService.list(queryLawsMarketStandardDetail);
|
||||
if(!CollectionUtils.isEmpty(listLawsMarketStandardDetail)){
|
||||
data.setList(listLawsMarketStandardDetail);
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ public class ModelExcelVO {
|
||||
|
||||
public boolean emptyRowOrNot() {
|
||||
ModelExcelVO modelExcel = this;
|
||||
return modelExcel.getModel() == null && modelExcel.getModelState() == null;
|
||||
return modelExcel.getModel() == null;
|
||||
}
|
||||
|
||||
// 预定义的Excel头部字段
|
||||
|
||||
+5
-1
@@ -823,7 +823,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
ModelExcelVO data = iterator.next();
|
||||
if (ExcelUtils.isEmptyRow(data)) {
|
||||
if (data.emptyRowOrNot()) {
|
||||
iterator.remove();
|
||||
if (list.isEmpty()) {
|
||||
errorMsgs.add("文件暂无数据,请检查后重试。");
|
||||
@@ -1196,6 +1196,10 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
detail.setCheckId(detailInfo.getCheckId());
|
||||
return detail;
|
||||
}))
|
||||
.filter(detail ->
|
||||
StrUtil.isNotBlank(detail.getTermNumber()) ||
|
||||
StrUtil.isNotBlank(detail.getTermTitle()) ||
|
||||
StrUtil.isNotBlank(detail.getTermContent()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
+22
@@ -1942,6 +1942,28 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe
|
||||
case StandardInterpretCommon.INTERPRETING_PEOPLE_FILLOUT:
|
||||
boolean pass = (boolean) map.get(StandardInterpretCommon.PASS);
|
||||
if (pass){
|
||||
// List<ProcessStandardInterpretClauseSublist> idsNotNull = new ArrayList<>();
|
||||
// List<ProcessStandardInterpretClauseSublist> idsNull = new ArrayList<>();
|
||||
// List<String> ids = processStandardInterpretClauseSublistList.stream().map(ProcessStandardInterpretClauseSublist::getId).collect(Collectors.toList());
|
||||
// List<ProcessStandardInterpretClauseSublist> listData = processStandardInterpretClauseSublistService.listByIds(ids);
|
||||
// if(!CollectionUtils.isEmpty(listData)){
|
||||
// List<String> idsNew = listData.stream().map(ProcessStandardInterpretClauseSublist::getId).collect(Collectors.toList());
|
||||
// processStandardInterpretClauseSublistList.forEach(p->{
|
||||
// if(idsNew.contains(p.getId())){
|
||||
// idsNotNull.add(p);
|
||||
// }else{
|
||||
// idsNull.add(p);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// if(!CollectionUtils.isEmpty(idsNotNull)){
|
||||
// processStandardInterpretClauseSublistService.updateBatchById(idsNotNull);
|
||||
// }
|
||||
//
|
||||
// if(!CollectionUtils.isEmpty(idsNull)){
|
||||
// processStandardInterpretClauseSublistService.saveBatch(idsNull);
|
||||
// }
|
||||
processStandardInterpretClauseSublistList.stream().map(ProcessStandardInterpretClauseSublist::getId).collect(Collectors.toList());
|
||||
processStandardInterpretClauseSublistService
|
||||
.saveOrUpdateBatch(processStandardInterpretClauseSublistList);
|
||||
}
|
||||
|
||||
@@ -386,7 +386,7 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
|
||||
new LambdaQueryWrapper<ProcessStandardInterpret>()
|
||||
.eq(ProcessStandardInterpret::getProjectId, param.getProjectId()), false);
|
||||
if (Objects.nonNull(processStandardInterpret)
|
||||
&& StandardInterpretCommon.IS_DISTRIBUTE_2.equals(processStandardInterpret.getDistribute())){
|
||||
&& Objects.equals(String.valueOf(StandardInterpretCommon.IS_DISTRIBUTE_2),processStandardInterpret.getDistribute())){
|
||||
// 未分发
|
||||
xmlNodeId = xmlNodeId.replace("2", "1");
|
||||
}
|
||||
|
||||
+6
-1
@@ -208,6 +208,11 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
||||
exportParams.setSheetName(sheetName);
|
||||
// 复制一份数据
|
||||
List<LawsConformityAssessmentLibraryExportVO> newRecordsExport = new ArrayList<>(recordsExport);
|
||||
recordsExport.parallelStream().forEach(item -> {
|
||||
String termContent = item.getTermContent();
|
||||
// 截取32766字符
|
||||
item.setTermContent(StrUtil.sub(termContent, 0, 32767));
|
||||
});
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, LawsConformityAssessmentLibraryExportVO.class, recordsExport);
|
||||
// 翻译评估结果和佐证材料字段
|
||||
newRecordsExport.parallelStream().forEach(item -> {
|
||||
@@ -264,7 +269,7 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
||||
if (StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getApplicableMarket())){
|
||||
List<String> list = Arrays.asList(lawsConformityAssessmentLibrary.getApplicableMarket().split(","));
|
||||
queryWrapper.and(query -> list.forEach(item ->
|
||||
query.or(qw -> qw.gt("find_in_set('" + item + "', applicableMarket)", 0))));
|
||||
query.or(qw -> qw.gt("find_in_set('" + item + "', applicable_market)", 0))));
|
||||
}
|
||||
queryWrapper.orderByAsc("valuation_time");
|
||||
queryWrapper.last("limit 1");
|
||||
|
||||
+5
@@ -149,6 +149,11 @@ public class LawsEvaluationNotMetLibraryServiceImpl extends ServiceImpl<LawsEval
|
||||
exportParams.setSheetName(sheetName);
|
||||
// 复制一份数据
|
||||
List<LawsEvaluationNotMetLibrary> newRecordsExport = new ArrayList<>(records);
|
||||
records.parallelStream().forEach(item -> {
|
||||
String termContent = item.getTermContent();
|
||||
// 截取32766字符
|
||||
item.setTermContent(StrUtil.sub(termContent, 0, 32767));
|
||||
});
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, LawsEvaluationNotMetLibrary.class, records);
|
||||
// 翻译评估结果和佐证材料字段
|
||||
newRecordsExport.parallelStream().forEach(item -> {
|
||||
|
||||
+14
-4
@@ -26,6 +26,7 @@ import com.jero.modules.split.service.IFileSplitItemsEOService;
|
||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||
import com.jero.modules.split.service.ISarFileSplitMenuEOService;
|
||||
import com.jero.modules.system.util.MyStringUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -270,6 +271,7 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl<SarFileCompareInf
|
||||
|
||||
private List<SarFileCompareItem> wrapperItemList(List<SarFileSplitItemsEO> list, String infoId, Map<String, SarFileCompareMenu> menuMap, String leftOrRight) {
|
||||
List<SarFileCompareItem> resList = new ArrayList<>();
|
||||
List<SarFileCompareItem> resNullList = new ArrayList<>();
|
||||
for (SarFileSplitItemsEO itemsEO : list) {
|
||||
SarFileCompareItem item = new SarFileCompareItem();
|
||||
item.setInfoId(infoId);
|
||||
@@ -277,15 +279,23 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl<SarFileCompareInf
|
||||
item.setMenuId(itemsEO.getMenuId());
|
||||
item.setItemsNum(itemsEO.getItemNum());
|
||||
item.setItemsText(itemsEO.getItemContent());
|
||||
item.setLeftOrRight(leftOrRight);
|
||||
item.setReviewed(CompareConst.NO_REVIEWED);
|
||||
SarFileCompareMenu menu = menuMap.get(itemsEO.getMenuId());
|
||||
if (menu != null) {
|
||||
item.setItemsDisplayNum(menu.getDisplaySeq());
|
||||
resList.add(item);
|
||||
}else{
|
||||
resNullList.add(item);
|
||||
}
|
||||
item.setLeftOrRight(leftOrRight);
|
||||
item.setReviewed(CompareConst.NO_REVIEWED);
|
||||
resList.add(item);
|
||||
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(resList)){
|
||||
resList.stream().filter(o->!Objects.isNull(o.getItemsDisplayNum())).collect(Collectors.toList());
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(resNullList)){
|
||||
resList.addAll(resNullList);
|
||||
}
|
||||
Collections.sort(resList, Comparator.comparingInt(SarFileCompareItem::getItemsDisplayNum));
|
||||
return resList;
|
||||
}
|
||||
|
||||
|
||||
+22
-9
@@ -92,6 +92,7 @@ import java.nio.file.Path;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
@@ -621,8 +622,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
**/
|
||||
private List<Map<String, Object>> processResultMapPageList(List<Map<String, Object>> records, List<LawsTag> fieldList) {
|
||||
List<SysDictItem> dictItemList = getDictItemList(fieldList);
|
||||
List<Map<String, Object>> resultMapList = new ArrayList<>();
|
||||
for (Map<String, Object> map : records) {
|
||||
List<Map<String, Object>> resultMapList = new CopyOnWriteArrayList<>();
|
||||
records.parallelStream().forEach(map->{
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
String id = (String) map.get("id");
|
||||
String standardNumber = (String) map.get(FieldCommon.STANDARD_NUMBER);
|
||||
@@ -642,7 +643,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
processSpecificFieldValue(resultMap, key, value, id, standardNumber, fieldList);
|
||||
}
|
||||
resultMapList.add(resultMap);
|
||||
}
|
||||
});
|
||||
return resultMapList;
|
||||
}
|
||||
|
||||
@@ -1614,6 +1615,11 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.PLEASE_UPLOAD_ZIP));
|
||||
}
|
||||
|
||||
String contentType = file.getContentType();
|
||||
if (!contentType.contains("zip")) {
|
||||
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.PLEASE_UPLOAD_ZIP));
|
||||
}
|
||||
|
||||
Path path = Files.createTempDirectory("temp");
|
||||
File saveDirectory = new File(path.toUri());
|
||||
if (!saveDirectory.isDirectory()) {
|
||||
@@ -2039,12 +2045,19 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
// 体系
|
||||
String standardSystem = (String) parameterMap.get(FieldCommon.STANDARD_SYSTEM);
|
||||
if (StrUtil.isNotBlank(standardSystem)) {
|
||||
idSearch = true;
|
||||
LambdaQueryWrapper<LawsNodeRelation> standSystemWrapper = new LambdaQueryWrapper<>();
|
||||
List<String> standSystemIdList = Arrays.asList(standardSystem.split(","));
|
||||
standSystemWrapper.in(LawsNodeRelation::getNodeId, standSystemIdList);
|
||||
List<LawsNodeRelation> systemList = lawsNodeRelationService.list(standSystemWrapper);
|
||||
idSet.addAll(systemList.stream().map(LawsNodeRelation::getUniqueRelationFlag).collect(Collectors.toSet()));
|
||||
if (FieldCommon.MY_COLLECTION.equals(standardSystem)) {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
selectCondition.append(" and id in (select distinct standard_id from laws_standard_collection" +
|
||||
" where collector_id = '" + loginUser.getId() + "')");
|
||||
} else {
|
||||
List<String> standardSystemList = Arrays.asList(standardSystem.split(","));
|
||||
String str = String.join(",",standardSystemList).replace(",","','");
|
||||
selectCondition.append(" and id in (select distinct l2.unique_relation_flag from " +
|
||||
" (select node_code from laws_node_relation where node_id in ('")
|
||||
.append(str).append("') ")
|
||||
.append(" group by node_code) l1 left join laws_node_relation l2 " +
|
||||
" on l2.node_code like CONCAT(l1.node_code,'%')) ");
|
||||
}
|
||||
parameterMap.remove(FieldCommon.STANDARD_SYSTEM);
|
||||
}
|
||||
Set<String> listIntersection = new HashSet<>();
|
||||
|
||||
+1
-1
@@ -320,7 +320,7 @@
|
||||
<select id="getSplitSelectIds" resultType="java.lang.String">
|
||||
select l2.id from laws_domestic_standard l1
|
||||
left join sar_file_split_info l2 on l1.id = l2.standard_id and l2.del_flag = 0
|
||||
where l1.del_flag = 0 and l2.id is not null
|
||||
where l1.del_flag = 0 and l2.id is not null and split_status = 2
|
||||
and
|
||||
<foreach collection="countryList" separator="or" item= "item" open="(" close=")">
|
||||
CONCAT(',',l1.applicable_market,',') like CONCAT('%,',#{item},',%')
|
||||
|
||||
+5
-3
@@ -1879,10 +1879,12 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
// 查询市场下的标准
|
||||
List<String> countryList = Arrays.asList(parameter.get(COUNTRY).toString().split(","));
|
||||
List<String> ids = documentSplitMapper.getSplitSelectIds(countryList);
|
||||
if(!CollectionUtils.isEmpty(ids)){
|
||||
// in查询
|
||||
selectCondition.append(" and s.info_id" + " in('").append(String.join("','",ids)).append("')");
|
||||
if(CollectionUtils.isEmpty(ids)){
|
||||
ids = new ArrayList<>();
|
||||
ids.add("-1");
|
||||
}
|
||||
// in查询
|
||||
selectCondition.append(" and s.info_id" + " in('").append(String.join("','",ids)).append("')");
|
||||
parameter.remove(COUNTRY);
|
||||
}
|
||||
}
|
||||
|
||||
+22
-8
@@ -76,6 +76,7 @@ import java.net.URLEncoder;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.ForkJoinPool;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -1361,7 +1362,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
||||
|
||||
private ModelAndView exportExcelByClause(Map<String, Object> parameterMap) {
|
||||
List<LawsHomeAdvancedSearchClauseVO> advancedSearchClause = getAdvancedSearchClauseExport(parameterMap);
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
List<Map<String, Object>> list = new CopyOnWriteArrayList<>();
|
||||
|
||||
// 标准sheet页
|
||||
List<LawsHomeAdvancedSearchStandardExcelVO> lawsHomeAdvancedSearchStandardExcelVOList =
|
||||
@@ -1373,14 +1374,12 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
||||
standardSheet.put(NormalExcelConstants.PARAMS, exportParams);
|
||||
standardSheet.put(NormalExcelConstants.DATA_LIST, lawsHomeAdvancedSearchStandardExcelVOList);
|
||||
list.add(standardSheet);
|
||||
|
||||
for (LawsHomeAdvancedSearchClauseVO lawsHomeAdvancedSearchClauseVO : advancedSearchClause) {
|
||||
List<Map<String, Object>> clauseList = lawsHomeAdvancedSearchClauseVO.getClauseList();
|
||||
List<LawsHomeAdvancedSearchClauseExcelVO> lawsHomeAdvancedSearchClauseExcelVOS =
|
||||
JSON.parseArray(JSON.toJSONString(clauseList), LawsHomeAdvancedSearchClauseExcelVO.class);
|
||||
// 条款详情
|
||||
for (LawsHomeAdvancedSearchClauseExcelVO lawsHomeAdvancedSearchClauseExcelVO :
|
||||
lawsHomeAdvancedSearchClauseExcelVOS) {
|
||||
lawsHomeAdvancedSearchClauseExcelVOS.parallelStream().forEach(lawsHomeAdvancedSearchClauseExcelVO->{
|
||||
List<SarFileSplitItemsValEO> sarFileSplitItemsValEOS = sarFileSplitItemsValEOMapper.findList(
|
||||
new QueryWrapper<SarFileSplitItemsValEO>()
|
||||
.eq("item_id", lawsHomeAdvancedSearchClauseExcelVO.getId())
|
||||
@@ -1392,12 +1391,22 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
||||
.map(SarFileSplitItemsValEO::getItemContent)
|
||||
.collect(Collectors.joining("\n\r"));
|
||||
lawsHomeAdvancedSearchClauseExcelVO.setItemContent(itemContents);
|
||||
String translation = sarFileSplitItemsValEOS.stream()
|
||||
.filter(v -> StringUtils.isNotBlank(v.getTranslation()))
|
||||
.map(SarFileSplitItemsValEO::getTranslation)
|
||||
.collect(Collectors.joining("\n\r"));
|
||||
lawsHomeAdvancedSearchClauseExcelVO.setTranslation(translation);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 条款sheet页
|
||||
Map<String, Object> clauseSheet = new HashMap<>();
|
||||
clauseSheet.put(NormalExcelConstants.CLASS, LawsHomeAdvancedSearchClauseExcelVO.class);
|
||||
ExportParams exportParamss = new ExportParams(null, lawsHomeAdvancedSearchClauseVO.getStandardNumber());
|
||||
ExportParams exportParamss = new ExportParams(null,
|
||||
lawsHomeAdvancedSearchClauseVO.getStandardNumber().replace("/","")
|
||||
.replace("\\","").replace("?","")
|
||||
.replace("*","").replace("[","")
|
||||
.replace("]","").replace(":",""));
|
||||
exportParamss.setType(ExcelType.XSSF);
|
||||
clauseSheet.put(NormalExcelConstants.PARAMS, exportParamss);
|
||||
clauseSheet.put(NormalExcelConstants.DATA_LIST, lawsHomeAdvancedSearchClauseExcelVOS);
|
||||
@@ -1533,8 +1542,13 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
||||
data.put("release_date", new SimpleDateFormat(YYYY_MM_DD).format(releaseDate));
|
||||
}
|
||||
if (!Objects.isNull(data.get("implementation_date"))){
|
||||
Date implementationDate = (Date) data.get("implementation_date");
|
||||
data.put("implementation_date", new SimpleDateFormat(YYYY_MM_DD).format(implementationDate));
|
||||
try{
|
||||
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);
|
||||
|
||||
+2
-2
@@ -48,8 +48,8 @@ public class LawsHomeAdvancedSearchExportExcelVO implements Serializable {
|
||||
* 实施日期
|
||||
*/
|
||||
@ApiModelProperty(value = "实施日期")
|
||||
@Excel(name = "实施日期", width = 20, format = "yyyy-MM-dd")
|
||||
private Date implementationDate;
|
||||
@Excel(name = "实施日期", width = 20)
|
||||
private String implementationDate;
|
||||
/**
|
||||
* 在产车实施日期
|
||||
* */
|
||||
|
||||
+16
@@ -235,4 +235,20 @@ public class MarketStandardDetailController {
|
||||
return lawsMarketStandardDetailService.export(marketStandardDetail,request);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 移动
|
||||
*
|
||||
* @param marketStandardDetail
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "外部标准库-市场法规清单-移动")
|
||||
@ApiOperation(value = "外部标准库-市场法规清单-移动", notes = "外部标准库-市场法规清单-移动")
|
||||
@PostMapping(value = "/move")
|
||||
@ApiOperationSupport(order = 5)
|
||||
// @RequiresPermissions("marketStandard:move")
|
||||
public Result<?> move(@RequestBody LawsMarketStandardDetail marketStandardDetail) {
|
||||
return lawsMarketStandardDetailService.move(marketStandardDetail);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+13
@@ -247,4 +247,17 @@ public class LawsMarketStandardDetail implements Serializable {
|
||||
@ApiModelProperty(value = "清单版本")
|
||||
@TableField(exist = false)
|
||||
private String manifestVersion;
|
||||
|
||||
/**
|
||||
* 排序号
|
||||
*/
|
||||
@ApiModelProperty(value = "排序号")
|
||||
private Float orderNo;
|
||||
|
||||
/**
|
||||
* 移动标识 上移:up 下移:down
|
||||
*/
|
||||
@ApiModelProperty(value = "移动标识")
|
||||
@TableField(exist = false)
|
||||
private String moveFlag;
|
||||
}
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="getOneByManifestNo" resultType="java.lang.String">
|
||||
select max(manifest_no) as manifest_no from laws_market_standard where manifest_no like CONCAT(#{str},'%')
|
||||
select CONCAT(max(REPLACE(manifest_no,#{str},'') * 1), '') as manifest_no from laws_market_standard where manifest_no like CONCAT(#{str},'%')
|
||||
<if test = "oldStr != null and oldStr != ''">
|
||||
and manifest_no <> #{oldStr}
|
||||
</if>
|
||||
|
||||
+7
@@ -110,4 +110,11 @@ public interface ILawsMarketStandardDetailService extends IService<LawsMarketSta
|
||||
* @return
|
||||
*/
|
||||
ModelAndView export(LawsMarketStandardDetail marketStandardDetail, HttpServletRequest request);
|
||||
|
||||
/**
|
||||
* 移动
|
||||
* @param marketStandardDetail
|
||||
* @return
|
||||
*/
|
||||
Result<?> move(LawsMarketStandardDetail marketStandardDetail);
|
||||
}
|
||||
|
||||
+112
-1
@@ -3,6 +3,7 @@ package com.jero.modules.laws.marketStandard.service.impl;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
@@ -154,6 +155,8 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
List<String> listIds = Arrays.asList(manifestId.split(","));
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandardDetail.in(LawsMarketStandardDetail::getManifestId,listIds);
|
||||
queryLawsMarketStandardDetail.orderByAsc(LawsMarketStandardDetail::getOrderNo);
|
||||
queryLawsMarketStandardDetail.orderByDesc(LawsMarketStandardDetail::getCreateTime);
|
||||
List<LawsMarketStandardDetail> list = list(queryLawsMarketStandardDetail);
|
||||
return Result.OK(list);
|
||||
}
|
||||
@@ -207,6 +210,22 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
if(!StringUtils.isBlank(m.toString())){
|
||||
return Result.error(m.toString());
|
||||
}
|
||||
if(CollectionUtils.isEmpty(listLawsMarketStandardDetail)){
|
||||
return Result.OK(ResultCommon.OK);
|
||||
}
|
||||
|
||||
QueryWrapper<LawsMarketStandardDetail> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.select("max(order_no) as order_no");
|
||||
queryWrapper.eq("manifest_id",manifestId);
|
||||
LawsMarketStandardDetail lawsMarketStandardDetail = getOne(queryWrapper,false);
|
||||
int no = 0;
|
||||
if(!Objects.isNull(lawsMarketStandardDetail) && !Objects.isNull(lawsMarketStandardDetail.getOrderNo())){
|
||||
no = lawsMarketStandardDetail.getOrderNo().intValue();
|
||||
}
|
||||
no = no + 1;
|
||||
for (int i = 0; i < listLawsMarketStandardDetail.size(); i++) {
|
||||
listLawsMarketStandardDetail.get(i).setOrderNo((float)(no + i));
|
||||
}
|
||||
// 更新状态
|
||||
marketStandardService.updateStatus(manifestId);
|
||||
|
||||
@@ -448,12 +467,30 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
if(CollectionUtils.isEmpty(list)){
|
||||
return Result.OK(ResultCommon.OK);
|
||||
}
|
||||
|
||||
setOrderData(list, manifestId);
|
||||
// 更细状态
|
||||
marketStandardService.updateStatus(list.get(0).getManifestId());
|
||||
saveBatch(list);
|
||||
return Result.OK(ResultCommon.OK);
|
||||
}
|
||||
|
||||
private void setOrderData(List<LawsMarketStandardDetail> list, String manifestId) {
|
||||
QueryWrapper<LawsMarketStandardDetail> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.select("max(order_no) as order_no");
|
||||
queryWrapper.eq("manifest_id", manifestId);
|
||||
LawsMarketStandardDetail lawsMarketStandardDetail = getOne(queryWrapper, false);
|
||||
int m = 0;
|
||||
if (!Objects.isNull(lawsMarketStandardDetail) && !Objects.isNull(lawsMarketStandardDetail.getOrderNo())) {
|
||||
m = lawsMarketStandardDetail.getOrderNo().intValue();
|
||||
}
|
||||
|
||||
m = m + 1;
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
list.get(i).setOrderNo((float) (m + i));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized Result<?> copy(String oldId,String newId) {
|
||||
LawsMarketStandard lawsMarketStandard = marketStandardService.getById(newId);
|
||||
@@ -495,6 +532,9 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
if(CollectionUtils.isEmpty(listOld)){
|
||||
return Result.OK(ResultCommon.OK);
|
||||
}
|
||||
|
||||
setOrderData(listOld, newId);
|
||||
|
||||
// 更细状态
|
||||
marketStandardService.updateStatus(listOld.get(0).getManifestId());
|
||||
saveBatch(listOld);
|
||||
@@ -549,7 +589,17 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
}
|
||||
// 更细状态
|
||||
marketStandardService.updateStatus(marketStandardDetail.getManifestId());
|
||||
|
||||
if(Objects.isNull(marketStandardDetail.getOrderNo())){
|
||||
QueryWrapper<LawsMarketStandardDetail> query = new QueryWrapper<>();
|
||||
query.select("max(order_no) as order_no");
|
||||
query.eq("manifest_id",marketStandardDetail.getManifestId());
|
||||
LawsMarketStandardDetail obj = getOne(query,false);
|
||||
int m = 0;
|
||||
if(!Objects.isNull(obj)){
|
||||
m = obj.getOrderNo().intValue();
|
||||
}
|
||||
marketStandardDetail.setOrderNo((float) m);
|
||||
}
|
||||
updateById(marketStandardDetail);
|
||||
return Result.OK(ResultCommon.OK);
|
||||
}
|
||||
@@ -687,6 +737,67 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
mv.addObject(NormalExcelConstants.DATA_LIST, res);
|
||||
return mv;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<?> move(LawsMarketStandardDetail marketStandardDetail) {
|
||||
if(StringUtils.isBlank(marketStandardDetail.getManifestId()) ||
|
||||
StringUtils.isBlank(marketStandardDetail.getId()) ||
|
||||
StringUtils.isBlank(marketStandardDetail.getMoveFlag())){
|
||||
return Result.error(ResultCommon.PARAMETER_NOT_RECOGNIZED);
|
||||
}
|
||||
LawsMarketStandard lawsMarketStandard = marketStandardService.getById(marketStandardDetail.getManifestId());
|
||||
if(Objects.isNull(lawsMarketStandard)){
|
||||
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||
}
|
||||
LawsMarketStandardDetail lawsMarketStandardDetail = getById(marketStandardDetail.getId());
|
||||
if(Objects.isNull(lawsMarketStandardDetail)){
|
||||
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||
}
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(LawsMarketStandardDetail::getManifestId,marketStandardDetail.getManifestId());
|
||||
queryWrapper.orderByAsc(LawsMarketStandardDetail::getOrderNo);
|
||||
queryWrapper.orderByDesc(LawsMarketStandardDetail::getCreateTime);
|
||||
List<LawsMarketStandardDetail> list = list(queryWrapper);
|
||||
if(CollectionUtils.isEmpty(list)){
|
||||
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||
}
|
||||
if(Objects.equals(marketStandardDetail.getMoveFlag(),"up")){
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
LawsMarketStandardDetail now = list.get(i);
|
||||
if(Objects.equals(now.getId(),marketStandardDetail.getId()) && i > 0){
|
||||
LawsMarketStandardDetail last = list.get(i - 1);
|
||||
LambdaUpdateWrapper<LawsMarketStandardDetail> updateNow = new LambdaUpdateWrapper<>();
|
||||
updateNow.eq(LawsMarketStandardDetail::getId,now.getId());
|
||||
updateNow.set(LawsMarketStandardDetail::getOrderNo,last.getOrderNo());
|
||||
update(updateNow);
|
||||
|
||||
LambdaUpdateWrapper<LawsMarketStandardDetail> updateLast = new LambdaUpdateWrapper<>();
|
||||
updateLast.eq(LawsMarketStandardDetail::getId,last.getId());
|
||||
updateLast.set(LawsMarketStandardDetail::getOrderNo,now.getOrderNo());
|
||||
update(updateLast);
|
||||
}
|
||||
}
|
||||
}else if(Objects.equals(marketStandardDetail.getMoveFlag(),"down")){
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
LawsMarketStandardDetail now = list.get(i);
|
||||
if(Objects.equals(now.getId(),marketStandardDetail.getId()) && (i != list.size() -1)){
|
||||
LawsMarketStandardDetail next = list.get(i + 1);
|
||||
LambdaUpdateWrapper<LawsMarketStandardDetail> updateNow = new LambdaUpdateWrapper<>();
|
||||
updateNow.eq(LawsMarketStandardDetail::getId,now.getId());
|
||||
updateNow.set(LawsMarketStandardDetail::getOrderNo,next.getOrderNo());
|
||||
update(updateNow);
|
||||
|
||||
LambdaUpdateWrapper<LawsMarketStandardDetail> updateNext = new LambdaUpdateWrapper<>();
|
||||
updateNext.eq(LawsMarketStandardDetail::getId,next.getId());
|
||||
updateNext.set(LawsMarketStandardDetail::getOrderNo,now.getOrderNo());
|
||||
update(updateNext);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 更细状态
|
||||
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
|
||||
return Result.OK(ResultCommon.OK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+5
-5
@@ -220,7 +220,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
List<DictModel> listDict = map.get(marketState);
|
||||
List<String> country = listDict.stream().map(DictModel::getText).collect(Collectors.toList());
|
||||
// 国家/地区+自定义+固定字段,自定义字段:预留手填,当前默认不填;固定字段:车型需满足标准法规清单
|
||||
manifest.setManifestName(String.join("",country) +
|
||||
manifest.setManifestName(String.join("、",country) +
|
||||
(StringUtils.isEmpty(manifest.getCustomColumnName()) ? "" : manifest.getCustomColumnName())
|
||||
+ "车型需满足标准法规清单");
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
@@ -247,9 +247,9 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
if(StringUtils.isBlank(manifestNo)){
|
||||
return s + "01";
|
||||
}
|
||||
String num = manifestNo.substring(manifestNo.length() - 2);
|
||||
int m = Integer.parseInt(num);
|
||||
return s + (m >= 10 ? (m + 1) : "0" + (m + 1));
|
||||
int m = Integer.parseInt(manifestNo) + 1;
|
||||
String n = s + (m >= 10 ? m : "0" + m);
|
||||
return n;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -288,7 +288,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
List<DictModel> listDict = map.get(marketState);
|
||||
List<String> country = listDict.stream().map(DictModel::getText).collect(Collectors.toList());
|
||||
// 国家/地区+自定义+固定字段,自定义字段:预留手填,当前默认不填;固定字段:车型需满足标准法规清单
|
||||
manifest.setManifestName(String.join("",country) +
|
||||
manifest.setManifestName(String.join("、",country) +
|
||||
(StringUtils.isEmpty(manifest.getCustomColumnName()) ? "" : manifest.getCustomColumnName())
|
||||
+ "车型需满足标准法规清单");
|
||||
updateById(manifest);
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package com.jero.modules.split.common;
|
||||
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.xkcoding.http.util.StringUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.tools.zip.ZipEntry;
|
||||
@@ -53,6 +56,9 @@ public class FileUnZip {
|
||||
// orgMkdirs = outPath.substring(0, outPath.lastIndexOf('/'));
|
||||
file.mkdirs();
|
||||
}else{
|
||||
if (!isFileSafe(zipEntryName)) {
|
||||
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.ERROR));
|
||||
}
|
||||
// orgMkdirs = outPath.substring(0, outPath.lastIndexOf('/'));
|
||||
}
|
||||
//判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压
|
||||
@@ -77,6 +83,18 @@ public class FileUnZip {
|
||||
return orgMkdirs;
|
||||
}
|
||||
|
||||
private static boolean isFileSafe(String fileName) {
|
||||
// 添加文件类型检查逻辑
|
||||
// 这里仅作为一个示例,实际应用中需要根据需要进行扩展
|
||||
String[] unsafeExtensions = {".exe", ".sh", ".bat", ".js"};
|
||||
for (String ext : unsafeExtensions) {
|
||||
if (fileName.endsWith(ext)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解压zip文件
|
||||
* 解决解压文件下有多个文件夹时,读不到orgMkdirs问题
|
||||
|
||||
+1
-1
@@ -74,7 +74,7 @@ public interface SarFileSplitMenuEOMapper extends BaseMapper<SarFileSplitMenuEO>
|
||||
|
||||
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);
|
||||
|
||||
|
||||
+3
-1
@@ -378,7 +378,9 @@
|
||||
<if test="displaySeq != null">
|
||||
and display_seq > #{displaySeq}
|
||||
</if>
|
||||
|
||||
<foreach item="item" index="index" collection="sourceIdList" open="and id not in (" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
order by display_seq
|
||||
</select>
|
||||
|
||||
|
||||
+4
-1
@@ -2269,6 +2269,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
tableHtml = tableHtml.replaceAll("style","border=\"1\" style");// 解决导入的表格没线
|
||||
splitTableInfo.setTableHtml(tableHtml);
|
||||
}catch (Exception e){
|
||||
log.error(e.getMessage(),e);
|
||||
throw new JeroBootException(sheet.getSheetName() + "页签数据异常");
|
||||
}
|
||||
getSheetTableList.add(splitTableInfo);
|
||||
@@ -2295,11 +2296,12 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
FileUnZip.deleteDir(saveDirectory);
|
||||
return message;
|
||||
} catch (JeroBootException e){
|
||||
log.error(e.getMessage(),e);
|
||||
//删除原上传文件
|
||||
FileUnZip.deleteDir(saveDirectory);
|
||||
return Result.error(1, e.getMessage());
|
||||
}catch (NullPointerException e){
|
||||
log.error(e.getMessage());
|
||||
log.error("读取失败,请严格按照模板文件导入数据",e);
|
||||
//删除原上传文件
|
||||
FileUnZip.deleteDir(saveDirectory);
|
||||
if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())){
|
||||
@@ -2309,6 +2311,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
}
|
||||
return Result.error(1, resultMsg);
|
||||
}catch (Exception e) {
|
||||
log.error(e.getMessage(),e);
|
||||
//删除原上传文件
|
||||
FileUnZip.deleteDir(saveDirectory);
|
||||
return Result.error(e.getMessage());
|
||||
|
||||
+34
-48
@@ -1,7 +1,9 @@
|
||||
package com.jero.modules.split.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollStreamUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
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) {
|
||||
// 要移动到的节点信息
|
||||
SarFileSplitMenuEO parentMenu = baseMapper.findById(parentId);
|
||||
Long menuDisplaySeq = parentMenu.getDisplaySeq();
|
||||
List<String> sourceIdList = Arrays.asList(sourceIds.split(","));
|
||||
|
||||
List<SarFileSplitMenuEO> lastMenuList;
|
||||
//是否是放到最后
|
||||
boolean equals = Objects.equals(menuDisplaySeq, displaySeq);
|
||||
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> lastMenuList = getLastMenu(parentMenu.getId(),displaySeq,sourceIdList);
|
||||
if (CollectionUtil.isNotEmpty(lastMenuList)){
|
||||
displaySeq = lastMenuList.stream().map(SarFileSplitMenuEO::getDisplaySeq).min(Comparator.comparing(x -> x)).orElse(null);
|
||||
}
|
||||
// 要移动的节点所有子集(包括本身)
|
||||
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);
|
||||
// 要移动的节点所有子集(包括本身)
|
||||
@@ -464,16 +445,21 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
||||
|
||||
private void getChildren(List<SarFileSplitMenuEO> allList, List<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);
|
||||
List<SarFileSplitMenuEO> childrenList = baseMapper.findByParentId(sarFileSplitMenuEO.getId());
|
||||
List<SarFileSplitMenuEO> childrenList = baseMapper.findByParentId(id);
|
||||
if (CollectionUtils.isNotEmpty(childrenList)){
|
||||
getChildren(allList, childrenList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public List<SarFileSplitMenuEO> getLastMenu(String parentId, Long displaySeq) {
|
||||
List<SarFileSplitMenuEO> lastByParentId = baseMapper.findLastByParentId(parentId, displaySeq);
|
||||
public List<SarFileSplitMenuEO> getLastMenu(String parentId, Long displaySeq, List<String> sourceIdList) {
|
||||
List<SarFileSplitMenuEO> lastByParentId = baseMapper.findLastByParentId(parentId, displaySeq,sourceIdList);
|
||||
//if(sarFileSplitMenuEO1 != null){
|
||||
// getLastMenu(sarFileSplitMenuEO1.getId());
|
||||
//}
|
||||
|
||||
Reference in New Issue
Block a user