diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java index 09c7c03b..c43fa508 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java @@ -19,10 +19,7 @@ import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysPostUserService; import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.common.TbsCostApplyState; -import com.qs.serve.modules.tbs.entity.TbsActivity; -import com.qs.serve.modules.tbs.entity.TbsActivityTemplate; -import com.qs.serve.modules.tbs.entity.TbsCostApply; -import com.qs.serve.modules.tbs.entity.TbsCostContract; +import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.bo.TbsActivityBo; import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; import com.qs.serve.modules.tbs.entity.bo.TbsCostApplyActivityBo; @@ -188,5 +185,22 @@ public class TbsCostApplyCheckController { return R.ok(result); } + + private final TbsCostApplyOperationServiceImpl tbsCostApplyOperationService; + + + //@GetMapping("/devTest") + public R devTest(Long costApplyId){ + Long[] cids = new Long[]{ + + }; + for (Long cid : cids) { + TbsCostApply costApply = new TbsCostApply(); + costApply.setId(cid); + tbsCostApplyOperationService.doEditAmtCallback(costApply); + } + return R.ok(); + } + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java index a9a1a590..ee4b6d81 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java @@ -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 activityCenterGoodsList = tbsActivityCenterGoodsService.listByCostApplyId(costApply.getId()); + List activityCenterGoodsList = tbsActivityCenterGoodsService.listByCostApplyId(param.getId()); - List budgetCostItemList = tbsBudgetCostItemService.listByCostApplyId(costApply.getId()); + List 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 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 budgetLogLqw = new LambdaQueryWrapper<>(); - budgetLogLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId()); - budgetLogLqw.eq(TbsBudgetLog::getOptType,1); - List 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 actLqw = new LambdaQueryWrapper<>(); + actLqw.eq(TbsActivity::getCostApplyId,param.getId()); + List activityList = tbsActivityMapper.selectList(actLqw); + + List budgetIds = budgetCostItemList.stream() + .map(TbsBudgetCostItem::getBudgetId).collect(Collectors.toList()); + if(budgetIds.size()<1){ + return; + } + List budgetList = tbsBudgetMapper.selectBatchIds(budgetIds); + + List 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 budgetLogLqw = new LambdaQueryWrapper<>(); +// budgetLogLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId()); +// budgetLogLqw.eq(TbsBudgetLog::getOptType,1); +// List 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); +// } +// } +// } } /** diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemBudgetServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemBudgetServiceImpl.java index 4a3f20bf..6201a6ad 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemBudgetServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemBudgetServiceImpl.java @@ -242,6 +242,8 @@ public class TbsScheduleItemBudgetServiceImpl extends ServiceImpl finalList = tbsBudgetLog2Mapper.getSumFinalAmtInList(budgetIds, BudgetLogOptFlag.getFinalBudgetOptFlag()); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 34d957a2..d666e0da 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -697,7 +697,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl