From f7e1a7c23f14e1af0ad38cf1dfca2dc7d42456eb Mon Sep 17 00:00:00 2001 From: "15989082884@163.com" <15989082884@163.com> Date: Mon, 24 Jul 2023 09:34:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=95=E8=A1=A8=E6=9F=A5=E8=AF=A2=20?= =?UTF-8?q?=E5=92=8C=20=E9=A2=84=E7=AE=97=E8=B0=83=E6=95=B4=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BirActivityCenterGoodsController.java | 8 +++++ .../bir/entity/BirActivityCenterGoods.java | 18 +++++++++- .../tbs/controller/TbsBudgetController.java | 33 +++++++++++++++++++ .../entity/bo/TbsScheduleItemBudgetBo.java | 1 - .../service/impl/TbsBudgetServiceImpl.java | 12 ++++--- 5 files changed, 66 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java b/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java index 1b945f80..2061c77a 100644 --- a/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java +++ b/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java @@ -58,6 +58,14 @@ public class BirActivityCenterGoodsController { public R> getPage(BirActivityCenterGoods param){ PageUtil.startPage(); LambdaQueryWrapper channelWrapper = new LambdaQueryWrapper<>(param); + if(param.getKeyNumStart()!=null){ + Integer keyNumStart = Integer.parseInt(param.getKeyNumStart().replace("-","")); + channelWrapper.ge(BirActivityCenterGoods::getKeyNum,keyNumStart); + } + if(param.getKeyNumEnd()!=null){ + Integer keyNumEnd = Integer.parseInt(param.getKeyNumEnd().replace("-","")); + channelWrapper.le(BirActivityCenterGoods::getKeyNum,keyNumEnd); + } List list = centerGoodsService.list(channelWrapper); return R.byPageHelperList(list); } diff --git a/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java b/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java index 5483c8ad..b9a0a49f 100644 --- a/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java +++ b/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java @@ -85,6 +85,7 @@ public class BirActivityCenterGoods implements Serializable { /** 活动编码 */ @NotBlank(message = "活动编码不能为空") @Length(max = 30,message = "活动编码长度不能超过30字") + @TableField(condition = SqlCondition.LIKE) private String activityCode; /** 活动总金额 */ @@ -106,11 +107,13 @@ public class BirActivityCenterGoods implements Serializable { /** 科目编码 */ @NotBlank(message = "科目编码不能为空") @Length(max = 50,message = "科目编码长度不能超过50字") + @TableField(condition = SqlCondition.LIKE) private String subjectCode; /** 科目名称 */ @NotBlank(message = "科目名称不能为空") @Length(max = 50,message = "科目名称长度不能超过50字") + @TableField(condition = SqlCondition.LIKE) private String subjectName; /** 成本中心类型 */ @@ -126,11 +129,13 @@ public class BirActivityCenterGoods implements Serializable { /** 成本中心编码 */ @NotBlank(message = "成本中心编码不能为空") @Length(max = 50,message = "成本中心编码长度不能超过50字") + @TableField(condition = SqlCondition.LIKE) private String centerCode; /** 成本中心名称 */ @NotBlank(message = "成本中心名称不能为空") @Length(max = 200,message = "成本中心名称长度不能超过200字") + @TableField(condition = SqlCondition.LIKE) private String centerName; /** 成本中心金额 */ @@ -165,11 +170,13 @@ public class BirActivityCenterGoods implements Serializable { /** 目标编码 */ @NotBlank(message = "目标编码不能为空") @Length(max = 30,message = "目标编码长度不能超过30字") + @TableField(condition = SqlCondition.LIKE) private String targetCode; /** 目标名称 */ @NotBlank(message = "目标名称不能为空") @Length(max = 200,message = "目标名称长度不能超过200字") + @TableField(condition = SqlCondition.LIKE) private String targetName; /** 目标等级路径 */ @@ -261,20 +268,29 @@ public class BirActivityCenterGoods implements Serializable { /** 客户编码 */ @NotBlank(message = "客户编码不能为空") @Length(max = 30,message = "客户编码长度不能超过30字") + @TableField(condition = SqlCondition.LIKE) private String supplierCode; /** 客户名称 */ @NotBlank(message = "客户名称不能为空") @Length(max = 200,message = "客户名称长度不能超过200字") + @TableField(condition = SqlCondition.LIKE) private String supplierName; - + @TableField(condition = SqlCondition.LIKE) private String supplierSaleRegionName; private String supplierSaleRegionId; + @TableField(condition = SqlCondition.LIKE) private String supplierBizRegionName; private String supplierBizRegionId; + + @TableField(exist = false) + private String keyNumStart; + + @TableField(exist = false) + private String keyNumEnd; } 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 22b15f92..9f488615 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 @@ -185,6 +185,39 @@ public class TbsBudgetController { return R.ok(); } + /** + * 修改周期金额 + * @param param + * @return + */ + @PostMapping("/updateScheduleItemAmountAdd") + @SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.UPDATE) + @PreAuthorize("hasRole('tbs:budget:update')") + public R updateScheduleItemAmountAdd(@RequestBody @Valid TbsScheduleItemBudgetBo param){ + SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); + TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId()); + //金额相同时退出 +// if(scheduleItemBudget.getBudgetAmount().compareTo(param.getBudgetAmount())==0){return R.ok();} + TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId()); +// TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget(); +// itemBudget.setId(param.getId()); +// itemBudget.setBudgetAmount(param.getBudgetAmount()); +// tbsScheduleItemBudgetService.updateById(itemBudget); + //0-预算新增;1-费用申请;2-预算调增;3-预算调减;4-费用释放 + BudgetLogOptFlag optType; + BigDecimal amount; + if(param.getBudgetAmount().compareTo(BigDecimal.ZERO)>0){ + amount = param.getBudgetAmount(); + optType = BudgetLogOptFlag.State_2; + }else { + amount = param.getBudgetAmount(); + optType = BudgetLogOptFlag.State_3; + } + TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(sysUser,budget,scheduleItemBudget,optType, amount); + tbsBudgetLogService.save(budgetLog); + return R.ok(); + } + /** * 修改预计发货金额 * @param param diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsScheduleItemBudgetBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsScheduleItemBudgetBo.java index 958dcd40..184d7d70 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsScheduleItemBudgetBo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsScheduleItemBudgetBo.java @@ -30,7 +30,6 @@ public class TbsScheduleItemBudgetBo implements Serializable { private Long id; /** 预算金额 */ - @DecimalMin(value = "0") @NotNull(message = "预算金额不能为空") private BigDecimal budgetAmount; 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 34ff79b1..0f4ca752 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 @@ -40,10 +40,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -428,6 +425,13 @@ public class TbsBudgetServiceImpl extends ServiceImpl LambdaQueryWrapper lqw2 = new LambdaQueryWrapper<>(); lqw2.eq(TbsScheduleItemBudget::getBudgetId,budget.getId()); List scheduleItemBudgets = scheduleItemBudgetService.list(lqw2); + scheduleItemBudgets.forEach(a->{ + LambdaQueryWrapper budgetLogLambdaQueryWrapper = new LambdaQueryWrapper<>(); + budgetLogLambdaQueryWrapper.in(TbsBudgetLog::getOptType, BudgetLogOptFlag.getFinalBudgetOptFlag()); + budgetLogLambdaQueryWrapper.eq(TbsBudgetLog::getScheduleItemBudgetId,a.getId()); + List logList = budgetLogService.list(budgetLogLambdaQueryWrapper); + a.setBudgetAmount(logList.stream().map(b->b.getAmount()).reduce(BigDecimal.ZERO,BigDecimal::add)); + }); budgetVo.setScheduleItem(scheduleItemBudgets); return budgetVo; }