雷池测试

This commit is contained in:
qmj
2025-06-07 22:11:51 +08:00
parent 71ca541865
commit 68a6bbd27e
15 changed files with 626 additions and 134 deletions
+36 -3
View File
@@ -1004,7 +1004,7 @@
库存管理
</summary>
</member>
<member name="F:UFIDA.U8.Framework.Api.Controllers.U8.STController.logInfo">
<member name="F:UFIDA.U8.Framework.Api.Controllers.U8.STController._logInfo">
<summary>
日志组件
</summary>
@@ -1023,7 +1023,7 @@
<param name="bReMote">是否远程</param>
<returns></returns>
</member>
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.STController.Insert2(System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Boolean,System.Boolean,System.Boolean,System.String,System.Boolean)">
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.STController.InsertToken(System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Boolean,System.Boolean,System.Boolean,System.String,System.Boolean)">
<summary>
新增单据
</summary>
@@ -1155,11 +1155,44 @@
审批流
</summary>
</member>
<member name="F:UFIDA.U8.Framework.Api.Controllers.U8.WorkflowController.logInfo">
<member name="F:UFIDA.U8.Framework.Api.Controllers.U8.WorkflowController._logInfo">
<summary>
日志组件
</summary>
</member>
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.WorkflowController.SubmitApplicationMessage(System.String,System.String,System.String,System.String,System.Boolean)">
<summary>
提交审批流(单号)
</summary>
<param name="cAccId">系统注册号</param>
<param name="cCardNum">单据类型编码</param>
<param name="cCode">单据编号</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.String,System.String,System.Boolean)">
<summary>
提交审批流(单号)
</summary>
<param name="cAccId">系统注册号</param>
<param name="cCardNum">单据类型编码</param>
<param name="cCode">单据编号</param>
<param name="eventId">审批事件</param>
<param name="bUap">是否UAP单据</param>
<returns></returns>
</member>
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.WorkflowController.SubmitApplicationMessage(System.String,System.String,System.Int64,System.String,System.Boolean)">
<summary>
提交审批流(单号)
</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="T:UFIDA.U8.Framework.Api.Entity.LoginInput">
<summary>
登录参数
@@ -2,7 +2,7 @@
"cVouchType": "50",
"cPayBillBank": "招商银行双榆树支行",
"cVouchTypeName": "银行承兑汇票",
"CVouchId": "12312345",
"CVouchId": "12312345234",
"cDwCode": "00000001",
"cDeptCode": "0301",
"cPerson": "00024",
@@ -0,0 +1,39 @@
{
"csocode": "0000000001", //订单号
"ddate": "2025-01-01", //订单日期
"cbustype": "普通销售", //业务类型
"itaxrate": 13, //表头税率
"cexch_name": "人民币", //币种
"cmaker": "demo", //制单人
"breturnflag": 0, //退货标志
"cstcode": "", //销售类型编码
"cdepcode": "", //部门编码
"ccuscode": "", //客户编码
"dpredatebt": "2025-01-01", //预发货日期
"dpremodatebt": "2025-01-01", //预完工日期
"iexchrate": 1, //汇率
"cmemo": "", //备注
"cpersoncode": "", //业务员编码
"body": [
{
"cinvcode": "", //存货编码
"iquantity": 10, //数量
"dpredate": "2025-01-01", //预发货日期
"dpremodate": "2025-01-01", //预完工日期
"editprop": "A", //编辑属性
"irowno": 1, //行号
"itaxunitprice": 1, //含税单价
"iquotedprice": 1, //报价
"iunitprice": 1, //无税单价
"imoney": 1, //无税金额
"itax": 1, //税额
"isum": 1, //价税合计
"inatunitprice": 1, //本币单价
"inatmoney": 1, //本币金额
"inattax": 1, //本币税额
"inatsum": 1, //本币价税合计
"itaxrate": 13, //税率
"cmemo": "" //备注
}
]
}
@@ -31,7 +31,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// <summary>
/// 日志组件
/// </summary>
protected readonly ILog logInfo = LogManager.GetLogger("logInfo");
private readonly ILog _logInfo = LogManager.GetLogger("logInfo");
private static readonly MemoryCache _cache = new MemoryCache(new MemoryCacheOptions { ExpirationScanFrequency = TimeSpan.FromMinutes(10) });
@@ -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}-----单据:{cCardNum},操作:新增,对接账套:{cAccId},数据:{input.ToJson()}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
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}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
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 == "单号" &&
a.bEnable == true).Select(a => a.FieldName).First();
logInfo.Debug($"作业Id:{workId}-----配置获取单号");
_logInfo.Debug($"作业Id:{workId}-----配置获取单号");
}
else
{
logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定");
_logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定");
}
#region 调整日期,去掉时间部分
if (input.ContainsKey("ddate"))
{
logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
_logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}";
}
if (input.ContainsKey("dtvdate"))
{
logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
_logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}";
}
#endregion
logInfo.Debug($"作业Id:{workId}-----设置表头数据");
_logInfo.Debug($"作业Id:{workId}-----设置表头数据");
input.SetDictionaryData(defs, baseLogin.Connection, newNumber, 1, exch);
logInfo.Debug($"作业Id:{workId}-----读取表体数据");
_logInfo.Debug($"作业Id:{workId}-----读取表体数据");
var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据
if (bodyData == null || bodyData.Count <= 0)
throw new Exception("无表体数据!");
logInfo.Debug($"作业Id:{workId}-----获取表体字段配置");
_logInfo.Debug($"作业Id:{workId}-----获取表体字段配置");
var defsBody = await db.Queryable<SysU8FieldDefine>().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}-----设置第{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}-----第{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}-----第{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}-----第{rowNo}行根据存货档案是否保质期管理调整生产日期和失效日期");
if (body["binvquality"] == null || body["binvquality"] == DBNull.Value || !body["binvquality"].ToBoolean())
{
@@ -250,7 +250,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
@@ -270,13 +270,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// <returns></returns>
[HttpPost]
[Route("api/U8/ST/{cCardNum}/Insert/Token")]
public async Task<BaseResult<string>> Insert2(string cCardNum, [FromBody] Dictionary<string, object> input, bool bCheck = true, bool bBeforCheckStock = true, bool bIsRedVouch = false, string sAddedState = "", bool bReMote = false)
public async Task<BaseResult<string>> InsertToken(string cCardNum, [FromBody] Dictionary<string, object> input, bool bCheck = true, bool bBeforCheckStock = true, bool bIsRedVouch = false, string sAddedState = "", bool bReMote = false)
{
try
{
var userToken = Request.Headers.GetValues("userToken").First();
logInfo.Debug($"当前接口:api/U8/ST/{cCardNum}/Insert/{userToken},参数:{input.ToJson()}");
_logInfo.Debug($"当前接口:api/U8/ST/{cCardNum}/Insert/{userToken},参数:{input.ToJson()}");
var output = CommUnit.GetDecrypt(userToken).ToObject<LoginOutput>();
@@ -286,13 +286,15 @@ 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}-----单据:{cCardNum},操作:新增,对接账套:{output.cAccId},数据:{input.ToJson()}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin))
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
@@ -307,7 +309,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId);
//}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -353,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}-----配置获取单号");
}
else
{
logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定");
_logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定");
}
#region 调整日期,去掉时间部分
if (input.ContainsKey("ddate"))
{
logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
_logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}";
}
if (input.ContainsKey("dtvdate"))
{
logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
_logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}";
}
#endregion
logInfo.Debug($"作业Id:{workId}-----设置表头数据");
_logInfo.Debug($"作业Id:{workId}-----设置表头数据");
input.SetDictionaryData(defs, baseLogin.Connection, newNumber, 1, exch);
logInfo.Debug($"作业Id:{workId}-----读取表体数据");
_logInfo.Debug($"作业Id:{workId}-----读取表体数据");
var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据
if (bodyData == null || bodyData.Count <= 0)
throw new Exception("无表体数据!");
logInfo.Debug($"作业Id:{workId}-----获取表体字段配置");
_logInfo.Debug($"作业Id:{workId}-----获取表体字段配置");
var defsBody = await db.Queryable<SysU8FieldDefine>().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}-----设置第{rowNo}行单据数据");
body.SetDictionaryData(defsBody, baseLogin.Connection, newNumber, rowNo, exch);
rowNo++;
@@ -399,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}-----第{rowNo}行根据存货档案是否批次管理调整批次号");
if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean())
{
body["cbatch"] = "";
@@ -409,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}-----第{rowNo}行根据存货档案是否批次管理调整批次号(调拨单)");
if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean())
{
body["ctvbatch"] = "";
@@ -419,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}-----第{rowNo}行根据存货档案是否保质期管理调整生产日期和失效日期");
if (body["binvquality"] == null || body["binvquality"] == DBNull.Value || !body["binvquality"].ToBoolean())
{
@@ -472,7 +474,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
@@ -500,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}-----单据:{cCardNum},操作:修改,对接账套:{cAccId},数据:{input.ToJson()}");
// //LoginParamter param;
// if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
// {
// logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
// _logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
// baseLogin = new BaseLogin();
@@ -528,7 +530,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// // param = await CommUnit.GetLoginParamter(cAccId);
// //}
// logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
// _logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
// var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -574,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}-----配置获取单号");
// }
// else
// {
// logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定");
// _logInfo.Debug($"作业Id:{workId}-----没有单号需要自动指定");
// }
// #region 调整日期,去掉时间部分
// if (input.ContainsKey("ddate"))
// {
// logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
// _logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
// input["ddate"] = $"{Convert.ToDateTime(input["ddate"]):yyyy-MM-dd}";
// }
// if (input.ContainsKey("dtvdate"))
// {
// logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
// _logInfo.Debug($"作业Id:{workId}-----调整日期,去掉时间部分");
// input["dtvdate"] = $"{Convert.ToDateTime(input["dtvdate"]):yyyy-MM-dd}";
// }
// #endregion
// logInfo.Debug($"作业Id:{workId}-----设置表头数据");
// _logInfo.Debug($"作业Id:{workId}-----设置表头数据");
// input.SetDictionaryData(defs, baseLogin.Connection, newNumber, 1, exch);
// logInfo.Debug($"作业Id:{workId}-----读取表体数据");
// _logInfo.Debug($"作业Id:{workId}-----读取表体数据");
// var bodyData = input[voucherInfo.BodyName].ToJson().ToList<Dictionary<string, object>>(); //读取表体的数据
// if (bodyData == null || bodyData.Count <= 0)
// throw new Exception("无表体数据!");
// logInfo.Debug($"作业Id:{workId}-----获取表体字段配置");
// _logInfo.Debug($"作业Id:{workId}-----获取表体字段配置");
// var defsBody = await db.Queryable<SysU8FieldDefine>().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}-----设置第{rowNo}行单据数据");
// body.SetDictionaryData(defsBody, baseLogin.Connection, newNumber, rowNo, exch);
// rowNo++;
@@ -620,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}-----第{rowNo}行根据存货档案是否批次管理调整批次号");
// if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean())
// {
// body["cbatch"] = "";
@@ -630,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}-----第{rowNo}行根据存货档案是否批次管理调整批次号(调拨单)");
// if (body["binvbatch"] == null || body["binvbatch"] == DBNull.Value || !body["binvbatch"].ToBoolean())
// {
// body["ctvbatch"] = "";
@@ -640,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}-----第{rowNo}行根据存货档案是否保质期管理调整生产日期和失效日期");
// if (body["binvquality"] == null || body["binvquality"] == DBNull.Value || !body["binvquality"].ToBoolean())
// {
@@ -693,7 +695,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// }
// catch (Exception ex)
// {
// logInfo.Error(ex.Message, ex);
// _logInfo.Error(ex.Message, ex);
// return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
// }
@@ -720,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}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{cCode}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin) || baseLogin ==null)
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
@@ -748,7 +750,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId);
//}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -758,7 +760,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "审核失败", result = ex.Message };
}
@@ -785,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}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},ID:{voucherId}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
@@ -813,7 +815,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId);
//}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -823,7 +825,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "审核失败", result = ex.Message };
}
@@ -878,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}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{strCode},ID:{strId}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
@@ -906,7 +908,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId);
//}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -927,7 +929,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<List<BaseResult<string>>> { bSuccess = false, message = ex.Message, result = null };
}
@@ -954,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}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{cCode}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
@@ -982,7 +984,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId);
//}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -992,7 +994,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "弃审失败", result = ex.Message };
}
@@ -1020,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}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},ID:{voucherId}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
@@ -1048,7 +1050,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId);
//}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -1058,7 +1060,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "弃审失败", result = ex.Message };
}
@@ -1113,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}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{strCode},ID:{strId}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
@@ -1141,7 +1143,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId);
//}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -1162,7 +1164,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<List<BaseResult<string>>> { bSuccess = false, message = ex.Message, result = null };
}
@@ -1189,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}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{cCode}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
@@ -1217,7 +1219,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId);
//}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -1227,7 +1229,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "删除失败", result = ex.Message };
}
@@ -1255,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}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},ID:{voucherId}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
@@ -1283,7 +1285,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId);
//}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -1293,7 +1295,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = "删除失败", result = ex.Message };
}
@@ -1348,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}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{strCode},ID:{strId}");
//LoginParamter param;
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
@@ -1376,7 +1378,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
// param = await CommUnit.GetLoginParamter(cAccId);
//}
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
_logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
@@ -1397,7 +1399,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
_logInfo.Error(ex.Message, ex);
return new BaseResult<List<BaseResult<string>>> { bSuccess = false, message = ex.Message, result = null };
}
@@ -1,11 +1,21 @@
using log4net;
using Microsoft.Extensions.Caching.Memory;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.UI.WebControls;
using UFIDA.U8.Framework.Api.ControlObject.Entity;
using UFIDA.U8.Framework.Api.ControlObject.Json;
using UFIDA.U8.Framework.Api.ControlObject.U8M;
using UFIDA.U8.Framework.Api.ControlObject.Workflow;
using UFIDA.U8.Framework.Api.Entity;
using UFIDA.U8.Framework.Api.Models;
using UFIDA.U8.Framework.Api.Unit;
namespace UFIDA.U8.Framework.Api.Controllers.U8
{
@@ -17,10 +27,176 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// <summary>
/// 日志组件
/// </summary>
protected readonly ILog logInfo = LogManager.GetLogger("logInfo");
private readonly ILog _logInfo = LogManager.GetLogger("logInfo");
private static readonly MemoryCache _cache = new MemoryCache(new MemoryCacheOptions { ExpirationScanFrequency = TimeSpan.FromMinutes(10) });
/// <summary>
/// 提交审批流(单号)
/// </summary>
/// <param name="cAccId">系统注册号</param>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="cCode">单据编号</param>
/// <param name="eventId">审批事件</param>
/// <param name="bUap">是否UAP单据</param>
/// <returns></returns>
[HttpGet]
[Route("api/U8/Workflow/SubmitApplicationMessage/Code")]
public async Task<BaseResult<string>> SubmitApplicationMessage(string cAccId, string cCardNum,string cCode,string eventId, bool bUap=false)
{
try
{
if (Request.Headers.TryGetValues("userToken", out var userToken))
{
return await SubmitApplicationMessageToken(cCardNum, cCode, eventId, bUap);
}
_logInfo.Debug($"当前接口:api/U8/Workflow/SubmitApplicationMessage/Code,对接账套:{cAccId},单据:{cCardNum},事件:{eventId},单据编号:{cCode}");
var db = CommUnit.GetDbClient();
var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:提交审批流,对接账套:{cAccId},单据编号:{cCode}");
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
var param = await CommUnit.GetLoginParamter(cAccId);
if (param == null)
{
throw new Exception("未能加载指定系统号的登录信息");
}
baseLogin.Init(param, true);
_cache.Clear();
_cache.Set($"U8_{cAccId}", baseLogin);
}
var services = new ServiceProxy();
return await services.SubmitApplicationMessage(baseLogin, cCardNum, eventId, cCode, bUap);
}
catch (Exception ex)
{
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
/// <summary>
/// 提交审批流(单号)
/// </summary>
/// <param name="cAccId">系统注册号</param>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="cCode">单据编号</param>
/// <param name="eventId">审批事件</param>
/// <param name="bUap">是否UAP单据</param>
/// <returns></returns>
[HttpGet]
[Route("api/U8/Workflow/SubmitApplicationMessage/Code/Token")]
public async Task<BaseResult<string>> SubmitApplicationMessageToken(string cCardNum,string cCode,string eventId, bool bUap=false)
{
try
{
var userToken = Request.Headers.GetValues("userToken").First();
_logInfo.Debug($"当前接口:api/U8/Workflow/SubmitApplicationMessage/Code,userToken:{userToken},单据:{cCardNum},事件:{eventId},单据编号:{cCode}");
var output = CommUnit.GetDecrypt(userToken).ToObject<LoginOutput>();
var token = CommUnit.GetDecrypt(output.userToken);
var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:新增,对接账套:{output.cAccId},单据编号:{cCode}");
if (!_cache.TryGetValue($"U8_{userToken}_{output.cAccId}", out BaseLogin baseLogin))
{
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
baseLogin.Init(token, true, 5);
_cache.Clear();
_cache.Set($"U8_{userToken}_{output.cAccId}", baseLogin);
}
var services = new ServiceProxy();
return await services.SubmitApplicationMessage(baseLogin, cCardNum, eventId, cCode, bUap);
}
catch (Exception ex)
{
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
/// <summary>
/// 提交审批流(单号)
/// </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>
[HttpGet]
[Route("api/U8/Workflow/SubmitApplicationMessage/ID")]
public async Task<BaseResult<string>> SubmitApplicationMessage(string cAccId, string cCardNum, long voucherId, string eventId, bool bUap = false)
{
try
{
var db = CommUnit.GetDbClient();
var workId = SnowFlakeSingle.Instance.NextId();
_logInfo.Debug($"当前接口:api/U8/Workflow/SubmitApplicationMessage/Code,作业Id:{workId},对接账套:{cAccId},单据:{cCardNum},事件:{eventId},单据ID:{voucherId}");
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
_logInfo.Debug($"作业Id:{workId}-----未获取到缓存的登录信息,正在重新构建");
baseLogin = new BaseLogin();
var param = await CommUnit.GetLoginParamter(cAccId);
if (param == null)
{
throw new Exception("未能加载指定系统号的登录信息");
}
baseLogin.Init(param, false);
_cache.Clear();
_cache.Set($"U8_{cAccId}", baseLogin);
}
var services = new ServiceProxy();
return await services.SubmitApplicationMessage(baseLogin, cCardNum, eventId, voucherId, bUap);
}
catch (Exception ex)
{
_logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
}
}
+4
View File
@@ -19,6 +19,7 @@ namespace UFIDA.U8.Framework.Api
private readonly string s_u8MPath;
private readonly string s_u8FrameworkPath;
private readonly string s_u8APIFramework;
private readonly string s_u8workflow;
public WebApiApplication()
@@ -27,6 +28,7 @@ namespace UFIDA.U8.Framework.Api
s_u8MPath = $@"{s_u8Root}U8M\";
s_u8FrameworkPath = $@"{s_u8Root}Framework\";
s_u8APIFramework = $@"{s_u8Root}UFMOM\U8APIFramework\";
s_u8workflow = $@"{s_u8Root}Workflow\Lib\";
}
@@ -90,6 +92,8 @@ namespace UFIDA.U8.Framework.Api
return Assembly.LoadFrom(s_u8FrameworkPath + sAsmName);
if (File.Exists(s_u8APIFramework + sAsmName))
return Assembly.LoadFrom(s_u8APIFramework + sAsmName);
if (File.Exists(s_u8workflow + sAsmName))
return Assembly.LoadFrom(s_u8workflow + sAsmName);
return null;
}
}
@@ -487,6 +487,7 @@
<Content Include="App_Data\采购入库单模板.json" />
<Content Include="App_Data\票据录入模板.json" />
<Content Include="App_Data\请购单模板.json" />
<Content Include="App_Data\销售订单模板.json" />
<None Include="Oracle.DataAccess.Common.Configuration.Section.xsd">
<SubType>Designer</SubType>
</None>