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.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
/// <summary>
/// 报工单
/// </summary>
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<MoRoutingBillDs> GetEmptyDs(IContextContainer callar, string cCardNum)
/// <summary>
/// 获取空数据源
/// </summary>
/// <param name="callar"></param>
/// <param name="cCardNum"></param>
/// <returns></returns>
private static async Task<MoRoutingBillDs> GetEmptyDs(IContextContainer callar, string cCardNum)
{
try
{
@@ -66,9 +68,15 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
}
}
private async Task<MoRoutingBillDs> GetVoucherDs(IContextContainer callar, string cCardNum, AutoDocNoGenerateParam docNoParam, Dictionary<string, object> input)
/// <summary>
/// 填充DataSet数据
/// </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);
@@ -111,8 +119,14 @@ namespace UFIDA.U8.Framework.Api.ControlObject.U8M
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)
{
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<string> { 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
}
}
/// <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)
{
@@ -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<string> { bSuccess = false, message = "新增失败", result = ex.Message };
}
}
public async Task<BaseResult<string>> Delete(BaseLogin baseLogin,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>> Delete(BaseLogin baseLogin, string cCardNum, List<string> 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<string> { bSuccess = false, message = "新增失败", result = ex.Message };
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "删除失败", result = ex.Message };
}
}
public async Task<BaseResult<string>> Delete(BaseLogin baseLogin,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>> Delete(BaseLogin baseLogin, List<int> 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<BaseResult<string>> Verify(BaseLogin baseLogin,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>> Verify(BaseLogin baseLogin, string cCardNum, List<string> 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<string> { bSuccess = false, message = "新增失败", result = ex.Message };
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
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)
{
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<string> { 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<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
{
@@ -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<string> { bSuccess = false, message = "新增失败", result = ex.Message };
await Task.Delay(1);
return new BaseResult<string> { bSuccess = false, message = "弃审失败", result = ex.Message };
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
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
{
@@ -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<string> { 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<string> { 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<string> { bSuccess = false, message = "弃审失败", result = ex.Message };