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

This commit is contained in:
梁琦涛
2024-09-19 16:34:31 +08:00
parent 216d876f4a
commit 9c5f04bde4
6 changed files with 117 additions and 3 deletions
+6 -1
View File
@@ -397,4 +397,9 @@ ALTER TABLE sys_user_agent MODIFY COLUMN `sys_org_code` varchar(64) NULL COMMENT
ALTER TABLE sys_user MODIFY COLUMN `type_id` varchar(64) NULL COMMENT '人员类型,000正式员工、002外部用户、001劳务工等';
-- 2024-09-18 增加法规符合性评估库适用市场字段长度
ALTER TABLE `laws_conformity_assessment_library`
MODIFY COLUMN `applicable_market` varchar(200) NULL DEFAULT NULL COMMENT '适用市场' AFTER `valuation_time`;
MODIFY COLUMN `applicable_market` varchar(200) NULL DEFAULT NULL COMMENT '适用市场' AFTER `valuation_time`;
-- 2024-09-19 市场法规清单-标准添加排序号字段
ALTER TABLE `laws_market_standard_detail`
ADD COLUMN `order_no` float NULL COMMENT '排序号';
@@ -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);
}
}
@@ -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;
}
@@ -110,4 +110,11 @@ public interface ILawsMarketStandardDetailService extends IService<LawsMarketSta
* @return
*/
ModelAndView export(LawsMarketStandardDetail marketStandardDetail, HttpServletRequest request);
/**
* 移动
* @param marketStandardDetail
* @return
*/
Result<?> move(LawsMarketStandardDetail marketStandardDetail);
}
@@ -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;
@@ -445,9 +446,21 @@ 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);
}
// 更细状态
marketStandardService.updateStatus(list.get(0).getManifestId());
saveBatch(list);
@@ -687,6 +700,66 @@ 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);
}
}
}
return Result.OK(ResultCommon.OK);
}
}
@@ -45,7 +45,7 @@ spring:
job-store-type: jdbc
initialize-schema: embedded
#定时任务启动开关,true-开 false-关
auto-startup: true
auto-startup: false
#启动时更新己存在的Job
overwrite-existing-jobs: true
properties:
@@ -147,7 +147,7 @@ spring:
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000;druid.stat.logSlowSql\=true
datasource:
master:
url: jdbc:p6spy:mysql://10.10.10.44:3306/laws_chery_dev_init?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
url: jdbc:p6spy:mysql://10.10.10.44:3306/laws_chery_dev?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
username: root
password: hzwlsoft.com
driver-class-name: com.p6spy.engine.spy.P6SpyDriver