From 1417c27c7c9fb3a93aed3e2f6a04f0991fcf3f85 Mon Sep 17 00:00:00 2001 From: "15989082884@163.com" <15989082884@163.com> Date: Sun, 13 Aug 2023 16:17:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/demo/Application.java | 46 +++---- src/main/java/com/demo/Application2.java | 116 +++++++++++++++++- .../java/com/demo/SyncDiscountBudget.java | 3 +- src/main/java/com/demo/cost/TbsMapper.java | 16 +-- .../com/demo/cost/TbsMatchServiceImpl.java | 24 ++-- .../java/com/demo/cost/TbsServiceImpl.java | 7 +- .../cost/entity/JslTbsBudgetTempUpdate.java | 23 ++++ .../com/demo/t20230704/SyncNotCheckMain.java | 7 +- 8 files changed, 191 insertions(+), 51 deletions(-) create mode 100644 src/main/java/com/demo/cost/entity/JslTbsBudgetTempUpdate.java diff --git a/src/main/java/com/demo/Application.java b/src/main/java/com/demo/Application.java index 02ae437..9a1ad5d 100644 --- a/src/main/java/com/demo/Application.java +++ b/src/main/java/com/demo/Application.java @@ -19,43 +19,45 @@ import lombok.extern.slf4j.Slf4j; public class Application { public static void main(String[] args) { - String ymString = "202306"; + String ymString = "202307"; //String ymString = System.getProperty("startId"); String year = ymString.substring(0,4); String month = ymString.substring(4,6); Integer y = Integer.parseInt(year); Integer m = Integer.parseInt(month); - TbsServiceImpl service = new TbsServiceImpl(); - //service.removeYiDong(); //移除异动 - - //费用申请 - for (int i = 1; i < 13; i++) { - service.syncCost(y,i); - } - - //特殊的命中修改成本中心 - SyncMatchActCenter matchActCenter = new SyncMatchActCenter(); - matchActCenter.tmain(); +// TbsServiceImpl service = new TbsServiceImpl(); +// service.removeYiDong(); //移除异动 +// +// //费用申请 +// for (int i = 1; i < 13; i++) { +// service.syncCost(y,i); +// } +// +// //特殊的命中修改成本中心 +// SyncMatchActCenter matchActCenter = new SyncMatchActCenter(); +// matchActCenter.tmain(); //更新申请vtb_flag=1,重新录入核销,并非每次执行 - new SyncActVtb().tmain(); - - new TbsMatchServiceImpl().matchBudget(); - +// new SyncActVtb().tmain(); +// +// new TbsMatchServiceImpl().matchBudget(); +// //费用核销 SyncVerificationMain verificationMain = new SyncVerificationMain(); verificationMain.testMain(); +// +// //更新核销中的预算费用占用 +// new SyncDiscountBudget().sync(); - //更新核销中的预算费用占用 - new SyncDiscountBudget().sync(); +// 更新申请和活动的状态 - //更新申请和活动的状态 - new TbsMatchServiceImpl().updateStatus(); - - //同步isCancel=1的费用释放 +// 同步isCancel=1的费用释放 new SyncNotCheckMain().doMain(); +// new TbsMatchServiceImpl().updateStatus(); + + } diff --git a/src/main/java/com/demo/Application2.java b/src/main/java/com/demo/Application2.java index 4ab18c3..81db667 100644 --- a/src/main/java/com/demo/Application2.java +++ b/src/main/java/com/demo/Application2.java @@ -1,9 +1,21 @@ package com.demo; import com.demo.cost.SyncVerificationMain; +import com.demo.cost.TbsMapper; +import com.demo.cost.entity.JslTbsBudget; +import com.demo.cost.entity.JslTbsBudgetLog; +import com.demo.cost.entity.JslTbsBudgetTempUpdate; +import com.demo.t20230616.JslTbsScheduleItemBudget; import com.demo.util.SetData; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.Test; +import org.noear.wood.DbContext; + +import java.math.BigDecimal; +import java.sql.SQLException; +import java.util.List; +import java.util.Map; /** * @author YenHex @@ -12,9 +24,105 @@ import org.junit.Test; @Slf4j public class Application2 { - @Test - public void test1(){ - - } +// public static void main(String[] args) { +// new Application2().test(); +// } +// +// @SneakyThrows +// public void test(){ +// DbContext jslContext = TbsMapper.getJslDbContext(); +// List maps = jslContext.sql("select * from tbs_budget_update_temp where name like '%光豪%' ").getList(JslTbsBudgetTempUpdate.class); +// maps.forEach(a->{ +// try { +// List budgets = jslContext.sql("select * from tbs_budget where budget_code = ? and del_flag = 0",a.getName()).getList(JslTbsBudget.class); +// if(budgets.size()!=1){ +// System.out.println(a.getName()+a.getFir()+a.getSec()+a.getThird()); +// return; +// } +// JslTbsBudget budget = budgets.get(0); +// +// if(a.getFir()!=null){ +// String itemName = "2023第1季度"; +// List scheduleItemBudgets = jslContext +// .sql("select * from tbs_schedule_item_budget where budget_id = ? and item_name=? and del_flag = 0",budget.getId(),itemName) +// .getList(JslTbsScheduleItemBudget.class); +// if(scheduleItemBudgets.size()!=1){ +// System.out.println(a.getName()+a.getFir()+a.getSec()+a.getThird()); +// return; +// } +// JslTbsScheduleItemBudget scheduleItemBudget = scheduleItemBudgets.get(0); +// JslTbsBudgetLog budgetLog = this.buildLog(budget,scheduleItemBudget,a.getFir()); +// jslContext.table("tbs_budget_log").setEntity(budgetLog).insert(); +// +// } +// +// if(a.getSec()!=null){ +// String itemName = "2023第2季度"; +// List scheduleItemBudgets = jslContext +// .sql("select * from tbs_schedule_item_budget where budget_id = ? and item_name=? and del_flag = 0",budget.getId(),itemName) +// .getList(JslTbsScheduleItemBudget.class); +// if(scheduleItemBudgets.size()!=1){ +// System.out.println(a.getName()+a.getFir()+a.getSec()+a.getThird()); +// return; +// } +// JslTbsScheduleItemBudget scheduleItemBudget = scheduleItemBudgets.get(0); +// JslTbsBudgetLog budgetLog = this.buildLog(budget,scheduleItemBudget,a.getSec()); +// jslContext.table("tbs_budget_log").setEntity(budgetLog).insert(); +// } +// +// if(a.getThird()!=null){ +// String itemName = "2023第3季度"; +// List scheduleItemBudgets = jslContext +// .sql("select * from tbs_schedule_item_budget where budget_id = ? and item_name=? and del_flag = 0",budget.getId(),itemName) +// .getList(JslTbsScheduleItemBudget.class); +// if(scheduleItemBudgets.size()!=1){ +// System.out.println(a.getName()+a.getFir()+a.getSec()+a.getThird()); +// return; +// } +// JslTbsScheduleItemBudget scheduleItemBudget = scheduleItemBudgets.get(0); +// JslTbsBudgetLog budgetLog = this.buildLog(budget,scheduleItemBudget,a.getThird()); +// jslContext.table("tbs_budget_log").setEntity(budgetLog).insert(); +// } +// +// } catch (SQLException throwables) { +// throwables.printStackTrace(); +// } +// }); +// } +// +// public JslTbsBudgetLog buildLog(JslTbsBudget budget, JslTbsScheduleItemBudget itemBudget, BigDecimal amount){ +// JslTbsBudgetLog budgetLog = new JslTbsBudgetLog(); +// budgetLog.setBudgetId(itemBudget.getBudgetId()); +// budgetLog.setBudgetCode(budget.getBudgetCode()); +// if(amount.compareTo(BigDecimal.ZERO)>0) { +// budgetLog.setOptType(2); +// } +// if(amount.compareTo(BigDecimal.ZERO)<0) { +// budgetLog.setOptType(3); +// } +// budgetLog.setOptUserId("0"); +// budgetLog.setOptUserName("系统导入"); +// budgetLog.setOptUserCode("system_update_budget"); +// budgetLog.setAmount(amount); +// budgetLog.setScheduleId(itemBudget.getScheduleId()); +// budgetLog.setScheduleItemId(itemBudget.getScheduleItemId()); +// budgetLog.setScheduleItemBudgetId(itemBudget.getId()); +// budgetLog.setItemName(itemBudget.getItemName()); +// budgetLog.setStartDate(itemBudget.getStartDate()); +// budgetLog.setEndDate(itemBudget.getEndDate()); +// +// budgetLog.setSubjectId(0L); +// budgetLog.setSubjectCode(""); +// budgetLog.setSubjectName(""); +// budgetLog.setCenterType(budget.getCenterType()); +// budgetLog.setCenterId(budget.getCenterId()); +// budgetLog.setCenterCode(budget.getCenterCode()); +// budgetLog.setCenterName(budget.getCenterName()); +// budgetLog.setRollbackFlag(0); +// budgetLog.setMigrateFlag(0); +// budgetLog.setTenantId("001"); +// +// return budgetLog; +// } } diff --git a/src/main/java/com/demo/SyncDiscountBudget.java b/src/main/java/com/demo/SyncDiscountBudget.java index f9bb81e..33f3a7d 100644 --- a/src/main/java/com/demo/SyncDiscountBudget.java +++ b/src/main/java/com/demo/SyncDiscountBudget.java @@ -61,6 +61,7 @@ public class SyncDiscountBudget { tmpK4 = tmpK4.replace("销售区域",""); tmpK4 = tmpK4.replace("区域",""); tmpK4 = tmpK4.replace("预算",""); + Boolean daqu = tmpK4.contains("督协"); tmpK4 = tmpK4.replace("督协",""); String jsl_budget_item = "SELECT" + " budget.center_id," + @@ -71,7 +72,7 @@ public class SyncDiscountBudget { " sib.*" + " FROM `tbs_schedule_item_budget` sib " + " left join tbs_budget budget on sib.budget_id = budget.id " + - " where budget.budget_code like concat('%','"+tmpK4+"','%') " + + " where budget.budget_code like concat('%','"+tmpK4+(daqu?"大区":"")+"','%') " + " and budget.budget_code like concat('%','"+seriesName+"','%') " + " and sib.item_name = '2023第"+seasonNum+"季度'"; diff --git a/src/main/java/com/demo/cost/TbsMapper.java b/src/main/java/com/demo/cost/TbsMapper.java index 14b7d27..72bed44 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_dev07?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_dev07?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/TbsMatchServiceImpl.java b/src/main/java/com/demo/cost/TbsMatchServiceImpl.java index 04606f0..ff539a2 100644 --- a/src/main/java/com/demo/cost/TbsMatchServiceImpl.java +++ b/src/main/java/com/demo/cost/TbsMatchServiceImpl.java @@ -27,18 +27,7 @@ public class TbsMatchServiceImpl { public void matchBudget(){ DbContext jslContext = TbsMapper.getJslDbContext(); - String sql = "UPDATE tbs_activity_center_goods g " + - "LEFT JOIN bms_cost_center c ON g.center_id = c.id " + - "SET g.center_code = c.`code`, g.center_name = c.`name` " + - "WHERE g.center_type = 'center' and g.sync_budget =1 "; - String sql2 = "UPDATE tbs_activity_center_goods g " + - "LEFT JOIN bms_region c ON g.center_id = c.id " + - "SET g.center_code = c.`code`, g.center_name = c.`name` " + - "WHERE g.center_type = 'saleRegion' and g.sync_budget =1 "; - - jslContext.sql(sql).execute(); - jslContext.sql(sql2).execute(); String sql_drop = "drop table temp_ids"; @@ -77,6 +66,19 @@ public class TbsMatchServiceImpl { jslContext.sql(updateSql5).execute(); jslContext.sql(updateSql6).execute(); + String sql = "UPDATE tbs_activity_center_goods g " + + "LEFT JOIN bms_cost_center c ON g.center_id = c.id " + + "SET g.center_code = c.`code`, g.center_name = c.`name` " + + "WHERE g.center_type = 'center' and g.sync_budget =1 "; + + String sql2 = "UPDATE tbs_activity_center_goods g " + + "LEFT JOIN bms_region c ON g.center_id = c.id " + + "SET g.center_code = c.`code`, g.center_name = c.`name` " + + "WHERE g.center_type = 'saleRegion' and g.sync_budget =1 "; + + jslContext.sql(sql).execute(); + jslContext.sql(sql2).execute(); + String insertSql = "INSERT INTO tbs_budget_cost_item ( " + " center_goods_code, " + " cost_apply_id, " + diff --git a/src/main/java/com/demo/cost/TbsServiceImpl.java b/src/main/java/com/demo/cost/TbsServiceImpl.java index c0adff3..732e918 100644 --- a/src/main/java/com/demo/cost/TbsServiceImpl.java +++ b/src/main/java/com/demo/cost/TbsServiceImpl.java @@ -89,6 +89,7 @@ public class TbsServiceImpl { } + @SneakyThrows private void removeByCostIds(List rmIDs){ DbContext jslContext = TbsMapper.getJslDbContext(); @@ -376,7 +377,9 @@ public class TbsServiceImpl { category3 = category; } } - + if(category3==null){ + return; + } targetType = "series"; targetCode = category3.getCode(); targetName = category3.getName(); @@ -490,7 +493,7 @@ public class TbsServiceImpl { centerGoods.setTenantId("001"); centerGoods.setTargetType(targetType); centerGoods.setTargetId(targetId); - centerGoods.setCenterGoodsCode(targetCode); + centerGoods.setCenterGoodsCode(centerGoods.getActivityCode()+"_1"); centerGoods.setTargetCode(targetCode); centerGoods.setTargetName(targetName); centerGoods.setTargetLevelPathIds(levelIds); diff --git a/src/main/java/com/demo/cost/entity/JslTbsBudgetTempUpdate.java b/src/main/java/com/demo/cost/entity/JslTbsBudgetTempUpdate.java new file mode 100644 index 0000000..58aa4f0 --- /dev/null +++ b/src/main/java/com/demo/cost/entity/JslTbsBudgetTempUpdate.java @@ -0,0 +1,23 @@ +package com.demo.cost.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @author YenHex + * @since 2023/6/15 + **/ +@Data +public class JslTbsBudgetTempUpdate { + + private String name; + private BigDecimal fir; + private BigDecimal sec; + private BigDecimal third; + +} diff --git a/src/main/java/com/demo/t20230704/SyncNotCheckMain.java b/src/main/java/com/demo/t20230704/SyncNotCheckMain.java index 6fa6537..1b458c2 100644 --- a/src/main/java/com/demo/t20230704/SyncNotCheckMain.java +++ b/src/main/java/com/demo/t20230704/SyncNotCheckMain.java @@ -84,19 +84,19 @@ public class SyncNotCheckMain { JslTbsBudgetCostItem currCostItem = jslDbContext.sql(sql_budget_cost_item, tbsActivity.getId()).getItem(JslTbsBudgetCostItem.class); if(currCostItem==null||currCostItem.getId()==null){ System.out.println("没有命中核销的费用编码:"+ tbsActivity.getCostCode()); - return; + continue; } if(jslDbContext.sql(sql_find_activity_release, tbsActivity.getId()).getCount()>0){ System.out.println("已释放该活动费用:"+ tbsActivity.getCostCode()); - return; + continue; } //删除历史记录 jslDbContext.sql(del_fund_flow,tbsActivity.getId()).execute(); jslDbContext.sql(del_budget_log,tbsActivity.getId()).execute(); //添加不再支付记录 - BigDecimal amt = costItem.getApplyAmt(); + BigDecimal amt = costItem.getApplyAmt().subtract(costItem.getCheckPassAmt()); JslVtbFundFlow fundFlow = new JslVtbFundFlow(); fundFlow.setFundType("release"); fundFlow.setVerificationId(0L); @@ -150,6 +150,7 @@ public class SyncNotCheckMain { updAct.setReleaseTime(checkCostItemList.get(0).getExedate()); updAct.setReleaseAmount(totalRes); updAct.setId(tbsActivity.getId()); + jslDbContext.table("tbs_activity").setEntity(updAct).updateBy("id"); } } jslDbContext.sql(sql_update_do_cancel,actList.get(0).getCostApplyId()).execute();