采购接口功能全部完成

This commit is contained in:
qmj
2025-04-24 01:49:44 +08:00
parent cb3269ae8b
commit 46c20e2895
32 changed files with 3538 additions and 291 deletions
@@ -2,18 +2,20 @@
using Microsoft.Extensions.Caching.Memory;
using System;
using System.Collections.Generic;
using System.Diagnostics.SymbolStore;
using System.Threading.Tasks;
using System.Web.Http;
using UFIDA.U8.Framework.Api.ControlObject.AP;
using UFIDA.U8.Framework.Api.ControlObject.Entity;
using UFIDA.U8.Framework.Api.ControlObject.U8M;
using UFIDA.U8.Framework.Api.Models;
using UFIDA.U8.Framework.Api.Unit;
// ReSharper disable InconsistentNaming
namespace UFIDA.U8.Framework.Api.Controllers.U8
{
/// <summary>
/// 应收应付
/// 应收应付管理
/// </summary>
public class APController : ApiController
{
@@ -27,14 +29,16 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// <summary>
/// 应收应付单据保存接口
/// </summary>
/// <param name="cAccId"></param>
/// <param name="cCardNum"></param>
/// <param name="input"></param>
/// <param name="cAccId">系统号</param>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="cSubId">模块号</param>
/// <param name="input">报文</param>
/// <param name="busDate">业务日期</param>
/// <param name="bNeedBillClosed"></param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/AP/{cCardNum}/Save")]
[Route("api/U8/AR/{cCardNum}/Save")]
public async Task<BaseResult<dynamic>> Save(string cAccId, string cCardNum, [FromBody] Dictionary<string, object> input)
[Route("api/U8/{cSubId}/{cCardNum}/Save")]
public async Task<BaseResult<string>> Save(string cAccId, string cCardNum, string cSubId, [FromBody] Dictionary<string, object> input, string busDate="", bool bNeedBillClosed = false)
{
try
{
@@ -42,7 +46,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
{
case "AP03":
case "AR03":
return await ApNoteSave(cAccId, cCardNum, input);
return await ApNote_Save(cAccId, cSubId, input,busDate, bNeedBillClosed);
case "AP48":
case "AP49":
case "AR48":
@@ -57,7 +61,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 = "保存失败", result = ex.Message };
}
}
@@ -72,7 +76,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[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)
public async Task<BaseResult<string>> CloseBillSave(string cAccId, string cCardNum, [FromBody] Dictionary<string, object> input)
{
try
{
@@ -121,7 +125,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 = "保存失败", result = ex.Message };
}
}
@@ -135,7 +139,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/AR/AP48/Save")]
[Route("api/U8/AR/AP49/Save")]
public async Task<BaseResult<dynamic>> AP48Save(string cAccId, [FromBody] Dictionary<string, object> input)
public async Task<BaseResult<string>> AP48Save(string cAccId, [FromBody] Dictionary<string, object> input)
{
return await CloseBillSave(cAccId, "AP48", input);
}
@@ -149,7 +153,7 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
[HttpPost]
[Route("api/U8/AP/AP49/Save")]
[Route("api/U8/AP/AP49/Save")]
public async Task<BaseResult<dynamic>> AP49Save(string cAccId, [FromBody] Dictionary<string, object> input)
public async Task<BaseResult<string>> AP49Save(string cAccId, [FromBody] Dictionary<string, object> input)
{
return await CloseBillSave(cAccId, "AP49", input);
}
@@ -158,30 +162,19 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
/// 票据保存
/// </summary>
/// <param name="cAccId">系统号</param>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="cSubId">模块号</param>
/// <param name="busDate">业务日期</param>
/// <param name="input">报文数据</param>
/// <param name="bNeedBillClosed"></param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/AP/{cCardNum}/ApNoteSave")]
[Route("api/U8/AR/{cCardNum}/ApNoteSave")]
public async Task<BaseResult<dynamic>> ApNoteSave(string cAccId, string cCardNum, [FromBody] Dictionary<string, object> input)
[Route("api/U8/{cSubId}/RP03/NoteSave")]
public async Task<BaseResult<string>> ApNote_Save(string cAccId, string cSubId, [FromBody] Dictionary<string, object> input, string busDate="",bool bNeedBillClosed=false)
{
try
{
var subId = "";
if (cCardNum == "AR03")
{
subId = "AR";
}
if (cCardNum == "AP03")
{
subId = "AP";
}
if (!_cache.TryGetValue($"U8AP_{cAccId}_{subId}", out BaseLogin baseLogin))
if (!_cache.TryGetValue($"U8AP_{cAccId}", out BaseLogin baseLogin))
{
baseLogin = new BaseLogin();
@@ -192,60 +185,44 @@ namespace UFIDA.U8.Framework.Api.Controllers.U8
throw new Exception("未能加载指定系统号的登录信息");
}
param.pSubId = subId;
var curDate = Convert.ToDateTime(string.IsNullOrWhiteSpace(busDate) ? $"{DateTime.Today:yyyy-MM-dd}" : busDate);
param.pDate = $"{curDate:yyyy-MM-dd}";
param.pYearId = $"{curDate.Year}";
baseLogin.Init(param, false);
_cache.Set($"U8AP_{cAccId}_{subId}", baseLogin);
_cache.Set($"U8AP_{cAccId}", baseLogin);
}
if (string.IsNullOrWhiteSpace(subId))
throw new Exception("单据标识不正确");
//if (string.IsNullOrWhiteSpace(cSubId))
// throw new Exception("单据标识不正确");
var bo = new UFAPBO();
if (cSubId == "AP")
{
var bo = new NoteManageAP();
var res = bo.ApNoteSave(baseLogin, input, subId);
var res =await bo.NoteSave(baseLogin, input, bNeedBillClosed);
return res;
return res;
}
else
{
var bo = new NoteManageAR();
var res = await bo.NoteSave(baseLogin, input, bNeedBillClosed);
return res;
}
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
return new BaseResult<dynamic> { bSuccess = false, message = ex.Message, result = ex.StackTrace };
return new BaseResult<string> { bSuccess = false, message ="保存失败", result = ex.Message };
}
}
/// <summary>
/// 票据保存
/// </summary>
/// <param name="cAccId"></param>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/AP/AP03/Save")]
public async Task<BaseResult<dynamic>> AP03Save(string cAccId, [FromBody] Dictionary<string, object> input)
{
return await ApNoteSave(cAccId, "AP03", input);
}
/// <summary>
/// 票据保存
/// </summary>
/// <param name="cAccId"></param>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[Route("api/U8/AR/AR03/Save")]
public async Task<BaseResult<dynamic>> AR03Save(string cAccId, [FromBody] Dictionary<string, object> input)
{
return await ApNoteSave(cAccId, "AR03", input);
}
}
}