From 6907552cef400c7b084b7290faf3e2bdeed45f6b Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期一, 20 十月 2025 14:03:52 +0800
Subject: [PATCH] 增加销售出库单,退货通知单同步mes插件

---
 zymes/OperationService/zymes_RealessSeOutStockBack.cs |  187 +++++++++++++++++++++++++++++++
 zymes/OperationService/zymes_RealessSellOut.cs        |  163 +++++++++++++++++++++++++++
 zymes/zymes_Project.csproj                            |    2 
 3 files changed, 352 insertions(+), 0 deletions(-)

diff --git a/zymes/OperationService/zymes_RealessSeOutStockBack.cs b/zymes/OperationService/zymes_RealessSeOutStockBack.cs
new file mode 100644
index 0000000..0ee16e9
--- /dev/null
+++ b/zymes/OperationService/zymes_RealessSeOutStockBack.cs
@@ -0,0 +1,187 @@
+锘縰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_RealessSeOutStockBack : 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();
+                LogService.Write("閫�璐ч�氱煡鍗曞悓姝d锛�" + id);
+                string sql = string.Empty;
+                sql = $@"
+                /*dialect*/                
+                select 
+                    a.FID as HInterID,year(a.FDate) as HYear,month(a.FDate) as HPeriod,
+                    '1403' as HBillType,'1403' as HBillSubType,a.FDate as HDate,a.FbillNo as HBillNo,
+                    case when isnull(a.FAPPROVERID,0)=0 then 1 else 2 end as HBillStatus,
+                    a.FRETCUSTID as HCusID,a.FSTOCKERID as HManagerID,
+                    isnull(a.FSALEDEPTID,0) as HDeptID,'CLD瀵煎叆' as HRemark,
+                    a.FRECEIVEADDRESS as HAddress,0 as HSSID,0 as HCurID,0 as HWHID,1 as HExRate,
+                    a.FSALESMANID as HEmpID,'' as HExplanation,'' as HInnerBillNo,a.FSALEORGID as HSALEORGID,
+                    a.FRETORGID as HDELIVERYORGID,isnull(a.FOWNERID,0) as HOWNERID,isnull(a.FOWNERTYPEID,'') as HOWNERTYPEID,
+                    isnull(us1.FNAME,'') as HMaker,a.FCREATEDATE as HMakeDate,
+                    isnull(us2.FNAME,'') as HChecker,a.FAPPROVEDATE as HCheckDate,
+                    isnull(us3.FNAME,'') as HUpDater,a.FMODIFYDATE as HUpDateDate,
+                    isnull(us4.FNAME,'') as HDeleteMan,a.FCANCELDATE as HDeleteDate,
+                    a.FID as HERPInterID,a.FBILLTYPEID as HERPBillType,a.FSETTLECUSID as HSETTLECUSID,
+                    a.FPAYCUSID as HPAYCUSID,a.FRECEIVECUSID as HRECEIVECUSID,a.FSALEGROUPID as HSALEGROUPID,
+                    a.FHEADLOCID as HHEADLOCID,a.FRECCONTACTID as HRECCONTACTID,a.FRETURNREASON as HRETURNREASON,
+                    a.FRETDEPTID as HRETDEPTID,a.FDESCRIPTION as HDESCRIPTION,a.FBUSINESSTYPE as HBUSINESSTYPE,o.FNUMBER HOrganNumber
+                from T_SAL_RETURNNOTICE a with(nolock)
+                 left join T_ORG_Organizations  o with (nolock) on a.FSALEORGID = o.FORGID
+                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_SEC_user us4 with(nolock) on a.FCANCELLERID=us4.FUSERID
+                where a.FID={id}
+                select 
+                    a.FID as HInterID,a.FEntryID as HEntryID,a.FMATERIALID as HMaterID,a.FUnitID as HUnitID,
+                    a.FQty as HQty,isnull(f.FPRICE,0) as HPrice,0 as HMoney,0 as HTaxMoney,
+                    isnull(f.FTAXPRICE,0) as HTaxPrice,isnull(a.FSTOCKID,0) as HWHID,'CLOUD瀵煎叆' as HRemark,
+                    isnull(L.FSBILLID,0) as HSourceInterID,isnull(L.FSID,0) as HSourceEntryID,isnull(a.FSRCBILLNO,'') as HSourceBillNo,
+                    a.FSRCTYPE as HSourceBillType,0 as HSeOrderInterID,a.FSOENTRYID as HSeOrderEntryID,a.FORDERNO as HSeORderBillNo,
+                    a.FOWNERID as HOWNERID,a.FOWNERTYPEID as HOWNERTYPEID,isnull(fin.FSETTLEORGID,0) as HSETTLEORGID,
+	                a.FJOINRETQTY as HRelationQty,a.FAUXPROPID as HAuxPropID,a.FLot_TEXT as HBatchNO,isnull(a.FMTONo,'') as HMTONo,
+                    a.FID as HERPInterID,a.FEntryID as HERPEntryID,a.FSOBILLTYPEID as HSOBILLTYPEID,a.FRMTYPE as HRMTYPE,
+                    a.FSTOCKUNITID as HSTOCKUNITID,a.FBASEUNITID as HBASEUNITID,a.FDELIVERYDATE as HDELIVERYDATE,
+	                a.FDESCRIPTION as HDESCRIPTION,isnull(a.FMAPID,'') as HMAPID,e.FPARENTMATID as HPARENTMATID,
+                    case when e.FISRETURNCHECK is null then 'false'when e.FISRETURNCHECK = 1 then 'true' else 'false' end as HISRETURNCHECK,e.FROWTYPE as HROWTYPE,e.FROWID as HROWID,e.FPARENTROWID as HPARENTROWID,
+                    isnull(f.FTAXCOMBINATION,0) as HTAXCOMBINATION,isnull(f.FPRICEUNITID,0) as HPRICEUNITID,
+                    isnull(f.FTaxRate,0) as HTaxRate,isnull(f.FPRICECOEFFICIENT,0) as HPRICECOEFFICIENT,
+                    isnull(f.FSYSPRICE,0) as HSYSPRICE,isnull(f.FLIMITDOWNPRICE,0) as HLIMITDOWNPRICE,
+                    isnull(f.FDISCOUNTRATE,0) as HDISCOUNTRATE,case when f.FISFREE is null then 'false'when f.FISFREE = 1 then 'true' else 'false' end as HISFREE,
+                    isnull(fin.FSETTLETYPEID,0) as HSETTLETYPEID,isnull(fin.FCHAGECONDITION,0) as HCHAGECONDITION,
+                    isnull(fin.FSETTLECURRID,0) as HSETTLECURRID,isnull(fin.FLOCALCURRID,0) as HLOCALCURRID,
+                    isnull(fin.FEXCHANGETYPEID,0) as HEXCHANGETYPEID,case when fin.FISINCLUDEDTAX is null then 'false'when fin.FISINCLUDEDTAX = 1 then 'true' else 'false' end as HISINCLUDEDTAX,
+                   case when fin.FISPRICEEXCLUDETAX is null then 'false'when fin.FISPRICEEXCLUDETAX = 1 then 'true' else 'false' end as HISPRICEEXCLUDETAX,isnull(tax.FTAXRATEID,0) as HTAXRATEID,
+                    isnull(tax.FTAXRATE,0) as HTaxRate_TAX,isnull(tax.FTAXAMOUNT,0) as HTAXAMOUNT_TAX,
+                    isnull(tax.FCOSTPERCENT,0) as HCOSTPERCENT,isnull(tax.FCOSTAMOUNT,0) as HCOSTAMOUNT,
+                    case when tax.FVAT is null then 'false'when tax.FVAT = 1 then 'true' else 'false' end as HVAT,
+					case when tax.FSELLERWITHHOLDING is null then 'false'when tax.FSELLERWITHHOLDING = 1 then 'true' else 'false' end as HSELLERWITHHOLDING,
+                    case when tax.FBUYERWITHHOLDING is null then 'false'when tax.FBUYERWITHHOLDING = 1 then 'true' else 'false' end as HBUYERWITHHOLDING,a.FEXPUNIT as HEXPUNIT,
+                    a.FEXPPERIOD as HEXPPERIOD,isnull(a.FPRODUCEDATE,'1900-01-01 00:00:00.000') as HProduceDate,isnull(a.FEXPIRYDATE,'1900-01-01 00:00:00.000') as HExpiryDate
+                from T_SAL_RETURNNOTICEENTRY a with(nolock)
+                inner join T_SAL_RETURNNOTICEENTRY_E e with(nolock) on a.FENTRYID=e.FENTRYID
+                left join T_SAL_RETURNNOTICEENTRY_F f with(nolock) on a.FID=f.FID and a.FENTRYID=f.FENTRYID
+                left join T_SAL_RETURNNOTICEENTRY_LK L with(nolock) on a.FENTRYID=L.FENTRYID
+                left join T_SAL_RETURNNOTICEFIN fin with(nolock) on a.FENTRYID=fin.FENTRYID
+                left join T_SAL_RETURNNOTICEENTRYTAX tax with(nolock) on a.FID=tax.FDETAILID and a.FENTRYID=tax.FENTRYID
+                where a.FID={id}
+                    ";
+                LogService.Write("閫�璐ч�氱煡鍗曪細" +  sql);
+                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
+                DataTable maindt = ds.Tables[0];
+                DataTable subdt = ds.Tables[1];
+                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
+                };
+                LogService.Write("閫�璐ч�氱煡鍗曞悓姝ユ暟鎹細" + model);
+                var client = new RestSharp.RestClient(http);
+                //鏂板
+                var requestPost = new RestRequest("Xs_SeOutStockBackBill/SaveXs_SeOutStockBackBillApi", 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," + "Xs_SeOutStockBackBill/SaveXs_SeOutStockBackBillApi");
+                    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_RealessSellOut.cs b/zymes/OperationService/zymes_RealessSellOut.cs
new file mode 100644
index 0000000..27fcacc
--- /dev/null
+++ b/zymes/OperationService/zymes_RealessSellOut.cs
@@ -0,0 +1,163 @@
+锘縰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_RealessSellOut : 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();
+                LogService.Write("閿�鍞嚭搴撳崟鍚屾id锛�" + id);
+                string sql = string.Empty;
+                sql = $@"
+                /*dialect*/                
+                select a.FID as HInterID,year(a.FDATE) as HYear,month(a.FDATE) as HPeriod,a.FBILLNO as HBillNo,'1205' as HBillType,
+	                '1205' as HBillSubType,'' as HMainSourceBillType,a.FDATE as HDate,a.FCustomerID as HSupID,0 as HWHID,
+                    0 as HSCWHID,0 as HEmpID,0 as HManagerID,0 as HSecManagerID,isnull(a.FSTOCKERID, 0) as HKeeperID,
+	                isnull(a.FDeliveryDeptID, 0) as HDeptID,0 as HCurID,'' as HSeOrderBillNo,'CLD瀵煎叆' as HExplanation,'' as HRemark,
+                    '' as HInnerBillNo,'false' as HRedBlueFlag,case when a.FAPPROVERID = 0 then 1 else 2 end as HBillStatus,
+	                isnull(us1.FNAME, '') as HMaker,a.FCREATEDATE as HMakeDate,isnull(us2.FNAME, '') as HChecker,
+                    a.FAPPROVEDATE as HCheckDate,isnull(us3.FNAME, '') as HUpDater,a.FMODIFYDATE as HUpDateDate,
+                    isnull(us4.FNAME, '') as HDeleteMan,a.FCANCELDATE as HDeleteDate,isnull(a.FOWNERID, 0) as HOWNERID,
+                    a.FOWNERTYPEID as HOWNERTYPEID,a.FID as HERPInterID,a.FBillTypeID as HERPBillType,a.FBILLNO as HERPBillNo,
+                    isnull(FSALEORGID, 0) as HPRDORGID,isnull(a.FSTOCKORGID, 0) as HSTOCKORGID,o.FNUMBER HOrganNumber
+                from T_SAL_OUTSTOCK a with(nolock)
+                left join T_ORG_Organizations  o with (nolock) on a.FSALEORGID = o.FORGID
+                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_SEC_user us4 with(nolock) on a.FCANCELLERID = us4.FUSERID
+                where a.FID ={id}
+                select 
+                    a.FID as HInterID,a.FEntryID as HEntryID,a.FMTONO as HMTONo,0 as HPlanMode,'' as HRemark,'' as HExpressNumber,
+                    a.FMATERIALID as HMaterID,isnull(a.FUNITID, 0) as HUnitID,a.FLOT_TEXT as HBatchNo,isnull(a.FAUXPROPID, 0) as HPropertyID,
+                    isnull(a.FSTOCKID, 0) as HWHID,isnull(a.FSTOCKLOCID, 0) as HSPID,0 as HSCWHID,0 as HSCSPID,
+                    a.FMustQty as HQtyMust,a.FRealQty as HQty,b.FPRICE as HPrice,b.FAMOUNT as HMoney,b.FPRICE as HTaxPrice,1 as HTaxRate,
+                    b.FAMOUNT as HTaxMoney,c.FReturnQty as HRelationQty,0 as HRelationMoney,0 as HSourceInterID,0 as HSourceEntryID,
+                    isnull(c.FSrcBillNo, '') as HSourceBillNo,'' as HSourceBillType,a.FID as HERPInterID,a.FEntryID as HERPEntryID,
+                    '' as HERPBillNo_Sub,0 as HPOOrderInterID,0 as HPOOrderEntryID,'' as HPOOrderBillNo,0 as HSeOrderInterID,
+                    isnull(c.FSOEntryId, 0) as HSeOrderEntryID,'' as HSeOrderBillNo,0 as HICMOInterID,0 as HICMOEntryID,'' as HICMOBillNo,
+                    0 as HWWOrderInterID,0 as HWWOrderEntryID,'' as HWWOrderBillNo,isnull(a.FPRODUCEDATE,'1900-01-01 00:00:00.000') as HProduceDate,
+	                isnull(a.FEXPIRYDATE,'1900-01-01 00:00:00.000') as HExpiryDate,isnull(a.FOWNERID, 0) as HOWNERID,isnull(a.FOWNERTYPEID, '') as HOWNERTYPEID,
+                    isnull(a.FKEEPERID, 0) as HKEEPERID,isnull(a.FKEEPERTYPEID, '') as HKEEPERTYPEID
+                from T_SAL_OUTSTOCKENTRY a with(nolock)
+                left join T_SAL_OUTSTOCKENTRY_F b with(nolock) on a.FID = b.FID and a.FENTRYID = b.FENTRYID
+                left join T_SAL_OUTSTOCKENTRY_R c with(nolock) on a.FID = c.FID and a.FENTRYID = c.FENTRYID
+                where a.FID = {id}
+                    ";
+                LogService.Write("閿�鍞嚭搴撳崟锛�" +  sql);
+                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
+                DataTable maindt = ds.Tables[0];
+                DataTable subdt = ds.Tables[1];
+                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
+                };
+                LogService.Write("閿�鍞嚭搴撳崟鍚屾鏁版嵁锛�" + model);
+                var client = new RestSharp.RestClient(http);
+                //鏂板
+                var requestPost = new RestRequest("Kf_SellOutBill/SaveKf_SellOutBillApi", 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_SellOutBill/SaveKf_SellOutBillApi");
+                    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..e799186 100644
--- a/zymes/zymes_Project.csproj
+++ b/zymes/zymes_Project.csproj
@@ -130,6 +130,8 @@
     <Compile Include="OperationService\zymes_RealessCurrency.cs" />
     <Compile Include="OperationService\zymes_RealessPurPrice.cs" />
     <Compile Include="OperationService\zymes_RealessOperator.cs" />
+    <Compile Include="OperationService\zymes_RealessSeOutStockBack.cs" />
+    <Compile Include="OperationService\zymes_RealessSellOut.cs" />
     <Compile Include="OperationService\zymes_RealessUnitConvertRate.cs" />
     <Compile Include="OperationService\zymes_RealessPrdInStock.cs" />
     <Compile Include="OperationService\zymes_RealessPrdReceive.cs" />

--
Gitblit v1.9.1