成品库库位
This commit is contained in:
@ -305,7 +305,7 @@ namespace WCS.WebApi.Controllers
|
|||||||
{
|
{
|
||||||
//获取液晶的货架
|
//获取液晶的货架
|
||||||
var shelfInfos = DbHelp.db.Queryable<ShelfInfo>()
|
var shelfInfos = DbHelp.db.Queryable<ShelfInfo>()
|
||||||
.Where(t => t.ShelfTypeName.Contains("液晶"))
|
.Where(t => t.ShelfTypeName.Contains("液晶") && !t.ShelfCode.Contains("CP"))
|
||||||
.ToList();
|
.ToList();
|
||||||
var moduleInfos = new List<ModuleInfo>();
|
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>
|
||||||
/// 进入调试模式
|
/// 进入调试模式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -606,7 +700,7 @@ namespace WCS.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
var boardId = request.StartId;
|
var boardId = request.StartId;
|
||||||
for (;boardId <= 224;boardId++)
|
for (; boardId <= 224; boardId++)
|
||||||
{
|
{
|
||||||
var boardIdData = BitConverter.GetBytes(unchecked((short)boardId));
|
var boardIdData = BitConverter.GetBytes(unchecked((short)boardId));
|
||||||
// 检查是否需要交换字节
|
// 检查是否需要交换字节
|
||||||
@ -617,7 +711,7 @@ namespace WCS.WebApi.Controllers
|
|||||||
boardIdData[0] = boardIdData[1];
|
boardIdData[0] = boardIdData[1];
|
||||||
boardIdData[1] = temp;
|
boardIdData[1] = temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
//发送入库亮灯
|
//发送入库亮灯
|
||||||
byte[] data1 = { 0x08, 0x00, 0x00, 0x07, 0xFF, 0xA1, 0x01, 0x02, 0x02, 0x0A, 0x00, 0x00, 0x00 };
|
byte[] data1 = { 0x08, 0x00, 0x00, 0x07, 0xFF, 0xA1, 0x01, 0x02, 0x02, 0x0A, 0x00, 0x00, 0x00 };
|
||||||
data1[7] = boardIdData[0];
|
data1[7] = boardIdData[0];
|
||||||
|
Reference in New Issue
Block a user