1.优化日志结构

2.增加日志时间
3.增加日志标识
4.删除部分代码
5.车间管理-报工单功能实现全面异步
This commit is contained in:
qmj
2025-07-24 10:04:22 +08:00
parent 55740e4bcf
commit 98905adc86
6 changed files with 783 additions and 301 deletions
@@ -2,16 +2,12 @@
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection; using System.Reflection;
using System.Threading.Tasks; using System.Threading.Tasks;
using UFIDA.U8.Framework.Api.ControlObject.Common; using UFIDA.U8.Framework.Api.ControlObject.Common;
using UFIDA.U8.Framework.Api.ControlObject.Entity; using UFIDA.U8.Framework.Api.ControlObject.Entity;
using UFIDA.U8.Framework.Api.ControlObject.Json; using UFIDA.U8.Framework.Api.ControlObject.Json;
using UFSoft.U8.Framework.BizBase; using UFSoft.U8.Framework.BizBase;
using UFSoft.U8.Framework.ContextSrv;
using UFSoft.U8.U8M.BFDispatcher; using UFSoft.U8.U8M.BFDispatcher;
using UFSoft.U8.U8M.Common; using UFSoft.U8.U8M.Common;
using UFSoft.U8.U8M.DAC; using UFSoft.U8.U8M.DAC;
@@ -29,10 +25,16 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
/// </summary> /// </summary>
public class MoRoutingBill : IBaseBF public class MoRoutingBill : IBaseBF
{ {
//日志组件
private readonly ILog _logInfo = LogManager.GetLogger("logInfo");
protected readonly ILog logInfo = LogManager.GetLogger("logInfo"); /// <summary>
/// 获取空数据源
private async Task<MoRoutingBillDs> GetEmptyDs(IContextContainer callar, string cCardNum) /// </summary>
/// <param name="callar"></param>
/// <param name="cCardNum"></param>
/// <returns></returns>
private static async Task<MoRoutingBillDs> GetEmptyDs(IContextContainer callar, string cCardNum)
{ {
try try
{ {
@@ -66,9 +68,15 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
} }
/// <summary>
/// 填充DataSet数据
private async Task<MoRoutingBillDs> GetVoucherDs(IContextContainer callar, string cCardNum, AutoDocNoGenerateParam docNoParam, Dictionary<string, object> input) /// </summary>
/// <param name="callar"></param>
/// <param name="cCardNum"></param>
/// <param name="docNoParam"></param>
/// <param name="input"></param>
/// <returns></returns>
private static async Task<MoRoutingBillDs> GetVoucherDs(IContextContainer callar, string cCardNum, AutoDocNoGenerateParam docNoParam, Dictionary<string, object> input)
{ {
var ds = await GetEmptyDs(callar, cCardNum); var ds = await GetEmptyDs(callar, cCardNum);
@@ -111,8 +119,14 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
return ds; return ds;
} }
/// <summary>
/// 保存单据
/// </summary>
/// <param name="baseLogin"></param>
/// <param name="cCardNum"></param>
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<BaseResult<string>> Save(BaseLogin baseLogin, string cCardNum, Dictionary<string, object> input) public async Task<BaseResult<string>> Save(BaseLogin baseLogin, string cCardNum, Dictionary<string, object> input)
{ {
try try
@@ -131,22 +145,20 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
throw new Exception("未能构建数据集"); throw new Exception("未能构建数据集");
} }
//var context = new DefaultContextContainer();
//context.context["taskid"] = taskId;
logInfo.Debug($"单据编码:{cCardNum},开始保存"); _logInfo.Debug($"单据编码:{cCardNum},开始保存");
var id = SFExecutor.BFMoRoutingBill_MoRoutingBillSave(ds.Result, docNoParam, callar); var id = SFExecutor.BFMoRoutingBill_MoRoutingBillSave(ds.Result, docNoParam, callar);
logInfo.Debug($"单据编码:{cCardNum},保存完成,id:{id}"); _logInfo.Debug($"单据编码:{cCardNum},保存完成,id:{id}");
return new BaseResult<string> { bSuccess = true, message = "新增成功", result = $"{id}" }; return new BaseResult<string> { bSuccess = true, message = "新增成功", result = $"{id}" };
} }
catch (U8MReferenceBENotExistException ex) catch (U8MReferenceBENotExistException ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
await Task.Delay(1); await Task.Delay(1);
@@ -156,7 +168,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
{ {
if (ex.InnerException is U8MReferenceBENotExistException) if (ex.InnerException is U8MReferenceBENotExistException)
{ {
logInfo.Error(ex.InnerException.Message, ex.InnerException); _logInfo.Error(ex.InnerException.Message, ex.InnerException);
await Task.Delay(1); await Task.Delay(1);
@@ -164,7 +176,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
else else
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
await Task.Delay(1); await Task.Delay(1);
@@ -175,7 +187,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
catch (Exception ex) catch (Exception ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
await Task.Delay(1); await Task.Delay(1);
@@ -183,6 +195,13 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
} }
/// <summary>
/// 保存单据(批量)
/// </summary>
/// <param name="baseLogin"></param>
/// <param name="cCardNum"></param>
/// <param name="inputs"></param>
/// <returns></returns>
public async Task<BaseResult<string>> Save(BaseLogin baseLogin, string cCardNum, List<Dictionary<string, object>> inputs) public async Task<BaseResult<string>> Save(BaseLogin baseLogin, string cCardNum, List<Dictionary<string, object>> inputs)
{ {
@@ -214,13 +233,21 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
catch (Exception ex) catch (Exception ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "新增失败", result = ex.Message }; return new BaseResult<string> { bSuccess = false, message = "新增失败", result = ex.Message };
} }
} }
/// <summary>
/// 删除单据(单号)(批量)
/// </summary>
/// <param name="baseLogin"></param>
/// <param name="cCardNum"></param>
/// <param name="inputs"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<BaseResult<string>> Delete(BaseLogin baseLogin, string cCardNum, List<string> inputs) public async Task<BaseResult<string>> Delete(BaseLogin baseLogin, string cCardNum, List<string> inputs)
{ {
try try
@@ -241,18 +268,25 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
catch (U8MReferenceBENotExistException ex) catch (U8MReferenceBENotExistException ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "新增失败", result = ex.Message }; return new BaseResult<string> { bSuccess = false, message = "新增失败", result = ex.Message };
} }
catch (Exception ex) catch (Exception ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "删除失败", result = ex.Message }; return new BaseResult<string> { bSuccess = false, message = "删除失败", result = ex.Message };
} }
} }
/// <summary>
/// 删除单据(ID)(批量)
/// </summary>
/// <param name="baseLogin"></param>
/// <param name="inputs"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<BaseResult<string>> Delete(BaseLogin baseLogin, List<int> inputs) public async Task<BaseResult<string>> Delete(BaseLogin baseLogin, List<int> inputs)
{ {
try try
@@ -273,7 +307,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
catch (U8MReferenceBENotExistException ex) catch (U8MReferenceBENotExistException ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
await Task.Delay(1); await Task.Delay(1);
@@ -281,7 +315,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
catch (Exception ex) catch (Exception ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
await Task.Delay(1); await Task.Delay(1);
@@ -291,6 +325,14 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
/// <summary>
/// 审核单据(单号)(批量)
/// </summary>
/// <param name="baseLogin"></param>
/// <param name="cCardNum"></param>
/// <param name="inputs"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<BaseResult<string>> Verify(BaseLogin baseLogin, string cCardNum, List<string> inputs) public async Task<BaseResult<string>> Verify(BaseLogin baseLogin, string cCardNum, List<string> inputs)
{ {
try try
@@ -311,18 +353,25 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
catch (U8MReferenceBENotExistException ex) catch (U8MReferenceBENotExistException ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "新增失败", result = ex.Message }; return new BaseResult<string> { bSuccess = false, message = "新增失败", result = ex.Message };
} }
catch (Exception ex) catch (Exception ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "审核失败", result = ex.Message }; return new BaseResult<string> { bSuccess = false, message = "审核失败", result = ex.Message };
} }
} }
/// <summary>
/// 审核单据(ID)(批量)
/// </summary>
/// <param name="baseLogin"></param>
/// <param name="inputs"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<BaseResult<string>> Verify(BaseLogin baseLogin, List<int> inputs) public async Task<BaseResult<string>> Verify(BaseLogin baseLogin, List<int> inputs)
{ {
try try
@@ -343,7 +392,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
catch (U8MReferenceBENotExistException ex) catch (U8MReferenceBENotExistException ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
await Task.Delay(1); await Task.Delay(1);
@@ -351,7 +400,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
catch (Exception ex) catch (Exception ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
await Task.Delay(1); await Task.Delay(1);
@@ -361,7 +410,15 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
} }
public BaseResult<string> UnVerify(string cCardNum, List<string> inputs) /// <summary>
/// 弃审单据(单号)(批量)
/// </summary>
/// <param name="baseLogin"></param>
/// <param name="cCardNum"></param>
/// <param name="inputs"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<BaseResult<string>> UnVerify(BaseLogin baseLogin, string cCardNum, List<string> inputs)
{ {
try try
{ {
@@ -377,23 +434,32 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
newInput.Add(int.Parse($"{dataReader[0]}")); newInput.Add(int.Parse($"{dataReader[0]}"));
} }
return UnVerify(newInput); return await UnVerify(baseLogin, newInput);
} }
catch (U8MReferenceBENotExistException ex) catch (U8MReferenceBENotExistException ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "新增失败", result = ex.Message }; await Task.Delay(1);
return new BaseResult<string> { bSuccess = false, message = "弃审失败", result = ex.Message };
} }
catch (Exception ex) catch (Exception ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "弃审失败", result = ex.Message }; return new BaseResult<string> { bSuccess = false, message = "弃审失败", result = ex.Message };
} }
} }
public BaseResult<string> UnVerify(List<int> inputs) /// <summary>
/// 弃审单据(ID)(批量)
/// </summary>
/// <param name="baseLogin"></param>
/// <param name="inputs"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<BaseResult<string>> UnVerify(BaseLogin baseLogin, List<int> inputs)
{ {
try try
{ {
@@ -407,19 +473,23 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
ht.Add(input, $"{input}"); ht.Add(input, $"{input}");
} }
var id = SFExecutor.BFMoRoutingBill_UnVerify(ht, new DefaultContextContainer()); var id = SFExecutor.BFMoRoutingBill_UnVerify(ht, baseLogin.callar);
return new BaseResult<string> { bSuccess = true, message = "弃审成功", result = $"{id}" }; return new BaseResult<string> { bSuccess = true, message = "弃审成功", result = $"{id}" };
} }
catch (U8MReferenceBENotExistException ex) catch (U8MReferenceBENotExistException ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
await Task.Delay(1);
return new BaseResult<string> { bSuccess = false, message = "新增失败", result = ex.Message }; return new BaseResult<string> { bSuccess = false, message = "新增失败", result = ex.Message };
} }
catch (Exception ex) catch (Exception ex)
{ {
logInfo.Error(ex.Message, ex); _logInfo.Error(ex.Message, ex);
await Task.Delay(1);
return new BaseResult<string> { bSuccess = false, message = "弃审失败", result = ex.Message }; return new BaseResult<string> { bSuccess = false, message = "弃审失败", result = ex.Message };
+21 -1
View File
@@ -860,6 +860,15 @@
<param name="input">报文数据</param> <param name="input">报文数据</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.SFCController.MoRoutingBillSaveToken(System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
<summary>
新增报工
</summary>
<param name="cAccId">系统号</param>
<param name="cCardNum">单据类型编码</param>
<param name="input">报文数据</param>
<returns></returns>
</member>
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.SFCController.FC90Save(System.String,System.Collections.Generic.Dictionary{System.String,System.Object})"> <member name="M:UFIDA.U8.Framework.Api.Controllers.U8.SFCController.FC90Save(System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
<summary> <summary>
新增订单报工 新增订单报工
@@ -1168,7 +1177,18 @@
</member> </member>
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.WorkflowController.SubmitApplicationMessage(System.String,System.String,System.Int64,System.String,System.Boolean)"> <member name="M:UFIDA.U8.Framework.Api.Controllers.U8.WorkflowController.SubmitApplicationMessage(System.String,System.String,System.Int64,System.String,System.Boolean)">
<summary> <summary>
提交审批流(单号) 提交审批流(ID)
</summary>
<param name="cCardNum">单据类型编码</param>
<param name="voucherId">单据ID</param>
<param name="cAccId">系统注册号</param>
<param name="eventId">审批事件</param>
<param name="bUap">是否UAP单据</param>
<returns></returns>
</member>
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.WorkflowController.SubmitApplicationMessageToken(System.String,System.Int64,System.String,System.Boolean)">
<summary>
提交审批流(ID)
</summary> </summary>
<param name="cCardNum">单据类型编码</param> <param name="cCardNum">单据类型编码</param>
<param name="voucherId">单据ID</param> <param name="voucherId">单据ID</param>
@@ -56,13 +56,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:新增,对接账套:{cAccId},数据:{input.ToJson()}"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:新增,对接账套:{cAccId},数据:{input.ToJson()}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -84,7 +84,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -100,45 +100,45 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
bGetCode = true; bGetCode = true;
codeKey = defs.Where(a => a.bDefault == true && a.cPosition == "H" && a.DefaultValue == "单号" && a.bEnable == true).Select(a => a.FieldName).First(); codeKey = defs.Where(a => a.bDefault == true && a.cPosition == "H" && a.DefaultValue == "单号" && a.bEnable == true).Select(a => a.FieldName).First();
logInfo.Debug($"作业Id:{workId}-----配置获取单号"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----配置获取单号");
} }
else else
{ {
logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----没有单号需要自动指定");
} }
#region 调整日期,去掉时间部分 #region 调整日期,去掉时间部分
if (input.ContainsKey("ddate")) if (input.ContainsKey("ddate"))
{ {
logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----调整日期,去掉时间部分");
input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}"; input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}";
} }
if (input.ContainsKey("dtvdate")) if (input.ContainsKey("dtvdate"))
{ {
logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----调整日期,去掉时间部分");
input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}"; input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}";
} }
#endregion #endregion
logInfo.Debug($"作业Id:{workId}-----设置表头数据"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----设置表头数据");
input.SetDictionaryData(defs, baseLogin.Connection, newNumber); input.SetDictionaryData(defs, baseLogin.Connection, newNumber);
logInfo.Debug($"作业Id:{workId}-----读取表体数据"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----读取表体数据");
var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据 var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据
if (bodyData == null || bodyData.Count <= 0) if (bodyData == null || bodyData.Count <= 0)
throw new Exception("无表体数据!"); throw new Exception("无表体数据!");
logInfo.Debug($"作业Id:{workId}-----获取表体字段配置"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----获取表体字段配置");
var defsBody = await db.Queryable<SysU8FieldDefine>().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable == true).ToListAsync(); //获取表体的字段配置 var defsBody = await db.Queryable<SysU8FieldDefine>().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable == true).ToListAsync(); //获取表体的字段配置
var rowNo = 1; var rowNo = 1;
foreach (var body in bodyData) foreach (var body in bodyData)
{ {
logInfo.Debug($"作业Id:{workId}-----设置第{rowNo}行单据数据"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----设置第{rowNo}行单据数据");
body.SetDictionaryData(defsBody, baseLogin.Connection, newNumber, rowNo); body.SetDictionaryData(defsBody, baseLogin.Connection, newNumber, rowNo);
rowNo++; rowNo++;
@@ -182,13 +182,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{cCode}"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{cCode}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin) || baseLogin == null) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin) || baseLogin == null)
{ {
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -210,7 +210,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -248,11 +248,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},ID:{voucherId}"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},ID:{voucherId}");
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -270,7 +270,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
_cache.Set($"U8_{cAccId}", baseLogin); _cache.Set($"U8_{cAccId}", baseLogin);
} }
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -337,13 +337,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
strId = string.Join(",", voucherIds); strId = string.Join(",", voucherIds);
} }
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{strCode},ID:{strId}"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{strCode},ID:{strId}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -365,7 +365,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -414,11 +414,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{cCode}"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{cCode}");
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin) || baseLogin == null) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin) || baseLogin == null)
{ {
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -436,7 +436,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
_cache.Set($"U8_{cAccId}", baseLogin); _cache.Set($"U8_{cAccId}", baseLogin);
} }
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -474,11 +474,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},ID:{voucherId}"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},ID:{voucherId}");
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -496,7 +496,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
_cache.Set($"U8_{cAccId}", baseLogin); _cache.Set($"U8_{cAccId}", baseLogin);
} }
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -563,13 +563,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
strId = string.Join(",", voucherIds); strId = string.Join(",", voucherIds);
} }
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{strCode},ID:{strId}"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{strCode},ID:{strId}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -591,7 +591,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -640,11 +640,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{cCode}"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{cCode}");
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin) || baseLogin == null) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin) || baseLogin == null)
{ {
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -662,7 +662,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
_cache.Set($"U8_{cAccId}", baseLogin); _cache.Set($"U8_{cAccId}", baseLogin);
} }
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -700,11 +700,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},ID:{voucherId}"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},ID:{voucherId}");
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -722,7 +722,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
_cache.Set($"U8_{cAccId}", baseLogin); _cache.Set($"U8_{cAccId}", baseLogin);
} }
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -789,11 +789,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
strId = string.Join(",", voucherIds); strId = string.Join(",", voucherIds);
} }
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{strCode},ID:{strId}"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{strCode},ID:{strId}");
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -811,7 +811,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
_cache.Set($"U8_{cAccId}", baseLogin); _cache.Set($"U8_{cAccId}", baseLogin);
} }
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -11,6 +11,8 @@ using UFIDA.U8.Framework.Api.Unit;
using UFIDA.U8.Framework.Api.Models; using UFIDA.U8.Framework.Api.Models;
using Convert = System.Convert; using Convert = System.Convert;
using SqlSugar; using SqlSugar;
using System.Linq;
using UFIDA.U8.Framework.Api.Entity;
// ReSharper disable InconsistentNaming // ReSharper disable InconsistentNaming
// ReSharper disable IdentifierTypo // ReSharper disable IdentifierTypo
@@ -28,10 +30,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// </summary> /// </summary>
private readonly ILog _logInfo = LogManager.GetLogger("logInfo"); private readonly ILog _logInfo = LogManager.GetLogger("logInfo");
/// <summary>
/// 缓存组件
/// </summary>
private static readonly MemoryCache _cache = new MemoryCache(new MemoryCacheOptions { ExpirationScanFrequency = TimeSpan.FromMinutes(10) }); private static readonly MemoryCache _cache = new MemoryCache(new MemoryCacheOptions { ExpirationScanFrequency = TimeSpan.FromMinutes(10) });
/// <summary> /// <summary>
/// 新增报工 /// 保存报工单
/// </summary> /// </summary>
/// <param name="cAccId">系统号</param> /// <param name="cAccId">系统号</param>
/// <param name="cCardNum">单据类型编码</param> /// <param name="cCardNum">单据类型编码</param>
@@ -41,22 +46,28 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[Route("api/U8/SFC/MoRoutingBillSave")] [Route("api/U8/SFC/MoRoutingBillSave")]
public async Task<BaseResult<string>> MoRoutingBillSave(string cAccId, string cCardNum, [FromBody] Dictionary<string, object> input) public async Task<BaseResult<string>> MoRoutingBillSave(string cAccId, string cCardNum, [FromBody] Dictionary<string, object> input)
{ {
//var taskId = 0L; var workId = SnowFlakeSingle.Instance.NextId();
try try
{ {
var db = CommUnit.GetDbClient(); var userToken = Request.Headers.GetValues("userToken").First();
var workId = SnowFlakeSingle.Instance.NextId(); if (!string.IsNullOrWhiteSpace(userToken))
{
return await MoRoutingBillSaveToken(cCardNum, input);
}
_logInfo.Debug($"作业Id:{workId}-----接口标识:MoRoutingBillSave,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----当前接口:api/U8/SFC/MoRoutingBillSave,单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92") if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据"); throw new Exception("当前接口不支持此类型的单据");
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
//可能存在其他的缓存,先清掉
_cache.Clear();
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -69,15 +80,6 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
baseLogin.Init(param); baseLogin.Init(param);
try
{
_cache.Remove($"U8_{cAccId}");
}
catch
{
_logInfo.Debug($"不存在[U8_{cAccId}]的缓存");
}
_cache.Set($"U8_{cAccId}", baseLogin); _cache.Set($"U8_{cAccId}", baseLogin);
} }
@@ -91,67 +93,88 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
baseLogin.RefreshCallar(baseLogin.userToken); baseLogin.RefreshCallar(baseLogin.userToken);
} }
var bo = new MoRoutingBill();
BaseResult<string> res;
//var runtimes = 0; if (input.ContainsKey("bBatch") && Convert.ToBoolean(input["bBatch"]))
{
var inputs = input["inputs"] as List<Dictionary<string, object>> ?? $"{input["inputs"]}".ToObject<List<Dictionary<string, object>>>();
//var u8mTask = new SysU8MTask() _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始保存(批量)");
//{ res = await bo.Save(baseLogin, cCardNum, inputs);
// U8MPool = $"U8M_{cAccId}" _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束保存(批量)");
//}; }
else
{
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始保存");
res = await bo.Save(baseLogin, cCardNum, input);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束保存");
}
//#if !DEBUG return res;
// while (await db.Queryable<SysU8MTask>().AnyAsync())
// {
// if (runtimes > 20)
// {
// throw new Exception("当前任务队列过长");
// }
// runtimes++; }
catch (Exception ex)
{
_logInfo.Error($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----错误信息:{ex.Message}", ex);
// await Task.Delay(100 * runtimes); return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
// //u8mTask.Id = DateTime.Now.Ticks; /// <summary>
/// 保存报工单
/// </summary>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/MoRoutingBillSave/Token")]
public async Task<BaseResult<string>> MoRoutingBillSaveToken(string cCardNum, [FromBody] Dictionary<string, object> input)
{
var workId = SnowFlakeSingle.Instance.NextId();
// if (await db.Queryable<SysU8MTask>() try
// .AnyAsync(a => SqlFunc.DateDiff(DateType.Minute, a.dDate, DateTime.Now) > 1)) {
// { var userToken = Request.Headers.GetValues("userToken").First();
// await db.Deleteable<SysU8MTask>()
// .Where(a => SqlFunc.DateDiff(DateType.Minute, a.dDate, DateTime.Now) > 1)
// .ExecuteCommandAsync();
// }
// } _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----当前接口:api/U8/SFC/MoRoutingBillSave/{userToken},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
//#endif
//u8mTask.dDate = DateTime.Now; if (string.IsNullOrWhiteSpace(userToken))
{
throw new Exception("校验userToken失败");
}
//if (u8mTask.Id == null) var output = CommUnit.GetDecrypt(userToken).ToObject<LoginOutput>();
//{
// u8mTask.Id = DateTime.Now.Ticks;
//}
//taskId = await db.Insertable(u8mTask).ExecuteReturnSnowflakeIdAsync(); var token = CommUnit.GetDecrypt(output.userToken);
//var taskid = SnowFlakeSingle.Instance.NextId(); if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据");
//_logInfo.Debug($"开始操作,当前任务ID:{taskId}"); if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin))
//if (!_cache.TryGetValue($"U8M_{cAccId}", out BaseLogin baseLogin)) {
//{ _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
// _cache.Clear();
////baseLogin = new BaseLogin(); //可能存在其他的缓存,先清掉
_cache.Clear();
////var param = await CommUnit.GetLoginParamter(cAccId); baseLogin = new BaseLogin();
////if (param == null) baseLogin.Init(token, true, 5);
////{
//// throw new Exception("未能加载指定系统号的登录信息");
////}
////_logInfo.Debug("开始登录"); _cache.Set($"U8_{userToken}_{output.cAccId}", baseLogin);
}
////baseLogin.Init(param,true); if (baseLogin == null)
{
throw new Exception("登录对象加载失败");
}
if (!baseLogin.CheckCallar())
{
baseLogin.RefreshCallar(baseLogin.userToken);
}
var bo = new MoRoutingBill(); var bo = new MoRoutingBill();
BaseResult<string> res; BaseResult<string> res;
@@ -159,77 +182,32 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
{ {
var inputs = input["inputs"] as List<Dictionary<string, object>> ?? $"{input["inputs"]}".ToObject<List<Dictionary<string, object>>>(); var inputs = input["inputs"] as List<Dictionary<string, object>> ?? $"{input["inputs"]}".ToObject<List<Dictionary<string, object>>>();
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始保存(批量)");
res = await bo.Save(baseLogin, cCardNum, inputs); res = await bo.Save(baseLogin, cCardNum, inputs);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束保存(批量)");
} }
else else
{ {
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始保存");
res = await bo.Save(baseLogin, cCardNum, input); res = await bo.Save(baseLogin, cCardNum, input);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束保存");
} }
//loader.Unload();
//var res= loader.Save(param, cCardNum, input);
//_cache.Set($"U8M_{cAccId}", baseLogin);
//}
//var bf = new MoRoutingBill();
_logInfo.Debug($"开始保存");
//BaseResult<string> res;
//if (input.ContainsKey("bBatch") && Convert.ToBoolean(input["bBatch"]))
//{
// var inputs = input["inputs"] as List<Dictionary<string, object>> ?? $"{input["inputs"]}".ToObject<List<Dictionary<string, object>>>();
// res = bf.Save(cCardNum, inputs);
//}
//else
//{
// res = bf.Save(cCardNum, input);
//}
_logInfo.Debug($"退出登录");
//baseLogin.ShutDown();
//if (taskId != 0)
//{
// await db.Deleteable<SysU8MTask>(taskId).ExecuteCommandAsync();
//}
return res; return res;
} }
catch (Exception ex) catch (Exception ex)
{ {
_logInfo.Error(ex.Message, ex); _logInfo.Error($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----错误信息:{ex.Message}", ex);
//if (taskId != 0)
//{
// await db.Deleteable<SysU8MTask>(taskId).ExecuteCommandAsync();
//}
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace }; return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
} }
finally
{
//if (taskId != 0)
//{
// await db.Deleteable<SysU8MTask>(taskId).ExecuteCommandAsync();
//}
//baseLogin?.ShutDown();
}
} }
/// <summary> /// <summary>
/// 新增订单报工 /// 保存订单报工
/// </summary> /// </summary>
/// <param name="cAccId">系统号</param> /// <param name="cAccId">系统号</param>
/// <param name="input">报文数据</param> /// <param name="input">报文数据</param>
@@ -243,7 +221,19 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
} }
/// <summary> /// <summary>
/// 新增工序报工 /// 保存订单报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC90/Save/Token")]
public async Task<BaseResult<string>> FC90SaveToken([FromBody] Dictionary<string, object> input)
{
return await MoRoutingBillSaveToken("FC90", input);
}
/// <summary>
/// 保存工序报工
/// </summary> /// </summary>
/// <param name="cAccId">系统号</param> /// <param name="cAccId">系统号</param>
/// <param name="input">报文数据</param> /// <param name="input">报文数据</param>
@@ -257,7 +247,19 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
} }
/// <summary> /// <summary>
/// 新增转移报工 /// 保存工序报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC91/Save/Token")]
public async Task<BaseResult<string>> FC91SaveToken([FromBody] Dictionary<string, object> input)
{
return await MoRoutingBillSaveToken("FC91", input);
}
/// <summary>
/// 保存转移报工
/// </summary> /// </summary>
/// <param name="cAccId">系统号</param> /// <param name="cAccId">系统号</param>
/// <param name="input">报文数据</param> /// <param name="input">报文数据</param>
@@ -271,7 +273,19 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
} }
/// <summary> /// <summary>
/// 删除报工 /// 保存转移报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC92/Save/Token")]
public async Task<BaseResult<string>> FC92SaveToken([FromBody] Dictionary<string, object> input)
{
return await MoRoutingBillSaveToken("FC92", input);
}
/// <summary>
/// 删除报工单
/// </summary> /// </summary>
/// <param name="cAccId">系统号</param> /// <param name="cAccId">系统号</param>
/// <param name="cCardNum">单据类型编码</param> /// <param name="cCardNum">单据类型编码</param>
@@ -281,9 +295,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[Route("api/U8/SFC/MoRoutingBillDelete")] [Route("api/U8/SFC/MoRoutingBillDelete")]
public async Task<BaseResult<string>> MoRoutingBillDelete(string cAccId, string cCardNum, [FromBody] DeleteMoRoutingBillInput input) public async Task<BaseResult<string>> MoRoutingBillDelete(string cAccId, string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
{ {
var workId = SnowFlakeSingle.Instance.NextId();
try try
{ {
_logInfo.Debug($"接口标识:MoRoutingBillDelete,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}"); var userToken = Request.Headers.GetValues("userToken").First();
if (!string.IsNullOrWhiteSpace(userToken))
{
return await MoRoutingBillDeleteToken(cCardNum, input);
}
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----当前接口:api/U8/SFC/MoRoutingBillDelete,单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92") if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据"); throw new Exception("当前接口不支持此类型的单据");
@@ -308,17 +331,23 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
if (input.cVouchCode != null && input.cVouchCode.Count > 0) if (input.cVouchCode != null && input.cVouchCode.Count > 0)
{ {
return await bf.Delete(baseLogin,cCardNum, input.cVouchCode); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始删除(单号)(批量)");
var res = await bf.Delete(baseLogin, cCardNum, input.cVouchCode);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束删除(单号)(批量)");
return res;
} }
else else
{ {
return await bf.Delete(baseLogin,input.MID); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始删除(ID)(批量)");
var res = await bf.Delete(baseLogin, input.MID);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束删除(ID)(批量)");
return res;
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
_logInfo.Error(ex.Message, ex); _logInfo.Error($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----错误信息:{ex.Message}", ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace }; return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
} }
@@ -326,6 +355,77 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
} }
/// <summary>
/// 删除报工单
/// </summary>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/MoRoutingBillDelete/Token")]
public async Task<BaseResult<string>> MoRoutingBillDeleteToken(string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
{
var workId = SnowFlakeSingle.Instance.NextId();
try
{
var userToken = Request.Headers.GetValues("userToken").First();
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----当前接口:api/U8/SFC/MoRoutingBillDelete/{userToken},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (string.IsNullOrWhiteSpace(userToken))
{
throw new Exception("校验userToken失败");
}
var output = CommUnit.GetDecrypt(userToken).ToObject<LoginOutput>();
var token = CommUnit.GetDecrypt(output.userToken);
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据");
if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin))
{
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
//可能存在其他的缓存,先清掉
_cache.Clear();
baseLogin = new BaseLogin();
baseLogin.Init(token, true, 5);
_cache.Set($"U8_{userToken}_{output.cAccId}", baseLogin);
}
var bf = new MoRoutingBill();
if (input.cVouchCode != null && input.cVouchCode.Count > 0)
{
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始删除(单号)(批量)");
var res = await bf.Delete(baseLogin, cCardNum, input.cVouchCode);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束删除(单号)(批量)");
return res;
}
else
{
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始删除(ID)(批量)");
var res = await bf.Delete(baseLogin, input.MID);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束删除(ID)(批量)");
return res;
}
}
catch (Exception ex)
{
_logInfo.Error($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----错误信息:{ex.Message}", ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
/// <summary> /// <summary>
/// 删除订单报工 /// 删除订单报工
@@ -341,6 +441,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
return await MoRoutingBillDelete(cAccId, "FC90", input); return await MoRoutingBillDelete(cAccId, "FC90", input);
} }
/// <summary>
/// 删除订单报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC90/Delete/Token")]
public async Task<BaseResult<string>> FC90DeleteToken([FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillDeleteToken("FC90", input);
}
/// <summary> /// <summary>
/// 删除工序报工 /// 删除工序报工
/// </summary> /// </summary>
@@ -355,6 +467,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
return await MoRoutingBillDelete(cAccId, "FC91", input); return await MoRoutingBillDelete(cAccId, "FC91", input);
} }
/// <summary>
/// 删除工序报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC91/Delete/Token")]
public async Task<BaseResult<string>> FC91DeleteToken([FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillDeleteToken("FC91", input);
}
/// <summary> /// <summary>
/// 删除转移报工 /// 删除转移报工
/// </summary> /// </summary>
@@ -370,7 +494,19 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
} }
/// <summary> /// <summary>
/// 审核报工 /// 删除转移报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC92/Delete/Token")]
public async Task<BaseResult<string>> FC92DeleteToken([FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillDeleteToken("FC92", input);
}
/// <summary>
/// 审核报工单
/// </summary> /// </summary>
/// <param name="cAccId">系统号</param> /// <param name="cAccId">系统号</param>
/// <param name="cCardNum">单据类型编码</param> /// <param name="cCardNum">单据类型编码</param>
@@ -380,9 +516,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[Route("api/U8/SFC/MoRoutingBillVerify")] [Route("api/U8/SFC/MoRoutingBillVerify")]
public async Task<BaseResult<string>> MoRoutingBillVerify(string cAccId, string cCardNum, [FromBody] DeleteMoRoutingBillInput input) public async Task<BaseResult<string>> MoRoutingBillVerify(string cAccId, string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
{ {
var workId = SnowFlakeSingle.Instance.NextId();
try try
{ {
_logInfo.Debug($"接口标识:MoRoutingBillVerify,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}"); var userToken = Request.Headers.GetValues("userToken").First();
if (!string.IsNullOrWhiteSpace(userToken))
{
return await MoRoutingBillVerifyToken(cCardNum, input);
}
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----当前接口:api/U8/SFC/MoRoutingBillVerify,单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92") if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据"); throw new Exception("当前接口不支持此类型的单据");
@@ -425,6 +570,77 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
} }
/// <summary>
/// 审核报工单
/// </summary>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/MoRoutingBillVerify/Token")]
public async Task<BaseResult<string>> MoRoutingBillVerifyToken(string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
{
var workId = SnowFlakeSingle.Instance.NextId();
try
{
var userToken = Request.Headers.GetValues("userToken").First();
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----当前接口:api/U8/SFC/MoRoutingBillVerify/{userToken},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (string.IsNullOrWhiteSpace(userToken))
{
throw new Exception("校验userToken失败");
}
var output = CommUnit.GetDecrypt(userToken).ToObject<LoginOutput>();
var token = CommUnit.GetDecrypt(output.userToken);
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据");
if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin))
{
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
//可能存在其他的缓存,先清掉
_cache.Clear();
baseLogin = new BaseLogin();
baseLogin.Init(token, true, 5);
_cache.Set($"U8_{userToken}_{output.cAccId}", baseLogin);
}
var bf = new MoRoutingBill();
if (input.cVouchCode != null && input.cVouchCode.Count > 0)
{
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始审核(单号)(批量)");
var res = await bf.Verify(baseLogin, cCardNum, input.cVouchCode);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束审核(单号)(批量)");
return res;
}
else
{
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始审核(ID)(批量)");
var res = await bf.Verify(baseLogin, input.MID);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束审核(ID)(批量)");
return res;
}
}
catch (Exception ex)
{
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
/// <summary> /// <summary>
/// 审核订单报工 /// 审核订单报工
@@ -440,6 +656,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
return await MoRoutingBillVerify(cAccId, "FC90", input); return await MoRoutingBillVerify(cAccId, "FC90", input);
} }
/// <summary>
/// 审核订单报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC90/Verify/Token")]
public async Task<BaseResult<string>> FC90VerifyToken([FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillVerifyToken("FC90", input);
}
/// <summary> /// <summary>
/// 审核工序报工 /// 审核工序报工
/// </summary> /// </summary>
@@ -454,6 +682,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
return await MoRoutingBillVerify(cAccId, "FC91", input); return await MoRoutingBillVerify(cAccId, "FC91", input);
} }
/// <summary>
/// 审核工序报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC91/Verify/Token")]
public async Task<BaseResult<string>> FC91VerifyToken([FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillVerifyToken("FC91", input);
}
/// <summary> /// <summary>
/// 审核转移报工 /// 审核转移报工
/// </summary> /// </summary>
@@ -468,6 +708,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
return await MoRoutingBillVerify(cAccId, "FC92", input); return await MoRoutingBillVerify(cAccId, "FC92", input);
} }
/// <summary>
/// 审核转移报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC92/Verify/Token")]
public async Task<BaseResult<string>> FC92VerifyToken([FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillVerifyToken("FC92", input);
}
/// <summary> /// <summary>
/// 弃审报工 /// 弃审报工
/// </summary> /// </summary>
@@ -479,10 +731,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[Route("api/U8/SFC/MoRoutingBillUnVerify")] [Route("api/U8/SFC/MoRoutingBillUnVerify")]
public async Task<BaseResult<string>> MoRoutingBillUnVerify(string cAccId, string cCardNum, [FromBody] DeleteMoRoutingBillInput input) public async Task<BaseResult<string>> MoRoutingBillUnVerify(string cAccId, string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
{ {
var workId = SnowFlakeSingle.Instance.NextId();
try try
{ {
_logInfo.Debug($"接口标识:MoRoutingBillUnVerify,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}"); var userToken = Request.Headers.GetValues("userToken").First();
if (!string.IsNullOrWhiteSpace(userToken))
{
return await MoRoutingBillUnVerifyToken(cCardNum, input);
}
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----当前接口:api/U8/SFC/MoRoutingBillUnVerify,单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92") if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据"); throw new Exception("当前接口不支持此类型的单据");
@@ -507,17 +767,23 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
if (input.cVouchCode != null && input.cVouchCode.Count > 0) if (input.cVouchCode != null && input.cVouchCode.Count > 0)
{ {
return bf.UnVerify(cCardNum, input.cVouchCode); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始弃审(单号)(批量)");
var res = await bf.UnVerify(baseLogin, cCardNum, input.cVouchCode);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束弃审(单号)(批量)");
return res;
} }
else else
{ {
return bf.UnVerify(input.MID); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始弃审(单号)(批量)");
var res = await bf.UnVerify(baseLogin, input.MID);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束弃审(单号)(批量)");
return res;
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
_logInfo.Error(ex.Message, ex); _logInfo.Error($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----错误信息:{ex.Message}", ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace }; return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
} }
@@ -525,6 +791,77 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
} }
/// <summary>
/// 弃审报工
/// </summary>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/MoRoutingBillUnVerify/Token")]
public async Task<BaseResult<string>> MoRoutingBillUnVerifyToken(string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
{
var workId = SnowFlakeSingle.Instance.NextId();
try
{
var userToken = Request.Headers.GetValues("userToken").First();
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----当前接口:api/U8/SFC/MoRoutingBillUnVerify/{userToken},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
if (string.IsNullOrWhiteSpace(userToken))
{
throw new Exception("校验userToken失败");
}
var output = CommUnit.GetDecrypt(userToken).ToObject<LoginOutput>();
var token = CommUnit.GetDecrypt(output.userToken);
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
throw new Exception("当前接口不支持此类型的单据");
if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin))
{
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
//可能存在其他的缓存,先清掉
_cache.Clear();
baseLogin = new BaseLogin();
baseLogin.Init(token, true, 5);
_cache.Set($"U8_{userToken}_{output.cAccId}", baseLogin);
}
var bf = new MoRoutingBill();
if (input.cVouchCode != null && input.cVouchCode.Count > 0)
{
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始弃审(单号)(批量)");
var res = await bf.UnVerify(baseLogin, cCardNum, input.cVouchCode);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束弃审(单号)(批量)");
return res;
}
else
{
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始弃审(ID)(批量)");
var res = await bf.UnVerify(baseLogin, input.MID);
_logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束弃审(ID)(批量)");
return res;
}
}
catch (Exception ex)
{
_logInfo.Error($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----错误信息:{ex.Message}", ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
/// <summary> /// <summary>
/// 弃审订单报工 /// 弃审订单报工
@@ -540,6 +877,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
return await MoRoutingBillVerify(cAccId, "FC90", input); return await MoRoutingBillVerify(cAccId, "FC90", input);
} }
/// <summary>
/// 弃审订单报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC90/UnVerify/Token")]
public async Task<BaseResult<string>> FC90UnVerifyToken([FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillVerifyToken("FC90", input);
}
/// <summary> /// <summary>
/// 弃审工序报工 /// 弃审工序报工
/// </summary> /// </summary>
@@ -554,6 +903,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
return await MoRoutingBillUnVerify(cAccId, "FC91", input); return await MoRoutingBillUnVerify(cAccId, "FC91", input);
} }
/// <summary>
/// 弃审工序报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC91/UnVerify/Token")]
public async Task<BaseResult<string>> FC91UnVerifyToken([FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillUnVerifyToken("FC91", input);
}
/// <summary> /// <summary>
/// 弃审转移报工 /// 弃审转移报工
/// </summary> /// </summary>
@@ -568,5 +929,17 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
return await MoRoutingBillUnVerify(cAccId, "FC92", input); return await MoRoutingBillUnVerify(cAccId, "FC92", input);
} }
/// <summary>
/// 弃审转移报工
/// </summary>
/// <param name="input">报文数据</param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/SFC/FC92/UnVerify/Token")]
public async Task<BaseResult<string>> FC92UnVerifyToken([FromBody] DeleteMoRoutingBillInput input)
{
return await MoRoutingBillUnVerifyToken("FC92", input);
}
} }
} }
@@ -57,13 +57,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:新增,对接账套:{cAccId},数据:{input.ToJson()}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:新增,对接账套:{cAccId},数据:{input.ToJson()}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -85,7 +85,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -131,45 +131,45 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
.Where(a => a.bDefault == true && a.cPosition == "H" && a.DefaultValue == "单号" && .Where(a => a.bDefault == true && a.cPosition == "H" && a.DefaultValue == "单号" &&
a.bEnable == true).Select(a => a.FieldName).First(); a.bEnable == true).Select(a => a.FieldName).First();
_logInfo.Debug($"作业Id:{workId}-----配置获取单号"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----配置获取单号");
} }
else else
{ {
_logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----没有单号需要自动指定");
} }
#region 调整日期,去掉时间部分 #region 调整日期,去掉时间部分
if (input.ContainsKey("ddate")) if (input.ContainsKey("ddate"))
{ {
_logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----调整日期,去掉时间部分");
input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}"; input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}";
} }
if (input.ContainsKey("dtvdate")) if (input.ContainsKey("dtvdate"))
{ {
_logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----调整日期,去掉时间部分");
input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}"; input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}";
} }
#endregion #endregion
_logInfo.Debug($"作业Id:{workId}-----设置表头数据"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----设置表头数据");
input.SetDictionaryData(defs, baseLogin.Connection, newNumber, 1, exch); input.SetDictionaryData(defs, baseLogin.Connection, newNumber, 1, exch);
_logInfo.Debug($"作业Id:{workId}-----读取表体数据"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----读取表体数据");
var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据 var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据
if (bodyData == null || bodyData.Count <= 0) if (bodyData == null || bodyData.Count <= 0)
throw new Exception("无表体数据!"); throw new Exception("无表体数据!");
_logInfo.Debug($"作业Id:{workId}-----获取表体字段配置"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----获取表体字段配置");
var defsBody = await db.Queryable<SysU8FieldDefine>().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable==true).ToListAsync(); //获取表体的字段配置 var defsBody = await db.Queryable<SysU8FieldDefine>().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable==true).ToListAsync(); //获取表体的字段配置
var rowNo = 1; var rowNo = 1;
foreach (var body in bodyData) foreach (var body in bodyData)
{ {
_logInfo.Debug($"作业Id:{workId}-----设置第{rowNo}行单据数据"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----设置第{rowNo}行单据数据");
body.SetDictionaryData(defsBody, baseLogin.Connection, newNumber, rowNo, exch); body.SetDictionaryData(defsBody, baseLogin.Connection, newNumber, rowNo, exch);
rowNo++; rowNo++;
@@ -177,7 +177,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// 根据存货档案是否批次管理调整批次号 // 根据存货档案是否批次管理调整批次号
if (body.ContainsKey("binvbatch") && body.ContainsKey("cbatch")) if (body.ContainsKey("binvbatch") && body.ContainsKey("cbatch"))
{ {
_logInfo.Debug($"作业Id:{workId}-----第{rowNo}行根据存货档案是否批次管理调整批次号"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----第{rowNo}行根据存货档案是否批次管理调整批次号");
if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean()) if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean())
{ {
body["cbatch"] = ""; body["cbatch"] = "";
@@ -187,7 +187,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// 根据存货档案是否批次管理调整批次号(调拨单) // 根据存货档案是否批次管理调整批次号(调拨单)
if (body.ContainsKey("binvbatch") && body.ContainsKey("ctvbatch")) if (body.ContainsKey("binvbatch") && body.ContainsKey("ctvbatch"))
{ {
_logInfo.Debug($"作业Id:{workId}-----第{rowNo}行根据存货档案是否批次管理调整批次号(调拨单)"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----第{rowNo}行根据存货档案是否批次管理调整批次号(调拨单)");
if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean()) if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean())
{ {
body["ctvbatch"] = ""; body["ctvbatch"] = "";
@@ -197,7 +197,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// 根据存货档案是否保质期管理调整生产日期和失效日期 // 根据存货档案是否保质期管理调整生产日期和失效日期
if (body.ContainsKey("binvquality") && body.ContainsKey("dmadedate")) if (body.ContainsKey("binvquality") && body.ContainsKey("dmadedate"))
{ {
_logInfo.Debug($"作业Id:{workId}-----第{rowNo}行根据存货档案是否保质期管理调整生产日期和失效日期"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----第{rowNo}行根据存货档案是否保质期管理调整生产日期和失效日期");
if (body["binvquality"] == null || body["binvquality"] == DBNull.Value || !body["binvquality"].ToBoolean()) if (body["binvquality"] == null || body["binvquality"] == DBNull.Value || !body["binvquality"].ToBoolean())
{ {
@@ -286,7 +286,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:新增,对接账套:{output.cAccId},数据:{input.ToJson()}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:新增,对接账套:{output.cAccId},数据:{input.ToJson()}");
//LoginParamter param; //LoginParamter param;
@@ -294,7 +294,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -309,7 +309,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -355,45 +355,45 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
.Where(a => a.bDefault == true && a.cPosition == "H" && a.DefaultValue == "单号" && .Where(a => a.bDefault == true && a.cPosition == "H" && a.DefaultValue == "单号" &&
a.bEnable == true).Select(a => a.FieldName).First(); a.bEnable == true).Select(a => a.FieldName).First();
_logInfo.Debug($"作业Id:{workId}-----配置获取单号"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----配置获取单号");
} }
else else
{ {
_logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----没有单号需要自动指定");
} }
#region 调整日期,去掉时间部分 #region 调整日期,去掉时间部分
if (input.ContainsKey("ddate")) if (input.ContainsKey("ddate"))
{ {
_logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----调整日期,去掉时间部分");
input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}"; input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}";
} }
if (input.ContainsKey("dtvdate")) if (input.ContainsKey("dtvdate"))
{ {
_logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----调整日期,去掉时间部分");
input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}"; input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}";
} }
#endregion #endregion
_logInfo.Debug($"作业Id:{workId}-----设置表头数据"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----设置表头数据");
input.SetDictionaryData(defs, baseLogin.Connection, newNumber, 1, exch); input.SetDictionaryData(defs, baseLogin.Connection, newNumber, 1, exch);
_logInfo.Debug($"作业Id:{workId}-----读取表体数据"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----读取表体数据");
var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据 var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据
if (bodyData == null || bodyData.Count <= 0) if (bodyData == null || bodyData.Count <= 0)
throw new Exception("无表体数据!"); throw new Exception("无表体数据!");
_logInfo.Debug($"作业Id:{workId}-----获取表体字段配置"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----获取表体字段配置");
var defsBody = await db.Queryable<SysU8FieldDefine>().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable == true).ToListAsync(); //获取表体的字段配置 var defsBody = await db.Queryable<SysU8FieldDefine>().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable == true).ToListAsync(); //获取表体的字段配置
var rowNo = 1; var rowNo = 1;
foreach (var body in bodyData) foreach (var body in bodyData)
{ {
_logInfo.Debug($"作业Id:{workId}-----设置第{rowNo}行单据数据"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----设置第{rowNo}行单据数据");
body.SetDictionaryData(defsBody, baseLogin.Connection, newNumber, rowNo, exch); body.SetDictionaryData(defsBody, baseLogin.Connection, newNumber, rowNo, exch);
rowNo++; rowNo++;
@@ -401,7 +401,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// 根据存货档案是否批次管理调整批次号 // 根据存货档案是否批次管理调整批次号
if (body.ContainsKey("binvbatch") && body.ContainsKey("cbatch")) if (body.ContainsKey("binvbatch") && body.ContainsKey("cbatch"))
{ {
_logInfo.Debug($"作业Id:{workId}-----第{rowNo}行根据存货档案是否批次管理调整批次号"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----第{rowNo}行根据存货档案是否批次管理调整批次号");
if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean()) if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean())
{ {
body["cbatch"] = ""; body["cbatch"] = "";
@@ -411,7 +411,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// 根据存货档案是否批次管理调整批次号(调拨单) // 根据存货档案是否批次管理调整批次号(调拨单)
if (body.ContainsKey("binvbatch") && body.ContainsKey("ctvbatch")) if (body.ContainsKey("binvbatch") && body.ContainsKey("ctvbatch"))
{ {
_logInfo.Debug($"作业Id:{workId}-----第{rowNo}行根据存货档案是否批次管理调整批次号(调拨单)"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----第{rowNo}行根据存货档案是否批次管理调整批次号(调拨单)");
if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean()) if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean())
{ {
body["ctvbatch"] = ""; body["ctvbatch"] = "";
@@ -421,7 +421,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// 根据存货档案是否保质期管理调整生产日期和失效日期 // 根据存货档案是否保质期管理调整生产日期和失效日期
if (body.ContainsKey("binvquality") && body.ContainsKey("dmadedate")) if (body.ContainsKey("binvquality") && body.ContainsKey("dmadedate"))
{ {
_logInfo.Debug($"作业Id:{workId}-----第{rowNo}行根据存货档案是否保质期管理调整生产日期和失效日期"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----第{rowNo}行根据存货档案是否保质期管理调整生产日期和失效日期");
if (body["binvquality"] == null || body["binvquality"] == DBNull.Value || !body["binvquality"].ToBoolean()) if (body["binvquality"] == null || body["binvquality"] == DBNull.Value || !body["binvquality"].ToBoolean())
{ {
@@ -502,13 +502,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// var workId = SnowFlakeSingle.Instance.NextId(); // var workId = SnowFlakeSingle.Instance.NextId();
// _logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:修改,对接账套:{cAccId},数据:{input.ToJson()}"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:修改,对接账套:{cAccId},数据:{input.ToJson()}");
// //LoginParamter param; // //LoginParamter param;
// if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) // if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
// { // {
// _logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
// baseLogin = new BaseLogin(); // baseLogin = new BaseLogin();
@@ -530,7 +530,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// // param = await CommUnit.GetLoginParamter(cAccId); // // param = await CommUnit.GetLoginParamter(cAccId);
// //} // //}
// _logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
// var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); // var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -576,45 +576,45 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// .Where(a => a.bDefault == true && a.cPosition == "H" && a.DefaultValue == "单号" && // .Where(a => a.bDefault == true && a.cPosition == "H" && a.DefaultValue == "单号" &&
// a.bEnable == true).Select(a => a.FieldName).First(); // a.bEnable == true).Select(a => a.FieldName).First();
// _logInfo.Debug($"作业Id:{workId}-----配置获取单号"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----配置获取单号");
// } // }
// else // else
// { // {
// _logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----没有单号需要自动指定");
// } // }
// #region 调整日期,去掉时间部分 // #region 调整日期,去掉时间部分
// if (input.ContainsKey("ddate")) // if (input.ContainsKey("ddate"))
// { // {
// _logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----调整日期,去掉时间部分");
// input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}"; // input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}";
// } // }
// if (input.ContainsKey("dtvdate")) // if (input.ContainsKey("dtvdate"))
// { // {
// _logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----调整日期,去掉时间部分");
// input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}"; // input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}";
// } // }
// #endregion // #endregion
// _logInfo.Debug($"作业Id:{workId}-----设置表头数据"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----设置表头数据");
// input.SetDictionaryData(defs, baseLogin.Connection, newNumber, 1, exch); // input.SetDictionaryData(defs, baseLogin.Connection, newNumber, 1, exch);
// _logInfo.Debug($"作业Id:{workId}-----读取表体数据"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----读取表体数据");
// var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据 // var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据
// if (bodyData == null || bodyData.Count <= 0) // if (bodyData == null || bodyData.Count <= 0)
// throw new Exception("无表体数据!"); // throw new Exception("无表体数据!");
// _logInfo.Debug($"作业Id:{workId}-----获取表体字段配置"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----获取表体字段配置");
// var defsBody = await db.Queryable<SysU8FieldDefine>().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable == true).ToListAsync(); //获取表体的字段配置 // var defsBody = await db.Queryable<SysU8FieldDefine>().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable == true).ToListAsync(); //获取表体的字段配置
// var rowNo = 1; // var rowNo = 1;
// foreach (var body in bodyData) // foreach (var body in bodyData)
// { // {
// _logInfo.Debug($"作业Id:{workId}-----设置第{rowNo}行单据数据"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----设置第{rowNo}行单据数据");
// body.SetDictionaryData(defsBody, baseLogin.Connection, newNumber, rowNo, exch); // body.SetDictionaryData(defsBody, baseLogin.Connection, newNumber, rowNo, exch);
// rowNo++; // rowNo++;
@@ -622,7 +622,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// // 根据存货档案是否批次管理调整批次号 // // 根据存货档案是否批次管理调整批次号
// if (body.ContainsKey("binvbatch") && body.ContainsKey("cbatch")) // if (body.ContainsKey("binvbatch") && body.ContainsKey("cbatch"))
// { // {
// _logInfo.Debug($"作业Id:{workId}-----第{rowNo}行根据存货档案是否批次管理调整批次号"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----第{rowNo}行根据存货档案是否批次管理调整批次号");
// if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean()) // if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean())
// { // {
// body["cbatch"] = ""; // body["cbatch"] = "";
@@ -632,7 +632,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// // 根据存货档案是否批次管理调整批次号(调拨单) // // 根据存货档案是否批次管理调整批次号(调拨单)
// if (body.ContainsKey("binvbatch") && body.ContainsKey("ctvbatch")) // if (body.ContainsKey("binvbatch") && body.ContainsKey("ctvbatch"))
// { // {
// _logInfo.Debug($"作业Id:{workId}-----第{rowNo}行根据存货档案是否批次管理调整批次号(调拨单)"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----第{rowNo}行根据存货档案是否批次管理调整批次号(调拨单)");
// if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean()) // if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean())
// { // {
// body["ctvbatch"] = ""; // body["ctvbatch"] = "";
@@ -642,7 +642,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// // 根据存货档案是否保质期管理调整生产日期和失效日期 // // 根据存货档案是否保质期管理调整生产日期和失效日期
// if (body.ContainsKey("binvquality") && body.ContainsKey("dmadedate")) // if (body.ContainsKey("binvquality") && body.ContainsKey("dmadedate"))
// { // {
// _logInfo.Debug($"作业Id:{workId}-----第{rowNo}行根据存货档案是否保质期管理调整生产日期和失效日期"); // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----第{rowNo}行根据存货档案是否保质期管理调整生产日期和失效日期");
// if (body["binvquality"] == null || body["binvquality"] == DBNull.Value || !body["binvquality"].ToBoolean()) // if (body["binvquality"] == null || body["binvquality"] == DBNull.Value || !body["binvquality"].ToBoolean())
// { // {
@@ -722,13 +722,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{cCode}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{cCode}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin) || baseLogin ==null) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin) || baseLogin ==null)
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -750,7 +750,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -787,13 +787,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},ID:{voucherId}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},ID:{voucherId}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -815,7 +815,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -880,13 +880,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
strId = string.Join(",", voucherIds); strId = string.Join(",", voucherIds);
} }
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{strCode},ID:{strId}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{strCode},ID:{strId}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -908,7 +908,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -956,13 +956,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{cCode}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{cCode}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -984,7 +984,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -1022,13 +1022,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},ID:{voucherId}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},ID:{voucherId}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -1050,7 +1050,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -1115,13 +1115,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
strId = string.Join(",", voucherIds); strId = string.Join(",", voucherIds);
} }
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{strCode},ID:{strId}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{strCode},ID:{strId}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -1143,7 +1143,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -1191,13 +1191,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{cCode}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{cCode}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -1219,7 +1219,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -1257,13 +1257,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},ID:{voucherId}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},ID:{voucherId}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -1285,7 +1285,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -1350,13 +1350,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
strId = string.Join(",", voucherIds); strId = string.Join(",", voucherIds);
} }
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{strCode},ID:{strId}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{strCode},ID:{strId}");
//LoginParamter param; //LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -1378,7 +1378,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId); // param = await CommUnit.GetLoginParamter(cAccId);
//} //}
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum); var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -57,11 +57,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:提交审批流,对接账套:{cAccId},单据编号:{cCode}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:提交审批流,对接账套:{cAccId},单据编号:{cCode}");
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -109,6 +109,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
{ {
var userToken = Request.Headers.GetValues("userToken").First(); var userToken = Request.Headers.GetValues("userToken").First();
if (string.IsNullOrWhiteSpace(userToken))
{
throw new Exception("校验userToken失败");
}
_logInfo.Debug($"当前接口:api/U8/Workflow/SubmitApplicationMessage/Code/{userToken},单据:{cCardNum},事件:{eventId},单据编号:{cCode}"); _logInfo.Debug($"当前接口:api/U8/Workflow/SubmitApplicationMessage/Code/{userToken},单据:{cCardNum},事件:{eventId},单据编号:{cCode}");
var output = CommUnit.GetDecrypt(userToken).ToObject<LoginOutput>(); var output = CommUnit.GetDecrypt(userToken).ToObject<LoginOutput>();
@@ -117,17 +122,24 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:新增,对接账套:{output.cAccId},单据编号:{cCode}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:新增,对接账套:{output.cAccId},单据编号:{cCode}");
if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
baseLogin.Init(token, true, 5); baseLogin.Init(token, true, 5);
_cache.Clear(); try
{
_cache.Remove($"U8_{userToken}_{output.cAccId}");
}
catch
{
_logInfo.Debug($"不存在[U8_{userToken}_{output.cAccId}]的缓存");
}
_cache.Set($"U8_{userToken}_{output.cAccId}", baseLogin); _cache.Set($"U8_{userToken}_{output.cAccId}", baseLogin);
} }
@@ -173,7 +185,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
@@ -223,7 +235,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
if (string.IsNullOrWhiteSpace(userToken)) if (string.IsNullOrWhiteSpace(userToken))
{ {
throw new Exception($"userToken获取失败"); throw new Exception("校验userToken失败");
} }
_logInfo.Debug($"当前接口:api/U8/Workflow/SubmitApplicationMessage/ID/{userToken},单据:{cCardNum},事件:{eventId},单据ID:{voucherId}"); _logInfo.Debug($"当前接口:api/U8/Workflow/SubmitApplicationMessage/ID/{userToken},单据:{cCardNum},事件:{eventId},单据ID:{voucherId}");
@@ -234,17 +246,24 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
var workId = SnowFlakeSingle.Instance.NextId(); var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:新增,对接账套:{output.cAccId},单据ID:{voucherId}"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----单据:{cCardNum},操作:新增,对接账套:{output.cAccId},单据ID:{voucherId}");
if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin)) if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin))
{ {
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin(); baseLogin = new BaseLogin();
baseLogin.Init(token, true, 5); baseLogin.Init(token, true, 5);
_cache.Clear(); try
{
_cache.Remove($"U8_{userToken}_{output.cAccId}");
}
catch
{
_logInfo.Debug($"不存在[U8_{userToken}_{output.cAccId}]的缓存");
}
_cache.Set($"U8_{userToken}_{output.cAccId}", baseLogin); _cache.Set($"U8_{userToken}_{output.cAccId}", baseLogin);
} }