成品库库位

This commit is contained in:
hehaibing-1996
2025-04-16 20:39:01 +08:00
parent 78f476ec9c
commit cb02100e89

View File

@ -305,7 +305,7 @@ namespace WCS.WebApi.Controllers
{
//获取液晶的货架
var shelfInfos = DbHelp.db.Queryable<ShelfInfo>()
.Where(t => t.ShelfTypeName.Contains("液晶"))
.Where(t => t.ShelfTypeName.Contains("液晶") && !t.ShelfCode.Contains("CP"))
.ToList();
var moduleInfos = new List<ModuleInfo>();
@ -382,6 +382,100 @@ namespace WCS.WebApi.Controllers
}
[Route("generateCPModuleInfo")]
[HttpPost(Name = "generateCPModuleInfo")]
public async Task<ResponseBase> generateCPModuleInfo(RequestBase request)
{
try
{
//获取液晶的货架
var shelfInfos = DbHelp.db.Queryable<ShelfInfo>()
.Where(t => t.ShelfTypeName.Contains("液晶") && t.ShelfCode.Contains("CP"))
.ToList();
var moduleInfos = new List<ModuleInfo>();
int boardId = 1;
var lastClientCode = string.Empty;
foreach (var shelfInfo in shelfInfos)
{
if (lastClientCode != shelfInfo.ClientIp)
{
lastClientCode = shelfInfo.ClientIp;
boardId = 1;
}
//先拆分shelfCode
var input = shelfInfo.ShelfCode.Split("-")[1];
List<int> numbers = new List<int>();
for (int i = 0; i < input.Length; i += 2)
{
// 提取两位字符
string numberStr = input.Substring(i, 2);
// 转换为整数并添加到列表中
int number = int.Parse(numberStr);
numbers.Add(number);
}
// 将列表转换为数组(如果需要)
int[] shelfNumbers = numbers.ToArray();
foreach (var shelfNumber in shelfNumbers)
{
int floorNumber = 1;
int moduleNumber = 0;
while (floorNumber <= 4)
{
moduleNumber++;
if (moduleNumber > 7)
{
moduleNumber = 1;
floorNumber++;
}
if (floorNumber == 5)
{
continue;
}
var moduleCode = $"CP-{shelfNumber}-L{floorNumber}-{moduleNumber}";
var module = new ModuleInfo()
{
ModuleCode = moduleCode,
ShelfTypeId = 3,
ShelfId = shelfInfo.Id,
ShelfCode = shelfInfo.ShelfCode,
BoardId = boardId++,
LightCount = 1,
CleintIp = shelfInfo.ClientIp,
GroupName = shelfInfo.GroupName,
R = floorNumber.ToString(),
C = moduleNumber.ToString(),
IsEnable = true,
};
moduleInfos.Add(module);
}
}
}
DbHelp.db.Insertable(moduleInfos).ExecuteCommand();
return new ResponseBase<object>()
{
Code = 200,
Message = "生成成功!",
Data = null
};
}
catch (Exception ex)
{
return new ResponseBase<object>()
{
Code = 300,
Message = "生成失败" + ex.Message,
Data = null
};
}
}
/// <summary>
/// 进入调试模式
/// </summary>