diff --git a/src/main/java/com/qs/serve/modules/bir/entity/vo/BirCostApplyRateVo.java b/src/main/java/com/qs/serve/modules/bir/entity/vo/BirCostApplyRateVo.java index 27d01e62..8637d434 100644 --- a/src/main/java/com/qs/serve/modules/bir/entity/vo/BirCostApplyRateVo.java +++ b/src/main/java/com/qs/serve/modules/bir/entity/vo/BirCostApplyRateVo.java @@ -34,14 +34,14 @@ public class BirCostApplyRateVo { */ private String scheduleType; - /** 目标金额(待定) */ - private BigDecimal targetAmount; - - /** 预算金额(待定) */ - private BigDecimal budgetAmt; - - /** 预算费用率(待定) */ - private BigDecimal budgetRate; +// /** 目标金额(待定) */ +// private BigDecimal targetAmount; +// +// /** 预算金额(待定) */ +// private BigDecimal budgetAmt; +// +// /** 预算费用率(待定) */ +// private BigDecimal budgetRate; /** 客户发货 */ private BigDecimal cusDisAmt; @@ -52,13 +52,21 @@ public class BirCostApplyRateVo { /** 客户费用率(客户费用/客户发货) */ private BigDecimal cusRate; - /** 整体发货(该成本中心所有客户的发货金额) */ + /** 该成本中心所有客户的发货金额 */ private BigDecimal centerDisAmt; - /** 整体费用(所有客户占用该成本中心的费用金额) */ + /** 所有客户占用该成本中心的费用金额 */ private BigDecimal centerCostAmt; - /** 整体费用率(整体费用/整体发货) */ + /** 成本中心维度比率 */ private BigDecimal centerRate; + /** 整体发货金额 */ + private BigDecimal allDisAmt; + + /** 整体费用金额 */ + private BigDecimal allCostAmt; + + /** 整体的比率 */ + private BigDecimal allByRate; } diff --git a/src/main/java/com/qs/serve/modules/bir/entity/vo/BirRoiCostItemVo.java b/src/main/java/com/qs/serve/modules/bir/entity/vo/BirRoiCostItemVo.java index af78fb11..b6a5823b 100644 --- a/src/main/java/com/qs/serve/modules/bir/entity/vo/BirRoiCostItemVo.java +++ b/src/main/java/com/qs/serve/modules/bir/entity/vo/BirRoiCostItemVo.java @@ -21,18 +21,18 @@ public class BirRoiCostItemVo { @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate yearMonthDate; - /** - * TODO 预算目标 - */ - private BigDecimal budgetTargetAmt; - - /** - * TODO 预算统计金额 - */ - private BigDecimal budgetTotalAmt; +// /** +// * TODO 预算目标 +// */ +// private BigDecimal budgetTargetAmt; +// +// /** +// * TODO 预算统计金额 +// */ +// private BigDecimal budgetTotalAmt; /** - * 费用预估金额 + * 费用预估金额(目标) */ private BigDecimal preAmt; @@ -47,7 +47,7 @@ public class BirRoiCostItemVo { private BigDecimal checkAmt; /** - * 费用金额(实际金额) + * 费用金额(实际金额,界面的预算费用) */ private BigDecimal costRealAmt; @@ -56,11 +56,6 @@ public class BirRoiCostItemVo { */ private BigDecimal checkRealAmt; - /** - * 利润金额(无效参数) - */ - private BigDecimal returnAmt; - /** * 发货金额(原发货金额) */ @@ -79,4 +74,5 @@ public class BirRoiCostItemVo { private Float ytdPercent; private Float qtdPercent; + } diff --git a/src/main/java/com/qs/serve/modules/bir/mapper/BirActivityCenterGoodsMapper.java b/src/main/java/com/qs/serve/modules/bir/mapper/BirActivityCenterGoodsMapper.java index 2b90332c..4a44ae56 100644 --- a/src/main/java/com/qs/serve/modules/bir/mapper/BirActivityCenterGoodsMapper.java +++ b/src/main/java/com/qs/serve/modules/bir/mapper/BirActivityCenterGoodsMapper.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.bir.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.bir.entity.BirActivityCenterGoods; import com.qs.serve.modules.bir.entity.so.BirMonthCusCenterSo; @@ -7,6 +8,7 @@ import com.qs.serve.modules.bir.entity.vo.BirActivityCenterGoodsMonthVo; import com.qs.serve.modules.tbs.entity.TbsActivityCenterGoods; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.time.LocalDate; import java.util.List; @@ -19,6 +21,10 @@ public interface BirActivityCenterGoodsMapper extends BaseMapper selectErrorBir(); + @InterceptorIgnore(tenantLine = "true") + BigDecimal totalAmt(@Param("startDate") Integer startDate, + @Param("endDate")Integer endDate); + /** * 查询出异动的记录 * @param startDate diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java index 4b80b49d..5f4a2919 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java @@ -237,7 +237,19 @@ public class BirCenterRateServiceImpl implements BirCenterRateService { if(dispatchSumCenterAmt.compareTo(BigDecimal.ZERO)!=0){ costApplyRateVo.setCenterRate(centerUsedCost.divide(dispatchSumCenterAmt,2,RoundingMode.DOWN)); } + //所有的发货单统计 + BigDecimal dispatchSumAllsAmt = dispatchDataMapper.getSumCost(startMonthNum, endMonthNum); + costApplyRateVo.setAllDisAmt(dispatchSumAllsAmt); + //所有的费用使用金额 + BigDecimal allUsedCost = birActivityCenterGoodsMapper.totalAmt(startMonthNum,endMonthNum); + costApplyRateVo.setAllCostAmt(allUsedCost); + + if(dispatchSumAllsAmt!=null&&dispatchSumAllsAmt.compareTo(BigDecimal.ZERO)!=0){ + costApplyRateVo.setAllByRate(costApplyRateVo.getAllCostAmt().divide(costApplyRateVo.getAllDisAmt(),2,RoundingMode.DOWN)); + } + costApplyRateVoList.add(costApplyRateVo); + } return costApplyRateVoList; } diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java index 0ae07ab5..468030c6 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java @@ -173,7 +173,6 @@ public class BirRoiRateServiceImpl extends ServiceImpl { + /** + * 查询发货单合计 + * @param startNumber + * @param endNumber + * @return + */ + @InterceptorIgnore(tenantLine = "1") + BigDecimal getSumCost(@Param("startNumber")Integer startNumber, + @Param("endNumber")Integer endNumber); + /** * 查询发货单合计 * @param startNumber @@ -30,6 +40,8 @@ public interface ErpDispatchDataMapper extends BaseMapper { @Param("endNumber")Integer endNumber, @Param("cusCodes")List cusCodes); + + @InterceptorIgnore(tenantLine = "1") BigDecimal querySumCostAmt(@Param("startNumber")Integer startNumber, @Param("endNumber")Integer endNumber, 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 98c51395..07f49ff0 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 @@ -120,13 +120,13 @@ public class TbsCostApplyController { @PreAuthorize("hasRole('tbs:costApply:query')") public R preview(Long id){ TbsCostApply costApply = tbsCostApplyService.getById(id); - TbsBudgetTableVo tableVo = null; - if(costApply.getMatchType().equals(0)){ - TbsBudgetCostResult result = budgetApplicationService.buildBudgetCostResult(id,false,true); - tableVo = result.getTableData(); - }else if (costApply.getMatchType().equals(1)){ - tableVo = tbsBudgetMatchApplication.getMatchResult(id,true).getTableVo(); - } + TbsBudgetTableVo tableVo = tbsBudgetMatchApplication.getMatchResult(id,true).getTableVo(); +// if(costApply.getMatchType().equals(0)){ +// TbsBudgetCostResult result = budgetApplicationService.buildBudgetCostResult(id,false,true); +// tableVo = result.getTableData(); +// }else if (costApply.getMatchType().equals(1)){ +// tableVo = tbsBudgetMatchApplication.getMatchResult(id,true).getTableVo(); +// } return R.ok(tableVo); } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetMapper.java index fc3b20a1..767699ad 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetMapper.java @@ -24,12 +24,12 @@ public interface TbsBudgetMapper extends BaseMapper { List selectBudgetId(@Param("query") TbsBudgetSo budgetSo); @InterceptorIgnore(tenantLine = "true") - @Update("update tbs_budget_condition set brand_id = SUBSTRING_INDEX(target_level_path_ids,'_',1)") - int updateBudgetCondition(); + @Update("update tbs_budget_condition set brand_id = SUBSTRING_INDEX(target_level_path_ids,'_',1) where budget_id = #{budgetId}") + int updateBudgetCondition(@Param("budgetId")Long budgetId); @InterceptorIgnore(tenantLine = "true") - @Update("update tbs_budget set center_combo = concat(center_type,'_',center_id)") - int updateBudgetComboCenter(); + @Update("update tbs_budget set center_combo = concat(center_type,'_',center_id) where id = #{budgetId}") + int updateBudgetComboCenter(@Param("budgetId")Long budgetId); } 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 f557623c..fe398d4b 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 @@ -113,7 +113,7 @@ public class TbsBudgetMatchApplication { //跳过预算指定的模板 TbsActivity activity = activityMap.get(centerGoods.getActivityId()); - String templateId = activity.getTemplateId()==null?null:activity.getTemplateId().toString(); + String templateId = activity.getTemplateId()==null||activity.getTemplateId()==0L?null:activity.getTemplateId().toString(); TbsBudget budget = allBudgetMap.get(itemBudget.getBudgetId()); if(budget==null){ continue; 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 7361f573..51e0e9a5 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 @@ -228,11 +228,15 @@ public class TbsBudgetServiceImpl extends ServiceImpl } scheduleItemBudgetService.saveBatch(scheduleItemBudgets); //设置条件 - this.updateById(budget); + if(budget.getId()!=null){ + this.updateById(budget); + }else { + this.save(budget); + } buildCondition(budget.getId(),brandIds,categoryIds,seriesIds,spuIds,skuIds); //冗余字段初始化 - baseMapper.updateBudgetCondition(); - baseMapper.updateBudgetComboCenter(); + baseMapper.updateBudgetCondition(budget.getId()); + baseMapper.updateBudgetComboCenter(budget.getId()); } /** 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 14baf01b..3dd6fb9b 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 @@ -353,12 +353,12 @@ public class TbsCostApplyServiceImpl extends ServiceImpl data = new HashMap<>(10); diff --git a/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml b/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml index 7687a028..d6e773eb 100644 --- a/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml +++ b/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml @@ -181,5 +181,15 @@ on tbs_cost_apply.id = bir_activity_center_goods.cost_apply_id where charge_state not in (1,2,3,4) + + diff --git a/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml b/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml index 2eb4bfab..1edc23c9 100644 --- a/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml +++ b/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml @@ -66,6 +66,8 @@ GROUP BY DATE_FORMAT(date,'%Y%m') + + + + diff --git a/src/main/resources/mapper/tbs/TbsCostApplyMapper.xml b/src/main/resources/mapper/tbs/TbsCostApplyMapper.xml index 9195d1fe..4d150aa5 100644 --- a/src/main/resources/mapper/tbs/TbsCostApplyMapper.xml +++ b/src/main/resources/mapper/tbs/TbsCostApplyMapper.xml @@ -156,7 +156,7 @@ WHERE `tbs_cost_apply`.`del_flag` = 0 and `tbs_activity`.`del_flag` = 0 - and `tbs_activity`.`activity_state` = 0 + and (`tbs_activity`.`activity_state` = 0 or `tbs_activity`.`activity_state` = 3 ) and `tbs_cost_apply`.`charge_state` = 2 and `tbs_activity`.pre_check_date >= #{startNowDate} and `tbs_activity`.pre_check_date < #{nowDate}