You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
228 lines
10 KiB
228 lines
10 KiB
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();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|