diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java index 2e44e4f..e6605a3 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java @@ -60,6 +60,7 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement getModel().setValue("zcgj_contract",ecincontractsettle.getDynamicObject("contract")); getModel().setValue("zcgj_contattr",ecincontractsettle.getDynamicObject("contattr")); getModel().setValue("zcgj_project",ecincontractsettle.getDynamicObject("project")); + getModel().setValue("zcgj_org",ecincontractsettle.getDynamicObject("project").getDynamicObject("projectorg")); getModel().setValue("zcgj_period",ecincontractsettle.getDynamicObject("period")); getModel().setValue("zcgj_begindate",ecincontractsettle.getDate("begindate")); getModel().setValue("zcgj_enddate",ecincontractsettle.getDate("enddate")); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractSettleInvalidListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractSettleInvalidListPlugin.java index 9d123c8..414dd5b 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractSettleInvalidListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractSettleInvalidListPlugin.java @@ -50,19 +50,26 @@ public class InContractSettleInvalidListPlugin extends AbstractListPlugin implem if(data.getBoolean("zcgj_is_invalid")){ this.getView().showTipNotification(String.format("当前结算单为作废单据,无法再次作废。")); return; - }else if(data.getBoolean("zcgj_is_reversabillid")){ - this.getView().showTipNotification(String.format("当前结算单为冲销单据,无法作废。")); - return; }else{ this.getView().showTipNotification(String.format("当前结算单已作废,无法再次作废。")); return; } }else{ + QFilter reversaBillFilter = new QFilter("zcgj_reversabillid", QCP.equals,String.valueOf(contractSettleId)); + DynamicObject reversaData = BusinessDataServiceHelper.loadSingle("ec_out_contract_settle", "id,number,zcgj_is_reversabillid", new QFilter[]{reversaBillFilter}); + if(reversaData != null){ + this.getView().showTipNotification(String.format("当前结算单已被冲销,无法作废。")); + return; + } + QFilter idFilter = new QFilter("id", QCP.equals,contractSettleId); - DynamicObject selectData = BusinessDataServiceHelper.loadSingle("ec_in_contract_settle", "id,number,zcgj_is_invalid", new QFilter[]{idFilter}); + DynamicObject selectData = BusinessDataServiceHelper.loadSingle("ec_in_contract_settle", "id,number,zcgj_is_invalid,zcgj_is_reversabillid", new QFilter[]{idFilter}); if(selectData.getBoolean("zcgj_is_invalid")){ this.getView().showTipNotification(String.format("当前为作废单据,无法再次作废。")); return; + }else if(selectData.getBoolean("zcgj_is_reversabillid")){ + this.getView().showTipNotification(String.format("当前结算单为冲销单据,无法作废。")); + return; } showParameter.setCustomParam("invalidbillid", contractSettleId); //showParameter.setPkId(contractSettleId); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java index 8c53965..4be8394 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java @@ -67,6 +67,8 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme getModel().setValue("zcgj_contract",contract); getModel().setValue("zcgj_contattr",ecoutcontractsettle.getDynamicObject("contattr")); getModel().setValue("zcgj_project",ecoutcontractsettle.getDynamicObject("project")); + getModel().setValue("zcgj_org",ecoutcontractsettle.getDynamicObject("project").getDynamicObject("projectorg")); + getModel().setValue("zcgj_period",ecoutcontractsettle.getDynamicObject("period")); getModel().setValue("zcgj_begindate",ecoutcontractsettle.getDate("begindate")); getModel().setValue("zcgj_enddate",ecoutcontractsettle.getDate("enddate")); @@ -207,7 +209,10 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme BigDecimal bccxamtAll = BigDecimal.ZERO; for (DynamicObject outcontractmeasure : outcontractmeasures) { for (DynamicObject dynamicObject : outcontractmeasure.getDynamicObjectCollection("zcgj_itementry")) { - bccxamtAll =bccxamtAll.add(dynamicObject.getBigDecimal("zcgj_bccxamt")); + BigDecimal bccxamt = dynamicObject.getBigDecimal("zcgj_bccxamt"); + if(bccxamt != null){ + bccxamtAll = bccxamtAll.add(bccxamt); + } } } return bccxamtAll; diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleInvalidListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleInvalidListPlugin.java index c2adc07..e4198f9 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleInvalidListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleInvalidListPlugin.java @@ -46,23 +46,30 @@ public class OutContractSettleInvalidListPlugin extends AbstractListPlugin imple String billNo = selectedRow.getBillNo(); QFilter accountTableFilter = new QFilter("zcgj_invalidbillid", QCP.equals,String.valueOf(contractSettleId)); DynamicObject data = BusinessDataServiceHelper.loadSingle("ec_out_contract_settle", "id,number,zcgj_is_invalid", new QFilter[]{accountTableFilter}); - if(data != null){ //财务确认单 + if(data != null){ //支出合同结算单 if(data.getBoolean("zcgj_is_invalid")){ this.getView().showTipNotification(String.format("当前结算单为作废单据,无法再次作废。")); return; - }else if(data.getBoolean("zcgj_is_reversabillid")){ - this.getView().showTipNotification(String.format("当前结算单为冲销单据,无法作废。")); - return; }else{ this.getView().showTipNotification(String.format("当前结算单已作废,无法再次作废。")); return; } }else{ + QFilter reversaBillFilter = new QFilter("zcgj_reversabillid", QCP.equals,String.valueOf(contractSettleId)); + DynamicObject reversaData = BusinessDataServiceHelper.loadSingle("ec_out_contract_settle", "id,number,zcgj_is_reversabillid", new QFilter[]{reversaBillFilter}); + if(reversaData != null){ + this.getView().showTipNotification(String.format("当前结算单已被冲销,无法作废。")); + return; + } + QFilter idFilter = new QFilter("id", QCP.equals,contractSettleId); - DynamicObject selectData = BusinessDataServiceHelper.loadSingle("ec_out_contract_settle", "id,number,zcgj_is_invalid", new QFilter[]{idFilter}); + DynamicObject selectData = BusinessDataServiceHelper.loadSingle("ec_out_contract_settle", "id,number,zcgj_is_invalid,zcgj_is_reversabillid", new QFilter[]{idFilter}); if(selectData.getBoolean("zcgj_is_invalid")){ this.getView().showTipNotification(String.format("当前为作废单据,无法再次作废。")); return; + }else if(selectData.getBoolean("zcgj_is_reversabillid")){ + this.getView().showTipNotification(String.format("当前结算单为冲销单据,无法作废。")); + return; } showParameter.setCustomParam("invalidbillid", contractSettleId); //showParameter.setPkId(contractSettleId); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleReversalListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleReversalListPlugin.java index 4b6c8fb..22c435b 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleReversalListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractSettleReversalListPlugin.java @@ -50,12 +50,23 @@ public class OutContractSettleReversalListPlugin extends AbstractListPlugin impl this.getView().showTipNotification(String.format("当前结算单已冲销,无法再次冲销。")); return; }else{ + QFilter invalidTableFilter = new QFilter("zcgj_invalidbillid", QCP.equals,String.valueOf(contractSettleId)); + DynamicObject invalidData = BusinessDataServiceHelper.loadSingle("ec_out_contract_settle", "id,number,zcgj_is_invalid", new QFilter[]{invalidTableFilter}); + if(invalidData!=null){ + this.getView().showTipNotification(String.format("当前结算单已被作废,无法冲销。")); + return; + } + QFilter idFilter = new QFilter("id", QCP.equals,contractSettleId); - DynamicObject selectData = BusinessDataServiceHelper.loadSingle("ec_out_contract_settle", "id,number,zcgj_is_reversabillid", new QFilter[]{idFilter}); + DynamicObject selectData = BusinessDataServiceHelper.loadSingle("ec_out_contract_settle", "id,number,zcgj_is_invalid,zcgj_is_reversabillid", new QFilter[]{idFilter}); if(selectData.getBoolean("zcgj_is_reversabillid")){ this.getView().showTipNotification(String.format("当前为冲销单据,无法再次冲销。")); return; + }else if(selectData.getBoolean("zcgj_is_invalid")){ + this.getView().showTipNotification(String.format("当前为作废单据,无法再冲销。")); + return; } + showParameter.setCustomParam("reversabillid", contractSettleId); //showParameter.setPkId(contractSettleId); showParameter.setFormId("ec_out_contract_settle"); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/OutContractSettleReversalWorkFlowPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/OutContractSettleReversalWorkFlowPlugin.java index fb4a1bc..6aaf18a 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/OutContractSettleReversalWorkFlowPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/OutContractSettleReversalWorkFlowPlugin.java @@ -36,7 +36,7 @@ public class OutContractSettleReversalWorkFlowPlugin implements IWorkflowPlugin inContractSettle.set("contract",contractInfo); inContractSettle.set("org", outContractSettle.getDynamicObject("org")); inContractSettle.set("billstatus","C"); - inContractSettle.set("zcgj_org",outContractSettle.getDynamicObject("org")); + inContractSettle.set("org",outContractSettle.getDynamicObject("org")); inContractSettle.set("begindate",outContractSettle.getDate("begindate")); inContractSettle.set("enddate",outContractSettle.getDate("enddate")); inContractSettle.set("period",outContractSettle.getDynamicObject("period"));