diff --git a/src/main/java/com/demo/Application.java b/src/main/java/com/demo/Application.java index 7e0dbb4..e40aa7d 100644 --- a/src/main/java/com/demo/Application.java +++ b/src/main/java/com/demo/Application.java @@ -26,36 +26,36 @@ public class Application { Integer y = Integer.parseInt(year); Integer m = Integer.parseInt(month); -// TbsServiceImpl service = new TbsServiceImpl(); + TbsServiceImpl service = new TbsServiceImpl(); // service.removeYiDong(); //移除异动 // // //费用申请 -// for (int i = 1; i < 13; i++) { -// service.syncCost(y,i); -// } + for (int i = 1; i < 13; i++) { + service.syncCost(y,i); + } //// //// //特殊的命中修改成本中心 -//// SyncMatchActCenter matchActCenter = new SyncMatchActCenter(); -//// matchActCenter.tmain(); +// SyncMatchActCenter matchActCenter = new SyncMatchActCenter(); +// matchActCenter.tmain(); // // //更新申请vtb_flag=1,重新录入核销,并非每次执行 // new SyncActVtb().tmain(); -//// -// new TbsMatchServiceImpl().matchBudget(); +// + new TbsMatchServiceImpl().matchBudget(); // // //费用核销 SyncVerificationMain verificationMain = new SyncVerificationMain(); verificationMain.formain(); //// //// //更新核销中的预算费用占用 -// new SyncDiscountBudget().sync(); + new SyncDiscountBudget().sync(); // 更新申请和活动的状态 // 同步isCancel=1的费用释放 -// new SyncNotCheckMain().doMain(); +// new SyncNotCheckMain().doMain();(弃用,功能并于verificationMain.formain()) -// new TbsMatchServiceImpl().updateStatus(); + new TbsMatchServiceImpl().updateStatus(); } diff --git a/src/main/java/com/demo/Application3.java b/src/main/java/com/demo/Application3.java index e57391e..d3e0203 100644 --- a/src/main/java/com/demo/Application3.java +++ b/src/main/java/com/demo/Application3.java @@ -3,6 +3,8 @@ package com.demo; import com.demo.cost.TbsMapper; import com.demo.cost.entity.JslBmsRegion; import com.demo.cost.entity.JslTbsBudgetLog; +import com.demo.jsl.entity.schedule.TbsSchedule; +import com.demo.jsl.entity.schedule.TbsScheduleItem; import com.demo.t20230616.CenterInfoDto; import com.demo.t20230616.JslBmsCenter; import com.demo.t20230616.JslTbsBudget; @@ -35,7 +37,13 @@ public class Application3 { private DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); public static void main(String[] args) { - new Application3().buildBudgetRegion(); +// Application3 app = new Application3(); + for(int year = 2021;year<=2021;year++) { +// String year = "2020"; + System.out.println(year); +// new Application3().buildBudgetCenter(String.valueOf(year)); + new Application3().buildBudgetRegion(String.valueOf(year)); + } } @SneakyThrows @@ -44,9 +52,39 @@ public class Application3 { } @SneakyThrows - private void buildBudgetCenter(){ + private void buildBudgetCenter(String year){ +// String year = "2021"; + + String sqlsch = "SELECT * FROM tbs_schedule where code = ?"; + String sqlschItem = "SELECT * FROM tbs_schedule_item where schedule_id = ?"; + + List schList = jslDbContext.sql(sqlsch,year+"year").getList(TbsSchedule.class); + if(schList.size()==0){ + TbsSchedule schedule = new TbsSchedule(); + schedule.setCode(year+"year"); + schedule.setName(year+"年年度预算"); + schedule.setTenantId("001"); + Long schId = jslDbContext.table("tbs_schedule").setEntity(schedule).insert(); + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + TbsScheduleItem scheduleItem = new TbsScheduleItem(); + scheduleItem.setScheduleId(schId); + scheduleItem.setItemName(year+"年"); + scheduleItem.setTenantId("001"); + scheduleItem.setStartDate(LocalDateTime.parse(year+"-01-01 00:00:00",formatter)); + scheduleItem.setEndDate(LocalDateTime.parse(year+"-12-31 00:00:00",formatter)); + + Long schItemId = jslDbContext.table("tbs_schedule_item").setEntity(scheduleItem).insert(); + } + + schList = jslDbContext.sql(sqlsch,year+"year").getList(TbsSchedule.class); + Long schId = schList.get(0).getId(); + List scheduleItemList = jslDbContext.sql(sqlschItem,schId).getList(TbsScheduleItem.class); + Long schItemId = scheduleItemList.get(0).getId(); + String sqlcenter = "select g.center_type,g.center_id from tbs_cost_apply a left join tbs_activity_center_goods g" + - " on a.id = g.cost_apply_id where g.act_start_date < '2023-01-01' and center_type = 'center' GROUP BY g.center_type,g.center_id "; + " on a.id = g.cost_apply_id where year(g.act_start_date) = "+year+" and center_type = 'center' GROUP BY g.center_type,g.center_id "; String sql_center = "select * from bms_cost_center where del_flag = 0"; List bmsCenterList = jslDbContext.sql(sql_center).getList(JslBmsCenter.class); @@ -73,7 +111,7 @@ public class Application3 { } JslTbsBudget tbsBudget = new JslTbsBudget(); - tbsBudget.setBudgetCode("2022"+centerDto.getName()+"全年"); + tbsBudget.setBudgetCode(year+centerDto.getName()+"全年"); tbsBudget.setBudgetState(0); tbsBudget.setSubjectId(0L); tbsBudget.setSubjectCode(""); @@ -82,21 +120,21 @@ public class Application3 { tbsBudget.setCenterType(centerDto.getType()); tbsBudget.setCenterCode(centerDto.getCode()); tbsBudget.setCenterName(centerDto.getName()); - tbsBudget.setScheduleId(5L); - tbsBudget.setScheduleCode("2022year"); - tbsBudget.setScheduleName("2022年年度预算"); + tbsBudget.setScheduleId(schId); + tbsBudget.setScheduleCode(year+"year"); + tbsBudget.setScheduleName(year+"年年度预算"); tbsBudget.setConditionFlag(0); tbsBudget.setTenantId("001"); try { long tbsBudgetId = jslDbContext.table(tbs_budget).setEntity(tbsBudget).insert(); JslTbsScheduleItemBudget itemBudget = new JslTbsScheduleItemBudget(); - itemBudget.setScheduleId(5L); + itemBudget.setScheduleId(schId); itemBudget.setTenantId("001"); itemBudget.setBudgetAmount(BigDecimal.ZERO); - itemBudget.setItemName("2022年"); - itemBudget.setStartDate("2022-01-01"); - itemBudget.setEndDate("2022-12-31"); - itemBudget.setScheduleItemId(11L); + itemBudget.setItemName(year+"年"); + itemBudget.setStartDate(year+"-01-01"); + itemBudget.setEndDate(year+"-12-31"); + itemBudget.setScheduleItemId(schItemId); itemBudget.setBudgetId(tbsBudgetId); long itemBudgetId = jslDbContext.table(tbs_schedule_item_budget).setEntity(itemBudget).insert(); @@ -106,14 +144,14 @@ public class Application3 { budgetLog.setOptType(0); budgetLog.setOptUserId("0"); budgetLog.setOptUserName("系统导入"); - budgetLog.setOptUserCode("system_his2022"); + budgetLog.setOptUserCode("system_his"+year); budgetLog.setAmount(BigDecimal.ZERO); budgetLog.setScheduleId(itemBudget.getScheduleId()); budgetLog.setScheduleItemId(itemBudget.getScheduleItemId()); budgetLog.setScheduleItemBudgetId(itemBudgetId); budgetLog.setItemName(itemBudget.getItemName()); - budgetLog.setStartDate(LocalDateTime.parse("2022-01-01 00:00:00",formatter)); - budgetLog.setEndDate(LocalDateTime.parse("2022-12-31 00:00:00",formatter)); + budgetLog.setStartDate(LocalDateTime.parse(year+"-01-01 00:00:00",formatter)); + budgetLog.setEndDate(LocalDateTime.parse(year+"-12-31 00:00:00",formatter)); budgetLog.setSubjectId(0L); budgetLog.setSubjectCode(""); @@ -134,9 +172,39 @@ public class Application3 { } @SneakyThrows - private void buildBudgetRegion(){ + private void buildBudgetRegion(String year){ +// String year = "2021"; + + String sqlsch = "SELECT * FROM tbs_schedule where code = ?"; + String sqlschItem = "SELECT * FROM tbs_schedule_item where schedule_id = ?"; + + List schList = jslDbContext.sql(sqlsch,year+"year").getList(TbsSchedule.class); + if(schList.size()==0){ + TbsSchedule schedule = new TbsSchedule(); + schedule.setCode(year+"year"); + schedule.setName(year+"年年度预算"); + schedule.setTenantId("001"); + Long schId = jslDbContext.table("tbs_schedule").setEntity(schedule).insert(); + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + TbsScheduleItem scheduleItem = new TbsScheduleItem(); + scheduleItem.setScheduleId(schId); + scheduleItem.setItemName(year+"年"); + scheduleItem.setTenantId("001"); + scheduleItem.setStartDate(LocalDateTime.parse(year+"-01-01 00:00:00",formatter)); + scheduleItem.setEndDate(LocalDateTime.parse(year+"-12-31 00:00:00",formatter)); + + Long schItemId = jslDbContext.table("tbs_schedule_item").setEntity(scheduleItem).insert(); + } + + schList = jslDbContext.sql(sqlsch,year+"year").getList(TbsSchedule.class); + Long schId = schList.get(0).getId(); + List scheduleItemList = jslDbContext.sql(sqlschItem,schId).getList(TbsScheduleItem.class); + Long schItemId = scheduleItemList.get(0).getId(); + String sqlcenter = "select g.center_type,g.center_id from tbs_cost_apply a left join tbs_activity_center_goods g " + - "on a.id = g.cost_apply_id where g.act_start_date < '2023-01-01' and center_type = 'saleRegion' GROUP BY g.center_type,g.center_id "; + "on a.id = g.cost_apply_id where year(g.act_start_date) = "+year+" and center_type = 'saleRegion' GROUP BY g.center_type,g.center_id "; String sql_sale_region = "select * from bms_region where del_flag = 0"; List saleRegionList = jslDbContext.sql(sql_sale_region).getList(JslBmsRegion.class); @@ -160,13 +228,13 @@ public class Application3 { } } - String tbsBudgetSql = "select * from tbs_budget where schedule_id = 5 and center_type=? and center_id =?"; - List> count = jslDbContext.sql(tbsBudgetSql,centerType,centerId).getMapList(); + String tbsBudgetSql = "select * from tbs_budget where schedule_id = ? and center_type=? and center_id =?"; + List> count = jslDbContext.sql(tbsBudgetSql,sqlsch,centerType,centerId).getMapList(); if(count.size()>0){ continue; } JslTbsBudget tbsBudget = new JslTbsBudget(); - tbsBudget.setBudgetCode("2022"+centerDto.getName()+"全年"); + tbsBudget.setBudgetCode(year+centerDto.getName()+"全年"); tbsBudget.setBudgetState(0); tbsBudget.setSubjectId(0L); tbsBudget.setSubjectCode(""); @@ -175,21 +243,21 @@ public class Application3 { tbsBudget.setCenterType(centerDto.getType()); tbsBudget.setCenterCode(centerDto.getCode()); tbsBudget.setCenterName(centerDto.getName()); - tbsBudget.setScheduleId(5L); - tbsBudget.setScheduleCode("2022year"); - tbsBudget.setScheduleName("2022年年度预算"); + tbsBudget.setScheduleId(schId); + tbsBudget.setScheduleCode(year+"year"); + tbsBudget.setScheduleName(year+"年年度预算"); tbsBudget.setConditionFlag(0); tbsBudget.setTenantId("001"); try { long tbsBudgetId = jslDbContext.table(tbs_budget).setEntity(tbsBudget).insert(); JslTbsScheduleItemBudget itemBudget = new JslTbsScheduleItemBudget(); - itemBudget.setScheduleId(5L); + itemBudget.setScheduleId(schId); itemBudget.setTenantId("001"); itemBudget.setBudgetAmount(BigDecimal.ZERO); - itemBudget.setItemName("2022年"); - itemBudget.setStartDate("2022-01-01"); - itemBudget.setEndDate("2022-12-31"); - itemBudget.setScheduleItemId(11L); + itemBudget.setItemName(year+"年"); + itemBudget.setStartDate(year+"-01-01"); + itemBudget.setEndDate(year+"-12-31"); + itemBudget.setScheduleItemId(schItemId); itemBudget.setBudgetId(tbsBudgetId); long itemBudgetId = jslDbContext.table(tbs_schedule_item_budget).setEntity(itemBudget).insert(); @@ -199,14 +267,14 @@ public class Application3 { budgetLog.setOptType(0); budgetLog.setOptUserId("0"); budgetLog.setOptUserName("系统导入"); - budgetLog.setOptUserCode("system_his2022"); + budgetLog.setOptUserCode("system_his"+year); budgetLog.setAmount(BigDecimal.ZERO); budgetLog.setScheduleId(itemBudget.getScheduleId()); budgetLog.setScheduleItemId(itemBudget.getScheduleItemId()); budgetLog.setScheduleItemBudgetId(itemBudgetId); budgetLog.setItemName(itemBudget.getItemName()); - budgetLog.setStartDate(LocalDateTime.parse("2022-01-01 00:00:00",formatter)); - budgetLog.setEndDate(LocalDateTime.parse("2022-12-31 00:00:00",formatter)); + budgetLog.setStartDate(LocalDateTime.parse(year+"-01-01 00:00:00",formatter)); + budgetLog.setEndDate(LocalDateTime.parse(year+"-12-31 00:00:00",formatter)); budgetLog.setSubjectId(0L); budgetLog.setSubjectCode(""); diff --git a/src/main/java/com/demo/Application4.java b/src/main/java/com/demo/Application4.java new file mode 100644 index 0000000..9d5fd37 --- /dev/null +++ b/src/main/java/com/demo/Application4.java @@ -0,0 +1,173 @@ +package com.demo; + +import com.demo.cost.TbsMapper; +import com.demo.cost.entity.*; +import com.demo.jsl.entity.user.JslUser; +import com.demo.util.SqlCreateUtil; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.noear.wood.DbContext; + +import java.math.BigDecimal; +import java.sql.SQLException; +import java.util.List; + +/** + * @author YenHex + * @since 2023/3/22 + */ +@Slf4j +public class Application4 { + + + public static void main(String[] args) { + new Application4().test(); + } + + @SneakyThrows + public void test(){ + String sql = "select a.* from tbs_activity a left join temp_id_costapply c on c.id = a.activity_code " + + "where c.id is not null and a.finished_flag = 0 and year(a.act_start_date) >= 2021"; + + DbContext jslContext = TbsMapper.getJslDbContext(); + List activityList = jslContext.sql(sql).getList(JslTbsActivity.class); + + for(JslTbsActivity tbsActivity:activityList){ + String sql_budget_cost_item = "select * from tbs_budget_cost_item where activity_id = ?"; + JslTbsBudgetCostItem currCostItem = jslContext.sql(sql_budget_cost_item, tbsActivity.getId()).getItem(JslTbsBudgetCostItem.class); + if (currCostItem == null || currCostItem.getId() == null) { + System.out.println("没有命中核销的费用id:" + tbsActivity.getCostApplyId() + " 活动id:"+tbsActivity.getId()); + continue; + } + String sql_cost_list = "select * from tbs_cost_apply where xlt_sync = 2 and id = ?"; + JslTbsCostApply costApply = jslContext.sql(sql_cost_list,tbsActivity.getCostApplyId()).getItem(JslTbsCostApply.class); + if(costApply==null){ + System.out.println("没有费用申请id:" + tbsActivity.getCostApplyId() + " 活动id:"+tbsActivity.getId()); + continue; + } + + JslTbsActivity updAct = new JslTbsActivity(); + BigDecimal totalReleaseAmt = tbsActivity.getTotalAmount(); + updAct.setActivityState(4); + updAct.setReleaseFlag(1); + updAct.setFinishedFlag(1); + updAct.setReleaseUserId("0"); + updAct.setReleaseUserName("系统导入"); + updAct.setReleaseTime(tbsActivity.getCreateTime()); + updAct.setReleaseAmount(totalReleaseAmt); + this.doNotAllowCost(currCostItem, totalReleaseAmt, jslContext, costApply, tbsActivity, totalReleaseAmt); + String sql_update_act_info = SqlCreateUtil.buildUpdateSql(updAct, "tbs_activity") + " where id = " + tbsActivity.getId(); + jslContext.sql(sql_update_act_info).execute(); + } + } + + + /** + * @param totalReleaseAmt + * @param jslDbContext + * @param costApply + * @param tbsActivity + * @param 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.setCostApplyId(tbsActivity.getCostApplyId()); + fundFlow.setActivityId(tbsActivity.getId()); + fundFlow.setUsedAmount(totalReleaseAmt); + fundFlow.setSupplierId(tbsActivity.getSupplierId()); + fundFlow.setSupplierCode(tbsActivity.getSupplierCode()); + fundFlow.setSupplierName(tbsActivity.getSupplierName()); + fundFlow.setTenantId("001"); + + fundFlow.setSubjectId(0L); + fundFlow.setSubjectCode(""); + fundFlow.setSubjectName(""); + + fundFlow.setCenterType(currCostItem.getCenterType()); + fundFlow.setCenterId(currCostItem.getCenterId()); + fundFlow.setCenterCode(currCostItem.getCenterCode()); + fundFlow.setCenterName(currCostItem.getCenterName()); + + fundFlow.setTargetType(currCostItem.getTargetType()); + fundFlow.setTargetId(currCostItem.getTargetId()); + fundFlow.setTargetCode(currCostItem.getTargetCode()); + fundFlow.setTargetName(currCostItem.getTargetName()); + fundFlow.setTargetLevelPathIds(currCostItem.getTargetLevelPathIds()); + fundFlow.setTargetLevelPathNames(currCostItem.getTargetLevelPathNames()); + fundFlow.setCenterGoodItemId(currCostItem.getId()); + + fundFlow.setSupplierId(tbsActivity.getSupplierId()); + fundFlow.setSupplierCode(tbsActivity.getSupplierCode()); + fundFlow.setSupplierName(tbsActivity.getSupplierName()); + +// batchVtbFlowList.add(fundFlow); + + jslDbContext.table("vtb_fund_flow").setEntity(fundFlow).insert(); + + + 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(); + jslUser.setId("0"); + jslUser.setCode("0"); + jslUser.setName("系统导入"); + + JslTbsBudgetLog budgetLog = this.buildTbsBudgetLog(4, jslUser, costApply, currCostItem, currentBudget, totalReleaseAmt, tbsActivity); + budgetLog.setTenantId("001"); + jslDbContext.table("tbs_budget_log").setEntity(budgetLog).insert(); + +// batchBudgetLogList.add(budgetLog); + } + + public JslTbsBudgetLog buildTbsBudgetLog(Integer optType, JslUser sysUser, JslTbsCostApply costApply, + JslTbsBudgetCostItem item, JslTbsBudget budget, BigDecimal amount, JslTbsActivity activity) { + BigDecimal amountAmt = amount; + if (amountAmt.compareTo(BigDecimal.ZERO) <= 0) { + amountAmt = amountAmt.negate(); + } + JslTbsBudgetLog budgetLog = new JslTbsBudgetLog(); + budgetLog.setBudgetId(item.getBudgetId()); + budgetLog.setBudgetCode(budget.getBudgetCode()); + budgetLog.setOptType(optType); + budgetLog.setOptUserId(sysUser.getId()); + budgetLog.setOptUserCode(sysUser.getCode()); + budgetLog.setOptUserName(sysUser.getName()); + 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(costApply.getId()); + budgetLog.setCostApplyCode(costApply.getCode()); + budgetLog.setCostApplyTheme(costApply.getChargeTheme()); + budgetLog.setTargetType(item.getTargetType()); + budgetLog.setTargetId(item.getTargetId()); + budgetLog.setTargetCode(item.getTargetCode()); + budgetLog.setTargetName(item.getTargetName()); + budgetLog.setTargetLevelPathIds(item.getTargetLevelPathIds()); + budgetLog.setTargetLevelPathNames(item.getTargetLevelPathNames()); + return budgetLog; + } + +} diff --git a/src/main/java/com/demo/SyncActVtb.java b/src/main/java/com/demo/SyncActVtb.java index cb33140..1f7dfe8 100644 --- a/src/main/java/com/demo/SyncActVtb.java +++ b/src/main/java/com/demo/SyncActVtb.java @@ -18,7 +18,7 @@ public class SyncActVtb { public void tmain(){ DbContext xltDbContext = TbsMapper.getXltDbContext(); DbContext jslDbContext = TbsMapper.getJslDbContext(); - String date = "'2023-06-01'"; + String date = "'2023-09-07'"; String load_change_actCode = "select " + "r1.number_ as cost_code " + "from emp_tpmYiDongMsg e1 " + diff --git a/src/main/java/com/demo/cost/SyncVerificationMain.java b/src/main/java/com/demo/cost/SyncVerificationMain.java index 323493b..6ecb128 100644 --- a/src/main/java/com/demo/cost/SyncVerificationMain.java +++ b/src/main/java/com/demo/cost/SyncVerificationMain.java @@ -119,20 +119,20 @@ public class SyncVerificationMain { getMaxVtbId(); getMaxVtbSubId(); - getMaxPayId(); +// getMaxPayId(); if (vtbId == 0L || vtbId == 10450000L) { return; } if (vtbSubId == 0L || vtbSubId == 10455000L) { return; } - if (payMaxId == 0L || payMaxId == 11339000L) { - 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"; + String sql_cost_list = "select * from tbs_cost_apply where xlt_sync = 2 and budget_sync = 1 and vtb_sync !=2 order by id limit 300"; List costList = jslDbContext.sql(sql_cost_list).getList(JslTbsCostApply.class); if (costList.size() > 0) { try{ @@ -158,7 +158,7 @@ public class SyncVerificationMain { // 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 limit 300"; + String sql_cost_list = "select * from tbs_cost_apply where xlt_sync = 2 and budget_sync = 1 and vtb_sync !=2 order by id limit 300"; // if(SetData.startId!=null){ // int startId = SetData.startId; // int endId = startId+1000; @@ -261,8 +261,8 @@ public class SyncVerificationMain { insertBatchVtbVerificationSubject(batchVtbVerificationSubjectList); insertBatchVtbFlow(batchVtbFlowList); insertBatchBudgetLog(batchBudgetLogList); - insertBatchPayment(payPaymentList); - insertBatchPaymentItem(payPaymentItemList); +// 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(); diff --git a/src/main/java/com/demo/cost/TbsMatchServiceImpl.java b/src/main/java/com/demo/cost/TbsMatchServiceImpl.java index ff539a2..3ad1dd5 100644 --- a/src/main/java/com/demo/cost/TbsMatchServiceImpl.java +++ b/src/main/java/com/demo/cost/TbsMatchServiceImpl.java @@ -39,7 +39,7 @@ public class TbsMatchServiceImpl { "LEFT JOIN tbs_budget b ON g.center_id = b.center_id " + "LEFT JOIN tbs_budget_condition c ON b.id = c.budget_id AND g.target_level_path_ids LIKE CONCAT(c.target_level_path_ids, '_%') " + "LEFT JOIN tbs_schedule_item_budget i ON b.id = i.budget_id AND g.act_start_date BETWEEN i.start_date AND i.end_date " + - "WHERE g.act_start_date >= '2023-01-01' " + + "WHERE year(g.act_start_date) = 2023 " + "AND c.id IS NOT NULL " + "AND i.id IS NOT NULL"; @@ -56,8 +56,9 @@ public class TbsMatchServiceImpl { String updateSql5 = "UPDATE tbs_cost_apply AS a " + "LEFT JOIN tbs_activity_center_goods AS g ON a.id = g.cost_apply_id " + "SET a.new_budget_sync = 3 " + - "WHERE g.sync_budget = 0 and a.xlt_sync = 2"; - String updateSql6 = "UPDATE tbs_cost_apply a SET a.budget_sync = 2 where a.new_budget_sync != 3 and a.budget_sync = 0 and a.xlt_sync = 2"; + "WHERE g.sync_budget = 0 and a.xlt_sync = 2 "; + String updateSql6 = "UPDATE tbs_cost_apply a LEFT JOIN tbs_activity_center_goods AS g ON a.id = g.cost_apply_id " + + " SET a.budget_sync = 2 where a.new_budget_sync != 3 and a.budget_sync = 0 and a.xlt_sync = 2 and year(g.act_start_date) = 2023"; jslContext.sql(updateSql1).execute(); jslContext.sql(updateSql2).execute(); diff --git a/src/main/java/com/demo/cost/TbsServiceImpl.java b/src/main/java/com/demo/cost/TbsServiceImpl.java index 6048268..4c3f866 100644 --- a/src/main/java/com/demo/cost/TbsServiceImpl.java +++ b/src/main/java/com/demo/cost/TbsServiceImpl.java @@ -39,15 +39,7 @@ public class TbsServiceImpl { @SneakyThrows public void removeErrCode(){ String[] errorCodes = new String[]{ - "202304210206", - "202304210275", - "202304230662", - "202304241991", - "202304241911", - "202304241916", - "202304250388", - "202304281538", - "202304300382" + "202309010534" }; this.removeCostCode(Arrays.asList(errorCodes)); }