From ca1a56545dc599b8c8da003b6791333022199c5f Mon Sep 17 00:00:00 2001 From: Yen Date: Mon, 31 Jul 2023 17:28:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=BC=E6=8E=A5=E5=8C=B9=E9=85=8D=E8=A7=84?= =?UTF-8?q?=E5=88=99=E9=A2=84=E8=A7=881=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tbs/common/util/CostSort2WrapperUtil.java | 33 ++++++++++++++----- .../controller/TbsCostApplyController.java | 2 ++ .../service/TbsBudgetMatchApplication.java | 2 +- .../service/impl/TbsCostApplyServiceImpl.java | 32 ++++++++++++++---- 4 files changed, 53 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tbs/common/util/CostSort2WrapperUtil.java b/src/main/java/com/qs/serve/modules/tbs/common/util/CostSort2WrapperUtil.java index 9a67855c..e5acfd9d 100644 --- a/src/main/java/com/qs/serve/modules/tbs/common/util/CostSort2WrapperUtil.java +++ b/src/main/java/com/qs/serve/modules/tbs/common/util/CostSort2WrapperUtil.java @@ -43,6 +43,9 @@ public class CostSort2WrapperUtil { } public static List sortOfCondition(List list){ + if(list.size()==0){ + return new ArrayList<>(); + } List listResult = new ArrayList<>(); //条件排序 List sortOfCondition = new ArrayList<>(); @@ -54,23 +57,35 @@ public class CostSort2WrapperUtil { sortOfNoCondition.add(scheduleItemBudget); } } - //商品排序 + sortProductAndTime(sortOfNoCondition); + sortProductAndTime(sortOfCondition); + listResult.addAll(sortOfNoCondition); + listResult.addAll(sortOfCondition); + return listResult; + } + + private static void sortProductAndTime(List list) { + //时间区间内,区间长度取最短 Collections.sort(list, (o1, o2) -> { - int len1 = o1.getConditionGoodsIds().split("_").length; - int len2 = o2.getConditionGoodsIds().split("_").length; - return len2 - len1; + Integer day1 = o1.getEndDate().getDayOfYear(); + Integer day2 = o2.getEndDate().getDayOfYear(); + return day2-day1; }); - //时间区间内,区间长度取最短 Collections.sort(list, (o1, o2) -> { Long day1 = Duration.between(o1.getStartDate(), o1.getEndDate()).toDays(); Long day2 = Duration.between(o2.getStartDate(), o2.getEndDate()).toDays(); log.debug("时间区间相同,day1:{} , day2:{}",day1,day2); - return (int) (day1-day2); + return (int) (day2-day1); + }); + + //商品排序 + Collections.sort(list, (o1, o2) -> { + int len1 = o1.getConditionGoodsIds().split("_").length; + int len2 = o2.getConditionGoodsIds().split("_").length; + log.debug("时间区间相同,len1:{} , len2:{}",len1,len2); + return len2 - len1; }); - listResult.addAll(sortOfNoCondition); - listResult.addAll(sortOfCondition); - return listResult; } } 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 19b2f5d2..6c7839b5 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 @@ -273,6 +273,7 @@ public class TbsCostApplyController { * @param id * @return */ + @LimitSubmit @PostMapping("/settingWithChange/{id}") @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.INSERT) @Transactional(rollbackFor = Exception.class) @@ -285,6 +286,7 @@ public class TbsCostApplyController { * @param id * @return */ + @LimitSubmit @PostMapping("/cancelWithChange/{id}") @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.INSERT) @Transactional(rollbackFor = Exception.class) diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java index 727caaa3..4a8755f4 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java @@ -123,7 +123,7 @@ public class TbsBudgetMatchApplication { leftTheadHeaderList.add(theadHeader); TbsBudgetTableVo.TableValue tableValue = new TbsBudgetTableVo.TableValue(); - tableValue.setTopId(centerGoods.getScheduleItemBudgetId()+""); + tableValue.setTopId(centerGoods.getScheduleItemBudgetId()==null?"0":centerGoods.getScheduleItemBudgetId().toString()); tableValue.setLeftId(centerGoods.getId()+""); tableValue.setValue(centerGoods.getCenterGoodsAmount()); tableValueList.add(tableValue); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java index 251b0358..ad892b43 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java @@ -13,8 +13,11 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.*; import com.qs.serve.common.util.model.DateFormatString; import com.qs.serve.modules.bir.entity.BirActivityCenterGoods; +import com.qs.serve.modules.bir.entity.BirBaseActivity; import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO; import com.qs.serve.modules.bir.entity.vo.YtdQtdToOAVo; +import com.qs.serve.modules.bir.mapper.BirActivityCenterGoodsMapper; +import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper; import com.qs.serve.modules.bir.service.BirCenterRateService; import com.qs.serve.modules.bir.service.BirRoiRateService; import com.qs.serve.modules.bms.entity.BmsRegion; @@ -103,14 +106,18 @@ public class TbsCostApplyServiceImpl extends ServiceImpl rmLogLqw = new LambdaQueryWrapper<>(); rmLogLqw.eq(TbsBudgetLog::getCostApplyId,id); budgetLogService.remove(rmLogLqw); + //删除BIR + LambdaQueryWrapper birActivityCenterGoodsLqw = new LambdaQueryWrapper<>(); + birActivityCenterGoodsLqw.eq(BirActivityCenterGoods::getCostApplyId,id); + birActivityCenterGoodsMapper.delete(birActivityCenterGoodsLqw); + + LambdaQueryWrapper birBaseActivityLqw = new LambdaQueryWrapper<>(); + birBaseActivityLqw.eq(BirBaseActivity::getCostApplyId,id); + birBaseActivityMapper.delete(birBaseActivityLqw); + + //命中预算 + budgetCostItemService.removeByCostApplyId(id); + } @Override @@ -430,12 +449,13 @@ public class TbsCostApplyServiceImpl extends ServiceImpl 0){ - tbsCostUnItemService.saveBatch(costUnItems); - } - budgetCostItemService.saveBatch(allBudgetItem); } + + //保存 + if(costUnItems.size() > 0){ + tbsCostUnItemService.saveBatch(costUnItems); + } + budgetCostItemService.saveBatch(allBudgetItem); } if(tbsCostApply.getChargeState().equals(TbsCostApplyState.State_0_unPublish.getCode())){