diff --git a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/tmp/compileJava/previous-compilation-data.bin b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/tmp/compileJava/previous-compilation-data.bin index 6422e3e..7cb37cd 100644 Binary files a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/tmp/compileJava/previous-compilation-data.bin and b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/NineGridCountJob.java b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/NineGridCountJob.java new file mode 100644 index 0000000..65a2bb4 --- /dev/null +++ b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/NineGridCountJob.java @@ -0,0 +1,60 @@ +package com.awspaas.user.apps.bnbm.datalinkup.job; + +import com.actionsoft.bpms.bo.engine.BO; +import com.actionsoft.bpms.commons.database.RowMap; +import com.actionsoft.bpms.schedule.IJob; +import com.actionsoft.bpms.server.UserContext; +import com.actionsoft.bpms.util.DBSql; +import com.actionsoft.sdk.local.SDK; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +/** + * @ClassName: NineGridCountJob + * @Description: 九宫格展示计算汇总 + * @date: 2025/9/25 10:30 + * @Blog: https:// + */ +public class NineGridCountJob implements IJob { + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + LocalDate now = LocalDate.now(); + String nowStr = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + String nowYearMonthStr = now.format(DateTimeFormatter.ofPattern("yyyy-MM")); + LocalDate nowYearFirstDay = now.withDayOfYear(1); + String nowYearFirstDayStr = nowYearFirstDay.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + BO bo = new BO(); + bo.set("YEARMONTH",nowYearMonthStr); + //查询销售数据 + RowMap map = DBSql.getMap("SELECT (SUM(SSJERMB)/10000) AS total_sales_rmb," + + " CASE" + + " WHEN SUM(CASE WHEN LB_1 = '石膏板' THEN XSSL ELSE 0 END) > 0" + + " THEN SUM(CASE WHEN LB_1 = '石膏板' THEN SSJERMB ELSE 0 END) /" + + " SUM(CASE WHEN LB_1 = '石膏板' THEN XSSL ELSE 0 END)" + + " ELSE 0" + + " END AS gypsum_board_avg_price," + + " CASE" + + " WHEN SUM(CASE WHEN LB_1 = '轻钢龙骨' THEN ZSSL ELSE 0 END) > 0" + + " THEN SUM(CASE WHEN LB_1 = '轻钢龙骨' THEN SSJERMB ELSE 0 END) /" + + " SUM(CASE WHEN LB_1 = '轻钢龙骨' THEN ZSSL ELSE 0 END)" + + " ELSE 0" + + " END AS steel_keel_avg_price" + + " FROM BO_EU_BNBM_DATALINKUP_XS_XSL_HZ" + + " WHERE LB_1 IN ('石膏板', '轻钢龙骨') AND DZRQ >= '"+nowYearFirstDayStr+" 00:00:00'"); + bo.set("ZB1",map.getString("total_sales_rmb"));// 销售总额 + //查询采购数据 + 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","");//龙骨产量 + bo.set("ZB7",map.getString("gypsum_board_avg_price"));// 石膏板均价 + bo.set("ZB8",map.getString("steel_keel_avg_price"));// 龙骨均价 + bo.set("ZB9","");//总运费 + SDK.getBOAPI().createDataBO("BO_EU_OA_NINE_GRID",bo, UserContext.fromUID("admin")); + } +} diff --git a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/WaterproofPaintAccountsReceivableJob.java b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/WaterproofPaintAccountsReceivableJob.java index 19aaa06..63daa3d 100644 --- a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/WaterproofPaintAccountsReceivableJob.java +++ b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/WaterproofPaintAccountsReceivableJob.java @@ -149,7 +149,7 @@ public class WaterproofPaintAccountsReceivableJob implements IJob { // 计算应收余额 BigDecimal ysye = qcye.add(ljxs).subtract(ljhk); -// LOGGER.info("计算应收余额={}",ysye.doubleValue()); + LOGGER.info("计算应收余额={}",ysye.doubleValue()); // 计算账龄分析(需要查询历史数据) Map zlfx = calculateMonthlyAgingAnalysis(section, saleOrgUnit, custName, monthEndDate, ysye); @@ -308,8 +308,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 +336,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;