|
@ -2,6 +2,8 @@ package com.qs.serve.modules.tbs.service.impl; |
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
|
|
import com.qs.serve.common.framework.manager.AsyncFactory; |
|
|
|
|
|
import com.qs.serve.common.framework.manager.AsyncManager; |
|
|
import com.qs.serve.common.model.enums.BudgetLogOptFlag; |
|
|
import com.qs.serve.common.model.enums.BudgetLogOptFlag; |
|
|
import com.qs.serve.common.model.consts.BudgetLogRollbackFlag; |
|
|
import com.qs.serve.common.model.consts.BudgetLogRollbackFlag; |
|
|
import com.qs.serve.common.model.dto.R; |
|
|
import com.qs.serve.common.model.dto.R; |
|
@ -198,7 +200,7 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService |
|
|
Long targetId = Long.parseLong(this.getTargetId(param)); |
|
|
Long targetId = Long.parseLong(this.getTargetId(param)); |
|
|
// 更新金额
|
|
|
// 更新金额
|
|
|
TbsCostApply apply = new TbsCostApply(); |
|
|
TbsCostApply apply = new TbsCostApply(); |
|
|
// TODO 1.有修改金额为0的异常;2.需要调整预算占用
|
|
|
// 有修改金额,调整预算占用
|
|
|
BigDecimal totalApply = checkToChangeAmount(param); |
|
|
BigDecimal totalApply = checkToChangeAmount(param); |
|
|
apply.setId(targetId); |
|
|
apply.setId(targetId); |
|
|
if(totalApply!=null){ |
|
|
if(totalApply!=null){ |
|
@ -231,7 +233,12 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService |
|
|
Long targetId = Long.parseLong(this.getTargetId(param)); |
|
|
Long targetId = Long.parseLong(this.getTargetId(param)); |
|
|
// 更新金额
|
|
|
// 更新金额
|
|
|
TbsCostApply apply = new TbsCostApply(); |
|
|
TbsCostApply apply = new TbsCostApply(); |
|
|
BigDecimal totalApply = checkToChangeAmount(param); |
|
|
BigDecimal totalApply = null; |
|
|
|
|
|
try { |
|
|
|
|
|
totalApply = checkToChangeAmount(param); |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
} |
|
|
apply.setId(targetId); |
|
|
apply.setId(targetId); |
|
|
if(totalApply!=null){ |
|
|
if(totalApply!=null){ |
|
|
apply.setTotalActivityAmount(totalApply); |
|
|
apply.setTotalActivityAmount(totalApply); |
|
@ -247,13 +254,32 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService |
|
|
} |
|
|
} |
|
|
//判断审批过程,是否修改了金额
|
|
|
//判断审批过程,是否修改了金额
|
|
|
if(costApply.getEditAmountFlag().equals(1)){ |
|
|
if(costApply.getEditAmountFlag().equals(1)){ |
|
|
|
|
|
doEditAmtCallback(costApply); |
|
|
|
|
|
} |
|
|
|
|
|
//更新活动通过时间
|
|
|
|
|
|
TbsActivity tbsActivity = new TbsActivity(); |
|
|
|
|
|
tbsActivity.setCostPassTime(LocalDateTime.now()); |
|
|
|
|
|
tbsActivity.setCostPassFlag(1); |
|
|
|
|
|
LambdaQueryWrapper<TbsActivity> actLqw = new LambdaQueryWrapper<>(); |
|
|
|
|
|
actLqw.eq(TbsActivity::getCostApplyId,targetId); |
|
|
|
|
|
tbsActivityMapper.update(tbsActivity,actLqw); |
|
|
|
|
|
activitySlottingFeeMapper.updatePassFlagByCostApplyId(targetId,1); |
|
|
|
|
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 编辑金额后预算调整 |
|
|
|
|
|
* @param costApply |
|
|
|
|
|
*/ |
|
|
|
|
|
private void doEditAmtCallback(TbsCostApply costApply) { |
|
|
//修改预算占用
|
|
|
//修改预算占用
|
|
|
TbsActivityCenterGoodsService tbsActivityCenterGoodsService = SpringUtils.getBean(TbsActivityCenterGoodsService.class); |
|
|
TbsActivityCenterGoodsService tbsActivityCenterGoodsService = SpringUtils.getBean(TbsActivityCenterGoodsService.class); |
|
|
List<TbsActivityCenterGoods> activityCenterGoodsList = tbsActivityCenterGoodsService.listByCostApplyId(costApply.getId()); |
|
|
List<TbsActivityCenterGoods> activityCenterGoodsList = tbsActivityCenterGoodsService.listByCostApplyId(costApply.getId()); |
|
|
//查询当前预算占用
|
|
|
//查询当前预算占用
|
|
|
LambdaQueryWrapper<TbsBudgetLog> logLqw = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<TbsBudgetLog> logLqw = new LambdaQueryWrapper<>(); |
|
|
logLqw.eq(TbsBudgetLog::getRollbackFlag,BudgetLogRollbackFlag.State_0); |
|
|
logLqw.eq(TbsBudgetLog::getRollbackFlag,BudgetLogRollbackFlag.State_0); |
|
|
logLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId()); |
|
|
logLqw.eq(TbsBudgetLog::getCostApplyId, costApply.getId()); |
|
|
logLqw.and(qw->{ |
|
|
logLqw.and(qw->{ |
|
|
qw.eq(TbsBudgetLog::getOptType,BudgetLogOptFlag.State_1.getCode()).or() |
|
|
qw.eq(TbsBudgetLog::getOptType,BudgetLogOptFlag.State_1.getCode()).or() |
|
|
.eq(TbsBudgetLog::getOptType,BudgetLogOptFlag.State_6.getCode()); |
|
|
.eq(TbsBudgetLog::getOptType,BudgetLogOptFlag.State_6.getCode()); |
|
@ -283,16 +309,6 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService |
|
|
List<TbsBudgetLog> newBudgetLogList = this.createNewBudgetLogs(costApply, activityCenterGoodsList, sysUser, budgetCostItemList, budgetList); |
|
|
List<TbsBudgetLog> newBudgetLogList = this.createNewBudgetLogs(costApply, activityCenterGoodsList, sysUser, budgetCostItemList, budgetList); |
|
|
tbsBudgetLogService.saveBatch(newBudgetLogList); |
|
|
tbsBudgetLogService.saveBatch(newBudgetLogList); |
|
|
} |
|
|
} |
|
|
//更新活动通过时间
|
|
|
|
|
|
TbsActivity tbsActivity = new TbsActivity(); |
|
|
|
|
|
tbsActivity.setCostPassTime(LocalDateTime.now()); |
|
|
|
|
|
tbsActivity.setCostPassFlag(1); |
|
|
|
|
|
LambdaQueryWrapper<TbsActivity> actLqw = new LambdaQueryWrapper<>(); |
|
|
|
|
|
actLqw.eq(TbsActivity::getCostApplyId,targetId); |
|
|
|
|
|
tbsActivityMapper.update(tbsActivity,actLqw); |
|
|
|
|
|
activitySlottingFeeMapper.updatePassFlagByCostApplyId(targetId,1); |
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 创建新的预算占用记录 |
|
|
* 创建新的预算占用记录 |
|
@ -573,6 +589,7 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService |
|
|
// 判断是否含有下个节点
|
|
|
// 判断是否含有下个节点
|
|
|
String flag = result.getData(); |
|
|
String flag = result.getData(); |
|
|
//审批中(next)、完成(finish)、拒绝(refused)
|
|
|
//审批中(next)、完成(finish)、拒绝(refused)
|
|
|
|
|
|
log.warn("审批节点返回结果:{}",flag); |
|
|
if("finish".equals(flag)){ |
|
|
if("finish".equals(flag)){ |
|
|
this.doFinished(affairCommit); |
|
|
this.doFinished(affairCommit); |
|
|
return R.ok(); |
|
|
return R.ok(); |
|
@ -586,6 +603,8 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService |
|
|
} |
|
|
} |
|
|
}else if ("next".equals(flag)){ |
|
|
}else if ("next".equals(flag)){ |
|
|
this.doNext(affairCommit); |
|
|
this.doNext(affairCommit); |
|
|
|
|
|
//特殊记录需要异步
|
|
|
|
|
|
AsyncManager.me().execute(AsyncFactory.submitCostApply(costApply)); |
|
|
return R.ok(); |
|
|
return R.ok(); |
|
|
} |
|
|
} |
|
|
}else if (result.getStatus()==500){ |
|
|
}else if (result.getStatus()==500){ |
|
|