|
@ -1,5 +1,6 @@ |
|
|
package com.qs.serve.modules.tbs.service.impl; |
|
|
package com.qs.serve.modules.tbs.service.impl; |
|
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.qs.serve.common.enums.BudgetLogOptFlag; |
|
|
import com.qs.serve.common.enums.BudgetLogOptFlag; |
|
|
import com.qs.serve.common.exception.Assert; |
|
|
import com.qs.serve.common.exception.Assert; |
|
|
import com.qs.serve.framework.base.util.CollectionUtil; |
|
|
import com.qs.serve.framework.base.util.CollectionUtil; |
|
@ -154,8 +155,11 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi |
|
|
* @param changeItem |
|
|
* @param changeItem |
|
|
*/ |
|
|
*/ |
|
|
private void updateScheduleAmtAndBudgetLog(SysUser sysUser,TbsBudget budget,TbsScheduleItemBudget item, TbsBudgetChangeScheduleItem changeItem) { |
|
|
private void updateScheduleAmtAndBudgetLog(SysUser sysUser,TbsBudget budget,TbsScheduleItemBudget item, TbsBudgetChangeScheduleItem changeItem) { |
|
|
|
|
|
// 防止多个服务同时回调这里再次校验一次
|
|
|
|
|
|
String remarkKey = "TbsBudgetChangeScheduleItem::id="+changeItem.getId(); |
|
|
boolean changeAmtIsNotNull = changeItem.getBudgetAmount()!=null&&changeItem.getNewBudgetAmount()!=null; |
|
|
boolean changeAmtIsNotNull = changeItem.getBudgetAmount()!=null&&changeItem.getNewBudgetAmount()!=null; |
|
|
if(changeAmtIsNotNull && changeItem.getBudgetAmount().compareTo(changeItem.getNewBudgetAmount())!=0){ |
|
|
boolean changeAmt = changeAmtIsNotNull && changeItem.getBudgetAmount().compareTo(changeItem.getNewBudgetAmount())!=0; |
|
|
|
|
|
if(changeAmt){ |
|
|
BudgetLogOptFlag optType; |
|
|
BudgetLogOptFlag optType; |
|
|
BigDecimal amount = changeItem.getNewBudgetAmount().subtract(changeItem.getBudgetAmount()); |
|
|
BigDecimal amount = changeItem.getNewBudgetAmount().subtract(changeItem.getBudgetAmount()); |
|
|
log.debug("预算:{},项:{},原金额:{},新金额:{}",budget.getBudgetCode(),changeItem.getItemName(),changeItem.getBudgetAmount(),changeItem.getNewBudgetAmount()); |
|
|
log.debug("预算:{},项:{},原金额:{},新金额:{}",budget.getBudgetCode(),changeItem.getItemName(),changeItem.getBudgetAmount(),changeItem.getNewBudgetAmount()); |
|
@ -166,8 +170,12 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi |
|
|
}else{ |
|
|
}else{ |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(sysUser,budget,item,optType, amount); |
|
|
long count = tbsBudgetLogService.count(new LambdaQueryWrapper<TbsBudgetLog>().eq(TbsBudgetLog::getRemark,remarkKey)); |
|
|
tbsBudgetLogService.save(budgetLog); |
|
|
if (count<1){ |
|
|
|
|
|
TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(sysUser,budget,item,optType, amount); |
|
|
|
|
|
budgetLog.setRemark(remarkKey); |
|
|
|
|
|
tbsBudgetLogService.save(budgetLog); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
if(changeItem.getNewPreDispatchAmount()!=null){ |
|
|
if(changeItem.getNewPreDispatchAmount()!=null){ |
|
|
item.setPreDispatchAmount(changeItem.getNewPreDispatchAmount()); |
|
|
item.setPreDispatchAmount(changeItem.getNewPreDispatchAmount()); |
|
|