From 35fe8f8bda35a10dd4ba95b49bbec7ad72e134ff Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期二, 14 十月 2025 17:04:53 +0800
Subject: [PATCH] 增加客户物料对应表插件

---
 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 
 zymes/OperationService/zymes_RealessTaxMIX.cs                             |    2 
 .vs/VSWorkspaceState.json                                                 |    9 +
 zymes/obj/Release/zymes_Project.csproj.AssemblyReference.cache            |    0 
 zymes/zymes_Project.csproj                                                |    4 
 zymes/Report/FeedPlanDetailReport.cs                                      |    6 
 zymes/Report/FeedPlanOrderDetailReport.cs                                 |    6 
 zymes/Report/FeedPlanReport.cs                                            |    2 
 zymes/OperationService/zymes_RealessStock.cs                              |   42 +----
 zymes/OperationService/zymes_RealessMaterial.cs                           |   15 -
 zymes/LogService.cs                                                       |    2 
 zymes/OperationService/zymes_RealessPrdReceive.cs                         |  151 +++++++++++++++++++++
 zymes/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs      |    4 
 zymes/OperationService/zymes_RealessSalOrder.cs                           |   18 +-
 zymes/OperationService/zymes_RealessCusMaterial.cs                        |  138 +++++++++++++++++++
 18 files changed, 348 insertions(+), 55 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/LogService.cs b/zymes/LogService.cs
index 49244c1..a9f9566 100644
--- a/zymes/LogService.cs
+++ b/zymes/LogService.cs
@@ -65,7 +65,9 @@
                     }
                 }
             }
+#pragma warning disable CS0168 // 澹版槑浜嗗彉閲忊�渆x鈥濓紝浣嗕粠鏈娇鐢ㄨ繃
             catch (Exception ex)
+#pragma warning restore CS0168 // 澹版槑浜嗗彉閲忊�渆x鈥濓紝浣嗕粠鏈娇鐢ㄨ繃
             {
             }
         }
diff --git a/zymes/OperationService/zymes_RealessCusMaterial.cs b/zymes/OperationService/zymes_RealessCusMaterial.cs
new file mode 100644
index 0000000..3f92c8c
--- /dev/null
+++ b/zymes/OperationService/zymes_RealessCusMaterial.cs
@@ -0,0 +1,138 @@
+锘縰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_RealessCusMaterial : 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 id = billObj["Id"].ToString();
+                string sql = string.Empty;
+                sql = $@"
+                /*dialect*/ 
+                SELECT 
+                    a.FID as HItemID,
+                    a.FCREATORID as HCusID,
+                    c.FCUSTMATNO as HCusRelationNumber,
+                    d.FCUSTMATNAME as HCusRelationName,
+                    'CLD-ERP瀵煎叆' HRemark,
+                    GETDATE() AS HMakeTime,
+                    e.FMASTERID as HMaterID,
+                    case when  c.FEFFECTIVE=1 then 'true' else 'false' end AS HUsed,
+                    a.FCREATORID AS HCREATEORGID,
+                    a.FUSEORGID AS HUSEORGID,
+                    o.FNUMBER as HOrganNumber,
+                    u.FNAME HMaker
+                FROM T_SAL_CUSTMATMAPPING a
+                INNER JOIN T_SAL_CUSTMATMAPPINGENTRY c ON a.FID = c.FID  -- 瀹㈡埛鐗╂枡琛ㄦ槑缁�
+                INNER JOIN T_SAL_CUSTMATMAPPINGENTRY_L d ON c.FENTRYID = d.FENTRYID -- 瀹㈡埛鐗╂枡琛ㄦ槑缁哶澶氳瑷�
+                INNER JOIN T_BD_MATERIAL e ON c.FMATERIALID = e.FMATERIALID   -- 鐗╂枡
+                INNER JOIN T_SEC_USER u ON a.FCREATORID = u.FUSERID  -- 鐢ㄦ埛琛�
+                INNER JOIN T_ORG_Organizations o on a.FUSEORGID=o.FORGID
+                where a.FID={id}
+                ";               
+                LogService.Write("鏌ヨ鍣╯ql锛�" + sql);
+
+                DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
+                if (dt.Rows.Count == 0)
+                {
+                    LogService.Write("瀹㈡埛鐗╂枡瀵瑰簲琛ㄥ悓姝ュ紓甯革細" + sql);
+                    continue;
+                }
+                //鑾峰彇鍒涘缓瀹㈡埛鐗╂枡瀵瑰簲琛ㄧ殑浣跨敤缁勭粐
+                DataTable dataTable = LogService.Get_DisPlayOrg(Context, dt.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();
+
+                DataRow dr = dt.Rows[0];
+                JObject model = new JObject();
+                foreach (DataColumn column in dt.Columns)
+                {
+                    model.Add(column.ColumnName, dr[column.ColumnName].ToString());
+                }
+                JObject _jsonRoot = new JObject()
+                {
+                    ["model"] = model
+                };
+
+                LogService.Write("瀹㈡埛鐗╂枡瀵瑰簲琛ㄥ悓姝ユ彃浠�,JSON鎷兼帴瀹屾垚锛�" + model);
+
+
+                var client = new RestSharp.RestClient(http);
+                var requestPost = new RestRequest("Gy_MateNumRelation/SaveGy_MateNumRelationAPI", 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," + "Gy_MateNumRelation/SaveGy_MateNumRelationAPI");
+                    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_RealessMaterial.cs b/zymes/OperationService/zymes_RealessMaterial.cs
index 3b68957..0a64860 100644
--- a/zymes/OperationService/zymes_RealessMaterial.cs
+++ b/zymes/OperationService/zymes_RealessMaterial.cs
@@ -204,7 +204,7 @@
                     ,case when isnull(q.FCHECKINCOMING,0)='1' then 1 else 0 end as HCHECKINCOMING,isnull(s.FEXPUNIT,'') as HEXPUNIT,isnull(s.FEXPPERIOD,0) as HEXPPERIOD
                     ,isnull(b.FBASEUNITID,0) as HBASEUNITID,isnull(ms.FSALEUNITID,0) as HSALEUNITID,isnull(ms.FSALEPRICEUNITID,0) HSALEPRICEUNITID
                     ,isnull(mp.FPERUNITSTANDHOUR,0) as HPERUNITSTANDHOUR,isnull(mp.FSTDLABORPREPARETIME,0) as HSTDLABORPREPARETIME,isnull(mp.FSTDMACHINEPREPARETIME,0) as HSTDMACHINEPREPARETIME
-                    ,isnull(a.FMASTERID,0) as HMASTERID
+                    ,isnull(a.FMASTERID,0) as HMASTERID,0 HMoneyDec
                      from  T_BD_MATERIAL a with(nolock)
                     inner join  T_BD_MATERIAL_L l with(nolock) on a.FMATERIALID=l.FMATERIALID 
                     inner join  T_BD_MATERIALBASE b with(nolock) on a.FMATERIALID=b.FMATERIALID 
@@ -236,7 +236,7 @@
 
                     string http = dataTable.Rows[0]["F_RCZU_MesIp"].ToString();
 
-                    DataRow dr = dt.Rows[0];
+                    DataRow dr = dt.Rows[0];                  
                     JObject model = new JObject();
                     foreach (DataColumn column in dt.Columns)
                     {
@@ -246,7 +246,8 @@
                     JObject _jsonRoot = new JObject()
                     {
                         ["model"] = model
-                    };
+                    };              
+
                     LogService.Write("鐗╂枡鍚屾鎻掍欢,JSON鎷兼帴瀹屾垚锛�" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff:ffffff"));
                   
                     var client = new RestSharp.RestClient(http);                  
@@ -266,13 +267,7 @@
                     var contentPost = responsePost.Content;
                     if (!contentPost.Contains("鎴愬姛"))
                     {
-                        LogService.Write("鐗╂枡鍚屾寮傚父,POST鏂瑰紡鑾峰彇缁撴灉," + billObj["Id"] + "," + responsePost.ErrorMessage);
-                        //LogService.Write("鐗╂枡鍚屾寮傚父,ContentType," + responsePost.ContentType);
-                        //LogService.Write("鐗╂枡鍚屾寮傚父,ContentEncoding," + responsePost.ContentEncoding);
-                        //LogService.Write("鐗╂枡鍚屾寮傚父,Content," + responsePost.Content);
-                        //LogService.Write("鐗╂枡鍚屾寮傚父,StatusDescription," + responsePost.StatusDescription);
-                        //LogService.Write("鐗╂枡鍚屾寮傚父,Server," + responsePost.Server);
-                        //LogService.Write("鐗╂枡鍚屾寮傚父,ErrorMessage," + responsePost.ErrorMessage);
+                        LogService.Write("鐗╂枡鍚屾寮傚父,POST鏂瑰紡鑾峰彇缁撴灉," + billObj["Id"] + "," + responsePost.ErrorMessage);                     
                         LogService.Write("鐗╂枡鍚屾寮傚父,POST," + "Gy_Material/SaveGy_MaterialListApi");
                         LogService.Write("鐗╂枡鍚屾寮傚父,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                     }                  
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/OperationService/zymes_RealessStock.cs b/zymes/OperationService/zymes_RealessStock.cs
index fdb60ed..70039c1 100644
--- a/zymes/OperationService/zymes_RealessStock.cs
+++ b/zymes/OperationService/zymes_RealessStock.cs
@@ -64,43 +64,21 @@
                 T_BD_FLEXVALUESCOM t1 
                 join T_BD_STOCK st on t1.FSTOCKID = st.FSTOCKID 
                 join T_BD_STOCK_l stl on t1.FSTOCKID = stl.FSTOCKID  and stl.FLOCALEID = 2052
-                join T_BAS_FLEXVALUESDETAIL t2 on t1.FSTOCKLOCID = t2.FID
-                --SELECT * FROM T_BAS_FLEXVALUESENTRY t1--浠撲綅鍊奸泦鍒楄〃鏄庣粏
-                --join T_BAS_FLEXVALUESENTRY_L  t2 on t1.FENTRYID=t2.FENTRYID--浠撲綅鍊奸泦鍒楄〃
-                join T_BAS_FLEXVALUESENTRY t3 on t2.FF100006 = t3.FENTRYID--浠撲綅鍊奸泦鍒楄〃鏄庣粏
+                join T_BAS_FLEXVALUESDETAIL t2 on t1.FSTOCKLOCID = t2.FID             
+                join T_BAS_FLEXVALUESENTRY t3 on t2.FF100001 = t3.FENTRYID--浠撲綅鍊奸泦鍒楄〃鏄庣粏
                 join T_BAS_FLEXVALUESENTRY_L t4 on t3.FENTRYID=t4.FENTRYID
-                where t1.fstockid= {0} --閲囪喘鍏ュ簱鍗曢�夋嫨浠撳簱鍚� 閫夋嫨浠撲綅
+                where t1.fstockid= {0}
                 ", id);
-//select c.HID as HItemID,c.HID as HERPItemID,c.HNumber as HNumber,c.HName as HName,c.HNumber as HShortNumber,0 as HParentID,c.HSPType as HSPType,c.HSrcSPType as HSrcSPType,c.HDesSPType as HDesSPType
-//,1 as HLevel,'true' as HEndFlag,'false' as HStopflag,'CLD-ERP瀵煎叆' as HRemark,a.FSTOCKID as HSPGroupID,'宸蹭娇鐢�' as HUseFlag,getdate() as HMakeTime,a.FCREATEORGID as HCREATEORGID,a.FUSEORGID as HUSEORGID
-//from T_BD_STOCK A  with(nolock)
-//inner join T_BD_STOCK_L L with(nolock) on A.FSTOCKID = L.FSTOCKID
-//inner join T_BD_FLEXVALUESCOM ST with(nolock) on a.FSTOCKID = st.FSTOCKID
-//inner join(select c.FID HID, c.FF100001 HSPTypeID
-//,''""FStockLocId"":{
-//""FSTOCKLOCID__FF100001"":{
-//""FNUMBER"":""'' HSPType
-//,''""FSrcStockLocId"":{
-//""FSRCSTOCKLOCID__FF100001"":{
-//""FNUMBER"":""'' HSrcSPType
-//,''""FDestStockLocId"":{
-//""FDESTSTOCKLOCID__FF100001"":{
-//""FNUMBER"":""'' HDesSPType
-//,s.FNUMBER HNumber, sp.FName HName
-//from T_BAS_FLEXVALUESDETAIL c
-//inner
-//join T_BAS_FLEXVALUESENTRY s on s.FENTRYID = c.FF100001
-//inner
-//join T_BAS_FLEXVALUESENTRY_L sp on sp.FENTRYID = c.FF100001) c on c.HID = st.FSTOCKLOCID
-//inner join T_ORG_ORGANIZATIONS_L o with(nolock) on o.FORGID = A.FUSEORGID
-//where ST.FISDISABLE = '0' AND ST.FSYSDISABLE = '0'
-//and l.FLOCALEID = 2052 and isnull(o.FNAME,'') <> ''
-//and a.FSTOCKID = {0}
-                                        
+
+                //鏂帿灏斾粨浣嶉泦鐨勫�兼槸  t2.FF100006
+                //47娴嬭瘯鍙互鐢�  t2.FF100001
+
+                LogService.Write("鏌ヨ鍣╯ql锛�" + sql);
+
                 DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
                 DataTable maindt = ds.Tables[0];//浠撳簱
                 DataTable subdt = ds.Tables[1];//浠撲綅
-                if (maindt.Rows.Count == 0)
+                if (maindt.Rows.Count == 0 && subdt.Rows.Count == 0)
                 {
                     LogService.Write("浠撳簱浠撲綅鍚屾寮傚父锛�" + sql);
                     continue;
diff --git a/zymes/OperationService/zymes_RealessTaxMIX.cs b/zymes/OperationService/zymes_RealessTaxMIX.cs
index 878cc15..adc2fdd 100644
--- a/zymes/OperationService/zymes_RealessTaxMIX.cs
+++ b/zymes/OperationService/zymes_RealessTaxMIX.cs
@@ -73,7 +73,7 @@
                 }
 
 
-                //鑾峰彇渚涘簲鍟嗙殑浣跨敤缁勭粐
+                //鑾峰彇绋庣巼鐨勪娇鐢ㄧ粍缁�
                 DataTable dataTable = LogService.Get_DisPlayOrg(Context, subdt.Rows[0]["HUSEORGID"].ToString());
                 if (dataTable.Rows.Count == 0)
                     continue;
diff --git a/zymes/Report/FeedPlanDetailReport.cs b/zymes/Report/FeedPlanDetailReport.cs
index 23d9de6..2bfc954 100644
--- a/zymes/Report/FeedPlanDetailReport.cs
+++ b/zymes/Report/FeedPlanDetailReport.cs
@@ -72,9 +72,15 @@
             string FSupplier = "0";//渚涘簲鍟� 榛樿鍊间负0
             string FOrgId = "100092"; //缁勭粐(榛樿鍙栧�煎綋鍓嶇粍缁�)
             string FFactoryArea = ""; //鍘傚尯
+#pragma warning disable CS0219 // 鍙橀噺鈥淔Buyer鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
             string FBuyer = ""; //閲囪喘鍛�
+#pragma warning restore CS0219 // 鍙橀噺鈥淔Buyer鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
+#pragma warning disable CS0219 // 鍙橀噺鈥淔Warehouse鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
             string FWarehouse = "";//浠撳簱
+#pragma warning restore CS0219 // 鍙橀噺鈥淔Warehouse鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
+#pragma warning disable CS0219 // 鍙橀噺鈥淔IsMainMaterial鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
             bool FIsMainMaterial = false;//鏄惁涓绘枡
+#pragma warning restore CS0219 // 鍙橀噺鈥淔IsMainMaterial鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
 
             //5fe5d920a3f2bf
             //5fe5d926a3f2c1
diff --git a/zymes/Report/FeedPlanOrderDetailReport.cs b/zymes/Report/FeedPlanOrderDetailReport.cs
index 068c191..a2da260 100644
--- a/zymes/Report/FeedPlanOrderDetailReport.cs
+++ b/zymes/Report/FeedPlanOrderDetailReport.cs
@@ -67,9 +67,15 @@
             string FSupplier = "0";//渚涘簲鍟� 榛樿鍊间负0
             string FOrgId = "100092"; //缁勭粐(榛樿鍙栧�煎綋鍓嶇粍缁�)
             string FFactoryArea = ""; //鍘傚尯
+#pragma warning disable CS0219 // 鍙橀噺鈥淔Buyer鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
             string FBuyer = ""; //閲囪喘鍛�
+#pragma warning restore CS0219 // 鍙橀噺鈥淔Buyer鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
+#pragma warning disable CS0219 // 鍙橀噺鈥淔Warehouse鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
             string FWarehouse = "";//浠撳簱
+#pragma warning restore CS0219 // 鍙橀噺鈥淔Warehouse鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
+#pragma warning disable CS0219 // 鍙橀噺鈥淔IsMainMaterial鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
             bool FIsMainMaterial = false;//鏄惁涓绘枡
+#pragma warning restore CS0219 // 鍙橀噺鈥淔IsMainMaterial鈥濆凡琚祴鍊硷紝浣嗕粠鏈娇鐢ㄨ繃瀹冪殑鍊�
             string saleOrderNo = "";//閲囪喘璁㈠崟鍙�
             //5fe5d920a3f2bf
             //5fe5d926a3f2c1
diff --git a/zymes/Report/FeedPlanReport.cs b/zymes/Report/FeedPlanReport.cs
index ffcbd9c..a62a113 100644
--- a/zymes/Report/FeedPlanReport.cs
+++ b/zymes/Report/FeedPlanReport.cs
@@ -82,7 +82,9 @@
 
             return header;
 
+#pragma warning disable CS0162 // 妫�娴嬪埌鏃犳硶璁块棶鐨勪唬鐮�
             return header;
+#pragma warning restore CS0162 // 妫�娴嬪埌鏃犳硶璁块棶鐨勪唬鐮�
         }
 
         public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
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 a415740..50026dc 100644
--- a/zymes/zymes_Project.csproj
+++ b/zymes/zymes_Project.csproj
@@ -8,7 +8,7 @@
     <OutputType>Library</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>zymes_Project</RootNamespace>
-    <AssemblyName>zymes_Project_%28V1.0%29_9010_20250812_zrg</AssemblyName>
+    <AssemblyName>zymes_Project</AssemblyName>
     <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <Deterministic>true</Deterministic>
@@ -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" />
@@ -142,6 +143,7 @@
     <Compile Include="OperationService\zymes_RealessSalSeOutStock.cs" />
     <Compile Include="OperationService\zymes_RealessSettleStyle.cs" />
     <Compile Include="OperationService\zymes_RealessRecCondition.cs" />
+    <Compile Include="OperationService\zymes_RealessCusMaterial.cs" />
     <Compile Include="OperationService\zymes_RealessStock.cs" />
     <Compile Include="OperationService\zymes_RealessCustomer.cs" />
     <Compile Include="OperationService\zymes_RealessPaymentCondition.cs" />

--
Gitblit v1.9.1