yangle
2023-03-10 ca4362ddf30700cf8a05094d72de4dd39a2893e9
Merge branch 'master' of http://101.37.171.70:10101/r/simoer_jiekou
3个文件已添加
25个文件已修改
887 ■■■■ 已修改文件
zymes/OperationService/zymes_RealessBillType.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessBom.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessCurrency.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessCustomer.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessDepartment.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessMatePriceSup.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessMaterial.cs 142 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessOperator.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessPaymentCondition.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessPrdMo.cs 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessPrdMoReport.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessPrdPpbom.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessPurPoorder.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessPurReceive.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessRateType.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessRecCondition.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessSalSeOutStock.cs 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessSettleStyle.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessStaff.cs 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessStock.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessStockStatus.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessSupplier.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessTaxMIX.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessTaxRate.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessUnit.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessWork.cs 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/test/Program.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/zymes_Project.csproj 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessBillType.cs
@@ -76,14 +76,14 @@
                //LogService.Write("单据类型同步示例JsonConvert.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("单据类型同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Xt_BillType/SaveXt_BillTypeListApi", 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"] + "," + contentPost);
                    LogService.Write("单据类型同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("单据类型同步异常,POST," +   "Xt_BillType/SaveXt_BillTypeListApi");
                    LogService.Write("单据类型同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessBom.cs
@@ -185,6 +185,9 @@
            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_RealessBom {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -238,7 +241,7 @@
                };
                //LogService.Write("生产BOM同步示例" + JsonConvert.SerializeObject(jsonRoot));
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                //新增
                var requestPost = new RestRequest("Gy_ICBomBill/Gy_ICBomBillaveApi", Method.POST);
                requestPost.AddParameter("application/json", JsonConvert.SerializeObject(jsonRoot), ParameterType.RequestBody);
@@ -246,7 +249,7 @@
                var contentPost = responsePost.Content;
                if (!contentPost.Contains("成功"))
                {
                    LogService.Write("生产BOM同步异常,POST方式获取结果," + billObj["Id"] + "," + contentPost);
                    LogService.Write("生产BOM同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("生产BOM同步异常,POST," +   "Gy_ICBomBill/Gy_ICBomBillaveApi");
                    LogService.Write("生产BOM同步异常,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot));
                }
zymes/OperationService/zymes_RealessCurrency.cs
@@ -45,6 +45,9 @@
            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_RealessCurrency {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -56,7 +59,6 @@
inner join T_BD_CURRENCY_L l with(nolock) on a.FCURRENCYID=l.FCURRENCYID and FLOCALEID=2052
Where a.FCURRENCYID={id}
";
                DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                if (dt.Rows.Count == 0)
                {
@@ -76,14 +78,14 @@
                //LogService.Write("币别同步示例.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("币别同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_Currency/SaveGy_CurrencyListApi", 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"] + "," + contentPost);
                    LogService.Write("币别同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("币别同步异常,POST," +   "Gy_Currency/SaveGy_CurrencyListApi");
                    LogService.Write("币别同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessCustomer.cs
@@ -45,6 +45,9 @@
            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_RealessCustomer {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -62,16 +65,27 @@
from T_BD_CUSTLOCATION a with(nolock)
--inner join T_BD_CUSTLOCATION_L l with(nolock) on a.FID=l.FID and FLOCALEID=2052
Where a.FCUSTID= {id}
select a.FCONTACTID as HItemID, a.FCUSTID as HCUSTID, a.FNUMBER as HNumber, l.FNAME as HName, a.FNUMBER as HShortNumber, 0 as HParentID,
1 as HLevel, 'true' as HEndFlag, case when a.FFORBIDSTATUS='A' then 'false' else 'true' end as HStopflag,
'CLD-ERP导入' as HRemark, '' as HHelpCode, '未检测' as HUseFlag, a.FCREATEDATE as HMakeTime, a.FCREATORID as HMakeEmp,
'' as HCheckEmp, getdate() as HCheckTime, a.FMODIFIERID as HModifyEmp, a.FMODIFYDATE as HModifyTime, '' as HStopEmp,
getdate() as HStopTime, 0 as HUSEORGID, 0 as HCREATEORGID
from T_BD_COMMONCONTACT a with(nolock)
inner join T_BD_COMMONCONTACT_L l with(nolock) on a.FCONTACTID = l.FCONTACTID and l.FLOCALEID = 2052
where a.FCUSTID = {id}
";
                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
                DataTable maindt = ds.Tables[0];//客户信息
                DataTable subdt = ds.Tables[1];//客户_交货地点
                DataTable subcontact = ds.Tables[2];//客户_收货方联系人
                if (maindt.Rows.Count == 0)
                {
                    LogService.Write("客户同步异常:" + sql);
                    continue;
                }
                JArray array = new JArray();//明细表
                JArray array = new JArray();//明细表_交货地点
                foreach (DataRow dr in subdt.Rows)
                {
                    JObject fentrymodel = new JObject();
@@ -81,6 +95,16 @@
                    }
                    array.Add(fentrymodel);
                }
                JArray arrcontact = new JArray();//明细表_收货方联系人
                foreach (DataRow dr in subcontact.Rows)
                {
                    JObject fentrycontact = new JObject();
                    foreach (DataColumn column in subcontact.Columns)
                    {
                        fentrycontact.Add(column.ColumnName, dr[column.ColumnName].ToString());
                    }
                    arrcontact.Add(fentrycontact);
                }
                JObject model = new JObject();//主表
                DataRow maindr = maindt.Rows[0];
                foreach (DataColumn column in maindt.Columns)
@@ -88,20 +112,21 @@
                    model.Add(column.ColumnName, maindr[column.ColumnName].ToString());
                }
                model.Add("HCustLocationEntry", array);
                model.Add("HCustContactEntry", arrcontact);
                JObject jsonRoot = new JObject()
                {
                    ["model"] = model
                };
                //LogService.Write("客户同步示例" + JsonConvert.SerializeObject(jsonRoot));
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_Customer/SaveGy_CustomerListApi", 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"] + "," + contentPost);
                    LogService.Write("客户同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("客户同步异常,POST," + "Gy_Customer/SaveGy_CustomerListApi");
                    LogService.Write("客户同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(jsonRoot));
                }
zymes/OperationService/zymes_RealessDepartment.cs
@@ -45,6 +45,9 @@
            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_RealessDept {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -74,14 +77,14 @@
                };
                //LogService.Write("部门同步示例:" + JsonConvert.SerializeObject(_jsonRoot));
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_Department/SaveGy_DepartmentListApi", 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"] + "," + contentPost);
                    LogService.Write("部门同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("部门同步异常,POST," + "Gy_Department/SaveGy_DepartmentListApi");
                    LogService.Write("部门同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessMatePriceSup.cs
@@ -45,6 +45,9 @@
            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_RealessMatePriceSup {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -77,14 +80,14 @@
                //LogService.Write("采购价格同步示例JsonConvert.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("采购价格同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_MatePriceSup/SaveGy_MatePriceSupListApi", 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"] + "," + contentPost);
                    LogService.Write("采购价格同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("采购价格同步异常,POST," +   "Gy_MatePriceSup/SaveGy_MatePriceSupListApi");
                    LogService.Write("采购价格同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessMaterial.cs
@@ -183,12 +183,20 @@
        {
            base.AfterExecuteOperationTransaction(e);
            Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息
            foreach (var billObj in e.DataEntitys)
            try
            {
                //var sql = $"exec zymes_RealessMaterial {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
                sql = $@"
                foreach (var billObj in e.DataEntitys)
                {
                    var forgName = Context.CurrentOrganizationInfo.Name;
                    var forgID = Context.CurrentOrganizationInfo.ID;
                    LogService.Write($"组织:{forgName},{forgID}");
                    if (!forgName.Contains("杭州斯莫尔磁性材料有限公司"))
                        continue;
                    //LogService.Write("物料同步插件执行开始:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff:ffffff"));
                    //var sql = $"exec zymes_RealessMaterial {billObj["Id"]} ";
                    var id = billObj["Id"].ToString();
                    string sql = string.Empty;
                    sql = $@"
/*dialect*/
select a.FMATERIALID as HItemID ,a.FMATERIALID as HERPItemID,a.FNUMBER as HNumber,l.FNAME as HName,isnull(l.FSPECIFICATION,'') as HModel,a.FNUMBER as HShortNumber,0 as HParentID
,1 HLevel,'false' as HEndFlag,case when a.FFORBIDSTATUS='A' then 'false' else 'true' end as HStopflag,'CLD-ERP导入' as HRemark,b.FErpClsID as HMaterClsID,isnull(s.FSTOREUNITID,0) as HUnitID,0  as HUnitGroupID
@@ -208,73 +216,67 @@
Where l.FLOCALEID=2052
and a.FMATERIALID = {id}
";
                DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                if (dt.Rows.Count == 0)
                {
                    LogService.Write("物料同步异常:" + sql);
                    continue;
                }
                DataRow dr = dt.Rows[0];
                JObject model = new JObject();
                foreach (DataColumn column in dt.Columns)
                {
                    model.Add(column.ColumnName, dr[column.ColumnName].ToString());
                }
                //model.Add("HItemID", dr["HItemID"].ToString());
                //model.Add("HERPItemID", dr["HERPItemID"].ToString());
                //model.Add("HCREATEORGID", dr["HCREATEORGID"].ToString());
                //model.Add("HUSEORGID", dr["HUSEORGID"].ToString());
                //model.Add("HNumber", dr["HNumber"].ToString());
                //model.Add("HName", dr["HName"].ToString());
                //model.Add("HModel", dr["HModel"].ToString());
                //model.Add("HUnitID", dr["HUnitID"].ToString());
                //model.Add("HUnitGroupID", dr["HUnitGroupID"].ToString());
                //model.Add("HMaterClsID", dr["HMaterClsID"].ToString());
                //model.Add("HMaterTypeID", dr["HMaterTypeID"].ToString());
                //model.Add("HWhID", dr["HWhID"].ToString());
                //model.Add("HSPID", dr["HSPID"].ToString());
                //model.Add("HMinPickQty", dr["HMinPickQty"].ToString());
                string _model = JsonConvert.SerializeObject(model);
                JObject jsonRoot = new JObject()
                {
                    ["model"] = model + ";Admin;100038"
                    DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                    if (dt.Rows.Count == 0)
                    {
                        LogService.Write("物料同步异常:" + sql);
                        continue;
                    }
                    DataRow dr = dt.Rows[0];
                    JObject model = new JObject();
                    foreach (DataColumn column in dt.Columns)
                    {
                        model.Add(column.ColumnName, dr[column.ColumnName].ToString());
                    }
                    string _model = JsonConvert.SerializeObject(model);
                    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://47.96.97.237/api/");
                    //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                    var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                    //var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                    //删除
                    //var requestGet = new RestRequest("Gy_Material/Delete", Method.GET);
                    //requestGet.AddParameter("HItemID", dr["HERPItemID"].ToString());
                    //requestGet.AddParameter("user", "10000");
                    //IRestResponse response = client.Execute(requestGet);
                    //var contentGet = response.Content;
                    //Console.WriteLine("GET方式获取结果:" + contentGet);
                    //新增
                    //LogService.Write("物料同步示例:"+ JsonConvert.SerializeObject(_jsonRoot));
                    var requestPost = new RestRequest("Gy_Material/SaveGy_MaterialListApi", Method.POST);
                    requestPost.AddParameter("application/json", JsonConvert.SerializeObject(_jsonRoot), ParameterType.RequestBody);
                    IRestResponse responsePost = client.Execute(requestPost);
                    //LogService.Write("物料同步插件,post完成:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff:ffffff"));
                    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," + "Gy_Material/SaveGy_MaterialListApi");
                        LogService.Write("物料同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                    }
                    //Console.WriteLine("POST方式获取结果:" + responsePost.ErrorMessage);
                    //Console.Read();
                };
                JObject _jsonRoot = new JObject()
                {
                    ["model"] = model
                };
                //string jsonRoot = JsonConvert.SerializeObject(jsonRoot);
                //var client = new RestSharp.RestClient("http://47.96.97.237/api/");
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                //删除
                //var requestGet = new RestRequest("Gy_Material/Delete", Method.GET);
                //requestGet.AddParameter("HItemID", dr["HERPItemID"].ToString());
                //requestGet.AddParameter("user", "10000");
                //IRestResponse response = client.Execute(requestGet);
                //var contentGet = response.Content;
                //Console.WriteLine("GET方式获取结果:" + contentGet);
                //新增
                //LogService.Write("物料同步示例:"+ JsonConvert.SerializeObject(_jsonRoot));
                var requestPost = new RestRequest("Gy_Material/SaveGy_MaterialListApi", Method.POST);
                //var json = newjson.ToString() + ";Admin;100038";
                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"] + "," + contentPost);
                    LogService.Write("物料同步异常,POST," +   "Gy_Material/SaveGy_MaterialListApi");
                    LogService.Write("物料同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
                //Console.WriteLine("POST方式获取结果:" + contentPost);
                //Console.Read();
            };
            foreach (var item in dictionary)
            {
                ResultMessage.dataError(this.OperationResult.OperateResult, item.Key, item.Value);
            }
            catch (Exception ex)
            {
                LogService.Write("物料同步插件,抛出异常:" + ex.Message.ToString());
            }
            //LogService.Write("物料同步插件,代码执行完成:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff:ffffff"));
            //foreach (var item in dictionary)
            //{
            //    ResultMessage.dataError(this.OperationResult.OperateResult, item.Key, item.Value);
            //}
        }
        public static class ResultMessage
        {/// <summary>
zymes/OperationService/zymes_RealessOperator.cs
@@ -18,7 +18,7 @@
namespace zymes_Project.OperationService
{
    [Description("[业务员-审核]服务插件]")]
    [Description("[业务员-保存]服务插件]")]
    [HotUpdate]
    public class zymes_RealessOperator : AbstractOperationServicePlugIn
    {
@@ -45,16 +45,20 @@
            Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息
            foreach (var billObj in e.DataEntitys)
            {
                //var sql = $"exec zymes_RealessUnit {billObj["Id"]} ";
                var forgName = Context.CurrentOrganizationInfo.Name;
                if (!forgName.Contains("杭州斯莫尔磁性材料有限公司"))
                    continue;
                //var sql = $"exec zymes_RealessOperator {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql =string.Empty;
                sql = $@"
/*dialect*/
select a.FOPERATORID as HItemID,'' as HNumber,'' as HName,'' as HHelpCode,'' as HShortNumber,0 as HParentID
select a.FENTRYID as HItemID,st.FNUMBER as HNumber,l.FNAME as HName,'' as HHelpCode,st.FNUMBER as HShortNumber,0 as HParentID
,1 as HLevel,'true' as HEndFlag,'false' as HStopflag,'CLD-ERP导入' as HRemark,'' as HUseFlag,0 as HUSEORGID
,0 as HOperatorId,'' as HOperatorType,0 as HSEQ,0 as HStaffId,0 as HIsUse
from T_BD_OPERATOR a with(nolock)
inner join T_BD_OPERATOR_L l with(nolock) on a.FOPERATORID=l.FOPERATORID and FLOCALEID=2052
,a.FOPERATORID as HOperatorId,a.FOPERATORTYPE as HOperatorType,a.FSEQ as HSEQ,a.FSTAFFID as HStaffId,a.FISUSE as HIsUse
from T_BD_OPERATORENTRY a with(nolock)
inner join T_BD_OPERATORENTRY_L l with(nolock) on a.FENTRYID=l.FENTRYID and FLOCALEID=2052
left join T_BD_STAFF st on a.FSTAFFID = st.FSTAFFID
Where a.FOPERATORID={id}
";
                DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
@@ -63,27 +67,38 @@
                    LogService.Write("业务员同步异常:" + sql);
                    continue;
                }
                DataRow dr = dt.Rows[0];
                JObject model = new JObject();
                foreach (DataColumn column in dt.Columns)
                //DataRow dr = dt.Rows[0];
                JArray array = new JArray();
                foreach(DataRow dr in dt.Rows)
                {
                    model.Add(column.ColumnName, dr[column.ColumnName].ToString());
                    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("HOperatorInfoEntry", array);
                //foreach (DataColumn column in dt.Columns)
                //{
                //    model.Add(column.ColumnName, dr[column.ColumnName].ToString());
                //}
                JObject _jsonRoot = new JObject()
                {
                    ["model"] = model
                };
                LogService.Write("业务员同步示例:" + JsonConvert.SerializeObject(_jsonRoot));
                LogService.Write("业务员同步示例:" + _jsonRoot);
                //LogService.Write("业务员同步示例:" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("业务员同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_Operator/SaveGy_OperatorListApi", 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"] + "," + contentPost);
                    LogService.Write("业务员同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("业务员同步异常,POST," + "Gy_Operator/SaveGy_OperatorListApi");
                    LogService.Write("业务员同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessPaymentCondition.cs
@@ -45,6 +45,9 @@
            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();
                string sql = string.Empty;
                sql = $@"
@@ -75,14 +78,14 @@
                //LogService.Write("付款条件同步示例JsonConvert.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("付款条件同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_PaymentCondition/SaveGy_PaymentConditionListApi", 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"] + "," + contentPost);
                    LogService.Write("付款条件同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("付款条件同步异常,POST," +   "Gy_PaymentCondition/SaveGy_PaymentConditionListApi");
                    LogService.Write("付款条件同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessPrdMo.cs
@@ -185,6 +185,9 @@
            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_RealessPRDMO {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -215,14 +218,44 @@
,case when a.FISREWORK=1 then '返工' else '普通' end HBillSubType
from T_PRD_MO a with(nolock)
Where a.FID={id} 
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={id}
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={id}
";
                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
                DataTable maindt = ds.Tables[1];
                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)
@@ -234,19 +267,35 @@
                    }
                    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);
                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("http://61.130.182.102:18181/simoerAPI/");
                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);
@@ -254,7 +303,7 @@
                var contentPost = responsePost.Content;
                if (!contentPost.Contains("成功"))
                {
                    LogService.Write("生产订单同步异常,POST方式获取结果," + billObj["Id"] + "," + contentPost);
                    LogService.Write("生产订单同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("生产订单同步异常,POST," +   "Sc_ICMOBill/ICMOBillSaveApi");
                    LogService.Write("生产订单同步异常,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot));
                }
zymes/OperationService/zymes_RealessPrdMoReport.cs
@@ -185,6 +185,9 @@
            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_RealessPrdMoReport {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -198,7 +201,7 @@
,a.FSRCINTERID as HSourceInterID,a.FSRCENTRYID as HSourceEntryID,a.FSRCBILLNO as HSourceBillNo,a.FSRCBILLTYPE as HSourceBillType,0 HRelationQty,0 as HRelationMoney
,0 HSeOrderInterID,0 HSeOrderEntryID,'' HSeOrderBillNo
,a.FMOID HICMOInterID,a.FMOBILLNO HICMOBillNo, '' HBarCode
,0 HOWNERTYPEID,0 HISENTRUST,0 HSTOCKINORGID,0 HOWNERID,0 HCHECKPRODUCT,'' HQAIP,0 HCOSTRATE,0 HISBACKFLUSH
,FOWNERTYPEID HOWNERTYPEID,0 HISENTRUST,FSTOCKINORGID HSTOCKINORGID,FOWNERID HOWNERID,FCHECKPRODUCT HCHECKPRODUCT,'' HQAIP,FCOSTRATE HCOSTRATE,FISBACKFLUSH HISBACKFLUSH
,'' HREQSRC,'' HREQBILLNO,0 HREQBILLID,0 HREQENTRYSEQ,0 HREQENTRYID,a.FMOENTRYID HMOMAINENTRYID,0 HSTOCKINQUASELQTY 
,a.FPRODUCTTYPE HPRODUCTTYPE,a.FPROJECTNO HPROJECTNO,a.FMOENTRYSEQ HICMOENTRYSEQ,a.FSEQ as HSEQ,null HPRODUCEDATE,null HEXPIRYDATE,a.FBASEUNITID HBASEUNITID,isnull(a.FWORKSHOPID,0) HDEPTID
,a.FSHIFTGROUPID HGroupID,'' HDESCRIPTION,'' HSourceNumber,0 HQPQty,a.FMOENTRYID HICMOEntryID
@@ -247,9 +250,9 @@
                {
                    ["model"] = model
                };
                //LogService.Write("生产汇报单同步示例" + JsonConvert.SerializeObject(jsonRoot));
                LogService.Write("生产汇报单同步示例" + JsonConvert.SerializeObject(jsonRoot));
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                //新增
                var requestPost = new RestRequest("Sc_ICMOReportBill/Sc_ICMOReportBillSaveApi", Method.POST);
                requestPost.AddParameter("application/json", JsonConvert.SerializeObject(jsonRoot), ParameterType.RequestBody);
@@ -257,7 +260,7 @@
                var contentPost = responsePost.Content;
                if (!contentPost.Contains("成功"))
                {
                    LogService.Write("生产汇报单同步异常,POST方式获取结果," + billObj["Id"] + "," + contentPost);
                    LogService.Write("生产汇报单同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("生产汇报单同步异常,POST," +   "Sc_ICMOReportBill/Sc_ICMOReportBillSaveApi");
                    LogService.Write("生产汇报单同步异常,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot));
                }
zymes/OperationService/zymes_RealessPrdPpbom.cs
@@ -185,6 +185,9 @@
            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_RealessPRDPPBOM {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -193,23 +196,25 @@
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.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(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.FID={id}
select a.FID HInterID,year(a.FCREATEDate) HYear,month(a.FCREATEDate) HPeriod,'3720' HBillType,'3720' HBillSubType,a.FCREATEDate HDate
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)
from T_PRD_PPBOM a with(nolock)
Where a.FID={id}
";
                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
@@ -243,7 +248,7 @@
                };
                //LogService.Write("生产用料清单同步示例" + JsonConvert.SerializeObject(jsonRoot));
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                //新增
                var requestPost = new RestRequest("Sc_PPBomBill/Sc_PPBomBillSaveApi", Method.POST);
                requestPost.AddParameter("application/json", JsonConvert.SerializeObject(jsonRoot), ParameterType.RequestBody);
@@ -251,7 +256,7 @@
                var contentPost = responsePost.Content;
                if (!contentPost.Contains("成功"))
                {
                    LogService.Write("生产用料清单同步异常,POST方式获取结果," + billObj["Id"] + "," + contentPost);
                    LogService.Write("生产用料清单同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("生产用料清单同步异常,POST," +   "Sc_PPBomBill/Sc_PPBomBillSaveApi");
                    LogService.Write("生产用料清单同步异常,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot));
                }
zymes/OperationService/zymes_RealessPurPoorder.cs
@@ -185,6 +185,9 @@
            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;
@@ -251,7 +254,7 @@
                };
                //LogService.Write("采购订单同步示例" + JsonConvert.SerializeObject(jsonRoot));
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                //新增
                var requestPost = new RestRequest("Cg_POOrderBill/Cg_POOrderBillSaveApi", Method.POST);
                requestPost.AddParameter("application/json", JsonConvert.SerializeObject(jsonRoot), ParameterType.RequestBody);
@@ -259,7 +262,7 @@
                var contentPost = responsePost.Content;
                if (!contentPost.Contains("成功"))
                {
                    LogService.Write("采购订单同步异常,POST方式获取结果," + billObj["Id"] + "," + contentPost);
                    LogService.Write("采购订单同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("采购订单同步异常,POST," +   "Cg_POOrderBill/Cg_POOrderBillSaveApi");
                    LogService.Write("采购订单同步异常,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot));
                }
zymes/OperationService/zymes_RealessPurReceive.cs
@@ -185,6 +185,9 @@
            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_RealessPurReceive {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -207,7 +210,7 @@
from T_PUR_RECEIVEENTRY a with(nolock)
inner join T_PUR_RECEIVEENTRY_S b with(nolock) on a.FENTRYID=b.FENTRYID 
left join T_PUR_RECEIVEENTRY_F f with(nolock) on a.FENTRYID=f.FENTRYID 
left join T_PUR_RECEIVEFIN fin with(nolock) on a.FENTRYID=fin.FENTRYID
left join T_PUR_RECEIVEFIN fin with(nolock) on  a.FID=fin.FID
left join T_PUR_RECEIVEENTRY_TAX t with(nolock) on a.FENTRYID=t.FENTRYID
where a.FID={id}
@@ -251,7 +254,7 @@
                };
                //LogService.Write("收料通知单同步示例" + JsonConvert.SerializeObject(jsonRoot));
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                //新增
                var requestPost = new RestRequest("Cg_POInStockBill/Cg_POInStockBillSaveApi", Method.POST);
                requestPost.AddParameter("application/json", JsonConvert.SerializeObject(jsonRoot), ParameterType.RequestBody);
@@ -259,7 +262,7 @@
                var contentPost = responsePost.Content;
                if (!contentPost.Contains("成功"))
                {
                    LogService.Write("收料通知单同步异常,POST方式获取结果," + billObj["Id"] + "," + contentPost);
                    LogService.Write("收料通知单同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("收料通知单同步异常,POST," +   "Cg_POInStockBill/Cg_POInStockBillSaveApi");
                    LogService.Write("收料通知单同步异常,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot));
                }
zymes/OperationService/zymes_RealessRateType.cs
@@ -18,7 +18,7 @@
namespace zymes_Project.OperationService
{
    [Description("[汇率类型-审核]服务插件]")]
    [Description("[汇率类型-保存]服务插件]")]
    [HotUpdate]
    public class zymes_RealessRateType : AbstractOperationServicePlugIn
    {
@@ -45,6 +45,9 @@
            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_RealessRateType {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -77,14 +80,14 @@
                //LogService.Write("汇率类型同步示例.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("汇率类型同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_RateType/SaveGy_RateTypeListApi", 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"] + "," + contentPost);
                    LogService.Write("汇率类型同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("汇率类型同步异常,POST," +"Gy_RateType/SaveGy_RateTypeListApi");
                    LogService.Write("汇率类型同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessRecCondition.cs
@@ -45,6 +45,9 @@
            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();
                string sql = string.Empty;
                sql = $@"
@@ -75,14 +78,14 @@
                //LogService.Write("收款条件同步示例JsonConvert.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("收款条件同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_RecCondition/SaveGy_RecConditionListApi", 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"] + "," + contentPost);
                    LogService.Write("收款条件同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("收款条件同步异常,POST," +   "Gy_RecCondition/SaveGy_RecConditionListApi");
                    LogService.Write("收款条件同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessSalSeOutStock.cs
New file
@@ -0,0 +1,155 @@
using 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_RealessSalSeOutStock : AbstractOperationServicePlugIn
    {
        Dictionary<string, string> dictionary = new Dictionary<string, string>();
        public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e)
        {
            base.OnPrepareOperationServiceOption(e);
            //为了在BeginOperationTransaction里检查数据抛出异常时
            //只回滚当前单据的事务,这里设置为不支持批量事务,这样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();
                string sql = string.Empty;
                sql = $@"
/*dialect*/
select a.FID HInterID, a.FENTRYID HEntryID, a.FMATERIALID HMaterID, a.FUNITID HUnitID,
a.FQTY HQty, isnull(f.FPRICE,0) HPrice, isnull(f.FAMOUNT,0) HMoney, 0 HWHID, 0 HSPID,
a.FNOTE HRemark, 0 HSourceInterID, 0 HSourceEntryID, '' HSourceBillNo, '' HSourceBillType,
0 HSeOrderInterID, 0 HSeOrderEntryID, '' HSeOrderBillNo, e.FOWNERID HOWNERID, e.FOWNERTYPEID HOWNERTYPEID,
fin.FSETTLEORGID HSETTLEORGID, a.FSUMOUTQTY HMoveStockQty, a.FJOINOUTQTY HRelationQty, a.FAUXPROPID HAuxPropID,
'' HBatchNO, a.FMTONO HMTONo, a.FID HERPInterID, a.FEntryID HERPEntryID, a.FCUSTMATID HCUSTMATID,
a.FBASEUNITID HBASEUNITID, a.FBFLOWID HBFLOWID, a.FOUTCONTROL HOUTCONTROL, 0 HSTOCKUNITID,
e.FROWID HROWTYPE, e.FROWID HROWID, e.FPARENTROWID HPARENTROWID, isnull(e.FPARENTMATID,0) HPARENTMATID,
isnull(f.FTAXCOMBINATION,0) HTAXCOMBINATION, isnull(f.FPRICECOEFFICIENT,0) HPRICECOEFFICIENT, isnull(f.FSYSPRICE,0) HSYSPRICE,
isnull(f.FLIMITDOWNPRICE,0) HLIMITDOWNPRICE, isnull(f.FPRICEUNITID,0) HPRICEUNITID, isnull(f.FTAXPRICE,0) HTAXPRICE,
isnull(f.FTAXRATE,0) HTAXRATE, isnull(f.FTAXNETPRICE,0) HTAXNETPRICE, isnull(f.FDISCOUNTRATE,0) HDISCOUNTRATE,
isnull(f.FISFREE,0) HISFREE, isnull(fin.FLOCALCURRID,0) HLOCALCURRID, isnull(fin.FSETTLECURRID,0) HSETTLECURRID,
isnull(fin.FEXCHANGETYPEID,0) HEXCHANGETYPEID, isnull(fin.FSETTLETYPEID,0) HSETTLETYPEID, isnull(fin.FRECEIPTCONDITIONID,0) HRECEIPTCONDITIONID,
isnull(fin.FEXCHANGERATE,0) HEXCHANGERATE, isnull(fin.FISINCLUDEDTAX,0) HISINCLUDEDTAX, isnull(fin.FISPRICEEXCLUDETAX,0) HISPRICEEXCLUDETAX,
isnull(tax.FTAXRATEID,0) HTAXRATEID, 0 HTaxRate_TAX, isnull(tax.FCOSTPERCENT,0) HCOSTPERCENT, isnull(tax.FVAT,0) HVAT,
isnull(tax.FSELLERWITHHOLDING,0) HSELLERWITHHOLDING, isnull(tax.FBUYERWITHHOLDING,0) HBUYERWITHHOLDING
from T_SAL_DELIVERYNOTICEENTRY a with(nolock)
left join T_SAL_DELIVERYNOTICEENTRY_F f with(nolock) on a.FENTRYID = f.FENTRYID
left join T_SAL_DELIVERYNOTICEENTRY_E e with(nolock) on a.FENTRYID = e.FENTRYID
left join T_SAL_DELIVERYNOTICEFIN fin with(nolock) on a.FENTRYID = fin.FENTRYID
left join T_SAL_DELIVERYNOTICEENTRYTAX tax with(nolock) on a.FENTRYID = tax.FENTRYID
Where a.FID={id}
select FID as HInterID, YEAR(FDATE) as HYear, MONTH(FDATE) as HPeriod, '1402' HBillType, '1402' HBillSubType,
FDATE as HDate, FBILLNO as HBillNo, case when FAPPROVERID=0 then 1 else 2 end HBillStatus, FCUSTOMERID as HCusID,
0 HManagerID, FSALEDEPTID as HDeptID, 'CLOUD导入' as HRemark, FRECEIVEADDRESS as HAddress, 0 HSSID, 0 HCurID,
0 HWHID, 0 HExRate, 0 HEmpID, 'CLOUD导入' as HExplanation, FBILLNO as HInnerBillNo, FSALEORGID as HSALEORGID,
FDELIVERYORGID as HDELIVERYORGID, FOWNERID as HOWNERID, FOWNERTYPEID as HOWNERTYPEID, FID as HERPInterID,
FBILLTYPEID as HERPBillType, FCREATORID as HMaker, FCREATEDATE as HMakeDate, FAPPROVERID as HChecker,
FAPPROVEDATE as HCheckDate, FCLOSERID as HCloseMan, FCLOSEDATE as HCloseDate, FSTOCKERGROUPID as HSTOCKERGROUPID,
FSALEGROUPID as HSALEGROUPID, FSALEDEPTID as HSALEDEPTID, FBUSINESSTYPE as HBUSINESSTYPE, FCARRIERID as HCARRIERID,
FRECEIVERID as HRECEIVERID, FSETTLEID as HSETTLEID, FPAYERID as HPAYERID,FHEADLOCID as HHEADLOCID, FRECCONTACTID as HRECCONTACTID,
FRECEIPTCONDITIONID as HRECEIPTCONDITIONID, FCORRESPONDORGID as HCORRESPONDORGID, FCARRIAGENO as HCARRIAGENO
from T_SAL_DELIVERYNOTICE with(nolock)
Where 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;
                }
                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("发货通知单同步示例" + JsonConvert.SerializeObject(jsonRoot));
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                //新增
                var requestPost = new RestRequest("Xs_SeOutStockBill/Xs_SeOutStockBillSaveApi", 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_SeOutStockBill/Xs_SeOutStockBillSaveApi");
                    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;
            }
        }
    }
}
zymes/OperationService/zymes_RealessSettleStyle.cs
@@ -45,6 +45,9 @@
            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_RealessSettleStyle {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -76,14 +79,14 @@
                //LogService.Write("结算方式同步示例JsonConvert.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("结算方式同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_SettleStyle/SaveGy_SettleStyleListApi", 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"] + "," + contentPost);
                    LogService.Write("结算方式同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("结算方式同步异常,POST," +   "Gy_SettleStyle/SaveGy_SettleStyleListApi");
                    LogService.Write("结算方式同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessStaff.cs
New file
@@ -0,0 +1,116 @@
using 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_RealessStaff : AbstractOperationServicePlugIn
    {
        Dictionary<string, string> dictionary = new Dictionary<string, string>();
        public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e)
        {
            base.OnPrepareOperationServiceOption(e);
            //为了在BeginOperationTransaction里检查数据抛出异常时
            //只回滚当前单据的事务,这里设置为不支持批量事务,这样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_RealessStaff {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql =string.Empty;
                sql = $@"
/*dialect*/
select a.FID as HItemID,a.FNUMBER as HNumber,l.FNAME as HName,'' as HHelpCode,a.FNUMBER as HShortNumber,0 as HParentID
,1 as HLevel,'true' as HEndFlag,'false' as HStopflag,'CLD-ERP导入' as HRemark,'' as HUseFlag,a.FUSEORGID as HUSEORGID
,a.FCREATEORGID as HCREATEORGID,a.FPERSONID as HPERSONID,a.FPOSTID as HPOSTID,a.FFIRSTCARDID as HFIRSTCARDID
,0 as HDEPTID,a.FSTAFFNUMBER as HSTAFFNUMBER
from T_HR_EMPINFO a with(nolock)
inner join T_HR_EMPINFO_L l with(nolock) on a.FID=l.FID and FLOCALEID=2052
Where a.FID={id}
";
                DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                if (dt.Rows.Count == 0)
                {
                    LogService.Write("员工同步异常:" + sql);
                    continue;
                }
                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("员工同步示例:" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("员工同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_Staff/SaveGy_StaffListApi", 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_Staff/SaveGy_StaffListApi");
                    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;
            }
        }
    }
}
zymes/OperationService/zymes_RealessStock.cs
@@ -45,6 +45,9 @@
            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_RealessStock {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -58,26 +61,44 @@
inner join T_BD_STOCK_L l with(nolock) on a.FSTOCKID=l.FSTOCKID
Where a.FSTOCKID = {0}
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}
",id);
select  t1.FSTOCKLOCID as HItemID,t1.FSTOCKLOCID as HERPItemID,t3.FNUMBER HNumber,t4.FNAME HName,t3.FNUMBER HShortNumber,1 HParentID,'' HSPType,''  HSrcSPType,'' HDesSPType
,1 as HLevel,'true' as HEndFlag, 'false' as HStopflag,'CLD-ERP导入' HRemark,t1.fstockid as HSPGroupID,'已使用' as HUseFlag,getdate() as HMakeTime,st.FCREATORID HCREATEORGID,st.FUSEORGID HUSEORGID from
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.FF100003 = t3.FENTRYID--仓位值集列表明细
join T_BAS_FLEXVALUESENTRY_L t4 on t3.FENTRYID=t4.FENTRYID
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}
                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
                DataTable maindt = ds.Tables[0];//仓库
                DataTable subdt = ds.Tables[1];//仓位
@@ -109,14 +130,14 @@
                };
                LogService.Write("仓库仓位同步示例:" + JsonConvert.SerializeObject(jsonRoot));
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_Warehouse/SaveGy_WarehouseListApi", 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"] + "," + contentPost);
                    LogService.Write("仓库仓位同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("仓库仓位同步异常,POST," +   "Gy_Warehouse/SaveGy_WarehouseListApi");
                    LogService.Write("仓库仓位同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(jsonRoot));
                }
zymes/OperationService/zymes_RealessStockStatus.cs
@@ -45,6 +45,9 @@
            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();
                string sql = string.Empty;
                sql = $@"
@@ -75,14 +78,14 @@
                //LogService.Write("库存状态同步示例JsonConvert.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("库存状态同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_StockStatus/SaveGy_StockStatusListApi", 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"] + "," + contentPost);
                    LogService.Write("库存状态同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("库存状态同步异常,POST," +   "Gy_StockStatus/SaveGy_StockStatusListApi");
                    LogService.Write("库存状态同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessSupplier.cs
@@ -45,6 +45,9 @@
            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_RealessSupplier {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
@@ -74,14 +77,14 @@
                };
                //LogService.Write("供应商同步示例:" + JsonConvert.SerializeObject(_jsonRoot));
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_Supplier/SaveGy_SupplierListApi", 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"] + "," + contentPost);
                    LogService.Write("供应商同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("供应商步异常,POST," +   "Gy_Supplier/SaveGy_SupplierListApi");
                    LogService.Write("供应商同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessTaxMIX.cs
@@ -15,6 +15,7 @@
using System.Linq;
using RestSharp;
using zymes_Project.Utility;
using Kingdee.BOS;
namespace zymes_Project.OperationService
{
@@ -46,6 +47,10 @@
            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_RealessTaxMIX {billObj["Id"]} ";
                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
                DataTable maindt = ds.Tables[1];
@@ -85,7 +90,7 @@
                var contentPost = responsePost.Content;
                if (!contentPost.Contains("成功"))
                {
                    LogService.Write("税率组合同步异常,POST方式获取结果," + billObj["Id"] + "," + contentPost);
                    LogService.Write("税率组合同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("税率组合同步异常,POST," + clientUrl + "Gy_TaxMIXMain/SaveGy_TaxMIXMainListApi");
                    LogService.Write("税率组合同步异常,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot));
                }
zymes/OperationService/zymes_RealessTaxRate.cs
@@ -45,6 +45,9 @@
            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();
                string sql = string.Empty;
                sql = $@"
@@ -75,14 +78,14 @@
                //LogService.Write("税率同步示例JsonConvert.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("税率同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_TaxRate/SaveGy_TaxRateListApi", 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"] + "," + contentPost);
                    LogService.Write("税率同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("税率同步异常,POST," +   "Gy_TaxRate/SaveGy_TaxRateListApi");
                    LogService.Write("税率同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessUnit.cs
@@ -45,13 +45,16 @@
            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_RealessUnit {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql =string.Empty;
                sql = $@"
/*dialect*/
select a.FUNITID as HItemID,a.FUNITID as HERPItemID,a.FNumber as HNumber,l.FName as HName,a.FNumber as HShortNumber,0 as HParentID
,1 as HLevel,'true' as HEndFlag,case when     a.FFORBIDSTATUS='A' then 'false' else 'true' end as HStopflag,'CLD-ERP导入' as HRemark,'未检测' as HMakeTime,getdate() as HMakeTime,'true' as HStandard,a.FCREATEORGID as HCREATEORGID,a.FUSEORGID as HUSEORGID
,1 as HLevel,'true' as HEndFlag,case when     a.FFORBIDSTATUS='A' then 'false' else 'true' end as HStopflag,'CLD-ERP导入' as HRemark,getdate() as HMakeTime,'true' as HStandard,a.FCREATEORGID as HCREATEORGID,a.FUSEORGID as HUSEORGID
from T_BD_UNIT a with(nolock)
inner join T_BD_UNIT_L l with(nolock) on a.FUNITID=l.FUNITID 
Where a.FUNITID={id}
@@ -75,14 +78,15 @@
                //LogService.Write("单位同步示例:" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("单位同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient("http://61.130.182.102:18181/simoerAPI/");
                //var client = new RestSharp.RestClient("http://47.96.97.237/API/");
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_Unit/SaveGy_UnitListApi", 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"] + "," + contentPost);
                    LogService.Write("单位同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage);
                    LogService.Write("单位同步异常,POST," + "Gy_Unit/SaveGy_UnitListApi");
                    LogService.Write("单位同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot));
                }
zymes/OperationService/zymes_RealessWork.cs
New file
@@ -0,0 +1,115 @@
using 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_RealessWork : AbstractOperationServicePlugIn
    {
        Dictionary<string, string> dictionary = new Dictionary<string, string>();
        public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e)
        {
            base.OnPrepareOperationServiceOption(e);
            //为了在BeginOperationTransaction里检查数据抛出异常时
            //只回滚当前单据的事务,这里设置为不支持批量事务,这样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_RealessWork  {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql =string.Empty;
                sql = $@"
/*dialect*/
select a.FID as HItemID,a.FNUMBER as HNumber,l.FNAME as HName,'' as HHelpCode,a.FNUMBER as HShortNumber,0 as HParentID
,1 as HLevel,'true' as HEndFlag,'false' as HStopflag,'CLD-ERP导入' as HRemark,'' as HUseFlag,a.FUSEORGID as HUSEORGID
,a.FCREATEORGID as HCREATEORGID,a.FWORKCENTERID as HWORKCENTERID
from T_ENG_PROCESS a with(nolock)
inner join T_ENG_PROCESS_L l with(nolock) on a.FID=l.FID and FLOCALEID=2052
Where a.FID={id}
";
                DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                if (dt.Rows.Count == 0)
                {
                    LogService.Write("作业同步异常:" + sql);
                    continue;
                }
                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("作业同步示例:" + JsonConvert.SerializeObject(_jsonRoot));
                //LogService.Write("作业同步示例:" + _jsonRoot);
                //string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient(" http://10.11.18.195:8080/simoerapi/");
                var requestPost = new RestRequest("Gy_Work/SaveGy_WorkListApi", 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_Work/SaveGy_WorkListApi");
                    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;
            }
        }
    }
}
zymes/test/Program.cs
@@ -11,7 +11,9 @@
    {
        static void Main(string[] args)
        {
            CustomDemo1();
            //CustomDemo1();
            Console.WriteLine(DateTime.Now);
            Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff:ffffff"));
            Console.WriteLine(Convert.ToDecimal(1 / 10));
            Console.WriteLine(1 % 10);
            Console.WriteLine(1 % 10.0);
@@ -19,6 +21,7 @@
            Console.WriteLine((double)61 / 111);
            Console.WriteLine(Math.Round(((decimal)61 / 111), 2));
            Console.WriteLine(Math.Round(((decimal)61 * 100 / 111), 2));
            Console.Read();
        }
        private static void CustomDemo()
        {
zymes/zymes_Project.csproj
@@ -137,6 +137,7 @@
    <Compile Include="OperationService\zymes_RealessPrdPpbom.cs" />
    <Compile Include="OperationService\zymes_RealessBillType.cs" />
    <Compile Include="OperationService\zymes_RealessMatePriceSup.cs" />
    <Compile Include="OperationService\zymes_RealessSalSeOutStock.cs" />
    <Compile Include="OperationService\zymes_RealessSettleStyle.cs" />
    <Compile Include="OperationService\zymes_RealessRecCondition.cs" />
    <Compile Include="OperationService\zymes_RealessStock.cs" />
@@ -146,6 +147,8 @@
    <Compile Include="OperationService\zymes_RealessTaxRate.cs" />
    <Compile Include="OperationService\zymes_RealessSupplier.cs" />
    <Compile Include="OperationService\zymes_RealessStockStatus.cs" />
    <Compile Include="OperationService\zymes_RealessStaff.cs" />
    <Compile Include="OperationService\zymes_RealessWork.cs" />
    <Compile Include="OperationService\zymes_RealessUnit.cs" />
    <Compile Include="OperationService\zymes_RealessPrdMo.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />