支出合同结算单运费入库单过滤逻辑优化,审核反审核分写入库单逻辑优化

This commit is contained in:
xuhaihui 2025-11-10 17:19:57 +08:00
parent de37339a5b
commit dafe5814d6
3 changed files with 28 additions and 6 deletions

View File

@ -263,14 +263,16 @@ public class OutContractSettleEditPluginExt extends AbstractBillPlugIn implement
if (zcgj_transset) {
qFilter.and(new QFilter("zcgj_contract", "=", contract.getPkValue()));//入库单运输合同
qFilter.and(new QFilter("zcgj_notraninvoice", "=", true));//入库单无运费发票
qFilter.and(new QFilter("zcgj_settlestatus", "=", "0"));//入库单运费已结算
} else {
qFilter.and(new QFilter("contract", "=", contract.getPkValue()));//入库单合同编号
qFilter.and(new QFilter("settlestatus", "=", "0"));//入库单已结算
}
//二开添加
// qFilter.and(new QFilter("contract", "=", contract.getPkValue()));//入库单合同编号//系统代码
qFilter.and(new QFilter("period.enddate", "<=", endDate));//入库单结算期间
qFilter.and(new QFilter("settlestatus", "=", "0"));//入库单已结算
// qFilter.and(new QFilter("settlestatus", "=", "0"));//入库单已结算//系统代码
qFilter.and(new QFilter("ismeasure", "=", "0"));//入库单已计量
qFilter.and(new QFilter("billstatus", "=", "C"));//入库单单据状态
return qFilter;

View File

@ -63,6 +63,7 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp {
fields.add("referbilltype");
fields.add("referbillid");
fields.add("referbillnumber");
fields.add("zcgj_transset");
}
public void onAddValidators(AddValidatorsEventArgs e) {
@ -219,7 +220,7 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp {
if (!materialInBillIds.isEmpty()) {
filter = new QFilter("id", "in", materialInBillIds);
equipmentBill = BusinessDataServiceHelper.load("ecma_materialinbill", "settlestatus", new QFilter[]{filter});
equipmentBill = BusinessDataServiceHelper.load("ecma_materialinbill", "settlestatus,zcgj_settlestatus", new QFilter[]{filter});
if (equipmentBill == null || equipmentBill.length == 0) {
continue;
}
@ -229,11 +230,27 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp {
for (var17 = 0; var17 < var16; ++var17) {
bill = var15[var17];
if (StringUtils.equals("audit", operationKey)) {
/* if (StringUtils.equals("audit", operationKey)) {
bill.set("settlestatus", "1");
} else {
bill.set("settlestatus", "0");
}*///系统代码
//二开修改
boolean zcgj_transset = dataArr[i].getBoolean("zcgj_transset");//按入库运费结算
if (StringUtils.equals("audit", operationKey)) {
if (zcgj_transset) {
bill.set("zcgj_settlestatus", "1");//运费已结算
} else {
bill.set("settlestatus", "1");
}
} else {
if (zcgj_transset) {
bill.set("zcgj_settlestatus", "0");//运费已结算
} else {
bill.set("settlestatus", "0");
}
}
//二开修改
}
SaveServiceHelper.save(equipmentBill);

View File

@ -1,24 +1,27 @@
package zcgj.zcdev.zcdev.pr.plugin.operate;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.EntityMetadataCache;
import kd.bos.entity.operate.result.OperationResult;
import kd.bos.entity.plugin.AddValidatorsEventArgs;
import kd.bos.entity.plugin.PreparePropertysEventArgs;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
import kd.bos.entity.validate.AbstractValidator;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.ec.basedata.business.model.BaseConstant;
import kd.ec.basedata.common.enums.ReferBillTypeEnum;
import kd.ec.contract.opplugin.OutContractSettleOp;
import kd.ec.contract.opplugin.validator.OutContractSettleValidator;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
public class OutContractSettlementOp extends OutContractSettleOpExt {