Files
wcs/WCS.BLL/Manager/ShelfManager.cs
hehaibing-1996 00621bcd55 1.增加盟讯公司业务逻辑相关适配 前后端增加配置参数“ISMX”进行控制
2.前端websocket取消心跳机制(原有心跳和断线重连当服务端网线断开后需要等tcp保活期到期后才能发现重连),自己实现心跳和重连
3.前端关闭后任占用后台线程问题修复
2024-05-25 17:25:27 +08:00

69 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WCS.BLL.Config;
using WCS.BLL.DbModels;
using WCS.BLL.HardWare;
using WCS.DAL.Db;
using WCS.DAL.DbModels;
namespace WCS.BLL.Manager
{
public static class ShelfManager
{
public static List<IShelfBase> Shelves { get; set; } = new List<IShelfBase>();
static ShelfManager()
{
}
public static void InitShelves()
{
Logs.Write("【InitShelves】开始", LogsType.StartBoot);
var shelvesInDbQueryable = DbHelp.db.Queryable<ShelfInfo>();
if (LocalFile.Config.IsMx)
shelvesInDbQueryable = shelvesInDbQueryable.Where(t => t.GroupName == LocalFile.Config.GroupName);
var shelvesInDb = shelvesInDbQueryable.ToList();
foreach (var shelfInDb in shelvesInDb)
{
Shelves.Add(InitShelf(shelfInDb));
}
Logs.Write("【InitShelves】结束", LogsType.StartBoot);
}
public static IShelfBase InitShelf(ShelfInfo shelfInDb)
{
switch (shelfInDb.ShelfTypeId)
{
case 1:
return new SmartShelf(shelfInDb)
{
ShelfId = shelfInDb.Id,
ShelfCode = shelfInDb.ShelfCode,
GroupName = shelfInDb.GroupName,
};
case 2:
return new SmartShelf(shelfInDb)
{
ShelfId = shelfInDb.Id,
ShelfCode = shelfInDb.ShelfCode,
GroupName = shelfInDb.GroupName,
};
case 3:
return new SmartShelf(shelfInDb)
{
ShelfId = shelfInDb.Id,
ShelfCode = shelfInDb.ShelfCode,
GroupName = shelfInDb.GroupName,
};
default:
return null;
}
}
}
}