|
@ -15,6 +15,7 @@ import com.qs.serve.modules.tbs.entity.TbsActivitySubject; |
|
|
import com.qs.serve.modules.tbs.entity.TbsCostApply; |
|
|
import com.qs.serve.modules.tbs.entity.TbsCostApply; |
|
|
import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; |
|
|
import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; |
|
|
import com.qs.serve.modules.tbs.service.*; |
|
|
import com.qs.serve.modules.tbs.service.*; |
|
|
|
|
|
import com.qs.serve.modules.tzc.consts.TzcArgTypes; |
|
|
import com.qs.serve.modules.tzc.entity.TzcRebatePeriod; |
|
|
import com.qs.serve.modules.tzc.entity.TzcRebatePeriod; |
|
|
import com.qs.serve.modules.tzc.entity.dto.TzcRebateCalculateDTO; |
|
|
import com.qs.serve.modules.tzc.entity.dto.TzcRebateCalculateDTO; |
|
|
import com.qs.serve.modules.tzc.service.TzcRebateApplication4VerificationService; |
|
|
import com.qs.serve.modules.tzc.service.TzcRebateApplication4VerificationService; |
|
@ -25,6 +26,7 @@ import com.qs.serve.modules.vtb.entity.bo.VtbVerificationSubjectBo; |
|
|
import com.qs.serve.modules.vtb.entity.bo.VtbVerificationSubjectCenterBo; |
|
|
import com.qs.serve.modules.vtb.entity.bo.VtbVerificationSubjectCenterBo; |
|
|
import com.qs.serve.modules.vtb.event.VtbRebateAutoEvent; |
|
|
import com.qs.serve.modules.vtb.event.VtbRebateAutoEvent; |
|
|
import com.qs.serve.modules.vtb.service.VtbFundFlowService; |
|
|
import com.qs.serve.modules.vtb.service.VtbFundFlowService; |
|
|
|
|
|
import com.qs.serve.modules.vtb.service.VtbVerificationBatchService; |
|
|
import lombok.AllArgsConstructor; |
|
|
import lombok.AllArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.jetbrains.annotations.Nullable; |
|
|
import org.jetbrains.annotations.Nullable; |
|
@ -62,6 +64,7 @@ public class TbsActivityCheckController { |
|
|
private final TbsActivityMapper tbsActivityMapper; |
|
|
private final TbsActivityMapper tbsActivityMapper; |
|
|
private final TzcRebateApplication4VerificationService tzcRebateApplication4VerificationService; |
|
|
private final TzcRebateApplication4VerificationService tzcRebateApplication4VerificationService; |
|
|
private final ApplicationEventPublisher eventPublisher; |
|
|
private final ApplicationEventPublisher eventPublisher; |
|
|
|
|
|
private final VtbVerificationBatchService vtbVerificationBatchService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void createAutoEvent(){ |
|
|
public void createAutoEvent(){ |
|
@ -79,19 +82,21 @@ public class TbsActivityCheckController { |
|
|
public void createAutoEvent(@PathVariable("actId") Long activityId){ |
|
|
public void createAutoEvent(@PathVariable("actId") Long activityId){ |
|
|
TbsActivity activity = tbsActivityService.getById(activityId); |
|
|
TbsActivity activity = tbsActivityService.getById(activityId); |
|
|
TbsCostApply costApply = tbsCostApplyService.getById(activity.getCostApplyId()); |
|
|
TbsCostApply costApply = tbsCostApplyService.getById(activity.getCostApplyId()); |
|
|
VtbVerificationBo commitBo = createVerificationBo(activity); |
|
|
VtbVerificationBo commitBo = createVerificationBo(activity, TzcArgTypes.LevelReturn); |
|
|
if (commitBo == null) return; |
|
|
if (commitBo == null){ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
eventPublisher.publishEvent(new VtbRebateAutoEvent(this, commitBo, costApply.getUserId())); |
|
|
eventPublisher.publishEvent(new VtbRebateAutoEvent(this, commitBo, costApply.getUserId())); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Nullable |
|
|
@Nullable |
|
|
private VtbVerificationBo createVerificationBo(TbsActivity activity) { |
|
|
private VtbVerificationBo createVerificationBo(TbsActivity activity,TzcArgTypes argType) { |
|
|
Long activityId = activity.getId(); |
|
|
Long activityId = activity.getId(); |
|
|
// 通过周期查询发货金额
|
|
|
// 通过周期查询发货金额
|
|
|
ErpDispatchSumPmsVo erpDispatchSumPmsVo = tbsActivityService.getDispatchSumByActivity(activity); |
|
|
ErpDispatchSumPmsVo erpDispatchSumPmsVo = tbsActivityService.getDispatchSumByActivity(activity); |
|
|
BigDecimal dispatchAmount = erpDispatchSumPmsVo.getTotalAmount(); |
|
|
BigDecimal dispatchAmount = erpDispatchSumPmsVo.getTotalAmount(); |
|
|
// 此次核销金额
|
|
|
// 此次核销金额
|
|
|
TzcRebateCalculateDTO calculateDTO = tzcRebateApplication4VerificationService.getActivityRebateAmount(activityId,dispatchAmount); |
|
|
TzcRebateCalculateDTO calculateDTO = tzcRebateApplication4VerificationService.getActivityRebateAmount(activityId,dispatchAmount,argType); |
|
|
BigDecimal vtbAmt = calculateDTO.getTotalReturnAmt(); |
|
|
BigDecimal vtbAmt = calculateDTO.getTotalReturnAmt(); |
|
|
if (vtbAmt.compareTo(BigDecimal.ZERO)==0){ |
|
|
if (vtbAmt.compareTo(BigDecimal.ZERO)==0){ |
|
|
// 没有返利金额
|
|
|
// 没有返利金额
|
|
@ -148,23 +153,24 @@ public class TbsActivityCheckController { |
|
|
List<VtbVerificationBo> verificationBoList = new ArrayList<>(); |
|
|
List<VtbVerificationBo> verificationBoList = new ArrayList<>(); |
|
|
BigDecimal totalAmount = BigDecimal.ZERO; |
|
|
BigDecimal totalAmount = BigDecimal.ZERO; |
|
|
for (TbsActivity activity : activityList) { |
|
|
for (TbsActivity activity : activityList) { |
|
|
VtbVerificationBo verificationBo = this.createVerificationBo(activity); |
|
|
VtbVerificationBo verificationBo = this.createVerificationBo(activity,TzcArgTypes.LevelOverallReturn); |
|
|
if (verificationBo==null){ |
|
|
if (verificationBo==null){ |
|
|
continue; |
|
|
continue; |
|
|
} |
|
|
} |
|
|
verificationBoList.add(verificationBo); |
|
|
verificationBoList.add(verificationBo); |
|
|
for (VtbVerificationSubjectCenterBo centerBo : verificationBo.getSubjectCenterList()) { |
|
|
for (VtbVerificationSubjectBo subjectBo : verificationBo.getSubjectList()) { |
|
|
|
|
|
totalAmount = subjectBo.getAmount().add(totalAmount); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
VtbVerificationBatchBo batchBo = new VtbVerificationBatchBo(); |
|
|
VtbVerificationBatchBo batchBo = new VtbVerificationBatchBo(); |
|
|
batchBo.setVerificationList(verificationBoList); |
|
|
batchBo.setVerificationList(verificationBoList); |
|
|
batchBo.setRemark("年度返利核销"); |
|
|
batchBo.setRemark("年度返利核销"); |
|
|
//batchBo.setPayWayId(0);
|
|
|
// 票扣
|
|
|
|
|
|
batchBo.setPayWayId(1L); |
|
|
batchBo.setCostApplyId(costApplyId); |
|
|
batchBo.setCostApplyId(costApplyId); |
|
|
//batchBo.setTotalAmount();
|
|
|
batchBo.setTotalAmount(totalAmount); |
|
|
batchBo.setRebateOfYearFlag(1); |
|
|
batchBo.setRebateOfYearFlag(1); |
|
|
|
|
|
vtbVerificationBatchService.submit(batchBo,costApply.getUserId()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|