|
|
@ -340,14 +340,14 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService |
|
|
|
|
|
|
|
/** |
|
|
|
* 编辑金额后预算调整 |
|
|
|
* @param costApply |
|
|
|
* @param param |
|
|
|
*/ |
|
|
|
private void doEditAmtCallback(TbsCostApply costApply) { |
|
|
|
public void doEditAmtCallback(TbsCostApply param) { |
|
|
|
|
|
|
|
TbsActivityCenterGoodsService tbsActivityCenterGoodsService = SpringUtils.getBean(TbsActivityCenterGoodsService.class); |
|
|
|
List<TbsActivityCenterGoods> activityCenterGoodsList = tbsActivityCenterGoodsService.listByCostApplyId(costApply.getId()); |
|
|
|
List<TbsActivityCenterGoods> activityCenterGoodsList = tbsActivityCenterGoodsService.listByCostApplyId(param.getId()); |
|
|
|
|
|
|
|
List<TbsBudgetCostItem> budgetCostItemList = tbsBudgetCostItemService.listByCostApplyId(costApply.getId()); |
|
|
|
List<TbsBudgetCostItem> budgetCostItemList = tbsBudgetCostItemService.listByCostApplyId(param.getId()); |
|
|
|
for (TbsBudgetCostItem costItem : budgetCostItemList) { |
|
|
|
for (TbsActivityCenterGoods centerGoods : activityCenterGoodsList) { |
|
|
|
if(costItem.getCenterGoodItemId().equals(centerGoods.getId())){ |
|
|
@ -358,27 +358,95 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService |
|
|
|
} |
|
|
|
//移除非申请状态异常
|
|
|
|
LambdaQueryWrapper<TbsBudgetLog> budgetLogRmLqw = new LambdaQueryWrapper<>(); |
|
|
|
budgetLogRmLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId()); |
|
|
|
budgetLogRmLqw.ne(TbsBudgetLog::getOptType,1); |
|
|
|
budgetLogRmLqw.eq(TbsBudgetLog::getCostApplyId,param.getId()); |
|
|
|
//budgetLogRmLqw.eq(TbsBudgetLog::getOptType,1);
|
|
|
|
tbsBudgetLogMapper.delete(budgetLogRmLqw); |
|
|
|
//重新合计申请状态异常
|
|
|
|
LambdaQueryWrapper<TbsBudgetLog> budgetLogLqw = new LambdaQueryWrapper<>(); |
|
|
|
budgetLogLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId()); |
|
|
|
budgetLogLqw.eq(TbsBudgetLog::getOptType,1); |
|
|
|
List<TbsBudgetLog> budgetLogList = tbsBudgetLogMapper.selectList(budgetLogLqw); |
|
|
|
for (TbsBudgetLog budgetLog : budgetLogList) { |
|
|
|
for (TbsActivityCenterGoods centerGoods : activityCenterGoodsList) { |
|
|
|
if( budgetLog.getActivityId().equals(centerGoods.getActivityId()) |
|
|
|
&&budgetLog.getSubjectId().equals(centerGoods.getSubjectId()) |
|
|
|
&& budgetLog.getCenterType().equals(centerGoods.getCenterType()) |
|
|
|
&& budgetLog.getCenterId().equals(centerGoods.getCenterId()) |
|
|
|
&& budgetLog.getTargetId().equals(centerGoods.getTargetId()) |
|
|
|
){ |
|
|
|
budgetLog.setAmount(centerGoods.getCenterGoodsAmount().negate()); |
|
|
|
tbsBudgetLogMapper.updateById(budgetLog); |
|
|
|
|
|
|
|
TbsCostApply tbsCostApply = costApplyService.getById(param.getId()); |
|
|
|
SysUser sysUser = sysUserService.getById(tbsCostApply.getUserId()); |
|
|
|
LambdaQueryWrapper<TbsActivity> actLqw = new LambdaQueryWrapper<>(); |
|
|
|
actLqw.eq(TbsActivity::getCostApplyId,param.getId()); |
|
|
|
List<TbsActivity> activityList = tbsActivityMapper.selectList(actLqw); |
|
|
|
|
|
|
|
List<Long> budgetIds = budgetCostItemList.stream() |
|
|
|
.map(TbsBudgetCostItem::getBudgetId).collect(Collectors.toList()); |
|
|
|
if(budgetIds.size()<1){ |
|
|
|
return; |
|
|
|
} |
|
|
|
List<TbsBudget> budgetList = tbsBudgetMapper.selectBatchIds(budgetIds); |
|
|
|
|
|
|
|
List<TbsBudgetLog> budgetLogList = new ArrayList<>(); |
|
|
|
for (TbsBudgetCostItem item : budgetCostItemList) { |
|
|
|
TbsBudgetLog budgetLog = new TbsBudgetLog(); |
|
|
|
budgetLog.setBudgetId(item.getBudgetId()); |
|
|
|
for (TbsBudget budget : budgetList) { |
|
|
|
if(item.getBudgetId().equals(budget.getId())){ |
|
|
|
budgetLog.setBudgetCode(budget.getBudgetNumber()); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
budgetLog.setOptType(1); |
|
|
|
budgetLog.setOptUserId(sysUser.getId()); |
|
|
|
budgetLog.setOptUserCode(sysUser.getCode()); |
|
|
|
budgetLog.setOptUserName(sysUser.getName()); |
|
|
|
budgetLog.setAmount(item.getCenterGoodsAmount().negate()); |
|
|
|
budgetLog.setScheduleId(item.getScheduleId()); |
|
|
|
budgetLog.setScheduleItemId(item.getScheduleItemId()); |
|
|
|
budgetLog.setScheduleItemBudgetId(item.getScheduleItemBudgetId()); |
|
|
|
budgetLog.setItemName(item.getScheduleItemName()); |
|
|
|
budgetLog.setStartDate(item.getActStartDate().atStartOfDay()); |
|
|
|
budgetLog.setEndDate(item.getActEndDate().atStartOfDay()); |
|
|
|
budgetLog.setSubjectId(item.getSubjectId()); |
|
|
|
budgetLog.setSubjectCode(item.getSubjectCode()); |
|
|
|
budgetLog.setSubjectName(item.getSubjectName()); |
|
|
|
budgetLog.setCenterId(item.getCenterId()); |
|
|
|
budgetLog.setCenterCode(item.getCenterCode()); |
|
|
|
budgetLog.setCenterName(item.getCenterName()); |
|
|
|
budgetLog.setCenterType(item.getCenterType()); |
|
|
|
budgetLog.setSupplierId(item.getSupplierId()); |
|
|
|
budgetLog.setSupplierCode(item.getSupplierCode()); |
|
|
|
budgetLog.setSupplierName(item.getSupplierName()); |
|
|
|
budgetLog.setActivityId(item.getActivityId()); |
|
|
|
budgetLog.setActivityCode(item.getActivityCode()); |
|
|
|
String actTitle = null; |
|
|
|
for (TbsActivity activity : activityList) { |
|
|
|
if(activity.getId().equals(item.getActivityId())){ |
|
|
|
actTitle = activity.getActTitle(); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
budgetLog.setActivityTheme(actTitle); |
|
|
|
budgetLog.setCostApplyId(tbsCostApply.getId()); |
|
|
|
budgetLog.setCostApplyCode(tbsCostApply.getCode()); |
|
|
|
budgetLog.setCostApplyTheme(tbsCostApply.getChargeTheme()); |
|
|
|
budgetLog.setTargetType(item.getTargetType()); |
|
|
|
budgetLog.setTargetId(item.getTargetId()); |
|
|
|
budgetLog.setTargetCode(item.getTargetCode()); |
|
|
|
budgetLog.setTargetName(item.getTargetName()); |
|
|
|
budgetLog.setTargetLevelPathIds(item.getTargetLevelPathIds()); |
|
|
|
budgetLog.setTargetLevelPathNames(item.getTargetLevelPathNames()); |
|
|
|
budgetLogList.add(budgetLog); |
|
|
|
} |
|
|
|
tbsBudgetLogService.saveBatch(budgetLogList); |
|
|
|
|
|
|
|
// LambdaQueryWrapper<TbsBudgetLog> budgetLogLqw = new LambdaQueryWrapper<>();
|
|
|
|
// budgetLogLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId());
|
|
|
|
// budgetLogLqw.eq(TbsBudgetLog::getOptType,1);
|
|
|
|
// List<TbsBudgetLog> budgetLogList = tbsBudgetLogMapper.selectList(budgetLogLqw);
|
|
|
|
// for (TbsBudgetLog budgetLog : budgetLogList) {
|
|
|
|
// for (TbsActivityCenterGoods centerGoods : activityCenterGoodsList) {
|
|
|
|
// if( budgetLog.getActivityId().equals(centerGoods.getActivityId())
|
|
|
|
// &&budgetLog.getSubjectId().equals(centerGoods.getSubjectId())
|
|
|
|
// && budgetLog.getCenterType().equals(centerGoods.getCenterType())
|
|
|
|
// && budgetLog.getCenterId().equals(centerGoods.getCenterId())
|
|
|
|
// && budgetLog.getTargetId().equals(centerGoods.getTargetId())
|
|
|
|
// ){
|
|
|
|
// budgetLog.setAmount(centerGoods.getCenterGoodsAmount().negate());
|
|
|
|
// tbsBudgetLogMapper.updateById(budgetLog);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|