市场法规清单添加排序功能

This commit is contained in:
梁琦涛
2024-09-19 17:24:39 +08:00
parent 9c5f04bde4
commit 325b2c4832
2 changed files with 50 additions and 14 deletions
@@ -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);
@@ -208,6 +208,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);
@@ -446,27 +462,33 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
.collect(Collectors.toList());
list = list.stream().filter(o->!listIds.contains(o.getStandardId())).collect(Collectors.toList());
}
QueryWrapper<LawsMarketStandardDetail> queryWrapper = new QueryWrapper<>();
queryWrapper.select("max(order_no) as order_no");
queryWrapper.eq("manifest_id",manifestId);
LawsMarketStandardDetail lawsMarketStandardDetail = getOne(queryWrapper,false);
float no = 0.0f;
if(!Objects.isNull(lawsMarketStandardDetail) && !Objects.isNull(lawsMarketStandardDetail.getOrderNo())){
no = lawsMarketStandardDetail.getOrderNo();
}
if(CollectionUtils.isEmpty(list)){
return Result.OK(ResultCommon.OK);
}
no = no + 1;
for (int i = 0; i < list.size(); i++) {
list.get(i).setOrderNo(no + i);
}
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);
@@ -508,6 +530,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);
@@ -562,7 +587,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);
}