first commit

This commit is contained in:
2026-09-02 16:31:50 +08:00
commit a461727193
911 changed files with 692450 additions and 0 deletions
@@ -0,0 +1,7 @@
namespace JSMachine.WMS.RPC.IBSRPC.Dto.In.BusinessParam
{
public class BusinessParamBase
{
}
}
@@ -0,0 +1,38 @@
namespace JSMachine.WMS.RPC.IBSRPC.Dto.In.BusinessParam
{
/// <summary>
/// 原纸库存信息查询参数
/// </summary>
public class PaperInfoQueryParam : BusinessParamBase
{
/// <summary>
/// 纸质编码
/// </summary>
public string Paper { get; set; }
/// <summary>
/// 门幅
/// </summary>
public int PaperWidth { get; set; }
/// <summary>
/// 系统推荐机台
/// </summary>
public int MachineNum { get; set; }
/// <summary>
/// 需求重量
/// </summary>
public double Weight { get; set; }
/// <summary>
/// 原纸卷标
/// </summary>
public string PaperLabel { get; set; }
/// <summary>
/// 米长
/// </summary>
public decimal Meters { get; set; }
}
}
@@ -0,0 +1,31 @@
using NPOI.SS.Formula.Functions;
namespace JSMachine.WMS.RPC.IBSRPC.Dto.Out.BusinessResult
{
/// <summary>
/// 基础IbsApiResult
/// </summary>
public class IbsApiResult<T>
{
/// <summary>
/// Success
/// </summary>
public bool Success { get; set; }
/// <summary>
/// Message
/// </summary>
public string Message { get; set; }
/// <summary>
/// Exception
/// </summary>
public string Exception { get; set; }
/// <summary>
/// Data
/// </summary>
public T Data { get; set; }
}
}
@@ -0,0 +1,19 @@
namespace JSMachine.WMS.RPC.IBSRPC.Dto.Out.BusinessResult
{
/// <summary>
/// IBS post结果返回
/// </summary>
public class IbsResultDto
{
/// <summary>
/// 返回 true/false 成功或者失败
/// </summary>
public virtual bool State { get; set; }
/// <summary>
/// 成功/失败的内容,可以用在tip显示
/// </summary>
public virtual string Messages { get; set; }
}
}
@@ -0,0 +1,62 @@
using NPOI.SS.Formula.Functions;
namespace JSMachine.WMS.RPC.IBSRPC.Dto.Out.BusinessResult
{
/// <summary>
/// 原纸基础信息
/// </summary>
public class PaperBaseInfoDto
{
/// <summary>
/// 原纸卷标
/// </summary>
public virtual string PaperLabel { get; set; }
/// <summary>
/// 原纸编码
/// </summary>
public virtual string PaperCode { get; set; }
/// <summary>
/// 供应商
/// </summary>
public virtual string Phonetic { get; set; }
/// <summary>
/// 原纸材质
/// </summary>
public virtual string Name { get; set; }
/// <summary>
/// 米长
/// </summary>
public virtual decimal Meters { get; set; }
/// <summary>
/// 克重
/// </summary>
public virtual int? PaperUnitWeight { get; set; }
/// <summary>
/// 幅宽
/// </summary>
public virtual int PaperWidth { get; set; }
/// <summary>
/// 重量
/// </summary>
public virtual int InWeight { get; set; }
/// <summary>
/// 重量
/// </summary>
public virtual Guid ID { get; set; }
///<summary>
/// 是否含税
///</summary>
public virtual int IsTax { get; set; }
}
}
@@ -0,0 +1,29 @@
using JSMachine.WMS.RPC.IBSRPC.Dto.In.BusinessParam;
using JSMachine.WMS.RPC.IBSRPC.Dto.Out.BusinessResult;
namespace JSMachine.WMS.RPC.IBSRPC.IService
{
public interface IPaperStockOperator
{
/// <summary>
/// 获取原纸信息
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
Task<PaperBaseInfoDto> QueryByPaperLabel(PaperInfoQueryParam param);
/// <summary>
/// 原纸出库
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
Task<IbsResultDto> PaperStockOut(PaperInfoQueryParam param);
/// <summary>
/// 残卷入库
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
Task<IbsResultDto> RePaperStockIn(PaperInfoQueryParam param);
}
}
@@ -0,0 +1,113 @@
using JSMachine.WMS.Common;
using JSMachine.WMS.Infrastructure.Helper;
using JSMachine.WMS.RPC.IBSRPC.Dto.In.BusinessParam;
using JSMachine.WMS.RPC.IBSRPC.Dto.Out.BusinessResult;
using JSMachine.WMS.RPC.IBSRPC.IService;
using Newtonsoft.Json;
namespace JSMachine.WMS.RPC.IBSRPC.Service
{
/// <summary>
/// IBS接口
/// </summary>
public class PaperStockOperator: IPaperStockOperator
{
private static readonly string IbsUrl = Global.AppSettings.ErpConfig.ErpUrl;
private static readonly string QueryByPaperLabelUrl = Global.AppSettings.ErpConfig.QueryByPaperLabelUrl;
private static readonly string PaperStockOutUrl = Global.AppSettings.ErpConfig.PaperStockOutUrl;
private static readonly string RePaperStockInUrl = Global.AppSettings.ErpConfig.RePaperStockInUrl;
private static readonly Dictionary<string, string> header = new Dictionary<string, string>
{
{ "AppId", Global.AppSettings.ErpConfig.AppId },
{ "AppKey", Global.AppSettings.ErpConfig.AppKey }
};
/// <summary>
/// 获取原纸信息
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
public async Task<PaperBaseInfoDto> QueryByPaperLabel(PaperInfoQueryParam param)
{
IbsApiResult<PaperBaseInfoDto> ibsResult = new();
try
{
var url = IbsUrl + QueryByPaperLabelUrl + param.PaperLabel;
var resStr = HttpRequestHelper.Get(url, header);
if (resStr == null)
{
LogHelper.Error($"IBS原纸信息,按原纸卷标查询(GetPaperMessage)出错");
return null;
}
//ibsResult = JsonConvert.DeserializeObject<IbsApiResult<PaperBaseInfoDto>>(resStr);
}
catch (Exception ex)
{
LogHelper.Error($"IBS原纸信息,按原纸卷标查询(GetPaperMessage)出错: {ex.Message} \n {ex.StackTrace}");
}
return ibsResult?.Data;
}
/// <summary>
/// 原纸出库
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
public async Task<IbsResultDto> PaperStockOut(PaperInfoQueryParam param)
{
var ibsResult = new IbsResultDto();
try
{
var url = IbsUrl + PaperStockOutUrl;
var parameters = new Dictionary<string, string>
{
{ "PaperLabel", param.PaperLabel }
};
var resStr = HttpRequestHelper.Post(url, parameters, header);
if (resStr == null)
{
LogHelper.Error($"IBS原纸出库(PaperStockOut)失败");
return null;
}
//ibsResult = JsonConvert.DeserializeObject<IbsResultDto>(resStr);
}
catch (Exception ex)
{
LogHelper.Error($"IBS原纸出库(PaperStockOut)失败: {ex.Message} \n {ex.StackTrace}");
}
return ibsResult ?? new IbsResultDto();
}
/// <summary>
/// 残卷入库
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
public async Task<IbsResultDto> RePaperStockIn(PaperInfoQueryParam param)
{
var ibsResult = new IbsResultDto();
try
{
var url = IbsUrl + RePaperStockInUrl;
var parameters = new Dictionary<string, string>
{
{ "PaperLabel", param.PaperLabel },
{ "Weight", param.Weight.ToString() },
{ "Meters", param.Meters.ToString() }
};
var resStr = HttpRequestHelper.Post(url, parameters, header);
if (resStr == null)
{
LogHelper.Error($"IBS残卷回库(RePaperStockIn)失败");
return null;
}
//ibsResult = JsonConvert.DeserializeObject<IbsResultDto>(resStr);
}
catch (Exception ex)
{
LogHelper.Error($"IBS残卷回库(RePaperStockIn)失败: {ex.Message} \n {ex.StackTrace}");
}
return ibsResult ?? new IbsResultDto();
}
}
}