一体化营业收入代码优化
This commit is contained in:
parent
e6e24ee5a4
commit
987a88c562
@ -881,8 +881,8 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
|
||||
+ " WHERE YEARMONTH >= '" + yearMonth + "' AND BKGS = '"+bkgs+"'");
|
||||
LOGGER.info("准备同步{}年{}月-营业收入累计数据,删除了{}条数据",year, month,delete);
|
||||
//计算轻钢龙骨和石膏板
|
||||
String querySql = "SELECT " +
|
||||
" BKGS,"+
|
||||
String querySql = " SELECT " +
|
||||
" BKGS, " +
|
||||
" LB_1, " +
|
||||
" CASE " +
|
||||
" WHEN SQ LIKE '%海南%' THEN '海南' " +
|
||||
@ -896,42 +896,49 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
|
||||
" (SQ LIKE '%海南%' OR SQ LIKE '%新疆%' OR SQ LIKE '%西藏%') " +
|
||||
" AND DZRQ >= ? " +
|
||||
" AND BKGS = ? " +
|
||||
" AND LB_1 IN('石膏板','轻钢龙骨','涂料') " +
|
||||
" AND LB_1 IN ('石膏板', '轻钢龙骨', '涂料') " +
|
||||
" GROUP BY " +
|
||||
" BKGS," +
|
||||
" BKGS, " +
|
||||
" LB_1, " +
|
||||
" PROVINCE, " +
|
||||
" YEARMONTH " +
|
||||
" ORDER BY " +
|
||||
" CASE " +
|
||||
" WHEN SQ LIKE '%海南%' THEN '海南' " +
|
||||
" WHEN SQ LIKE '%新疆%' THEN '新疆' " +
|
||||
" WHEN SQ LIKE '%西藏%' THEN '西藏' " +
|
||||
" END, " +
|
||||
" DATE_FORMAT(DZRQ, '%Y-%m') " +
|
||||
|
||||
" UNION ALL " +
|
||||
|
||||
" SELECT " +
|
||||
" BKGS, " +
|
||||
" LB_1, " +
|
||||
" '一体化' AS PROVINCE, " +
|
||||
" DATE_FORMAT(DZRQ, '%Y-%m') AS YEARMONTH, " +
|
||||
" SUM(NMNY) AS REVENUE_AMOUNT " +
|
||||
" FROM BO_EU_BNBM_DATALINKUP_XS_XSL_HZ " +
|
||||
" WHERE " +
|
||||
" (SQ LIKE '%海南%' OR SQ LIKE '%新疆%' OR SQ LIKE '%西藏%') " +
|
||||
" AND DZRQ >= ? " +
|
||||
" AND BKGS = ? " +
|
||||
" AND LB_1 IN ('石膏板', '轻钢龙骨', '涂料') " +
|
||||
"GROUP BY " +
|
||||
" BKGS, " +
|
||||
" LB_1, " +
|
||||
"'一体化', " +
|
||||
" DATE_FORMAT(DZRQ, '%Y-%m') " +
|
||||
"ORDER BY " +
|
||||
" YEARMONTH ASC, " +
|
||||
" PROVINCE ASC, " +
|
||||
" LB_1 ASC";
|
||||
List<RowMap> rowMaps = DBSql.getMaps(querySql, startDate,bkgs);
|
||||
|
||||
List<RowMap> rowMaps = DBSql.getMaps(querySql, startDate,bkgs,startDate,bkgs);
|
||||
LOGGER.info("板块公司:{},本次查询数据:{}",bkgs,rowMaps.size());
|
||||
// 保存数据
|
||||
List<BO> list = new ArrayList<>();
|
||||
for (RowMap rowMap : rowMaps) {
|
||||
BO revenueBO = createBaseBO(bkgs);
|
||||
String category = rowMap.getString("LB_1");
|
||||
String province = rowMap.getString("PROVINCE");
|
||||
String revenueAmount = rowMap.getString("REVENUE_AMOUNT");
|
||||
String year_month = rowMap.getString("YEARMONTH");
|
||||
revenueBO.set("YEARMONTH", year_month);
|
||||
if ("北新嘉宝莉".equals(bkgs)){
|
||||
if ("其他".equals(category)){
|
||||
revenueBO.set("PRODUCT_CATEGORY", category);
|
||||
}else {
|
||||
revenueBO.set("PRODUCT_CATEGORY", "涂料");
|
||||
}
|
||||
} else if ("石膏板".equals(category) || "轻钢龙骨".equals(category)) {
|
||||
revenueBO.set("PRODUCT_CATEGORY", category);
|
||||
}else {
|
||||
revenueBO.set("PRODUCT_CATEGORY", "其他");
|
||||
}
|
||||
revenueBO.set("REVENUE_AMOUNT", revenueAmount);
|
||||
revenueBO.set("SHENGQU", province);//省区
|
||||
list.add(revenueBO);
|
||||
}
|
||||
// 插入海南、新疆、西藏
|
||||
addSummaryData(list, rowMaps,bkgs);
|
||||
// 插入一体化数据
|
||||
addSummaryData(list, rowMaps,bkgs);
|
||||
SDK.getBOAPI().createDataBO(REVENUE_YEAR_TABLE,list,UserContext.fromUID("admin"));
|
||||
LOGGER.info("营业收入月度累计数据保存成功");
|
||||
} catch (Exception e) {
|
||||
@ -1264,4 +1271,29 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void addSummaryData(List<BO> list, List<RowMap> rowMaps,String bkgs) {
|
||||
for (RowMap rowMap : rowMaps) {
|
||||
BO revenueBO = createBaseBO(bkgs);
|
||||
String category = rowMap.getString("LB_1");
|
||||
String province = rowMap.getString("PROVINCE");
|
||||
String revenueAmount = rowMap.getString("REVENUE_AMOUNT");
|
||||
String year_month = rowMap.getString("YEARMONTH");
|
||||
revenueBO.set("YEARMONTH", year_month);
|
||||
if ("北新嘉宝莉".equals(bkgs)){
|
||||
if ("其他".equals(category)){
|
||||
revenueBO.set("PRODUCT_CATEGORY", category);
|
||||
}else {
|
||||
revenueBO.set("PRODUCT_CATEGORY", "涂料");
|
||||
}
|
||||
} else if ("石膏板".equals(category) || "轻钢龙骨".equals(category)) {
|
||||
revenueBO.set("PRODUCT_CATEGORY", category);
|
||||
}else {
|
||||
revenueBO.set("PRODUCT_CATEGORY", "其他");
|
||||
}
|
||||
revenueBO.set("REVENUE_AMOUNT", revenueAmount);
|
||||
revenueBO.set("SHENGQU", province);//省区
|
||||
list.add(revenueBO);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user