Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
ddc0b13813 | |||
05a66dc2d3 |
@ -103,6 +103,18 @@ namespace WCS.DAL.DbModels
|
||||
[SugarColumn(ColumnName = "Bind_shelf_code", IsNullable = true, ColumnDescription = "串联绑定后的大货架编码")]
|
||||
public string? BigShelfCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 每块板子的灯数量
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "light_count", IsNullable = true, ColumnDescription = "每块板子的灯数量")]
|
||||
public int LightCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 每块板子的灯数量
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "first_board_id", IsNullable = true, ColumnDescription = "左上角的板子id")]
|
||||
public int FirtstBoardId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 序号
|
||||
/// </summary>
|
||||
|
@ -260,7 +260,8 @@ namespace WCS.BLL
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logs.Write("【发送指令时发生异常】" + ex.Message, LogsType.Instructions);
|
||||
var clientIpHost = tcpClient.IP + ":" + tcpClient.Port;
|
||||
Logs.Write($"【发送指令时发生异常{clientIpHost}】" + ex.Message, LogsType.Instructions);
|
||||
//因异常断连时(网线已经被断了) 手动重连一次
|
||||
if (ex is NotConnectedException)
|
||||
{
|
||||
|
@ -7,6 +7,8 @@ using WCS.Model.ApiModel.StoreInfo;
|
||||
using WCS.BLL.DbModels;
|
||||
using WCS.Model.ApiModel.MatBaseInfo;
|
||||
using WCS.DAL.DbModels;
|
||||
using WCS.DAL.Db;
|
||||
using WCS.BLL.Config;
|
||||
|
||||
namespace WCS.WebApi.Controllers
|
||||
{
|
||||
@ -102,6 +104,125 @@ namespace WCS.WebApi.Controllers
|
||||
{
|
||||
return await _storeInfoService.getDisablePercent();
|
||||
}
|
||||
|
||||
|
||||
|
||||
[Route("genModuleStoreInfos")]
|
||||
[HttpPost(Name = "genModuleStoreInfos")]
|
||||
public async Task<ResponseBase> genModuleStoreInfos(RequestBase request)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (request.UserName != "aaa")
|
||||
{
|
||||
return new ResponseBase()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "用户名不对头!无法生成模组库位"
|
||||
};
|
||||
}
|
||||
//获取货架 此组后端管的货架
|
||||
var shelfInfos = DbHelp.db.Queryable<ShelfInfo>()
|
||||
.Where(t => t.GroupName == LocalFile.Config.GroupName)
|
||||
.OrderBy(t => t.BigShelfCode)
|
||||
.OrderBy(t => t.ShelfCode)
|
||||
.ToList();
|
||||
|
||||
var lastBindBigShelfCode = string.Empty;
|
||||
var lastColumnCount = 1;
|
||||
|
||||
List<ModuleInfo> moduleInfos = new List<ModuleInfo>();
|
||||
//生成模组
|
||||
foreach (var shelfInfo in shelfInfos)
|
||||
{
|
||||
var modulePreFix = shelfInfo.IsBind ? shelfInfo.BigShelfCode : shelfInfo.ShelfCode;
|
||||
//不绑定或者绑定换了面 重新从1开始计数
|
||||
if (shelfInfo.BigShelfCode != lastBindBigShelfCode)
|
||||
{
|
||||
lastColumnCount = 1;
|
||||
}
|
||||
lastBindBigShelfCode = shelfInfo.BigShelfCode;
|
||||
for (int rowIndex = 0; rowIndex < shelfInfo.Rowcounts; rowIndex++)
|
||||
{
|
||||
for (int columnIndex = 0; columnIndex < shelfInfo.Columncounts; columnIndex++)
|
||||
{
|
||||
var moduleCode = modulePreFix + "-R" + (rowIndex + 1).ToString() + "C" + (lastColumnCount + columnIndex).ToString();
|
||||
var moduleInfo = new ModuleInfo()
|
||||
{
|
||||
ModuleCode = moduleCode,
|
||||
ShelfTypeId = shelfInfo.ShelfTypeId,
|
||||
ShelfId = shelfInfo.Id,
|
||||
ShelfCode = shelfInfo.ShelfCode,
|
||||
BoardId = shelfInfo.FirtstBoardId++,
|
||||
LightCount = shelfInfo.LightCount,
|
||||
CleintIp = shelfInfo.ClientIp,
|
||||
GroupName = shelfInfo.GroupName,
|
||||
R = (rowIndex + 1).ToString(),
|
||||
C = (lastColumnCount + columnIndex).ToString(),
|
||||
Bigshelfcode = shelfInfo.BigShelfCode,
|
||||
IsEnable = true,
|
||||
CurrentMode = BLL.HardWare.Mode.待机模式,
|
||||
};
|
||||
moduleInfos.Add(moduleInfo);
|
||||
}
|
||||
}
|
||||
lastColumnCount = lastColumnCount + shelfInfo.Columncounts;
|
||||
}
|
||||
DbHelp.db.Insertable(moduleInfos).ExecuteCommand();
|
||||
//生成库位
|
||||
moduleInfos = DbHelp.db.Queryable<ModuleInfo>()
|
||||
.Where(t => t.GroupName == LocalFile.Config.GroupName)
|
||||
.OrderBy(t => t.Id)
|
||||
.ToList();
|
||||
List<StoreInfo> storeInfos = new List<StoreInfo>();
|
||||
|
||||
foreach (var moduleInfo in moduleInfos)
|
||||
{
|
||||
for (int wei = 0; wei < moduleInfo.LightCount; wei++)
|
||||
{
|
||||
var storeCode = moduleInfo.ModuleCode + "-" + (wei + 1).ToString();
|
||||
var stroreInfo = new StoreInfo()
|
||||
{
|
||||
StoreCode = storeCode,
|
||||
ShelfTypeId = moduleInfo.ShelfTypeId,
|
||||
ModuleId = moduleInfo.Id,
|
||||
ModuleCode = moduleInfo.ModuleCode,
|
||||
ShelfId = moduleInfo.ShelfId,
|
||||
ShelfCode = moduleInfo.ShelfCode,
|
||||
BoardId = moduleInfo.BoardId,
|
||||
LightNumber = wei + 1,
|
||||
Priority = 0,
|
||||
CurrentMatSn = string.Empty,
|
||||
CurrentVoltage = 0,
|
||||
StandardVoltage = 0,
|
||||
OffsetVoltage = 0,
|
||||
BigShelfCode = moduleInfo.Bigshelfcode,
|
||||
R = moduleInfo.R,
|
||||
C = moduleInfo.C,
|
||||
Wei = (wei + 1).ToString(),
|
||||
GroupName = moduleInfo.GroupName
|
||||
};
|
||||
storeInfos.Add(stroreInfo);
|
||||
|
||||
}
|
||||
}
|
||||
DbHelp.db.Insertable(storeInfos).ExecuteCommand();
|
||||
|
||||
return new ResponseBase()
|
||||
{
|
||||
Code = 200,
|
||||
Message = "生成库位成功"
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ResponseBase()
|
||||
{
|
||||
Code = 300,
|
||||
Message = ex.Message
|
||||
};
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user