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