yusijie
2022-12-14 a1dc613d4295bf306a46781335bc6ee839a73228
修改查询方式并注释异常代码
6个文件已修改
1个文件已添加
188 ■■■■■ 已修改文件
zymes/OperationService/zymes_RealessBillType.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessCurrency.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessMatePriceSup.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessOperator.cs 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessRateType.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessSettleStyle.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/zymes_Project.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessBillType.cs
@@ -45,7 +45,18 @@
            Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息
            foreach (var billObj in e.DataEntitys)
            {
                var sql = $"exec zymes_RealessBillType '{billObj["Id"]}' ";
                //var sql = $"exec zymes_RealessBillType '{billObj["Id"]}' ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
                sql = $@"
/*dialect*/
select a.FBILLTYPEID as HBilltypeID,a.FNumber as HNumber,l.FName as HName,'' as HTemplate,'' HHeadTable,
'' HEntryTable,'' HViewName,'' HRightName
from T_BAS_BILLTYPE a with(nolock)
inner join T_BAS_BILLTYPE_L l with(nolock) on a.FBILLTYPEID=l.FBILLTYPEID and FLOCALEID=2052
Where a.FBILLTYPEID='{id}'
";
                DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                if (dt.Rows.Count == 0)
                {
@@ -62,8 +73,8 @@
                {
                    ["model"] = model
                };
                LogService.Write("单据类型同步示例JsonConvert.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                LogService.Write("单据类型同步示例:" + _jsonRoot);
                //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 requestPost = new RestRequest("Xt_BillType/SaveXt_BillTypeListApi", Method.POST);
zymes/OperationService/zymes_RealessCurrency.cs
@@ -45,7 +45,18 @@
            Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息
            foreach (var billObj in e.DataEntitys)
            {
                var sql = $"exec zymes_RealessCurrency {billObj["Id"]} ";
                //var sql = $"exec zymes_RealessCurrency {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
                sql = $@"
/*dialect*/
select a.FCURRENCYID as HItemID,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,'' HHelpCode,FAMOUNTDIGITS as HScale,0 as HExchangeRate
from T_BD_CURRENCY a with(nolock)
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)
                {
zymes/OperationService/zymes_RealessMatePriceSup.cs
@@ -45,7 +45,19 @@
            Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息
            foreach (var billObj in e.DataEntitys)
            {
                var sql = $"exec zymes_RealessMatePriceSup {billObj["Id"]} ";
                //var sql = $"exec zymes_RealessMatePriceSup {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
                sql = $@"
/*dialect*/
select a.FID as HItemID,0 as HInterID,a.FNUMBER as HNumber,0 as HEntryID,0 as HMaterID,0 as HRelationID
,0 as HUnitID,0 as HBeginQty,0 as HEndQty,0 as HCurID,'' as HType,0 as HPrice,a.FEFFECTIVEDATE as HBeginDate
,a.FEXPIRYDATE as HEndDate,0 as HUsed,'' as HRemark,'' as HMaker,a.FCREATEDATE as HMakeDate
from T_PUR_PRICELIST a with(nolock)
inner join T_PUR_PRICELIST_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)
                {
@@ -62,8 +74,8 @@
                {
                    ["model"] = model
                };
                LogService.Write("采购价格同步示例JsonConvert.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                LogService.Write("采购价格同步示例:" + _jsonRoot);
                //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 requestPost = new RestRequest("Gy_MatePriceSup/SaveGy_MatePriceSupListApi", Method.POST);
zymes/OperationService/zymes_RealessOperator.cs
New file
@@ -0,0 +1,112 @@
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_RealessOperator : 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 sql = $"exec zymes_RealessUnit {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
,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
Where a.FOPERATORID={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://61.130.182.102:18181/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," + "Gy_Operator/SaveGy_OperatorListApi");
                    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_RealessRateType.cs
@@ -45,7 +45,19 @@
            Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息
            foreach (var billObj in e.DataEntitys)
            {
                var sql = $"exec zymes_RealessRateType {billObj["Id"]} ";
                //var sql = $"exec zymes_RealessRateType {billObj["Id"]} ";
                var id = billObj["Id"].ToString();
                string sql = string.Empty;
                sql = $@"
/*dialect*/
select a.FRATETYPEID as HItemID,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,'' HHelpCode,'未检测' as HUseFlag,FCREATEDATE as HMakeTime
,'' HMakeEmp,'' HCheckEmp,a.FAUDITDATE HCheckTime,'' HModifyEmp,a.FMODIFYDATE HModifyTime,'' HStopEmp,a.FUSEORGID as HUSEORGID,a.FCREATEORGID as HCREATEORGID
from T_BD_RateType a with(nolock)
inner join T_BD_RATETYPE_L l with(nolock) on a.FRATETYPEID=l.FRATETYPEID and FLOCALEID=2052
Where a.FRATETYPEID={id}
";
                DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                if (dt.Rows.Count == 0)
                {
zymes/OperationService/zymes_RealessSettleStyle.cs
@@ -45,7 +45,18 @@
            Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息
            foreach (var billObj in e.DataEntitys)
            {
                var sql = $"exec zymes_RealessSettleStyle {billObj["Id"]} ";
                //var sql = $"exec zymes_RealessSettleStyle {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,case when  a.FFORBIDSTATUS='A' then 'false' else 'true' end as HStopflag,'CLD-ERP导入' as HRemark
from T_BD_SETTLETYPE a with(nolock)
inner join T_BD_SETTLETYPE_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)
                {
zymes/zymes_Project.csproj
@@ -127,6 +127,7 @@
    <Compile Include="InvokeHelper.cs" />
    <Compile Include="LogService.cs" />
    <Compile Include="OperationService\zymes_RealessCurrency.cs" />
    <Compile Include="OperationService\zymes_RealessOperator.cs" />
    <Compile Include="OperationService\zymes_RealessRateType.cs" />
    <Compile Include="OperationService\zymes_RealessDepartment.cs" />
    <Compile Include="OperationService\zymes_RealessBom.cs" />