1、防水涂料修改

This commit is contained in:
llllon 2025-09-26 10:04:03 +08:00
parent e72a362077
commit 639f338c38
7 changed files with 40 additions and 25 deletions

View File

@ -48,10 +48,30 @@ public class NineGridCountJob implements IJob {
//查询采购数据
RowMap cgsj = DBSql.getMap("SELECT (SUM(DHJE)/10000) AS JSHJHYF FROM BO_EU_DWD_ORDER_RKD_HZ WHERE DJRQ >= '" + nowYearFirstDayStr + " 00:00:00'");
bo.set("ZB2",cgsj.getString("JSHJHYF"));//采购总额
bo.set("ZB3","");//利润总额
bo.set("ZB4","");//预算完成率
bo.set("ZB5","");//石膏板产量
bo.set("ZB6","");//龙骨产量
//取财务数据
int lastMonthValue = now.minusMonths(1).getMonthValue();
int year = now.minusMonths(1).getYear();
RowMap cwsj = DBSql.getMap("SELECT DNSJLJ FROM BO_EU_CWSJ_INTERFACE_LRZE " +
"WHERE BK = '公司整体' AND DWMC = '合并' AND YEAR = '" + year + "' AND MONTH = '" + lastMonthValue + "'");
bo.set("ZB3",cwsj.getString("DNSJLJ"));//利润总额
//预算完成率
RowMap yswcl = DBSql.getMap("select hz.ysze AS ysze,BUDGETTARGET,(hz.ysze / mb.BUDGETTARGET)*100 AS yewcl " +
" from " +
" (select sum( `BHSYYSR`) / 10000 ysze " +
" from BO_EU_XS_YESR " +
" where `YEARMONTH` >= concat(substring('" + nowYearMonthStr + "', 1, 4), '-01') " +
" and `YEARMONTH` <= '" + nowYearMonthStr + "') hz left join " +
" (select SUM(`BUDGETTARGET`) AS BUDGETTARGET from BO_EU_ANNUAL_BUDGET WHERE YEAR = '" + year + "') mb on 1=1");
bo.set("ZB4",yswcl.getString("yewcl"));//预算完成率
String lastMonth = now.minusMonths(1).format(DateTimeFormatter.ofPattern("yyyy-MM"));
RowMap cl = DBSql.getMap("SELECT YEARS_MONTH," +
" MAX(CASE WHEN PRODEUCT = '石膏板' THEN YTD END) AS SGBYTD," +
" MAX(CASE WHEN PRODEUCT = '轻钢龙骨' THEN YTD END) AS QGLGYTD" +
" FROM BO_EU_CLMXB" +
" WHERE YEARS_MONTH = '" + lastMonth + "' AND GONGCHANG IN ('小计(万㎡)','小计(吨)')" +
" AND PRODEUCT IN ('石膏板', '轻钢龙骨') GROUP BY YEARS_MONTH");
bo.set("ZB5",cl.getString("SGBYTD"));//石膏板产量
bo.set("ZB6",cl.getString("QGLGYTD"));//龙骨产量
bo.set("ZB7",map.getString("gypsum_board_avg_price"));// 石膏板均价
bo.set("ZB8",map.getString("steel_keel_avg_price"));// 龙骨均价
bo.set("ZB9","");//总运费

View File

@ -117,13 +117,8 @@ public class WaterproofPaintAccountsReceivableJob implements IJob {
// 计算该月的日期范围月初到月末或昨天
LocalDate monthStartDate = monthEndDate.withDayOfMonth(1);
LocalDate monthEnd = monthEndDate;
int i =0;
// 遍历每个销售组织-客户组合
for (RowMap row : maps) {
if (i==1){
break;
}
i++;
try {
String manageRegionName = row.getString("QYGS");
String saleOrgUnit = row.getString("XSZZ");
@ -149,7 +144,7 @@ public class WaterproofPaintAccountsReceivableJob implements IJob {
// 计算应收余额
BigDecimal ysye = qcye.add(ljxs).subtract(ljhk);
LOGGER.info("计算应收余额={}",ysye.doubleValue());
// LOGGER.info("计算应收余额={}",ysye.doubleValue());
// 计算账龄分析需要查询历史数据
Map<String, BigDecimal> zlfx = calculateMonthlyAgingAnalysis(section, saleOrgUnit, custName, monthEndDate, ysye);
@ -255,8 +250,8 @@ public class WaterproofPaintAccountsReceivableJob implements IJob {
" WHERE XSZZ = ? AND FCUSTNAME = ? AND DZRQ >= ? AND DZRQ< ?",
saleOrgUnit, custName, startDateStr, endDateStr
);
LOGGER.info("期初余额-应收单总额sql:SELECT SUM(SSJERMB) as total FROM " + section.getYsdTable() +
" WHERE XSZZ = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND DZRQ >= "+startDateStr+" AND DZRQ< "+endDateStr+"");
// LOGGER.info("期初余额-应收单总额sql:SELECT SUM(SSJERMB) as total FROM " + section.getYsdTable() +
// " WHERE XSZZ = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND DZRQ >= "+startDateStr+" AND DZRQ< "+endDateStr+"");
BigDecimal ysTotal = ysResult != null && ysResult.get("total") != null ?
new BigDecimal(ysResult.get("total").toString()) : BigDecimal.ZERO;
@ -267,8 +262,8 @@ public class WaterproofPaintAccountsReceivableJob implements IJob {
" WHERE FSALEORGUNIT = ? AND FCUSTNAME = ? AND FBILLDATE >= ? AND FBILLDATE < ?",
saleOrgUnit, custName, startDateStr, endDateStr
);
LOGGER.info("期初余额-收款单总额sql:SELECT SUM(FSALEAMOUNTRMB) as total FROM " + section.getSkdTable() +
" WHERE FSALEORGUNIT = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND FBILLDATE >= "+startDateStr+" AND FBILLDATE< "+endDateStr+"");
// LOGGER.info("期初余额-收款单总额sql:SELECT SUM(FSALEAMOUNTRMB) as total FROM " + section.getSkdTable() +
// " WHERE FSALEORGUNIT = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND FBILLDATE >= "+startDateStr+" AND FBILLDATE< "+endDateStr+"");
BigDecimal skTotal = skResult != null && skResult.get("total") != null ?
new BigDecimal(skResult.get("total").toString()) : BigDecimal.ZERO;
@ -279,13 +274,13 @@ public class WaterproofPaintAccountsReceivableJob implements IJob {
" WHERE FSALEORGUNIT = ? AND FCUSTNAME = ? AND FBILLDATE >= ? AND FBILLDATE < ?",
saleOrgUnit, custName, startDateStr, endDateStr
);
LOGGER.info("期初余额-收款退款单总额sql:SELECT SUM(FSALEAMOUNTRMB) as total FROM " + section.getSktkdTable() +
" WHERE FSALEORGUNIT = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND FBILLDATE >= "+startDateStr+" AND FBILLDATE< "+endDateStr+"");
// LOGGER.info("期初余额-收款退款单总额sql:SELECT SUM(FSALEAMOUNTRMB) as total FROM " + section.getSktkdTable() +
// " WHERE FSALEORGUNIT = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND FBILLDATE >= "+startDateStr+" AND FBILLDATE< "+endDateStr+"");
BigDecimal sktkTotal = sktkResult != null && sktkResult.get("total") != null ?
new BigDecimal(sktkResult.get("total").toString()) : BigDecimal.ZERO;
LOGGER.info("期初余额:{}",sktkTotal.doubleValue());
// LOGGER.info("期初余额:{}",sktkTotal.doubleValue());
// 期初余额 = 应收单总额 - 收款单总额 + 收款退款单总额
return ysTotal.subtract(skTotal).add(sktkTotal);
@ -308,8 +303,8 @@ public class WaterproofPaintAccountsReceivableJob implements IJob {
" WHERE XSZZ = ? AND FCUSTNAME = ? AND DZRQ >= ? AND DZRQ < ?",
saleOrgUnit, custName, startDateStr, endDateStr
);
LOGGER.info("计算累计销售SELECT SUM(SSJERMB) as total FROM " + section.getYsdTable() +
" WHERE XSZZ = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND DZRQ >= "+startDateStr+" AND DZRQ < "+endDateStr+"");
// LOGGER.info("计算累计销售SELECT SUM(SSJERMB) as total FROM " + section.getYsdTable() +
// " WHERE XSZZ = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND DZRQ >= "+startDateStr+" AND DZRQ < "+endDateStr+"");
// LOGGER.info("累计销售={}",result != null && result.get("total") != null ?
// new BigDecimal(result.get("total").toString()) : BigDecimal.ZERO);
@ -336,8 +331,8 @@ public class WaterproofPaintAccountsReceivableJob implements IJob {
" WHERE FSALEORGUNIT = ? AND FCUSTNAME = ? AND FBILLDATE >= ? AND FBILLDATE < ?",
saleOrgUnit, custName, startDateStr, endDateStr
);
LOGGER.info("计算累计还款:SELECT SUM(FSALEAMOUNTRMB) as total FROM " + section.getSkdTable() +
" WHERE FSALEORGUNIT = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND FBILLDATE >= "+startDateStr+" AND FBILLDATE < "+endDateStr+"");
// LOGGER.info("计算累计还款:SELECT SUM(FSALEAMOUNTRMB) as total FROM " + section.getSkdTable() +
// " WHERE FSALEORGUNIT = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND FBILLDATE >= "+startDateStr+" AND FBILLDATE < "+endDateStr+"");
BigDecimal skTotal = skResult != null && skResult.get("total") != null ?
new BigDecimal(skResult.get("total").toString()) : BigDecimal.ZERO;

View File

@ -448,7 +448,7 @@ public class SaleCountDimensionImpl implements DataSummaryService {
" LB_2, LB_3, SQ, CS, QY, SUM(ZSSL) AS XL," +
" SUM(SSJERMB) AS XE, SUM(XSSL) AS TSXL, SUM(NMNY) AS BHSXE,YEARMONTH" +
" FROM " + SALES_DETAIL_TABLE +
" WHERE DZRQ >= ? AND DZRQ < ? AND BKGS = ?" +
" WHERE DZRQ >= ? AND BKGS = ?" +
" GROUP BY QYGS, KCZZ, " +
" CASE " +
" WHEN BKGS = '龙牌' AND LB_1 IN ('装饰石膏板', '鲁班装饰万能板', '石膏板') THEN '石膏板'" +
@ -471,8 +471,7 @@ public class SaleCountDimensionImpl implements DataSummaryService {
// " t1.YEARMONTH ORDER BY t1.DZRQ, t1.QYGS, t1.KCZZ";
LOGGER.info("销量销额数据查询SQL: {}", querySql);
List<RowMap> maps = DBSql.getMaps(querySql, DATE_FORMAT.format(dateRange.getStartDate()),
DATE_FORMAT.format(dateRange.getEndDate()), bkgs);
List<RowMap> maps = DBSql.getMaps(querySql, DATE_FORMAT.format(dateRange.getStartDate()), bkgs);
if (maps.isEmpty()) {
LOGGER.info("销量销额数据无数据,停止查询");

View File

@ -844,7 +844,8 @@ public class SaleDataSyncServiceImpl implements DataSyncService {
}
if ("北新防水".equals(map.getString("BKGS")) && "".equals(map.getString("F_SFNBJY"))
&& !map.getString("XSZZ").equals("北新防水工程(辽宁)有限公司")
&& !map.getString("XSZZ").equals("北新防水工程(四川)有限公司")){
&& !map.getString("XSZZ").equals("北新防水工程(四川)有限公司")
&& StringUtils.isBlank(map.getString("F_SFNBJY"))){
continue;
}
// 复制所有字段排除系统字段