From 17fdbeb7e54de364832e0eb04cb048a6dfd949f2 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 16 Nov 2022 13:58:43 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=AE=97=E6=B7=BB=E5=8A=A0=E5=90=AF?= =?UTF-8?q?=E5=81=9C=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tbs/controller/TbsBudgetController.java | 18 +++++++++++++++ .../serve/modules/tbs/entity/TbsBudget.java | 3 +++ .../modules/tbs/entity/bo/TbsBudgetBo.java | 13 +++++++++++ .../tbs/entity/bo/TbsBudgetStateBo.java | 23 +++++++++++++++++++ .../service/impl/TbsBudgetServiceImpl.java | 19 ++++++++++++--- 5 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetStateBo.java diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java index 64000e02..dfe18161 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java @@ -12,6 +12,7 @@ import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.entity.TbsBudgetCondition; import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget; +import com.qs.serve.modules.tbs.entity.bo.TbsBudgetStateBo; import com.qs.serve.modules.tbs.entity.vo.TbsBudgetVo; import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; import com.qs.serve.modules.tbs.service.TbsBudgetConditionService; @@ -128,6 +129,22 @@ public class TbsBudgetController { return R.ok(); } + /** + * 更新状态 + * @param param + * @return + */ + @PostMapping("/updateState") + @SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.UPDATE) + @PreAuthorize("hasRole('tbs:budget:update')") + public R updateById(@RequestBody @Valid TbsBudgetStateBo param){ + TbsBudget budget = new TbsBudget(); + budget.setId(param.getId()); + budget.setBudgetState(param.getBudgetState().equals(1)?1:0); + tbsBudgetService.updateById(budget); + return R.ok(); + } + /** * 新增 * @param param @@ -151,6 +168,7 @@ public class TbsBudgetController { @SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.DELETE) @PreAuthorize("hasRole('tbs:budget:delete')") public R deleteById(@PathVariable("ids") String ids){ + //todo 预算记录则不允许删除 List idsLong = StringUtils.splitIdLong(ids); boolean result = tbsBudgetService.removeByIds(idsLong); return R.isTrue(result); diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java index 3e89b7ff..8ab9be1e 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java @@ -31,6 +31,9 @@ public class TbsBudget implements Serializable { @TableId(type = IdType.AUTO) private Long id; + /** 费用启用状态 */ + private Integer budgetState; + /** 科目id */ @NotNull(message = "科目id不能为空") private Long subjectId; diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetBo.java index f14e801b..cfc801bf 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetBo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetBo.java @@ -43,6 +43,8 @@ public class TbsBudgetBo implements Serializable { @NotNull(message = "考核期id不能为空") private Long scheduleId; + @NotNull(message = "考核项不能为空") + private List scheduleItems; /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") @@ -62,5 +64,16 @@ public class TbsBudgetBo implements Serializable { /** skuId列表(前端显示为单品) */ private List skuIds; + + @Data + public static class ScheduleItem{ + + /** 考核期项ID */ + private Long scheduleItemId; + + /** 预算金额 */ + private BigDecimal amount; + } + } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetStateBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetStateBo.java new file mode 100644 index 00000000..426cbe29 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetStateBo.java @@ -0,0 +1,23 @@ +package com.qs.serve.modules.tbs.entity.bo; + +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @author YenHex + * @since 2022/11/16 + */ +@Data +public class TbsBudgetStateBo { + + /** id */ + @NotNull + private Long id; + + + /** 费用启用状态 */ + @NotNull + private Integer budgetState; + +} diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java index 0ad80c00..7a3ee292 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java @@ -83,15 +83,28 @@ public class TbsBudgetServiceImpl extends ServiceImpl LambdaQueryWrapper lqw2 = new LambdaQueryWrapper<>(); lqw2.eq(TbsScheduleItemBudget::getBudgetId,budget.getId()); scheduleItemBudgetService.remove(lqw2); - }else { - this.saveOrUpdate(budget); } + this.saveOrUpdate(budget); + //保存 费用项 List scheduleItems = scheduleItemService.listByScheduleId(schedule.getId()); + List scheduleItemBudgets = new ArrayList<>(); for (TbsScheduleItem scheduleItem : scheduleItems) { TbsScheduleItemBudget itemBudget = CopierUtil.copy(scheduleItem,new TbsScheduleItemBudget()); - + for (TbsBudgetBo.ScheduleItem boScheduleItem : budgetBo.getScheduleItems()) { + if(itemBudget.getId().equals(boScheduleItem.getScheduleItemId())){ + itemBudget.setBudgetAmount(boScheduleItem.getAmount()); + break; + } + } + if(itemBudget.getBudgetAmount()==null){ + Assert.throwEx("考核期周期需设置金额"); + } + itemBudget.setId(null); + itemBudget.setBudgetId(budget.getId()); + scheduleItemBudgets.add(itemBudget); } + scheduleItemBudgetService.saveBatch(scheduleItemBudgets); //设置条件 List budgetConditions = new ArrayList<>(); if(CollectionUtil.isNotEmpty(budgetBo.getSkuIds())){