库存模块增加审核、弃审、删除接口
This commit is contained in:
@@ -148,106 +148,149 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
|
||||
var domHead = dictionary.ToDocument2();
|
||||
|
||||
#region 弃用
|
||||
|
||||
if (cSubId == "AR")
|
||||
|
||||
|
||||
|
||||
//if (cSubId == "AR")
|
||||
//{
|
||||
// //var pub = "NoteManageAR.clsPub".GetComObject();
|
||||
|
||||
// //pub.main(m_Login);
|
||||
|
||||
// //var ar = "NoteManageAR.Voucher".GetComObject();
|
||||
|
||||
// //ar.Init(m_Login, pub.RepSys, pub.RepManager);
|
||||
|
||||
// //var da = new VoucherDataClass();
|
||||
|
||||
// //var apar = new APARHelper(da);
|
||||
|
||||
|
||||
|
||||
// //ar.m_bStartFlag = false;
|
||||
// //ar.bLastYearBill = false;
|
||||
// //ar.m_strCardNum = "RP02";
|
||||
// //ar.m_strVoucherType = "50";
|
||||
// //ar.m_strVoucherDirect = pub.strNoteDirect;
|
||||
|
||||
|
||||
// ////ar.bUpdateiAmount = true;
|
||||
// ////ar.NotExec = true;
|
||||
// ////ar.NotExec = true;
|
||||
// //ar.objPub = pub;
|
||||
|
||||
|
||||
|
||||
// //apar.SetValue(dictionary);
|
||||
|
||||
// //ar.m_strVoucherID = da.CVouchId;
|
||||
// //ar.m_VoucherHead = domHead;
|
||||
// //ar.OneVoucherData = da;
|
||||
|
||||
// //ar.bNeedBillClosed = true;
|
||||
|
||||
// //da.cVouchTypeName = "银行承兑汇票";
|
||||
// //da.cPayBillBank = "华夏银行股份有限公司深圳分行营业部";
|
||||
|
||||
// var msg = "";
|
||||
|
||||
// //logInfo.Debug($"da:{da.ToJson()}");
|
||||
|
||||
// //if (!ar.VoucherHeadCheck(da, true, ref msg))
|
||||
// //{
|
||||
// // throw new Exception(msg);
|
||||
// //}
|
||||
|
||||
// //msg = "";
|
||||
|
||||
// //if (!ar.NoteCheck(da, ref msg))
|
||||
// //{
|
||||
// // throw new Exception(msg);
|
||||
// //}
|
||||
// //msg = "";
|
||||
|
||||
// //if (!ar.NoteSave(da, ref msg))
|
||||
// //{
|
||||
// // throw new Exception(msg);
|
||||
// //}
|
||||
|
||||
// ////ar.re
|
||||
|
||||
|
||||
// ////var bo = "UFAPBO.clsApNote".GetComObject();
|
||||
// //var apPub = "NoteManageAR.PZ_Proc".GetComObject();
|
||||
|
||||
// //apPub.objPub = pub;
|
||||
|
||||
// //var aa=apPub.ProcSign("9A");
|
||||
|
||||
// //var bb = pub.cNoteCancelNo;
|
||||
|
||||
// //var m_conn = new Connection();
|
||||
|
||||
// //m_conn.Open(m_Login.UfDbName);
|
||||
|
||||
// //bo.Init(m_Login, m_conn);
|
||||
|
||||
// //var errorMessage = "";
|
||||
|
||||
// //var saveFlag = bo.Sign($"<condition type=\"1\" cLink=\"AR{da.CVouchId}\" cVouchType=\"{da.cVouchType}\" cVouchID=\"{da.CVouchId}\" />", ref errorMessage);
|
||||
|
||||
// //if (!saveFlag)
|
||||
// // throw new Exception(errorMessage);
|
||||
|
||||
// return new BaseResult<dynamic> { bSuccess = true, message = "保存成功", result = "保存成功" };
|
||||
//}
|
||||
#endregion
|
||||
|
||||
var ap = "UFAPBO.clsAccount_AP".GetComObject();
|
||||
|
||||
var bo = "UFAPBO.clsApNote".GetComObject();
|
||||
|
||||
bool initResult = ap.Init(m_Login, cSubId);
|
||||
|
||||
if (!initResult)
|
||||
{
|
||||
//var pub = "NoteManageAR.clsPub".GetComObject();
|
||||
logInfo.Debug($"1-----初始化参数失败,正在重新初始化");
|
||||
|
||||
//pub.main(m_Login);
|
||||
initResult = ap.Init(m_Login);
|
||||
|
||||
//var ar = "NoteManageAR.Voucher".GetComObject();
|
||||
|
||||
//ar.Init(m_Login, pub.RepSys, pub.RepManager);
|
||||
|
||||
//var da = new VoucherDataClass();
|
||||
|
||||
//var apar = new APARHelper(da);
|
||||
|
||||
|
||||
|
||||
//ar.m_bStartFlag = false;
|
||||
//ar.bLastYearBill = false;
|
||||
//ar.m_strCardNum = "RP02";
|
||||
//ar.m_strVoucherType = "50";
|
||||
//ar.m_strVoucherDirect = pub.strNoteDirect;
|
||||
|
||||
|
||||
////ar.bUpdateiAmount = true;
|
||||
////ar.NotExec = true;
|
||||
////ar.NotExec = true;
|
||||
//ar.objPub = pub;
|
||||
|
||||
|
||||
|
||||
//apar.SetValue(dictionary);
|
||||
|
||||
//ar.m_strVoucherID = da.CVouchId;
|
||||
//ar.m_VoucherHead = domHead;
|
||||
//ar.OneVoucherData = da;
|
||||
|
||||
//ar.bNeedBillClosed = true;
|
||||
|
||||
//da.cVouchTypeName = "银行承兑汇票";
|
||||
//da.cPayBillBank = "华夏银行股份有限公司深圳分行营业部";
|
||||
|
||||
var msg = "";
|
||||
|
||||
//logInfo.Debug($"da:{da.ToJson()}");
|
||||
|
||||
//if (!ar.VoucherHeadCheck(da, true, ref msg))
|
||||
//{
|
||||
// throw new Exception(msg);
|
||||
//}
|
||||
|
||||
//msg = "";
|
||||
|
||||
//if (!ar.NoteCheck(da, ref msg))
|
||||
//{
|
||||
// throw new Exception(msg);
|
||||
//}
|
||||
//msg = "";
|
||||
|
||||
//if (!ar.NoteSave(da, ref msg))
|
||||
//{
|
||||
// throw new Exception(msg);
|
||||
//}
|
||||
|
||||
////ar.re
|
||||
|
||||
|
||||
////var bo = "UFAPBO.clsApNote".GetComObject();
|
||||
//var apPub = "NoteManageAR.PZ_Proc".GetComObject();
|
||||
|
||||
//apPub.objPub = pub;
|
||||
|
||||
//var aa=apPub.ProcSign("9A");
|
||||
|
||||
//var bb = pub.cNoteCancelNo;
|
||||
|
||||
//var m_conn = new Connection();
|
||||
|
||||
//m_conn.Open(m_Login.UfDbName);
|
||||
|
||||
//bo.Init(m_Login, m_conn);
|
||||
|
||||
//var errorMessage = "";
|
||||
|
||||
//var saveFlag = bo.Sign($"<condition type=\"1\" cLink=\"AR{da.CVouchId}\" cVouchType=\"{da.cVouchType}\" cVouchID=\"{da.CVouchId}\" />", ref errorMessage);
|
||||
|
||||
//if (!saveFlag)
|
||||
// throw new Exception(errorMessage);
|
||||
|
||||
return new BaseResult<dynamic> { bSuccess = true, message = "保存成功", result = "保存成功" };
|
||||
if (!initResult)
|
||||
{
|
||||
logInfo.Debug($"2-----初始化参数失败");
|
||||
}
|
||||
}
|
||||
|
||||
var m_conn = new Connection();
|
||||
|
||||
m_conn.Open(m_Login.UfDbName);
|
||||
|
||||
var boResult = false;
|
||||
|
||||
//var ap= "UFAPBO.clsAccount_AP".GetComObject();
|
||||
if (initResult)
|
||||
{
|
||||
bool b = ap.InitSubOption2(cSubId);
|
||||
|
||||
//var bo = "UFAPBO.clsApNote".GetComObject();
|
||||
if (!b)
|
||||
{
|
||||
logInfo.Debug($"初始化参数2失败");
|
||||
}
|
||||
|
||||
logInfo.Debug($"调用初始化方法1");
|
||||
|
||||
boResult = bo.Init(m_Login, m_conn, ap);
|
||||
}
|
||||
else
|
||||
{
|
||||
logInfo.Debug($"调用初始化方法2");
|
||||
|
||||
boResult = bo.Init(m_Login, m_conn);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//var a=ap.Init(m_Login, cSubId);
|
||||
//logInfo.Debug($"ap.Init:{a}");
|
||||
|
||||
//var b=ap.InitSubOption2(cSubId);
|
||||
@@ -255,17 +298,15 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
//var c=ap.ARAPStart(cSubId);
|
||||
//logInfo.Debug($"ap.ARAPStart:{c}");
|
||||
|
||||
//var m_conn = new Connection();
|
||||
|
||||
//m_conn.Open(m_Login.UfDbName);
|
||||
|
||||
|
||||
//var d=bo.Init(m_Login);
|
||||
|
||||
//logInfo.Debug($"bo.Init:{d}");
|
||||
|
||||
//var errorMessage = "";
|
||||
var errorMessage = "";
|
||||
|
||||
//var saveFlag = bo.SaveVouch(domHead, ref errorMessage);
|
||||
var saveFlag = bo.SaveVouch(domHead, ref errorMessage);
|
||||
|
||||
//logInfo.Debug($"bo.SaveVouch:{errorMessage}");
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -12,6 +12,7 @@ using UFIDA.U8.Framework.Api.ControlObject.Entity;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Json;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.ST;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.U8M;
|
||||
using UFIDA.U8.Framework.Api.Models;
|
||||
using UFIDA.U8.Framework.Api.Unit;
|
||||
// ReSharper disable StringLiteralTypo
|
||||
// ReSharper disable IdentifierTypo
|
||||
@@ -55,7 +56,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:新增,对接账套:{cAccId},数据:{input.ToJson()}");
|
||||
|
||||
LoginParamter param;
|
||||
//LoginParamter param;
|
||||
|
||||
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin))
|
||||
{
|
||||
@@ -63,7 +64,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
|
||||
baseLogin = new BaseLogin();
|
||||
|
||||
param = await CommUnit.GetLoginParamter(cAccId);
|
||||
var param = await CommUnit.GetLoginParamter(cAccId);
|
||||
|
||||
if (param == null)
|
||||
{
|
||||
@@ -76,10 +77,10 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
|
||||
_cache.Set($"U8_{cAccId}", baseLogin);
|
||||
}
|
||||
else
|
||||
{
|
||||
param = await CommUnit.GetLoginParamter(cAccId);
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// param = await CommUnit.GetLoginParamter(cAccId);
|
||||
//}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
|
||||
|
||||
@@ -108,7 +109,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(exchKey) && input.TryGetValue(exchKey, out var value))
|
||||
{
|
||||
exch = CommonHelper.GetExch(dDate, param.cAccId, $"{value}", baseLogin.Connection);
|
||||
exch = CommonHelper.GetExch(dDate, cAccId, $"{value}", baseLogin.Connection);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -251,5 +252,711 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
|
||||
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="bCheck">是否控制可用量</param>
|
||||
/// <param name="bBeforCheckStock">是否检查可用量</param>
|
||||
/// <param name="bList">是否列表</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
[HttpGet]
|
||||
[Route("api/U8/ST/{cCardNum}/Verify/Code")]
|
||||
public async Task<BaseResult<string>> Verify(string cAccId, string cCardNum,string cCode, bool bCheck = true, bool bBeforCheckStock = true, bool bList = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{cCode}");
|
||||
|
||||
//LoginParamter param;
|
||||
|
||||
if (!_cache.TryGetValue($"U8_{cAccId}", out BaseLogin baseLogin) || baseLogin ==null)
|
||||
{
|
||||
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);
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// param = await CommUnit.GetLoginParamter(cAccId);
|
||||
//}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
|
||||
|
||||
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
|
||||
|
||||
var co = new USERPCO();
|
||||
|
||||
return await co.Verify(baseLogin, cCardNum, voucherInfo.VoucherType, cCode, bCheck, bBeforCheckStock, bList);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<string> { bSuccess = false, message = "审核失败", result = ex.Message };
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 审核单据(ID)
|
||||
/// </summary>
|
||||
/// <param name="cAccId">系统号</param>
|
||||
/// <param name="cCardNum">单据类型编码</param>
|
||||
/// <param name="voucherId">单据ID</param>
|
||||
/// <param name="bCheck">是否控制可用量</param>
|
||||
/// <param name="bBeforCheckStock">是否检查可用量</param>
|
||||
/// <param name="bList">是否列表</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
[HttpGet]
|
||||
[Route("api/U8/ST/{cCardNum}/Verify/ID")]
|
||||
public async Task<BaseResult<string>> Verify(string cAccId, string cCardNum, long voucherId, bool bCheck = true, bool bBeforCheckStock = true, bool bList = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},ID:{voucherId}");
|
||||
|
||||
//LoginParamter param;
|
||||
|
||||
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);
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// param = await CommUnit.GetLoginParamter(cAccId);
|
||||
//}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
|
||||
|
||||
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
|
||||
|
||||
var co = new USERPCO();
|
||||
|
||||
return await co.Verify(baseLogin, cCardNum, voucherInfo.VoucherType, voucherId, bCheck, bBeforCheckStock, bList);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<string> { bSuccess = false, message = "审核失败", result = ex.Message };
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 审核单据(批量)
|
||||
/// </summary>
|
||||
/// <param name="cAccId">系统号</param>
|
||||
/// <param name="cCardNum">单据类型编码</param>
|
||||
/// <param name="input">报文</param>
|
||||
/// <param name="bCheck">是否控制可用量</param>
|
||||
/// <param name="bBeforCheckStock">是否检查可用量</param>
|
||||
/// <param name="bList">是否列表</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/ST/{cCardNum}/Verify")]
|
||||
public async Task<BaseResult<List<BaseResult<string>>>> Verify(string cAccId, string cCardNum, [FromBody] STInput input, bool bCheck = true, bool bBeforCheckStock = true, bool bList = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
if (input == null)
|
||||
{
|
||||
throw new Exception("参数不能为空");
|
||||
}
|
||||
|
||||
var cCodes = input.cCode;
|
||||
|
||||
var voucherIds = input.voucherId;
|
||||
|
||||
if ((cCodes == null || cCodes.Count<=0) && (voucherIds == null || voucherIds.Count <= 0))
|
||||
{
|
||||
throw new Exception("没有数据需要审核");
|
||||
}
|
||||
|
||||
var strCode = "";
|
||||
var strId = "";
|
||||
|
||||
var apiType = cCodes == null || cCodes.Count <= 0 ? 1 : 0;
|
||||
|
||||
if (cCodes != null && cCodes.Count > 0)
|
||||
{
|
||||
strCode = string.Join(",", cCodes);
|
||||
}
|
||||
|
||||
if (voucherIds != null && voucherIds.Count > 0)
|
||||
{
|
||||
strId = string.Join(",", voucherIds);
|
||||
}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:审核,对接账套:{cAccId},单号:{strCode},ID:{strId}");
|
||||
|
||||
//LoginParamter param;
|
||||
|
||||
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);
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// param = await CommUnit.GetLoginParamter(cAccId);
|
||||
//}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
|
||||
|
||||
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
|
||||
|
||||
var co = new USERPCO();
|
||||
|
||||
var result = apiType == 0
|
||||
? await co.Verify(baseLogin, cCardNum, voucherInfo.VoucherType, cCodes, bCheck, bBeforCheckStock, bList)
|
||||
: await co.Verify(baseLogin, cCardNum, voucherInfo.VoucherType, voucherIds, bCheck, bBeforCheckStock, bList);
|
||||
|
||||
var res = new BaseResult<List<BaseResult<string>>>()
|
||||
{
|
||||
bSuccess = true,
|
||||
message = "审核完成",
|
||||
result = result
|
||||
};
|
||||
|
||||
return res;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<List<BaseResult<string>>> { bSuccess = false, message = ex.Message, result = null };
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 弃审单据(单号)
|
||||
/// </summary>
|
||||
/// <param name="cAccId">系统号</param>
|
||||
/// <param name="cCardNum">单据类型编码</param>
|
||||
/// <param name="cCode">单据编号</param>
|
||||
/// <param name="bCheck">是否控制可用量</param>
|
||||
/// <param name="bBeforCheckStock">是否检查可用量</param>
|
||||
/// <param name="bList">是否列表</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
[HttpGet]
|
||||
[Route("api/U8/ST/{cCardNum}/UnVerify/Code")]
|
||||
public async Task<BaseResult<string>> UnVerify(string cAccId, string cCardNum,string cCode, bool bCheck = true, bool bBeforCheckStock = true, bool bList = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{cCode}");
|
||||
|
||||
//LoginParamter param;
|
||||
|
||||
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);
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// param = await CommUnit.GetLoginParamter(cAccId);
|
||||
//}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
|
||||
|
||||
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
|
||||
|
||||
var co = new USERPCO();
|
||||
|
||||
return await co.UnVerify(baseLogin, cCardNum, voucherInfo.VoucherType, cCode, bCheck, bBeforCheckStock, bList);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<string> { bSuccess = false, message = "弃审失败", result = ex.Message };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 弃审单据(ID)
|
||||
/// </summary>
|
||||
/// <param name="cAccId">系统号</param>
|
||||
/// <param name="cCardNum">单据类型编码</param>
|
||||
/// <param name="voucherId">单据ID</param>
|
||||
/// <param name="bCheck">是否控制可用量</param>
|
||||
/// <param name="bBeforCheckStock">是否检查可用量</param>
|
||||
/// <param name="bList">是否列表</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
[HttpGet]
|
||||
[Route("api/U8/ST/{cCardNum}/UnVerify/ID")]
|
||||
public async Task<BaseResult<string>> UnVerify(string cAccId, string cCardNum, long voucherId, bool bCheck = true, bool bBeforCheckStock = true, bool bList = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},ID:{voucherId}");
|
||||
|
||||
//LoginParamter param;
|
||||
|
||||
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);
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// param = await CommUnit.GetLoginParamter(cAccId);
|
||||
//}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
|
||||
|
||||
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
|
||||
|
||||
var co = new USERPCO();
|
||||
|
||||
return await co.UnVerify(baseLogin, cCardNum, voucherInfo.VoucherType, voucherId, bCheck, bBeforCheckStock, bList);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<string> { bSuccess = false, message = "弃审失败", result = ex.Message };
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 弃审单据(批量)
|
||||
/// </summary>
|
||||
/// <param name="cAccId">系统号</param>
|
||||
/// <param name="cCardNum">单据类型编码</param>
|
||||
/// <param name="input">报文</param>
|
||||
/// <param name="bCheck">是否控制可用量</param>
|
||||
/// <param name="bBeforCheckStock">是否检查可用量</param>
|
||||
/// <param name="bList">是否列表</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/ST/{cCardNum}/UnVerify")]
|
||||
public async Task<BaseResult<List<BaseResult<string>>>> UnVerify(string cAccId, string cCardNum, [FromBody] STInput input, bool bCheck = true, bool bBeforCheckStock = true, bool bList = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
if (input == null)
|
||||
{
|
||||
throw new Exception("参数不能为空");
|
||||
}
|
||||
|
||||
var cCodes = input.cCode;
|
||||
|
||||
var voucherIds = input.voucherId;
|
||||
|
||||
if ((cCodes == null || cCodes.Count<=0) && (voucherIds == null || voucherIds.Count <= 0))
|
||||
{
|
||||
throw new Exception("没有数据需要弃审");
|
||||
}
|
||||
|
||||
var strCode = "";
|
||||
var strId = "";
|
||||
|
||||
var apiType = cCodes == null || cCodes.Count <= 0 ? 1 : 0;
|
||||
|
||||
if (cCodes != null && cCodes.Count > 0)
|
||||
{
|
||||
strCode = string.Join(",", cCodes);
|
||||
}
|
||||
|
||||
if (voucherIds != null && voucherIds.Count > 0)
|
||||
{
|
||||
strId = string.Join(",", voucherIds);
|
||||
}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:弃审,对接账套:{cAccId},单号:{strCode},ID:{strId}");
|
||||
|
||||
//LoginParamter param;
|
||||
|
||||
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);
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// param = await CommUnit.GetLoginParamter(cAccId);
|
||||
//}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
|
||||
|
||||
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
|
||||
|
||||
var co = new USERPCO();
|
||||
|
||||
var result = apiType == 0
|
||||
? await co.Verify(baseLogin, cCardNum, voucherInfo.VoucherType, cCodes, bCheck, bBeforCheckStock, bList)
|
||||
: await co.Verify(baseLogin, cCardNum, voucherInfo.VoucherType, voucherIds, bCheck, bBeforCheckStock, bList);
|
||||
|
||||
var res = new BaseResult<List<BaseResult<string>>>()
|
||||
{
|
||||
bSuccess = true,
|
||||
message = "弃审完成",
|
||||
result = result
|
||||
};
|
||||
|
||||
return res;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<List<BaseResult<string>>> { bSuccess = false, message = ex.Message, result = null };
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除单据(单号)
|
||||
/// </summary>
|
||||
/// <param name="cAccId">系统号</param>
|
||||
/// <param name="cCardNum">单据类型编码</param>
|
||||
/// <param name="cCode">单据编号</param>
|
||||
/// <param name="bCheck">是否控制可用量</param>
|
||||
/// <param name="bBeforCheckStock">是否检查可用量</param>
|
||||
/// <param name="bList">是否列表</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
[HttpGet]
|
||||
[Route("api/U8/ST/{cCardNum}/Delete/Code")]
|
||||
public async Task<BaseResult<string>> Delete(string cAccId, string cCardNum,string cCode, bool bCheck = true, bool bBeforCheckStock = true, bool bList = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{cCode}");
|
||||
|
||||
//LoginParamter param;
|
||||
|
||||
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);
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// param = await CommUnit.GetLoginParamter(cAccId);
|
||||
//}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
|
||||
|
||||
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
|
||||
|
||||
var co = new USERPCO();
|
||||
|
||||
return await co.Delete(baseLogin, cCardNum, voucherInfo.VoucherType, cCode, bCheck, bBeforCheckStock, bList);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<string> { bSuccess = false, message = "删除失败", result = ex.Message };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 删除单据(ID)
|
||||
/// </summary>
|
||||
/// <param name="cAccId">系统号</param>
|
||||
/// <param name="cCardNum">单据类型编码</param>
|
||||
/// <param name="voucherId">单据ID</param>
|
||||
/// <param name="bCheck">是否控制可用量</param>
|
||||
/// <param name="bBeforCheckStock">是否检查可用量</param>
|
||||
/// <param name="bList">是否列表</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
[HttpGet]
|
||||
[Route("api/U8/ST/{cCardNum}/Delete/ID")]
|
||||
public async Task<BaseResult<string>> Delete(string cAccId, string cCardNum, long voucherId, bool bCheck = true, bool bBeforCheckStock = true, bool bList = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},ID:{voucherId}");
|
||||
|
||||
//LoginParamter param;
|
||||
|
||||
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);
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// param = await CommUnit.GetLoginParamter(cAccId);
|
||||
//}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
|
||||
|
||||
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
|
||||
|
||||
var co = new USERPCO();
|
||||
|
||||
return await co.UnVerify(baseLogin, cCardNum, voucherInfo.VoucherType, voucherId, bCheck, bBeforCheckStock, bList);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<string> { bSuccess = false, message = "删除失败", result = ex.Message };
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除单据(批量)
|
||||
/// </summary>
|
||||
/// <param name="cAccId">系统号</param>
|
||||
/// <param name="cCardNum">单据类型编码</param>
|
||||
/// <param name="input">报文</param>
|
||||
/// <param name="bCheck">是否控制可用量</param>
|
||||
/// <param name="bBeforCheckStock">是否检查可用量</param>
|
||||
/// <param name="bList">是否列表</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("api/U8/ST/{cCardNum}/Delete")]
|
||||
public async Task<BaseResult<List<BaseResult<string>>>> Delete(string cAccId, string cCardNum, [FromBody] STInput input, bool bCheck = true, bool bBeforCheckStock = true, bool bList = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = CommUnit.GetDbClient();
|
||||
|
||||
var workId = SnowFlakeSingle.Instance.NextId();
|
||||
|
||||
if (input == null)
|
||||
{
|
||||
throw new Exception("参数不能为空");
|
||||
}
|
||||
|
||||
var cCodes = input.cCode;
|
||||
|
||||
var voucherIds = input.voucherId;
|
||||
|
||||
if ((cCodes == null || cCodes.Count<=0) && (voucherIds == null || voucherIds.Count <= 0))
|
||||
{
|
||||
throw new Exception("没有数据需要删除");
|
||||
}
|
||||
|
||||
var strCode = "";
|
||||
var strId = "";
|
||||
|
||||
var apiType = cCodes == null || cCodes.Count <= 0 ? 1 : 0;
|
||||
|
||||
if (cCodes != null && cCodes.Count > 0)
|
||||
{
|
||||
strCode = string.Join(",", cCodes);
|
||||
}
|
||||
|
||||
if (voucherIds != null && voucherIds.Count > 0)
|
||||
{
|
||||
strId = string.Join(",", voucherIds);
|
||||
}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----单据:{cCardNum},操作:删除,对接账套:{cAccId},单号:{strCode},ID:{strId}");
|
||||
|
||||
//LoginParamter param;
|
||||
|
||||
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);
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// param = await CommUnit.GetLoginParamter(cAccId);
|
||||
//}
|
||||
|
||||
logInfo.Debug($"作业Id:{workId}-----登录信息获取完成,缓存设置完成,开始加载单据配置信息");
|
||||
|
||||
var voucherInfo = await db.Queryable<SysU8VoucherDefine>().FirstAsync(s => s.CardNumber == cCardNum);
|
||||
|
||||
var co = new USERPCO();
|
||||
|
||||
var result = apiType == 0
|
||||
? await co.Delete(baseLogin, cCardNum, voucherInfo.VoucherType, cCodes, bCheck, bBeforCheckStock, bList)
|
||||
: await co.Delete(baseLogin, cCardNum, voucherInfo.VoucherType, voucherIds, bCheck, bBeforCheckStock, bList);
|
||||
|
||||
var res = new BaseResult<List<BaseResult<string>>>()
|
||||
{
|
||||
bSuccess = true,
|
||||
message = "删除完成",
|
||||
result = result
|
||||
};
|
||||
|
||||
return res;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<List<BaseResult<string>>> { bSuccess = false, message = ex.Message, result = null };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace UFIDA.U8.Framework.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// 批量审核弃审参数
|
||||
/// </summary>
|
||||
public class STInput
|
||||
{
|
||||
public List<string> cCode { get; set; }
|
||||
public List<long> voucherId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -421,6 +421,7 @@
|
||||
<DependentUpon>Global.asax</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Models\SFCInput.cs" />
|
||||
<Compile Include="Models\STInput.cs" />
|
||||
<Compile Include="Models\U8AccountConfigInput.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Unit\AssemblyDynamicLoader.cs" />
|
||||
|
||||
Reference in New Issue
Block a user