From 1966483644da0683c0eb95c56cc32ef155d1c7df Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 18 Aug 2023 09:12:26 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=AE=97=E5=AE=A1=E6=89=B9=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/manager/AsyncFactory.java | 27 ++++++++++++++++--- .../data/service/DataAffairCommitService.java | 2 ++ .../impl/DataAffairCommitServiceImpl.java | 16 +++++++++++ .../exl/common/TableCreateSqlUtil.java | 2 +- .../service/impl/CommonCheckServiceImpl.java | 8 +++--- .../tbs/mapper/TbsBudgetMatchMapper.java | 2 +- .../service/TbsBudgetMatchApplication.java | 6 ++--- .../impl/TbsBudgetChangeServiceImpl.java | 5 ++-- .../impl/VtbVerificationServiceImpl.java | 3 ++- .../mapper/tbs/TbsBudgetMatchMapper.xml | 3 +++ 10 files changed, 58 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java b/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java index 100171cd..b90fb45c 100644 --- a/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java +++ b/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java @@ -1,10 +1,14 @@ package com.qs.serve.common.framework.manager; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.config.DevEnvironmentConfig; import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.JsonUtil; import com.qs.serve.common.util.SpringUtils; +import com.qs.serve.modules.data.entity.DataAffairCommit; +import com.qs.serve.modules.data.service.DataAffairCommitService; +import com.qs.serve.modules.seeyon.service.SeeYonOperationService; import com.qs.serve.modules.sys.entity.SysOperationLog; import com.qs.serve.modules.sys.mapper.SysOperationLogMapper; import com.qs.serve.modules.tbs.entity.TbsBudget; @@ -88,12 +92,27 @@ public class AsyncFactory { log.debug("--------------------------SubmitBudgetApply CallbackTimer Sleep Start------------------------------"); Thread.sleep(7*1000); TbsBudgetApplyOperationServiceImpl applyOperationService = SpringUtils.getBean(TbsBudgetApplyOperationServiceImpl.class); + String summeryResult = applyOperationService.checkAffairSummery(budgetId); - if(summeryResult.equals(TbsCostApplyOperationServiceImpl.SummeryState_Success)){ + if(summeryResult.equals(SeeYonOperationService.SummeryState_Success)){ + DataAffairCommitService commitService = SpringUtils.getBean(DataAffairCommitService.class); + // TbsAffairCommitBo.state 0-否定,1-同意,2-退回 + Integer state = commitService.getState(applyOperationService.getTemplateCode(),budgetId+""); + //获取最后一条审批判断结果 + if(state==null){ + return; + } //调用成功回调方法 - TbsAffairCommitBo finishedParam = new TbsAffairCommitBo(); - finishedParam.setTargetId(budgetId); - applyOperationService.doFinished(finishedParam); + TbsAffairCommitBo doParam = new TbsAffairCommitBo(); + doParam.setTargetId(budgetId); + if (state==1){ + applyOperationService.doFinished(doParam); + }else if (state==2){ + applyOperationService.doCommitBacked(budgetId); + }else if (state==0){ + applyOperationService.doRefuse(doParam); + } + } log.debug("--------------------------SubmitBudgetApply CallbackTimer summeryResult:{} ------------------------------",summeryResult); } catch (Exception e) { diff --git a/src/main/java/com/qs/serve/modules/data/service/DataAffairCommitService.java b/src/main/java/com/qs/serve/modules/data/service/DataAffairCommitService.java index 85cabc69..08d72b9a 100644 --- a/src/main/java/com/qs/serve/modules/data/service/DataAffairCommitService.java +++ b/src/main/java/com/qs/serve/modules/data/service/DataAffairCommitService.java @@ -10,5 +10,7 @@ import com.qs.serve.modules.data.entity.DataAffairCommit; */ public interface DataAffairCommitService extends IService { + Integer getState(String templateCode,String targetId); + } diff --git a/src/main/java/com/qs/serve/modules/data/service/impl/DataAffairCommitServiceImpl.java b/src/main/java/com/qs/serve/modules/data/service/impl/DataAffairCommitServiceImpl.java index a4518bbc..f8ec0fbc 100644 --- a/src/main/java/com/qs/serve/modules/data/service/impl/DataAffairCommitServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/data/service/impl/DataAffairCommitServiceImpl.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.data.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -7,6 +8,7 @@ import org.springframework.stereotype.Service; import com.qs.serve.modules.data.entity.DataAffairCommit; import com.qs.serve.modules.data.service.DataAffairCommitService; import com.qs.serve.modules.data.mapper.DataAffairCommitMapper; +import java.util.List; /** * 服务实现类 @@ -18,5 +20,19 @@ import com.qs.serve.modules.data.mapper.DataAffairCommitMapper; @AllArgsConstructor public class DataAffairCommitServiceImpl extends ServiceImpl implements DataAffairCommitService { + @Override + public Integer getState(String templateCode, String targetId) { + LambdaQueryWrapper affairRecord = new LambdaQueryWrapper<>(); + affairRecord.eq(DataAffairCommit::getTargetCode,templateCode); + affairRecord.eq(DataAffairCommit::getTargetId,targetId); + List dataAffairCommits = this.list(affairRecord); + DataAffairCommit max = null; + for (DataAffairCommit commit : dataAffairCommits) { + if(max==null||max.getCreateTime().isBefore(commit.getCreateTime())){ + max = commit; + } + } + return max==null?null:max.getState(); + } } diff --git a/src/main/java/com/qs/serve/modules/exl/common/TableCreateSqlUtil.java b/src/main/java/com/qs/serve/modules/exl/common/TableCreateSqlUtil.java index 1aecf6f7..ef1dba1a 100644 --- a/src/main/java/com/qs/serve/modules/exl/common/TableCreateSqlUtil.java +++ b/src/main/java/com/qs/serve/modules/exl/common/TableCreateSqlUtil.java @@ -51,7 +51,7 @@ public class TableCreateSqlUtil { if(val==null){ Assert.throwEx("["+columnConf.getColumnName()+"]不能为空"); } - val = val+"_"; + val = val.replace("_","-")+"_"; unionId.append(val); } } diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java b/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java index 8d147e64..4c8dd630 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java @@ -75,11 +75,11 @@ public class CommonCheckServiceImpl implements CommonCheckService { @Override public Long countCallback(TodoVoQuery query) { - int pageSize = PageUtil.getPageSize(); - int startRow = PageUtil.getStartRow(); +// int pageSize = PageUtil.getPageSize(); +// int startRow = PageUtil.getStartRow(); query.setUserId(AuthContextUtils.getSysUserId()); - query.setPageSize(pageSize); - query.setStartRow(startRow); +// query.setPageSize(pageSize); +// query.setStartRow(startRow); return commonCheckMapper.countCallback(query); } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetMatchMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetMatchMapper.java index f7e26433..b799cfff 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetMatchMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetMatchMapper.java @@ -24,7 +24,7 @@ public interface TbsBudgetMatchMapper { List getBudgetUsedAmount(@Param("ids") Set ids); - List getBudgetNotUsedAmount(@Param("ids") Set ids); + List getBudgetNotUsedAmount(@Param("ids") Set ids, @Param("costId")Long costId); List getBudgetFinalUsedAmount(@Param("ids") Set ids); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java index 36afe27e..a8b54b19 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java @@ -58,7 +58,7 @@ public class TbsBudgetMatchApplication { centerGoods.setMatch2ScheduleItemBudgetList(scheduleItemBudgetList); } //加载金额统计 - this.batchInitScheduleAmount(activityCenterGoodsList, scheduleItemBudgetIds); + this.batchInitScheduleAmount(activityCenterGoodsList, scheduleItemBudgetIds,costApplyId); // 金额匹配 for (TbsActivityCenterGoods centerGoods : activityCenterGoodsList) { // 通过TbsActivityCenterGoods获取匹配条件的预算 @@ -98,9 +98,9 @@ public class TbsBudgetMatchApplication { * @param activityCenterGoodsList * @param scheduleItemBudgetIds */ - private void batchInitScheduleAmount(List activityCenterGoodsList, Set scheduleItemBudgetIds) { + private void batchInitScheduleAmount(List activityCenterGoodsList, Set scheduleItemBudgetIds,Long costApplyId) { if(scheduleItemBudgetIds.size()>0){ - List notUsedAmountList = budgetMatchMapper.getBudgetNotUsedAmount(scheduleItemBudgetIds); + List notUsedAmountList = budgetMatchMapper.getBudgetNotUsedAmount(scheduleItemBudgetIds,costApplyId); List usedAmountList = budgetMatchMapper.getBudgetUsedAmount(scheduleItemBudgetIds); List finalAmountList = budgetMatchMapper.getBudgetFinalUsedAmount(scheduleItemBudgetIds); for (TbsActivityCenterGoods centerGoods : activityCenterGoodsList) { diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java index 9029b209..cc779141 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java @@ -80,7 +80,6 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl data = new HashMap<>(); @@ -178,9 +177,11 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl budgetScheduleIds = budgetAmtUpdateList.stream().map(TbsBudgetAmtBo::getBudgetScheduleItemId).collect(Collectors.toList()); List budgetLogWithAmountList = tbsScheduleItemBudgetMapper.getAllByScheduleItemIdList(budgetScheduleIds); List scheduleItemBudgetList = tbsScheduleItemBudgetMapper.selectBatchIds(budgetScheduleIds); - List changeScheduleItemList = new ArrayList<>(); for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgetList) { + if(!scheduleItemBudget.getBudgetId().equals(budget.getId())){ + Assert.throwEx("参数异常!!"); + } TbsBudgetChangeScheduleItem resultItem = TbsBudgetChangeScheduleItem.toNewObject(scheduleItemBudget); resultItem.setChangeId(changeId); //设置当前项调整的最终金额 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 09d7edf8..dfe7854d 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 @@ -303,8 +303,9 @@ public class VtbVerificationServiceImpl extends ServiceImpl activityLqw = new LambdaQueryWrapper<>(); activityLqw.ne(TbsActivity::getActivityState,TbsActivityState.STATE_1_Finished); activityLqw.ne(TbsActivity::getReleaseFlag,1); + activityLqw.eq(TbsActivity::getCostApplyId,costApply.getId()); Long count = activityService.count(activityLqw); - if(count==0){ + if(count<1){ costApply.setChargeState(TbsCostApplyState.State_3_finished.getCode()); costApplyService.updateById(costApply); } diff --git a/src/main/resources/mapper/tbs/TbsBudgetMatchMapper.xml b/src/main/resources/mapper/tbs/TbsBudgetMatchMapper.xml index b80287f8..446d7bf9 100644 --- a/src/main/resources/mapper/tbs/TbsBudgetMatchMapper.xml +++ b/src/main/resources/mapper/tbs/TbsBudgetMatchMapper.xml @@ -85,6 +85,9 @@ #{selectId} + + and (tbg.cost_apply_id != #{costId} or tbg.cost_apply_id is null) + GROUP BY tbg.schedule_item_budget_id