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