From 4dce18c459dca324fe8c0206fc83679e07ea7b5f Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Fri, 13 Jun 2025 14:26:17 +0800 Subject: [PATCH] 22 --- .../Sal_Order/PushSaleBillPlugIn.cs | 42 +++---------------- .../Sal_Order/PushSaleOutBillPlugIn.cs | 41 +++++++++++++++--- 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs b/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs index 712cfa6..d4e3f4f 100644 --- a/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs +++ b/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs @@ -75,50 +75,20 @@ namespace Pilot_KD_Parino.Sal_Order if (e.BarItemKey.Equals("tbSaleBill666", StringComparison.OrdinalIgnoreCase)) { - this.View.ShowMessage("该功能开发中"); - return; + var FEntity = this.View.Model.DataObject; var json = JsonUtil.Serialize(FEntity); //Logger.Error("FEntity", json, new Exception()); var id = FEntity["id"]; string formid = FEntity["FFormId"].ToString(); - //发货通知单或者发货出库单 - string getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID 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("没有上查关联的销售订单"); - } - var entryIdList = dt.Select(t => t["FENTRYID"]).ToList(); + int stockId = 0; - int tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); - string tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); - - int stockId = 0; - - getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_SAL_ORDERENTRY_LK - WHERE FSBILLID={tempFid}"; - dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); - if (dt == null || dt.Count == 0) - { - this.View.ShowMessage("没有下查关联的跨组织销售订单"); - } - - var FENTRYIDList = dt.Select(t => int.Parse(t["FENTRYID"].ToString())).ToList(); - string ids = string.Join(",", FENTRYIDList); - getSourceSql = $@"/*dialect*/ SELECT* FROM T_SAL_ORDERENTRY WHERE FENTRYID IN({ids})"; - //IOperationResult result = Invoke("SAL_SaleOrder", "PUR_PurchaseOrder", id.ToString(), "83d822ca3e374b4ab01e5dd46a0062bd", ref stockId, FEntity, null); - ////var sheet = result.SuccessDataEnity.FirstOrDefault(); - - - //result = Invoke("SAL_SaleOrder", "SAL_SaleOrder", id.ToString(), "eacb50844fc84a10b03d7b841f3a6278", ref stockId, null, FEntity); + IOperationResult result = Invoke("SAL_SaleOrder", "SAL_SaleOrder", id.ToString(), "eacb50844fc84a10b03d7b841f3a6278", ref stockId, null, FEntity, 2); //sheet = result.SuccessDataEnity.FirstOrDefault(); //result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", sheet["id"].ToString(), "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId); - this.View.ShowMessage("跨组织下推订单完成"); - + this.View.ShowMessage("跨组织下推销售订单完成"); } } @@ -359,11 +329,11 @@ namespace Pilot_KD_Parino.Sal_Order string sql2 = $@"/*dialect*/ SELECT FUseOrgId,fname, a.FSTOCKID,FForbidStatus,FDocumentStatus FROM T_BD_STOCK a LEFT JOIN T_BD_STOCK_L b ON a.FSTOCKID=b.FSTOCKID - WHERE fname like '%成品仓%' AND FForbidStatus='A' AND FDocumentStatus='C' AND FUseOrgId={stocks3["StockOrgId_Id"]}"; + WHERE fname like '%周转仓%' AND FForbidStatus='A' AND FDocumentStatus='C' AND FUseOrgId={stocks3["StockOrgId_Id"]}"; var stockList = DBServiceHelper.ExecuteDynamicObject(this.Context, sql2, null, null, CommandType.Text, null); if (stockList == null || stockList.Count == 0) { - throw new KDBusinessException("", "所涉及的跨组织单位没有配置成品仓"); + throw new KDBusinessException("", "所涉及的跨组织单位没有配置周转仓"); } diff --git a/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs b/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs index 170169a..ccc5c8a 100644 --- a/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs +++ b/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs @@ -519,11 +519,11 @@ namespace Pilot_KD_Parino.Sal_Order { string sql2 = $@"/*dialect*/ SELECT FUseOrgId,fname, a.FSTOCKID,FForbidStatus,FDocumentStatus FROM T_BD_STOCK a LEFT JOIN T_BD_STOCK_L b ON a.FSTOCKID=b.FSTOCKID - WHERE fname like '%成品仓%' AND FForbidStatus='A' AND FDocumentStatus='C' AND FUseOrgId={stocks3["StockOrgId_Id"]}"; + WHERE fname like '%周转仓%' AND FForbidStatus='A' AND FDocumentStatus='C' AND FUseOrgId={stocks3["StockOrgId_Id"]}"; var stockList = DBServiceHelper.ExecuteDynamicObject(this.Context, sql2, null, null, CommandType.Text, null); if (stockList == null || stockList.Count == 0) { - throw new KDBusinessException("", "所涉及的跨组织单位没有配置成品仓"); + throw new KDBusinessException("", "所涉及的跨组织单位没有配置周转仓"); } @@ -584,11 +584,42 @@ namespace Pilot_KD_Parino.Sal_Order { t["StockID_Id"] = temStockId; }); - - - } + //SAL_OUTSTOCK + if (target == "SAL_OUTSTOCK")//销售出库单,强制跨组织的出库单是周转仓 2025-06-13 + { + //var sheet = destObjs.FirstOrDefault(); PUR_ReceiveEntry + string pur = ("SAL_OUTSTOCKENTRY"); + var stocks3 = destObjs[0]; + + if (temStockId == 0 || 1==1) //强制跨组织的出库单是周转仓 + { + string sql2 = $@"/*dialect*/ SELECT FUseOrgId,fname, a.FSTOCKID,FForbidStatus,FDocumentStatus FROM T_BD_STOCK a + LEFT JOIN T_BD_STOCK_L b ON a.FSTOCKID=b.FSTOCKID + WHERE fname like '%周转仓%' AND FForbidStatus='A' AND FDocumentStatus='C' AND FUseOrgId={stocks3["StockOrgId_Id"]}"; + var stockList = DBServiceHelper.ExecuteDynamicObject(this.Context, sql2, null, null, CommandType.Text, null); + if (stockList == null || stockList.Count == 0) + { + throw new KDBusinessException("", "所涉及的跨组织单位没有配置周转仓"); + } + + + temStockId = stockList.Select(t => int.Parse(t["FSTOCKID"].ToString())).FirstOrDefault(); + stockId = temStockId; + } + var stocks333 = stocks3[pur]; + var stocks = stocks333 as DynamicObjectCollection; + var stock0 = stocks.ToList(); + + stock0.ForEach(t => + { + t["StockID_Id"] = temStockId; + }); + + } + + //根据实际情况,处理目标单据数据 //destObjs[0]["Date"] = Convert.ToDateTime(sDate); //DynamicObjectCollection col_FEntityDetail;