合同成本核算自动取数逻辑优化

This commit is contained in:
xuhaihui 2025-11-27 14:16:04 +08:00
parent e957e0a375
commit ddf8cb028a
1 changed files with 22 additions and 0 deletions

View File

@ -639,6 +639,17 @@ public class ContractCostSplitBillPluginExt extends AbstractEccoBillPlugin imple
for (int var19 = 0; var19 < var18; ++var19) {
DynamicObject settleBill = var17[var19];
settleBill = BusinessDataServiceHelper.loadSingle(settleBill.getPkValue(), "ec_out_contract_settle");
//二开添加
DynamicObject period1 = settleBill.getDynamicObject("period");
if (period1 != null) {
QFilter filter = new QFilter("zcgj_notinperiod.fbasedataid", QCP.in, period1.getPkValue());
filter.and(new QFilter("number", QCP.equals, "001"));
DynamicObject zcgj_costperiod = QueryServiceHelper.queryOne("zcgj_costperiod", "id", new QFilter[]{filter});//成本期间范围
if (zcgj_costperiod != null) {
continue;
}
}
//二开添加
BigDecimal historySplitAmount = (BigDecimal) settleSplitAmountMap.get(settleBill.getLong("id"));
historySplitAmount = historySplitAmount == null ? BigDecimal.ZERO : historySplitAmount;
BigDecimal exchangeRate = this.getBillExchangeRate(settleBill);
@ -789,6 +800,17 @@ public class ContractCostSplitBillPluginExt extends AbstractEccoBillPlugin imple
for (int var64 = 0; var64 < var65; ++var64) {
DynamicObject measureBill = var62[var64];
measureBill = BusinessDataServiceHelper.loadSingle(measureBill.getPkValue(), "ec_outcontractmeasure");
//二开添加
DynamicObject period1 = measureBill.getDynamicObject("period");
if (period1 != null) {
QFilter filter = new QFilter("zcgj_notinperiod.fbasedataid", QCP.in, period1.getPkValue());
filter.and(new QFilter("number", QCP.equals, "001"));
DynamicObject zcgj_costperiod = QueryServiceHelper.queryOne("zcgj_costperiod", "id", new QFilter[]{filter});//成本期间范围
if (zcgj_costperiod != null) {
continue;
}
}
//二开添加
if (!measureBill.getBoolean("issettled")) {
noSettleMeasureBills.add(measureBill);
}