1
王 垚
2022-12-13 56bcde5f076d6a830d1e761ffa2744fd7c7965e8
1
1个文件已添加
3个文件已修改
118 ■■■■■ 已修改文件
zymes/OperationService/zymes_RealessBillType.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessCurrency.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessTaxMIX.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/zymes_Project.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessBillType.cs
@@ -45,7 +45,7 @@
            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"]}' ";
                DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                if (dt.Rows.Count == 0)
                {
zymes/OperationService/zymes_RealessCurrency.cs
@@ -62,7 +62,7 @@
                {
                    ["model"] = model
                };
                LogService.Write("币别同步示例.SerializeObject(_jsonRoot):" + JsonConvert.SerializeObject(_jsonRoot));
                //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/");
zymes/OperationService/zymes_RealessTaxMIX.cs
New file
@@ -0,0 +1,113 @@
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_RealessTaxMIX : 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_RealessTaxMIX {billObj["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
                };
                string clientUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "ClientUrl");//K/3 Cloud 业务站点地址
                var client = new RestSharp.RestClient(clientUrl);
                //新增
                var requestPost = new RestRequest("Gy_TaxMIXMain/SaveGy_TaxMIXMainListApi", 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," + clientUrl + "Gy_TaxMIXMain/SaveGy_TaxMIXMainListApi");
                    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/zymes_Project.csproj
@@ -141,6 +141,7 @@
    <Compile Include="OperationService\zymes_RealessStock.cs" />
    <Compile Include="OperationService\zymes_RealessCustomer.cs" />
    <Compile Include="OperationService\zymes_RealessPaymentCondition.cs" />
    <Compile Include="OperationService\zymes_RealessTaxMIX.cs" />
    <Compile Include="OperationService\zymes_RealessTaxRate.cs" />
    <Compile Include="OperationService\zymes_RealessSupplier.cs" />
    <Compile Include="OperationService\zymes_RealessStockStatus.cs" />