diff --git a/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs b/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs index 54559e1..ddf2b46 100644 --- a/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs +++ b/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs @@ -22,6 +22,7 @@ using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; using Kingdee.K3.Core.MFG.EntityHelper; using Kingdee.K3.MFG.App.Util; +using NPOI.Util; using Pilot_KD_Parino.Common; using System; using System.ComponentModel; @@ -57,6 +58,30 @@ namespace Pilot_KD_Parino.Sal_Order var id = FEntity["id"]; string formid = FEntity["FFormId"].ToString(); + + string getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM T_SAL_ORDERENTRY_LK + WHERE FSBILLID = {id} and FSTABLENAME='T_SAL_ORDERENTRY' "; + var dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + + if (dt.Count > 0) + { + throw new KDBusinessException("", "本张销售单已下推跨组织订单,不能用自动功能下推多张跨组织的销售单或采购单:" ); + } + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM T_PUR_ReqEntry_LK + WHERE FSBILLID = {id} and FSTABLENAME='T_SAL_ORDERENTRY' "; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + if (dt.Count > 0) + { + throw new KDBusinessException("", "本张销售单已下推跨组织采购申请单,不能用自动功能下推多张跨组织的销售单或采购单:" ); + } + + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM T_PUR_POORDERENTRY_LK + WHERE FSBILLID = {id} and FSTABLENAME='T_SAL_ORDERENTRY' "; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + if (dt.Count > 0) + { + throw new KDBusinessException("", "本张销售单已下推跨组织采购订单,不能用自动功能下推多张跨组织的销售单或采购单:" ); + } int stockId = 0; @@ -82,7 +107,32 @@ namespace Pilot_KD_Parino.Sal_Order var id = FEntity["id"]; string formid = FEntity["FFormId"].ToString(); - int stockId = 0; + int stockId = 0; + + string getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM T_SAL_ORDERENTRY_LK + WHERE FSBILLID = {id} and FSTABLENAME='T_SAL_ORDERENTRY' "; + var dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + + if (dt.Count > 0) + { + throw new KDBusinessException("", "本张销售单已下推跨组织订单,不能用自动功能下推多张跨组织的销售单或采购单:"); + } + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM T_PUR_ReqEntry_LK + WHERE FSBILLID = {id} and FSTABLENAME='T_SAL_ORDERENTRY' "; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + if (dt.Count > 0) + { + throw new KDBusinessException("", "本张销售单已下推跨组织采购申请单,不能用自动功能下推多张跨组织的销售单或采购单:" ); + } + + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM T_PUR_POORDERENTRY_LK + WHERE FSBILLID = {id} and FSTABLENAME='T_SAL_ORDERENTRY' "; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + if (dt.Count > 0) + { + throw new KDBusinessException("", "本张销售单已下推跨组织采购订单,不能用自动功能下推多张跨组织的销售单或采购单:" ); + } + IOperationResult result = Invoke("SAL_SaleOrder", "SAL_SaleOrder", id.ToString(), "eacb50844fc84a10b03d7b841f3a6278", ref stockId, null, FEntity, 2); //sheet = result.SuccessDataEnity.FirstOrDefault();