1.移植盟讯的盘点下架功能
This commit is contained in:
@ -81,6 +81,12 @@ namespace WCS.BLL.DbModels
|
||||
[SugarColumn(ColumnName = "create_user", Length = 100, IsNullable = true, ColumnDescription = "操作员")]
|
||||
public string CreateUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否是盟讯公司盘点生成的出库单
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "is_MXPD", IsNullable = true, ColumnDescription = "是否是盟讯公司盘点生成的出库单")]
|
||||
public bool? IsMXPD { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 用于绑定DataGrid中是否选择
|
||||
/// </summary>
|
||||
|
@ -127,6 +127,12 @@ namespace WCS.BLL.DbModels
|
||||
[SugarColumn(ColumnName = "create_user", Length = 100, IsNullable = true, ColumnDescription = "操作员")]
|
||||
public string CreateUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否是盟讯公司盘点生成的出库单
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "is_MXPD", IsNullable = true, ColumnDescription = "是否是盟讯公司盘点生成的出库单")]
|
||||
public bool? IsMXPD { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 用于绑定中显示序号
|
||||
/// </summary>
|
||||
|
@ -1456,7 +1456,7 @@ namespace WCS.BLL.HardWare
|
||||
MatSupplier = inventoryDetail.MatSupplier,
|
||||
OrderNumber = orderMatDetails.OrderNumber,
|
||||
|
||||
Direction = DirectionEnum.出库,
|
||||
Direction = orderMatDetails.IsMXPD == false ? DirectionEnum.出库 : DirectionEnum.盘点下架,
|
||||
};
|
||||
//库位表 修改
|
||||
storeInfo.CurrentMatSn = string.Empty;
|
||||
@ -1509,6 +1509,7 @@ namespace WCS.BLL.HardWare
|
||||
var isExsistOut = CurrentOutStoreMatSNs.Any();
|
||||
|
||||
var tempOrder = CurrentOutOrder;
|
||||
var isMXPD = orderMatDetails.IsMXPD == true;
|
||||
//通知前台刷新
|
||||
Task.Run(() =>
|
||||
{
|
||||
@ -1519,7 +1520,7 @@ namespace WCS.BLL.HardWare
|
||||
{
|
||||
IsWarning = false,
|
||||
ClientIp = WebSocketIpAddress,
|
||||
WarningType = WarningTypeEnum.通知刷新出库
|
||||
WarningType = isMXPD ? WarningTypeEnum.通知刷新盟讯盘点 : WarningTypeEnum.通知刷新出库
|
||||
};
|
||||
WarningManager.SendWarning(messageMode);
|
||||
});
|
||||
|
@ -15,5 +15,7 @@ namespace WCS.BLL.Services.IService
|
||||
public Task<string> generateStockTakingNumber();
|
||||
|
||||
public Task<string> generateOutOrderNumber();
|
||||
|
||||
public Task<string> generateMXPDOutOrderNumber();
|
||||
}
|
||||
}
|
||||
|
@ -134,6 +134,15 @@ namespace WCS.BLL.Services.Service
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<string> generateMXPDOutOrderNumber()
|
||||
{
|
||||
lock (stockTakingFlag)
|
||||
{
|
||||
var serialNumber = GetSerialNumber(DocumentTypeEnum.出库单据);
|
||||
return "PDOUT" + DateTime.Now.ToString("yyyyMMdd") + serialNumber.ToString().PadLeft(4, '0');
|
||||
}
|
||||
}
|
||||
|
||||
public int GetSerialNumber(DocumentTypeEnum documentType)
|
||||
{
|
||||
var documentSerialNumber = DbHelp.db.Queryable<DocumentSerialNumber>()
|
||||
|
@ -131,6 +131,7 @@ namespace WCS.BLL.Services.Service
|
||||
{
|
||||
Code = 200,
|
||||
Message = $"出库单据同步成功!\r\n出库单据号为{request.OrderNumber}",
|
||||
Data = request.OrderNumber
|
||||
}; ;
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -231,7 +232,7 @@ namespace WCS.BLL.Services.Service
|
||||
MatQty = t.MatQty,
|
||||
MatSupplier = t.MatSupplier,
|
||||
MatCustomer = t.MatCustomer,
|
||||
CreateUser = request.UserName
|
||||
CreateUser = request.UserName,
|
||||
};
|
||||
await DbHelp.db.Insertable(orderMatDetail).ExecuteCommandAsync();
|
||||
}).ToList();
|
||||
@ -289,12 +290,14 @@ namespace WCS.BLL.Services.Service
|
||||
outOrder = new OutOrder()
|
||||
{
|
||||
OrderNumber = request.OrderNumber,
|
||||
OrderType = request.OrderType,
|
||||
OutOrderExeStatus = OutOrderExeStatus.开始发料,
|
||||
OrderSource = "WCS前端",
|
||||
SyncType = SyncTypeEnum.ByMatSn,
|
||||
ShelfTypeName = "智能货架",
|
||||
ShelfTypeId = 0,
|
||||
GroupName = LocalFile.Config.GroupName,
|
||||
IsMXPD = request.IsMXPD,
|
||||
};
|
||||
outOrder.Id = await DbHelp.db.Insertable(outOrder).ExecuteReturnIdentityAsync();
|
||||
outOrder = await DbHelp.db.Queryable<OutOrder>().Where(t => t.OrderNumber == request.OrderNumber)
|
||||
@ -327,7 +330,8 @@ namespace WCS.BLL.Services.Service
|
||||
MatQty = item.MatQty,
|
||||
MatSupplier = item.MatSupplier,
|
||||
MatCustomer = item.MatCustomer,
|
||||
CreateUser = request.UserName
|
||||
CreateUser = request.UserName,
|
||||
IsMXPD = request.IsMXPD,
|
||||
};
|
||||
await DbHelp.db.Insertable(orderMatDetail).ExecuteCommandAsync();
|
||||
}
|
||||
@ -362,7 +366,8 @@ namespace WCS.BLL.Services.Service
|
||||
MatQty = item.MatQty,
|
||||
MatSupplier = item.MatSupplier,
|
||||
MatCustomer = item.MatCustomer,
|
||||
CreateUser = request.UserName
|
||||
CreateUser = request.UserName,
|
||||
IsMXPD = request.IsMXPD,
|
||||
};
|
||||
await DbHelp.db.Insertable(orderMatDetail).ExecuteCommandAsync();
|
||||
}
|
||||
@ -396,7 +401,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 200,
|
||||
Message = $"Success",
|
||||
Message = outOrder.OrderNumber,
|
||||
Data = request.SnList
|
||||
};
|
||||
|
||||
@ -466,7 +471,10 @@ namespace WCS.BLL.Services.Service
|
||||
};
|
||||
}
|
||||
//直接查询
|
||||
var recordsQueryable = DbHelp.db.Queryable<OutOrder>().Where(t => request.OrderExeStatus.Contains(t.OutOrderExeStatus));
|
||||
var recordsQueryable = DbHelp.db.Queryable<OutOrder>()
|
||||
.Where(t => request.OrderExeStatus.Contains(t.OutOrderExeStatus))
|
||||
.WhereIF(request.IsMXPD != null, t => t.IsMXPD == request.IsMXPD)
|
||||
.WhereIF(LocalFile.Config.IsMx, t => t.CreateTime > DateTime.Now.AddDays(-3));
|
||||
|
||||
var totalCount = await recordsQueryable.CountAsync();
|
||||
var records = await recordsQueryable
|
||||
@ -693,7 +701,7 @@ namespace WCS.BLL.Services.Service
|
||||
var matCode = outOrderDetailCount.First().bb.Key;
|
||||
outOrderMatDetails = outOrderMatDetails.Where(t => t.MatCode == matCode)
|
||||
.ToList();
|
||||
Logs.Write($"出库单{order.OrderNumber},本次亮灯物料{matCode}!",LogsType.Outstore);
|
||||
Logs.Write($"出库单{order.OrderNumber},本次亮灯物料{matCode}!", LogsType.Outstore);
|
||||
|
||||
//分批次亮灯再计算一次出哪些货架 以免亮大灯不亮小灯
|
||||
shelfIds = outOrderMatDetails.Select(t => t.StoreInfo.ShelfId)
|
||||
@ -843,7 +851,7 @@ namespace WCS.BLL.Services.Service
|
||||
Dictionary<string, List<int>> dict = new Dictionary<string, List<int>>();
|
||||
foreach (OutOrderMatDetail oomd in outOrderMatDetails)
|
||||
{
|
||||
List<ModuleInfo> mi= DbHelp.db.Queryable<ModuleInfo>().Where(it => it.ModuleCode == oomd.StoreCode).ToList();
|
||||
List<ModuleInfo> mi = DbHelp.db.Queryable<ModuleInfo>().Where(it => it.ModuleCode == oomd.StoreCode).ToList();
|
||||
if (mi.Count != 0)
|
||||
{
|
||||
if (!StoreCode.Contains(oomd.StoreCode))
|
||||
@ -875,7 +883,7 @@ namespace WCS.BLL.Services.Service
|
||||
{
|
||||
string sendIP = v.Key;
|
||||
TCPClient tCPClient = TCPClientManager.GetTCPClientByIPHost(sendIP);
|
||||
byte[] lightOn = Helper.OutstoreLight(v.Value, LightColor,1);
|
||||
byte[] lightOn = Helper.OutstoreLight(v.Value, LightColor, 1);
|
||||
tCPClient.Send(lightOn);
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
@ -895,12 +903,12 @@ namespace WCS.BLL.Services.Service
|
||||
foreach (string shelfcode in WarnLightShelfCode)
|
||||
{
|
||||
List<ShelfInfo> si = DbHelp.db.Queryable<ShelfInfo>().Where(it => it.ShelfCode == shelfcode).ToList();
|
||||
if (si.Count != 0)
|
||||
if (si.Count != 0)
|
||||
{
|
||||
for (int i = 0; i < si.Count; i++)
|
||||
{
|
||||
TCPClient tCPClient = TCPClientManager.GetTCPClientByIPHost(si[i].ClientIp);
|
||||
byte[] warnlightOn = Helper.OutstoreWarnLight(si[i].LightId,LightColor,1,0);
|
||||
byte[] warnlightOn = Helper.OutstoreWarnLight(si[i].LightId, LightColor, 1, 0);
|
||||
tCPClient.Send(warnlightOn);
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
@ -1199,7 +1207,7 @@ namespace WCS.BLL.Services.Service
|
||||
}
|
||||
catch (Exception ee)
|
||||
{
|
||||
Logs.Write("查询出库单据:"+request.OrderNumber+"对应库位灯颜色失败,"+ ee.Message);
|
||||
Logs.Write("查询出库单据:" + request.OrderNumber + "对应库位灯颜色失败," + ee.Message);
|
||||
}
|
||||
Dictionary<string, List<int>> dict = new Dictionary<string, List<int>>();
|
||||
foreach (OutOrderMatDetail oomd in outOrderMatDetails)
|
||||
@ -1236,7 +1244,7 @@ namespace WCS.BLL.Services.Service
|
||||
{
|
||||
string sendIP = v.Key;
|
||||
TCPClient tCPClient = TCPClientManager.GetTCPClientByIPHost(sendIP);
|
||||
byte[] lightOn = Helper.OutstoreLight(v.Value, LightColor,0);
|
||||
byte[] lightOn = Helper.OutstoreLight(v.Value, LightColor, 0);
|
||||
tCPClient.Send(lightOn);
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
|
Reference in New Issue
Block a user