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

This commit is contained in:
xuhaihui 2025-12-04 15:05:15 +08:00
parent c51f8b4850
commit 8634e98e28
1 changed files with 3 additions and 2 deletions

View File

@ -621,13 +621,14 @@ public class ContractCostSplitBillPluginExt extends AbstractEccoBillPlugin imple
DynamicObject period = (DynamicObject) this.getModel().getValue("period");
QFilter projectFilter = new QFilter("project", "=", project.getPkValue());
QFilter periodFilter = new QFilter("enddate", "<=", this.getLastTimeOfDay(period.getDate("enddate")));
QFilter periodFilter2 = new QFilter("period.enddate", "<=", this.getLastTimeOfDay(period.getDate("enddate")));//二开添加
QFilter typeFilter = new QFilter("contattr.basictype", "!=", "02");
QFilter commonFilter = new QFilter("billstatus", "=", BillStatusEnum.AUDIT.getValue());
QFilter payDirectionFilter = new QFilter("paydirection", "=", PayDirectionEnum.OUT.getValue());
QFilter isInCostFilter = new QFilter("contract.isincost", "=", true);
QFilter splitCompletedFilter = new QFilter("isincost", "=", "0");
Map<String, QFilter> onWayFilter = this.getOnWayFilter();
DynamicObject[] settleBills = BusinessDataServiceHelper.load("ec_out_contract_settle", "id", new QFilter[]{projectFilter, periodFilter, commonFilter, payDirectionFilter, typeFilter, isInCostFilter, splitCompletedFilter, (QFilter) onWayFilter.get(SplitBillTypeEnum.SETTLE.getValue())});
DynamicObject[] settleBills = BusinessDataServiceHelper.load("ec_out_contract_settle", "id", new QFilter[]{projectFilter, periodFilter, periodFilter2, commonFilter, payDirectionFilter, typeFilter, isInCostFilter, splitCompletedFilter, (QFilter) onWayFilter.get(SplitBillTypeEnum.SETTLE.getValue())});
Set<Long> splitMeasureIds = new HashSet(16);
DynamicObjectCollection entries = this.getModel().getEntryEntity("entryentity");
DynamicObjectType entryDT = entries.getDynamicObjectType();
@ -792,7 +793,7 @@ public class ContractCostSplitBillPluginExt extends AbstractEccoBillPlugin imple
HashMap<Long, BigDecimal> measureSplitedAmountMap = this.getHistorySplitAmount(true);
QFilter splitMeasureFilter = new QFilter(OutContractMeasureConstant.ID_ENTITY_PK, "not in", splitMeasureIds);
QFilter[] measureFilters = new QFilter[]{projectFilter, periodFilter, commonFilter, payDirectionFilter, typeFilter, isInCostFilter, splitMeasureFilter, splitCompletedFilter, (QFilter) onWayFilter.get(SplitBillTypeEnum.MEASURE.getValue())};
QFilter[] measureFilters = new QFilter[]{projectFilter, periodFilter,periodFilter2, commonFilter, payDirectionFilter, typeFilter, isInCostFilter, splitMeasureFilter, splitCompletedFilter, (QFilter) onWayFilter.get(SplitBillTypeEnum.MEASURE.getValue())};
DynamicObject[] measureBills = BusinessDataServiceHelper.load("ec_outcontractmeasure", "id", measureFilters);
List<DynamicObject> noSettleMeasureBills = new ArrayList();
Map<String, String> enterpriseCbsMap = this.getEnterpriseCbsMap();