1、9宫格汇总计算定时器
This commit is contained in:
parent
ca7fc95faa
commit
fd9f5942eb
Binary file not shown.
@ -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"));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -149,7 +149,7 @@ public class WaterproofPaintAccountsReceivableJob implements IJob {
|
|||||||
|
|
||||||
// 计算应收余额
|
// 计算应收余额
|
||||||
BigDecimal ysye = qcye.add(ljxs).subtract(ljhk);
|
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);
|
Map<String, BigDecimal> zlfx = calculateMonthlyAgingAnalysis(section, saleOrgUnit, custName, monthEndDate, ysye);
|
||||||
@ -308,8 +308,8 @@ public class WaterproofPaintAccountsReceivableJob implements IJob {
|
|||||||
" WHERE XSZZ = ? AND FCUSTNAME = ? AND DZRQ >= ? AND DZRQ < ?",
|
" WHERE XSZZ = ? AND FCUSTNAME = ? AND DZRQ >= ? AND DZRQ < ?",
|
||||||
saleOrgUnit, custName, startDateStr, endDateStr
|
saleOrgUnit, custName, startDateStr, endDateStr
|
||||||
);
|
);
|
||||||
// LOGGER.info("计算累计销售:SELECT SUM(SSJERMB) as total FROM " + section.getYsdTable() +
|
LOGGER.info("计算累计销售:SELECT SUM(SSJERMB) as total FROM " + section.getYsdTable() +
|
||||||
// " WHERE XSZZ = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND DZRQ >= "+startDateStr+" AND DZRQ < "+endDateStr+"");
|
" WHERE XSZZ = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND DZRQ >= "+startDateStr+" AND DZRQ < "+endDateStr+"");
|
||||||
|
|
||||||
// LOGGER.info("累计销售={}",result != null && result.get("total") != null ?
|
// LOGGER.info("累计销售={}",result != null && result.get("total") != null ?
|
||||||
// new BigDecimal(result.get("total").toString()) : BigDecimal.ZERO);
|
// 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 < ?",
|
" WHERE FSALEORGUNIT = ? AND FCUSTNAME = ? AND FBILLDATE >= ? AND FBILLDATE < ?",
|
||||||
saleOrgUnit, custName, startDateStr, endDateStr
|
saleOrgUnit, custName, startDateStr, endDateStr
|
||||||
);
|
);
|
||||||
// LOGGER.info("计算累计还款:SELECT SUM(FSALEAMOUNTRMB) as total FROM " + section.getSkdTable() +
|
LOGGER.info("计算累计还款:SELECT SUM(FSALEAMOUNTRMB) as total FROM " + section.getSkdTable() +
|
||||||
// " WHERE FSALEORGUNIT = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND FBILLDATE >= "+startDateStr+" AND FBILLDATE < "+endDateStr+"");
|
" WHERE FSALEORGUNIT = "+saleOrgUnit+" AND FCUSTNAME = "+custName+" AND FBILLDATE >= "+startDateStr+" AND FBILLDATE < "+endDateStr+"");
|
||||||
|
|
||||||
BigDecimal skTotal = skResult != null && skResult.get("total") != null ?
|
BigDecimal skTotal = skResult != null && skResult.get("total") != null ?
|
||||||
new BigDecimal(skResult.get("total").toString()) : BigDecimal.ZERO;
|
new BigDecimal(skResult.get("total").toString()) : BigDecimal.ZERO;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user