1、采购所有板块增加单行金额存值

2、采购汇总都取单行金额值
This commit is contained in:
llllon 2025-09-15 10:37:23 +08:00
parent 2e13af81b8
commit 9ad0d4e039
2 changed files with 121 additions and 119 deletions

View File

@ -184,13 +184,13 @@ public class PurchaseDataSummaryServiceImpl implements DataSummaryService {
} }
detailBO.set("RKDJ", rkdj); // 入库单价 detailBO.set("RKDJ", rkdj); // 入库单价
if ("泰山石膏".equals(bkgs)) { // if ("泰山石膏".equals(bkgs)) {
Double dhje = row.getDouble("DHJE"); Double dhje = row.getDouble("DHJE");
detailBO.set("RKJE", dhje != null ? dhje : 0.0); // 入库金额 detailBO.set("RKJE", dhje != null ? dhje : 0.0); // 入库金额
} else { // } else {
// Double jshjhyf = row.getDouble("JSHJHYF"); //// Double jshjhyf = row.getDouble("JSHJHYF");
detailBO.set("RKJE", jshjhyf != null ? jshjhyf : 0.0); // 入库金额 // detailBO.set("RKJE", jshjhyf != null ? jshjhyf : 0.0); // 入库金额
} // }
detailBO.set("GYS", row.getString("GYSNAME")); // 供应商 detailBO.set("GYS", row.getString("GYSNAME")); // 供应商
detailBO.set("DDBH", row.getString("CGDDH")); // 订单编号 detailBO.set("DDBH", row.getString("CGDDH")); // 订单编号
@ -257,7 +257,7 @@ public class PurchaseDataSummaryServiceImpl implements DataSummaryService {
summaryBO.set("BKGS", bkgs1); summaryBO.set("BKGS", bkgs1);
summaryBO.set("WLMC", wlmc); summaryBO.set("WLMC", wlmc);
summaryBO.set("RQ", djrq); summaryBO.set("RQ", djrq);
if (bkgs1.equals("泰山石膏")){ // if (bkgs1.equals("泰山石膏")){
totalAmount = row.getDouble("tstotalAmount"); totalAmount = row.getDouble("tstotalAmount");
double safeTotalAmount = totalAmount != null ? totalAmount : 0.0; double safeTotalAmount = totalAmount != null ? totalAmount : 0.0;
if (wlmc.equals("乳液") || wlmc.equals("钛白粉") || wlmc.equals("重钙")) { if (wlmc.equals("乳液") || wlmc.equals("钛白粉") || wlmc.equals("重钙")) {
@ -279,29 +279,29 @@ public class PurchaseDataSummaryServiceImpl implements DataSummaryService {
} }
} }
summaryBO.set("CGZE", safeTotalAmount); summaryBO.set("CGZE", safeTotalAmount);
}else { // }else {
totalAmount = row.getDouble("lptotalAmount"); // totalAmount = row.getDouble("lptotalAmount");
double safeTotalAmount = totalAmount != null ? totalAmount : 0.0; // double safeTotalAmount = totalAmount != null ? totalAmount : 0.0;
if (wlmc.equals("乳液") || wlmc.equals("钛白粉") || wlmc.equals("重钙")) { // if (wlmc.equals("乳液") || wlmc.equals("钛白粉") || wlmc.equals("重钙")) {
double adjustedQuantity = safeTotalQuantity / 1000; // double adjustedQuantity = safeTotalQuantity / 1000;
summaryBO.set("CGZL", adjustedQuantity); // summaryBO.set("CGZL", adjustedQuantity);
// 添加除零检查 // // 添加除零检查
if (safeTotalAmount != 0 && adjustedQuantity != 0) { // if (safeTotalAmount != 0 && adjustedQuantity != 0) {
avgPrice = safeTotalAmount / adjustedQuantity; // avgPrice = safeTotalAmount / adjustedQuantity;
} else { // } else {
avgPrice = 0.0; // avgPrice = 0.0;
} // }
} else { // } else {
summaryBO.set("CGZL", safeTotalQuantity); // summaryBO.set("CGZL", safeTotalQuantity);
// 添加除零检查 // // 添加除零检查
if (safeTotalAmount != 0 && safeTotalQuantity != 0) { // if (safeTotalAmount != 0 && safeTotalQuantity != 0) {
avgPrice = safeTotalAmount / safeTotalQuantity; // avgPrice = safeTotalAmount / safeTotalQuantity;
} else { // } else {
avgPrice = 0.0; // avgPrice = 0.0;
} // }
} // }
summaryBO.set("CGZE", safeTotalAmount); // summaryBO.set("CGZE", safeTotalAmount);
} // }
summaryBO.set("PJDJ", avgPrice); summaryBO.set("PJDJ", avgPrice);
bos.add(summaryBO); bos.add(summaryBO);
} }
@ -383,7 +383,7 @@ public class PurchaseDataSummaryServiceImpl implements DataSummaryService {
double avgPrice = 0.0; double avgPrice = 0.0;
double lyavgPrice = 0.0; double lyavgPrice = 0.0;
double lmavgPrice = 0.0; double lmavgPrice = 0.0;
if (bkgs1.equals("泰山石膏")) { // if (bkgs1.equals("泰山石膏")) {
double totalAmount = currentMonthRow.getDouble("tstotalAmount"); double totalAmount = currentMonthRow.getDouble("tstotalAmount");
double lytotalAmount = currentMonthRow.getDouble("ly_tstotalAmount"); double lytotalAmount = currentMonthRow.getDouble("ly_tstotalAmount");
double lmtotalAmount = currentMonthRow.getDouble("lm_tstotalAmount"); double lmtotalAmount = currentMonthRow.getDouble("lm_tstotalAmount");
@ -450,74 +450,75 @@ public class PurchaseDataSummaryServiceImpl implements DataSummaryService {
summaryBO.set("CGZE", totalAmount); summaryBO.set("CGZE", totalAmount);
summaryBO.set("TQCGZE", lytotalAmount); summaryBO.set("TQCGZE", lytotalAmount);
summaryBO.set("SQCGZE", lmtotalAmount); summaryBO.set("SQCGZE", lmtotalAmount);
}else { // }
double totalAmount = currentMonthRow.getDouble("lptotalAmount")==0.0?0.0:currentMonthRow.getDouble("lptotalAmount"); // else {
double lytotalAmount = currentMonthRow.getDouble("ly_lptotalAmount")==0.0?0.0:currentMonthRow.getDouble("ly_lptotalAmount"); // double totalAmount = currentMonthRow.getDouble("lptotalAmount")==0.0?0.0:currentMonthRow.getDouble("lptotalAmount");
double lmtotalAmount = currentMonthRow.getDouble("lm_lptotalAmount")==0.0?0.0:currentMonthRow.getDouble("lm_lptotalAmount"); // double lytotalAmount = currentMonthRow.getDouble("ly_lptotalAmount")==0.0?0.0:currentMonthRow.getDouble("ly_lptotalAmount");
double totalQuantity = 0.00; // double lmtotalAmount = currentMonthRow.getDouble("lm_lptotalAmount")==0.0?0.0:currentMonthRow.getDouble("lm_lptotalAmount");
double lytotalQuantity = 0.00; // double totalQuantity = 0.00;
double lmtotalQuantity = 0.00; // double lytotalQuantity = 0.00;
if (wlmc.equals("乳液") || wlmc.equals("钛白粉") || wlmc.equals("重钙")) { // double lmtotalQuantity = 0.00;
double Quantity = currentMonthRow.getDouble("totalQuantity")==0.0?0.0:currentMonthRow.getDouble("totalQuantity"); // if (wlmc.equals("乳液") || wlmc.equals("钛白粉") || wlmc.equals("重钙")) {
if (Quantity==0.00) { // double Quantity = currentMonthRow.getDouble("totalQuantity")==0.0?0.0:currentMonthRow.getDouble("totalQuantity");
totalQuantity = 0.0; // if (Quantity==0.00) {
}else { // totalQuantity = 0.0;
totalQuantity = BigDecimal.valueOf(Quantity) // }else {
.divide(BigDecimal.valueOf(1000), 4, BigDecimal.ROUND_HALF_UP).doubleValue(); // totalQuantity = BigDecimal.valueOf(Quantity)
} // .divide(BigDecimal.valueOf(1000), 4, BigDecimal.ROUND_HALF_UP).doubleValue();
double lyQuantity = currentMonthRow.getDouble("ly_totalQuantity")==0.0?0.0:currentMonthRow.getDouble("ly_totalQuantity"); // }
if (lyQuantity==0.0){ // double lyQuantity = currentMonthRow.getDouble("ly_totalQuantity")==0.0?0.0:currentMonthRow.getDouble("ly_totalQuantity");
lytotalQuantity = 0.0; // if (lyQuantity==0.0){
}else { // lytotalQuantity = 0.0;
lytotalQuantity = BigDecimal.valueOf(lyQuantity) // }else {
.divide(BigDecimal.valueOf(1000), 4, BigDecimal.ROUND_HALF_UP).doubleValue(); // lytotalQuantity = BigDecimal.valueOf(lyQuantity)
} // .divide(BigDecimal.valueOf(1000), 4, BigDecimal.ROUND_HALF_UP).doubleValue();
double lmQuantity = currentMonthRow.getDouble("lm_totalQuantity")==0.0?0.0:currentMonthRow.getDouble("lm_totalQuantity"); // }
if (lmQuantity==0.0){ // double lmQuantity = currentMonthRow.getDouble("lm_totalQuantity")==0.0?0.0:currentMonthRow.getDouble("lm_totalQuantity");
lmtotalQuantity = 0.0; // if (lmQuantity==0.0){
}else { // lmtotalQuantity = 0.0;
lmtotalQuantity = BigDecimal.valueOf(lmQuantity) // }else {
.divide(BigDecimal.valueOf(1000), 4, BigDecimal.ROUND_HALF_UP).doubleValue(); // lmtotalQuantity = BigDecimal.valueOf(lmQuantity)
} // .divide(BigDecimal.valueOf(1000), 4, BigDecimal.ROUND_HALF_UP).doubleValue();
summaryBO.set("CGZL", totalQuantity); // }
summaryBO.set("TQCGZL", lytotalQuantity); // summaryBO.set("CGZL", totalQuantity);
summaryBO.set("SQCGZL", lmtotalQuantity); // summaryBO.set("TQCGZL", lytotalQuantity);
}else { // summaryBO.set("SQCGZL", lmtotalQuantity);
double Quantity = currentMonthRow.getDouble("totalQuantity")==0.0?0.0:currentMonthRow.getDouble("totalQuantity"); // }else {
double lyQuantity = currentMonthRow.getDouble("ly_totalQuantity")==0.0?0.0:currentMonthRow.getDouble("ly_totalQuantity"); // double Quantity = currentMonthRow.getDouble("totalQuantity")==0.0?0.0:currentMonthRow.getDouble("totalQuantity");
double lmQuantity = currentMonthRow.getDouble("lm_totalQuantity")==0.0?0.0:currentMonthRow.getDouble("lm_totalQuantity"); // double lyQuantity = currentMonthRow.getDouble("ly_totalQuantity")==0.0?0.0:currentMonthRow.getDouble("ly_totalQuantity");
totalQuantity = BigDecimal.valueOf(Quantity).doubleValue(); // double lmQuantity = currentMonthRow.getDouble("lm_totalQuantity")==0.0?0.0:currentMonthRow.getDouble("lm_totalQuantity");
lytotalQuantity = BigDecimal.valueOf(lyQuantity).doubleValue(); // totalQuantity = BigDecimal.valueOf(Quantity).doubleValue();
lmtotalQuantity = BigDecimal.valueOf(lmQuantity).doubleValue(); // lytotalQuantity = BigDecimal.valueOf(lyQuantity).doubleValue();
summaryBO.set("CGZL", totalQuantity); // lmtotalQuantity = BigDecimal.valueOf(lmQuantity).doubleValue();
summaryBO.set("TQCGZL", lytotalQuantity); // summaryBO.set("CGZL", totalQuantity);
summaryBO.set("SQCGZL", lmtotalQuantity); // summaryBO.set("TQCGZL", lytotalQuantity);
} // summaryBO.set("SQCGZL", lmtotalQuantity);
// 添加除数非零检查 // }
if (totalAmount != 0 && totalQuantity != 0) { // // 添加除数非零检查
avgPrice = BigDecimal.valueOf(totalAmount) // if (totalAmount != 0 && totalQuantity != 0) {
.divide(BigDecimal.valueOf(totalQuantity), 2, BigDecimal.ROUND_HALF_UP).doubleValue(); // avgPrice = BigDecimal.valueOf(totalAmount)
} else { // .divide(BigDecimal.valueOf(totalQuantity), 2, BigDecimal.ROUND_HALF_UP).doubleValue();
avgPrice = 0; // } else {
} // avgPrice = 0;
//同期 // }
if (lytotalAmount != 0 && lytotalQuantity != 0) { // //同期
lyavgPrice = BigDecimal.valueOf(lytotalAmount) // if (lytotalAmount != 0 && lytotalQuantity != 0) {
.divide(BigDecimal.valueOf(lytotalQuantity), 2, BigDecimal.ROUND_HALF_UP).doubleValue(); // lyavgPrice = BigDecimal.valueOf(lytotalAmount)
} else { // .divide(BigDecimal.valueOf(lytotalQuantity), 2, BigDecimal.ROUND_HALF_UP).doubleValue();
lyavgPrice = 0; // } else {
} // lyavgPrice = 0;
//上期 // }
if (lmtotalAmount != 0 && lmtotalQuantity != 0) { // //上期
lmavgPrice = BigDecimal.valueOf(lmtotalAmount) // if (lmtotalAmount != 0 && lmtotalQuantity != 0) {
.divide(BigDecimal.valueOf(lmtotalQuantity), 2, BigDecimal.ROUND_HALF_UP).doubleValue(); // lmavgPrice = BigDecimal.valueOf(lmtotalAmount)
} else { // .divide(BigDecimal.valueOf(lmtotalQuantity), 2, BigDecimal.ROUND_HALF_UP).doubleValue();
lmavgPrice = 0; // } else {
} // lmavgPrice = 0;
summaryBO.set("CGZE", totalAmount); // }
summaryBO.set("TQCGZE", lytotalAmount); // summaryBO.set("CGZE", totalAmount);
summaryBO.set("SQCGZE", lmtotalAmount); // summaryBO.set("TQCGZE", lytotalAmount);
} // summaryBO.set("SQCGZE", lmtotalAmount);
// }
summaryBO.set("PJDJ", avgPrice); summaryBO.set("PJDJ", avgPrice);
summaryBO.set("SQPJDJ", lmavgPrice); summaryBO.set("SQPJDJ", lmavgPrice);
summaryBO.set("TQPJDJ", lyavgPrice); summaryBO.set("TQPJDJ", lyavgPrice);
@ -597,7 +598,7 @@ public class PurchaseDataSummaryServiceImpl implements DataSummaryService {
bo.set("BKGS",bkgs);//板块 bo.set("BKGS",bkgs);//板块
bo.set("WLMC",wlmc);//物料名称 bo.set("WLMC",wlmc);//物料名称
bo.set("YEARMONTH",currentMonthRow.getString("ASyear_month"));//年月YYYYMM bo.set("YEARMONTH",currentMonthRow.getString("ASyear_month"));//年月YYYYMM
if (bkgs.equals("泰山石膏")) { // if (bkgs.equals("泰山石膏")) {
Double tstotalAmount = currentMonthRow.getDouble("tstotalAmount"); Double tstotalAmount = currentMonthRow.getDouble("tstotalAmount");
double tstotalAmount1 = tstotalAmount==null?0.0: tstotalAmount; double tstotalAmount1 = tstotalAmount==null?0.0: tstotalAmount;
Double totalQuantity = currentMonthRow.getDouble("totalQuantity"); Double totalQuantity = currentMonthRow.getDouble("totalQuantity");
@ -611,21 +612,22 @@ public class PurchaseDataSummaryServiceImpl implements DataSummaryService {
} }
bo.set("TQCGZE",currentMonthRow.getString("LY_tstotalAmount"));//同期采购总额 bo.set("TQCGZE",currentMonthRow.getString("LY_tstotalAmount"));//同期采购总额
bo.set("SQCGZE",currentMonthRow.getString("LM_tstotalAmount"));//上期采购总额 bo.set("SQCGZE",currentMonthRow.getString("LM_tstotalAmount"));//上期采购总额
}else { // }
Double tstotalAmount = currentMonthRow.getDouble("lptotalAmount"); // else {
double tstotalAmount1 = tstotalAmount==null?0.0: tstotalAmount; // Double tstotalAmount = currentMonthRow.getDouble("lptotalAmount");
Double totalQuantity = currentMonthRow.getDouble("totalQuantity"); // double tstotalAmount1 = tstotalAmount==null?0.0: tstotalAmount;
double totalQuantity1 = totalQuantity==null?0.0: totalQuantity; // Double totalQuantity = currentMonthRow.getDouble("totalQuantity");
bo.set("CGZE", tstotalAmount1);//采购总额 // double totalQuantity1 = totalQuantity==null?0.0: totalQuantity;
bo.set("CGZL",totalQuantity1);//采购总量 // bo.set("CGZE", tstotalAmount1);//采购总额
if (tstotalAmount1!=0 && totalQuantity1!=0) { // bo.set("CGZL",totalQuantity1);//采购总量
bo.set("PJDJ", tstotalAmount1/totalQuantity1);//平均单价 // if (tstotalAmount1!=0 && totalQuantity1!=0) {
}else { // bo.set("PJDJ", tstotalAmount1/totalQuantity1);//平均单价
bo.set("PJDJ", 0);//平均单价 // }else {
} // bo.set("PJDJ", 0);//平均单价
bo.set("TQCGZE",currentMonthRow.getString("LY_lptotalAmount"));//同期采购总额 // }
bo.set("SQCGZE",currentMonthRow.getString("LM_lptotalAmount"));//上期采购总额 // bo.set("TQCGZE",currentMonthRow.getString("LY_lptotalAmount"));//同期采购总额
} // bo.set("SQCGZE",currentMonthRow.getString("LM_lptotalAmount"));//上期采购总额
// }
bo.set("TQCGZL",currentMonthRow.getString("LY_totalQuantity"));//同期采购总量 bo.set("TQCGZL",currentMonthRow.getString("LY_totalQuantity"));//同期采购总量
bo.set("SQCGZL",currentMonthRow.getString("LM_totalQuantity"));//上期采购总量 bo.set("SQCGZL",currentMonthRow.getString("LM_totalQuantity"));//上期采购总量
bos.add(bo); bos.add(bo);

View File

@ -874,8 +874,8 @@ public class PurchaseDataSyncServiceImpl implements DataSyncService {
bo.set("OLDWLMC", wlmc); bo.set("OLDWLMC", wlmc);
} }
// LOGGER.info("采购_入库单汇总,刷新物料名称------物料名称:{},板块公司:{},物料编码:{},入库单位:{},单价:{},物料分类:{}", wlmc, bkgs, wlbm, jldw, djhyf, wlfl); // LOGGER.info("采购_入库单汇总,刷新物料名称------物料名称:{},板块公司:{},物料编码:{},入库单位:{},单价:{},物料分类:{}", wlmc, bkgs, wlbm, jldw, djhyf, wlfl);
if ("泰山石膏".equals(bkgs)) { // if ("泰山石膏".equals(bkgs)) {
// 泰山石膏处理入库单金额 入库数量*含税单价 // 处理入库单金额 入库数量*含税单价
Double rksl = bo.get("RKSL", Double.class);// 入库数量 Double rksl = bo.get("RKSL", Double.class);// 入库数量
Double hsdjhyf = bo.get("HSDJHYF", Double.class);// 含税单价含运费 Double hsdjhyf = bo.get("HSDJHYF", Double.class);// 含税单价含运费
// 处理可能为null的值默认设为0.0 // 处理可能为null的值默认设为0.0
@ -883,7 +883,7 @@ public class PurchaseDataSyncServiceImpl implements DataSyncService {
double safeHsdjhyf = hsdjhyf != null ? hsdjhyf : 0.0; double safeHsdjhyf = hsdjhyf != null ? hsdjhyf : 0.0;
BigDecimal multiply = BigDecimal.valueOf(safeRksl).multiply(BigDecimal.valueOf(safeHsdjhyf)); BigDecimal multiply = BigDecimal.valueOf(safeRksl).multiply(BigDecimal.valueOf(safeHsdjhyf));
bo.set("DHJE", multiply.doubleValue()); bo.set("DHJE", multiply.doubleValue());
} // }
//乳液包装桶钛白粉重钙 只包含 北新防水北新嘉宝莉北新涂料 //乳液包装桶钛白粉重钙 只包含 北新防水北新嘉宝莉北新涂料
// 定义需要检查的物料名称集合 // 定义需要检查的物料名称集合