From 196be8875acbf152da8a792a4906be8634e66d32 Mon Sep 17 00:00:00 2001
From: yuyubo <1870149533@qq.com>
Date: Tue, 29 Apr 2025 19:37:04 +0800
Subject: [PATCH] 111
---
Pilot_KD_Parino/Common/BOSCommon.cs | 53 ++
Pilot_KD_Parino/Pilot_KD_Parino.csproj | 3 +-
.../Sal_Order/PushSaleBillPlugIn.cs | 481 +++++++++---------
.../Sal_Order/PushSaleOutBillPlugIn.cs | 6 +-
Pilot_KD_Parino/Sal_Order/SupplierClass.cs | 139 +++++
5 files changed, 425 insertions(+), 257 deletions(-)
create mode 100644 Pilot_KD_Parino/Common/BOSCommon.cs
create mode 100644 Pilot_KD_Parino/Sal_Order/SupplierClass.cs
diff --git a/Pilot_KD_Parino/Common/BOSCommon.cs b/Pilot_KD_Parino/Common/BOSCommon.cs
new file mode 100644
index 0000000..7848d04
--- /dev/null
+++ b/Pilot_KD_Parino/Common/BOSCommon.cs
@@ -0,0 +1,53 @@
+using Kingdee.BOS;
+using Kingdee.BOS.Core.Metadata.FieldElement;
+using Kingdee.BOS.Orm;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Orm.Metadata.DataEntity;
+using Kingdee.BOS.Util;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Pilot_KD_Parino.Common
+{
+ public static class BOSCommon
+ {
+ ///
+ /// 给基础资料赋值
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void SetBaseDataFieldValue(Context ctx, BaseDataField field, DynamicObject data, object value)
+ {
+ long result = 0L;
+ long.TryParse(value.ToString(), out result);
+ if ((value.ToString().Length > 1) || (result > 0L))
+ {
+ DynamicObject newValue = LoadReferenceData(ctx, field.RefFormDynamicObjectType, value);
+ field.DynamicProperty.SetValue(data, newValue);
+ field.RefIDDynamicProperty.SetValue(data, value);
+ }
+ else
+ {
+ field.DynamicProperty.SetValue(data, null);
+ field.RefIDDynamicProperty.SetValue(data, 0);
+ }
+ }
+
+ public static DynamicObject LoadReferenceData(Context ctx, DynamicObjectType dt, object pkValue)
+ {
+ if (pkValue.IsEmptyPrimaryKey())
+ {
+ return null;
+ }
+ OperateOption option = OperateOption.Create();
+ option.SetThrowExceptionWhenNotFind(false);
+ return Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.LoadSingle(ctx, pkValue, dt, option);
+
+ }
+ }
+}
diff --git a/Pilot_KD_Parino/Pilot_KD_Parino.csproj b/Pilot_KD_Parino/Pilot_KD_Parino.csproj
index 1637a79..acbebd5 100644
--- a/Pilot_KD_Parino/Pilot_KD_Parino.csproj
+++ b/Pilot_KD_Parino/Pilot_KD_Parino.csproj
@@ -310,6 +310,7 @@
+
@@ -333,9 +334,9 @@
-
+
diff --git a/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs b/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs
index ff07bca..72108d6 100644
--- a/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs
+++ b/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs
@@ -1,28 +1,23 @@
-using DevExpress.Xpo.DB.Helpers;
-using FarPoint.Excel;
-using Kingdee.BOS;
+using Kingdee.BOS;
using Kingdee.BOS.App;
-using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.Operation;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List;
-using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.ConvertElement;
using Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs;
-using Kingdee.BOS.Core.Metadata.FormElement;
+using Kingdee.BOS.Core.Metadata.FieldElement;
+using Kingdee.BOS.Core.Metadata.Util;
using Kingdee.BOS.Log;
using Kingdee.BOS.Orm;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
-using Newtonsoft.Json.Linq;
using Pilot_KD_Parino.Common;
using System;
-using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
@@ -36,9 +31,17 @@ namespace Pilot_KD_Parino.Sal_Order
public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
{
base.AfterBarItemClick(e);
-
+
//this.View.ShowMessage("669977");
+ if (e.BarItemKey.Equals("tbSaleBill333", StringComparison.OrdinalIgnoreCase))
+ {
+ var FEntity = this.View.Model.DataObject;
+ var json = JsonUtil.Serialize(FEntity);
+ Logger.Error("采购订单信息", json, new Exception());
+ //var id = FEntity["id"];
+ //string formid = FEntity["FFormId"].ToString();
+ }
if (e.BarItemKey.Equals("tbSaleBill222", StringComparison.OrdinalIgnoreCase))
{
var FEntity = this.View.Model.DataObject;
@@ -46,99 +49,51 @@ namespace Pilot_KD_Parino.Sal_Order
//Logger.Error("FEntity", json, new Exception());
var id = FEntity["id"];
string formid = FEntity["FFormId"].ToString();
-
+
int stockId = 0;
- IOperationResult result = Invoke("SAL_SaleOrder", "PUR_PurchaseOrder", id.ToString(), "7cd93c259999489c97798063f2f7bd70", ref stockId);
-
-
+ //IOperationResult result = Invoke("SAL_SaleOrder", "d124a6be-5f97-4d1f-b5fd-e20e53e0ed2a", id.ToString(), "83d822ca3e374b4ab01e5dd46a0062bd", ref stockId);
+ IOperationResult result = Invoke("SAL_SaleOrder", "PUR_PurchaseOrder", id.ToString(), "83d822ca3e374b4ab01e5dd46a0062bd", ref stockId, FEntity, null);
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");
- }
+ string id2 = sheet["id"].ToString();
- //找到最开始的销售订单
- for (int kk = 0; kk < 6 && tablename.ToUpper() != "T_SAL_ORDERENTRY"; 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)
- {
+ result = Invoke("PUR_PurchaseOrder", "SAL_SaleOrder", id2, "5eaf7dde-df05-4c11-accd-3a175f117968", ref stockId, sheet, FEntity);
+ //sheet = result.SuccessDataEnity.FirstOrDefault();
+ //result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", sheet["id"].ToString(), "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId);
- 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")
- {
-
- throw new KDBusinessException("", "推送销售发货通知单失败,没有上查关联的跨组织的销售订单:" + tablename);
-
- }
-
- 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);
-
this.View.ShowMessage("跨组织下推订单完成");
- //this.View.ShowMessage("就是这个按钮"+ id);
- //ListSelectedRowCollection rows =new ListSelectedRowCollection();
- //List pkIds = new List();
- //List