This commit is contained in:
余宇波 2025-06-13 14:26:17 +08:00
parent d41b16306e
commit 4dce18c459
2 changed files with 42 additions and 41 deletions

View File

@ -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("", "所涉及的跨组织单位没有配置周转仓");
}

View File

@ -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;