diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractTreeListExtPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractTreeListExtPlugin.java new file mode 100644 index 0000000..b8553a1 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractTreeListExtPlugin.java @@ -0,0 +1,22 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.ec.contract.formplugin.ContractTreeListingPlugin; + +public class ContractTreeListExtPlugin extends ContractTreeListingPlugin { + @Override + protected void listingShowCloumn(String listModelId) { + super.listingShowCloumn(listModelId); + Object contractType = this.getModel().getValue("contracttype"); + if(contractType != null) { + DynamicObject dynamicObject = (DynamicObject) contractType; + String number = dynamicObject.getString("number"); + if(number .equals("wzcg01")||number.equals("sbcg")||number.equals("jjfb")) { + this.getView().setVisible(false, new String[]{"treecbsnumber", "treecbsname","cbs"}); + this.getView().setEnable(false,"isincost"); + this.getModel().setValue("isincost",false); + } + } + + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFromPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFromPlugin.java index 3f6d388..48a37a3 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFromPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFromPlugin.java @@ -19,62 +19,59 @@ public class OutContractFromPlugin extends AbstractBillPlugIn implements Plugin private String entryName = "treelistentry";//分录标识 private String ecContract = "incontract";// + @Override public void propertyChanged(PropertyChangedArgs e) { super.propertyChanged(e); String changeName = e.getProperty().getName(); - if(changeName.equals(ecContract)){//收入合同字段值改变 + if (changeName.equals(ecContract)) {//收入合同字段值改变 Object outC = this.getModel().getValue(ecContract); - if(outC!=null){ + if (outC != null) { DynamicObject contractF7 = (DynamicObject) outC; String paydirection = contractF7.getString("paydirection");//支出/收入 String contractNumber = contractF7.getString("number");//获取收入合同合同清单 - if(paydirection.equals("in")){ - QFilter f1 = new QFilter("billno", "=", contractNumber); - DynamicObject inContract = BusinessDataServiceHelper.loadSingle("ec_in_contract", new QFilter[]{f1}); - DynamicObjectCollection listmodelentry = inContract.getDynamicObjectCollection("listmodelentry"); - for (int x = 0; x < listmodelentry.size(); x++ ) { - DynamicObject dynamicObject = listmodelentry.get(x); - DynamicObjectCollection listmodelentry1 = this.getModel().getEntryEntity("listmodelentry"); - DynamicObjectType dynamicObjectType = listmodelentry1.getDynamicObjectType(); - ORM orm = ORM.create(); - long listingid = orm.genLongId(dynamicObjectType); - int entryRow = this.getModel().insertEntryRow("listmodelentry", x); - this.getModel().setValue("modelname",dynamicObject.getString("modelname"),entryRow); - this.getModel().setValue("cmptype",dynamicObject.getString("cmptype"),entryRow); - this.getModel().setValue("rowamount",dynamicObject.getString("rowamount"),entryRow); - this.getModel().setValue("rowtax",dynamicObject.getString("rowtax"),entryRow); - this.getModel().setValue("rowoftax",dynamicObject.getString("rowoftax"),entryRow); - this.getModel().setValue("listmodelid",listingid,entryRow); - DynamicObjectCollection sublistentry = dynamicObject.getDynamicObjectCollection("sublistentry"); - for (int i = 0; i < sublistentry.size(); i++) { - DynamicObject object = sublistentry.get(i); - int row = this.getModel().insertEntryRow("sublistentry", i); - this.getModel().setValue("sublistmodelid",listingid,row); - this.getModel().setValue("sysnumber",object.getString("sysnumber"),row); - this.getModel().setValue("listnumber",object.getString("listnumber"),row); - this.getModel().setValue("listname",object.getString("listname"),row); - this.getModel().setValue("resourceitem",object.getString("resourceitem"),row); - this.getModel().setValue("measureunit",object.getDynamicObject("measureunit"),row); - this.getModel().setValue("qty",object.getBigDecimal("qty"),row); - this.getModel().setValue("price",object.getBigDecimal("price"),row); - this.getModel().setValue("amount",object.getBigDecimal("amount"),row); - this.getModel().setValue("rateobj",object.getDynamicObject("rateobj"),row); - this.getModel().setValue("tax",object.getBigDecimal("tax"),row); - this.getModel().setValue("taxprice",object.getBigDecimal("taxprice"),row); - this.getModel().setValue("oftax",object.getBigDecimal("oftax"),row); - this.getModel().setValue("listunitproject",object.getDynamicObject("listunitproject"),row); - this.getModel().setValue("desc",object.getString("desc"),row); - } - } - this.getView().updateView("listmodelentry"); - this.getView().updateView("treelistentry"); - } else if (paydirection.equals("out")) { - + if (paydirection.equals("in")) { +// QFilter f1 = new QFilter("billno", "=", contractNumber); +// DynamicObject inContract = BusinessDataServiceHelper.loadSingle("ec_in_contract", new QFilter[]{f1}); +// DynamicObjectCollection listmodelentry = inContract.getDynamicObjectCollection("listmodelentry"); +// for (int x = 0; x < listmodelentry.size(); x++ ) { +// DynamicObject dynamicObject = listmodelentry.get(x); +// DynamicObjectCollection listmodelentry1 = this.getModel().getEntryEntity("listmodelentry"); +// DynamicObjectType dynamicObjectType = listmodelentry1.getDynamicObjectType(); +// ORM orm = ORM.create(); +// long listingid = orm.genLongId(dynamicObjectType); +// int entryRow = this.getModel().insertEntryRow("listmodelentry", x); +// this.getModel().setValue("modelname",dynamicObject.getString("modelname"),entryRow); +// this.getModel().setValue("cmptype",dynamicObject.getString("cmptype"),entryRow); +// this.getModel().setValue("rowamount",dynamicObject.getString("rowamount"),entryRow); +// this.getModel().setValue("rowtax",dynamicObject.getString("rowtax"),entryRow); +// this.getModel().setValue("rowoftax",dynamicObject.getString("rowoftax"),entryRow); +// this.getModel().setValue("listmodelid",listingid,entryRow); +// DynamicObjectCollection sublistentry = dynamicObject.getDynamicObjectCollection("sublistentry"); +// for (int i = 0; i < sublistentry.size(); i++) { +// DynamicObject object = sublistentry.get(i); +// int row = this.getModel().insertEntryRow("sublistentry", i); +// this.getModel().setValue("sublistmodelid",listingid,row); +// this.getModel().setValue("sysnumber",object.getString("sysnumber"),row); +// this.getModel().setValue("listnumber",object.getString("listnumber"),row); +// this.getModel().setValue("listname",object.getString("listname"),row); +// this.getModel().setValue("resourceitem",object.getString("resourceitem"),row); +// this.getModel().setValue("measureunit",object.getDynamicObject("measureunit"),row); +// this.getModel().setValue("qty",object.getBigDecimal("qty"),row); +// this.getModel().setValue("price",object.getBigDecimal("price"),row); +// this.getModel().setValue("amount",object.getBigDecimal("amount"),row); +// this.getModel().setValue("rateobj",object.getDynamicObject("rateobj"),row); +// this.getModel().setValue("tax",object.getBigDecimal("tax"),row); +// this.getModel().setValue("taxprice",object.getBigDecimal("taxprice"),row); +// this.getModel().setValue("oftax",object.getBigDecimal("oftax"),row); +// this.getModel().setValue("listunitproject",object.getDynamicObject("listunitproject"),row); +// this.getModel().setValue("desc",object.getString("desc"),row); } - } + this.getView().updateView("listmodelentry"); + this.getView().updateView("treelistentry"); } +// this.getView().setVisible(false, new String[]{"treelistunitproject", "treelistunitprojectname"}); +// this.getView().setVisible(false,""); } - -} \ No newline at end of file +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractMeasureBillEditExtPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractMeasureBillEditExtPlugin.java new file mode 100644 index 0000000..de322b9 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractMeasureBillEditExtPlugin.java @@ -0,0 +1,22 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.form.field.BasedataEdit; +import kd.ec.contract.formplugin.OutContractMeasureBillEditPlugin; + +public class OutContractMeasureBillEditExtPlugin extends OutContractMeasureBillEditPlugin { + @Override + protected void controlCostMustInput() { + super.controlCostMustInput(); + DynamicObject contract = this.getModel().getDataEntity().getDynamicObject("contract"); + String number = contract.getDynamicObject("contracttype").getString("number"); + if (number .equals("wzcg01")||number.equals("sbcg")||number.equals("jjfb")){ + BasedataEdit basedataEdit = (BasedataEdit)this.getControl("listcbs"); + basedataEdit.setMustInput(false); + basedataEdit = (BasedataEdit)this.getControl("cbs"); + basedataEdit.setMustInput(false); + this.getView().setVisible(false,"listcbs"); + this.getView().setVisible(false,"cbs"); + } + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/InContractSettlementValidator.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/InContractSettlementValidator.java index a5ea3cc..a59edf5 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/InContractSettlementValidator.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/InContractSettlementValidator.java @@ -26,18 +26,18 @@ public class InContractSettlementValidator extends InContractSettleValidator { if (contractTemp == null) { return; } - DynamicObjectCollection itementry = dataEntity.getDataEntity().getDynamicObjectCollection("itementry"); - if (itementry != null) { - if (itementry.size() == 0) { - this.addErrorMessage(dataEntity, ResManager.loadKDString("支付合同项不能为空", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0])); - } - BigDecimal amount = new BigDecimal(0); - for (DynamicObject object : itementry) { - BigDecimal oftaxamount = object.getBigDecimal("oftaxamount"); - amount = amount.add(oftaxamount); - } - if (amount.compareTo(new BigDecimal(0)) <= 0) { - this.addErrorMessage(dataEntity, ResManager.loadKDString("支付合同项分录中的金额不能为空!", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0])); +// DynamicObjectCollection itementry = dataEntity.getDataEntity().getDynamicObjectCollection("itementry"); +// if (itementry != null) { +// if (itementry.size() == 0) { +// this.addErrorMessage(dataEntity, ResManager.loadKDString("支付合同项不能为空", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0])); +// } +// BigDecimal amount = new BigDecimal(0); +// for (DynamicObject object : itementry) { +// BigDecimal oftaxamount = object.getBigDecimal("oftaxamount"); +// amount = amount.add(oftaxamount); +// } + if (settleOfTaxAmount.compareTo(new BigDecimal(0)) <= 0) { + this.addErrorMessage(dataEntity, ResManager.loadKDString("支付合同项分录不能为空或支付合同项分录中的金额不能为空!", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0])); } DynamicObject contract = BusinessDataServiceHelper.loadSingle(dataEntity.getDataEntity().getDynamicObject("contract").getPkValue(), "ec_in_contract"); BigDecimal totalSettleOfTaxAmount = contract.getBigDecimal("totalsettleoftaxamount"); @@ -49,7 +49,7 @@ public class InContractSettlementValidator extends InContractSettleValidator { contractAttr = BusinessDataServiceHelper.loadSingle(contractAttr.getPkValue(), "ec_contattr"); validateAmount = !StringUtils.equals("09", contractAttr.getString("basictype")); } - } +// } // DynamicObjectCollection payitemdetailap = incontractsettle.getDynamicObjectCollection("payitemdetailap"); // if (validateAmount && settleOfTaxAmount.compareTo(totalOfTaxAmount.subtract(totalSettleOfTaxAmount)) > 0) { // this.addErrorMessage(dataEntity, ResManager.loadKDString("本期结算价税合计不能大于合同剩余金额价税合计", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0])); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettlementValidator.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettlementValidator.java index 15a0e0c..099f206 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettlementValidator.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettlementValidator.java @@ -18,17 +18,17 @@ public class OutContractSettlementValidator extends OutContractSettleValidator { BigDecimal settleOfTaxAmount = dataEntity.getDataEntity().getBigDecimal("settleoftaxamount"); DynamicObject contractTemp = dataEntity.getDataEntity().getDynamicObject("contract"); - DynamicObjectCollection itementry = dataEntity.getDataEntity().getDynamicObjectCollection("itementry"); - if (itementry.isEmpty()) { - this.addErrorMessage(dataEntity, ResManager.loadKDString("支付合同项不能为空", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0])); - } - BigDecimal amount = new BigDecimal(0); - for (DynamicObject object : itementry) { - BigDecimal oftaxamount = object.getBigDecimal("oftaxamount"); - amount = amount.add(oftaxamount); - } - if (amount.compareTo(new BigDecimal(0)) <= 0) { - this.addErrorMessage(dataEntity, ResManager.loadKDString("支付合同项分录中的金额不能为空!", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0])); +// DynamicObjectCollection itementry = dataEntity.getDataEntity().getDynamicObjectCollection("itementry"); +// if (itementry.isEmpty()) { +// this.addErrorMessage(dataEntity, ResManager.loadKDString("支付合同项不能为空", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0])); +// } +// BigDecimal amount = new BigDecimal(0); +// for (DynamicObject object : itementry) { +// BigDecimal oftaxamount = object.getBigDecimal("oftaxamount"); +// amount = amount.add(oftaxamount); +// } + if (settleOfTaxAmount.compareTo(new BigDecimal(0)) <= 0) { + this.addErrorMessage(dataEntity, ResManager.loadKDString("支付合同项分录不能为空或支付合同项分录中的金额不能为空!", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0])); } if (contractTemp == null) { this.addErrorMessage(dataEntity, ResManager.loadKDString("合同不可为空。", "OutContractSettleValidator_5", "ec-contract-opplugin", new Object[0]));