This commit is contained in:
2025-05-07 20:08:40 +08:00
parent f8fa1681df
commit a4976430a8
9 changed files with 549 additions and 215 deletions

View File

@@ -71,6 +71,55 @@ namespace Pilot_KD_Parino.Sal_Order
this.View.ShowMessage("跨组织下推订单完成");
}
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 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);
//sheet = result.SuccessDataEnity.FirstOrDefault();
//result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", sheet["id"].ToString(), "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId);
this.View.ShowMessage("跨组织下推订单完成");
}
}
@@ -254,7 +303,7 @@ namespace Pilot_KD_Parino.Sal_Order
orderSheet["F_SFHW"] = "2";
this.View.ShowMessage("更新了1");
//this.View.ShowMessage("更新了1");
string sqltemp1 = $@"/*dialect*/ SELECT FUseOrgId,a.FNUMBER,b.FNAME,a.FCUSTID FROM T_BD_CUSTOMER a
LEFT JOIN T_BD_CUSTOMER_L b ON a.FCUSTID=b.FCUSTID
@@ -476,7 +525,7 @@ namespace Pilot_KD_Parino.Sal_Order
orderSheet["F_Amountstar"] = FEntity2["F_Amountstar"];
}
sdsas = JsonHelper.ToJson(destObjs);
Logger.Error("目标单据数据集合4", sdsas, new Exception());
//Logger.Error("目标单据数据集合4", sdsas, new Exception());
IOperationResult saveResult2 = BusinessDataServiceHelper.Draft(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
//var ddd = (from p in destObjs select p[0]).ToArray();

View File

@@ -56,6 +56,7 @@ 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++)
{
@@ -79,20 +80,46 @@ namespace Pilot_KD_Parino.Sal_Order
if (dt == null || dt.Count == 0)
{
this.View.ShowMessage("没有上查关联的跨组织的采购订单");
//this.View.ShowMessage("没有上查关联的跨组织的采购订单");
return;
}
else
{
tablename = dt.Select(t => t["FSTABLENAME"]).FirstOrDefault().ToString();
//if (tablename.ToUpper() != "T_PUR_POORDERENTRY")
// this.View.ShowMessage("没有上查关联的跨组织的采购订单 " + tablename);
tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString());
}
tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString());
}
if (tablename.ToUpper() != "T_PUR_POORDERENTRY")
{
throw new KDBusinessException("", "没有上查关联的跨组织的采购订单:" + tablename);
{
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;
@@ -111,7 +138,7 @@ namespace Pilot_KD_Parino.Sal_Order
}
//找到最开始的销售订单
for (int kk = 0; kk < 6 && tablename.ToUpper() != "T_SAL_ORDERENTRY"; kk++)
for (int kk = 0; kk < 6 && tablename.ToUpper() != "T_SAL_ORDERENTRY" && xiaoFid==0; kk++)
{
////发货通知单
tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString());
@@ -133,13 +160,14 @@ namespace Pilot_KD_Parino.Sal_Order
}
tempFid = int.Parse(dt.Select(t => t["FSBILLID"]).FirstOrDefault().ToString());
}
if (tablename.ToUpper() != "T_SAL_ORDERENTRY")
if (tablename.ToUpper() != "T_SAL_ORDERENTRY" && xiaoFid == 0)
{
throw new KDBusinessException("", "推送销售发货通知单失败,没有上查关联的跨组织的销售订单:" + tablename);
}
if (xiaoFid > 0)
tempFid = xiaoFid;
result = Invoke("SAL_SaleOrder", "SAL_DELIVERYNOTICE", tempFid.ToString(), "193822715afc48aa9fa6d6beca7700ab", ref stockId);
sheet = result.SuccessDataEnity.FirstOrDefault();
result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", sheet["id"].ToString(), "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId);