Yen 2 years ago
parent
commit
15fe88bc1c
  1. 32
      src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java
  2. 10
      src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml
  3. 4
      src/main/resources/mapper/vtb/VtbVerReportMapper.xml

32
src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java

@ -34,8 +34,10 @@ import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.dto.CusTargetRateDTO; import com.qs.serve.modules.tbs.entity.dto.CusTargetRateDTO;
import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem; import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem;
import com.qs.serve.modules.tbs.mapper.*; import com.qs.serve.modules.tbs.mapper.*;
import com.qs.serve.modules.tzc.entity.TzcPolicy;
import com.qs.serve.modules.tzc.entity.TzcPolicyItem; import com.qs.serve.modules.tzc.entity.TzcPolicyItem;
import com.qs.serve.modules.tzc.mapper.TzcPolicyItemMapper; import com.qs.serve.modules.tzc.mapper.TzcPolicyItemMapper;
import com.qs.serve.modules.tzc.mapper.TzcPolicyMapper;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -64,9 +66,11 @@ public class BirCenterRateServiceImpl implements BirCenterRateService {
private BirActivityCenterGoodsMapper birActivityCenterGoodsMapper; private BirActivityCenterGoodsMapper birActivityCenterGoodsMapper;
private TbsActivityCenterMapper tbsActivityCenterMapper; private TbsActivityCenterMapper tbsActivityCenterMapper;
private TzcPolicyItemMapper tzcPolicyItemMapper; private TzcPolicyItemMapper tzcPolicyItemMapper;
private TzcPolicyMapper tzcPolicyMapper;
private TbsBudgetLogMapper tbsBudgetLogMapper; private TbsBudgetLogMapper tbsBudgetLogMapper;
private BmsSupplierTargetMapper bmsSupplierTargetMapper; private BmsSupplierTargetMapper bmsSupplierTargetMapper;
private TbsScheduleItemMapper tbsScheduleItemMapper; private TbsScheduleItemMapper tbsScheduleItemMapper;
private TbsCostApplyMapper tbsCostApplyMapper;
@Override @Override
public List<TbsCostSubItem.CostCenterTranStr> findCostCenterDataByCostApplyId(Long costApplyId,Long policyId){ public List<TbsCostSubItem.CostCenterTranStr> findCostCenterDataByCostApplyId(Long costApplyId,Long policyId){
@ -78,11 +82,11 @@ public class BirCenterRateServiceImpl implements BirCenterRateService {
if (tbsActivityCenters.size() == 0) { if (tbsActivityCenters.size() == 0) {
return centerDataList; return centerDataList;
} }
TbsCostApply costApply = tbsCostApplyMapper.selectById(costApplyId);
Map<String, List<TbsActivityCenter>> centerMapList = tbsActivityCenters.stream().collect(Collectors.groupingBy(a -> a.getCenterType() + "-" + a.getCenterId())); Map<String, List<TbsActivityCenter>> centerMapList = tbsActivityCenters.stream().collect(Collectors.groupingBy(a -> a.getCenterType() + "-" + a.getCenterId()));
List<TbsActivityCenter> centerList = centerMapList.values().stream().map(a -> a.get(0)).collect(Collectors.toList()); List<TbsActivityCenter> centerList = centerMapList.values().stream().map(a -> a.get(0)).collect(Collectors.toList());
for(TbsActivityCenter center : centerList) { for(TbsActivityCenter center : centerList) {
TbsCostSubItem.CostCenterTranStr costCenter = this.buildCostCenter(center.getCenterType(), center.getCenterId(), center.getCenterName()); TbsCostSubItem.CostCenterTranStr costCenter = this.buildCostCenter(center.getCenterType(), center.getCenterId(), center.getCenterName(),costApply.getSupplierCode());
costCenter.setCenterId(center.getCenterId()); costCenter.setCenterId(center.getCenterId());
costCenter.setCentertype(center.getCenterType()); costCenter.setCentertype(center.getCenterType());
costCenter.setCenterCode(center.getCenterCode()); costCenter.setCenterCode(center.getCenterCode());
@ -90,13 +94,14 @@ public class BirCenterRateServiceImpl implements BirCenterRateService {
} }
} }
if(policyId!=null) { if(policyId!=null) {
TzcPolicy policy = tzcPolicyMapper.selectById(policyId);
LambdaQueryWrapper<TzcPolicyItem> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TzcPolicyItem> lqw = new LambdaQueryWrapper<>();
lqw.eq(TzcPolicyItem::getPolicyId,policyId); lqw.eq(TzcPolicyItem::getPolicyId,policyId);
List<TzcPolicyItem> policyItems = tzcPolicyItemMapper.selectList(lqw); List<TzcPolicyItem> policyItems = tzcPolicyItemMapper.selectList(lqw);
Map<String, List<TzcPolicyItem>> centerMapList = policyItems.stream().collect(Collectors.groupingBy(a -> a.getCenterType() + "-" + a.getCenterId())); Map<String, List<TzcPolicyItem>> centerMapList = policyItems.stream().collect(Collectors.groupingBy(a -> a.getCenterType() + "-" + a.getCenterId()));
List<TzcPolicyItem> centerList = centerMapList.values().stream().map(a -> a.get(0)).collect(Collectors.toList()); List<TzcPolicyItem> centerList = centerMapList.values().stream().map(a -> a.get(0)).collect(Collectors.toList());
for(TzcPolicyItem center : centerList) { for(TzcPolicyItem center : centerList) {
TbsCostSubItem.CostCenterTranStr costCenter = this.buildCostCenter(center.getCenterType(), center.getCenterId(), center.getCenterName()); TbsCostSubItem.CostCenterTranStr costCenter = this.buildCostCenter(center.getCenterType(), center.getCenterId(), center.getCenterName(),policy.getSupplierCode());
costCenter.setCenterId(center.getCenterId()); costCenter.setCenterId(center.getCenterId());
costCenter.setCentertype(center.getCenterType()); costCenter.setCentertype(center.getCenterType());
costCenter.setCenterCode(center.getCenterCode()); costCenter.setCenterCode(center.getCenterCode());
@ -216,11 +221,12 @@ public class BirCenterRateServiceImpl implements BirCenterRateService {
} }
//创建客户的费率 //创建客户的费率
if(StringUtils.hasText(supplierCode)){ if(StringUtils.hasText(supplierCode)){
try {
this.buildCustomerCenterTargetData(centerType, centerId, costCenter, supplierCode, dispatchSumVos); this.buildCustomerCenterTargetData(centerType, centerId, costCenter, supplierCode, dispatchSumVos);
} catch (Exception e) { // try {
log.error("[{}]创建客户成本中心的费率出现异常:{}",supplierCode,e.getMessage()); // this.buildCustomerCenterTargetData(centerType, centerId, costCenter, supplierCode, dispatchSumVos);
} // } catch (Exception e) {
// log.error("[{}]创建客户成本中心的费率出现异常:{}",supplierCode,e.getMessage());
// }
} }
return costCenter; return costCenter;
} }
@ -285,11 +291,19 @@ public class BirCenterRateServiceImpl implements BirCenterRateService {
//计算客户维度费率 //计算客户维度费率
costCenter.setQtdCusCenterCost(totalCostQty.toString()); costCenter.setQtdCusCenterCost(totalCostQty.toString());
costCenter.setQtdCusCenterSend(totalDispatchQty.toString()); costCenter.setQtdCusCenterSend(totalDispatchQty.toString());
costCenter.setQtdCusCenterExpenseRate(totalCostQty.divide(totalDispatchQty,RoundingMode.DOWN).toString()); String qtyCusCenterRateString = null;
if(totalDispatchQty.compareTo(BigDecimal.ZERO) != 0){
qtyCusCenterRateString = totalCostQty.divide(totalDispatchQty,RoundingMode.DOWN).toString();
}
costCenter.setQtdCusCenterExpenseRate(qtyCusCenterRateString);
costCenter.setQtdCusCenterTargetExpenseRate(targetRateDTO.getCusTargetRateQty()); costCenter.setQtdCusCenterTargetExpenseRate(targetRateDTO.getCusTargetRateQty());
costCenter.setYtdCusCenterCost(totalCostYear.toString()); costCenter.setYtdCusCenterCost(totalCostYear.toString());
costCenter.setYtdCusCenterSend(totalDispatchYear.toString()); costCenter.setYtdCusCenterSend(totalDispatchYear.toString());
costCenter.setYtdCusCenterExpenseRate(totalCostYear.divide(totalDispatchYear,RoundingMode.DOWN).toString()); String ytdCusCenterRateString = null;
if(totalDispatchYear.compareTo(BigDecimal.ZERO) != 0){
ytdCusCenterRateString = totalCostYear.divide(totalDispatchYear,RoundingMode.DOWN).toString();
}
costCenter.setYtdCusCenterExpenseRate(ytdCusCenterRateString);
costCenter.setYtdCusCenterTargetExpenseRate(targetRateDTO.getCusTargetRate()); costCenter.setYtdCusCenterTargetExpenseRate(targetRateDTO.getCusTargetRate());
} }

10
src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml

@ -160,11 +160,13 @@
key_num, key_num,
sum(split_amount) as total_cost_amt, sum(split_amount) as total_cost_amt,
sum(split_release_amount) as total_release_amt, sum(split_release_amount) as total_release_amt,
sum(split_used_amount) as total_used_amt, sum(split_used_amount) as total_used_amt
from bir_activity_center_goods from bir_activity_center_goods
where supplier_code = '' where supplier_code = #{query.supplierCode}
and center_type = '' and center_type = #{query.centerType}
and center_code = '' and center_id = #{query.centerId}
and key_num &lt;=#{query.endYearMonth}
and key_num &gt;=#{query.startYearMonth}
group by key_num group by key_num
</select> </select>
</mapper> </mapper>

4
src/main/resources/mapper/vtb/VtbVerReportMapper.xml

@ -12,8 +12,8 @@
and tbs_cost_apply.cancel_flag = 0 and tbs_cost_apply.cancel_flag = 0
<if test="query.activityCode != null and query.activityCode != ''"> and `tbs_activity`.`activity_code` like concat('%',#{query.activityCode},'%')</if> <if test="query.activityCode != null and query.activityCode != ''"> and `tbs_activity`.`activity_code` like concat('%',#{query.activityCode},'%')</if>
<if test="query.activityTitle != null and query.activityTitle != ''"> and `tbs_activity`.`act_title` like concat('%',#{query.activityTitle},'%')</if> <if test="query.activityTitle != null and query.activityTitle != ''"> and `tbs_activity`.`act_title` like concat('%',#{query.activityTitle},'%')</if>
<if test="query.queryStartSubmitTime != null and query.queryStartSubmitTime != ''"> and `tbs_cost_apply`.`submit_time` &gt;= #{query.queryStartSubmitTime} </if> <if test="query.queryStartSubmitTime != null "> and `tbs_cost_apply`.`submit_time` &gt;= #{query.queryStartSubmitTime} </if>
<if test="query.queryEndSubmitTime != null and query.queryEndSubmitTime != ''"> and `tbs_cost_apply`.`submit_time` &lt;= #{query.queryEndSubmitTime} </if> <if test="query.queryEndSubmitTime != null "> and `tbs_cost_apply`.`submit_time` &lt;= #{query.queryEndSubmitTime} </if>
<if test="query.supplierCode != null and query.supplierCode != ''"> and `tbs_cost_apply`.`supplier_code` like concat('%',#{query.supplierCode},'%') </if> <if test="query.supplierCode != null and query.supplierCode != ''"> and `tbs_cost_apply`.`supplier_code` like concat('%',#{query.supplierCode},'%') </if>
<if test="query.supplierName != null and query.supplierName != ''"> and `tbs_cost_apply`.`supplier_name` like concat('%',#{query.supplierName},'%') </if> <if test="query.supplierName != null and query.supplierName != ''"> and `tbs_cost_apply`.`supplier_name` like concat('%',#{query.supplierName},'%') </if>
<if test="query.costApplyCode != null and query.costApplyCode != ''"> and `tbs_cost_apply`.`code` like concat('%',#{query.costApplyCode},'%') </if> <if test="query.costApplyCode != null and query.costApplyCode != ''"> and `tbs_cost_apply`.`code` like concat('%',#{query.costApplyCode},'%') </if>

Loading…
Cancel
Save