Yen 2 years ago
parent
commit
6cd7904f0d
  1. 3
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityMapper.java
  2. 8
      src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java
  3. 7
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  4. 25
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbFundFlowServiceImpl.java
  5. 49
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

3
src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityMapper.java

@ -15,6 +15,9 @@ import java.util.List;
*/ */
public interface TbsActivityMapper extends BaseMapper<TbsActivity> { public interface TbsActivityMapper extends BaseMapper<TbsActivity> {
@Select("select sum(tbs_activity.used_amount) from tbs_activity where cost_apply_id = #{costId} and del_flag = 0")
BigDecimal sumCostUsedAmount(@Param("costId") Long costId);
/** /**
* 统计用户所有通过审核的费用 * 统计用户所有通过审核的费用
* @param supplierId * @param supplierId

8
src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java

@ -8,6 +8,7 @@ import com.qs.serve.modules.bms.entity.BmsApplyMessage;
import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.TbsCostApply;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -18,6 +19,13 @@ import java.util.Map;
*/ */
public interface TbsCostApplyService extends IService<TbsCostApply> { public interface TbsCostApplyService extends IService<TbsCostApply> {
/**
* 通过活动合计费用申请总支付金额
* @param id
* @return
*/
BigDecimal totalCostUsed(Long id);
void updateCheckState(); void updateCheckState();
TbsCostApply getByCode(String code); TbsCostApply getByCode(String code);

7
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -125,8 +125,14 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
private TbsCostCheckStateMapper costCheckStateMapper; private TbsCostCheckStateMapper costCheckStateMapper;
@Override
public BigDecimal totalCostUsed(Long id) {
return tbsActivityMapper.sumCostUsedAmount(id);
}
@Override @Override
public void updateCheckState() { public void updateCheckState() {
AuthContextUtils.setTenant("001");
costCheckStateMapper.updateCheckState0(); costCheckStateMapper.updateCheckState0();
costCheckStateMapper.updateCheckState1(); costCheckStateMapper.updateCheckState1();
costCheckStateMapper.updateCheckState2(); costCheckStateMapper.updateCheckState2();
@ -1158,6 +1164,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
TbsCostApply costApply = new TbsCostApply(); TbsCostApply costApply = new TbsCostApply();
costApply.setId(costApplyId); costApply.setId(costApplyId);
costApply.setChargeState(TbsCostApplyState.State_3_finished.getCode()); costApply.setChargeState(TbsCostApplyState.State_3_finished.getCode());
if(isAllCancel){ if(isAllCancel){
costApply.setCheckState(3); costApply.setCheckState(3);

25
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbFundFlowServiceImpl.java

@ -182,6 +182,31 @@ public class VtbFundFlowServiceImpl extends ServiceImpl<VtbFundFlowMapper,VtbFun
List<TbsActivityCenterGoods> activityCenterGoodsList = activityCenterGoodsService.listByActivityId(activityId); List<TbsActivityCenterGoods> activityCenterGoodsList = activityCenterGoodsService.listByActivityId(activityId);
//更新其它明细 //更新其它明细
Map<Long,List<VtbFundFlow>> fundFlowMapBySubject = allFunFlow.stream().collect(Collectors.groupingBy(VtbFundFlow::getSubjectId)); Map<Long,List<VtbFundFlow>> fundFlowMapBySubject = allFunFlow.stream().collect(Collectors.groupingBy(VtbFundFlow::getSubjectId));
if(fundFlowMapBySubject.size()==0){
for (TbsActivitySubject currActivitySubject : activitySubjectList) {
TbsActivitySubject activitySubject = new TbsActivitySubject();
activitySubject.setId(currActivitySubject.getId());
activitySubject.setSubjectId(currActivitySubject.getSubjectId());
activitySubject.setUsedAmount(BigDecimal.ZERO);
activitySubject4Update.add(activitySubject);
}
for (TbsActivityCenter center : activityCenterList) {
TbsActivityCenter centerParam = new TbsActivityCenter();
centerParam.setId(center.getId());
centerParam.setUsedAmount(BigDecimal.ZERO);
centerParam4Update.add(centerParam);
}
for (TbsActivityCenterGoods centerGoods : activityCenterGoodsList) {
TbsActivityCenterGoods centerGoodsParam = new TbsActivityCenterGoods();
centerGoodsParam.setId(centerGoods.getId());
centerGoodsParam.setUsedAmount(BigDecimal.ZERO);
centerGoodsParam.setCenterGoodsRate(centerGoods.getCenterGoodsRate());
String subjectCenterKey = centerGoods.getSubjectId()+":"+centerGoods.getCenterType()+"_"+centerGoods.getCenterId();
centerGoodsParam.setSubjectCenterKey(subjectCenterKey);
allUpdateCenterGoodsList.add(centerGoodsParam);
}
return;
}
for (Long subjectId : fundFlowMapBySubject.keySet()) { for (Long subjectId : fundFlowMapBySubject.keySet()) {
List<VtbFundFlow> fundFlowList = fundFlowMapBySubject.get(subjectId); List<VtbFundFlow> fundFlowList = fundFlowMapBySubject.get(subjectId);
if(fundFlowList != null){ if(fundFlowList != null){

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

@ -387,41 +387,9 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
for (VtbVerification vtbVerification : vtbVerificationList) { for (VtbVerification vtbVerification : vtbVerificationList) {
totalVtbAmt = totalVtbAmt.add(vtbVerification.getAmount()); totalVtbAmt = totalVtbAmt.add(vtbVerification.getAmount());
} }
//更新活动状态 //刷新活动状态
TbsActivity activityUpdate = new TbsActivity(); VtbFundFlowService vtbFundFlowService = SpringUtils.getBean(VtbFundFlowService.class);
activityUpdate.setId(verification.getActivityId()); vtbFundFlowService.flushActivityAmount(verification.getActivityId());
activityUpdate.setActivityState(TbsActivityState.STATE_0_Todo);
activityUpdate.setUsedAmount(totalVtbAmt);
activityService.updateById(activityUpdate);
//更新活动其它表金额
BigDecimal n100 = new BigDecimal("100");
BigDecimal n10000 = new BigDecimal("10000");
List<TbsActivityCenter> activityCenterList = activityCenterService.listByActivity(activity.getId());
for (TbsActivityCenter activityCenter : activityCenterList) {
activityCenter.setUsedAmount(totalVtbAmt.multiply(activityCenter.getCenterRate()).divide(n100,2, RoundingMode.DOWN));
}
activityCenterService.updateBatchById(activityCenterList);
Map<Long,BigDecimal> subjectAmountMap = new HashMap<>();
List<TbsActivityCenterGoods> centerGoodsList = activityCenterGoodsService.listByActivityId(activity.getId());
for (TbsActivityCenterGoods centerGoods : centerGoodsList) {
centerGoods.setUsedAmount(totalVtbAmt.multiply(centerGoods.getCenterRate()).multiply(centerGoods.getCenterGoodsRate()).divide(n10000,2,RoundingMode.DOWN));
BigDecimal amt = subjectAmountMap.get(centerGoods.getSubjectId());
if(amt==null){
amt = centerGoods.getUsedAmount();
}else {
amt = amt.add(centerGoods.getUsedAmount());
}
subjectAmountMap.put(centerGoods.getSubjectId(),amt);
}
activityCenterGoodsService.updateBatchById(centerGoodsList);
List<TbsActivitySubject> activitySubjectList = activitySubjectService.listByActivityId(activity.getId());
for (TbsActivitySubject activitySubject : activitySubjectList) {
BigDecimal amt = subjectAmountMap.get(activitySubject.getSubjectId());
activitySubject.setUsedAmount(amt==null?BigDecimal.ZERO:amt);
}
activitySubjectService.updateBatchById(activitySubjectList);
//如果为最后的活动,更变费用申请状态 //如果为最后的活动,更变费用申请状态
if(costApply.getChargeState().equals(TbsCostApplyState.State_3_finished.getCode())){ if(costApply.getChargeState().equals(TbsCostApplyState.State_3_finished.getCode())){
@ -440,6 +408,14 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
fundFlowService.remove(rmqw); fundFlowService.remove(rmqw);
verificationYardMapper.delete(rmqw); verificationYardMapper.delete(rmqw);
verificationYardItemMapper.delete(rmqw); verificationYardItemMapper.delete(rmqw);
VtbVerificationSubject verificationSubject = new VtbVerificationSubject();
verificationSubject.setEffectiveFlag(0);
verificationSubjectService.update(verificationSubject,rmqw);
VtbVerificationSubjectCenter verificationSubjectCenter = new VtbVerificationSubjectCenter();
verificationSubjectCenter.setEffectiveFlag(0);
vtbVerificationSubjectCenterService.update(verificationSubjectCenter,rmqw);
// verificationSubjectService.remove(rmqw); // verificationSubjectService.remove(rmqw);
// verificationChannelService.remove(rmqw); // verificationChannelService.remove(rmqw);
// verificationChannelPointService.remove(rmqw); // verificationChannelPointService.remove(rmqw);
@ -1284,9 +1260,10 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
} }
BigDecimal totalCostApplyUsed = costApply.getTotalActivityUsedAmount().add(verification.getAmount()); BigDecimal totalCostApplyUsed = costApplyService.totalCostUsed(activity.getCostApplyId());
TbsCostApply updCost = new TbsCostApply(); TbsCostApply updCost = new TbsCostApply();
updCost.setId(costApply.getId()); updCost.setId(costApply.getId());
updCost.setChargeState(TbsCostApplyState.State_2_actioning.getCode());
updCost.setTotalActivityUsedAmount(totalCostApplyUsed); updCost.setTotalActivityUsedAmount(totalCostApplyUsed);
if(costApply.getTotalActivityAmount().compareTo(totalCostApplyUsed)<=0){ if(costApply.getTotalActivityAmount().compareTo(totalCostApplyUsed)<=0){
//金额是否用完 //金额是否用完

Loading…
Cancel
Save