using SqlSugar;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Common.CommonEnum;
|
using WIDESEA_Common.WareHouseEnum;
|
using WIDESEA_Core;
|
using WIDESEA_Core.BaseServices;
|
using WIDESEA_Core.Helper;
|
using WIDESEA_IBasicRepository;
|
using WIDESEA_IBasicService;
|
using WIDESEA_Model.Models;
|
|
namespace WIDESEA_BasicService
|
{
|
public class PalletCodeInfoService : ServiceBase<Dt_PalletCodeInfo, IPalletCodeInfoRepository>, IPalletCodeInfoService
|
{
|
private readonly IWarehouseRepository _warehouseRepository;
|
private readonly IPalletTypeInfoRepository _palletTypeInfoRepository;
|
|
public PalletCodeInfoService(IPalletCodeInfoRepository BaseDal, IWarehouseRepository warehouseRepository, IPalletTypeInfoRepository palletTypeInfoRepository) : base(BaseDal)
|
{
|
_warehouseRepository = warehouseRepository;
|
_palletTypeInfoRepository = palletTypeInfoRepository;
|
}
|
|
static object locker = new object();
|
//public override WebResponseContent AddData(SaveModel saveModel)
|
//{
|
// int warehouseId = 0;
|
// int count = 0;
|
// if (saveModel.MainData.TryGetValue("warehouseId", out object? warehouse) && warehouse != null)
|
// {
|
// warehouseId = warehouse.ObjToInt();
|
// }
|
// if (saveModel.MainData.TryGetValue("count", out object? countValue) && countValue != null)
|
// {
|
// count = countValue.ObjToInt();
|
// }
|
// lock (locker)
|
// {
|
// List<Dt_PalletCodeInfo> palletCodeInfos = new List<Dt_PalletCodeInfo>();
|
// int serialNo = 0;
|
// DateTime now = DateTime.Now;
|
// Dt_PalletCodeInfo palletCodeInfo = BaseDal.QueryFirst(x => x.WarehouseId == warehouseId, new Dictionary<string, OrderByType> { { nameof(Dt_PalletCodeInfo.SerialNo), OrderByType.Desc } });
|
// if (palletCodeInfo != null && palletCodeInfo.CreateDate.Year == now.Year && palletCodeInfo.CreateDate.Month == now.Month && palletCodeInfo.CreateDate.Day == now.Day)
|
// {
|
// serialNo = palletCodeInfo.SerialNo + 1;
|
|
// }
|
// else
|
// {
|
// serialNo = 1;
|
// }
|
// Dt_Warehouse _Warehouse = _warehouseRepository.QueryFirst(x => x.WarehouseId == warehouseId);
|
// string uplen = "";
|
// uplen = _Warehouse.WarehouseCode switch
|
// {
|
// "HA57" => "B",
|
// "HA58" => "P",
|
// "HA152" => "G",
|
// "HA64" => "S",
|
// "阻焊仓" => "Z",
|
// "HA153" => "Y",
|
// "HA71" => "C",
|
// "HA60" => "F",
|
// _ => "N"
|
// };
|
// for (int i = 0; i < count; i++)
|
// {
|
|
// palletCodeInfos.Add(new Dt_PalletCodeInfo
|
// {
|
// SerialNo = serialNo,
|
// PalletCode = uplen + now.ToString("yyyyMMdd") + serialNo.ToString().PadLeft(3, '0'),
|
// PalletType = 1,
|
// PalletTypeId = 0,
|
// WarehouseId = warehouseId,
|
// Status = 0,
|
// Size = 0
|
// });
|
|
// serialNo = serialNo + 1;
|
// }
|
// return base.AddData(palletCodeInfos);
|
// }
|
// }
|
//}
|
|
|
public WebResponseContent AddData(int warehouseId, int count, int palletTypeId)
|
{
|
try
|
{
|
Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.Id == palletTypeId && x.WarehouseId == warehouseId);
|
if (palletTypeInfo == null)
|
{
|
return WebResponseContent.Instance.Error($"未找到托盘类型配置信息");
|
}
|
lock (locker)
|
{
|
List<Dt_PalletCodeInfo> palletCodeInfos = new List<Dt_PalletCodeInfo>();
|
int serialNo = 0;
|
DateTime now = DateTime.Now;
|
Dt_PalletCodeInfo palletCodeInfo = BaseDal.QueryFirst(x => x.WarehouseId == warehouseId && x.PalletTypeId==palletTypeId && x.CreateDate.Year == now.Year && x.CreateDate.Month == now.Month && x.CreateDate.Day == now.Day, new Dictionary<string, OrderByType> { { nameof(Dt_PalletCodeInfo.SerialNo), OrderByType.Desc } });
|
if (palletCodeInfo != null && palletCodeInfo.CreateDate.Year == now.Year && palletCodeInfo.CreateDate.Month == now.Month && palletCodeInfo.CreateDate.Day == now.Day)
|
{
|
serialNo = palletCodeInfo.SerialNo + 1;
|
}
|
else
|
{
|
serialNo = 1;
|
}
|
|
for (int i = 0; i < count; i++)
|
{
|
|
palletCodeInfos.Add(new Dt_PalletCodeInfo
|
{
|
SerialNo = serialNo,
|
PalletCode = palletTypeInfo.CodeStartStr + now.ToString("yyyyMMdd") + serialNo.ToString().PadLeft(3, '0'),
|
PalletType = 1,
|
PalletTypeId = palletTypeId,
|
WarehouseId = warehouseId,
|
Status = 0,
|
Size = 0
|
});
|
|
serialNo = serialNo + 1;
|
}
|
BaseDal.AddData(palletCodeInfos);
|
}
|
return WebResponseContent.Instance.OK();
|
}
|
catch (Exception ex)
|
{
|
return WebResponseContent.Instance.Error(ex.Message);
|
}
|
}
|
|
public WebResponseContent PrintStatusUp(string printCode)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
Dt_PalletCodeInfo palletCodeInfo = BaseDal.QueryFirst(x => x.PalletCode == printCode);
|
if (palletCodeInfo == null)
|
{
|
return content.Error("打印的托盘码不存在");
|
}
|
palletCodeInfo.Status = PrintStatusEnum.Printed.ObjToInt();
|
BaseDal.UpdateData(palletCodeInfo);
|
return content.OK();
|
}
|
catch (Exception ex)
|
{
|
content.Error("错误:" + ex.Message);
|
}
|
return content;
|
}
|
}
|
}
|