From 98905adc86ce5af0fc9c3b5576c01d267800ec60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=95=8F=E5=81=A5=20=E9=82=B1?= Date: Thu, 24 Jul 2025 10:04:22 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BC=98=E5=8C=96=E6=97=A5=E5=BF=97=E7=BB=93?= =?UTF-8?q?=E6=9E=84=202.=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=E6=97=B6?= =?UTF-8?q?=E9=97=B4=203.=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=E6=A0=87?= =?UTF-8?q?=E8=AF=86=204.=E5=88=A0=E9=99=A4=E9=83=A8=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=205.=E8=BD=A6=E9=97=B4=E7=AE=A1=E7=90=86-=E6=8A=A5?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=8A=9F=E8=83=BD=E5=AE=9E=E7=8E=B0=E5=85=A8?= =?UTF-8?q?=E9=9D=A2=E5=BC=82=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../U8M/MoRoutingBill.cs | 168 +++-- UFIDA.U8.Framework.Api/App_Data/U8API.xml | 22 +- .../Controllers/U8/PUController.cs | 76 +-- .../Controllers/U8/SFCController.cs | 641 ++++++++++++++---- .../Controllers/U8/STController.cs | 138 ++-- .../Controllers/U8/WorkflowController.cs | 39 +- 6 files changed, 783 insertions(+), 301 deletions(-) diff --git a/UFIDA.U8.Framework.Api.ControlObject/U8M/MoRoutingBill.cs b/UFIDA.U8.Framework.Api.ControlObject/U8M/MoRoutingBill.cs index d581008..bec76bd 100644 --- a/UFIDA.U8.Framework.Api.ControlObject/U8M/MoRoutingBill.cs +++ b/UFIDA.U8.Framework.Api.ControlObject/U8M/MoRoutingBill.cs @@ -2,16 +2,12 @@ using System; using System.Collections; using System.Collections.Generic; -using System.Data; -using System.Linq; -using System.Linq.Expressions; using System.Reflection; using System.Threading.Tasks; using UFIDA.U8.Framework.Api.ControlObject.Common; using UFIDA.U8.Framework.Api.ControlObject.Entity; using UFIDA.U8.Framework.Api.ControlObject.Json; using UFSoft.U8.Framework.BizBase; -using UFSoft.U8.Framework.ContextSrv; using UFSoft.U8.U8M.BFDispatcher; using UFSoft.U8.U8M.Common; using UFSoft.U8.U8M.DAC; @@ -27,12 +23,18 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M /// /// 报工单 /// - public class MoRoutingBill:IBaseBF + public class MoRoutingBill : IBaseBF { + //日志组件 + private readonly ILog _logInfo = LogManager.GetLogger("logInfo"); - protected readonly ILog logInfo = LogManager.GetLogger("logInfo"); - - private async Task GetEmptyDs(IContextContainer callar, string cCardNum) + /// + /// 获取空数据源 + /// + /// + /// + /// + private static async Task GetEmptyDs(IContextContainer callar, string cCardNum) { try { @@ -66,9 +68,15 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M } } - - - private async Task GetVoucherDs(IContextContainer callar, string cCardNum, AutoDocNoGenerateParam docNoParam, Dictionary input) + /// + /// 填充DataSet数据 + /// + /// + /// + /// + /// + /// + private static async Task GetVoucherDs(IContextContainer callar, string cCardNum, AutoDocNoGenerateParam docNoParam, Dictionary input) { var ds = await GetEmptyDs(callar, cCardNum); @@ -111,8 +119,14 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M return ds; } - - + /// + /// 保存单据 + /// + /// + /// + /// + /// + /// public async Task> Save(BaseLogin baseLogin, string cCardNum, Dictionary input) { try @@ -124,29 +138,27 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M IsCurrentDocNoByHand = false }; - var ds =GetVoucherDs(callar, cCardNum, docNoParam, input); + var ds = GetVoucherDs(callar, cCardNum, docNoParam, input); - if (ds == null) - { - throw new Exception("未能构建数据集"); - } + if (ds == null) + { + 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); - logInfo.Debug($"单据编码:{cCardNum},保存完成,id:{id}"); + _logInfo.Debug($"单据编码:{cCardNum},保存完成,id:{id}"); return new BaseResult { bSuccess = true, message = "新增成功", result = $"{id}" }; } catch (U8MReferenceBENotExistException ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); await Task.Delay(1); @@ -156,7 +168,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M { if (ex.InnerException is U8MReferenceBENotExistException) { - logInfo.Error(ex.InnerException.Message, ex.InnerException); + _logInfo.Error(ex.InnerException.Message, ex.InnerException); await Task.Delay(1); @@ -164,7 +176,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M } else { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); await Task.Delay(1); @@ -175,7 +187,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); await Task.Delay(1); @@ -183,6 +195,13 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M } } + /// + /// 保存单据(批量) + /// + /// + /// + /// + /// public async Task> Save(BaseLogin baseLogin, string cCardNum, List> inputs) { @@ -214,14 +233,22 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "新增失败", result = ex.Message }; } } - public async Task> Delete(BaseLogin baseLogin,string cCardNum, List inputs) + /// + /// 删除单据(单号)(批量) + /// + /// + /// + /// + /// + /// + public async Task> Delete(BaseLogin baseLogin, string cCardNum, List inputs) { try { @@ -241,19 +268,26 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M } catch (U8MReferenceBENotExistException ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "新增失败", result = ex.Message }; } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "删除失败", result = ex.Message }; } } - public async Task> Delete(BaseLogin baseLogin,List inputs) + /// + /// 删除单据(ID)(批量) + /// + /// + /// + /// + /// + public async Task> Delete(BaseLogin baseLogin, List inputs) { try { @@ -273,7 +307,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M } catch (U8MReferenceBENotExistException ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); await Task.Delay(1); @@ -281,7 +315,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); await Task.Delay(1); @@ -291,7 +325,15 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M } - public async Task> Verify(BaseLogin baseLogin,string cCardNum, List inputs) + /// + /// 审核单据(单号)(批量) + /// + /// + /// + /// + /// + /// + public async Task> Verify(BaseLogin baseLogin, string cCardNum, List inputs) { try { @@ -307,22 +349,29 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M newInput.Add(int.Parse($"{dataReader[0]}")); } - return await Verify(baseLogin,newInput); + return await Verify(baseLogin, newInput); } catch (U8MReferenceBENotExistException ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "新增失败", result = ex.Message }; } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "审核失败", result = ex.Message }; } } + /// + /// 审核单据(ID)(批量) + /// + /// + /// + /// + /// public async Task> Verify(BaseLogin baseLogin, List inputs) { try @@ -337,13 +386,13 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M ht.Add(input, $"{input}"); } - var id = SFExecutor.BFMoRoutingBill_Verify(ht,baseLogin.callar); + var id = SFExecutor.BFMoRoutingBill_Verify(ht, baseLogin.callar); return new BaseResult { bSuccess = true, message = "审核成功", result = $"{id}" }; } catch (U8MReferenceBENotExistException ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); await Task.Delay(1); @@ -351,7 +400,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); await Task.Delay(1); @@ -361,7 +410,15 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M } - public BaseResult UnVerify(string cCardNum, List inputs) + /// + /// 弃审单据(单号)(批量) + /// + /// + /// + /// + /// + /// + public async Task> UnVerify(BaseLogin baseLogin, string cCardNum, List inputs) { try { @@ -377,23 +434,32 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M newInput.Add(int.Parse($"{dataReader[0]}")); } - return UnVerify(newInput); + return await UnVerify(baseLogin, newInput); } catch (U8MReferenceBENotExistException ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); - return new BaseResult { bSuccess = false, message = "新增失败", result = ex.Message }; + await Task.Delay(1); + + return new BaseResult { bSuccess = false, message = "弃审失败", result = ex.Message }; } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); return new BaseResult { bSuccess = false, message = "弃审失败", result = ex.Message }; } } - public BaseResult UnVerify(List inputs) + /// + /// 弃审单据(ID)(批量) + /// + /// + /// + /// + /// + public async Task> UnVerify(BaseLogin baseLogin, List inputs) { try { @@ -407,19 +473,23 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M ht.Add(input, $"{input}"); } - var id = SFExecutor.BFMoRoutingBill_UnVerify(ht, new DefaultContextContainer()); + var id = SFExecutor.BFMoRoutingBill_UnVerify(ht, baseLogin.callar); return new BaseResult { bSuccess = true, message = "弃审成功", result = $"{id}" }; } catch (U8MReferenceBENotExistException ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); + + await Task.Delay(1); return new BaseResult { bSuccess = false, message = "新增失败", result = ex.Message }; } catch (Exception ex) { - logInfo.Error(ex.Message, ex); + _logInfo.Error(ex.Message, ex); + + await Task.Delay(1); return new BaseResult { bSuccess = false, message = "弃审失败", result = ex.Message }; diff --git a/UFIDA.U8.Framework.Api/App_Data/U8API.xml b/UFIDA.U8.Framework.Api/App_Data/U8API.xml index 99d905e..583d900 100644 --- a/UFIDA.U8.Framework.Api/App_Data/U8API.xml +++ b/UFIDA.U8.Framework.Api/App_Data/U8API.xml @@ -860,6 +860,15 @@ 报文数据 + + + 新增报工 + + 系统号 + 单据类型编码 + 报文数据 + + 新增订单报工 @@ -1168,7 +1177,18 @@ - 提交审批流(单号) + 提交审批流(ID) + + 单据类型编码 + 单据ID + 系统注册号 + 审批事件 + 是否UAP单据 + + + + + 提交审批流(ID) 单据类型编码 单据ID diff --git a/UFIDA.U8.Framework.Api/Controllers/U8/PUController.cs b/UFIDA.U8.Framework.Api/Controllers/U8/PUController.cs index 455a23c..aa7c26c 100644 --- a/UFIDA.U8.Framework.Api/Controllers/U8/PUController.cs +++ b/UFIDA.U8.Framework.Api/Controllers/U8/PUController.cs @@ -56,13 +56,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -84,7 +84,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -100,45 +100,45 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 bGetCode = true; 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 { - logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定"); + logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----没有单号需要自动指定"); } #region 调整日期,去掉时间部分 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}"; } 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}"; } #endregion - logInfo.Debug($"作业Id:{workId}-----设置表头数据"); + logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----设置表头数据"); 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>(); //读取表体的数据 if (bodyData == null || bodyData.Count <= 0) 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().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable == true).ToListAsync(); //获取表体的字段配置 var rowNo = 1; 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); rowNo++; @@ -182,13 +182,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -210,7 +210,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -248,11 +248,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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)) { - logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); + logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建"); baseLogin = new BaseLogin(); @@ -270,7 +270,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 _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().FirstAsync(s => s.CardNumber == cCardNum); @@ -337,13 +337,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -365,7 +365,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -414,11 +414,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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) { - logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); + logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建"); baseLogin = new BaseLogin(); @@ -436,7 +436,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 _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().FirstAsync(s => s.CardNumber == cCardNum); @@ -474,11 +474,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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)) { - logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); + logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建"); baseLogin = new BaseLogin(); @@ -496,7 +496,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 _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().FirstAsync(s => s.CardNumber == cCardNum); @@ -563,13 +563,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -591,7 +591,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -640,11 +640,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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) { - logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); + logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建"); baseLogin = new BaseLogin(); @@ -662,7 +662,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 _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().FirstAsync(s => s.CardNumber == cCardNum); @@ -700,11 +700,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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)) { - logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); + logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建"); baseLogin = new BaseLogin(); @@ -722,7 +722,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 _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().FirstAsync(s => s.CardNumber == cCardNum); @@ -789,11 +789,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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)) { - logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); + logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建"); baseLogin = new BaseLogin(); @@ -811,7 +811,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 _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().FirstAsync(s => s.CardNumber == cCardNum); diff --git a/UFIDA.U8.Framework.Api/Controllers/U8/SFCController.cs b/UFIDA.U8.Framework.Api/Controllers/U8/SFCController.cs index e824767..8f07bb7 100644 --- a/UFIDA.U8.Framework.Api/Controllers/U8/SFCController.cs +++ b/UFIDA.U8.Framework.Api/Controllers/U8/SFCController.cs @@ -11,6 +11,8 @@ using UFIDA.U8.Framework.Api.Unit; using UFIDA.U8.Framework.Api.Models; using Convert = System.Convert; using SqlSugar; +using System.Linq; +using UFIDA.U8.Framework.Api.Entity; // ReSharper disable InconsistentNaming // ReSharper disable IdentifierTypo @@ -28,10 +30,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 /// private readonly ILog _logInfo = LogManager.GetLogger("logInfo"); + /// + /// 缓存组件 + /// private static readonly MemoryCache _cache = new MemoryCache(new MemoryCacheOptions { ExpirationScanFrequency = TimeSpan.FromMinutes(10) }); /// - /// 新增报工 + /// 保存报工单 /// /// 系统号 /// 单据类型编码 @@ -39,24 +44,30 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 /// [HttpPost] [Route("api/U8/SFC/MoRoutingBillSave")] - public async Task> MoRoutingBillSave(string cAccId,string cCardNum, [FromBody] Dictionary input) + public async Task> MoRoutingBillSave(string cAccId, string cCardNum, [FromBody] Dictionary input) { - //var taskId = 0L; + var workId = SnowFlakeSingle.Instance.NextId(); 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") throw new Exception("当前接口不支持此类型的单据"); 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(); @@ -69,15 +80,6 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 baseLogin.Init(param); - try - { - _cache.Remove($"U8_{cAccId}"); - } - catch - { - _logInfo.Debug($"不存在[U8_{cAccId}]的缓存"); - } - _cache.Set($"U8_{cAccId}", baseLogin); } @@ -85,73 +87,94 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 { throw new Exception("登录对象加载失败"); } - + if (!baseLogin.CheckCallar()) { baseLogin.RefreshCallar(baseLogin.userToken); } + var bo = new MoRoutingBill(); + BaseResult res; - //var runtimes = 0; + if (input.ContainsKey("bBatch") && Convert.ToBoolean(input["bBatch"])) + { + var inputs = input["inputs"] as List> ?? $"{input["inputs"]}".ToObject>>(); - //var u8mTask = new SysU8MTask() - //{ - // U8MPool = $"U8M_{cAccId}" - //}; + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始保存(批量)"); + res = await bo.Save(baseLogin, cCardNum, inputs); + _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 - // while (await db.Queryable().AnyAsync()) - // { - // if (runtimes > 20) - // { - // throw new Exception("当前任务队列过长"); - // } + return res; - // 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 { bSuccess = false, message = ex.Message, result = ex.StackTrace }; + } + } - // //u8mTask.Id = DateTime.Now.Ticks; + /// + /// 保存报工单 + /// + /// 单据类型编码 + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/MoRoutingBillSave/Token")] + public async Task> MoRoutingBillSaveToken(string cCardNum, [FromBody] Dictionary input) + { + var workId = SnowFlakeSingle.Instance.NextId(); - // if (await db.Queryable() - // .AnyAsync(a => SqlFunc.DateDiff(DateType.Minute, a.dDate, DateTime.Now) > 1)) - // { - // await db.Deleteable() - // .Where(a => SqlFunc.DateDiff(DateType.Minute, a.dDate, DateTime.Now) > 1) - // .ExecuteCommandAsync(); - // } + try + { + var userToken = Request.Headers.GetValues("userToken").First(); - // } - //#endif + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----当前接口:api/U8/SFC/MoRoutingBillSave/{userToken},单据类型编码:{cCardNum},报文数据:{input.ToJson()}"); - //u8mTask.dDate = DateTime.Now; + if (string.IsNullOrWhiteSpace(userToken)) + { + throw new Exception("校验userToken失败"); + } - //if (u8mTask.Id == null) - //{ - // u8mTask.Id = DateTime.Now.Ticks; - //} + var output = CommUnit.GetDecrypt(userToken).ToObject(); - //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($"U8M_{cAccId}", out BaseLogin baseLogin)) - //{ - // _cache.Clear(); + if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin)) + { + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建"); - ////baseLogin = new BaseLogin(); + //可能存在其他的缓存,先清掉 + _cache.Clear(); - ////var param = await CommUnit.GetLoginParamter(cAccId); + baseLogin = new BaseLogin(); - ////if (param == null) - ////{ - //// throw new Exception("未能加载指定系统号的登录信息"); - ////} + baseLogin.Init(token, true, 5); - ////_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(); BaseResult res; @@ -159,77 +182,32 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 { var inputs = input["inputs"] as List> ?? $"{input["inputs"]}".ToObject>>(); - res =await bo.Save(baseLogin, cCardNum, inputs); + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----开始保存(批量)"); + res = await bo.Save(baseLogin, cCardNum, inputs); + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----结束保存(批量)"); } else { - res =await bo.Save(baseLogin, cCardNum, input); + + _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}-----结束保存"); + } - //loader.Unload(); - - //var res= loader.Save(param, cCardNum, input); - - - - - //_cache.Set($"U8M_{cAccId}", baseLogin); - //} - - - //var bf = new MoRoutingBill(); - - _logInfo.Debug($"开始保存"); - - //BaseResult res; - //if (input.ContainsKey("bBatch") && Convert.ToBoolean(input["bBatch"])) - //{ - // var inputs = input["inputs"] as List> ?? $"{input["inputs"]}".ToObject>>(); - - // res = bf.Save(cCardNum, inputs); - //} - //else - //{ - // res = bf.Save(cCardNum, input); - //} - - _logInfo.Debug($"退出登录"); - //baseLogin.ShutDown(); - - //if (taskId != 0) - //{ - // await db.Deleteable(taskId).ExecuteCommandAsync(); - //} - return res; } catch (Exception ex) { - _logInfo.Error(ex.Message, ex); - - //if (taskId != 0) - //{ - // await db.Deleteable(taskId).ExecuteCommandAsync(); - //} + _logInfo.Error($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----错误信息:{ex.Message}", ex); return new BaseResult { bSuccess = false, message = ex.Message, result = ex.StackTrace }; } - finally - { - //if (taskId != 0) - //{ - // await db.Deleteable(taskId).ExecuteCommandAsync(); - //} - - //baseLogin?.ShutDown(); - } - - } /// - /// 新增订单报工 + /// 保存订单报工 /// /// 系统号 /// 报文数据 @@ -243,7 +221,19 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 } /// - /// 新增工序报工 + /// 保存订单报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC90/Save/Token")] + public async Task> FC90SaveToken([FromBody] Dictionary input) + { + return await MoRoutingBillSaveToken("FC90", input); + } + + /// + /// 保存工序报工 /// /// 系统号 /// 报文数据 @@ -257,7 +247,19 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 } /// - /// 新增转移报工 + /// 保存工序报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC91/Save/Token")] + public async Task> FC91SaveToken([FromBody] Dictionary input) + { + return await MoRoutingBillSaveToken("FC91", input); + } + + /// + /// 保存转移报工 /// /// 系统号 /// 报文数据 @@ -271,7 +273,19 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 } /// - /// 删除报工 + /// 保存转移报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC92/Save/Token")] + public async Task> FC92SaveToken([FromBody] Dictionary input) + { + return await MoRoutingBillSaveToken("FC92", input); + } + + /// + /// 删除报工单 /// /// 系统号 /// 单据类型编码 @@ -279,11 +293,20 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 /// [HttpPost] [Route("api/U8/SFC/MoRoutingBillDelete")] - public async Task> MoRoutingBillDelete(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input) + public async Task> MoRoutingBillDelete(string cAccId, string cCardNum, [FromBody] DeleteMoRoutingBillInput input) { + var workId = SnowFlakeSingle.Instance.NextId(); + 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") throw new Exception("当前接口不支持此类型的单据"); @@ -308,24 +331,101 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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 { - 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) { - _logInfo.Error(ex.Message, ex); + _logInfo.Error($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----错误信息:{ex.Message}", ex); - return new BaseResult {bSuccess = false,message = ex.Message,result = ex.StackTrace}; + return new BaseResult { bSuccess = false, message = ex.Message, result = ex.StackTrace }; } } + /// + /// 删除报工单 + /// + /// 单据类型编码 + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/MoRoutingBillDelete/Token")] + public async Task> 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(); + + 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 { bSuccess = false, message = ex.Message, result = ex.StackTrace }; + } + + + } /// /// 删除订单报工 @@ -341,6 +441,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 return await MoRoutingBillDelete(cAccId, "FC90", input); } + /// + /// 删除订单报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC90/Delete/Token")] + public async Task> FC90DeleteToken([FromBody] DeleteMoRoutingBillInput input) + { + return await MoRoutingBillDeleteToken("FC90", input); + } + /// /// 删除工序报工 /// @@ -355,6 +467,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 return await MoRoutingBillDelete(cAccId, "FC91", input); } + /// + /// 删除工序报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC91/Delete/Token")] + public async Task> FC91DeleteToken([FromBody] DeleteMoRoutingBillInput input) + { + return await MoRoutingBillDeleteToken("FC91", input); + } + /// /// 删除转移报工 /// @@ -370,7 +494,19 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 } /// - /// 审核报工 + /// 删除转移报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC92/Delete/Token")] + public async Task> FC92DeleteToken([FromBody] DeleteMoRoutingBillInput input) + { + return await MoRoutingBillDeleteToken("FC92", input); + } + + /// + /// 审核报工单 /// /// 系统号 /// 单据类型编码 @@ -378,11 +514,20 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 /// [HttpPost] [Route("api/U8/SFC/MoRoutingBillVerify")] - public async Task> MoRoutingBillVerify(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input) + public async Task> MoRoutingBillVerify(string cAccId, string cCardNum, [FromBody] DeleteMoRoutingBillInput input) { + var workId = SnowFlakeSingle.Instance.NextId(); + 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") throw new Exception("当前接口不支持此类型的单据"); @@ -419,12 +564,83 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 { _logInfo.Error(ex.Message, ex); - return new BaseResult {bSuccess = false,message = ex.Message,result = ex.StackTrace}; + return new BaseResult { bSuccess = false, message = ex.Message, result = ex.StackTrace }; } } + /// + /// 审核报工单 + /// + /// 单据类型编码 + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/MoRoutingBillVerify/Token")] + public async Task> 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(); + + 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 { bSuccess = false, message = ex.Message, result = ex.StackTrace }; + } + + + } /// /// 审核订单报工 @@ -440,6 +656,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 return await MoRoutingBillVerify(cAccId, "FC90", input); } + /// + /// 审核订单报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC90/Verify/Token")] + public async Task> FC90VerifyToken([FromBody] DeleteMoRoutingBillInput input) + { + return await MoRoutingBillVerifyToken("FC90", input); + } + /// /// 审核工序报工 /// @@ -454,6 +682,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 return await MoRoutingBillVerify(cAccId, "FC91", input); } + /// + /// 审核工序报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC91/Verify/Token")] + public async Task> FC91VerifyToken([FromBody] DeleteMoRoutingBillInput input) + { + return await MoRoutingBillVerifyToken("FC91", input); + } + /// /// 审核转移报工 /// @@ -468,6 +708,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 return await MoRoutingBillVerify(cAccId, "FC92", input); } + /// + /// 审核转移报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC92/Verify/Token")] + public async Task> FC92VerifyToken([FromBody] DeleteMoRoutingBillInput input) + { + return await MoRoutingBillVerifyToken("FC92", input); + } + /// /// 弃审报工 /// @@ -477,12 +729,20 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 /// [HttpPost] [Route("api/U8/SFC/MoRoutingBillUnVerify")] - public async Task> MoRoutingBillUnVerify(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input) + public async Task> MoRoutingBillUnVerify(string cAccId, string cCardNum, [FromBody] DeleteMoRoutingBillInput input) { + var workId = SnowFlakeSingle.Instance.NextId(); + 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") throw new Exception("当前接口不支持此类型的单据"); @@ -507,24 +767,101 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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 { - 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) { - _logInfo.Error(ex.Message, ex); + _logInfo.Error($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----错误信息:{ex.Message}", ex); - return new BaseResult {bSuccess = false,message = ex.Message,result = ex.StackTrace}; + return new BaseResult { bSuccess = false, message = ex.Message, result = ex.StackTrace }; } } + /// + /// 弃审报工 + /// + /// 单据类型编码 + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/MoRoutingBillUnVerify/Token")] + public async Task> 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(); + + 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 { bSuccess = false, message = ex.Message, result = ex.StackTrace }; + } + + + } /// /// 弃审订单报工 @@ -540,6 +877,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 return await MoRoutingBillVerify(cAccId, "FC90", input); } + /// + /// 弃审订单报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC90/UnVerify/Token")] + public async Task> FC90UnVerifyToken([FromBody] DeleteMoRoutingBillInput input) + { + return await MoRoutingBillVerifyToken("FC90", input); + } + /// /// 弃审工序报工 /// @@ -554,6 +903,18 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 return await MoRoutingBillUnVerify(cAccId, "FC91", input); } + /// + /// 弃审工序报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC91/UnVerify/Token")] + public async Task> FC91UnVerifyToken([FromBody] DeleteMoRoutingBillInput input) + { + return await MoRoutingBillUnVerifyToken("FC91", input); + } + /// /// 弃审转移报工 /// @@ -568,5 +929,17 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 return await MoRoutingBillUnVerify(cAccId, "FC92", input); } + /// + /// 弃审转移报工 + /// + /// 报文数据 + /// + [HttpPost] + [Route("api/U8/SFC/FC92/UnVerify/Token")] + public async Task> FC92UnVerifyToken([FromBody] DeleteMoRoutingBillInput input) + { + return await MoRoutingBillUnVerifyToken("FC92", input); + } + } } diff --git a/UFIDA.U8.Framework.Api/Controllers/U8/STController.cs b/UFIDA.U8.Framework.Api/Controllers/U8/STController.cs index c93f698..d098fd2 100644 --- a/UFIDA.U8.Framework.Api/Controllers/U8/STController.cs +++ b/UFIDA.U8.Framework.Api/Controllers/U8/STController.cs @@ -57,13 +57,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -85,7 +85,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().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 == "单号" && 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 { - _logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定"); + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----没有单号需要自动指定"); } #region 调整日期,去掉时间部分 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}"; } 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}"; } #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); - _logInfo.Debug($"作业Id:{workId}-----读取表体数据"); + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----读取表体数据"); var bodyData = input[voucherInfo.BodyName].ToJson().ToList>(); //读取表体的数据 if (bodyData == null || bodyData.Count <= 0) 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().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable==true).ToListAsync(); //获取表体的字段配置 var rowNo = 1; 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); rowNo++; @@ -177,7 +177,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 根据存货档案是否批次管理调整批次号 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()) { body["cbatch"] = ""; @@ -187,7 +187,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 根据存货档案是否批次管理调整批次号(调拨单) 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()) { body["ctvbatch"] = ""; @@ -197,7 +197,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 根据存货档案是否保质期管理调整生产日期和失效日期 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()) { @@ -286,7 +286,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; @@ -294,7 +294,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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(); @@ -309,7 +309,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().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 == "单号" && 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 { - _logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定"); + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----没有单号需要自动指定"); } #region 调整日期,去掉时间部分 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}"; } 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}"; } #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); - _logInfo.Debug($"作业Id:{workId}-----读取表体数据"); + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----读取表体数据"); var bodyData = input[voucherInfo.BodyName].ToJson().ToList>(); //读取表体的数据 if (bodyData == null || bodyData.Count <= 0) 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().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable == true).ToListAsync(); //获取表体的字段配置 var rowNo = 1; 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); rowNo++; @@ -401,7 +401,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 根据存货档案是否批次管理调整批次号 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()) { body["cbatch"] = ""; @@ -411,7 +411,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 根据存货档案是否批次管理调整批次号(调拨单) 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()) { body["ctvbatch"] = ""; @@ -421,7 +421,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 根据存货档案是否保质期管理调整生产日期和失效日期 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()) { @@ -502,13 +502,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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; // 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(); @@ -530,7 +530,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // // 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().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 == "单号" && // 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 // { - // _logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定"); + // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----没有单号需要自动指定"); // } // #region 调整日期,去掉时间部分 // 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}"; // } // 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}"; // } // #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); - // _logInfo.Debug($"作业Id:{workId}-----读取表体数据"); + // _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----读取表体数据"); // var bodyData = input[voucherInfo.BodyName].ToJson().ToList>(); //读取表体的数据 // if (bodyData == null || bodyData.Count <= 0) // 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().Where(s => s.CardNumber == cCardNum && s.cPosition == "B" && s.bEnable == true).ToListAsync(); //获取表体的字段配置 // var rowNo = 1; // 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); // rowNo++; @@ -622,7 +622,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // // 根据存货档案是否批次管理调整批次号 // 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()) // { // body["cbatch"] = ""; @@ -632,7 +632,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // // 根据存货档案是否批次管理调整批次号(调拨单) // 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()) // { // body["ctvbatch"] = ""; @@ -642,7 +642,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // // 根据存货档案是否保质期管理调整生产日期和失效日期 // 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()) // { @@ -722,13 +722,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -750,7 +750,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -787,13 +787,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -815,7 +815,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -880,13 +880,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -908,7 +908,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -956,13 +956,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -984,7 +984,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -1022,13 +1022,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -1050,7 +1050,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -1115,13 +1115,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -1143,7 +1143,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -1191,13 +1191,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -1219,7 +1219,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -1257,13 +1257,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -1285,7 +1285,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); @@ -1350,13 +1350,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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; 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(); @@ -1378,7 +1378,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 // 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().FirstAsync(s => s.CardNumber == cCardNum); diff --git a/UFIDA.U8.Framework.Api/Controllers/U8/WorkflowController.cs b/UFIDA.U8.Framework.Api/Controllers/U8/WorkflowController.cs index d18e288..efa4ae8 100644 --- a/UFIDA.U8.Framework.Api/Controllers/U8/WorkflowController.cs +++ b/UFIDA.U8.Framework.Api/Controllers/U8/WorkflowController.cs @@ -57,11 +57,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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)) { - _logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建"); baseLogin = new BaseLogin(); @@ -109,6 +109,11 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 { 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}"); var output = CommUnit.GetDecrypt(userToken).ToObject(); @@ -117,17 +122,24 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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)) { - _logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建"); baseLogin = new BaseLogin(); 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); } @@ -173,7 +185,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 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(); @@ -223,7 +235,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8 if (string.IsNullOrWhiteSpace(userToken)) { - throw new Exception($"userToken获取失败"); + throw new Exception("校验userToken失败"); } _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(); - _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)) { - _logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建"); + _logInfo.Debug($"作业Id:{workId}-----{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}-----未获取到缓存的登录信息,正在重新构建"); baseLogin = new BaseLogin(); 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); }