测试线程静态前提交
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"cVouchType": "49",
|
||||
"cVouchID": "0000000030",
|
||||
"dVouchDate": "2015-07-22 00:00:00.000",
|
||||
"cDwCode": "01004",
|
||||
"cSSCode": "1",
|
||||
"cDeptCode": "0401",
|
||||
"cSSName": "现金",
|
||||
"iPeriod": 7,
|
||||
"cPerson": "00043",
|
||||
"cPersonName": "顾潇",
|
||||
"cexch_name": "人民币",
|
||||
"iExchRate": 1,
|
||||
"iAmount_f": 100.00,
|
||||
"iAmount": 100.00,
|
||||
"iRAmount_f": 100.00,
|
||||
"iRAmount": 100.00,
|
||||
"cTypeName": "付款单",
|
||||
"cFlag": "AP",
|
||||
"iPayForOther": 0,
|
||||
"bFromBank": 0,
|
||||
"bToBank": 0,
|
||||
"bSure": 0,
|
||||
"cCode": "1001",
|
||||
"bStartFlag": 0,
|
||||
"body": [
|
||||
{
|
||||
"bPrePay": 0,
|
||||
"iType": 0,
|
||||
"cType": "应付款",
|
||||
"iAmt_f": 100,
|
||||
"iAmt": 100,
|
||||
"cKm": "220202",
|
||||
"cDepName": "采购部",
|
||||
"cPersonName": "顾潇",
|
||||
"iRAmt_f": 100.00,
|
||||
"iRAmt": 100.00,
|
||||
"cCusVen": "01004",
|
||||
"iAmt_s": 0,
|
||||
"iRAmt_s": 0,
|
||||
"cDepCode": "0401",
|
||||
"cPersonCode": "00043"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
@@ -568,6 +568,41 @@
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="F:UFIDA.U8.Framework.Api.Controllers.U8.APController.logInfo">
|
||||
<summary>
|
||||
日志组件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.APController.CloseBillSave(System.String,System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
|
||||
<summary>
|
||||
收付款单保存
|
||||
</summary>
|
||||
<param name="cAccId">系统号</param>
|
||||
<param name="cCardNum">单据类型编码</param>
|
||||
<param name="input">报文数据</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.APController.AP48Save(System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
|
||||
<summary>
|
||||
收款单保存
|
||||
</summary>
|
||||
<param name="cAccId"></param>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:UFIDA.U8.Framework.Api.Controllers.U8.APController.AP49Save(System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
|
||||
<summary>
|
||||
收款单保存
|
||||
</summary>
|
||||
<param name="cAccId"></param>
|
||||
<param name="input"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:UFIDA.U8.Framework.Api.Controllers.U8.MOController">
|
||||
<summary>
|
||||
生产订单
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:UFIDA.U8.Framework.Api.Controllers.U8.SFCController">
|
||||
<summary>
|
||||
车间管理
|
||||
@@ -710,7 +745,7 @@
|
||||
<param name="input">报文数据</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:UFIDA.U8.Framework.Api.WebApiApplication.__CurrentDomain_AssemblyResolve(System.Object,System.ResolveEventArgs)">
|
||||
<member name="M:UFIDA.U8.Framework.Api.WebApiApplication.CurrentDomain_AssemblyResolve(System.Object,System.ResolveEventArgs)">
|
||||
<summary>
|
||||
缺少程序集全局处理事件
|
||||
</summary>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Autofac.Integration.WebApi;
|
||||
using Autofac;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -12,12 +11,12 @@ namespace UFIDA.U8.Framework.Api
|
||||
public static void Register(HttpConfiguration config)
|
||||
{
|
||||
// Web API 配置和服务
|
||||
var builder = new ContainerBuilder();
|
||||
//var builder = new ContainerBuilder();
|
||||
//builder.RegisterType<GMUtil>().As<IMyService>();
|
||||
|
||||
var container = builder.Build();
|
||||
//var container = builder.Build();
|
||||
|
||||
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
|
||||
//config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
|
||||
|
||||
// Web API 路由
|
||||
config.MapHttpAttributeRoutes();
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
using log4net;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.Http;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.AP;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Models;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.U8M;
|
||||
using UFIDA.U8.Framework.Api.Unit;
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
{
|
||||
|
||||
public class APController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// 日志组件
|
||||
/// </summary>
|
||||
protected 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="input">报文数据</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/AP/{cCardNum}/CloseBillSave")]
|
||||
[Route("api/U8/AR/{cCardNum}/CloseBillSave")]
|
||||
public async Task<BaseResult<dynamic>> CloseBillSave(string cAccId, string cCardNum, [FromBody] Dictionary<string, object> input)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!_cache.TryGetValue($"U8AP_{cAccId}", out BaseLogin baseLogin))
|
||||
{
|
||||
baseLogin = new BaseLogin();
|
||||
|
||||
var param = await CommUnit.GetLoginParamter(cAccId);
|
||||
|
||||
if (param == null)
|
||||
{
|
||||
throw new Exception("未能加载指定系统号的登录信息");
|
||||
}
|
||||
|
||||
baseLogin.Init(param, false);
|
||||
|
||||
_cache.Set($"U8AP_{cAccId}", baseLogin);
|
||||
}
|
||||
|
||||
var subId = "";
|
||||
|
||||
if (cCardNum == "AP48")
|
||||
{
|
||||
subId = "AR";
|
||||
}
|
||||
|
||||
if (cCardNum == "AP49")
|
||||
{
|
||||
subId = "AP";
|
||||
}
|
||||
|
||||
|
||||
if (string.IsNullOrWhiteSpace(subId))
|
||||
throw new Exception("单据标识不正确");
|
||||
|
||||
var bo = new UFAPBO();
|
||||
|
||||
var res = bo.CloseBillSave(baseLogin, input, subId);
|
||||
|
||||
return res;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<dynamic> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 收款单保存
|
||||
/// </summary>
|
||||
/// <param name="cAccId"></param>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/AR/AP48/CloseBillSave")]
|
||||
public async Task<BaseResult<dynamic>> AP48Save(string cAccId, [FromBody] Dictionary<string, object> input)
|
||||
{
|
||||
return await CloseBillSave(cAccId, "AP48", input);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 收款单保存
|
||||
/// </summary>
|
||||
/// <param name="cAccId"></param>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/AP/AP49/CloseBillSave")]
|
||||
public async Task<BaseResult<dynamic>> AP49Save(string cAccId, [FromBody] Dictionary<string, object> input)
|
||||
{
|
||||
return await CloseBillSave(cAccId, "AP49", input);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,6 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
/// </summary>
|
||||
public class MOController : ApiController
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,18 @@ using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.Http;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Microsoft.JScript;
|
||||
using SqlSugar;
|
||||
using UFIDA.U8.Framework.Api.Common.Entity;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Json;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Models;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.U8M;
|
||||
using UFIDA.U8.Framework.Api.Unit;
|
||||
using UFIDA.U8.Framework.Api.Models;
|
||||
using Yitter.IdGenerator;
|
||||
using System.Web.UI.WebControls;
|
||||
using Convert = System.Convert;
|
||||
|
||||
// ReSharper disable InconsistentNaming
|
||||
// ReSharper disable IdentifierTypo
|
||||
// ReSharper disable FieldCanBeMadeReadOnly.Local
|
||||
@@ -35,33 +43,107 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/MoRoutingBillSave")]
|
||||
public async Task<BaseResult<dynamic>> MoRoutingBillSave(string cAccId,string cCardNum, [FromBody] Dictionary<string, object> input)
|
||||
public async Task<BaseResult<string>> MoRoutingBillSave(string cAccId,string cCardNum, [FromBody] Dictionary<string, object> input)
|
||||
{
|
||||
var taskId = 0L;
|
||||
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
BaseLogin baseLogin=null;
|
||||
|
||||
try
|
||||
{
|
||||
logInfo.Debug($"接口标识:MoRoutingBillSave,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
|
||||
|
||||
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
|
||||
throw new Exception("当前接口不支持此类型的单据");
|
||||
|
||||
if (!_cache.TryGetValue($"U8M_{cAccId}", out BaseLogin baseLogin))
|
||||
var runtimes = 0;
|
||||
|
||||
var u8mTask = new SysU8MTask()
|
||||
{
|
||||
baseLogin = new BaseLogin();
|
||||
U8MPool = $"U8M_{cAccId}"
|
||||
};
|
||||
|
||||
var param = await CommUnit.GetLoginParamter(cAccId);
|
||||
|
||||
if (param == null)
|
||||
#if !DEBUG
|
||||
while (await db.Queryable<SysU8MTask>().AnyAsync())
|
||||
{
|
||||
if (runtimes > 20)
|
||||
{
|
||||
throw new Exception("未能加载指定系统号的登录信息");
|
||||
throw new Exception("当前任务队列过长");
|
||||
}
|
||||
|
||||
baseLogin.Init(param);
|
||||
runtimes++;
|
||||
|
||||
await Task.Delay(100 * runtimes);
|
||||
|
||||
//u8mTask.Id = DateTime.Now.Ticks;
|
||||
|
||||
if (await db.Queryable<SysU8MTask>()
|
||||
.AnyAsync(a => SqlFunc.DateDiff(DateType.Minute, a.dDate, DateTime.Now) > 1))
|
||||
{
|
||||
await db.Deleteable<SysU8MTask>()
|
||||
.Where(a => SqlFunc.DateDiff(DateType.Minute, a.dDate, DateTime.Now) > 1)
|
||||
.ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
_cache.Set($"U8M_{cAccId}", baseLogin);
|
||||
}
|
||||
#endif
|
||||
|
||||
u8mTask.dDate = DateTime.Now;
|
||||
|
||||
//if (u8mTask.Id == null)
|
||||
//{
|
||||
// u8mTask.Id = DateTime.Now.Ticks;
|
||||
//}
|
||||
|
||||
taskId = await db.Insertable(u8mTask).ExecuteReturnSnowflakeIdAsync();
|
||||
|
||||
logInfo.Debug($"开始操作,当前任务ID:{taskId}");
|
||||
//if (!_cache.TryGetValue($"U8M_{cAccId}", out BaseLogin baseLogin))
|
||||
//{
|
||||
// _cache.Clear();
|
||||
|
||||
baseLogin = new BaseLogin();
|
||||
|
||||
var param = await CommUnit.GetLoginParamter(cAccId);
|
||||
|
||||
if (param == null)
|
||||
{
|
||||
throw new Exception("未能加载指定系统号的登录信息");
|
||||
}
|
||||
|
||||
logInfo.Debug($"开始登录,当前任务ID:{taskId}");
|
||||
|
||||
baseLogin.Init(param,true);
|
||||
|
||||
//_cache.Set($"U8M_{cAccId}", baseLogin);
|
||||
//}
|
||||
|
||||
|
||||
var bf = new MoRoutingBill();
|
||||
|
||||
var res=bf.Save( cCardNum, input);
|
||||
logInfo.Debug($"开始保存,当前任务ID:{taskId}");
|
||||
|
||||
BaseResult<string> res;
|
||||
if (input.ContainsKey("bBatch") && Convert.ToBoolean(input["bBatch"]))
|
||||
{
|
||||
var inputs = input["inputs"] as List<Dictionary<string, object>> ?? $"{input["inputs"]}".ToObject<List<Dictionary<string, object>>>();
|
||||
|
||||
res = bf.Save(cCardNum, inputs);
|
||||
}
|
||||
else
|
||||
{
|
||||
res = bf.Save(cCardNum, input);
|
||||
}
|
||||
|
||||
logInfo.Debug($"退出登录,当前任务ID:{taskId}");
|
||||
baseLogin.ShutDown();
|
||||
|
||||
if (taskId != 0)
|
||||
{
|
||||
await db.Deleteable<SysU8MTask>(taskId).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
return res;
|
||||
|
||||
@@ -70,7 +152,21 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<dynamic> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
|
||||
if (taskId != 0)
|
||||
{
|
||||
await db.Deleteable<SysU8MTask>(taskId).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (taskId != 0)
|
||||
{
|
||||
await db.Deleteable<SysU8MTask>(taskId).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
baseLogin?.ShutDown();
|
||||
}
|
||||
|
||||
|
||||
@@ -85,7 +181,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC90/Save")]
|
||||
[Route("api/U8/SFC/FC90/Save/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC90Save(string cAccId, [FromBody] Dictionary<string, object> input)
|
||||
public async Task<BaseResult<string>> FC90Save(string cAccId, [FromBody] Dictionary<string, object> input)
|
||||
{
|
||||
return await MoRoutingBillSave(cAccId, "FC90", input);
|
||||
}
|
||||
@@ -99,7 +195,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC91/Save")]
|
||||
[Route("api/U8/SFC/FC91/Save/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC91Save(string cAccId, [FromBody] Dictionary<string, object> input)
|
||||
public async Task<BaseResult<string>> FC91Save(string cAccId, [FromBody] Dictionary<string, object> input)
|
||||
{
|
||||
return await MoRoutingBillSave(cAccId, "FC91", input);
|
||||
}
|
||||
@@ -113,7 +209,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC92/Save")]
|
||||
[Route("api/U8/SFC/FC92/Save/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC92Save(string cAccId, [FromBody] Dictionary<string, object> input)
|
||||
public async Task<BaseResult<string>> FC92Save(string cAccId, [FromBody] Dictionary<string, object> input)
|
||||
{
|
||||
return await MoRoutingBillSave(cAccId, "FC92", input);
|
||||
}
|
||||
@@ -127,10 +223,12 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/MoRoutingBillDelete")]
|
||||
public async Task<BaseResult<dynamic>> MoRoutingBillDelete(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> MoRoutingBillDelete(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
try
|
||||
{
|
||||
logInfo.Debug($"接口标识:MoRoutingBillDelete,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
|
||||
|
||||
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
|
||||
throw new Exception("当前接口不支持此类型的单据");
|
||||
|
||||
@@ -166,7 +264,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<dynamic> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
|
||||
return new BaseResult<string> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
|
||||
}
|
||||
|
||||
|
||||
@@ -182,7 +280,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC90/Delete")]
|
||||
[Route("api/U8/SFC/FC90/Delete/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC90Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> FC90Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
return await MoRoutingBillDelete(cAccId, "FC90", input);
|
||||
}
|
||||
@@ -196,7 +294,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC91/Delete")]
|
||||
[Route("api/U8/SFC/FC91/Delete/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC91Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> FC91Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
return await MoRoutingBillDelete(cAccId, "FC91", input);
|
||||
}
|
||||
@@ -210,7 +308,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC92/Delete")]
|
||||
[Route("api/U8/SFC/FC92/Delete/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC92Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> FC92Delete(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
return await MoRoutingBillDelete(cAccId, "FC92", input);
|
||||
}
|
||||
@@ -224,10 +322,12 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/MoRoutingBillVerify")]
|
||||
public async Task<BaseResult<dynamic>> MoRoutingBillVerify(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> MoRoutingBillVerify(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
try
|
||||
{
|
||||
logInfo.Debug($"接口标识:MoRoutingBillVerify,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
|
||||
|
||||
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
|
||||
throw new Exception("当前接口不支持此类型的单据");
|
||||
|
||||
@@ -263,7 +363,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<dynamic> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
|
||||
return new BaseResult<string> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
|
||||
}
|
||||
|
||||
|
||||
@@ -279,7 +379,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC90/Verify")]
|
||||
[Route("api/U8/SFC/FC90/Verify/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC90Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> FC90Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
return await MoRoutingBillVerify(cAccId, "FC90", input);
|
||||
}
|
||||
@@ -293,7 +393,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC91/Verify")]
|
||||
[Route("api/U8/SFC/FC91/Verify/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC91Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> FC91Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
return await MoRoutingBillVerify(cAccId, "FC91", input);
|
||||
}
|
||||
@@ -307,7 +407,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC92/Verify")]
|
||||
[Route("api/U8/SFC/FC92/Verify/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC92Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> FC92Verify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
return await MoRoutingBillVerify(cAccId, "FC92", input);
|
||||
}
|
||||
@@ -321,10 +421,13 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/MoRoutingBillUnVerify")]
|
||||
public async Task<BaseResult<dynamic>> MoRoutingBillUnVerify(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> MoRoutingBillUnVerify(string cAccId,string cCardNum, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
try
|
||||
{
|
||||
logInfo.Debug($"接口标识:MoRoutingBillUnVerify,系统号:{cAccId},单据类型编码:{cCardNum},报文数据:{input.ToJson()}");
|
||||
|
||||
|
||||
if (cCardNum != "FC90" && cCardNum != "FC91" && cCardNum != "FC92")
|
||||
throw new Exception("当前接口不支持此类型的单据");
|
||||
|
||||
@@ -360,7 +463,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<dynamic> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
|
||||
return new BaseResult<string> {bSuccess = false,message = ex.Message,result = ex.StackTrace};
|
||||
}
|
||||
|
||||
|
||||
@@ -376,7 +479,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC90/UnVerify")]
|
||||
[Route("api/U8/SFC/FC90/UnVerify/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC90UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> FC90UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
return await MoRoutingBillVerify(cAccId, "FC90", input);
|
||||
}
|
||||
@@ -390,7 +493,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC91/UnVerify")]
|
||||
[Route("api/U8/SFC/FC91/UnVerify/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC91UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> FC91UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
return await MoRoutingBillUnVerify(cAccId, "FC91", input);
|
||||
}
|
||||
@@ -404,7 +507,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
[HttpPost]
|
||||
[Route("api/U8/SFC/FC92/UnVerify")]
|
||||
[Route("api/U8/SFC/FC92/UnVerify/{cAccId}")]
|
||||
public async Task<BaseResult<dynamic>> FC92UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
public async Task<BaseResult<string>> FC92UnVerify(string cAccId, [FromBody] DeleteMoRoutingBillInput input)
|
||||
{
|
||||
return await MoRoutingBillUnVerify(cAccId, "FC92", input);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Autofac;
|
||||
using Autofac.Integration.WebApi;
|
||||
|
||||
using Microsoft.JScript;
|
||||
using Microsoft.Win32;
|
||||
using System;
|
||||
@@ -24,7 +23,7 @@ namespace UFIDA.U8.Framework.Api
|
||||
|
||||
public WebApiApplication()
|
||||
{
|
||||
s_u8Root = __GetU8InstallPath();
|
||||
s_u8Root = GetU8InstallPath();
|
||||
s_u8MPath = $@"{s_u8Root}U8M\";
|
||||
s_u8FrameworkPath = $@"{s_u8Root}Framework\";
|
||||
s_u8APIFramework = $@"{s_u8Root}UFMOM\U8APIFramework\";
|
||||
@@ -40,23 +39,23 @@ namespace UFIDA.U8.Framework.Api
|
||||
RouteConfig.RegisterRoutes(RouteTable.Routes);
|
||||
BundleConfig.RegisterBundles(BundleTable.Bundles);
|
||||
|
||||
AppDomain.CurrentDomain.AssemblyResolve -= __CurrentDomain_AssemblyResolve;
|
||||
AppDomain.CurrentDomain.AssemblyResolve += __CurrentDomain_AssemblyResolve;
|
||||
AppDomain.CurrentDomain.AssemblyResolve -= CurrentDomain_AssemblyResolve;
|
||||
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
|
||||
|
||||
}
|
||||
|
||||
private void ConfigureDependencyInjection(HttpConfiguration config)
|
||||
{
|
||||
var builder = new ContainerBuilder();
|
||||
//builder.RegisterType<GMUtil>().As<>();
|
||||
//private void ConfigureDependencyInjection(HttpConfiguration config)
|
||||
//{
|
||||
// var builder = new ContainerBuilder();
|
||||
// //builder.RegisterType<GMUtil>().As<>();
|
||||
|
||||
var container = builder.Build();
|
||||
// var container = builder.Build();
|
||||
|
||||
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
|
||||
}
|
||||
// config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
|
||||
//}
|
||||
|
||||
|
||||
private static string __GetU8InstallPath()
|
||||
private static string GetU8InstallPath()
|
||||
{
|
||||
string root;
|
||||
var installPath = Registry.LocalMachine.OpenSubKey(GlobalConstDefine.Product_Registry_InstallKey);
|
||||
@@ -70,7 +69,7 @@ namespace UFIDA.U8.Framework.Api
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="args"></param>
|
||||
/// <returns></returns>
|
||||
private Assembly __CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
|
||||
private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
|
||||
{
|
||||
//先在已经加载的程序集中选择
|
||||
foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<MvcBuildViews>false</MvcBuildViews>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
<Use64BitIISExpress />
|
||||
<Use64BitIISExpress>false</Use64BitIISExpress>
|
||||
<IISExpressSSLPort>44366</IISExpressSSLPort>
|
||||
<IISExpressAnonymousAuthentication />
|
||||
<IISExpressWindowsAuthentication />
|
||||
@@ -47,12 +47,6 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Autofac, Version=8.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Autofac.8.0.0\lib\netstandard2.0\Autofac.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Autofac.Integration.WebApi, Version=6.1.1.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Autofac.WebApi2.6.1.1\lib\net472\Autofac.Integration.WebApi.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Dapper, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Dapper.2.1.35\lib\net461\Dapper.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -168,17 +162,17 @@
|
||||
<Reference Include="Microsoft.Extensions.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Primitives.8.0.0\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=7.6.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.7.6.3\lib\net472\Microsoft.IdentityModel.Abstractions.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=8.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.8.0.1\lib\net472\Microsoft.IdentityModel.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=7.6.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.7.6.3\lib\net472\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=8.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.8.0.1\lib\net472\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Logging, Version=7.6.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Logging.7.6.3\lib\net472\Microsoft.IdentityModel.Logging.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Logging, Version=8.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Logging.8.0.1\lib\net472\Microsoft.IdentityModel.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Tokens, Version=7.6.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Tokens.7.6.3\lib\net472\Microsoft.IdentityModel.Tokens.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Tokens, Version=8.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Tokens.8.0.1\lib\net472\Microsoft.IdentityModel.Tokens.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.JScript" />
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
@@ -202,8 +196,8 @@
|
||||
<Reference Include="SQLitePCLRaw.provider.dynamic_cdecl, Version=2.1.8.2226, Culture=neutral, PublicKeyToken=b68184102cba0b3b, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SQLitePCLRaw.provider.dynamic_cdecl.2.1.8\lib\netstandard2.0\SQLitePCLRaw.provider.dynamic_cdecl.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SqlSugar, Version=5.1.4.162, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SqlSugar.5.1.4.162\lib\SqlSugar.dll</HintPath>
|
||||
<Reference Include="SqlSugar, Version=5.1.4.166, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SqlSugar.5.1.4.166\lib\SqlSugar.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Swashbuckle.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cd1bb07a5ac7c7bc, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Swashbuckle.Core.5.6.0\lib\net40\Swashbuckle.Core.dll</HintPath>
|
||||
@@ -238,8 +232,8 @@
|
||||
<Reference Include="System.Formats.Asn1, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Formats.Asn1.8.0.1\lib\net462\System.Formats.Asn1.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=7.6.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.7.6.3\lib\net472\System.IdentityModel.Tokens.Jwt.dll</HintPath>
|
||||
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=8.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.8.0.1\lib\net472\System.IdentityModel.Tokens.Jwt.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
|
||||
@@ -363,6 +357,9 @@
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Yitter.IdGenerator, Version=1.0.14.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Yitter.IdGenerator.1.0.14\lib\netstandard2.0\Yitter.IdGenerator.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App_Start\BundleConfig.cs" />
|
||||
@@ -401,6 +398,7 @@
|
||||
<Compile Include="Areas\HelpPage\XmlDocumentationProvider.cs" />
|
||||
<Compile Include="Controllers\CommonController.cs" />
|
||||
<Compile Include="Controllers\HomeController.cs" />
|
||||
<Compile Include="Controllers\U8\APController.cs" />
|
||||
<Compile Include="Controllers\U8\MOController.cs" />
|
||||
<Compile Include="Controllers\U8\SFCController.cs" />
|
||||
<Compile Include="Global.asax.cs">
|
||||
@@ -412,7 +410,11 @@
|
||||
<Compile Include="Unit\CommUnit.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="App_Data\AP49.json" />
|
||||
<None Include="App_Data\FC90.json" />
|
||||
<Content Include="App_Data\U8API.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Areas\HelpPage\HelpPage.css" />
|
||||
<Content Include="Content\bootstrap-grid.css" />
|
||||
<Content Include="Content\bootstrap-grid.min.css" />
|
||||
|
||||
@@ -146,6 +146,10 @@
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.0.118.0" newVersion="1.0.118.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.17.0" newVersion="2.0.17.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
<param name="MaxFileSize" value="20480" />
|
||||
<param name="RollingStyle" value="Date" />
|
||||
<param name="AppendToFile" value="true" />
|
||||
<param name="lockingModel" value="log4net.Appender.FileAppender+MinimalLock" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<param name="ConversionPattern" value="%date [%thread] %-5level %r - %message%newline" />
|
||||
</layout>
|
||||
|
||||
@@ -60,10 +60,10 @@
|
||||
<package id="Microsoft.Extensions.Options" version="8.0.2" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Options.ConfigurationExtensions" version="8.0.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Primitives" version="8.0.0" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Abstractions" version="7.6.3" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.JsonWebTokens" version="7.6.3" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Logging" version="7.6.3" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Tokens" version="7.6.3" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Abstractions" version="8.0.1" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.JsonWebTokens" version="8.0.1" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Logging" version="8.0.1" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Tokens" version="8.0.1" targetFramework="net48" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="2.0.1" targetFramework="net48" />
|
||||
<package id="Modernizr" version="2.8.3" targetFramework="net48" />
|
||||
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
|
||||
@@ -74,7 +74,7 @@
|
||||
<package id="SQLitePCLRaw.core" version="2.1.8" targetFramework="net48" />
|
||||
<package id="SQLitePCLRaw.lib.e_sqlite3" version="2.1.8" targetFramework="net48" />
|
||||
<package id="SQLitePCLRaw.provider.dynamic_cdecl" version="2.1.8" targetFramework="net48" />
|
||||
<package id="SqlSugar" version="5.1.4.162" targetFramework="net48" />
|
||||
<package id="SqlSugar" version="5.1.4.166" targetFramework="net48" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.118.0" targetFramework="net48" />
|
||||
<package id="Swashbuckle" version="5.6.0" targetFramework="net48" />
|
||||
<package id="Swashbuckle.Core" version="5.6.0" targetFramework="net48" />
|
||||
@@ -87,7 +87,7 @@
|
||||
<package id="System.Data.SQLite.Linq" version="1.0.118.0" targetFramework="net48" />
|
||||
<package id="System.Diagnostics.DiagnosticSource" version="8.0.1" targetFramework="net48" />
|
||||
<package id="System.Formats.Asn1" version="8.0.1" targetFramework="net48" />
|
||||
<package id="System.IdentityModel.Tokens.Jwt" version="7.6.3" targetFramework="net48" />
|
||||
<package id="System.IdentityModel.Tokens.Jwt" version="8.0.1" targetFramework="net48" />
|
||||
<package id="System.IO" version="4.3.0" targetFramework="net48" />
|
||||
<package id="System.Memory" version="4.5.5" targetFramework="net48" />
|
||||
<package id="System.Net.Http" version="4.3.4" targetFramework="net48" />
|
||||
@@ -105,4 +105,5 @@
|
||||
<package id="WebActivator" version="1.5.1" targetFramework="net48" />
|
||||
<package id="WebActivatorEx" version="2.2.0" targetFramework="net48" />
|
||||
<package id="WebGrease" version="1.6.0" targetFramework="net48" />
|
||||
<package id="Yitter.IdGenerator" version="1.0.14" targetFramework="net48" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user