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

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) { if (zcgj_transset) {
qFilter.and(new QFilter("zcgj_contract", "=", contract.getPkValue()));//入库单运输合同 qFilter.and(new QFilter("zcgj_contract", "=", contract.getPkValue()));//入库单运输合同
qFilter.and(new QFilter("zcgj_notraninvoice", "=", true));//入库单无运费发票 qFilter.and(new QFilter("zcgj_notraninvoice", "=", true));//入库单无运费发票
qFilter.and(new QFilter("zcgj_settlestatus", "=", "0"));//入库单运费已结算
} else { } else {
qFilter.and(new QFilter("contract", "=", contract.getPkValue()));//入库单合同编号 qFilter.and(new QFilter("contract", "=", contract.getPkValue()));//入库单合同编号
qFilter.and(new QFilter("settlestatus", "=", "0"));//入库单已结算
} }
//二开添加 //二开添加
// qFilter.and(new QFilter("contract", "=", contract.getPkValue()));//入库单合同编号//系统代码 // qFilter.and(new QFilter("contract", "=", contract.getPkValue()));//入库单合同编号//系统代码
qFilter.and(new QFilter("period.enddate", "<=", endDate));//入库单结算期间 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("ismeasure", "=", "0"));//入库单已计量
qFilter.and(new QFilter("billstatus", "=", "C"));//入库单单据状态 qFilter.and(new QFilter("billstatus", "=", "C"));//入库单单据状态
return qFilter; return qFilter;

View File

@ -63,6 +63,7 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp {
fields.add("referbilltype"); fields.add("referbilltype");
fields.add("referbillid"); fields.add("referbillid");
fields.add("referbillnumber"); fields.add("referbillnumber");
fields.add("zcgj_transset");
} }
public void onAddValidators(AddValidatorsEventArgs e) { public void onAddValidators(AddValidatorsEventArgs e) {
@ -219,7 +220,7 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp {
if (!materialInBillIds.isEmpty()) { if (!materialInBillIds.isEmpty()) {
filter = new QFilter("id", "in", materialInBillIds); 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) { if (equipmentBill == null || equipmentBill.length == 0) {
continue; continue;
} }
@ -229,11 +230,27 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp {
for (var17 = 0; var17 < var16; ++var17) { for (var17 = 0; var17 < var16; ++var17) {
bill = var15[var17]; bill = var15[var17];
if (StringUtils.equals("audit", operationKey)) { /* if (StringUtils.equals("audit", operationKey)) {
bill.set("settlestatus", "1"); bill.set("settlestatus", "1");
} else { } else {
bill.set("settlestatus", "0"); 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); SaveServiceHelper.save(equipmentBill);

View File

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