Browse Source

同步

master
15989082884@163.com 2 years ago
parent
commit
bded3d06ee
  1. 20
      src/main/java/com/demo/Application.java
  2. 228
      src/main/java/com/demo/Application3.java
  3. 153
      src/main/java/com/demo/cost/SyncVerificationMain.java
  4. 2
      src/main/java/com/demo/cost/TbsServiceImpl.java
  5. 3
      src/main/java/com/demo/cost/entity/XltCheckCostItem.java
  6. 21
      src/main/java/com/demo/t20230704/SyncNotCheckMain.java

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

@ -33,27 +33,27 @@ public class Application {
// 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,重新录入核销,并非每次执行
// //更新申请vtb_flag=1,重新录入核销,并非每次执行
// new SyncActVtb().tmain();
//
////
// new TbsMatchServiceImpl().matchBudget();
//
//费用核销
// //费用核销
SyncVerificationMain verificationMain = new SyncVerificationMain();
verificationMain.testMain();
//
// //更新核销中的预算费用占用
////
//// //更新核销中的预算费用占用
// new SyncDiscountBudget().sync();
// 更新申请和活动的状态
// 同步isCancel=1的费用释放
new SyncNotCheckMain().doMain();
// new SyncNotCheckMain().doMain();
// new TbsMatchServiceImpl().updateStatus();

228
src/main/java/com/demo/Application3.java

@ -0,0 +1,228 @@
package com.demo;
import com.demo.cost.TbsMapper;
import com.demo.cost.entity.JslBmsRegion;
import com.demo.cost.entity.JslTbsBudgetLog;
import com.demo.t20230616.CenterInfoDto;
import com.demo.t20230616.JslBmsCenter;
import com.demo.t20230616.JslTbsBudget;
import com.demo.t20230616.JslTbsScheduleItemBudget;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.noear.wood.DbContext;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
/**
* @author YenHex
* @since 2023/3/22
*/
@Slf4j
public class Application3 {
DbContext xltDbContext = TbsMapper.getXltDbContext();
DbContext jslDbContext = TbsMapper.getJslDbContext();
private final String tbs_budget = "tbs_budget";
private final String tbs_budget_condition = "tbs_budget_condition";
private final String tbs_schedule_item_budget = "tbs_schedule_item_budget";
private final String bms_cost_center = "bms_cost_center";
private DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) {
new Application3().buildBudgetRegion();
}
@SneakyThrows
public void test(){
}
@SneakyThrows
private void buildBudgetCenter(){
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 ";
String sql_center = "select * from bms_cost_center where del_flag = 0";
List<JslBmsCenter> bmsCenterList = jslDbContext.sql(sql_center).getList(JslBmsCenter.class);
List<Map<String,Object>> centerlist = jslDbContext.sql(sqlcenter).getMapList();
for(Map<String,Object> map:centerlist){
String centerType = (String)map.get("center_type");
String centerId = (String)map.get("center_id");
CenterInfoDto centerDto = null;
if(centerDto==null){
for (JslBmsCenter bmsCenter : bmsCenterList) {
if(centerId.equals(bmsCenter.getId().toString())){
centerDto = new CenterInfoDto();
centerDto.setId(bmsCenter.getId()+"");
centerDto.setCode(bmsCenter.getCode());
centerDto.setName(bmsCenter.getName());
centerDto.setType("center");
break;
}
}
}
JslTbsBudget tbsBudget = new JslTbsBudget();
tbsBudget.setBudgetCode("2022"+centerDto.getName()+"全年");
tbsBudget.setBudgetState(0);
tbsBudget.setSubjectId(0L);
tbsBudget.setSubjectCode("");
tbsBudget.setSubjectName("");
tbsBudget.setCenterId(centerDto.getId());
tbsBudget.setCenterType(centerDto.getType());
tbsBudget.setCenterCode(centerDto.getCode());
tbsBudget.setCenterName(centerDto.getName());
tbsBudget.setScheduleId(5L);
tbsBudget.setScheduleCode("2022year");
tbsBudget.setScheduleName("2022年年度预算");
tbsBudget.setConditionFlag(0);
tbsBudget.setTenantId("001");
try {
long tbsBudgetId = jslDbContext.table(tbs_budget).setEntity(tbsBudget).insert();
JslTbsScheduleItemBudget itemBudget = new JslTbsScheduleItemBudget();
itemBudget.setScheduleId(5L);
itemBudget.setTenantId("001");
itemBudget.setBudgetAmount(BigDecimal.ZERO);
itemBudget.setItemName("2022年");
itemBudget.setStartDate("2022-01-01");
itemBudget.setEndDate("2022-12-31");
itemBudget.setScheduleItemId(11L);
itemBudget.setBudgetId(tbsBudgetId);
long itemBudgetId = jslDbContext.table(tbs_schedule_item_budget).setEntity(itemBudget).insert();
JslTbsBudgetLog budgetLog = new JslTbsBudgetLog();
budgetLog.setBudgetId(itemBudget.getBudgetId());
budgetLog.setBudgetCode(tbsBudget.getBudgetCode());
budgetLog.setOptType(0);
budgetLog.setOptUserId("0");
budgetLog.setOptUserName("系统导入");
budgetLog.setOptUserCode("system_his2022");
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.setSubjectId(0L);
budgetLog.setSubjectCode("");
budgetLog.setSubjectName("");
budgetLog.setCenterType(tbsBudget.getCenterType());
budgetLog.setCenterId(tbsBudget.getCenterId());
budgetLog.setCenterCode(tbsBudget.getCenterCode());
budgetLog.setCenterName(tbsBudget.getCenterName());
budgetLog.setRollbackFlag(0);
budgetLog.setMigrateFlag(0);
budgetLog.setTenantId("001");
jslDbContext.table("tbs_budget_log").setEntity(budgetLog).insert();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
@SneakyThrows
private void buildBudgetRegion(){
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 ";
String sql_sale_region = "select * from bms_region where del_flag = 0";
List<JslBmsRegion> saleRegionList = jslDbContext.sql(sql_sale_region).getList(JslBmsRegion.class);
List<Map<String,Object>> centerlist = jslDbContext.sql(sqlcenter).getMapList();
for(Map<String,Object> map:centerlist){
String centerType = (String)map.get("center_type");
String centerId = (String)map.get("center_id");
CenterInfoDto centerDto = null;
if(centerDto==null){
for (JslBmsRegion bmsRegion : saleRegionList) {
if(centerId.equals(bmsRegion.getId())){
centerDto = new CenterInfoDto();
centerDto.setId(bmsRegion.getId());
centerDto.setCode(bmsRegion.getCode());
centerDto.setName(bmsRegion.getName());
centerDto.setType("saleRegion");
break;
}
}
}
String tbsBudgetSql = "select * from tbs_budget where schedule_id = 5 and center_type=? and center_id =?";
List<Map<String,Object>> count = jslDbContext.sql(tbsBudgetSql,centerType,centerId).getMapList();
if(count.size()>0){
continue;
}
JslTbsBudget tbsBudget = new JslTbsBudget();
tbsBudget.setBudgetCode("2022"+centerDto.getName()+"全年");
tbsBudget.setBudgetState(0);
tbsBudget.setSubjectId(0L);
tbsBudget.setSubjectCode("");
tbsBudget.setSubjectName("");
tbsBudget.setCenterId(centerDto.getId());
tbsBudget.setCenterType(centerDto.getType());
tbsBudget.setCenterCode(centerDto.getCode());
tbsBudget.setCenterName(centerDto.getName());
tbsBudget.setScheduleId(5L);
tbsBudget.setScheduleCode("2022year");
tbsBudget.setScheduleName("2022年年度预算");
tbsBudget.setConditionFlag(0);
tbsBudget.setTenantId("001");
try {
long tbsBudgetId = jslDbContext.table(tbs_budget).setEntity(tbsBudget).insert();
JslTbsScheduleItemBudget itemBudget = new JslTbsScheduleItemBudget();
itemBudget.setScheduleId(5L);
itemBudget.setTenantId("001");
itemBudget.setBudgetAmount(BigDecimal.ZERO);
itemBudget.setItemName("2022年");
itemBudget.setStartDate("2022-01-01");
itemBudget.setEndDate("2022-12-31");
itemBudget.setScheduleItemId(11L);
itemBudget.setBudgetId(tbsBudgetId);
long itemBudgetId = jslDbContext.table(tbs_schedule_item_budget).setEntity(itemBudget).insert();
JslTbsBudgetLog budgetLog = new JslTbsBudgetLog();
budgetLog.setBudgetId(itemBudget.getBudgetId());
budgetLog.setBudgetCode(tbsBudget.getBudgetCode());
budgetLog.setOptType(0);
budgetLog.setOptUserId("0");
budgetLog.setOptUserName("系统导入");
budgetLog.setOptUserCode("system_his2022");
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.setSubjectId(0L);
budgetLog.setSubjectCode("");
budgetLog.setSubjectName("");
budgetLog.setCenterType(tbsBudget.getCenterType());
budgetLog.setCenterId(tbsBudget.getCenterId());
budgetLog.setCenterCode(tbsBudget.getCenterCode());
budgetLog.setCenterName(tbsBudget.getCenterName());
budgetLog.setRollbackFlag(0);
budgetLog.setMigrateFlag(0);
budgetLog.setTenantId("001");
jslDbContext.table("tbs_budget_log").setEntity(budgetLog).insert();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}

153
src/main/java/com/demo/cost/SyncVerificationMain.java

@ -105,8 +105,63 @@ public class SyncVerificationMain {
this.removeCostIds(errorCostIds);
int count = 1;
//------------------------------------------------------------------//
List<String> 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<JslTbsActivity> tbsActivitiesAll = jslDbContext.sql(sql_activity_list).getList(JslTbsActivity.class);
Map<Long,List<JslTbsActivity>> tbsActivitiesMap = tbsActivitiesAll.stream().collect(Collectors.groupingBy(JslTbsActivity::getCostApplyId));
List<String> tbsActivitiesCodes = tbsActivitiesAll.stream().map(a->a.getActivityCode()).collect(Collectors.toList());
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 in ('"+tbsActivitiesCodes.stream().collect(Collectors.joining("','")) +"')";//活动id
List<XltCheckCostItem> checkCostItemListAll = xltDbContext.sql(sql_xlt_check_cost).getList(XltCheckCostItem.class);
Map<String,List<XltCheckCostItem>> checkCostItemListMap = checkCostItemListAll.stream().collect(Collectors.groupingBy(XltCheckCostItem::getActivityCode));
String sql_xlt_check_cost_cancel =
" 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 in ('"+tbsActivitiesCodes.stream().collect(Collectors.joining("','")) +"')";//活动id
List<XltCheckCostItem> checkCostItemListAllCancel = xltDbContext.sql(sql_xlt_check_cost_cancel).getList(XltCheckCostItem.class);
Map<String,List<XltCheckCostItem>> checkCostItemListCancelMap = checkCostItemListAllCancel.stream().collect(Collectors.groupingBy(XltCheckCostItem::getActivityCode));
// 获取活动列表(未释放,以及未完成的)
String sql_activity_list ="select * from tbs_activity where cost_apply_id = ?";
for (JslTbsCostApply costApply : costList) {
System.out.println(count+"/"+costList.size()+" ["+costApply.getId()+"]");
@ -117,8 +172,10 @@ public class SyncVerificationMain {
jslDbContext.sql(sql_cost_sync + costApply.getId()).execute();
// 获取相关的支付单号
List<JslTbsActivity> tbsActivities = jslDbContext.sql(sql_activity_list,costApply.getId().toString()).getList(JslTbsActivity.class);
boolean isOk = buildActivity(jslDbContext, xltDbContext, costApply, tbsActivities);
// List<JslTbsActivity> tbsActivities = jslDbContext.sql(sql_activity_list,costApply.getId().toString()).getList(JslTbsActivity.class);
List<JslTbsActivity> tbsActivities = tbsActivitiesMap.get(costApply.getId());
boolean isOk = buildActivity(jslDbContext, xltDbContext, costApply, tbsActivities,checkCostItemListMap,checkCostItemListCancelMap);
//完成标记状态
if(isOk){
String sql_cost_sync_success = "update tbs_cost_apply set vtb_sync = 2 where id = ";
@ -127,37 +184,66 @@ public class SyncVerificationMain {
}
}
private boolean buildActivity(DbContext jslDbContext, DbContext xltDbContext, JslTbsCostApply costApply, List<JslTbsActivity> tbsActivities) throws SQLException {
private boolean buildActivity(DbContext jslDbContext, DbContext xltDbContext, JslTbsCostApply costApply, List<JslTbsActivity> tbsActivities,
Map<String,List<XltCheckCostItem>> checkCostItemListMap,
Map<String,List<XltCheckCostItem>> checkCostItemListCancelMap) throws SQLException {
for (JslTbsActivity tbsActivity : tbsActivities) {
if(tbsActivity.getTotalAmount().compareTo(BigDecimal.ZERO)==0){
continue;
}
String activityCode = tbsActivity.getActivityCode();
// 获取销路通核销明细
String sql_xlt_check_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 = '0' " +
" AND oldlistnumber = '"+activityCode+"'";//活动id
List<XltCheckCostItem> checkCostItemList = xltDbContext.sql(sql_xlt_check_cost).getList(XltCheckCostItem.class);
if(checkCostItemList.size()==0){
// String sql_cost_sync_error_4 = "update tbs_cost_apply set vtb_sync = 4 where id = ";
// jslDbContext.sql(sql_cost_sync_error_4 + costApply.getId()).execute();
System.out.println("无相关核销,活动编码:"+activityCode);
continue;
// 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<XltCheckCostItem> checkCostItemList = xltDbContext.sql(sql_xlt_check_cost).getList(XltCheckCostItem.class);
List<XltCheckCostItem> 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<XltCheckCostItem> checkCostReleaseItemList = xltDbContext.sql(sql_xlt_release_cost).getList(XltCheckCostItem.class);
List<XltCheckCostItem> checkCostReleaseItemList = checkCostItemListCancelMap.get(activityCode);
if(checkCostReleaseItemList == null || checkCostReleaseItemList.size()==0) {
System.out.println("无相关核销,活动编码:" + activityCode);
continue;
}else{
applyRealse = true;
checkCostItemList = checkCostReleaseItemList;
}
}
String sql_budget_cost_item = "select * from tbs_budget_cost_item where activity_id = ?";
@ -172,17 +258,21 @@ public class SyncVerificationMain {
BigDecimal totalPassAmt = BigDecimal.ZERO;
for (int i = 0; i < checkCostItemList.size(); i++) {
XltCheckCostItem checkCostItem = checkCostItemList.get(i);
this.saveVerification(i, jslDbContext, currCostItem,tbsActivity, checkCostItem);
if(!applyRealse) {
//申请人取消的话要跳过核销插入,直接释放
this.saveVerification(i, jslDbContext, currCostItem, tbsActivity, checkCostItem);
}
totalApplyAmt = totalApplyAmt.add(checkCostItem.getApplyAmt());
totalPassAmt = totalPassAmt.add(checkCostItem.getCheckPassAmt());
}
// 不再支付
boolean isNotAllow = checkCostItemList.stream().anyMatch(a->a.getNotAllowFlag().equals(1));
//更新主表dto
JslTbsActivity updAct = new JslTbsActivity();
//updAct.setId(tbsActivity.getId());
// 释放金额
if(isNotAllow){
if(isNotAllow || applyRealse){
// 不再支付返回预算到预算池
BigDecimal totalReleaseAmt = totalApplyAmt.subtract(totalPassAmt);
if(totalReleaseAmt.compareTo(BigDecimal.ZERO)>0){
@ -197,6 +287,9 @@ public class SyncVerificationMain {
}
}
updAct.setUsedAmount(totalPassAmt);
if(totalApplyAmt.compareTo(totalPassAmt)==0){
updAct.setFinishedFlag(1);
}
String sql_update_act_info = SqlCreateUtil.buildUpdateSql(updAct,tbs_activity)+" where id = "+tbsActivity.getId();
jslDbContext.sql(sql_update_act_info).execute();
}

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

@ -57,7 +57,7 @@ public class TbsServiceImpl {
public void removeYiDong(){
DbContext xltDbContext = TbsMapper.getXltDbContext();
List<String> array = xltDbContext.sql("select reportNumber from emp_tpmYiDongMsg where isGuiDang = 1 " +
" and rowCreateDate>'2023-06-14' GROUP BY reportNumber").getArray("reportNumber");
" and rowCreateDate>'2023-08-08' GROUP BY reportNumber").getArray("reportNumber");
//array.forEach(System.out::println);
removeCostCode(array);
}

3
src/main/java/com/demo/cost/entity/XltCheckCostItem.java

@ -11,7 +11,8 @@ import java.util.Date;
**/
@Data
public class XltCheckCostItem {
//活动编码
String activityCode;
/**
* 核销主编码
*/

21
src/main/java/com/demo/t20230704/SyncNotCheckMain.java

@ -46,18 +46,29 @@ public class SyncNotCheckMain {
" WHERE " +
" cmain.state = '120' " +
" and clist.iscancel = '1' " +
" and clist.iszuofei != 1 "+
" and clist.iscancelremark = '申请人主动取消核销' "+
" AND oldlistnumber = ?";
String oldlistnumberSql = "SELECT " +
" DISTINCT oldlistnumber " +
"FROM " +
" [dbo].[costreimbursementList] " +
"WHERE " +
" [oldreportnumber] > N'202300000000' " +
" AND [iscancelremark] LIKE N'%申请人主动取消核销%' " +
" AND [isZuoFei] <> N'1' " +
" AND [exedate] > N'2022-12-01 00:00:00' ";
/** 统计活动的不予核销 */
String sql_sum_release = "SELECT sum(used_amount) FROM `vtb_fund_flow` where activity_id = ? and fund_type = 'release'";
String sql_sum_release = "SELECT sum(used_amount) FROM `vtb_fund_flow` where activity_id = ? and fund_type = 'release' and del_flag != 1";
/** 删除历史记录 */
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 = ?";
String sql_find_activity_release = "SELECT * FROM `vtb_fund_flow` where activity_id = ? and fund_type = 'release'";
String sql_find_activity_release = "SELECT * FROM `vtb_fund_flow` where activity_id = ? and fund_type = 'release' and del_flag != 1";
@Test
@SneakyThrows
@ -67,11 +78,15 @@ public class SyncNotCheckMain {
List<Activity0704> activity0704List = jslDbContext.sql(sql_cost_not_do_cancel).getList(Activity0704.class);
activity0704List.forEach(a->a.setCostCode(a.getActivityCode().split("_")[0]));
Map<String,List<Activity0704>> map = activity0704List.stream().collect(Collectors.groupingBy(Activity0704::getCostCode));
List<String> oldListNumbers = xltDbContext.sql(oldlistnumberSql).getArray("oldlistnumber");
int totalCost = map.keySet().size();
int count = 1;
for (String costCode : map.keySet()) {
List<Activity0704> actList = map.get(costCode);
for (Activity0704 tbsActivity : actList) {
if(!oldListNumbers.contains(tbsActivity.getActivityCode())){
continue;
}
List<XltCheckCostItem> checkCostItemList = xltDbContext.sql(sql_xlt_check_cost,tbsActivity.getActivityCode()).getList(XltCheckCostItem.class);
for (XltCheckCostItem costItem : checkCostItemList) {

Loading…
Cancel
Save