增加交易唯一码,方便在网络状态不佳的情况下重新获取操作结果
This commit is contained in:
@@ -3,15 +3,14 @@ using Microsoft.Extensions.Caching.Memory;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.Http;
|
||||
using Antlr.Runtime;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.AA;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.AA.U8PzInsert;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Entity;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Json;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.U8M;
|
||||
using UFIDA.U8.Framework.Api.Entity;
|
||||
using UFIDA.U8.Framework.Api.Unit;
|
||||
|
||||
// ReSharper disable InconsistentNaming
|
||||
@@ -217,8 +216,8 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
};
|
||||
|
||||
return await BaseLoad(cAccId, "CustomerClass", dict, input);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询人员档案
|
||||
/// </summary>
|
||||
@@ -261,7 +260,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[NonAction]
|
||||
public async Task<BaseResult<dynamic>> BaseLoad(string cAccId, string tableName,Dictionary<string,string> tables, [FromBody] Dictionary<string, object> input=null)
|
||||
public async Task<BaseResult<dynamic>> BaseLoad(string cAccId, string tableName, Dictionary<string, string> tables, [FromBody] Dictionary<string, object> input = null)
|
||||
{
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
@@ -306,7 +305,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
}
|
||||
});
|
||||
|
||||
var colList = new Dictionary<string,string>();
|
||||
var colList = new Dictionary<string, string>();
|
||||
|
||||
var query = db.Queryable<dynamic>();
|
||||
var bFirst = true;
|
||||
@@ -320,7 +319,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
|
||||
var cols = db.DbMaintenance.GetColumnInfosByTableName(table.Key);
|
||||
|
||||
if(cols != null && cols.Count > 0)
|
||||
if (cols != null && cols.Count > 0)
|
||||
{
|
||||
foreach (var col in cols.Where(col => !colList.Any(a => string.Equals(a.Key, col.DbColumnName, StringComparison.CurrentCultureIgnoreCase))))
|
||||
{
|
||||
@@ -347,7 +346,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
{
|
||||
if ($"{o.Value}".EndsWith("%") || $"{o.Value}".StartsWith("%"))
|
||||
{
|
||||
if (colList.Any(a=>string.Equals(a.Key, o.Key,StringComparison.OrdinalIgnoreCase) || string.Equals(a.Value, o.Key, StringComparison.OrdinalIgnoreCase)))
|
||||
if (colList.Any(a => string.Equals(a.Key, o.Key, StringComparison.OrdinalIgnoreCase) || string.Equals(a.Value, o.Key, StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
var col = colList.First(a =>
|
||||
string.Equals(a.Key, o.Key, StringComparison.OrdinalIgnoreCase) ||
|
||||
@@ -432,5 +431,60 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增项目大类
|
||||
/// </summary>
|
||||
/// <param name="cAccId"></param>
|
||||
/// <param name="cCardNum"></param>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/AA/{cCardNum}/Add")]
|
||||
public async Task<BaseResult<string>> Fitem_Add(string cAccId, string cCardNum, [FromBody] Dictionary<string, object> input)
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:新增,对接账套:{cAccId},数据:{input.ToJson()}");
|
||||
|
||||
//LoginParamter param;
|
||||
|
||||
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
|
||||
{
|
||||
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
|
||||
|
||||
baseLogin = new BaseLogin();
|
||||
|
||||
var param = await CommUnit.GetLoginParamter(cAccId);
|
||||
|
||||
if (param == null)
|
||||
{
|
||||
throw new Exception("未能加载指定系统号的登录信息");
|
||||
}
|
||||
|
||||
baseLogin.Init(param, false);
|
||||
|
||||
_cache.Clear();
|
||||
|
||||
_cache.Set($"U8_{cAccId}", baseLogin);
|
||||
}
|
||||
|
||||
var co = new IFitem();
|
||||
|
||||
var res = await co.Transact(baseLogin, "", null);
|
||||
|
||||
return res;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user