整体修改一体化事业部BI汇总sql逻辑
This commit is contained in:
parent
22021eef26
commit
3df164a773
@ -175,98 +175,75 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
|
||||
int delete = DBSql.update("DELETE FROM " + UNIT_PRICE_DAILY_TABLE
|
||||
+ " WHERE DATE >= '" + startDate + "' AND BKGS = '"+bkgs+"'");
|
||||
LOGGER.info("准备同步{}-产品单价日明细数据,删除了{}条数据",startDate,delete);
|
||||
|
||||
HashMap<String, String> sfMap = new HashMap<>();
|
||||
sfMap.put("新疆维吾尔自治区","SQ LIKE '%新疆%' ");
|
||||
sfMap.put("海南省","SQ LIKE '%海南%' ");
|
||||
sfMap.put("西藏自治区","SQ LIKE '%西藏%' ");
|
||||
sfMap.put("一体化","SQ LIKE '%新疆%' OR SQ LIKE '%海南%' OR SQ LIKE '%西藏%' ");
|
||||
for (String key : sfMap.keySet()) {
|
||||
// 获取省份简称
|
||||
String abbreviation = SaleUtil.getProvinceAbbreviation(key);
|
||||
String sfSql = sfMap.get(key);
|
||||
|
||||
String sql = "SELECT DZRQ,LB_1,LB_2,LB_3,BKGS,SQ,CS,SUM(XSSL) AS tssales, SUM(ZSSL) AS lpsales,SUM(SSJERMB) AS revenue" +
|
||||
" FROM " +SALES_DETAIL_TABLE+
|
||||
" WHERE LB_1 IN ('石膏板', '轻钢龙骨', '涂料') AND ("+sfSql+")" +
|
||||
" GROUP BY BKGS,LB_1,DZRQ,BKGS,SQ ORDER BY DZRQ";
|
||||
|
||||
List<RowMap> maps = DBSql.getMaps(sql);
|
||||
if (maps!=null){
|
||||
// 循环外先获取下公装家装、基材面材类别
|
||||
List<BO> gzjzList = SDK.getBOAPI().query("BO_EU_DATALINKUP_CPJZGZJCMC").orderBy("CPLB_L2").desc().list();
|
||||
ArrayList<BO> list = new ArrayList<>();
|
||||
for (RowMap map : maps) {
|
||||
BigDecimal tssales = BigDecimal.valueOf(map.getDouble("tssales"));
|
||||
BigDecimal lpsales = BigDecimal.valueOf(map.getDouble("lpsales"));
|
||||
BigDecimal revenue = BigDecimal.valueOf(map.getDouble("revenue"));
|
||||
BigDecimal unitPrice = BigDecimal.ZERO;
|
||||
String bkgs1 = map.getString("BKGS");
|
||||
String lb_1 = map.getString("LB_1");
|
||||
String lb_2 = map.getString("LB_2");
|
||||
String lb_3 = map.getString("LB_3");
|
||||
String dzrq = map.getString("DZRQ");
|
||||
|
||||
BO priceBO = new BO();
|
||||
priceBO.set("BKGS", bkgs1);
|
||||
priceBO.set("DATE", dzrq);
|
||||
priceBO.set("CITY", map.getString("CS"));
|
||||
if ("北新嘉宝莉".equals(bkgs)) {
|
||||
priceBO.set("PRODUCT_TYPE", "涂料");
|
||||
}else {
|
||||
priceBO.set("PRODUCT_TYPE", lb_1);
|
||||
}
|
||||
if (bkgs1.equals("泰山石膏")){
|
||||
// 计算单价(避免除零错误)
|
||||
if (tssales.compareTo(BigDecimal.ZERO) > 0) {
|
||||
// 石膏板单位转换:万元/万平方米 → 元/平方米
|
||||
if ("石膏板".equals(lb_1)) {
|
||||
unitPrice = revenue.divide(tssales, 4, RoundingMode.HALF_UP);
|
||||
priceBO.set("SALES_VOLUME", tssales.setScale(2, RoundingMode.HALF_UP));
|
||||
}
|
||||
// 轻钢龙骨单位:元/吨
|
||||
if ("轻钢龙骨".equals(lb_1)) {
|
||||
unitPrice = revenue.divide(lpsales, 2, RoundingMode.HALF_UP);
|
||||
}
|
||||
priceBO.set("SALES_VOLUME", lpsales.setScale(2, RoundingMode.HALF_UP));
|
||||
}
|
||||
}else {
|
||||
// 计算单价(避免除零错误)
|
||||
if (lpsales.compareTo(BigDecimal.ZERO) > 0) {
|
||||
// 石膏板单位转换:万元/万平方米 → 元/平方米
|
||||
if ("石膏板".equals(lb_1)) {
|
||||
unitPrice = revenue.divide(tssales, 4, RoundingMode.HALF_UP);
|
||||
}
|
||||
// 轻钢龙骨单位:元/吨
|
||||
if ("轻钢龙骨".equals(lb_1)) {
|
||||
unitPrice = revenue.divide(lpsales, 2, RoundingMode.HALF_UP);
|
||||
}
|
||||
priceBO.set("SALES_VOLUME", lpsales.setScale(2, RoundingMode.HALF_UP));
|
||||
}
|
||||
}
|
||||
priceBO.set("REVENUE_AMOUNT", revenue.setScale(2, RoundingMode.HALF_UP));
|
||||
priceBO.set("UNIT_PRICE", unitPrice.setScale(2, RoundingMode.HALF_UP));
|
||||
priceBO.set("SHENGQU", abbreviation);//省区
|
||||
String[] gzjzStrings = SaleUtil.matchSingleField(bkgs, lb_1, lb_2,lb_3, gzjzList, "其他", "其他","其他");
|
||||
priceBO.set("MC_JC", gzjzStrings[1]);//面材/基材
|
||||
priceBO.set("JZ_GZ", gzjzStrings[0]);//家装/工装
|
||||
priceBO.set("PROD_CAT", gzjzStrings[2]);//产品类型
|
||||
String monthPeriod = SaleUtil.getMonthPeriod(dzrq);
|
||||
priceBO.set("XUN", monthPeriod);//月寻
|
||||
|
||||
list.add(priceBO);
|
||||
}
|
||||
SDK.getBOAPI().createDataBO(UNIT_PRICE_DAILY_TABLE,list,UserContext.fromUID("admin"));
|
||||
|
||||
//更新城市名称
|
||||
int update = DBSql.update("UPDATE" +
|
||||
" BO_EU_DATALINKUP_FACT_UNIT_PRICE_DAILY a " +
|
||||
" INNER JOIN " +
|
||||
" BO_EU_YTH_CCJCWH b ON a.CITY = b.CS " +
|
||||
" SET " +
|
||||
" a.CITY_SHORT = b.CSJC");
|
||||
LOGGER.info("一体化产品单价日明细更新城市名称");
|
||||
String sql = "SELECT " +
|
||||
" DZRQ, " +
|
||||
" LB_1, " +
|
||||
" LB_2, " +
|
||||
" LB_3, " +
|
||||
" BKGS, " +
|
||||
" CASE " +
|
||||
" WHEN SQ LIKE '%海南%' THEN '海南' " +
|
||||
" WHEN SQ LIKE '%新疆%' THEN '新疆' " +
|
||||
" WHEN SQ LIKE '%西藏%' THEN '西藏' " +
|
||||
" END AS PROVINCE, " +
|
||||
" CS, " +
|
||||
" -- 条件判断:如果是轻钢龙骨则用ZSSL,否则用XSSL " +
|
||||
" SUM(CASE WHEN LB_1 = '轻钢龙骨' THEN ZSSL ELSE XSSL END) AS SALES_VOLUME, " +
|
||||
" SUM(NMNY) AS REVENUE_AMOUNT, " +
|
||||
" -- 单价计算也需要同步使用对应的数量字段 " +
|
||||
" SUM(NMNY) / SUM(CASE WHEN LB_1 = '轻钢龙骨' THEN ZSSL ELSE XSSL END) AS UNIT_PRICE " +
|
||||
"FROM " +
|
||||
" BO_EU_BNBM_DATALINKUP_XS_XSL_HZ " +
|
||||
"WHERE " +
|
||||
" LB_1 IN ('石膏板', '轻钢龙骨', '涂料') " +
|
||||
" AND DZRQ >= ? " +
|
||||
" AND BKGS = ? " +
|
||||
" AND (SQ LIKE '%海南%' OR SQ LIKE '%新疆%' OR SQ LIKE '%西藏%') " +
|
||||
"GROUP BY " +
|
||||
" DZRQ, LB_1, LB_2, LB_3, BKGS, SQ, CS " +
|
||||
"ORDER BY " +
|
||||
" DZRQ";
|
||||
List<RowMap> maps = DBSql.getMaps(sql, startDate, bkgs);
|
||||
if (maps!=null){
|
||||
// 循环外先获取下公装家装、基材面材类别
|
||||
List<BO> gzjzList = SDK.getBOAPI().query("BO_EU_DATALINKUP_CPJZGZJCMC").orderBy("CPLB_L2").desc().list();
|
||||
ArrayList<BO> list = new ArrayList<>();
|
||||
for (RowMap map : maps) {
|
||||
String bkgs1 = map.getString("BKGS");
|
||||
String lb_1 = map.getString("LB_1");
|
||||
String lb_2 = map.getString("LB_2");
|
||||
String lb_3 = map.getString("LB_3");
|
||||
String dzrq = map.getString("DZRQ");
|
||||
String province = map.getString("PROVINCE");
|
||||
String sales_volume = map.getString("SALES_VOLUME");
|
||||
String revenue_amount = map.getString("REVENUE_AMOUNT");
|
||||
String unit_price = map.getString("UNIT_PRICE");
|
||||
BO priceBO = new BO();
|
||||
priceBO.set("BKGS", bkgs1);
|
||||
priceBO.set("DATE", dzrq);
|
||||
priceBO.set("CITY", map.getString("CS"));
|
||||
priceBO.set("SALES_VOLUME", sales_volume);
|
||||
priceBO.set("REVENUE_AMOUNT", revenue_amount);
|
||||
priceBO.set("UNIT_PRICE", unit_price);
|
||||
priceBO.set("SHENGQU", province);//省区
|
||||
String[] gzjzStrings = SaleUtil.matchSingleField(bkgs, lb_1, lb_2,lb_3, gzjzList, "其他", "其他","其他");
|
||||
priceBO.set("MC_JC", gzjzStrings[1]);//面材/基材
|
||||
priceBO.set("JZ_GZ", gzjzStrings[0]);//家装/工装
|
||||
priceBO.set("PROD_CAT", gzjzStrings[2]);//产品类型
|
||||
String monthPeriod = SaleUtil.getMonthPeriod(dzrq);
|
||||
priceBO.set("XUN", monthPeriod);//月寻
|
||||
list.add(priceBO);
|
||||
}
|
||||
SDK.getBOAPI().createDataBO(UNIT_PRICE_DAILY_TABLE,list,UserContext.fromUID("admin"));
|
||||
|
||||
//更新城市名称
|
||||
int update = DBSql.update("UPDATE" +
|
||||
" BO_EU_DATALINKUP_FACT_UNIT_PRICE_DAILY a " +
|
||||
" INNER JOIN " +
|
||||
" BO_EU_YTH_CCJCWH b ON a.CITY = b.CS " +
|
||||
" SET " +
|
||||
" a.CITY_SHORT = b.CSJC");
|
||||
LOGGER.info("一体化产品单价日明细更新城市名称");
|
||||
}
|
||||
LOGGER.info("产品单价日明细数据保存成功");
|
||||
} catch (Exception e) {
|
||||
@ -529,47 +506,44 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
|
||||
int delete = DBSql.update("DELETE FROM " + MATCHING_RATE_YEAR_TABLE
|
||||
+ " WHERE YEARMONTH >= '" + yearMonth + "' AND BKGS = '"+bkgs+"'");
|
||||
LOGGER.info("{}:准备同步{}产品配套率数据,删除了{}条数据",bkgs,yearMonth,delete);
|
||||
//分别遍历省份
|
||||
HashMap<String, String> sfMap = new HashMap<>();
|
||||
sfMap.put("新疆维吾尔自治区","SQ LIKE '%新疆%'");
|
||||
sfMap.put("海南省","SQ LIKE '%海南%'");
|
||||
sfMap.put("西藏自治区","SQ LIKE '%西藏%'");
|
||||
sfMap.put("一体化","SQ LIKE '%新疆%' OR SQ LIKE '%海南%' OR SQ LIKE '%西藏%'");
|
||||
for (String key : sfMap.keySet()) {
|
||||
// 获取省份简称
|
||||
String abbreviation = SaleUtil.getProvinceAbbreviation(key);
|
||||
// 根据省份value值查询数据
|
||||
String sfSql = sfMap.get(key);
|
||||
String sql = "SELECT CONCAT(YEAR, '-', LPAD(MONTH, 2, '0')) ASyear_month,YEAR(DZRQ) AS year, MONTH(DZRQ) AS month, SUM(CASE WHEN LB_1 = '石膏板' THEN ZSSL ELSE 0 END) AS gypsum_board_sales, SUM(CASE WHEN LB_1 = '轻钢龙骨' THEN ZSSL ELSE 0 END) AS steel_keel_sales, " +
|
||||
" CASE " +
|
||||
" WHEN SUM(CASE WHEN LB_1 = '轻钢龙骨' THEN ZSSL ELSE 0 END) > 0 " +
|
||||
" THEN ROUND(SUM(CASE WHEN LB_1 = '石膏板' THEN ZSSL ELSE 0 END) / " +
|
||||
" SUM(CASE WHEN LB_1 = '轻钢龙骨' THEN ZSSL ELSE 0 END), 4) " +
|
||||
" ELSE 0 " +
|
||||
" END AS gypsum_to_keel_ratio " +
|
||||
" FROM BO_EU_BNBM_DATALINKUP_XS_XSL_HZ " +
|
||||
" WHERE DZRQ >= ? AND BKGS = ? AND ("+sfSql+") AND LB_1 IN ('石膏板', '轻钢龙骨') " +
|
||||
" GROUP BY YEAR(DZRQ), MONTH(DZRQ)" +
|
||||
" ORDER BY year, month";
|
||||
|
||||
List<RowMap> maps = DBSql.getMaps(sql, startDate, bkgs);
|
||||
ArrayList<BO> list = new ArrayList<>();
|
||||
if (maps!=null) {
|
||||
for (RowMap map : maps) {
|
||||
String aSyear_month = map.getString("ASyear_month");
|
||||
BO matchingRateBO = new BO();
|
||||
matchingRateBO.set("YEARMONTH", aSyear_month);
|
||||
matchingRateBO.set("BKGS", bkgs);
|
||||
matchingRateBO.set("GYPSUM_SALES_VOLUME", map.getString("gypsum_board_sales"));
|
||||
matchingRateBO.set("STEEL_SALES_VOLUME", map.getString("steel_keel_sales"));
|
||||
matchingRateBO.set("MATCHING_RATE", map.getString("gypsum_to_keel_ratio"));
|
||||
matchingRateBO.set("SHENGQU", abbreviation);
|
||||
list.add(matchingRateBO);
|
||||
}
|
||||
String querySql =" SELECT " +
|
||||
" DATE_FORMAT(DZRQ, '%Y-%m') AS YEARMONTH, " +
|
||||
" CASE " +
|
||||
" WHEN SQ LIKE '%海南%' THEN '海南' " +
|
||||
" WHEN SQ LIKE '%新疆%' THEN '新疆' " +
|
||||
" WHEN SQ LIKE '%西藏%' THEN '西藏' " +
|
||||
" END AS PROVINCE, " +
|
||||
" SUM(CASE WHEN LB_1 = '石膏板' THEN XSSL ELSE 0 END) AS gypsum_board_sales, " +
|
||||
" SUM(CASE WHEN LB_1 = '轻钢龙骨' THEN ZSSL ELSE 0 END) AS steel_keel_sales " +
|
||||
" FROM BO_EU_BNBM_DATALINKUP_XS_XSL_HZ " +
|
||||
" WHERE " +
|
||||
" (SQ LIKE '%海南%' OR SQ LIKE '%新疆%' OR SQ LIKE '%西藏%') " +
|
||||
" AND DZRQ >= ? " +
|
||||
" AND LB_1 IN ('轻钢龙骨','石膏板') " +
|
||||
" AND BKGS = ? " +
|
||||
" GROUP BY " +
|
||||
" PROVINCE, " +
|
||||
" YEARMONTH " +
|
||||
" ORDER BY " +
|
||||
" YEARMONTH ASC, " +
|
||||
" PROVINCE ASC";
|
||||
List<RowMap> maps = DBSql.getMaps(querySql, startDate, bkgs);
|
||||
ArrayList<BO> list = new ArrayList<>();
|
||||
if (maps!=null) {
|
||||
for (RowMap map : maps) {
|
||||
String year_Month = map.getString("YEARMONTH");
|
||||
String province = map.getString("PROVINCE");
|
||||
BO matchingRateBO = new BO();
|
||||
matchingRateBO.set("YEARMONTH", year_Month);
|
||||
matchingRateBO.set("BKGS", bkgs);
|
||||
matchingRateBO.set("GYPSUM_SALES_VOLUME", map.getString("gypsum_board_sales"));
|
||||
matchingRateBO.set("STEEL_SALES_VOLUME", map.getString("steel_keel_sales"));
|
||||
matchingRateBO.set("SHENGQU", province);
|
||||
list.add(matchingRateBO);
|
||||
}
|
||||
// 保存数据
|
||||
SDK.getBOAPI().createDataBO(MATCHING_RATE_YEAR_TABLE,list,UserContext.fromUID("admin"));
|
||||
}
|
||||
// 保存数据
|
||||
SDK.getBOAPI().createDataBO(MATCHING_RATE_YEAR_TABLE,list,UserContext.fromUID("admin"));
|
||||
LOGGER.info("产品配套率月度累计数据保存成功");
|
||||
} catch (Exception e) {
|
||||
String errorMsg = String.format("产品配套率月度累计数据计算失败: %s", e.getMessage());
|
||||
@ -924,47 +898,60 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
|
||||
private void calculateAndSaveRevenueYear(int year, int month, String yearMonth, String bkgs) {
|
||||
try {
|
||||
LOGGER.info("开始计算{}年{}月营业收入累计数据", year, month);
|
||||
|
||||
// 构造月份的两位格式(如1月转为"01",10月保持"10")
|
||||
String monthStr = String.format("%02d", month);
|
||||
//新增前删除数据
|
||||
int delete = DBSql.update("DELETE FROM " + REVENUE_YEAR_TABLE
|
||||
+ " WHERE YEARMONTH = '" + yearMonth + "' AND BKGS = '"+bkgs+"'");
|
||||
LOGGER.info("准备同步{}年{}月-营业收入累计数据,删除了{}条数据",year, month,delete);
|
||||
|
||||
int lastYear = year - 1;
|
||||
int lastYearMonth = month; // 去年同月
|
||||
|
||||
//分别遍历省份
|
||||
HashMap<String, String> sfMap = new HashMap<>();
|
||||
sfMap.put("新疆维吾尔自治区","SQ LIKE '%新疆%' ");
|
||||
sfMap.put("海南省","SQ LIKE '%海南%' ");
|
||||
sfMap.put("西藏自治区","SQ LIKE '%西藏%' ");
|
||||
sfMap.put("一体化","SQ LIKE '%新疆%' OR SQ LIKE '%海南%' OR SQ LIKE '%西藏%' ");
|
||||
for (String key : sfMap.keySet()) {
|
||||
// 获取省份简称
|
||||
String abbreviation = SaleUtil.getProvinceAbbreviation(key);
|
||||
String sfSql = sfMap.get(key);
|
||||
|
||||
if (bkgs.equals("泰山石膏") || bkgs.equals("梦牌") || bkgs.equals("龙牌")) {
|
||||
// 处理石膏板数据 - 当年当前月
|
||||
saveRevenueYearData(yearMonth, "石膏板",
|
||||
getRevenueToMonth(year, month, "石膏板", bkgs, sfSql),
|
||||
getRevenueToMonth(lastYear, lastYearMonth, "石膏板", bkgs, sfSql),
|
||||
bkgs,abbreviation);
|
||||
//计算轻钢龙骨和石膏板
|
||||
String querySql = "SELECT " +
|
||||
" LB_1, " +
|
||||
" CASE " +
|
||||
" WHEN SQ LIKE '%海南%' THEN '海南' " +
|
||||
" WHEN SQ LIKE '%新疆%' THEN '新疆' " +
|
||||
" WHEN SQ LIKE '%西藏%' THEN '西藏' " +
|
||||
" END 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 >= '" + year + "-" + monthStr + "-01' " +
|
||||
" AND BKGS = ? " +
|
||||
" GROUP BY " +
|
||||
" LB_1, " +
|
||||
" PROVINCE, " +
|
||||
" YEARMONTH " +
|
||||
" ORDER BY " +
|
||||
" YEARMONTH ASC, " +
|
||||
" PROVINCE ASC, " +
|
||||
" LB_1 ASC";
|
||||
List<RowMap> rowMaps = DBSql.getMaps(querySql, bkgs);
|
||||
// 保存数据
|
||||
List<BO> list = new ArrayList<>();
|
||||
for (RowMap rowMap : rowMaps) {
|
||||
BO revenueBO = createBaseBO(bkgs);
|
||||
revenueBO.set("YEARMONTH", yearMonth);
|
||||
String category = rowMap.getString("LB_1");
|
||||
String province = rowMap.getString("PROVINCE");
|
||||
String revenueAmount = rowMap.getString("REVENUE_AMOUNT");
|
||||
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", "其他");
|
||||
}
|
||||
|
||||
// 处理轻钢龙骨数据 - 当年当前月
|
||||
saveRevenueYearData(yearMonth, "轻钢龙骨",
|
||||
getRevenueToMonth(year, month, "轻钢龙骨", bkgs,sfSql),
|
||||
getRevenueToMonth(lastYear, lastYearMonth, "轻钢龙骨", bkgs,sfSql),
|
||||
bkgs,abbreviation);
|
||||
|
||||
// 处理涂料数据 - 当年1月到当前月
|
||||
saveRevenueYearData(yearMonth, "涂料",
|
||||
getRevenueToMonth(year, month, "涂料", bkgs,sfSql),
|
||||
getRevenueToMonth(lastYear, lastYearMonth, "涂料", bkgs,sfSql),
|
||||
bkgs,abbreviation);
|
||||
revenueBO.set("REVENUE_AMOUNT", revenueAmount);
|
||||
revenueBO.set("SHENGQU", province);//省区
|
||||
list.add(revenueBO);
|
||||
}
|
||||
|
||||
SDK.getBOAPI().createDataBO(REVENUE_YEAR_TABLE,list,UserContext.fromUID("admin"));
|
||||
LOGGER.info("营业收入月度累计数据保存成功");
|
||||
} catch (Exception e) {
|
||||
String errorMsg = String.format("营业收入月度累计数据计算失败: %s", e.getMessage());
|
||||
@ -1149,7 +1136,6 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
|
||||
private BigDecimal getRevenueToMonth(int year, int month, String category, String bkgs, String sfSql) {
|
||||
String sql = "SELECT SUM(SSJERMB) AS revenue " +
|
||||
"FROM " + SALES_DETAIL_TABLE + " " +
|
||||
// "WHERE YEAR(DZRQ) = '"+year+"' AND MONTH(DZRQ) BETWEEN 1 AND '"+month+"' AND LB_1 LIKE '%"+category+"%' AND BKGS = '"+bkgs+"'"+
|
||||
"WHERE YEAR(DZRQ) = '"+year+"' AND MONTH(DZRQ) = '"+month+"' AND LB_1 LIKE '%"+category+"%' AND BKGS = '"+bkgs+"'"+
|
||||
"AND ("+sfSql+")"; // 模糊查询
|
||||
double value = DBSql.getDouble(sql, "revenue");
|
||||
@ -1256,7 +1242,6 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
|
||||
throw new RuntimeException(errorMsg, e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建表唯一性条件(基于业务键)
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user