From 4a04754ce9b11f34191995e72806d44cc66581b5 Mon Sep 17 00:00:00 2001 From: "15989082884@163.com" <15989082884@163.com> Date: Tue, 29 Aug 2023 16:55:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=A0=B8=E9=94=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/demo/Application.java | 2 +- .../com/demo/cost/SyncVerificationMain.java | 474 ++++++++++++++---- 2 files changed, 373 insertions(+), 103 deletions(-) diff --git a/src/main/java/com/demo/Application.java b/src/main/java/com/demo/Application.java index 6c9a239..7e0dbb4 100644 --- a/src/main/java/com/demo/Application.java +++ b/src/main/java/com/demo/Application.java @@ -45,7 +45,7 @@ public class Application { // // //费用核销 SyncVerificationMain verificationMain = new SyncVerificationMain(); - verificationMain.testMain(); + verificationMain.formain(); //// //// //更新核销中的预算费用占用 // new SyncDiscountBudget().sync(); diff --git a/src/main/java/com/demo/cost/SyncVerificationMain.java b/src/main/java/com/demo/cost/SyncVerificationMain.java index b8a3aa5..323493b 100644 --- a/src/main/java/com/demo/cost/SyncVerificationMain.java +++ b/src/main/java/com/demo/cost/SyncVerificationMain.java @@ -33,10 +33,20 @@ public class SyncVerificationMain { //update private final String tbs_activity = "tbs_activity"; + private static Long vtbId = 0L; + private static Long vtbSubId = 0L; + private static Long payMaxId = 0L; + + private static List batchVtbVerificationList = new ArrayList<>(); + private static List batchVtbVerificationSubjectList = new ArrayList<>(); + private static List batchVtbFlowList = new ArrayList<>(); + private static List batchBudgetLogList = new ArrayList<>(); + private static List payPaymentList = new ArrayList<>(); + private static List payPaymentItemList = new ArrayList<>(); @Test @SneakyThrows - public void removeCostCode(){ + public void removeCostCode() { String[] arr = new String[]{ "6445", "10236", @@ -60,12 +70,12 @@ public class SyncVerificationMain { } @SneakyThrows - public void removeCostIds(List jslCostIds){ + public void removeCostIds(List jslCostIds) { DbContext jslContext = TbsMapper.getJslDbContext(); //删除同步异常的数据 if (jslCostIds.size() > 0) { String rmIdsString = "(" + jslCostIds.stream().map(id -> "'" + id + "'").collect(Collectors.joining(",")) + ")"; - System.out.println("移除历史数据:"+rmIdsString); + System.out.println("移除历史数据:" + rmIdsString); jslContext.sql("delete from vtb_fund_flow where cost_apply_id in " + rmIdsString).execute(); //opt_type : 4-费用释放 jslContext.sql("delete from tbs_budget_log where opt_type = 4 and cost_apply_id in " + rmIdsString).execute(); @@ -77,43 +87,105 @@ public class SyncVerificationMain { } @SneakyThrows - public void testMain(){ + private void getMaxVtbId() { + DbContext jslDbContext = TbsMapper.getJslDbContext(); + + String sql = "select max(id) as maxid from vtb_verification where id < 10450001 "; + Long maxid = (Long) jslDbContext.sql(sql).getMap().get("maxid"); + this.vtbId = maxid; + } + + @SneakyThrows + private void getMaxVtbSubId() { + DbContext jslDbContext = TbsMapper.getJslDbContext(); + + String sql = "select max(id) as maxid from vtb_verification_subject where id < 10455001 "; + Long maxid = (Long) jslDbContext.sql(sql).getMap().get("maxid"); + this.vtbSubId = maxid; + } + + @SneakyThrows + private void getMaxPayId() { + DbContext jslDbContext = TbsMapper.getJslDbContext(); + + String sql = "select max(id) as maxid from pay_payment where id < 11339001 "; + Long maxid = (Long) jslDbContext.sql(sql).getMap().get("maxid"); + this.payMaxId = maxid; + } + + @SneakyThrows + public void formain() { + DbContext jslDbContext = TbsMapper.getJslDbContext(); + + getMaxVtbId(); + getMaxVtbSubId(); + getMaxPayId(); + if (vtbId == 0L || vtbId == 10450000L) { + return; + } + if (vtbSubId == 0L || vtbSubId == 10455000L) { + return; + } + if (payMaxId == 0L || payMaxId == 11339000L) { + return; + } + Integer count = 1; + while (count > 0) { + + String sql_cost_list = "select * from tbs_cost_apply where xlt_sync = 2 and budget_sync = 1 and vtb_sync !=2 order by id desc limit 300"; + List costList = jslDbContext.sql(sql_cost_list).getList(JslTbsCostApply.class); + if (costList.size() > 0) { + try{ + testMain(); + }catch (Exception e){ + e.printStackTrace(); + } + } + count = costList.size(); + + + } + } + + @SneakyThrows + public void testMain() { DbContext jslDbContext = TbsMapper.getJslDbContext(); DbContext xltDbContext = TbsMapper.getXltDbContext(); + // xlt_sync = 2 同步申请预算完成 // 获取已同步的费用ID(未完成的) // budget_sync=1 代表命中预算 // vtb_sync 0 未开始,1未完成 2->成功 4无核销 //String sql_cost_list ="select * from tbs_cost_apply where code = '202212301485' "; //测试 //String sql_cost_list ="select * from tbs_cost_apply where xlt_sync = 2 and budget_sync = 1 and (vtb_sync =0 or vtb_sync = 1)"; - String sql_cost_list ="select * from tbs_cost_apply where xlt_sync = 2 and budget_sync = 1 and vtb_sync !=2 order by id desc"; - if(SetData.startId!=null){ - int startId = SetData.startId; - int endId = startId+1000; - sql_cost_list = "select * from tbs_cost_apply where xlt_sync = 2 and budget_sync = 1 and vtb_sync !=2 and id>="+startId+" and id <"+endId; - } - System.out.println("执行命令:"+ sql_cost_list); + String sql_cost_list = "select * from tbs_cost_apply where xlt_sync = 2 and budget_sync = 1 and vtb_sync !=2 order by id desc limit 300"; +// if(SetData.startId!=null){ +// int startId = SetData.startId; +// int endId = startId+1000; +// sql_cost_list = "select * from tbs_cost_apply where xlt_sync = 2 and budget_sync = 1 and vtb_sync !=2 and id>="+startId+" and id <"+endId; +// } + System.out.println("执行命令:" + sql_cost_list); List costList = jslDbContext.sql(sql_cost_list).getList(JslTbsCostApply.class); - System.out.println("未完成数量:"+costList.size()); + System.out.println("未完成数量:" + costList.size()); //移除历史同步失败的 List errorCostIds = new ArrayList<>(); for (JslTbsCostApply costApply : costList) { - if(!costApply.getVtbSync().equals(0)){ - errorCostIds.add(costApply.getId()+""); - } +// if (!costApply.getVtbSync().equals(0)) { + errorCostIds.add(costApply.getId() + ""); +// } } this.removeCostIds(errorCostIds); int count = 1; //------------------------------------------------------------------// - List costApplyCodes = costList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); - String sql_activity_list ="select * from tbs_activity where cost_apply_id in ("+costApplyCodes.stream().collect(Collectors.joining(","))+")"; + List costApplyCodes = costList.stream().map(a -> a.getId().toString()).collect(Collectors.toList()); + String sql_activity_list = "select * from tbs_activity where cost_apply_id in (" + costApplyCodes.stream().collect(Collectors.joining(",")) + ")"; List tbsActivitiesAll = jslDbContext.sql(sql_activity_list).getList(JslTbsActivity.class); - Map> tbsActivitiesMap = tbsActivitiesAll.stream().collect(Collectors.groupingBy(JslTbsActivity::getCostApplyId)); + Map> tbsActivitiesMap = tbsActivitiesAll.stream().collect(Collectors.groupingBy(JslTbsActivity::getCostApplyId)); - List tbsActivitiesCodes = tbsActivitiesAll.stream().map(a->a.getActivityCode()).collect(Collectors.toList()); + List tbsActivitiesCodes = tbsActivitiesAll.stream().map(a -> a.getActivityCode()).collect(Collectors.toList()); String sql_xlt_check_cost = " SELECT oldlistnumber as activity_code," + @@ -130,12 +202,12 @@ public class SyncVerificationMain { " WHERE " + " cmain.state = '120' " + " and clist.iscancel = '0' " + - " and clist.iszuofei != 1 "+ - " AND oldlistnumber in ('"+tbsActivitiesCodes.stream().collect(Collectors.joining("','")) +"')";//活动id + " and clist.iszuofei != 1 " + + " AND oldlistnumber in ('" + tbsActivitiesCodes.stream().collect(Collectors.joining("','")) + "')";//活动id List checkCostItemListAll = xltDbContext.sql(sql_xlt_check_cost).getList(XltCheckCostItem.class); - Map> checkCostItemListMap = checkCostItemListAll.stream().collect(Collectors.groupingBy(XltCheckCostItem::getActivityCode)); + Map> checkCostItemListMap = checkCostItemListAll.stream().collect(Collectors.groupingBy(XltCheckCostItem::getActivityCode)); String sql_xlt_check_cost_cancel = @@ -152,19 +224,23 @@ public class SyncVerificationMain { " ON clist.mainID = cmain.id " + " WHERE " + " cmain.state = '120' " + - " and clist.iscancel = '0' " + - " and clist.iszuofei != 1 "+ - " AND oldlistnumber in ('"+tbsActivitiesCodes.stream().collect(Collectors.joining("','")) +"')";//活动id + " and clist.iscancel = '1' " + + " and clist.iszuofei != 1 " + + " AND oldlistnumber in ('" + tbsActivitiesCodes.stream().collect(Collectors.joining("','")) + "')";//活动id List checkCostItemListAllCancel = xltDbContext.sql(sql_xlt_check_cost_cancel).getList(XltCheckCostItem.class); - Map> checkCostItemListCancelMap = checkCostItemListAllCancel.stream().collect(Collectors.groupingBy(XltCheckCostItem::getActivityCode)); + Map> checkCostItemListCancelMap = checkCostItemListAllCancel.stream().collect(Collectors.groupingBy(XltCheckCostItem::getActivityCode)); // 获取活动列表(未释放,以及未完成的) for (JslTbsCostApply costApply : costList) { +// List errorCostIdRemove = new ArrayList<>(); +// errorCostIdRemove.add(costApply.getId().toString()); +// +// this.removeCostIds(errorCostIdRemove); - System.out.println(count+"/"+costList.size()+" ["+costApply.getId()+"]"); + System.out.println(count + "/" + costList.size() + " [" + costApply.getId() + "]"); count++; //标记状态 @@ -175,72 +251,51 @@ public class SyncVerificationMain { // List tbsActivities = jslDbContext.sql(sql_activity_list,costApply.getId().toString()).getList(JslTbsActivity.class); List tbsActivities = tbsActivitiesMap.get(costApply.getId()); - boolean isOk = buildActivity(jslDbContext, xltDbContext, costApply, tbsActivities,checkCostItemListMap,checkCostItemListCancelMap); + boolean isOk = buildActivity(jslDbContext, xltDbContext, costApply, tbsActivities, checkCostItemListMap, checkCostItemListCancelMap); + //完成标记状态 - if(isOk){ + if (isOk) { + + + insertBatchVtbVerification(batchVtbVerificationList); + insertBatchVtbVerificationSubject(batchVtbVerificationSubjectList); + insertBatchVtbFlow(batchVtbFlowList); + insertBatchBudgetLog(batchBudgetLogList); + insertBatchPayment(payPaymentList); + insertBatchPaymentItem(payPaymentItemList); + String sql_cost_sync_success = "update tbs_cost_apply set vtb_sync = 2 where id = "; jslDbContext.sql(sql_cost_sync_success + costApply.getId()).execute(); } + + batchVtbVerificationList = new ArrayList<>(); + batchVtbVerificationSubjectList = new ArrayList<>(); + batchVtbFlowList = new ArrayList<>(); + batchBudgetLogList = new ArrayList<>(); + payPaymentList = new ArrayList<>(); + payPaymentItemList = new ArrayList<>(); } } private boolean buildActivity(DbContext jslDbContext, DbContext xltDbContext, JslTbsCostApply costApply, List tbsActivities, - Map> checkCostItemListMap, - Map> checkCostItemListCancelMap) throws SQLException { + Map> checkCostItemListMap, + Map> checkCostItemListCancelMap) throws SQLException { for (JslTbsActivity tbsActivity : tbsActivities) { - if(tbsActivity.getTotalAmount().compareTo(BigDecimal.ZERO)==0){ + if (tbsActivity.getTotalAmount().compareTo(BigDecimal.ZERO) == 0) { continue; } String activityCode = tbsActivity.getActivityCode(); - // 获取销路通核销明细 -// String sql_xlt_check_cost = -// " SELECT oldlistnumber as activity_code," + -// " cmain.number_ AS main_number, " + -// " clist.listNumber as list_number, " + -// " clist.isYuEBuYuHeXiao not_allow_flag, " + -// " clist.pifumoney as apply_amt, " + -// " (cList.hexiaomoney + cList.shuiJin) check_pass_amt, " + -// " cList.exedate " + -// " FROM " + -// " costreimbursementList clist " + -// " LEFT JOIN costreimbursement cmain " + -// " ON clist.mainID = cmain.id " + -// " WHERE " + -// " cmain.state = '120' " + -// " and clist.iscancel = '0' " + -// " and clist.iszuofei != 1 "+ -// " AND oldlistnumber = '"+activityCode+"'";//活动id -// -// List checkCostItemList = xltDbContext.sql(sql_xlt_check_cost).getList(XltCheckCostItem.class); + List checkCostItemList = checkCostItemListMap.get(activityCode); //申请人取消标识 Boolean applyRealse = false; - if(checkCostItemList ==null || checkCostItemList.size()==0){ - //申请人放弃核销 没有iscancel=0,只有iscancel=1 -// String sql_xlt_release_cost = -// " SELECT " + -// " cmain.number_ AS main_number, " + -// " clist.listNumber as list_number, " + -// " clist.isYuEBuYuHeXiao not_allow_flag, " + -// " clist.pifumoney as apply_amt, " + -// " (cList.hexiaomoney + cList.shuiJin) check_pass_amt, " + -// " cList.exedate " + -// " FROM " + -// " costreimbursementList clist " + -// " LEFT JOIN costreimbursement cmain " + -// " ON clist.mainID = cmain.id " + -// " WHERE " + -// " cmain.state = '120' " + -// " and clist.iscancel = '1' " + -// " and clist.iszuofei != 1 "+ -// " AND oldlistnumber = '"+activityCode+"'";//活动id -// List checkCostReleaseItemList = xltDbContext.sql(sql_xlt_release_cost).getList(XltCheckCostItem.class); + if (checkCostItemList == null || checkCostItemList.size() == 0) { List checkCostReleaseItemList = checkCostItemListCancelMap.get(activityCode); - if(checkCostReleaseItemList == null || checkCostReleaseItemList.size()==0) { + if (checkCostReleaseItemList == null || checkCostReleaseItemList.size() == 0) { System.out.println("无相关核销,活动编码:" + activityCode); continue; - }else{ + } else { applyRealse = true; checkCostItemList = checkCostReleaseItemList; } @@ -248,8 +303,8 @@ public class SyncVerificationMain { String sql_budget_cost_item = "select * from tbs_budget_cost_item where activity_id = ?"; JslTbsBudgetCostItem currCostItem = jslDbContext.sql(sql_budget_cost_item, tbsActivity.getId()).getItem(JslTbsBudgetCostItem.class); - if(currCostItem==null||currCostItem.getId()==null){ - System.out.println("没有命中核销的费用id:"+ costApply.getId()); + if (currCostItem == null || currCostItem.getId() == null) { + System.out.println("没有命中核销的费用id:" + costApply.getId() + " 活动id:"+tbsActivity.getId()); return false; } @@ -258,7 +313,7 @@ public class SyncVerificationMain { BigDecimal totalPassAmt = BigDecimal.ZERO; for (int i = 0; i < checkCostItemList.size(); i++) { XltCheckCostItem checkCostItem = checkCostItemList.get(i); - if(!applyRealse) { + if (!applyRealse) { //申请人取消的话要跳过核销插入,直接释放 this.saveVerification(i, jslDbContext, currCostItem, tbsActivity, checkCostItem); } @@ -267,15 +322,15 @@ public class SyncVerificationMain { } // 不再支付 - boolean isNotAllow = checkCostItemList.stream().anyMatch(a->a.getNotAllowFlag().equals(1)); + boolean isNotAllow = checkCostItemList.stream().anyMatch(a -> a.getNotAllowFlag().equals(1)); //更新主表dto JslTbsActivity updAct = new JslTbsActivity(); //updAct.setId(tbsActivity.getId()); // 释放金额 - if(isNotAllow || applyRealse){ + if (isNotAllow || applyRealse) { // 不再支付返回预算到预算池 - BigDecimal totalReleaseAmt = totalApplyAmt.subtract(totalPassAmt); - if(totalReleaseAmt.compareTo(BigDecimal.ZERO)>0){ + BigDecimal totalReleaseAmt = totalApplyAmt.subtract(totalPassAmt); + if (totalReleaseAmt.compareTo(BigDecimal.ZERO) > 0) { updAct.setActivityState(4); updAct.setReleaseFlag(1); updAct.setFinishedFlag(1); @@ -283,21 +338,20 @@ public class SyncVerificationMain { updAct.setReleaseUserName("系统导入"); updAct.setReleaseTime(checkCostItemList.get(0).getExedate()); updAct.setReleaseAmount(totalReleaseAmt); - this.doNotAllowCost(currCostItem,totalReleaseAmt, jslDbContext, costApply, tbsActivity, totalApplyAmt); + this.doNotAllowCost(currCostItem, totalReleaseAmt, jslDbContext, costApply, tbsActivity, totalApplyAmt); } } updAct.setUsedAmount(totalPassAmt); - if(totalApplyAmt.compareTo(totalPassAmt)==0){ + if (totalApplyAmt.compareTo(totalPassAmt) == 0) { updAct.setFinishedFlag(1); } - String sql_update_act_info = SqlCreateUtil.buildUpdateSql(updAct,tbs_activity)+" where id = "+tbsActivity.getId(); + String sql_update_act_info = SqlCreateUtil.buildUpdateSql(updAct, tbs_activity) + " where id = " + tbsActivity.getId(); jslDbContext.sql(sql_update_act_info).execute(); } return true; } /** - * * @param totalReleaseAmt * @param jslDbContext * @param costApply @@ -305,12 +359,12 @@ public class SyncVerificationMain { * @param totalApplyAmt * @throws SQLException */ - private void doNotAllowCost(JslTbsBudgetCostItem currCostItem,BigDecimal totalReleaseAmt ,DbContext jslDbContext, JslTbsCostApply costApply, JslTbsActivity tbsActivity, BigDecimal totalApplyAmt) throws SQLException { + private void doNotAllowCost(JslTbsBudgetCostItem currCostItem, BigDecimal totalReleaseAmt, DbContext jslDbContext, JslTbsCostApply costApply, JslTbsActivity tbsActivity, BigDecimal totalApplyAmt) throws SQLException { //插入日志流水 JslVtbFundFlow fundFlow = new JslVtbFundFlow(); fundFlow.setFundType("release"); fundFlow.setVerificationId(0L); - fundFlow.setCenterGoodsCode(tbsActivity.getActivityCode()+"_00"); + fundFlow.setCenterGoodsCode(tbsActivity.getActivityCode() + "_00"); fundFlow.setCostApplyId(tbsActivity.getCostApplyId()); fundFlow.setActivityId(tbsActivity.getId()); fundFlow.setUsedAmount(totalReleaseAmt); @@ -340,11 +394,12 @@ public class SyncVerificationMain { fundFlow.setSupplierCode(tbsActivity.getSupplierCode()); fundFlow.setSupplierName(tbsActivity.getSupplierName()); - jslDbContext.table(vtb_fund_flow).setEntity(fundFlow).insert(); + batchVtbFlowList.add(fundFlow); +// jslDbContext.table(vtb_fund_flow).setEntity(fundFlow).insert(); - String sql_budget_by_ids = "select * from tbs_budget where id = "+ currCostItem.getBudgetId(); + String sql_budget_by_ids = "select * from tbs_budget where id = " + currCostItem.getBudgetId(); JslTbsBudget currentBudget = jslDbContext.sql(sql_budget_by_ids).getItem(JslTbsBudget.class); JslUser jslUser = new JslUser(); @@ -352,14 +407,16 @@ public class SyncVerificationMain { jslUser.setCode("0"); jslUser.setName("系统导入"); - JslTbsBudgetLog budgetLog = this.buildTbsBudgetLog(4,jslUser, costApply,currCostItem,currentBudget,totalReleaseAmt, tbsActivity); + JslTbsBudgetLog budgetLog = this.buildTbsBudgetLog(4, jslUser, costApply, currCostItem, currentBudget, totalReleaseAmt, tbsActivity); budgetLog.setTenantId("001"); - jslDbContext.table(tbs_budget_log).setEntity(budgetLog).insert(); +// jslDbContext.table(tbs_budget_log).setEntity(budgetLog).insert(); + batchBudgetLogList.add(budgetLog); } /** * 费用申请相关 + * * @param optType * @param sysUser * @param costApply @@ -370,9 +427,9 @@ public class SyncVerificationMain { * @return */ public JslTbsBudgetLog buildTbsBudgetLog(Integer optType, JslUser sysUser, JslTbsCostApply costApply, - JslTbsBudgetCostItem item, JslTbsBudget budget, BigDecimal amount, JslTbsActivity activity) { + JslTbsBudgetCostItem item, JslTbsBudget budget, BigDecimal amount, JslTbsActivity activity) { BigDecimal amountAmt = amount; - if(amountAmt.compareTo(BigDecimal.ZERO)<=0){ + if (amountAmt.compareTo(BigDecimal.ZERO) <= 0) { amountAmt = amountAmt.negate(); } JslTbsBudgetLog budgetLog = new JslTbsBudgetLog(); @@ -415,12 +472,12 @@ public class SyncVerificationMain { } - private void saveVerification(Integer idx , DbContext jslDbContext, JslTbsBudgetCostItem currCostItem,JslTbsActivity tbsActivity, XltCheckCostItem checkCostItem) throws SQLException { + private void saveVerification(Integer idx, DbContext jslDbContext, JslTbsBudgetCostItem currCostItem, JslTbsActivity tbsActivity, XltCheckCostItem checkCostItem) throws SQLException { //查询活动科目 String sql_activity_subject = "select * from tbs_activity_subject where activity_id = ?"; - JslTbsActivitySubject activitySubject = jslDbContext.sql(sql_activity_subject,tbsActivity.getId()).getItem(JslTbsActivitySubject.class); + JslTbsActivitySubject activitySubject = jslDbContext.sql(sql_activity_subject, tbsActivity.getId()).getItem(JslTbsActivitySubject.class); //核销金额 - BigDecimal checkCostAmt = checkCostItem.getCheckPassAmt(); + BigDecimal checkCostAmt = checkCostItem.getCheckPassAmt(); //申请核销金额 BigDecimal checkApplyCostAmt = checkCostItem.getApplyAmt(); @@ -440,14 +497,19 @@ public class SyncVerificationMain { verification.setUserId("0"); verification.setUserCode("0"); verification.setUserName("数据导入"); + vtbId++; + + verification.setId(vtbId); - Long varifId = jslDbContext.table(vtb_verification).setEntity(verification).insert(); + Long varifId = vtbId; +// jslDbContext.table(vtb_verification).setEntity(verification).insert(); + batchVtbVerificationList.add(verification); //流水记录 JslVtbFundFlow fundFlow = new JslVtbFundFlow(); fundFlow.setFundType("verification"); fundFlow.setVerificationId(varifId); - fundFlow.setCenterGoodsCode(tbsActivity.getActivityCode()+"_00"); + fundFlow.setCenterGoodsCode(tbsActivity.getActivityCode() + "_00"); fundFlow.setCostApplyId(tbsActivity.getCostApplyId()); fundFlow.setActivityId(tbsActivity.getId()); fundFlow.setUsedAmount(checkCostAmt); @@ -476,7 +538,9 @@ public class SyncVerificationMain { fundFlow.setSupplierId(tbsActivity.getSupplierId()); fundFlow.setSupplierCode(tbsActivity.getSupplierCode()); fundFlow.setSupplierName(tbsActivity.getSupplierName()); - jslDbContext.table(vtb_fund_flow).setEntity(fundFlow).insert(); +// jslDbContext.table(vtb_fund_flow).setEntity(fundFlow).insert(); + batchVtbFlowList.add(fundFlow); + VtbVerificationSubject verificationSubject = new VtbVerificationSubject(); verificationSubject.setVerificationId(varifId); @@ -495,8 +559,13 @@ public class SyncVerificationMain { verificationSubject.setCountPerson(0); verificationSubject.setCountSession(0); verificationSubject.setTenantId("001"); + vtbSubId++; + verificationSubject.setId(vtbSubId); + batchVtbVerificationSubjectList.add(verificationSubject); +// 104565 - Long varifSubjectId = jslDbContext.table(vtb_verification_subject).setEntity(verificationSubject).insert(); + Long varifSubjectId = vtbSubId; +// jslDbContext.table(vtb_verification_subject).setEntity(verificationSubject).insert(); PayPayment payPayment = new PayPayment(); payPayment.setPayCode(checkCostItem.getMainNumber()); @@ -513,7 +582,10 @@ public class SyncVerificationMain { payPayment.setBillNumber(""); payPayment.setPayTime(checkCostItem.getExedate()); payPayment.setTenantId("001"); - Long payId = jslDbContext.table(pay_payment).setEntity(payPayment).insert(); + payMaxId++; + Long payId = payMaxId; +// jslDbContext.table(pay_payment).setEntity(payPayment).insert(); + payPaymentList.add(payPayment); PayPaymentItem payPaymentItem = new PayPaymentItem(); payPaymentItem.setPayType("pay"); @@ -531,9 +603,207 @@ public class SyncVerificationMain { payPaymentItem.setActivityCode(tbsActivity.getActivityCode()); payPaymentItem.setVerificationId(varifId); payPaymentItem.setVerificationSubjectId(varifSubjectId); - jslDbContext.table(pay_payment_item).setEntity(payPaymentItem).insert(); +// jslDbContext.table(pay_payment_item).setEntity(payPaymentItem).insert(); + payPaymentItemList.add(payPaymentItem); + + } + + private void insertBatchVtbVerification(List list) throws Exception { + DbContext jslDbContext = TbsMapper.getJslDbContext(); + jslDbContext.table(vtb_verification).insertList(list, (d, m) -> { + m.set("id", d.getId()); + m.set("verification_code", d.getVerificationCode()); + m.set("cost_apply_id", d.getCostApplyId()); + m.set("activity_id", d.getActivityId()); + m.set("policy_item_id", d.getPolicyItemId()); + m.set("policy_item_code", d.getPolicyItemCode()); + m.set("verification_state", d.getVerificationState()); + m.set("finished_time", d.getFinishedTime()); + m.set("payment_state", d.getPaymentState()); + m.set("amount", d.getAmount()); + m.set("amount_record", d.getAmountRecord()); + m.set("sy_form_id", d.getSyFormId()); + m.set("sy_flow_id", d.getSyFlowId()); + m.set("supplier_id", d.getSupplierId()); + m.set("supplier_code", d.getSupplierCode()); + m.set("supplier_name", d.getSupplierName()); + m.set("remark", d.getRemark()); + m.set("create_time", d.getCreateTime()); + m.set("tenant_id", d.getTenantId()); + m.set("user_id", d.getUserId()); + m.set("user_code", d.getUserCode()); + m.set("user_name", d.getUserName()); + }); + } + + private void insertBatchVtbVerificationSubject(List list) throws Exception { + DbContext jslDbContext = TbsMapper.getJslDbContext(); + jslDbContext.table(vtb_verification_subject).insertList(list, (d, m) -> { + m.set("id", d.getId()); + m.set("verification_sub_code", d.getVerificationSubCode()); + m.set("verification_id", d.getVerificationId()); + m.set("cost_apply_id", d.getCostApplyId()); + m.set("activity_id", d.getActivityId()); + m.set("policy_item_id", d.getPolicyItemId()); + m.set("policy_item_code", d.getPolicyItemCode()); + m.set("subject_id", d.getSubjectId()); + m.set("subject_code", d.getSubjectCode()); + m.set("subject_name", d.getSubjectName()); + m.set("supplier_id", d.getSupplierId()); + m.set("supplier_code", d.getSupplierCode()); + m.set("supplier_name", d.getSupplierName()); + m.set("used_amount", d.getUsedAmount()); + m.set("used_amount_record", d.getUsedAmountRecord()); + m.set("pay_amount", d.getPayAmount()); +// m.set("pay_finished_flag", d.getPayFinishedFlag()); + m.set("count_session", d.getCountSession()); + m.set("count_person", d.getCountPerson()); + m.set("remark", d.getRemark()); + m.set("tenant_id", d.getTenantId()); +// m.set("effective_flag", d.getEffectiveFlag()); + m.set("form_id", d.getFormId()); + m.set("form_title", d.getFormTitle()); + m.set("form_version", d.getFormVersion()); + m.set("form_context", d.getFormContext()); + m.set("form_context_value", d.getFormContextValue()); + }); } + private void insertBatchVtbFlow(List list) throws Exception { + DbContext jslDbContext = TbsMapper.getJslDbContext(); + jslDbContext.table(vtb_fund_flow).insertList(list, (d, m) -> { + m.set("id", d.getId()); + m.set("fund_type", d.getFundType()); + m.set("verification_id", d.getVerificationId()); + m.set("center_goods_code", d.getCenterGoodsCode()); + m.set("cost_apply_id", d.getCostApplyId()); + m.set("activity_id", d.getActivityId()); + m.set("subject_id", d.getSubjectId()); + m.set("subject_code", d.getSubjectCode()); + m.set("subject_name", d.getSubjectName()); + m.set("center_type", d.getCenterType()); + m.set("center_id", d.getCenterId()); + m.set("center_code", d.getCenterCode()); + m.set("center_name", d.getCenterName()); + m.set("used_amount", d.getUsedAmount()); + m.set("target_type", d.getTargetType()); + m.set("target_id", d.getTargetId()); + m.set("target_code", d.getTargetCode()); + m.set("target_name", d.getTargetName()); + m.set("target_level_path_ids", d.getTargetLevelPathIds()); + m.set("target_level_path_names", d.getTargetLevelPathNames()); + m.set("remark", d.getRemark()); + m.set("tenant_id", d.getTenantId()); + m.set("center_good_item_id", d.getCenterGoodItemId()); + m.set("supplier_id", d.getSupplierId()); + m.set("supplier_code", d.getSupplierCode()); + m.set("supplier_name", d.getSupplierName()); + }); + } + private void insertBatchBudgetLog(List list) throws Exception { + DbContext jslDbContext = TbsMapper.getJslDbContext(); + jslDbContext.table(tbs_budget_log).insertList(list, (d, m) -> { + m.set("id", d.getId()); + m.set("budget_id", d.getBudgetId()); + m.set("budget_code", d.getBudgetCode()); + m.set("opt_type", d.getOptType()); + m.set("opt_user_id", d.getOptUserId()); + m.set("opt_user_name", d.getOptUserName()); + m.set("opt_user_code", d.getOptUserCode()); + m.set("amount", d.getAmount()); + m.set("schedule_id", d.getScheduleId()); + m.set("schedule_item_id", d.getScheduleItemId()); + m.set("schedule_item_budget_id", d.getScheduleItemBudgetId()); + m.set("schedule_org_id", d.getScheduleOrgId()); + m.set("schedule_item_org_id", d.getScheduleItemOrgId()); + m.set("schedule_item_budget_org_id", d.getScheduleItemBudgetOrgId()); + m.set("item_name", d.getItemName()); + m.set("start_date", d.getStartDate()); + m.set("end_date", d.getEndDate()); + m.set("subject_id", d.getSubjectId()); + m.set("subject_code", d.getSubjectCode()); + m.set("subject_name", d.getSubjectName()); + m.set("center_type", d.getCenterType()); + m.set("center_id", d.getCenterId()); + m.set("center_code", d.getCenterCode()); + m.set("center_name", d.getCenterName()); + m.set("center_org_id", d.getCenterOrgId()); + m.set("center_org_code", d.getCenterOrgCode()); + m.set("center_org_name", d.getCenterOrgName()); + m.set("supplier_id", d.getSupplierId()); + m.set("supplier_code", d.getSupplierCode()); + m.set("supplier_name", d.getSupplierName()); + m.set("activity_id", d.getActivityId()); + m.set("activity_code", d.getActivityCode()); + m.set("activity_theme", d.getActivityTheme()); + m.set("policy_id", d.getPolicyId()); + m.set("policy_code", d.getPolicyCode()); + m.set("policy_title", d.getPolicyTitle()); + m.set("policy_item_id", d.getPolicyItemId()); + m.set("policy_item_code", d.getPolicyItemCode()); + m.set("cost_apply_id", d.getCostApplyId()); + m.set("cost_apply_code", d.getCostApplyCode()); + m.set("cost_apply_theme", d.getCostApplyTheme()); + m.set("remark", d.getRemark()); +// m.set("rollback_flag", d.getRollbackFlag()); +// m.set("migrate_flag", d.getMigrateFlag()); + m.set("migrate_time", d.getMigrateTime()); + m.set("tenant_id", d.getTenantId()); + m.set("target_type", d.getTargetType()); + m.set("target_id", d.getTargetId()); + m.set("target_code", d.getTargetCode()); + m.set("target_name", d.getTargetName()); + m.set("target_level_path_ids", d.getTargetLevelPathIds()); + m.set("target_level_path_names", d.getTargetLevelPathNames()); + }); + } + + private void insertBatchPayment(List list) throws Exception { + DbContext jslDbContext = TbsMapper.getJslDbContext(); + jslDbContext.table(pay_payment).insertList(list, (d, m) -> { + m.set("id", d.getId()); + m.set("pay_type", d.getPayType()); + m.set("pay_code", d.getPayCode()); + m.set("supplier_id", d.getSupplierId()); + m.set("supplier_code", d.getSupplierCode()); + m.set("supplier_name", d.getSupplierName()); + m.set("pay_amount", d.getPayAmount()); + m.set("erp_code", d.getErpCode()); + m.set("bill_number", d.getBillNumber()); + m.set("user_id", d.getUserId()); + m.set("user_code", d.getUserCode()); + m.set("user_name", d.getUserName()); + m.set("pay_time", d.getPayTime()); + m.set("cost_apply_id", d.getCostApplyId()); +// m.set("cancel_flag", d.getCancelFlag()); + m.set("cancel_time", d.getCancelTime()); + m.set("remark", d.getRemark()); + m.set("tenant_id", d.getTenantId()); + }); + } + + private void insertBatchPaymentItem(List list) throws Exception { + DbContext jslDbContext = TbsMapper.getJslDbContext(); + jslDbContext.table(pay_payment_item).insertList(list, (d, m) -> { + m.set("id", d.getId()); + m.set("pay_type", d.getPayType()); + m.set("payment_id", d.getPaymentId()); + m.set("supplier_id", d.getSupplierId()); + m.set("item_pay_amount", d.getItemPayAmount()); + m.set("verification_id", d.getVerificationId()); + m.set("verification_subject_id", d.getVerificationSubjectId()); + m.set("cost_apply_id", d.getCostApplyId()); + m.set("activity_id", d.getActivityId()); + m.set("activity_code", d.getActivityCode()); + m.set("policy_item_id", d.getPolicyItemId()); + m.set("policy_item_code", d.getPolicyItemCode()); + m.set("subject_id", d.getSubjectId()); + m.set("subject_code", d.getSubjectCode()); + m.set("subject_name", d.getSubjectName()); + m.set("remark", d.getRemark()); + m.set("tenant_id", d.getTenantId()); + }); + } }