This commit is contained in:
余宇波 2025-05-16 11:17:34 +08:00
parent 31e90c1cfc
commit 5ac1c727e2
4 changed files with 343 additions and 338 deletions

View File

@ -32,306 +32,34 @@ namespace Pilot_KD_Parino.Sal_Order
base.AfterBarItemClick(e); base.AfterBarItemClick(e);
{ {
// //备货组织操作备货组织的发货出库单跨组织下推 //备货组织操作备货组织的发货出库单跨组织下推
// if (e.BarItemKey.Equals("tbPushSalOut111", StringComparison.OrdinalIgnoreCase)) 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))
{
var FEntity = this.View.Model.DataObject;
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})";
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;
AfaHuoId = tempFid.ToString();
getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM T_SAL_DELIVERYNOTICEENTRY_LK var FEntity = this.View.Model.DataObject;
WHERE FENTRYID IN ( SELECT FENTRYID FROM dbo.T_SAL_DELIVERYNOTICEENTRY WHERE FID = {id})"; var id = FEntity["id"];
dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); string formid = FEntity["FFormId"].ToString();
if (dt == null || dt.Count == 0) //var detailList = (FEntity["SAL_DELIVERYNOTICEENTRY"]);
{
//throw new KDBusinessException("", "没有找到源头销售订单:" ); //发货通知单或者发货出库单
return; 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})";
tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString()); var dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql);
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) if (dt == null || dt.Count == 0)
{ {
throw new KDBusinessException("", "没有找到跨组织的采购申请单:" + getSourceSql); this.View.ShowMessage("没有上查关联的发货通知单");
return;
} }
else int tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString());
{ string tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString();
//采购申请单 int xiaoFid = 0;
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);
}
else
{
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++) 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(); string tempTable = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString();
getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk
WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})"; WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})";
//dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); //dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql);
//if (dt == null || dt.Count == 0) //if (dt == null || dt.Count == 0)
//{ //{
@ -343,6 +71,7 @@ namespace Pilot_KD_Parino.Sal_Order
//getSourceSql = $@"/*dialect*/ SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk //getSourceSql = $@"/*dialect*/ SELECT FSTABLENAME,FSBILLID FROM dbo.{tempTable}_lk
// WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})"; // WHERE FENTRYID IN ( SELECT FENTRYID FROM {tempTable} WHERE FID = {tempFid})";
dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql);
if (dt == null || dt.Count == 0) if (dt == null || dt.Count == 0)
{ {
break; break;
@ -351,20 +80,15 @@ namespace Pilot_KD_Parino.Sal_Order
} }
else else
{ {
tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString(); tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString();
tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).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") if (tablename.ToUpper() != "T_PUR_POORDERENTRY")
{ {
getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_PUR_POORDERENTRY_LK getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_PUR_POORDERENTRY_LK
WHERE FSBILLID= {tempFid}"; WHERE FSBILLID= {tempFid}";
dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql); dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql);
if (dt == null || dt.Count == 0) if (dt == null || dt.Count == 0)
{ {
@ -392,58 +116,339 @@ namespace Pilot_KD_Parino.Sal_Order
} }
} }
}
int stockId = 0;
IOperationResult result = Invoke("PUR_PurchaseOrder", "PUR_ReceiveBill", caiGouId, "7cd93c259999489c97798063f2f7bd70", ref stockId);
var sheet = result.SuccessDataEnity.FirstOrDefault(); int stockId = 0;
string jsonsheet = JsonHelper.ToJson(sheet); IOperationResult result = Invoke("PUR_PurchaseOrder", "PUR_ReceiveBill", tempFid.ToString(), "7cd93c259999489c97798063f2f7bd70", ref stockId);
//Logger.Error("推送采购入库单",jsonsheet,null);
if (sheet != null)
{
result = Invoke("PUR_ReceiveBill", "STK_InStock", sheet["id"].ToString(), "a1ff32276cd9469dad3bf2494366fa4f", 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(); //sheet = result.SuccessDataEnity.FirstOrDefault();
//result = Invoke("PUR_ReceiveBill", "STK_InStock", sheet["id"].ToString(), "a1ff32276cd9469dad3bf2494366fa4f");
}
// 找到备货组织B的发货通知单
getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_SAL_DELIVERYNOTICEENTRY_LK
WHERE FSBILLID= {BxiaoId}";
dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql);
if (dt == null || dt.Count == 0)
{
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);
}
else
{
var FENTRYIDList = dt.Select(t => int.Parse(t["FENTRYID"].ToString())).ToList(); this.View.ShowMessage("跨组织下推订单完成");
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());
BfaHuoId = tempFid.ToString();
}
} }
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();
////备货组织操作销售组织的销售出库单跨组织下推
////A的销售出库单-->A的发货通知单-->A的销售订单-->B的销售订单(分两种情况)-->B的销售发货通知单-->B的销售出库单
//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 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})";
// 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;
// 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)
// {
// 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_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);
// }
// else
// {
// 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++)
// {
// ////发货通知单
// 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 (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)
// {
// 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", caiGouId, "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");
// }
// // 找到备货组织B的发货通知单
// getSourceSql = $@"/*dialect*/SELECT FSTABLENAME,FSBILLID,FENTRYID FROM dbo.T_SAL_DELIVERYNOTICEENTRY_LK
// WHERE FSBILLID= {BxiaoId}";
// dt = DBServiceHelper.ExecuteDynamicObject(this.Context, getSourceSql);
// if (dt == null || dt.Count == 0)
// {
// 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);
// }
// 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());
// BfaHuoId = tempFid.ToString();
// }
// }
// 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("跨组织下推订单完成"); // this.View.ShowMessage("跨组织下推订单完成");
//}
} }