|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
|
import com.qs.serve.common.model.dto.DateSplitDTO; |
|
|
|
import com.qs.serve.common.util.Assert; |
|
|
|
import com.qs.serve.common.util.CollectionUtil; |
|
|
|
import com.qs.serve.common.util.DateSplitUtil; |
|
|
|
import com.qs.serve.common.util.PageUtil; |
|
|
@ -14,6 +15,7 @@ import com.qs.serve.modules.bir.entity.so.BirMonthCusCenterSo; |
|
|
|
import com.qs.serve.modules.bir.entity.vo.BirActivityCenterGoodsMonthVo; |
|
|
|
import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper; |
|
|
|
import com.qs.serve.modules.bir.mapper.BirRemoveIdMapper; |
|
|
|
import com.qs.serve.modules.bir.service.BirRemoveIdService; |
|
|
|
import com.qs.serve.modules.bms.entity.BmsCostCenter; |
|
|
|
import com.qs.serve.modules.bms.entity.BmsRegion; |
|
|
|
import com.qs.serve.modules.bms.entity.BmsRegion2; |
|
|
@ -22,11 +24,13 @@ import com.qs.serve.modules.bms.mapper.BmsCostCenterMapper; |
|
|
|
import com.qs.serve.modules.bms.mapper.BmsRegion2Mapper; |
|
|
|
import com.qs.serve.modules.bms.mapper.BmsRegionMapper; |
|
|
|
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; |
|
|
|
import com.qs.serve.modules.tbs.common.TbsActivityState; |
|
|
|
import com.qs.serve.modules.tbs.entity.TbsActivity; |
|
|
|
import com.qs.serve.modules.tbs.entity.TbsActivityCenter; |
|
|
|
import com.qs.serve.modules.tbs.entity.TbsActivityCenterGoods; |
|
|
|
import com.qs.serve.modules.tbs.entity.TbsCostApply; |
|
|
|
import com.qs.serve.modules.tbs.mapper.TbsActivityCenterGoodsMapper; |
|
|
|
import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; |
|
|
|
import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; |
|
|
|
import com.qs.serve.modules.tbs.service.TbsActivityCenterGoodsService; |
|
|
|
import com.qs.serve.modules.vtb.common.VtbFundFlowType; |
|
|
@ -72,12 +76,16 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
|
|
|
|
private final VtbFundFlowMapper fundFlowMapper; |
|
|
|
|
|
|
|
private final TbsActivityMapper activityMapper; |
|
|
|
|
|
|
|
private final TbsActivityCenterGoodsMapper tbsActivityCenterGoodsMapper; |
|
|
|
|
|
|
|
private final BirBaseActivityMapper birBaseActivityMapper; |
|
|
|
|
|
|
|
private final BmsSupplierMapper bmsSupplierMapper; |
|
|
|
private final BirRemoveIdMapper birRemoveIdMapper; |
|
|
|
//private final BirRemoveIdMapper birRemoveIdMapper;
|
|
|
|
|
|
|
|
private final BirRemoveIdService birRemoveIdService; |
|
|
|
|
|
|
|
private final TbsCostApplyMapper tbsCostApplyMapper; |
|
|
|
|
|
|
@ -115,9 +123,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
return birRemoveId; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
|
|
|
removeIds.forEach(a->{ |
|
|
|
birRemoveIdMapper.insert(a); |
|
|
|
}); |
|
|
|
birRemoveIdService.saveBatch(removeIds); |
|
|
|
} |
|
|
|
this.removeBatchByIds(noExist); |
|
|
|
|
|
|
@ -165,6 +171,9 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
Map<Long,List<TbsCostApply>> costApplyMap = costApplyList.stream().collect(Collectors.groupingBy(TbsCostApply::getId)); |
|
|
|
|
|
|
|
for (Long activityId : collectMap.keySet()) { |
|
|
|
|
|
|
|
TbsActivity activity = activityMapper.selectById(activityId); |
|
|
|
|
|
|
|
//用于保存的对象列表
|
|
|
|
List<BirActivityCenterGoods> bacgList = new ArrayList<>(); |
|
|
|
|
|
|
@ -182,7 +191,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
if(dateSplitList.size()>1){ |
|
|
|
for (DateSplitDTO currDateSplit : dateSplitList) { |
|
|
|
//获取该项分割金额对象
|
|
|
|
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activityCenterGoods, |
|
|
|
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activity,activityCenterGoods, |
|
|
|
dateSplitList, currDateSplit,currentActDays); |
|
|
|
//创建底表对象
|
|
|
|
BirActivityCenterGoods entity = createBirActivityCenterGoodsEntity(costCenterList, |
|
|
@ -192,7 +201,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
}else if (dateSplitList.size()==1){ |
|
|
|
DateSplitDTO currDateSplit = dateSplitList.get(0); |
|
|
|
//获取该项分割金额对象
|
|
|
|
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activityCenterGoods, |
|
|
|
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activity,activityCenterGoods, |
|
|
|
dateSplitList, currDateSplit,currentActDays); |
|
|
|
//创建底表对象
|
|
|
|
BirActivityCenterGoods entity = createBirActivityCenterGoodsEntity(costCenterList, |
|
|
@ -251,6 +260,8 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
Map<Long,List<TbsCostApply>> costApplyMap = costApplyList.stream().collect(Collectors.groupingBy(TbsCostApply::getId)); |
|
|
|
|
|
|
|
for (Long activityId : collectMap.keySet()) { |
|
|
|
|
|
|
|
TbsActivity activity = activityMapper.selectById(activityId); |
|
|
|
//用于保存的对象列表
|
|
|
|
List<BirActivityCenterGoods> bacgList = new ArrayList<>(); |
|
|
|
|
|
|
@ -268,7 +279,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
if(dateSplitList.size()>1){ |
|
|
|
for (DateSplitDTO currDateSplit : dateSplitList) { |
|
|
|
//获取该项分割金额对象
|
|
|
|
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activityCenterGoods, |
|
|
|
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activity,activityCenterGoods, |
|
|
|
dateSplitList, currDateSplit,currentActDays); |
|
|
|
//创建底表对象
|
|
|
|
BirActivityCenterGoods entity = createBirActivityCenterGoodsEntity(costCenterList, |
|
|
@ -278,7 +289,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
}else if (dateSplitList.size()==1){ |
|
|
|
DateSplitDTO currDateSplit = dateSplitList.get(0); |
|
|
|
//获取该项分割金额对象
|
|
|
|
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activityCenterGoods, |
|
|
|
BirCenterGoodSplitDTO goodSplitDTO = this.buildSplitAmount(activity,activityCenterGoods, |
|
|
|
dateSplitList, currDateSplit,currentActDays); |
|
|
|
//创建底表对象
|
|
|
|
BirActivityCenterGoods entity = createBirActivityCenterGoodsEntity(costCenterList, |
|
|
@ -307,9 +318,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
return birRemoveId; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
|
|
|
removeIds.forEach(a -> { |
|
|
|
birRemoveIdMapper.insert(a); |
|
|
|
}); |
|
|
|
birRemoveIdService.saveBatch(removeIds); |
|
|
|
} |
|
|
|
this.remove(birBaseActivityLqw); |
|
|
|
} |
|
|
@ -500,7 +509,7 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
* @param currentActDays |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private BirCenterGoodSplitDTO buildSplitAmount(TbsActivityCenterGoods activityCenterGoods, |
|
|
|
private BirCenterGoodSplitDTO buildSplitAmount(TbsActivity activity,TbsActivityCenterGoods activityCenterGoods, |
|
|
|
List<DateSplitDTO> dateSplitList , |
|
|
|
DateSplitDTO currDateSplit, |
|
|
|
Integer currentActDays){ |
|
|
@ -539,7 +548,8 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl<BirActivityCe |
|
|
|
goodSplitDTO.setCurrentSplitCheckAmount(splitCenterGoodsAmount); |
|
|
|
goodSplitDTO.setCurrentSplitPayAmount(splitPayAmount); |
|
|
|
goodSplitDTO.setCurrentSplitReleaseAmount(BigDecimal.ZERO); |
|
|
|
if(activityCenterGoods.getActivityFinishedFlag()!=null&&activityCenterGoods.getActivityFinishedFlag().equals(1)){ |
|
|
|
if(activity.getActivityState()!=null&&activity.getActivityState().equals(TbsActivityState.STATE_1_Finished) |
|
|
|
||activity.getActivityState().equals(TbsActivityState.STATE_4_Release)){ |
|
|
|
BigDecimal currentReleaseAmount = splitCenterGoodsAmount.subtract(splitCheckAmount); |
|
|
|
goodSplitDTO.setCurrentSplitReleaseAmount(currentReleaseAmount); |
|
|
|
goodSplitDTO.setCurrentSplitCheckAmount(splitCheckAmount); |
|
|
|