From f9976753d3d60c4bcd0c7736844748cdb5af887f Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期三, 15 十月 2025 10:39:45 +0800
Subject: [PATCH] 1

---
 zymes/test/obj/Release/.NETFramework,Version=v4.5.2.AssemblyAttributes.cs |    4 +
 zymes/test/obj/Release/test.csproj.AssemblyReference.cache                |    0 
 .vs/simoer_jiekou/v16/.suo                                                |    0 
 .vs/slnx.sqlite                                                           |    0 
 .vs/VSWorkspaceState.json                                                 |    9 ++
 zymes/obj/Release/zymes_Project.csproj.AssemblyReference.cache            |    0 
 zymes/OperationService/zymes_RealessPrdReceive.cs                         |  151 +++++++++++++++++++++++++++++++++++++
 zymes/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs      |    4 +
 zymes/OperationService/zymes_RealessSalOrder.cs                           |   18 +--
 zymes/zymes_Project.csproj                                                |    1 
 10 files changed, 176 insertions(+), 11 deletions(-)

diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json
new file mode 100644
index 0000000..d0fbf2d
--- /dev/null
+++ b/.vs/VSWorkspaceState.json
@@ -0,0 +1,9 @@
+{
+  "ExpandedNodes": [
+    "",
+    "\\zymes",
+    "\\zymes\\OperationService"
+  ],
+  "SelectedNode": "\\zymes\\OperationService\\zymes_RealessPurPoorder.cs",
+  "PreviewInSolutionExplorer": false
+}
\ No newline at end of file
diff --git a/.vs/simoer_jiekou/v16/.suo b/.vs/simoer_jiekou/v16/.suo
new file mode 100644
index 0000000..3efd1f7
--- /dev/null
+++ b/.vs/simoer_jiekou/v16/.suo
Binary files differ
diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite
new file mode 100644
index 0000000..8080f51
--- /dev/null
+++ b/.vs/slnx.sqlite
Binary files differ
diff --git a/zymes/OperationService/zymes_RealessPrdReceive.cs b/zymes/OperationService/zymes_RealessPrdReceive.cs
new file mode 100644
index 0000000..67cf730
--- /dev/null
+++ b/zymes/OperationService/zymes_RealessPrdReceive.cs
@@ -0,0 +1,151 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Kingdee.BOS.Util;
+using Kingdee.BOS.Core.Metadata.EntityElement;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using System.ComponentModel;
+using Kingdee.BOS.ServiceHelper;
+using System.Data;
+using Newtonsoft.Json.Linq;
+using ZD.Cloud.WebApi;
+using Newtonsoft.Json;
+using Kingdee.BOS.Core.DynamicForm;
+using System.Linq;
+using RestSharp;
+using zymes_Project.Utility;
+
+namespace zymes_Project.OperationService
+{
+	[Description("[鐢熶骇棰嗘枡鍗�-瀹℃牳]鏈嶅姟鎻掍欢]")]
+	[HotUpdate]
+	public class zymes_RealessPrdReceive : AbstractOperationServicePlugIn
+	{
+        Dictionary<string, string> dictionary = new Dictionary<string, string>();
+        public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e)
+        {
+            base.OnPrepareOperationServiceOption(e);
+
+            //涓轰簡鍦˙eginOperationTransaction閲屾鏌ユ暟鎹姏鍑哄紓甯告椂
+            //鍙洖婊氬綋鍓嶅崟鎹殑浜嬪姟,杩欓噷璁剧疆涓轰笉鏀寔鎵归噺浜嬪姟,杩欐牱BOS浼�
+            //寰幆涓烘瘡涓�寮犲崟鎹垱寤轰簨鍔¤皟鐢ㄦ搷浣�
+            e.SupportTransaction = true;
+            // e.SurportBatchTransaction = false;
+        }
+        public override void OnPreparePropertys(PreparePropertysEventArgs e)
+        {
+            base.OnPreparePropertys(e);
+            e.FieldKeys.Add("FEntity");
+            e.FieldKeys.Add("FEntity_FEntryID");
+        }
+        
+        public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
+        {
+            base.AfterExecuteOperationTransaction(e);
+            Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅
+            foreach (var billObj in e.DataEntitys)
+            {
+                var forgName = Context.CurrentOrganizationInfo.Name;
+                //if (!forgName.Contains("鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�"))
+                //    continue;
+                //var sql = $"exec zymes_RealessPurPoorder {billObj["Id"]} ";
+                var id = billObj["Id"].ToString();
+                string sql = string.Empty;
+                sql = $@"
+                /*dialect*/
+                select a.FID HInterID, a.FENTRYID HEntryID, '' as HCloseMan, '' as HEntryCloseDate, 0 as HCloseType
+                , 'CLOUD瀵煎叆' as HRemark, 0 HSourceInterID,0 HSourceEntryID,'' HSourceBillNo,'' HSourceBillType
+                , 0 HRelationQty,0 HRelationMoney
+                , a.FMATERIALID HMaterID,a.FAUXPROPID HPropertyID,0 HSecUnitID,0 HSecUnitRate,a.FUNITID HUnitID
+                , 0 HQtyMust, a.FACTUALQTY HQty,isnull(a.FPrice, 0) HPrice,0 HMoney
+                ,a.FSTOCKID HWHID,0 HSCWHID,0 HSPID, 0 HSCSPID, 0 HSPGroupID, a.FLOT HBatchNo, 0 HPOOrderInterID
+                ,0 HPOOrderEntryID, '' HPOOrderBillNo, 0 HSeOrderInterID,0 HSeOrderEntryID, '' HSeOrderBillNo
+                from T_PRD_PICKMTRLDATA as a with(nolock)
+                Where a.FID={id}
+                select a.FID as HInterID, 1204 as HBillType, 1204 as HBillSubType, a.FBILLNO as HBillNo, case when a.FAPPROVERID=0 then 1 else 2 end HBillStatus
+                , a.FDATE as HDate, YEAR(a.FDATE) as HYear, MONTH(a.FDATE) as HPeriod, 'CLOUD瀵煎叆' as HRemark
+                , a.FCREATORID as HMaker, a.FCREATEDATE as HMakeDate, 0 as HSupID, FSTOCKERID as HWHID, 0 as HSCWHID
+                , a.FPICKERID as HEmpID, 0 as HManagerID, a.FPICKERID as HSecManagerID, a.FSTOCKERID as HKeeperID
+                , 0 as HDeptID, 'CLOUD瀵煎叆' as HExplanation, a.FBILLNO as HInnerBillNo, CONVERT(bit, 0) as HRedBlueFlag
+                ,o.FNUMBER as HOrganNumber
+                from T_PRD_PICKMTRL a with(nolock)
+                inner join T_ORG_Organizations o with (nolock) on a.FSTOCKORGID = o.FORGID
+                Where a.FID={id}
+";
+                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
+                DataTable maindt = ds.Tables[1];
+                DataTable subdt = ds.Tables[0];
+                if (maindt.Rows.Count == 0 || subdt.Rows.Count == 0)
+                {
+                    LogService.Write("鐢熶骇棰嗘枡鍗曞悓姝ュ紓甯革細" + sql);
+                    continue;
+                }
+
+                //鑾峰彇鍒涘缓鐢熶骇棰嗘枡鍗曠殑浣跨敤缁勭粐
+                DataTable dataTable = LogService.Get_DisPlayOrg(Context, maindt.Rows[0]["HOrganNumber"].ToString());
+                if (dataTable.Rows.Count == 0)
+                    continue;
+
+                if (dataTable.Rows[0]["FISNEEDPUSH"].ToString() == "0")
+                    continue;
+
+                string http = dataTable.Rows[0]["F_RCZU_MesIp"].ToString();
+
+                JArray array = new JArray();//鏄庣粏琛�
+                foreach (DataRow dr in subdt.Rows)
+                {
+                    JObject fentrymodel = new JObject();
+                    foreach (DataColumn column in subdt.Columns)
+                    {
+                        fentrymodel.Add(column.ColumnName, dr[column.ColumnName].ToString());
+                    }
+                    array.Add(fentrymodel);
+                }
+                JObject model = new JObject();//涓昏〃
+                DataRow maindr = maindt.Rows[0];
+                foreach (DataColumn column in maindt.Columns)
+                {
+                    model.Add(column.ColumnName, maindr[column.ColumnName].ToString());
+                }
+                model.Add("HENTRY", array);
+                JObject jsonRoot = new JObject()
+                {
+                    ["model"] = model
+                };
+
+                var client = new RestSharp.RestClient(http);
+                //鏂板
+                var requestPost = new RestRequest("Kf_MateOutBill/Kf_MateOutBillSaveApi", Method.POST);
+                requestPost.AddParameter("application/json", JsonConvert.SerializeObject(jsonRoot), ParameterType.RequestBody);
+                IRestResponse responsePost = client.Execute(requestPost);
+                var contentPost = responsePost.Content;
+                if (!contentPost.Contains("鎴愬姛"))
+                {
+                    LogService.Write("鐢熶骇棰嗘枡鍗曞悓姝ュ紓甯�,POST鏂瑰紡鑾峰彇缁撴灉," + billObj["Id"] + "," + responsePost.ErrorMessage);
+                    LogService.Write("鐢熶骇棰嗘枡鍗曞悓姝ュ紓甯�,POST," + "Kf_MateOutBill/Kf_MateOutBillSaveApi");
+                    LogService.Write("鐢熶骇棰嗘枡鍗曞悓姝ュ紓甯�,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot));
+                }
+            };
+            foreach (var item in dictionary)
+            {
+                ResultMessage.dataError(this.OperationResult.OperateResult, item.Key, item.Value);
+            }
+        }
+        public static class ResultMessage
+        {/// <summary>
+         /// 淇敼鎻愮ず淇℃伅
+         /// </summary>
+         /// <param name="operateResult"></param>
+         /// <param name="billno"></param>
+            public static void dataError(OperateResultCollection operateResult, string billno, string message)
+            {
+                OperateResult operate = operateResult.Where(n => n.Number == billno).First();
+                operate.Message = message;
+                operate.SuccessStatus = false;
+                operate.MessageType = MessageType.FatalError;
+            }
+        }
+    }
+}
+
diff --git a/zymes/OperationService/zymes_RealessSalOrder.cs b/zymes/OperationService/zymes_RealessSalOrder.cs
index ae8414d..65798e2 100644
--- a/zymes/OperationService/zymes_RealessSalOrder.cs
+++ b/zymes/OperationService/zymes_RealessSalOrder.cs
@@ -81,17 +81,13 @@
                 left join T_SAL_ORDERFIN fin with(nolock) on a.FID=fin.FID
                 left join T_SAL_ORDERENTRY_LK LK with(nolock) on a.FENTRYID=LK.FENTRYID 
                 Where a.FID={id}
-                select a.FID as HInterID, year(a.FDate) as HYear, month(a.FDate) as HPeriod, '1401' as HBillType, '1401' as HBillSubType,
-                a.FDate as HDate, a.FbillNo as HBillNo, case when isnull(a.FAPPROVERID,0)=0 then 1 else 2 end HBillStatus,
-                a.FRECEIVEADDRESS as HAddress, 0 as HSSID,a.FDATE as HSSDate, a.FCUSTID as HCusID, 0 as HCurID, 0 as HExRate,
-                a.FSALERID as HEmpID, 0 as HManagerID, isnull(a.FSALEDEPTID,0) as HDeptID, 'CLOUD瀵煎叆' as HExplanation, a.FNOTE as HRemark,
-                ''as HInnerBillNo, a.FAPPROVERID as HChecker, a.FAPPROVEDATE as HCheckDate, a.FCREATORID as HMaker, a.FCREATEDATE as HMakeDate,
-                a.FCLOSERID as HCloseMan, a.FCLOSEDATE as HCloseDate, a.FID as HERPInterID, a.FBILLTYPEID as HERPBillType, a.FSALEORGID as HSALEORGID,
-                a.FSALEGROUPID as HSALEGROUPID, a.FRECEIVEID as HRECEIVEID, a.FSETTLEID as HSETTLEID, a.FCHARGEID as HCHARGEID, a.FHEADLOCID as HHEADLOCID,
-                a.FRECCONTACTID as HRECCONTACTID, isnull(a.FCORRESPONDORGID, 0) as HCORRESPONDORGID, a.FBUSINESSTYPE as HBUSINESSTYPE
-                ,o.FNUMBER as HOrganNumber
-                from T_SAL_ORDER a with(nolock)
-                left join T_ORG_Organizations o with(nolock) on a.FSALEORGID=o.FORGID
+                select a.FID as HInterID, 1204 as HBillType, 1204 as HBillSubType, a.FBILLNO as HBillNo
+                , a.FDATE as HDate, YEAR(a.FDATE) as HYear, MONTH(a.FDATE) as HPeriod, 'CLOUD瀵煎叆' as HRemark
+                , a.FCREATORID as HMaker, a.FCREATEDATE as HMakeDate, 0 as HSupID, FSTOCKERID as HWHID, 0 as HSCWHID
+                , a.FPICKERID as HEmpID, 0 as HManagerID, a.FPICKERID as HSecManagerID, a.FSTOCKERID as HKeeperID
+                , 0 as HDeptID, 'CLOUD瀵煎叆' as HExplanation, a.FBILLNO as HInnerBillNo, 0 as HRedBlueFlag
+                from T_PRD_PICKMTRL a with(nolock)
+                inner join T_ORG_Organizations o with (nolock) on a.FSTOCKORGID = o.FORGID
                 Where FID={id} 
                 ";
                 DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
diff --git a/zymes/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/zymes/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
new file mode 100644
index 0000000..3871b18
--- /dev/null
+++ b/zymes/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+// <autogenerated />
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
diff --git a/zymes/obj/Release/zymes_Project.csproj.AssemblyReference.cache b/zymes/obj/Release/zymes_Project.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..f5e894a
--- /dev/null
+++ b/zymes/obj/Release/zymes_Project.csproj.AssemblyReference.cache
Binary files differ
diff --git a/zymes/test/obj/Release/.NETFramework,Version=v4.5.2.AssemblyAttributes.cs b/zymes/test/obj/Release/.NETFramework,Version=v4.5.2.AssemblyAttributes.cs
new file mode 100644
index 0000000..f1a77a1
--- /dev/null
+++ b/zymes/test/obj/Release/.NETFramework,Version=v4.5.2.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+// <autogenerated />
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5.2", FrameworkDisplayName = ".NET Framework 4.5.2")]
diff --git a/zymes/test/obj/Release/test.csproj.AssemblyReference.cache b/zymes/test/obj/Release/test.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..f90bf4e
--- /dev/null
+++ b/zymes/test/obj/Release/test.csproj.AssemblyReference.cache
Binary files differ
diff --git a/zymes/zymes_Project.csproj b/zymes/zymes_Project.csproj
index 4d275ea..162de49 100644
--- a/zymes/zymes_Project.csproj
+++ b/zymes/zymes_Project.csproj
@@ -129,6 +129,7 @@
     <Compile Include="OperationService\zymes_MOCHANGE.cs" />
     <Compile Include="OperationService\zymes_RealessCurrency.cs" />
     <Compile Include="OperationService\zymes_RealessOperator.cs" />
+    <Compile Include="OperationService\zymes_RealessPrdReceive.cs" />
     <Compile Include="OperationService\zymes_RealessRateType.cs" />
     <Compile Include="OperationService\zymes_RealessDepartment.cs" />
     <Compile Include="OperationService\zymes_RealessBom.cs" />

--
Gitblit v1.9.1