From 9c5f04bde4b3c4f65b3b643ead20627b897d82e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Thu, 19 Sep 2024 16:34:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=82=E5=9C=BA=E6=B3=95=E8=A7=84=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=8E=92=E5=BA=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/update/测试阶段.sql | 7 +- .../MarketStandardDetailController.java | 16 ++++ .../entity/LawsMarketStandardDetail.java | 13 ++++ .../ILawsMarketStandardDetailService.java | 7 ++ .../LawsMarketStandardDetailServiceImpl.java | 73 +++++++++++++++++++ .../src/main/resources/application-dev.yml | 4 +- 6 files changed, 117 insertions(+), 3 deletions(-) diff --git a/db/update/测试阶段.sql b/db/update/测试阶段.sql index 90e93f28..0d65d20e 100644 --- a/db/update/测试阶段.sql +++ b/db/update/测试阶段.sql @@ -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`; \ No newline at end of file + 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 '排序号'; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java index 4f9e39a4..8d17fba3 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java @@ -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); + } + } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java index f0ee564d..3f0c15cc 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java @@ -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; } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java index b4f4559d..3a4393d2 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java @@ -110,4 +110,11 @@ public interface ILawsMarketStandardDetailService extends IService move(LawsMarketStandardDetail marketStandardDetail); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java index 7049ca79..372b1f72 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java @@ -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!listIds.contains(o.getStandardId())).collect(Collectors.toList()); } + QueryWrapper 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 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 queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(LawsMarketStandardDetail::getManifestId,marketStandardDetail.getManifestId()); + queryWrapper.orderByAsc(LawsMarketStandardDetail::getOrderNo); + queryWrapper.orderByDesc(LawsMarketStandardDetail::getCreateTime); + List 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 updateNow = new LambdaUpdateWrapper<>(); + updateNow.eq(LawsMarketStandardDetail::getId,now.getId()); + updateNow.set(LawsMarketStandardDetail::getOrderNo,last.getOrderNo()); + update(updateNow); + + LambdaUpdateWrapper 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 updateNow = new LambdaUpdateWrapper<>(); + updateNow.eq(LawsMarketStandardDetail::getId,now.getId()); + updateNow.set(LawsMarketStandardDetail::getOrderNo,next.getOrderNo()); + update(updateNow); + + LambdaUpdateWrapper updateNext = new LambdaUpdateWrapper<>(); + updateNext.eq(LawsMarketStandardDetail::getId,next.getId()); + updateNext.set(LawsMarketStandardDetail::getOrderNo,now.getOrderNo()); + update(updateNext); + } + } + } + + return Result.OK(ResultCommon.OK); + } } diff --git a/laws-single-startup/src/main/resources/application-dev.yml b/laws-single-startup/src/main/resources/application-dev.yml index b16a18c3..66025731 100644 --- a/laws-single-startup/src/main/resources/application-dev.yml +++ b/laws-single-startup/src/main/resources/application-dev.yml @@ -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