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

View File

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