using MailKit.Search;
|
using Masuit.Tools;
|
using WIDESEA_Common;
|
using WIDESEA_Core;
|
using WIDESEA_Core.BaseRepository;
|
using WIDESEA_Core.BaseServices;
|
using WIDESEA_Core.Const;
|
using WIDESEA_Core.Helper;
|
using WIDESEA_IOrderRepository;
|
using WIDESEA_IOrderServices;
|
using WIDESEA_IServices;
|
using WIDESEA_IStorageTaskRepository;
|
using WIDESEA_IStorageTaskServices;
|
using WIDESEA_Model.Models;
|
using WIDESEA_Model.Models.Order;
|
using WIDESEA_OrderRepository;
|
|
namespace WIDESEA_OrderServices
|
{
|
public class Dt_InboundOrderService : ServiceBase<Dt_InboundOrder, IDt_InboundOrderRepository>, IDt_InboundOrderService
|
{
|
private readonly IUnitOfWorkManage _unitOfWorkManage;
|
private readonly ISys_ConfigService _configService;
|
|
public Dt_InboundOrderService(IDt_InboundOrderRepository BaseDal,
|
IUnitOfWorkManage unitOfWorkManage,
|
ISys_ConfigService configService) : base(BaseDal)
|
{
|
_unitOfWorkManage = unitOfWorkManage;
|
_configService = configService;
|
|
}
|
|
public WebResponseContent GetInboundOrderInfo(string OrderNo)
|
{
|
WebResponseContent content=new WebResponseContent();
|
try
|
{
|
var InboundOrder = BaseDal.QueryFirst(x => x.OrderNo == OrderNo);
|
if (InboundOrder == null)
|
{
|
return content.Error($"未找到该单号数据请人工确认");
|
}
|
return content.OK(data: InboundOrder);
|
}
|
catch (Exception ex)
|
{
|
return content.Error(ex.Message);
|
}
|
}
|
public WebResponseContent PrintOrder(int[] keys)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
List<Dt_InboundOrder> inboundOrders = new List<Dt_InboundOrder>();
|
foreach (var item in keys)
|
{
|
var InboundOrder = BaseDal.QueryFirst(x => x.Id == item);
|
if(InboundOrder != null)
|
{
|
inboundOrders.Add(InboundOrder);
|
}
|
}
|
PrintInbound(inboundOrders);
|
return content.OK("成功");
|
}
|
catch (Exception ex)
|
{
|
return content.Error(ex.Message);
|
}
|
}
|
|
public WebResponseContent PrintPalletCode(int num)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
List<string> PalletCodes = new List<string>();
|
for (int i = 0; i < num; i++)
|
{
|
PalletCodes.Add(GetOrderPintCode("PalletCodes"));
|
}
|
PrintPallet(PalletCodes);
|
return content.OK();
|
}
|
catch (Exception ex)
|
{
|
return content.Error(ex.Message);
|
}
|
}
|
public string GetOrderPintCode(string printCode)
|
{
|
string PrintCode = "";
|
var PrintSetting = SqlSugarHelper.DbWMS.Queryable<Dt_PrintSetting>().Where(x => x.PrintCode == printCode).ToList().FirstOrDefault();
|
|
if (PrintSetting.Spare1 == DateTime.Now.ToString("yyyyMMdd"))
|
{
|
PrintCode = PrintSetting.Spare1 + PrintSetting.PrintNo.ToString().PadLeft(PrintSetting.Spare2, '0');
|
PrintSetting.PrintNo = PrintSetting.PrintNo + 1;
|
}
|
else
|
{
|
PrintSetting.Spare1 = DateTime.Now.ToString("yyyyMMdd");
|
PrintSetting.PrintNo = 2;
|
PrintCode = PrintSetting.Spare1 + 1.ToString().PadLeft(PrintSetting.Spare2, '0');
|
}
|
SqlSugarHelper.DbWMS.Updateable(PrintSetting).ExecuteCommand();
|
return PrintCode;
|
}
|
public void PrintPallet(List<string> palletCodes)
|
{
|
var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var Base = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.PrintIPAddress)?.ConfigValue;
|
var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.PrintPalletCodes)?.ConfigValue;
|
if (Base == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("WMS IP 未配置");
|
}
|
var IpAddress = Base + ipAddress;
|
var result = HttpsClient.PostAsync(IpAddress, palletCodes.ToJsonString()).Result;
|
}
|
|
public void PrintInbound(List<Dt_InboundOrder> orders)
|
{
|
var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var Base = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.PrintIPAddress)?.ConfigValue;
|
var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.PrintInboundOrder)?.ConfigValue;
|
if (Base == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("WMS IP 未配置");
|
}
|
var IpAddress = Base + ipAddress;
|
var result = HttpsClient.PostAsync(IpAddress, orders.ToJsonString()).Result;
|
}
|
}
|
}
|