Browse Source

同步更新

2022
15989082884@163.com 2 years ago
parent
commit
1417c27c7c
  1. 40
      src/main/java/com/demo/Application.java
  2. 116
      src/main/java/com/demo/Application2.java
  3. 3
      src/main/java/com/demo/SyncDiscountBudget.java
  4. 16
      src/main/java/com/demo/cost/TbsMapper.java
  5. 24
      src/main/java/com/demo/cost/TbsMatchServiceImpl.java
  6. 7
      src/main/java/com/demo/cost/TbsServiceImpl.java
  7. 23
      src/main/java/com/demo/cost/entity/JslTbsBudgetTempUpdate.java
  8. 7
      src/main/java/com/demo/t20230704/SyncNotCheckMain.java

40
src/main/java/com/demo/Application.java

@ -19,43 +19,45 @@ import lombok.extern.slf4j.Slf4j;
public class Application { public class Application {
public static void main(String[] args) { public static void main(String[] args) {
String ymString = "202306"; String ymString = "202307";
//String ymString = System.getProperty("startId"); //String ymString = System.getProperty("startId");
String year = ymString.substring(0,4); String year = ymString.substring(0,4);
String month = ymString.substring(4,6); String month = ymString.substring(4,6);
Integer y = Integer.parseInt(year); Integer y = Integer.parseInt(year);
Integer m = Integer.parseInt(month); Integer m = Integer.parseInt(month);
TbsServiceImpl service = new TbsServiceImpl(); // TbsServiceImpl service = new TbsServiceImpl();
// service.removeYiDong(); //移除异动 // service.removeYiDong(); //移除异动
//
//费用申请 // //费用申请
for (int i = 1; i < 13; i++) { // for (int i = 1; i < 13; i++) {
service.syncCost(y,i); // service.syncCost(y,i);
} // }
//
//特殊的命中修改成本中心 // //特殊的命中修改成本中心
SyncMatchActCenter matchActCenter = new SyncMatchActCenter(); // SyncMatchActCenter matchActCenter = new SyncMatchActCenter();
matchActCenter.tmain(); // matchActCenter.tmain();
//更新申请vtb_flag=1,重新录入核销,并非每次执行 //更新申请vtb_flag=1,重新录入核销,并非每次执行
new SyncActVtb().tmain(); // new SyncActVtb().tmain();
//
new TbsMatchServiceImpl().matchBudget(); // new TbsMatchServiceImpl().matchBudget();
//
//费用核销 //费用核销
SyncVerificationMain verificationMain = new SyncVerificationMain(); SyncVerificationMain verificationMain = new SyncVerificationMain();
verificationMain.testMain(); verificationMain.testMain();
//
//更新核销中的预算费用占用 // //更新核销中的预算费用占用
new SyncDiscountBudget().sync(); // new SyncDiscountBudget().sync();
// 更新申请和活动的状态 // 更新申请和活动的状态
new TbsMatchServiceImpl().updateStatus();
// 同步isCancel=1的费用释放 // 同步isCancel=1的费用释放
new SyncNotCheckMain().doMain(); new SyncNotCheckMain().doMain();
// new TbsMatchServiceImpl().updateStatus();
} }

116
src/main/java/com/demo/Application2.java

@ -1,9 +1,21 @@
package com.demo; package com.demo;
import com.demo.cost.SyncVerificationMain; 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 com.demo.util.SetData;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Test; 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 * @author YenHex
@ -12,9 +24,105 @@ import org.junit.Test;
@Slf4j @Slf4j
public class Application2 { 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<JslTbsBudgetTempUpdate> maps = jslContext.sql("select * from tbs_budget_update_temp where name like '%光豪%' ").getList(JslTbsBudgetTempUpdate.class);
// maps.forEach(a->{
// try {
// List<JslTbsBudget> 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<JslTbsScheduleItemBudget> 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<JslTbsScheduleItemBudget> 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<JslTbsScheduleItemBudget> 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;
// }
} }

3
src/main/java/com/demo/SyncDiscountBudget.java

@ -61,6 +61,7 @@ public class SyncDiscountBudget {
tmpK4 = tmpK4.replace("销售区域",""); tmpK4 = tmpK4.replace("销售区域","");
tmpK4 = tmpK4.replace("区域",""); tmpK4 = tmpK4.replace("区域","");
tmpK4 = tmpK4.replace("预算",""); tmpK4 = tmpK4.replace("预算","");
Boolean daqu = tmpK4.contains("督协");
tmpK4 = tmpK4.replace("督协",""); tmpK4 = tmpK4.replace("督协","");
String jsl_budget_item = "SELECT" + String jsl_budget_item = "SELECT" +
" budget.center_id," + " budget.center_id," +
@ -71,7 +72,7 @@ public class SyncDiscountBudget {
" sib.*" + " sib.*" +
" FROM `tbs_schedule_item_budget` sib " + " FROM `tbs_schedule_item_budget` sib " +
" left join tbs_budget budget on sib.budget_id = budget.id " + " 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 budget.budget_code like concat('%','"+seriesName+"','%') " +
" and sib.item_name = '2023第"+seasonNum+"季度'"; " and sib.item_name = '2023第"+seasonNum+"季度'";

16
src/main/java/com/demo/cost/TbsMapper.java

@ -15,14 +15,14 @@ public class TbsMapper {
public static DbContext getJslDbContext() { public static DbContext getJslDbContext() {
if (jslCtx == null) { if (jslCtx == null) {
jslCtx = new DbContext("test", // 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", // "jdbc:mysql://192.168.0.9:3306/jsl_mall_qs_dev07?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true",
"kpjsl", // "kpjsl",
"123456"); // "123456");
// jslCtx = new DbContext("pro", jslCtx = new DbContext("pro",
// "jdbc:mysql://183.56.249.148/jsl_cost_base?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true", "jdbc:mysql://183.56.249.148/jsl_cost_base?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true",
// "root", "root",
// "@Jsl2282125"); "@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"); //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; return jslCtx;

24
src/main/java/com/demo/cost/TbsMatchServiceImpl.java

@ -27,18 +27,7 @@ public class TbsMatchServiceImpl {
public void matchBudget(){ public void matchBudget(){
DbContext jslContext = TbsMapper.getJslDbContext(); 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"; String sql_drop = "drop table temp_ids";
@ -77,6 +66,19 @@ public class TbsMatchServiceImpl {
jslContext.sql(updateSql5).execute(); jslContext.sql(updateSql5).execute();
jslContext.sql(updateSql6).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 ( " + String insertSql = "INSERT INTO tbs_budget_cost_item ( " +
" center_goods_code, " + " center_goods_code, " +
" cost_apply_id, " + " cost_apply_id, " +

7
src/main/java/com/demo/cost/TbsServiceImpl.java

@ -89,6 +89,7 @@ public class TbsServiceImpl {
} }
@SneakyThrows @SneakyThrows
private void removeByCostIds(List<String> rmIDs){ private void removeByCostIds(List<String> rmIDs){
DbContext jslContext = TbsMapper.getJslDbContext(); DbContext jslContext = TbsMapper.getJslDbContext();
@ -376,7 +377,9 @@ public class TbsServiceImpl {
category3 = category; category3 = category;
} }
} }
if(category3==null){
return;
}
targetType = "series"; targetType = "series";
targetCode = category3.getCode(); targetCode = category3.getCode();
targetName = category3.getName(); targetName = category3.getName();
@ -490,7 +493,7 @@ public class TbsServiceImpl {
centerGoods.setTenantId("001"); centerGoods.setTenantId("001");
centerGoods.setTargetType(targetType); centerGoods.setTargetType(targetType);
centerGoods.setTargetId(targetId); centerGoods.setTargetId(targetId);
centerGoods.setCenterGoodsCode(targetCode); centerGoods.setCenterGoodsCode(centerGoods.getActivityCode()+"_1");
centerGoods.setTargetCode(targetCode); centerGoods.setTargetCode(targetCode);
centerGoods.setTargetName(targetName); centerGoods.setTargetName(targetName);
centerGoods.setTargetLevelPathIds(levelIds); centerGoods.setTargetLevelPathIds(levelIds);

23
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;
}

7
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); JslTbsBudgetCostItem currCostItem = jslDbContext.sql(sql_budget_cost_item, tbsActivity.getId()).getItem(JslTbsBudgetCostItem.class);
if(currCostItem==null||currCostItem.getId()==null){ if(currCostItem==null||currCostItem.getId()==null){
System.out.println("没有命中核销的费用编码:"+ tbsActivity.getCostCode()); System.out.println("没有命中核销的费用编码:"+ tbsActivity.getCostCode());
return; continue;
} }
if(jslDbContext.sql(sql_find_activity_release, tbsActivity.getId()).getCount()>0){ if(jslDbContext.sql(sql_find_activity_release, tbsActivity.getId()).getCount()>0){
System.out.println("已释放该活动费用:"+ tbsActivity.getCostCode()); System.out.println("已释放该活动费用:"+ tbsActivity.getCostCode());
return; continue;
} }
//删除历史记录 //删除历史记录
jslDbContext.sql(del_fund_flow,tbsActivity.getId()).execute(); jslDbContext.sql(del_fund_flow,tbsActivity.getId()).execute();
jslDbContext.sql(del_budget_log,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(); JslVtbFundFlow fundFlow = new JslVtbFundFlow();
fundFlow.setFundType("release"); fundFlow.setFundType("release");
fundFlow.setVerificationId(0L); fundFlow.setVerificationId(0L);
@ -150,6 +150,7 @@ public class SyncNotCheckMain {
updAct.setReleaseTime(checkCostItemList.get(0).getExedate()); updAct.setReleaseTime(checkCostItemList.get(0).getExedate());
updAct.setReleaseAmount(totalRes); updAct.setReleaseAmount(totalRes);
updAct.setId(tbsActivity.getId()); updAct.setId(tbsActivity.getId());
jslDbContext.table("tbs_activity").setEntity(updAct).updateBy("id");
} }
} }
jslDbContext.sql(sql_update_do_cancel,actList.get(0).getCostApplyId()).execute(); jslDbContext.sql(sql_update_do_cancel,actList.get(0).getCostApplyId()).execute();

Loading…
Cancel
Save