From 874bbce38423ab9301d4e732e13f4165809dc8c5 Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Wed, 5 Nov 2025 18:10:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=A6=E6=88=AA=E7=AC=AC=E4=BA=8C=E6=AC=A1?= =?UTF-8?q?=E4=B8=8B=E6=8E=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sal_Order/PushSaleBillPlugIn.cs | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) 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();