Browse Source

Merge remote-tracking branch 'origin/v1.0' into v1.0

v1.0
15989082884@163.com 2 years ago
parent
commit
4b98faccec
  1. 5
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java
  2. 1
      src/main/java/com/qs/serve/modules/vtb/entity/bo/VtbVerificationContactBo.java
  3. 27
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

5
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java

@ -218,10 +218,11 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService
public Object doFinished(TbsAffairCommitBo param) { public Object doFinished(TbsAffairCommitBo param) {
Long targetId = Long.parseLong(this.getTargetId(param)); Long targetId = Long.parseLong(this.getTargetId(param));
// 更新金额 // 更新金额
BigDecimal totalApply = checkToChangeAmount(param, targetId);
TbsCostApply apply = new TbsCostApply(); TbsCostApply apply = new TbsCostApply();
// TODO 1.有修改金额为0的异常;2.需要调整预算占用
// BigDecimal totalApply = checkToChangeAmount(param, targetId);
// apply.setTotalActivityAmount(totalApply);
apply.setId(targetId); apply.setId(targetId);
apply.setTotalActivityAmount(totalApply);
apply.setChargeState(TbsCostApplyState.State_2_actioning.getCode()); apply.setChargeState(TbsCostApplyState.State_2_actioning.getCode());
costApplyService.updateById(apply); costApplyService.updateById(apply);
TbsCostApply costApply = costApplyService.getById(targetId); TbsCostApply costApply = costApplyService.getById(targetId);

1
src/main/java/com/qs/serve/modules/vtb/entity/bo/VtbVerificationContactBo.java

@ -21,6 +21,7 @@ public class VtbVerificationContactBo {
private BigDecimal totalCheckAmount; private BigDecimal totalCheckAmount;
/** 核销人员工号 */ /** 核销人员工号 */
@NotNull
private String userCode; private String userCode;
/** 条款编码 */ /** 条款编码 */

27
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -134,13 +134,13 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
if(surplus.compareTo(param.getTotalCheckAmount())<0){ if(surplus.compareTo(param.getTotalCheckAmount())<0){
Assert.throwEx("金额溢出"); Assert.throwEx("金额溢出");
} }
//Assert.throwEx("功能开发中...");
//添加核销记录 //添加核销记录
VtbVerification verification = new VtbVerification(); VtbVerification verification = new VtbVerification();
if(condition!=null){ if(condition!=null){
verification.setPayConditionId(condition.getId()); verification.setPayConditionId(condition.getId());
} }
verification.setAmountRecord(param.getTotalCheckAmount());
verification.setAmount(param.getTotalCheckAmount());
verification.setVerificationCode("HX"+CodeGenUtil.generate(CodeGenUtil.SourceKey.Verification)); verification.setVerificationCode("HX"+CodeGenUtil.generate(CodeGenUtil.SourceKey.Verification));
verification.setVerificationState(VtbVerificationState.Commiting.getCode()); verification.setVerificationState(VtbVerificationState.Commiting.getCode());
verification.setCostApplyId(costApply.getId()); verification.setCostApplyId(costApply.getId());
@ -169,13 +169,22 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
List<TbsActivitySubject> activitySubjectList = activitySubjectService.listByActivityId(activity.getId()); List<TbsActivitySubject> activitySubjectList = activitySubjectService.listByActivityId(activity.getId());
List<TbsActivityCenter> activityCenterList = activityCenterService.listByActivity(activity.getId()); List<TbsActivityCenter> activityCenterList = activityCenterService.listByActivity(activity.getId());
List<TbsActivityCenterGoods> activityCenterGoodsList = activityCenterGoodsService.listByActivityId(activity.getId()); List<TbsActivityCenterGoods> activityCenterGoodsList = activityCenterGoodsService.listByActivityId(activity.getId());
BigDecimal tempTotal = finalAmt; BigDecimal tempTotal = param.getTotalCheckAmount();
BigDecimal n100 = new BigDecimal("100"); BigDecimal n100 = new BigDecimal("100");
BigDecimal n10000 = new BigDecimal("10000"); BigDecimal n10000 = new BigDecimal("10000");
List<TbsActivityCenter> activityCenters4Update = new ArrayList<>(); List<TbsActivityCenter> activityCenters4Update = new ArrayList<>();
List<TbsActivitySubject> activitySubject4Update = new ArrayList<>(); List<TbsActivitySubject> activitySubject4Update = new ArrayList<>();
for (TbsActivitySubject activitySubject : activitySubjectList) { for (TbsActivitySubject activitySubject : activitySubjectList) {
BigDecimal surplusAmt = activitySubject.getAmount().subtract(activitySubject.getUsedAmount()); if(tempTotal.compareTo(BigDecimal.ZERO)<1){
break;
}
BigDecimal totalCenterUsedAmt = BigDecimal.ZERO;
BigDecimal totalCenterAmt = BigDecimal.ZERO;
for (TbsActivityCenter activityCenter : activityCenterList) {
totalCenterAmt = totalCenterAmt.add(activityCenter.getCenterAmount());
totalCenterUsedAmt = totalCenterUsedAmt.add(activityCenter.getUsedAmount());
}
BigDecimal surplusAmt = totalCenterAmt.subtract(totalCenterUsedAmt);
if(surplusAmt.compareTo(BigDecimal.ZERO)<=0){ if(surplusAmt.compareTo(BigDecimal.ZERO)<=0){
continue; continue;
} }
@ -185,6 +194,10 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
if(tempTotal.compareTo(surplusAmt)<0){ if(tempTotal.compareTo(surplusAmt)<0){
//余额大于核销金额 //余额大于核销金额
currentSubjectAmt = tempTotal; currentSubjectAmt = tempTotal;
tempTotal = BigDecimal.ZERO;
if(activitySubject.getUsedAmount()==null){
activitySubject.setUsedAmount(BigDecimal.ZERO);
}
activitySubject.setUsedAmount(activitySubject.getUsedAmount().add(tempTotal)); activitySubject.setUsedAmount(activitySubject.getUsedAmount().add(tempTotal));
//最后一项 //最后一项
for (TbsActivityCenter activityCenter : activityCenterList) { for (TbsActivityCenter activityCenter : activityCenterList) {
@ -203,10 +216,10 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
activityCenterGoods4Update.add(centerGoods); activityCenterGoods4Update.add(centerGoods);
} }
} }
break; activitySubject4Update.add(activitySubject);
}else { }else {
//余额小于于核销金额 //余额小于于核销金额
currentSubjectAmt = surplusAmt; currentSubjectAmt = tempTotal;
tempTotal = tempTotal.subtract(surplusAmt); tempTotal = tempTotal.subtract(surplusAmt);
//设置全部完成 //设置全部完成
for (TbsActivityCenter activityCenter : activityCenterList) { for (TbsActivityCenter activityCenter : activityCenterList) {
@ -222,8 +235,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
} }
} }
activitySubject.setUsedAmount(activitySubject.getAmount()); activitySubject.setUsedAmount(activitySubject.getAmount());
}
activitySubject4Update.add(activitySubject); activitySubject4Update.add(activitySubject);
}
//跟随活动科目同级 //跟随活动科目同级
if(CollectionUtil.isNotEmpty(activityCenterGoods4Update)){ if(CollectionUtil.isNotEmpty(activityCenterGoods4Update)){
activityCenterGoodsService.updateBatchById(activityCenterGoods4Update); activityCenterGoodsService.updateBatchById(activityCenterGoods4Update);

Loading…
Cancel
Save