diff --git a/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs b/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs index b4c3bf0..21bd1a1 100644 --- a/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs +++ b/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs @@ -31,8 +31,189 @@ namespace Pilot_KD_Parino.Sal_Order { base.AfterBarItemClick(e); + { + // //备货组织操作备货组织的发货出库单跨组织下推 + // if (e.BarItemKey.Equals("tbPushSalOut111", StringComparison.OrdinalIgnoreCase)) + // { + + // var FEntity = this.View.Model.DataObject; + // var id = FEntity["id"]; + // string formid = FEntity["FFormId"].ToString(); + // //var detailList = (FEntity["SAL_DELIVERYNOTICEENTRY"]); + + // //发货通知单或者发货出库单 + // string getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM dbo.T_{formid}ENTRY_LK + // WHERE FENTRYID IN ( SELECT FENTRYID FROM dbo.T_{formid}ENTRY WHERE FID = {id})"; + // var dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + // if (dt == null || dt.Count == 0) + // { + // this.View.ShowMessage("没有上查关联的发货通知单"); + // } + // int tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + // string tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + // int xiaoFid = 0; + // //找到采购订单 + // for (int kk = 0; kk < 6 && tablename.ToUpper() != "T_PUR_POORDERENTRY"; kk++) + // { + // ////发货通知单 + // tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + // string tempTable = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + // getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk + // WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})"; + // //dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + // //if (dt == null || dt.Count == 0) + // //{ + // // this.View.ShowMessage("没有上查关联的销售单"); + // //} + // ////共享的采购订单 + // //tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + // //tempTable = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + // //getSourceSql = $@"/*dialect*/ SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk + // // WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})"; + // dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + + // if (dt == null || dt.Count == 0) + // { + // break; + // //this.View.ShowMessage("没有上查关联的跨组织的采购订单"); + + // } + // else + // { + // tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + // tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + // } + + // } + // if (tablename.ToUpper() != "T_PUR_POORDERENTRY") + // { + // getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_PUR_POORDERENTRY_LK + // WHERE FSBILLID= {tempFid}"; + // dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + // if (dt == null || dt.Count == 0) + // { + // throw new KDBusinessException("", "没有上查关联的跨组织的采购订单:" + tablename); + // } + // else + // { + // xiaoFid = tempFid; + // //tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + // //tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + + // var FENTRYIDList = dt.Select(t => int.Parse(t["FENTRYID"].ToString())).ToList(); + // string ids = string.Join(",", FENTRYIDList); + // getSourceSql = $@"/*dialect*/ SELECT FID FROM T_PUR_POORDERENTRY WHERE FENTRYID IN({ids})"; + // dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + // if (dt == null || dt.Count == 0) + // { + // throw new KDBusinessException("", "没有上查关联的跨组织的采购订单:" + tablename); + // } + // else + // { + // tempFid = int.Parse(dt.FirstOrDefault()["FID"].ToString()); + // } + + // } + + // } + + // int stockId = 0; + // IOperationResult result = Invoke("PUR_PurchaseOrder", "PUR_ReceiveBill", tempFid.ToString(), "7cd93c259999489c97798063f2f7bd70", ref stockId); + // var sheet = result.SuccessDataEnity.FirstOrDefault(); + // string jsonsheet = JsonHelper.ToJson(sheet); + // //Logger.Error("推送采购入库单",jsonsheet,null); + // if (sheet != null) + // { + + // result = Invoke("PUR_ReceiveBill", "STK_InStock", sheet["id"].ToString(), "a1ff32276cd9469dad3bf2494366fa4f", ref stockId); + // //sheet = result.SuccessDataEnity.FirstOrDefault(); + // //result = Invoke("PUR_ReceiveBill", "STK_InStock", sheet["id"].ToString(), "a1ff32276cd9469dad3bf2494366fa4f"); + // } + + // //找到最开始的销售订单 + // for (int kk = 0; kk < 6 && tablename.ToUpper() != "T_SAL_ORDERENTRY" && xiaoFid == 0; kk++) + // { + // ////发货通知单 + // tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + // string tempTable = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + // getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk + // WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})"; + // dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + + // if (dt == null || dt.Count == 0) + // { + + // this.View.ShowMessage("没有上查关联的跨组织的采购订单"); + // return; + // } + // else + // { + // tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + + // } + // tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + // } + // if (tablename.ToUpper() != "T_SAL_ORDERENTRY" && xiaoFid == 0) + // { + + // throw new KDBusinessException("", "推送销售发货通知单失败,没有上查关联的跨组织的销售订单:" + tablename); + + // } + // if (xiaoFid > 0) + // tempFid = xiaoFid; + // getSourceSql = $@"/*dialect*/ SELECT FSALEORGID FROM T_SAL_ORDER WHERE fid ={tempFid}"; + // dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + // string saleorgid = ""; + // if (dt != null && dt.Count > 0) + // { + // saleorgid =dt.FirstOrDefault()["FSALEORGID"].ToString(); + // } + // //如果源头销售订单是珠海派诺或者珠海兴诺的销售订单,只推送到采购入库就行了。 找到最开始的销售发货通知单 + // if(saleorgid!="100302" && saleorgid != "100303") + // { + // getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_SAL_DELIVERYNOTICEENTRY_LK + // WHERE FSBILLID= {tempFid}"; + // dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + // if (dt == null || dt.Count == 0) + // { + // result = Invoke("SAL_SaleOrder", "SAL_DELIVERYNOTICE", tempFid.ToString(), "193822715afc48aa9fa6d6beca7700ab", ref stockId); + // sheet = result.SuccessDataEnity.FirstOrDefault(); + // tempFid = int.Parse(sheet["id"].ToString()); + // //throw new KDBusinessException("", "没有上查关联的跨组织的采购订单:" + tablename); + // } + // else + // { + + // var FENTRYIDList = dt.Select(t => int.Parse(t["FENTRYID"].ToString())).ToList(); + // string ids = string.Join(",", FENTRYIDList); + // getSourceSql = $@"/*dialect*/ SELECT FID FROM T_SAL_DELIVERYNOTICEENTRY WHERE FENTRYID IN({ids})"; + // dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + // if (dt == null || dt.Count == 0) + // { + // throw new KDBusinessException("", "没有上查关联的跨组织的发货通知单:" + tablename); + // } + // else + // { + // tempFid = int.Parse(dt.FirstOrDefault()["FID"].ToString()); + // } + + // } + // result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", tempFid.ToString(), "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId); + // } + // //result = Invoke("SAL_SaleOrder", "SAL_DELIVERYNOTICE", tempFid.ToString(), "193822715afc48aa9fa6d6beca7700ab", ref stockId); + // //sheet = result.SuccessDataEnity.FirstOrDefault(); + + + // this.View.ShowMessage("跨组织下推订单完成"); + + + // } + } + + //备货组织操作销售组织的销售出库单跨组织下推 + //A的销售出库单-->A的发货通知单-->A的销售订单-->B的销售订单(分两种情况)-->B的销售发货通知单-->B的销售出库单 if (e.BarItemKey.Equals("tbPushSalOut111", StringComparison.OrdinalIgnoreCase)) { @@ -40,7 +221,12 @@ namespace Pilot_KD_Parino.Sal_Order var id = FEntity["id"]; string formid = FEntity["FFormId"].ToString(); //var detailList = (FEntity["SAL_DELIVERYNOTICEENTRY"]); - + string AxiaoId = ""; + string BxiaoId = ""; + string caiGouId = ""; //采购订单ID + string ruKuId = ""; + string AfaHuoId = ""; + string BfaHuoId = ""; //发货通知单或者发货出库单 string getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM dbo.T_{formid}ENTRY_LK WHERE FENTRYID IN ( SELECT FENTRYID FROM dbo.T_{formid}ENTRY WHERE FID = {id})"; @@ -52,57 +238,133 @@ namespace Pilot_KD_Parino.Sal_Order int tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); string tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); int xiaoFid = 0; - //找到采购订单 - for (int kk = 0; kk < 6 && tablename.ToUpper() != "T_PUR_POORDERENTRY"; kk++) - { - ////发货通知单 - tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); - string tempTable = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); - getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk - WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})"; - //dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); - //if (dt == null || dt.Count == 0) - //{ - // this.View.ShowMessage("没有上查关联的销售单"); - //} - ////共享的采购订单 - //tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); - //tempTable = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); - //getSourceSql = $@"/*dialect*/ SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk - // WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})"; - dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + AfaHuoId = tempFid.ToString(); + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM T_SAL_DELIVERYNOTICEENTRY_LK + WHERE FENTRYID IN ( SELECT FENTRYID FROM dbo.T_SAL_DELIVERYNOTICEENTRY WHERE FID = {id})"; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + if (dt == null || dt.Count == 0) + { + //throw new KDBusinessException("", "没有找到源头销售订单:" ); + return; + } + tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + AxiaoId = tempFid.ToString(); + //销售订单找到跨组织的销售订单 + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM T_SAL_ORDERENTRY_LK + WHERE FSBILLID = {tempFid} and FSTABLENAME='T_SAL_ORDERENTRY' "; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + //throw new KDBusinessException("", "1:" + getSourceSql); + string fentryid = ""; + if (dt == null || dt.Count == 0) + { + //如果不是小公司的订单,是珠海派诺--珠海兴诺的订单,则按 销售订单--采购申请单--采购订单--兴诺的销售订单 逻辑找订单 + //采购申请单 + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM T_PUR_ReqEntry_LK + WHERE FSBILLID = {tempFid} and FSTABLENAME='T_SAL_ORDERENTRY' "; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); if (dt == null || dt.Count == 0) { - break; - //this.View.ShowMessage("没有上查关联的跨组织的采购订单"); - + throw new KDBusinessException("", "没有找到跨组织的采购申请单:" + getSourceSql); + return; } else { - tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + //采购申请单 tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + fentryid = dt.Select(t => t["FENTRYID"]).FirstOrDefault().ToString(); + getSourceSql = $@"/*dialect*/ SELECT FID FROM T_PUR_ReqEntry WHERE FENTRYID ={fentryid}"; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + tempFid = int.Parse(dt.FirstOrDefault()["FID"].ToString()); + + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM t_PUR_POOrderEntry_LK + WHERE FSBILLID = {tempFid} and FSTABLENAME='T_PUR_ReqEntry' "; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + if (dt == null || dt.Count == 0) + { + throw new KDBusinessException("", "没有找到跨组织的采购订单:" + getSourceSql); + return; + } + else + { + //兴诺的采购订单 + tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + fentryid = dt.Select(t => t["FENTRYID"]).FirstOrDefault().ToString(); + getSourceSql = $@"/*dialect*/ SELECT FID FROM t_PUR_POOrderEntry WHERE FENTRYID ={fentryid}"; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + tempFid = int.Parse(dt.FirstOrDefault()["FID"].ToString()); + caiGouId = tempFid.ToString(); + //兴诺的销售订单 + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM T_SAL_ORDERENTRY_LK + WHERE FSBILLID = {tempFid} and FSTABLENAME='t_PUR_POOrderEntry' "; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + if (dt == null || dt.Count == 0) + { + throw new KDBusinessException("", "没有找到跨组织的销售订单:" + getSourceSql); + return; + } + tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + fentryid = dt.Select(t => t["FENTRYID"]).FirstOrDefault().ToString(); + getSourceSql = $@"/*dialect*/ SELECT FID FROM T_SAL_ORDERENTRY WHERE FENTRYID ={fentryid}"; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + BxiaoId = tempFid.ToString(); + } } + //throw new KDBusinessException("", "没有找到跨组织的销售订单:"+ getSourceSql); } - if (tablename.ToUpper() != "T_PUR_POORDERENTRY") + else { - getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_PUR_POORDERENTRY_LK - WHERE FSBILLID= {tempFid}"; - dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); - if (dt == null || dt.Count == 0) + tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + BxiaoId = tempFid.ToString(); + //找到采购订单 + for (int kk = 0; kk < 6 && tablename.ToUpper() != "T_PUR_POORDERENTRY"; kk++) { - throw new KDBusinessException("", "没有上查关联的跨组织的采购订单:" + tablename); - } - else - { - xiaoFid = tempFid; - //tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); - //tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + ////发货通知单 + string tempTable = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk + WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})"; - var FENTRYIDList = dt.Select(t => int.Parse(t["FENTRYID"].ToString())).ToList(); - string ids = string.Join(",", FENTRYIDList); - getSourceSql = $@"/*dialect*/ SELECT FID FROM T_PUR_POORDERENTRY WHERE FENTRYID IN({ids})"; + //dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + //if (dt == null || dt.Count == 0) + //{ + // this.View.ShowMessage("没有上查关联的销售单"); + //} + ////共享的采购订单 + //tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + //tempTable = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + //getSourceSql = $@"/*dialect*/ SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk + // WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})"; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + if (dt == null || dt.Count == 0) + { + break; + //this.View.ShowMessage("没有上查关联的跨组织的采购订单"); + + } + else + { + + tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + if (tempTable == "T_PUR_POORDERENTRY") + { + caiGouId = tempFid.ToString(); + } + } + + } + if (tablename.ToUpper() != "T_PUR_POORDERENTRY") + { + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_PUR_POORDERENTRY_LK + WHERE FSBILLID= {tempFid}"; dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); if (dt == null || dt.Count == 0) { @@ -110,16 +372,29 @@ namespace Pilot_KD_Parino.Sal_Order } else { - tempFid = int.Parse(dt.FirstOrDefault()["FID"].ToString()); + xiaoFid = tempFid; + //tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); + //tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); + + var FENTRYIDList = dt.Select(t => int.Parse(t["FENTRYID"].ToString())).ToList(); + string ids = string.Join(",", FENTRYIDList); + getSourceSql = $@"/*dialect*/ SELECT FID FROM T_PUR_POORDERENTRY WHERE FENTRYID IN({ids})"; + dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); + if (dt == null || dt.Count == 0) + { + throw new KDBusinessException("", "没有上查关联的跨组织的采购订单:" + tablename); + } + else + { + tempFid = int.Parse(dt.FirstOrDefault()["FID"].ToString()); + } + } } - } - int stockId = 0; - IOperationResult result = Invoke("PUR_PurchaseOrder", "PUR_ReceiveBill", tempFid.ToString(), "7cd93c259999489c97798063f2f7bd70", ref stockId); - + IOperationResult result = Invoke("PUR_PurchaseOrder", "PUR_ReceiveBill", caiGouId, "7cd93c259999489c97798063f2f7bd70", ref stockId); var sheet = result.SuccessDataEnity.FirstOrDefault(); string jsonsheet = JsonHelper.ToJson(sheet); @@ -130,85 +405,47 @@ namespace Pilot_KD_Parino.Sal_Order result = Invoke("PUR_ReceiveBill", "STK_InStock", sheet["id"].ToString(), "a1ff32276cd9469dad3bf2494366fa4f", ref stockId); //sheet = result.SuccessDataEnity.FirstOrDefault(); //result = Invoke("PUR_ReceiveBill", "STK_InStock", sheet["id"].ToString(), "a1ff32276cd9469dad3bf2494366fa4f"); - } + } - //找到最开始的销售订单 - for (int kk = 0; kk < 6 && tablename.ToUpper() != "T_SAL_ORDERENTRY" && xiaoFid == 0; kk++) - { - ////发货通知单 - tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); - string tempTable = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); - getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk - WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})"; - dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); - - if (dt == null || dt.Count == 0) - { - - this.View.ShowMessage("没有上查关联的跨组织的采购订单"); - return; - } - else - { - tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); - - } - tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); - } - if (tablename.ToUpper() != "T_SAL_ORDERENTRY" && xiaoFid == 0) - { - - throw new KDBusinessException("", "推送销售发货通知单失败,没有上查关联的跨组织的销售订单:" + tablename); - - } - if (xiaoFid > 0) - tempFid = xiaoFid; - getSourceSql = $@"/*dialect*/ SELECT FSALEORGID FROM T_SAL_ORDER WHERE fid ={tempFid}"; + // 找到备货组织B的发货通知单 + getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_SAL_DELIVERYNOTICEENTRY_LK + WHERE FSBILLID= {BxiaoId}"; dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); - string saleorgid = ""; - if (dt != null && dt.Count > 0) + if (dt == null || dt.Count == 0) { - saleorgid =dt.FirstOrDefault()["FSALEORGID"].ToString(); + result = Invoke("SAL_SaleOrder", "SAL_DELIVERYNOTICE", BxiaoId, "193822715afc48aa9fa6d6beca7700ab", ref stockId); + sheet = result.SuccessDataEnity.FirstOrDefault(); + tempFid = int.Parse(sheet["id"].ToString()); + BfaHuoId = tempFid.ToString(); + //throw new KDBusinessException("", "没有上查关联的跨组织的采购订单:" + tablename); } - //如果源头销售订单是珠海派诺或者珠海兴诺的销售订单,只推送到采购入库就行了。 找到最开始的销售发货通知单 - if(saleorgid!="100302" && saleorgid != "100303") + else { - getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_SAL_DELIVERYNOTICEENTRY_LK - WHERE FSBILLID= {tempFid}"; + + var FENTRYIDList = dt.Select(t => int.Parse(t["FENTRYID"].ToString())).ToList(); + string ids = string.Join(",", FENTRYIDList); + getSourceSql = $@"/*dialect*/ SELECT FID FROM T_SAL_DELIVERYNOTICEENTRY WHERE FENTRYID IN({ids})"; dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); if (dt == null || dt.Count == 0) { - result = Invoke("SAL_SaleOrder", "SAL_DELIVERYNOTICE", tempFid.ToString(), "193822715afc48aa9fa6d6beca7700ab", ref stockId); - sheet = result.SuccessDataEnity.FirstOrDefault(); - tempFid = int.Parse(sheet["id"].ToString()); - //throw new KDBusinessException("", "没有上查关联的跨组织的采购订单:" + tablename); + throw new KDBusinessException("", "没有上查关联的跨组织的发货通知单:" + tablename); } else { - - var FENTRYIDList = dt.Select(t => int.Parse(t["FENTRYID"].ToString())).ToList(); - string ids = string.Join(",", FENTRYIDList); - getSourceSql = $@"/*dialect*/ SELECT FID FROM T_SAL_DELIVERYNOTICEENTRY WHERE FENTRYID IN({ids})"; - dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); - if (dt == null || dt.Count == 0) - { - throw new KDBusinessException("", "没有上查关联的跨组织的发货通知单:" + tablename); - } - else - { - tempFid = int.Parse(dt.FirstOrDefault()["FID"].ToString()); - } - + tempFid = int.Parse(dt.FirstOrDefault()["FID"].ToString()); + BfaHuoId = tempFid.ToString(); } - result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", tempFid.ToString(), "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId); + } + result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", BfaHuoId, "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId); + //result = Invoke("SAL_SaleOrder", "SAL_DELIVERYNOTICE", tempFid.ToString(), "193822715afc48aa9fa6d6beca7700ab", ref stockId); //sheet = result.SuccessDataEnity.FirstOrDefault(); - + this.View.ShowMessage("跨组织下推订单完成"); - + } } diff --git a/Pilot_KD_Parino/Sal_Order/SalDeliveryNoticeAudit.cs b/Pilot_KD_Parino/Sal_Order/SalDeliveryNoticeAudit.cs index 6b6e9e6..9984b7e 100644 --- a/Pilot_KD_Parino/Sal_Order/SalDeliveryNoticeAudit.cs +++ b/Pilot_KD_Parino/Sal_Order/SalDeliveryNoticeAudit.cs @@ -59,7 +59,7 @@ namespace Pilot_KD_Parino.Sal_Order dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); if (dt == null || dt.Count == 0) { - throw new KDBusinessException("", "没有找到跨组织的采购申请单:" + getSourceSql); + //throw new KDBusinessException("", "没有找到跨组织的采购申请单:" + getSourceSql); return; } else @@ -77,7 +77,7 @@ namespace Pilot_KD_Parino.Sal_Order dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); if (dt == null || dt.Count == 0) { - throw new KDBusinessException("", "没有找到跨组织的采购订单:" + getSourceSql); + //throw new KDBusinessException("", "没有找到跨组织的采购订单:" + getSourceSql); return; } else @@ -94,7 +94,7 @@ namespace Pilot_KD_Parino.Sal_Order dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); if (dt == null || dt.Count == 0) { - throw new KDBusinessException("", "没有找到跨组织的销售订单:" + getSourceSql); + //throw new KDBusinessException("", "没有找到跨组织的销售订单:" + getSourceSql); return; } } diff --git a/组织间单据自动生成流程图.vsdx b/组织间单据自动生成流程图.vsdx index b100c4d..d65a8d3 100644 Binary files a/组织间单据自动生成流程图.vsdx and b/组织间单据自动生成流程图.vsdx differ