From d90b9df0b495e394cb9f955f0852d76c0d08cc7d Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期一, 04 十二月 2023 09:27:12 +0800
Subject: [PATCH] 生产变更单同步

---
 zymes/OperationService/zymes_RealessPurPoorder.cs  |    2 
 zymes/OperationService/zymes_RealessPurReceive.cs  |    2 
 zymes/OperationService/zymes_RealessTaxRate.cs     |    4 
 zymes/OperationService/zymes_MOCHANGE.cs           |  212 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 zymes/OperationService/zymes_RealessStockStatus.cs |    6 
 zymes/zymes_Project.csproj                         |    1 
 6 files changed, 220 insertions(+), 7 deletions(-)

diff --git a/zymes/OperationService/zymes_MOCHANGE.cs b/zymes/OperationService/zymes_MOCHANGE.cs
new file mode 100644
index 0000000..73c4630
--- /dev/null
+++ b/zymes/OperationService/zymes_MOCHANGE.cs
@@ -0,0 +1,212 @@
+锘縰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_MOCHANGE : 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 id = billObj["Id"].ToString();
+
+                var sqls= string.Empty;
+                sqls = $@"select FMONO,FSRCBILLID  from T_PRD_MOCHANGE a 
+inner join T_PRD_MOCHANGEENTRY b on a.FID = b.FID 
+where a.FID ={id}  group by FMONO, FSRCBILLID";
+
+                LogService.Write("1锛�" + sqls);
+                DataSet dataSet = DBServiceHelper.ExecuteDataSet(Context, sqls);
+
+                for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
+                {
+                    var ids = dataSet.Tables[0].Rows[i]["FSRCBILLID"].ToString();
+                    string sql = string.Empty;
+
+                    sql = $@"
+/*dialect*/
+select a.FID AS HInterID,a.FENTRYID as HENTRYID,a.FSEQ as HSEQ,a.FQTY as HQty,a.FQTY as HQTYMUST,aa.FSTOCKINQUASELAUXQTY as HRelationQty,0 as HRelationMoney,a.FPLANSTARTDATE as HPlanBeginDate,a.FPLANFINISHDATE as HPlanEndDate
+,a.FPLANSTARTDATE as HBeginDate,a.FPLANFINISHDATE as HEndDate,a.FMATERIALID as HMaterID,a.FUNITID as HUnitID,a.FSTOCKID as HWHID,isnull(a.FSTOCKLOCID,0) as HSPID,0 as HPROCID,isnull(a.FWORKSHOPID,0) as HDEPTID,a.FBOMID as HBomID,a.FLOT_TEXT as HBatchNo,'CLOUD瀵煎叆' as HRemark
+,a.FSRCBILLID as HSourceInterID,a.FSRCBILLENTRYID as HSourceEntryID,a.FSRCBILLNO as HSourceBillNo,a.FSRCBILLTYPE as HSourceBillType,a.FSALEORDERID as HSeOrderInterID,a.FSALEORDERENTRYID as HSeOrderEntryID,a.FSALEORDERNO as HSeOrderBillNo
+,FSTOCKINORGID as HSTOCKINORGID,FINSTOCKOWNERID as HINSTOCKOWNERID,FINSTOCKOWNERTYPEID as HINSTOCKOWNERTYPEID,FREQUESTORGID as HREQUESTORGID
+,0 as HPlanMode,a.FMTONO as HMTONo,a.FID as HERPInterID,a.FENTRYID as HERPEntryID,aa.FSTATUS as HSTATUS
+,isnull(orm.FCUSTID,0) as HEntryCusID,aa.FREPQUASELAUXQTY as HICMOReportRelationQty,a.FAUXPROPID as HAuxPropID
+,'' as HProdMaterCode,'' as HCusShortName,'' as HCusNeedMaterial,'' as HPlanSendGoodsDate
+,'' as HProdMaterName,'' as HWorkRemark,'' as HImportNote,'' as HCusName
+,0 as HInstockQty_Max,0 as HInstockQty_Min,FCOSTRATE as HCOSTRATE,FISBACKFLUSH as HISBACKFLUSH,FCHECKPRODUCT as HCHECKPRODUCT
+--,a.FMX_CPCODE,a.FMX_KHNOTE,a.FMX_KHCLCF,a.FMX_CHDATE--姹熶赴鎴庡垱閲戣澏鑷畾涔夊瓧娈�
+--,a.FMX_CPNAME,a.FMX_SCNOTE,a.FMX_ZYNOTE,a.FMX_KHNAME--姹熶赴鎴庡垱閲戣澏鑷畾涔夊瓧娈�
+,'' as HPickLabel,a.FSTOCKINLIMITH as HPickLabelNumber,a.FSTOCKINLIMITL as HCusNumber
+from T_PRD_MOENTRY a with(nolock)
+inner join T_PRD_MOENTRY_A aa with(nolock) on a.FENTRYID=aa.FENTRYID
+left join T_SAL_ORDERENTRY ore with(nolock) on a.FSALEORDERID=ore.FID and a.FSALEORDERENTRYID=ore.FEntryID 
+left join T_SAL_ORDER orm with(nolock) on ore.FID=orm.FID
+Where a.FID={ids} 
+select a.FID HInterID ,2000 HYear,1 HPeriod,'3710' HBillType,a.FDATE HDate,a.FbillNo HBillNo,'2' HBillStatus,0 HEMPID,0 HRoutingInterID
+,1 HPlanQty,0 HRelationQty,a.FDATE HPlanBeginDate ,getdate() HPlanEndDate ,a.FDATE HBeginDate,getdate() HEndDate,0 HMaterID,0 HUnitID,0 HBomID,'' HBatchNo
+,0 HSourceInterID,0 HSourceEntryID,'' HSourceBillNo,'' HSourceBillType,0 HSeOrderInterID,0 HSeOrderEntryID,'' HSeOrderBillNo
+,FPRDORGID HPRDORGID,FENTRUSTORGID HENTRUSTORGID,FOWNERID HOWNERID,FOWNERTYPEID HOWNERTYPEID
+,0 HCusID,isnull(a.FWORKSHOPID,0) HDeptID,'CLOUD瀵煎叆' HRemark,a.FCREATORID HMaker,getdate() HMakeDate,a.FAPPROVERID HChecker,a.FAPPROVEDATE HCheckDate,'' HMTONo,a.FID HERPInterID,a.FBILLTYPE HERPBillType
+,case when a.FISREWORK=1 then '杩斿伐' else '鏅��' end HBillSubType
+from T_PRD_MO a with(nolock)
+Where a.FID={ids} 
+select a.FID AS HInterID,a.FEntryID HEntryID,isnull(a.FMATERIALID,0) HMaterID,a.FUnitID HUnitID,a.FNEEDQTY HQty,a.FNEEDQTY HQtyMust,isnull(C.FStockID,0) HWHID,'CLOUD瀵煎叆' HRemark
+,isnull(a.FMOID,0) HSourceInterID,isnull(a.FMOENTRYID,0) HSourceEntryID,isnull(a.FMOBILLNO,'') HSourceBillNo,'3710' HSourceBillType,isnull(a.FMOID,0) HICMOInterID,isnull(a.FMOENTRYID,0) HICMOEntryID,isnull(a.FMOBILLNO,'') HICMOBillNo
+,isnull(c.FCHILDSUPPLYORGID,0) HCHILDSUPPLYORGID,isnull(c.FSUPPLYORG,0) HSUPPLYORGID,isnull(c.FENTRUSTPICKORGID,0) HENTRUSTPICKORGID,isnull(c.FSRCTRANSORGID,0) HSRCTRANSORGID,isnull(c.FGROUPBYOWNERID,0) HGROUPBYOWNERID,isnull(c.FOWNERID,0) HOWNERID,isnull(c.FOWNERTYPEID,'') HOWNERTYPEID
+,(q.FSELPICKEDQTY - q.FSELPRCDRETURNQTY) HRelationQty,q.FSELTRANSLATEQTY HMoveStockQty,isnull(a.FAUXPROPID,0) HAuxPropID,isnull(c.FLOT_TEXT,'') HBatchNO,isnull(a.FMTONo,'') HMTONo,a.FBASENUMERATOR/a.FBASEDENOMINATOR HQtyScrap,isnull(a.FID,0) HERPInterID,a.FEntryID HERPEntryID
+,q.FWIPQTY HBackRelationQty,a.FNumerator HNumerator,a.FDenominator HDenominator
+,isnull(a.FBASEUNITID,0) HBASEUNITID,isnull(a.FProcessID,0) HProcessID,isnull(a.FMOENTRYSEQ,0) HICMOENTRYSEQ,isnull(a.FPROJECTNO,'') HPROJECTNO,isnull(a.FOPERID,0) HOPERID,isnull(a.FSEQ,0) HSEQ,isnull(c.FSTOCKSTATUSID,0) HSTOCKSTATUSID
+,isnull(c.FLOT,0) HLOT,c.FOPTQUEUE HOPTQUEUE,isnull(c.FRESERVETYPE,0) HRESERVETYPE,q.FSelPickedQty HSelPickedQty,q.FSELPRCDRETURNQTY HSELPRCDRETURNQTY,isnull(tp.FNAME,0) as HProcName
+from T_PRD_PPBOMEntry a with(nolock)
+left join T_PRD_PPBOMENTRY_LK l with(nolock) on a.FENTRYID=l.FENTRYID
+inner join T_PRD_PPBOMENTRY_C c with(nolock) on A.FENTRYID=c.FENTRYID
+inner join T_PRD_PPBOMENTRY_Q q with(nolock) on A.FENTRYID=q.FENTRYID
+left join T_ENG_PROCESS_L tp with(nolock) on A.FProcessID=tp.FID
+left join T_ENG_PROCESS_L tl on tp.FID =tl.fid and tl.FLOCALEID=2052
+Where a.FMOID={ids}
+select a.FID HInterID,YEAR(a.FCREATEDate) AS HYear,MONTH(a.FCREATEDate) AS HPeriod,'3720' HBillType,'3720' HBillSubType,a.FCREATEDate HDate
+,isnull(a.FbillNo,'') HBillNo,case when isnull(a.FAPPROVERID,0)=0 then 1 else 2 end HBillStatus,isnull(a.FMOID,0) HICMOInterID,isnull(a.FMOENTRYID,0) HICMOEntryID
+,a.FMATERIALID HMaterID,a.FUNITID HUnitID,a.FQTY HQty,isnull(a.FWORKSHOPID,0) HDeptID,isnull(a.FCREATORID,0) HMaker,getdate() HMakeDate,isnull(a.FAPPROVERID,0) HChecker,a.FAPPROVEDATE HCheckDate
+,isnull(a.FSALEORDERNO,'') HSeOrderBillNo,isnull(a.FSALEORDERID,0) HSeOrderInterID,isnull(a.FSALEORDERENTRYID,0) HSeOrderEntryID
+,isnull(a.FPRDORGID,0) HPRDORGID,isnull(a.FENTRUSTORGID,0) HENTRUSTORGID,isnull(a.FPARENTOWNERID,0) HPARENTOWNERID,isnull(a.FPARENTOWNERTYPEID,'') HPARENTOWNERTYPEID,isnull(a.FREQSRC,'') HREQSRC
+,a.FID HERPInterID,'PPBOM' HERPBillType,isnull(a.FSALEORDERENTRYSEQ,0) HSeOrderEntrySEQ,isnull(a.FMOEntrySEQ,0) HICMOEntrySEQ
+from T_PRD_PPBOM a with(nolock)
+Where a.FMOID={ids}
+";
+
+                    LogService.Write("2.1锛�" + sql);
+
+                    DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
+                    DataTable subdt = ds.Tables[0];
+                    DataTable maindt = ds.Tables[1];
+                    DataTable ppbomsubdt = ds.Tables[2];
+                    DataTable ppbommaindt = ds.Tables[3];
+                    if (maindt.Rows.Count == 0 || subdt.Rows.Count == 0)
+                    {
+                        LogService.Write("鐢熶骇璁㈠崟鍙樻洿鍗曞悓姝ュ紓甯革細" + sql);
+                        continue;
+                    }
+                    JObject model = new JObject();//涓昏〃
+                    DataRow maindr = maindt.Rows[0];
+                    foreach (DataColumn column in maindt.Columns)
+                    {
+                        model.Add(column.ColumnName, maindr[column.ColumnName].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);
+                    }
+                    model.Add("HENTRY", array);
+
+                    array = new JArray();//ppbom鏄庣粏琛�
+                    foreach (DataRow dr in ppbommaindt.Rows)
+                    {
+                        JObject fentrymodel = new JObject();
+                        foreach (DataColumn column in ppbommaindt.Columns)
+                        {
+                            fentrymodel.Add(column.ColumnName, dr[column.ColumnName].ToString());
+                        }
+                        array.Add(fentrymodel);
+                    }
+                    model.Add("HPPBOMMAINENTRY", array);
+                    array = new JArray();//ppbom鏄庣粏琛�
+                    foreach (DataRow dr in ppbomsubdt.Rows)
+                    {
+                        JObject fentrymodel = new JObject();
+                        foreach (DataColumn column in ppbomsubdt.Columns)
+                        {
+                            fentrymodel.Add(column.ColumnName, dr[column.ColumnName].ToString());
+                        }
+                        array.Add(fentrymodel);
+                    }
+                    model.Add("HPPBOMSUBENTRY", array);
+
+                    JObject jsonRoot = new JObject()
+                    {
+                        ["model"] = model
+                    };
+
+                    string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 涓氬姟绔欑偣鍦板潃
+                    var client = new RestSharp.RestClient(clientUrl);
+                    //var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
+                    //鏂板
+                    var requestPost = new RestRequest("Sc_ICMOBill/ICMOBillSaveApi", 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," + "Sc_ICMOBill/ICMOBillSaveApi");
+                        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_RealessPurPoorder.cs b/zymes/OperationService/zymes_RealessPurPoorder.cs
index b0d3ee1..01d92e7 100644
--- a/zymes/OperationService/zymes_RealessPurPoorder.cs
+++ b/zymes/OperationService/zymes_RealessPurPoorder.cs
@@ -215,7 +215,7 @@
 Where a.FID={id}
 select a.FID as HInterID,year(a.FDATE) as HYear,month(a.FDATE) as HPeriod,'1102' as HBillType,'1102' as HBillSubType,a.FDate as HDate
 ,a.FBillNo as HBillNo,case when a.FAPPROVERID=0 then 1 else 2 end HBillStatus,'' as HAddress,0 as HSSID,a.FDATE as HSSDate,0 as HPSStyleID
-,a.FSUPPLIERID as HSupID,0 as HCurID,0 as HExRate,a.FPURCHASERID as HEmpID,0 as HManagerID,a.FPURCHASEDEPTID as HDeptID
+,a.FSUPPLIERID as HSupID,a.F_RCZU_JXS HSupDealerID,0 as HCurID,0 as HExRate,a.FPURCHASERID as HEmpID,0 as HManagerID,a.FPURCHASEDEPTID as HDeptID
 ,'CLOUD瀵煎叆' as HExplanation,'CLOUD瀵煎叆' as HRemark,a.FBillNo as HInnerBillNo
 ,a.FAPPROVERID as HChecker,a.FAPPROVEDATE as HCheckDate,a.FCREATORID as HMaker,a.FCREATEDATE as  HMakeDate
 ,a.FID as HERPInterID,a.FBILLTYPEID as HERPBillType,a.FPURCHASEORGID as HPURCHASEORGID,a.FPURCHASERGROUPID as HPURCHASERGROUPID,a.FPROVIDERID as HPROVIDERID,a.FSETTLEID as HSETTLEID
diff --git a/zymes/OperationService/zymes_RealessPurReceive.cs b/zymes/OperationService/zymes_RealessPurReceive.cs
index a9f6a76..3d09830 100644
--- a/zymes/OperationService/zymes_RealessPurReceive.cs
+++ b/zymes/OperationService/zymes_RealessPurReceive.cs
@@ -215,7 +215,7 @@
 where a.FID={id}
 
 select a.FID as HInterID,year(isnull(a.FDATE,GETDATE())) as HYear,month(isnull(a.FDATE,GETDATE())) as HPeriod,'1103' as HBillType,case when a.FBUSINESSTYPE='WW' then '12511' else '12510' end as HBillSubType,isnull(a.FDATE,GETDATE()) as HDate
-,a.FBillNo as HBillNo,case when a.FAPPROVERID=0 then 1 else 2 end HBillStatus,a.FSUPPLIERID as HSupID,a.FPURCHASERID as HManagerID,a.FRECEIVERID as HEmpID,a.FRECEIVEDEPTID as HDeptID,a.FNOTE as HRemark
+,a.FBillNo as HBillNo,case when a.FAPPROVERID=0 then 1 else 2 end HBillStatus,a.FSUPPLIERID as HSupID,a.F_RCZU_JXS HSupDealerID,a.FPURCHASERID as HManagerID,a.FRECEIVERID as HEmpID,a.FRECEIVEDEPTID as HDeptID,a.FNOTE as HRemark
 ,a.FCREATORID as HMaker,a.FCREATEDATE as HMakeDate,a.FAPPROVERID as HChecker ,a.FAPPROVEDATE as HCheckDate,a.FOWNERTYPEID as HOWNERTYPEID,a.FOWNERID as HOWNERID
 ,a.FID as HERPInterID,a.FBillTypeID as HERPBillType,a.FPURORGID as HPURCHASEORGID,a.FSTOCKORGID as HSTOCKORGID,a.FDEMANDORGID as HREQUIREORGID
 ,a.FSTOCKGROUPID as HSTOCKGROUPID,isnull(a.FSENDBILLNO,'') as HSENDBILLNO,isnull(a.FLADBILLNO,'') as HLADBILLNO,a.FPURDEPTID as HPURDEPTID,a.FPURGROUPID as HPURGROUPID,a.FSUPPLYID as HSUPPLYID
diff --git a/zymes/OperationService/zymes_RealessStockStatus.cs b/zymes/OperationService/zymes_RealessStockStatus.cs
index ce1ba10..c1ca886 100644
--- a/zymes/OperationService/zymes_RealessStockStatus.cs
+++ b/zymes/OperationService/zymes_RealessStockStatus.cs
@@ -45,9 +45,9 @@
             Entity entity = this.BusinessInfo.GetEntity("FEntity");//鑾峰彇鏄庣粏淇℃伅
             foreach (var billObj in e.DataEntitys)
             {
-                //var forgName = Context.CurrentOrganizationInfo.Name;
-                //if (!forgName.Contains("鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�"))
-                //    continue;
+                var forgName = Context.CurrentOrganizationInfo.Name;
+                if (!forgName.Contains("鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�"))
+                    continue;
                 var id = billObj["Id"].ToString();
                 string sql = string.Empty;
                 sql = $@"
diff --git a/zymes/OperationService/zymes_RealessTaxRate.cs b/zymes/OperationService/zymes_RealessTaxRate.cs
index 5b04194..fb6626f 100644
--- a/zymes/OperationService/zymes_RealessTaxRate.cs
+++ b/zymes/OperationService/zymes_RealessTaxRate.cs
@@ -46,8 +46,8 @@
             foreach (var billObj in e.DataEntitys)
             {
                 var forgName = Context.CurrentOrganizationInfo.Name;
-                //if (!forgName.Contains("鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�"))
-                //    continue;
+                if (!forgName.Contains("鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�"))
+                    continue;
                 var id = billObj["Id"].ToString();
                 string sql = string.Empty;
                 sql = $@"
diff --git a/zymes/zymes_Project.csproj b/zymes/zymes_Project.csproj
index 78f5284..1f15e20 100644
--- a/zymes/zymes_Project.csproj
+++ b/zymes/zymes_Project.csproj
@@ -126,6 +126,7 @@
     <Compile Include="HttpClient.cs" />
     <Compile Include="InvokeHelper.cs" />
     <Compile Include="LogService.cs" />
+    <Compile Include="OperationService\zymes_MOCHANGE.cs" />
     <Compile Include="OperationService\zymes_RealessCurrency.cs" />
     <Compile Include="OperationService\zymes_RealessOperator.cs" />
     <Compile Include="OperationService\zymes_RealessRateType.cs" />

--
Gitblit v1.9.1