|
@ -525,6 +525,11 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
} |
|
|
} |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
mainRelease(activityId, sysUser, activity, costApply, releaseAmount); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public void mainRelease(Long activityId, SysUser sysUser, TbsActivity activity, TbsCostApply costApply, BigDecimal releaseAmount) { |
|
|
TbsActivity param = new TbsActivity(); |
|
|
TbsActivity param = new TbsActivity(); |
|
|
param.setId(activityId); |
|
|
param.setId(activityId); |
|
|
param.setActivityState(TbsActivityState.STATE_4_Release); |
|
|
param.setActivityState(TbsActivityState.STATE_4_Release); |
|
@ -540,8 +545,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
fundFlowService.remove( |
|
|
fundFlowService.remove( |
|
|
new LambdaQueryWrapper<VtbFundFlow>() |
|
|
new LambdaQueryWrapper<VtbFundFlow>() |
|
|
.eq(VtbFundFlow::getFundType,VtbFundFlowType.Release) |
|
|
.eq(VtbFundFlow::getFundType,VtbFundFlowType.Release) |
|
|
.eq(VtbFundFlow::getCostApplyId,activity.getCostApplyId()) |
|
|
.eq(VtbFundFlow::getCostApplyId, activity.getCostApplyId()) |
|
|
.eq(VtbFundFlow::getActivityId,activity.getId()) |
|
|
.eq(VtbFundFlow::getActivityId, activity.getId()) |
|
|
); |
|
|
); |
|
|
VtbFundFlow fundFlow = new VtbFundFlow(); |
|
|
VtbFundFlow fundFlow = new VtbFundFlow(); |
|
|
fundFlow.setFundType(VtbFundFlowType.Release); |
|
|
fundFlow.setFundType(VtbFundFlowType.Release); |
|
@ -558,7 +563,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
//保存预算日志
|
|
|
//保存预算日志
|
|
|
List<TbsActivityCenterGoods> centerGoodsList = activityCenterGoodsService.listByActivityId(activityId); |
|
|
List<TbsActivityCenterGoods> centerGoodsList = activityCenterGoodsService.listByActivityId(activityId); |
|
|
LambdaQueryWrapper<TbsBudgetCostItem> itemLqw = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<TbsBudgetCostItem> itemLqw = new LambdaQueryWrapper<>(); |
|
|
itemLqw.eq(TbsBudgetCostItem::getActivityId,activityId); |
|
|
itemLqw.eq(TbsBudgetCostItem::getActivityId, activityId); |
|
|
List<TbsBudgetCostItem> budgetCostItemList = budgetCostItemService.list(itemLqw); |
|
|
List<TbsBudgetCostItem> budgetCostItemList = budgetCostItemService.list(itemLqw); |
|
|
List<Long> budgetIds = budgetCostItemList.stream().map(TbsBudgetCostItem::getBudgetId).collect(Collectors.toList()); |
|
|
List<Long> budgetIds = budgetCostItemList.stream().map(TbsBudgetCostItem::getBudgetId).collect(Collectors.toList()); |
|
|
List<TbsBudget> budgetLIst = budgetService.listByIds(budgetIds); |
|
|
List<TbsBudget> budgetLIst = budgetService.listByIds(budgetIds); |
|
@ -581,14 +586,19 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
BigDecimal amount = centerGoods.getCenterGoodsAmount().subtract(centerGoods.getUsedAmount()); |
|
|
BigDecimal amount = centerGoods.getCenterGoodsAmount().subtract(centerGoods.getUsedAmount()); |
|
|
TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.buildTbsBudgetLog(BudgetLogOptFlag.State_4,sysUser,costApply,currCostItem,currentBudget,amount,activity); |
|
|
TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.buildTbsBudgetLog(BudgetLogOptFlag.State_4, sysUser, costApply,currCostItem,currentBudget,amount, activity); |
|
|
|
|
|
if(budgetLog.getOptUserId()==null){ |
|
|
|
|
|
budgetLog.setOptUserId(sysUser.getId()); |
|
|
|
|
|
budgetLog.setOptUserCode(sysUser.getCode()); |
|
|
|
|
|
budgetLog.setOptUserName(sysUser.getName()); |
|
|
|
|
|
} |
|
|
budgetLogList.add(budgetLog); |
|
|
budgetLogList.add(budgetLog); |
|
|
} |
|
|
} |
|
|
//移除历史记录
|
|
|
//移除历史记录
|
|
|
budgetLogService.remove(new LambdaQueryWrapper<TbsBudgetLog>() |
|
|
budgetLogService.remove(new LambdaQueryWrapper<TbsBudgetLog>() |
|
|
.eq(TbsBudgetLog::getCostApplyId,activity.getCostApplyId()) |
|
|
.eq(TbsBudgetLog::getCostApplyId, activity.getCostApplyId()) |
|
|
.eq(TbsBudgetLog::getOptType,BudgetLogOptFlag.State_4.getCode()) |
|
|
.eq(TbsBudgetLog::getOptType,BudgetLogOptFlag.State_4.getCode()) |
|
|
.eq(TbsBudgetLog::getActivityId,activity.getId()) |
|
|
.eq(TbsBudgetLog::getActivityId, activity.getId()) |
|
|
); |
|
|
); |
|
|
//重新保存
|
|
|
//重新保存
|
|
|
if(CollectionUtil.isNotEmpty(budgetLogList)){ |
|
|
if(CollectionUtil.isNotEmpty(budgetLogList)){ |
|
@ -596,17 +606,17 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
} |
|
|
} |
|
|
//更新付款条件状态
|
|
|
//更新付款条件状态
|
|
|
LambdaQueryWrapper<TbsActivityPayCondition> updLqw = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<TbsActivityPayCondition> updLqw = new LambdaQueryWrapper<>(); |
|
|
updLqw.eq(TbsActivityPayCondition::getActivityId,activityId); |
|
|
updLqw.eq(TbsActivityPayCondition::getActivityId, activityId); |
|
|
TbsActivityPayCondition payCondition = new TbsActivityPayCondition(); |
|
|
TbsActivityPayCondition payCondition = new TbsActivityPayCondition(); |
|
|
payCondition.setFinishedFlag(1); |
|
|
payCondition.setFinishedFlag(1); |
|
|
activityPayConditionService.update(payCondition,updLqw); |
|
|
activityPayConditionService.update(payCondition,updLqw); |
|
|
//如果为最后的活动,更变费用申请状态
|
|
|
//如果为最后的活动,更变费用申请状态
|
|
|
costApplyService.flushCostStatus(costApply.getId(),costApply.getContractFlag()!=null&&costApply.getContractFlag().equals(1)); |
|
|
costApplyService.flushCostStatus(costApply.getId(), costApply.getContractFlag()!=null&& costApply.getContractFlag().equals(1)); |
|
|
// 协议类申请请求OA取消释放拦截
|
|
|
// 协议类申请请求OA取消释放拦截
|
|
|
if(costApply.getContractFlag().equals(1)){ |
|
|
if(costApply.getContractFlag().equals(1)){ |
|
|
R<String> result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_CONTRACT_RELEASE |
|
|
R<String> result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_CONTRACT_RELEASE |
|
|
+"?id="+costApply.getId() |
|
|
+"?id="+ costApply.getId() |
|
|
+"&code="+costApply.getCode(),null,"协议类申请取消释放"); |
|
|
+"&code="+ costApply.getCode(),null,"协议类申请取消释放"); |
|
|
if(result==null||result.getStatus()==null||result.getStatus()!=200){ |
|
|
if(result==null||result.getStatus()==null||result.getStatus()!=200){ |
|
|
Assert.throwEx("协议类取消释放时,调用OA失败"); |
|
|
Assert.throwEx("协议类取消释放时,调用OA失败"); |
|
|
} |
|
|
} |
|
|