From 4578ac29563e8a8bd43d0a5a64d54e5428f08b92 Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期一, 20 十月 2025 22:34:37 +0800
Subject: [PATCH] 折扣表 业务组 销售退货原因/退货类型 同步插件优化

---
 zymes/OperationService/zymes_RealessOperatorGroup.cs      |  136 +++++++++++++++++
 zymes/OperationService/zymes_RealessAssistantDataEntry.cs |  160 ++++++++++++++++++++
 zymes/OperationService/zymes_RealessDiscount.cs           |  143 +++++++++++++++++
 zymes/zymes_Project.csproj                                |    3 
 4 files changed, 442 insertions(+), 0 deletions(-)

diff --git a/zymes/OperationService/zymes_RealessAssistantDataEntry.cs b/zymes/OperationService/zymes_RealessAssistantDataEntry.cs
new file mode 100644
index 0000000..9382a0c
--- /dev/null
+++ b/zymes/OperationService/zymes_RealessAssistantDataEntry.cs
@@ -0,0 +1,160 @@
+锘縰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_RealessAssistantDataEntry : 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 HID,a.FENTRYID HEntryID,a.FNUMBER HNumber,l.FDATAVALUE HName,
+                case when a.FFORBIDSTATUS='A' then 0 else 1 end as HStopflag,
+                l.FDESCRIPTION HRemark,a.FCREATEDATE HMakeTime, us1.FName HMakeEmp,
+                a.FAPPROVEDATE HCheckTime,us2.FNAME HCheckEmp,a.FMODIFYDATE HModifyTime,
+                us3.FNAME HModifyEmp,l.FLOCALEID HLOCALEID,a.FUSEORGID HUSEORGID,
+                a.FCREATEORGID HCREATEORGID,o.FNUMBER as HOrganNumber
+                from T_BAS_ASSISTANTDATAENTRY a with(nolock)
+                inner join T_BAS_ASSISTANTDATAENTRY_L l with(nolock) on a.FENTRYID=l.FENTRYID
+                left join T_SEC_user us1 with(nolock) on a.FCREATORID=us1.FUSERID
+                left join T_SEC_user us2 with(nolock) on a.FAPPROVERID=us2.FUSERID
+                left join T_SEC_user us3 with(nolock) on a.FMODIFIERID=us3.FUSERID
+                left join T_ORG_Organizations o with(nolock) on 1=o.FORGID
+                Where l.FLOCALEID=2052 and a.FFORBIDSTATUS='A' and a.FENTRYID='{id}'
+                select a.FID HID,a.FNUMBER HNumber,l.FName HName,l.FDESCRIPTION HRemark,l.FLOCALEID HLOCALEID
+                from T_BAS_ASSISTANTDATA a with(nolock)
+                inner join T_BAS_ASSISTANTDATA_L l with(nolock) on a.FID=l.FID
+                Where l.FLOCALEID=2052 and a.FID=
+                (select top 1 FID from T_BAS_ASSISTANTDATAENTRY  with(nolock) where FENTRYID = '{id}' )
+                ";
+                LogService.Write("閫�璐х被鍨�/閿�鍞��璐у師鍥狅細" + sql);
+                // 涓昏〃
+                DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[1];
+                // 瀛愯〃
+                DataTable dtSub = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
+                if (dt.Rows.Count == 0)
+                {
+                    LogService.Write("閫�璐х被鍨�/閿�鍞��璐у師鍥犲悓姝ュ紓甯革細" + sql);
+                    continue;
+                }
+
+                //鑾峰彇鍒涘缓閫�璐х被鍨�/閿�鍞��璐у師鍥犵殑浣跨敤缁勭粐 涓昏〃娌℃湁缁勭粐瀛楁锛屼粠瀛愯〃鑾峰彇
+                DataTable dataTable = LogService.Get_DisPlayOrg(Context, dtSub.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 dt.Rows)
+                // {
+                //     JObject fentrymodel = new JObject();
+                //     foreach (DataColumn column in dt.Columns)
+                //     {
+                //         fentrymodel.Add(column.ColumnName, dr[column.ColumnName].ToString());
+                //     }
+                //     array.Add(fentrymodel);
+                // }
+                JArray array = new JArray();//鏄庣粏琛�
+                foreach (DataRow dr in dtSub.Rows)
+                {
+                    JObject fentrymodel = new JObject();
+                    foreach (DataColumn column in dtSub.Columns)
+                    {
+                        fentrymodel.Add(column.ColumnName, dr[column.ColumnName].ToString());
+                    }
+                    array.Add(fentrymodel);
+                }
+                // 涓昏〃
+                JObject model = new JObject();
+                DataRow maindr = dt.Rows[0];
+                foreach (DataColumn column in dt.Columns)
+                {
+                    model.Add(column.ColumnName, maindr[column.ColumnName].ToString());
+                }
+                model.Add("FENTRY", array);
+
+                JObject _jsonRoot = new JObject()
+                {
+                    ["model"] = model
+                };
+                LogService.Write("閫�璐х被鍨�/閿�鍞��璐у師鍥犲悓姝�" + model);
+                var client = new RestSharp.RestClient(http);
+                var requestPost = new RestRequest("Gy_AssistantDataEntry/SaveGy_AssistantDataEntryApi", 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_AssistantDataEntry/SaveGy_AssistantDataEntryApi");
+                    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_RealessDiscount.cs b/zymes/OperationService/zymes_RealessDiscount.cs
new file mode 100644
index 0000000..3f4d2c1
--- /dev/null
+++ b/zymes/OperationService/zymes_RealessDiscount.cs
@@ -0,0 +1,143 @@
+锘縰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_RealessDiscount : 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.FNUMBER as HNumber,'' as HName,a.FNUMBER as HShortNumber,
+                0 as HParentID, 1 as HLevel, 1 as HEndFlag,  
+                case when a.FFORBIDSTATUS='A' then 0 else 1 end as HStopflag,
+                'CLD-ERP瀵煎叆' as HRemark,  '宸蹭娇鐢�' as HUseFlag,  a.FCREATORID as HMakeEmp,
+                a.FCREATEDATE as HMakeTime,a.FAPPROVERID as HCheckEmp,a.FAPPROVEDATE as HCheckTime,
+                a.FMODIFIERID as HModifyEmp,a.FMODIFYDATE as HModifyTime,a.FFORBIDERID as HStopEmp,
+                a.FFORBIDDATE as HStopTime,a.FCREATEORGID as HCREATEORGID,a.FUSEORGID as HUSEORGID,
+                a.FPURCHASEORGID as HPURCHASEORGID,a.FSUPPLIERID as HSupID,a.FCURRENCYID as HCurID,
+                a.FPRICELISTID as HPRICELISTID,a.FPRICETYPE as HPRICETYPE,a.FDISCOUNTOBJECT as HDISCOUNTOBJECT,
+                a.FDISCOUNTREASON as HDISCOUNTREASON,a.FDEFDISCOUNTLISTID as HDEFDISCOUNTLISTID,
+	            o.FNUMBER as HOrganNumber
+                from T_PUR_DISCOUNTLIST a with(nolock)
+                left join T_ORG_Organizations o with(nolock) on a.FCREATEORGID=o.FORGID
+                Where a.FID={id}
+                ";
+                LogService.Write("鎶樻墸琛細" + 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();
+
+                // JArray array = new JArray();
+                // foreach(DataRow dr in dt.Rows)
+                // {
+                //     JObject fentrymodel = new JObject();
+                //     foreach (DataColumn column in dt.Columns)
+                //     {
+                //         fentrymodel.Add(column.ColumnName, dr[column.ColumnName].ToString());
+                //     }
+                //     array.Add(fentrymodel);
+                // }
+                // 涓昏〃
+                JObject model = new JObject();
+                DataRow maindr = dt.Rows[0];
+                foreach (DataColumn column in dt.Columns)
+                {
+                    model.Add(column.ColumnName, maindr[column.ColumnName].ToString());
+                }
+                // model.Add("FENTRY", array);
+
+                JObject _jsonRoot = new JObject()
+                {
+                    ["model"] = model
+                };
+                LogService.Write("鎶樻墸琛ㄥ悓姝�" + model);
+                var client = new RestSharp.RestClient(http);
+                var requestPost = new RestRequest("Gy_DiscountList/SaveGy_DiscountListApi", 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_DiscountList/SaveGy_DiscountListApi");
+                    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_RealessOperatorGroup.cs b/zymes/OperationService/zymes_RealessOperatorGroup.cs
new file mode 100644
index 0000000..b6c3956
--- /dev/null
+++ b/zymes/OperationService/zymes_RealessOperatorGroup.cs
@@ -0,0 +1,136 @@
+锘縰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_RealessOperatorGroup : 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)
+            {
+                LogService.Write(billObj.ToString());
+                var id = billObj["Id"].ToString();
+                string sql =string.Empty;
+                sql = $@"
+                /*dialect*/
+                select 
+                b.FENTRYID HItemID, b.FNumber HNumber, c.FName Hname, b.FNumber HShortNumber,
+                0 HParentID, 1 HLevel, 1 HEndFlag,0 HStopFlag, 'CLD瀵煎叆' HRemark,
+                '' HHelpCode,
+                '宸蹭娇鐢�' HUseFlag,
+                b.FBIZORGID HUSEORGID, a.FOPERATORGROUPID HOperatorGroupID, 
+                a.FOPERATORGROUPTYPE HOperatorGroupType, b.FISUSE HIsUse,
+                o.FNUMBER as HOrganNumber
+                from T_BD_OPERATORGROUP a
+                inner join T_BD_OPERATORGROUPENTRY b on a.FOPERATORGROUPID = b.FOPERATORGROUPID
+                inner join T_BD_OPERATORGROUPENTRY_L c on b.FENTRYID = c.FEntryID
+                left join T_ORG_Organizations o with(nolock) on b.FBIZORGID =o.FORGID
+                Where a.FOPERATORGROUPID={id}
+                ";
+                LogService.Write("涓氬姟缁勶細" + 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();
+
+                JArray array = new JArray();
+                foreach(DataRow dr in dt.Rows)
+                {
+                    JObject fentrymodel = new JObject();
+                    foreach (DataColumn column in dt.Columns)
+                    {
+                        fentrymodel.Add(column.ColumnName, dr[column.ColumnName].ToString());
+                    }
+                    array.Add(fentrymodel);
+                }
+                JObject model = new JObject();
+                model.Add("FENTRY", array);
+                
+                JObject _jsonRoot = new JObject()
+                {
+                    ["model"] = model
+                };
+                LogService.Write("涓氬姟缁勫悓姝�" + model);
+                var client = new RestSharp.RestClient(http);
+                var requestPost = new RestRequest("Gy_OperatorGroup/SaveGy_OperatorGroupListApi", 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_OperatorGroup/SaveGy_OperatorGroupListApi");
+                    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/zymes_Project.csproj b/zymes/zymes_Project.csproj
index b76fff7..db8296c 100644
--- a/zymes/zymes_Project.csproj
+++ b/zymes/zymes_Project.csproj
@@ -128,6 +128,9 @@
     <Compile Include="LogService.cs" />
     <Compile Include="OperationService\zymes_MOCHANGE.cs" />
     <Compile Include="OperationService\zymes_RealessCurrency.cs" />
+    <Compile Include="OperationService\zymes_RealessAssistantDataEntry.cs" />
+    <Compile Include="OperationService\zymes_RealessDiscount.cs" />
+    <Compile Include="OperationService\zymes_RealessOperatorGroup.cs" />
     <Compile Include="OperationService\zymes_RealessPurPrice.cs" />
     <Compile Include="OperationService\zymes_RealessOperator.cs" />
     <Compile Include="OperationService\zymes_RealessUnitConvertRate.cs" />

--
Gitblit v1.9.1