6 changed files with 382 additions and 45 deletions
@ -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(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue