From 7d833113b05dd75efdb8d68a0e93abb1c5d8228b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?= <14103883+leaf-phos@user.noreply.gitee.com> Date: Fri, 18 Oct 2024 15:53:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E4=BB=B7=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yh/price/controller/PriceController.java | 7 +++++ .../com/ruoyi/web/yh/price/domain/Price.java | 1 + .../yh/price/domain/enums/PriceStatus.java | 9 ++++++- .../web/yh/price/service/PriceService.java | 6 +++++ .../service/impl/PriceConverterImpl.java | 1 + .../price/service/impl/PriceServiceImpl.java | 27 +++++++++++++++++++ 6 files changed, 50 insertions(+), 1 deletion(-) diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/controller/PriceController.java b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/controller/PriceController.java index 1d65153..db75e4f 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/controller/PriceController.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/controller/PriceController.java @@ -115,4 +115,11 @@ public class PriceController extends BaseController return toAjax(priceService.disable(priceId)); } + @PreAuthorize("@ss.hasPermi('yh:price:enable')") + @Log(title = "单价启用", businessType = BusinessType.OTHER) + @PutMapping("/{priceId}/enable") + public AjaxResult enable(@PathVariable Long priceId) { + return toAjax(priceService.enable(priceId)); + } + } diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/domain/Price.java b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/domain/Price.java index 4ce578a..eb44287 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/domain/Price.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/domain/Price.java @@ -50,6 +50,7 @@ public class Price extends BaseEntity @Excel(name = "工序名称") @ApiModelProperty("工序名称") + @NotNull(message = "工序名称不允许为空", groups = ValidGroup.Create.class) @Size(max = 200, message = "工序名称不允许超过200个字符") private String name; diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/domain/enums/PriceStatus.java b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/domain/enums/PriceStatus.java index c54a957..5e425ce 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/domain/enums/PriceStatus.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/domain/enums/PriceStatus.java @@ -32,7 +32,7 @@ public enum PriceStatus { * 允许修改的状态 */ public static List<String> canEdit() { - return asList(WAIT_SUBMIT); + return asList(WAIT_SUBMIT, REJECT); } /** @@ -62,4 +62,11 @@ public enum PriceStatus { public static List<String> canDisable() { return asList(PASS); } + + /** + * 允许启用的状态 + */ + public static List<String> canEnable() { + return asList(PASS); + } } diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/PriceService.java b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/PriceService.java index ad38f70..cb30b33 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/PriceService.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/PriceService.java @@ -92,4 +92,10 @@ public interface PriceService * @param priceId 单价ID */ int disable(Long priceId); + + /** + * 启用操作 + * @param priceId 单价ID + */ + int enable(Long priceId); } diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/impl/PriceConverterImpl.java b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/impl/PriceConverterImpl.java index e001003..5cab8a8 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/impl/PriceConverterImpl.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/impl/PriceConverterImpl.java @@ -53,6 +53,7 @@ public class PriceConverterImpl implements PriceConverter { LoginUser loginUser = SecurityUtils.getLoginUser(); Price po = new Price(); + po.setStatus(PriceStatus.WAIT_SUBMIT.getStatus()); po.setPriceId(data.getPriceId()); po.setDeptId(data.getDeptId()); po.setCategory(data.getCategory()); diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/impl/PriceServiceImpl.java b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/impl/PriceServiceImpl.java index a6c0868..11799b7 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/impl/PriceServiceImpl.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/yh/price/service/impl/PriceServiceImpl.java @@ -227,4 +227,31 @@ public class PriceServiceImpl implements PriceService return result == null ? 0 : result; } + + @Override + public int enable(Long priceId) { + if (priceId == null) { + return 0; + } + PriceVO old = selectPriceByPriceId(priceId); + ServiceUtil.assertion(old == null, "待启用的单价不存在,请刷新后重试"); + ServiceUtil.assertion(!PriceStatus.canEnable().contains(old.getStatus()), "待启用的单价当前状态不允许禁用"); + ServiceUtil.assertion(old.getDisabled() != null && !old.getDisabled(), "待启用的单价已启用,请勿重复操作"); + + Integer result = transactionTemplate.execute(status -> { + Price data = new Price(); + data.setDisabled(false); + PriceQuery query = new PriceQuery(); + query.setStatusList(PriceStatus.canEnable()); + query.setPriceId(priceId); + query.setDisabled(true); + int update = this.updateByQuery(data, query); + ServiceUtil.assertion(update != 1, "启用单价失败,当前状态已发生变化,请刷新后重试"); + + return update; + }); + + return result == null ? 0 : result; + + } }