diff --git a/src/main/java/com/demo/Application.java b/src/main/java/com/demo/Application.java index d8633f3..db1ce67 100644 --- a/src/main/java/com/demo/Application.java +++ b/src/main/java/com/demo/Application.java @@ -56,6 +56,8 @@ public class Application { //更新申请和活动的状态 new TbsMatchServiceImpl().updateStatus(); + // + } diff --git a/src/main/java/com/demo/cost/TbsMapper.java b/src/main/java/com/demo/cost/TbsMapper.java index 0112490..0b29731 100644 --- a/src/main/java/com/demo/cost/TbsMapper.java +++ b/src/main/java/com/demo/cost/TbsMapper.java @@ -15,14 +15,14 @@ public class TbsMapper { public static DbContext getJslDbContext() { if (jslCtx == null) { -// jslCtx = new DbContext("test", -// "jdbc:mysql://192.168.0.9:3306/jsl_mall_qs_dev2?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true", -// "kpjsl", -// "123456"); - jslCtx = new DbContext("pro", - "jdbc:mysql://183.56.249.148/jsl_cost_base?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true", - "root", - "@Jsl2282125"); + jslCtx = new DbContext("test", + "jdbc:mysql://192.168.0.9:3306/jsl_mall_qs_dev2?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true", + "kpjsl", + "123456"); +// jslCtx = new DbContext("pro", +// "jdbc:mysql://183.56.249.148/jsl_cost_base?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true", +// "root", +// "@Jsl2282125"); //jslCtx = new DbContext("test", "jdbc:mysql://183.234.29.228:3333/jsl_mall_qs_dev2?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true", "kpjsl", "123456"); } return jslCtx; diff --git a/src/main/java/com/demo/cost/entity/JslTbsBudgetCostItem.java b/src/main/java/com/demo/cost/entity/JslTbsBudgetCostItem.java index e0555d6..731ac70 100644 --- a/src/main/java/com/demo/cost/entity/JslTbsBudgetCostItem.java +++ b/src/main/java/com/demo/cost/entity/JslTbsBudgetCostItem.java @@ -16,6 +16,7 @@ import java.time.LocalDateTime; @Data public class JslTbsBudgetCostItem { + private String budgetCode; private Long id; diff --git a/src/main/java/com/demo/t20230704/Activity0704.java b/src/main/java/com/demo/t20230704/Activity0704.java index 764a385..98eb2e2 100644 --- a/src/main/java/com/demo/t20230704/Activity0704.java +++ b/src/main/java/com/demo/t20230704/Activity0704.java @@ -13,6 +13,8 @@ public class Activity0704 { private String costCode; + private String costTheme; + /** * id */ diff --git a/src/main/java/com/demo/t20230704/SyncNotCheckMain.java b/src/main/java/com/demo/t20230704/SyncNotCheckMain.java index 72c21de..49ba0fd 100644 --- a/src/main/java/com/demo/t20230704/SyncNotCheckMain.java +++ b/src/main/java/com/demo/t20230704/SyncNotCheckMain.java @@ -1,10 +1,8 @@ package com.demo.t20230704; import com.demo.cost.TbsMapper; -import com.demo.cost.entity.JslTbsActivity; -import com.demo.cost.entity.JslTbsBudgetCostItem; -import com.demo.cost.entity.JslVtbFundFlow; -import com.demo.cost.entity.XltCheckCostItem; +import com.demo.cost.entity.*; +import com.demo.jsl.entity.user.JslUser; import lombok.SneakyThrows; import org.junit.Test; import org.noear.wood.DbContext; @@ -22,14 +20,15 @@ public class SyncNotCheckMain { /** 查询未完成的活动 */ String sql_cost_not_do_cancel = "select " + + " cost.charge_theme, "+ " act.* "+ " from tbs_activity act " + " left join tbs_cost_apply cost on act.cost_apply_id = cost.id " + - " where cost.vtb_sync=2 and cost.do_cancel_flag = 0 " + + " where cost.vtb_sync=2 and cost.do_cancel_flag !=2 " + " order by cost_apply_id"; /** 更新已完成的 */ - String sql_update_do_cancel = "update tbs_cost_apply set do_cancel_flag = 1 where id = ?"; + String sql_update_do_cancel = "update tbs_cost_apply set do_cancel_flag = 2 where id = ?"; /** 查询销路通的不予核销记录 */ String sql_xlt_check_cost = @@ -53,10 +52,11 @@ public class SyncNotCheckMain { /** 统计活动的不予核销 */ String sql_sum_release = "SELECT sum(used_amount) FROM `vtb_fund_flow` where activity_id = ? and fund_type = 'release'"; - //删除历史记录 String del_fund_flow = "delete from vtb_fund_flow where remark = 'byCancel_1' and activity_id = ?"; + String del_budget_log = "delete from tbs_budget_log where remark = 'byCancel_1' and activity_id = ?"; + @Test @SneakyThrows public void doMain(){ @@ -73,7 +73,12 @@ public class SyncNotCheckMain { List checkCostItemList = xltDbContext.sql(sql_xlt_check_cost,tbsActivity.getActivityCode()).getList(XltCheckCostItem.class); for (XltCheckCostItem costItem : checkCostItemList) { - String sql_budget_cost_item = "select * from tbs_budget_cost_item where activity_id = ?"; + String sql_budget_cost_item = "select" + + " tbs_budget.budget_code," + + " tbs_budget_cost_item.*" + + " from tbs_budget_cost_item" + + " left join tbs_budget on tbs_budget_cost_item.budget_id = tbs_budget.id " + + " where tbs_budget_cost_item.activity_id = ?"; JslTbsBudgetCostItem currCostItem = jslDbContext.sql(sql_budget_cost_item, tbsActivity.getId()).getItem(JslTbsBudgetCostItem.class); if(currCostItem==null||currCostItem.getId()==null){ System.out.println("没有命中核销的费用编码:"+ tbsActivity.getCostCode()); @@ -82,6 +87,7 @@ public class SyncNotCheckMain { //删除历史记录 jslDbContext.sql(del_fund_flow,tbsActivity.getId()).execute(); + jslDbContext.sql(del_budget_log,tbsActivity.getId()).execute(); //添加不再支付记录 BigDecimal amt = costItem.getApplyAmt(); JslVtbFundFlow fundFlow = new JslVtbFundFlow(); @@ -119,6 +125,9 @@ public class SyncNotCheckMain { fundFlow.setRemark("byCancel_1"); jslDbContext.table("vtb_fund_flow").setEntity(fundFlow).insert(); + JslTbsBudgetLog budgetLog = this.buildTbsBudgetLog(4,currCostItem,amt, tbsActivity); + budgetLog.setTenantId("001"); + jslDbContext.table("tbs_budget_log").setEntity(budgetLog).insert(); BigDecimal totalRes = BigDecimal.ZERO; Object val = jslDbContext.sql(sql_sum_release,tbsActivity.getId()).getValue(); @@ -135,7 +144,6 @@ public class SyncNotCheckMain { updAct.setReleaseAmount(totalRes); updAct.setId(tbsActivity.getId()); } - } jslDbContext.sql(sql_update_do_cancel,actList.get(0).getCostApplyId()).execute(); System.out.println("完成"+count+"/"+totalCost+":CostApplyId="+actList.get(0).getCostApplyId()); @@ -144,4 +152,58 @@ public class SyncNotCheckMain { } + /** + * 费用申请相关 + * @param optType + * @param item + * @param amount + * @param activity + * @return + */ + public JslTbsBudgetLog buildTbsBudgetLog(Integer optType, JslTbsBudgetCostItem item, BigDecimal amount, Activity0704 activity) { + BigDecimal amountAmt = amount; + if(amountAmt.compareTo(BigDecimal.ZERO)<=0){ + amountAmt = amountAmt.negate(); + } + JslTbsBudgetLog budgetLog = new JslTbsBudgetLog(); + budgetLog.setBudgetId(item.getBudgetId()); + budgetLog.setBudgetCode(item.getBudgetCode()); + budgetLog.setOptType(optType); + budgetLog.setOptUserId("0"); + budgetLog.setOptUserCode("0"); + budgetLog.setOptUserName("系统导入"); + budgetLog.setAmount(amountAmt); + 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()); + budgetLog.setActivityTheme(activity.getActTitle()); + budgetLog.setCostApplyId(activity.getCostApplyId()); + budgetLog.setCostApplyCode(activity.getCostCode()); + budgetLog.setCostApplyTheme(activity.getCostTheme()); + budgetLog.setTargetType(item.getTargetType()); + budgetLog.setTargetId(item.getTargetId()); + budgetLog.setTargetCode(item.getTargetCode()); + budgetLog.setTargetName(item.getTargetName()); + budgetLog.setTargetLevelPathIds(item.getTargetLevelPathIds()); + budgetLog.setTargetLevelPathNames(item.getTargetLevelPathNames()); + budgetLog.setRemark("byCancel_1"); + return budgetLog; + } + + }