diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleEditPluginExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleEditPluginExt.java index d870a07..e5a4d25 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleEditPluginExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleEditPluginExt.java @@ -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; diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleOpExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleOpExt.java index 5e993b5..a80319d 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleOpExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleOpExt.java @@ -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); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettlementOp.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettlementOp.java index d4fd898..54f0f8c 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettlementOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettlementOp.java @@ -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 {