This commit is contained in:
敏健 邱
2024-12-03 21:49:47 +08:00
parent 4e4316c6dc
commit d35c684d08
25 changed files with 1657 additions and 113 deletions
@@ -0,0 +1,129 @@
using log4net;
using Microsoft.Extensions.Caching.Memory;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using UFIDA.U8.Framework.Api.ControlObject.AP;
using UFIDA.U8.Framework.Api.ControlObject.Models;
using UFIDA.U8.Framework.Api.ControlObject.ST;
using UFIDA.U8.Framework.Api.ControlObject.U8M;
using UFIDA.U8.Framework.Api.Unit;
namespace UFIDA.U8.Framework.Api.Controllers.U8
{
public class STController : 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>
/// <param name="bCheck"></param>
/// <param name="bBeforCheckStock"></param>
/// <param name="bIsRedVouch"></param>
/// <param name="sAddedState"></param>
/// <param name="bReMote"></param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/ST/0411/Insert")]
public async Task<BaseResult<string>> Insert(string cAccId, string cCardNum,[FromBody] Dictionary<string, object> input, bool bCheck = true,bool bBeforCheckStock=true,bool bIsRedVouch=false,string sAddedState="",bool bReMote=false)
{
try
{
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
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 bo = new USERPCO();
var res =await bo.Insert(baseLogin, input, "11", bCheck, bBeforCheckStock, bIsRedVouch, sAddedState,
bReMote);
return res;
}
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="input"></param>
/// <param name="bCheck"></param>
/// <param name="bBeforCheckStock"></param>
/// <param name="bIsRedVouch"></param>
/// <param name="sAddedState"></param>
/// <param name="bUpdateNeedEas"></param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/ST/0411/Update")]
public async Task<BaseResult<string>> Update(string cAccId, string cCardNum, [FromBody] Dictionary<string, object> input, bool bCheck = true, bool bBeforCheckStock = true, bool bIsRedVouch = false, string sAddedState = "", bool bUpdateNeedEas = true)
{
try
{
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
{
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 bo = new USERPCO();
var res = await bo.Update(baseLogin, input, "0412", "11", bCheck, bBeforCheckStock, bIsRedVouch, sAddedState,
bUpdateNeedEas);
return res;
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
return new BaseResult<string> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
}
}
}
}