From ccfee004ce65df86d299337e0421eac488c1ff23 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 16 Nov 2022 15:56:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E6=B7=BB=E5=8A=A0=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tbs/controller/TbsActivityController.java | 14 ++-- .../controller/TbsCostApplyController.java | 10 ++- .../modules/tbs/entity/TbsCostApply.java | 4 + .../entity/bo/TbsActivityCenterGoodsBo.java | 1 + .../service/impl/TbsActivityServiceImpl.java | 78 +++++++++++++++---- .../service/impl/TbsBudgetServiceImpl.java | 2 + 6 files changed, 87 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java index 9e33e5ab..a7ac5a9d 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java @@ -86,9 +86,11 @@ public class TbsActivityController { @SysLog(module = SystemModule.Budget, title = "费用活动", biz = BizType.UPDATE) @PreAuthorize("hasRole('tbs:activity:update')") public R updateById(@RequestBody @Valid TbsActivityBo param){ - TbsActivity entity = CopierUtil.copy(param,new TbsActivity()); - boolean result = tbsActivityService.updateById(entity); - return R.isTrue(result); + if(param.getId()==null){ + return R.error("id is null"); + } + tbsActivityService.modify(param); + return R.ok(); } /** @@ -100,9 +102,9 @@ public class TbsActivityController { @SysLog(module = SystemModule.Budget, title = "费用活动", biz = BizType.INSERT) @PreAuthorize("hasRole('tbs:activity:insert')") public R save(@RequestBody @Valid TbsActivityBo param){ - TbsActivity entity = CopierUtil.copy(param,new TbsActivity()); - boolean result = tbsActivityService.save(entity); - return R.isTrue(result); + param.setId(null); + tbsActivityService.modify(param); + return R.ok(); } /** diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java index 1cb8d401..0ece2411 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java @@ -13,6 +13,8 @@ import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysUserService; +import com.qs.serve.modules.tbs.entity.TbsActivity; +import com.qs.serve.modules.tbs.service.TbsActivityService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -40,6 +42,7 @@ public class TbsCostApplyController { private TbsCostApplyService tbsCostApplyService; private BmsSupplierService bmsSupplierService; private SysUserService sysUserService; + private TbsActivityService tbsActivityService; /** * 列表 @@ -133,7 +136,12 @@ public class TbsCostApplyController { @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.DELETE) @PreAuthorize("hasRole('tbs:costApply:delete')") public R deleteById(@PathVariable("id") Long id){ - //todo 有活动数据无法删除 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsActivity::getCostApplyId,id); + long count = tbsActivityService.count(lqw); + if(count>0L){ + return R.ok("含活动数据无法删除"); + } boolean result = tbsCostApplyService.removeById(id); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java index d4a2b1f5..6f61b41c 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java @@ -101,5 +101,9 @@ public class TbsCostApply implements Serializable { @JsonProperty private String delFlag; + /** 统计所有活动申请的金额 */ + @TableField(exist = false) + private BigDecimal totalActivityAmount; + } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityCenterGoodsBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityCenterGoodsBo.java index 522bc934..196e2318 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityCenterGoodsBo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityCenterGoodsBo.java @@ -25,6 +25,7 @@ public class TbsActivityCenterGoodsBo implements Serializable { private static final long serialVersionUID = 1L; + private Long subjectId; /** 成本中心类型: center, diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java index b1fed742..8796727f 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java @@ -25,15 +25,15 @@ import com.qs.serve.modules.tbs.entity.bo.TbsActivityBo; import com.qs.serve.modules.tbs.entity.bo.TbsActivityCenterGoodsBo; import com.qs.serve.modules.tbs.entity.bo.TbsActivityGoodsBo; import com.qs.serve.modules.tbs.entity.bo.TbsActivitySubjectBo; -import com.qs.serve.modules.tbs.service.TbsActivityGoodsService; -import com.qs.serve.modules.tbs.service.TbsCostApplyService; +import com.qs.serve.modules.tbs.service.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.annotations.One; import org.springframework.stereotype.Service; -import com.qs.serve.modules.tbs.service.TbsActivityService; import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.time.LocalDate; import java.util.ArrayList; import java.util.HashMap; @@ -51,6 +51,8 @@ import java.util.List; public class TbsActivityServiceImpl extends ServiceImpl implements TbsActivityService { private final TbsActivityGoodsService activityGoodsService; + private final TbsActivitySubjectService activitySubjectService; + private final TbsActivityCenterService activityCenterService; private final TbsCostApplyService costApplyService; private final BmsCostCenterService costCenterService; @@ -70,9 +72,10 @@ public class TbsActivityServiceImpl extends ServiceImpl checkAmountMap = new HashMap<>(); + Map checkRateMap = new HashMap<>(); for (TbsActivityCenterGoodsBo centerGoodsBo : activityBo.getActivityCenterGoodsList()) { - BmsSubject subject = subjectMap.get(centerGoodsBo.getCenterId()); + BmsSubject subject = subjectMap.get(centerGoodsBo.getSubjectId()); TbsActivityCenterGoods centerGoods = new TbsActivityCenterGoods(); + //设置成本中心 + String key = centerGoodsBo.getCenterType()+":"+centerGoodsBo.getCenterId(); + TbsCenterDto tbsCenterDto = centerDtoMap.get(key); + centerGoods.setCenterId(centerGoodsBo.getCenterId()); + centerGoods.setCenterCode(tbsCenterDto.getCenterCode()); + centerGoods.setCenterName(tbsCenterDto.getCenterName()); + //设置科目 centerGoods.setCostApplyId(costApply.getId()); centerGoods.setActivityId(activity.getId()); centerGoods.setSubjectId(subject.getId()); @@ -145,12 +167,22 @@ public class TbsActivityServiceImpl extends ServiceImpl @Override + @Transactional(rollbackFor = Exception.class) public void modify(TbsBudgetBo budgetBo) { TbsBudget budget; if(budgetBo.getId()!=null){