|
|
|
|
@ -41,80 +41,80 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
//createRemoveThread.Name = "CreateRemoveLogic";
|
|
|
|
|
//createRemoveThread.Start();
|
|
|
|
|
|
|
|
|
|
//二楼、五楼人工指定库位成品出库任务
|
|
|
|
|
var CreateProductTaskByLocationCodeThread = new Thread(CreateProductTaskByLocationCodeLogic);
|
|
|
|
|
CreateProductTaskByLocationCodeThread.IsBackground = true;
|
|
|
|
|
CreateProductTaskByLocationCodeThread.Name = "CreateFiveProductTaskLogic";
|
|
|
|
|
CreateProductTaskByLocationCodeThread.Start();
|
|
|
|
|
////二楼、五楼人工指定库位成品出库任务
|
|
|
|
|
//var CreateProductTaskByLocationCodeThread = new Thread(CreateProductTaskByLocationCodeLogic);
|
|
|
|
|
//CreateProductTaskByLocationCodeThread.IsBackground = true;
|
|
|
|
|
//CreateProductTaskByLocationCodeThread.Name = "CreateFiveProductTaskLogic";
|
|
|
|
|
//CreateProductTaskByLocationCodeThread.Start();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//创建退库任务
|
|
|
|
|
var stockReturnThread = new Thread(StockReturnLogic);
|
|
|
|
|
stockReturnThread.IsBackground = true;
|
|
|
|
|
stockReturnThread.Name = "StockReturnLogic";
|
|
|
|
|
stockReturnThread.Start();
|
|
|
|
|
////创建退库任务
|
|
|
|
|
//var stockReturnThread = new Thread(StockReturnLogic);
|
|
|
|
|
//stockReturnThread.IsBackground = true;
|
|
|
|
|
//stockReturnThread.Name = "StockReturnLogic";
|
|
|
|
|
//stockReturnThread.Start();
|
|
|
|
|
|
|
|
|
|
// PDA移库
|
|
|
|
|
var moveThread = new Thread(MoveThreadLogic);
|
|
|
|
|
moveThread.IsBackground = true;
|
|
|
|
|
moveThread.Name = "MoveThreadLogic";
|
|
|
|
|
moveThread.Start();
|
|
|
|
|
//// PDA移库
|
|
|
|
|
//var moveThread = new Thread(MoveThreadLogic);
|
|
|
|
|
//moveThread.IsBackground = true;
|
|
|
|
|
//moveThread.Name = "MoveThreadLogic";
|
|
|
|
|
//moveThread.Start();
|
|
|
|
|
|
|
|
|
|
// 叫空托盘 3-2楼
|
|
|
|
|
var createEmtpyThread = new Thread(CreateEmptyLogic);
|
|
|
|
|
createEmtpyThread.IsBackground = true;
|
|
|
|
|
createEmtpyThread.Name = "CreateEmptyLoic";
|
|
|
|
|
createEmtpyThread.Start();
|
|
|
|
|
//背负式Agv返库任务
|
|
|
|
|
var createBearAgvReturnThread = new Thread(CreateBearAgvReturnLogic);
|
|
|
|
|
createBearAgvReturnThread.IsBackground = true;
|
|
|
|
|
createBearAgvReturnThread.Name = "CreateBearAgvReturnLogic";
|
|
|
|
|
createBearAgvReturnThread.Start();
|
|
|
|
|
//五楼半成品入库任务
|
|
|
|
|
var createFiveProductInTaskThread = new Thread(CreateFiveProductInTaskLogic);
|
|
|
|
|
createFiveProductInTaskThread.IsBackground = true;
|
|
|
|
|
createFiveProductInTaskThread.Name = "CreateFiveProductInTaskLogic";
|
|
|
|
|
createFiveProductInTaskThread.Start();
|
|
|
|
|
//五楼成品出库任务
|
|
|
|
|
var createFiveProductTaskThread = new Thread(CreateFiveProductTaskLogic);
|
|
|
|
|
createFiveProductTaskThread.IsBackground = true;
|
|
|
|
|
createFiveProductTaskThread.Name = "CreateFiveProductTaskLogic";
|
|
|
|
|
createFiveProductTaskThread.Start();
|
|
|
|
|
//// 叫空托盘 3-2楼
|
|
|
|
|
//var createEmtpyThread = new Thread(CreateEmptyLogic);
|
|
|
|
|
//createEmtpyThread.IsBackground = true;
|
|
|
|
|
//createEmtpyThread.Name = "CreateEmptyLoic";
|
|
|
|
|
//createEmtpyThread.Start();
|
|
|
|
|
////背负式Agv返库任务
|
|
|
|
|
//var createBearAgvReturnThread = new Thread(CreateBearAgvReturnLogic);
|
|
|
|
|
//createBearAgvReturnThread.IsBackground = true;
|
|
|
|
|
//createBearAgvReturnThread.Name = "CreateBearAgvReturnLogic";
|
|
|
|
|
//createBearAgvReturnThread.Start();
|
|
|
|
|
////五楼半成品入库任务
|
|
|
|
|
//var createFiveProductInTaskThread = new Thread(CreateFiveProductInTaskLogic);
|
|
|
|
|
//createFiveProductInTaskThread.IsBackground = true;
|
|
|
|
|
//createFiveProductInTaskThread.Name = "CreateFiveProductInTaskLogic";
|
|
|
|
|
//createFiveProductInTaskThread.Start();
|
|
|
|
|
////五楼成品出库任务
|
|
|
|
|
//var createFiveProductTaskThread = new Thread(CreateFiveProductTaskLogic);
|
|
|
|
|
//createFiveProductTaskThread.IsBackground = true;
|
|
|
|
|
//createFiveProductTaskThread.Name = "CreateFiveProductTaskLogic";
|
|
|
|
|
//createFiveProductTaskThread.Start();
|
|
|
|
|
//五楼CTU出库任务以及原材料出库任务
|
|
|
|
|
var createRawTaskThread = new Thread(CreateRawTaskLogic);
|
|
|
|
|
createRawTaskThread.IsBackground = true;
|
|
|
|
|
createRawTaskThread.Name = "CreateRawTaskLogic";
|
|
|
|
|
createRawTaskThread.Start();
|
|
|
|
|
//五楼柜体拆分返库任务
|
|
|
|
|
var createRawInThread = new Thread(CreateRawInTaskLogic);
|
|
|
|
|
createRawInThread.IsBackground = true;
|
|
|
|
|
createRawInThread.Name = "CreateRawInTaskLogic";
|
|
|
|
|
createRawInThread.Start();
|
|
|
|
|
//三楼去翻转机任务
|
|
|
|
|
var createThirdOutTaskThread = new Thread(CreateThirdOutTaskLogic);
|
|
|
|
|
createThirdOutTaskThread.IsBackground = true;
|
|
|
|
|
createThirdOutTaskThread.Name = "CreateThirdOutTaskLogic";
|
|
|
|
|
createThirdOutTaskThread.Start();
|
|
|
|
|
//二楼成品出库任务
|
|
|
|
|
var CreateSecondProductTaskThread = new Thread(CreateSecondProductTaskLogic);
|
|
|
|
|
CreateSecondProductTaskThread.IsBackground = true;
|
|
|
|
|
CreateSecondProductTaskThread.Name = "CreateSecondProductTaskLogic";
|
|
|
|
|
CreateSecondProductTaskThread.Start();
|
|
|
|
|
//三楼托盘收集架满5个或10个时出库合盘任务
|
|
|
|
|
var createEmptyTrayThread = new Thread(CreateEmptyTrayLogic);
|
|
|
|
|
createEmptyTrayThread.IsBackground = true;
|
|
|
|
|
createEmptyTrayThread.Name = "CreateEmptyTrayLogic";
|
|
|
|
|
createEmptyTrayThread.Start();
|
|
|
|
|
//二楼废品区人工调度任务
|
|
|
|
|
var createThirdWasterTaskThread = new Thread(CreateThirdWasterTaskLogic);
|
|
|
|
|
createThirdWasterTaskThread.IsBackground = true;
|
|
|
|
|
createThirdWasterTaskThread.Name = "CreateThirdWasterTaskLogic";
|
|
|
|
|
createThirdWasterTaskThread.Start();
|
|
|
|
|
//背负式退库
|
|
|
|
|
var BackReturnTaskThread = new Thread(BackReturnTaskLogic);
|
|
|
|
|
BackReturnTaskThread.IsBackground = true;
|
|
|
|
|
BackReturnTaskThread.Name = "BackReturnTaskLogic";
|
|
|
|
|
BackReturnTaskThread.Start();
|
|
|
|
|
////五楼柜体拆分返库任务
|
|
|
|
|
//var createRawInThread = new Thread(CreateRawInTaskLogic);
|
|
|
|
|
//createRawInThread.IsBackground = true;
|
|
|
|
|
//createRawInThread.Name = "CreateRawInTaskLogic";
|
|
|
|
|
//createRawInThread.Start();
|
|
|
|
|
////三楼去翻转机任务
|
|
|
|
|
//var createThirdOutTaskThread = new Thread(CreateThirdOutTaskLogic);
|
|
|
|
|
//createThirdOutTaskThread.IsBackground = true;
|
|
|
|
|
//createThirdOutTaskThread.Name = "CreateThirdOutTaskLogic";
|
|
|
|
|
//createThirdOutTaskThread.Start();
|
|
|
|
|
////二楼成品出库任务
|
|
|
|
|
//var CreateSecondProductTaskThread = new Thread(CreateSecondProductTaskLogic);
|
|
|
|
|
//CreateSecondProductTaskThread.IsBackground = true;
|
|
|
|
|
//CreateSecondProductTaskThread.Name = "CreateSecondProductTaskLogic";
|
|
|
|
|
//CreateSecondProductTaskThread.Start();
|
|
|
|
|
////三楼托盘收集架满5个或10个时出库合盘任务
|
|
|
|
|
//var createEmptyTrayThread = new Thread(CreateEmptyTrayLogic);
|
|
|
|
|
//createEmptyTrayThread.IsBackground = true;
|
|
|
|
|
//createEmptyTrayThread.Name = "CreateEmptyTrayLogic";
|
|
|
|
|
//createEmptyTrayThread.Start();
|
|
|
|
|
////二楼废品区人工调度任务
|
|
|
|
|
//var createThirdWasterTaskThread = new Thread(CreateThirdWasterTaskLogic);
|
|
|
|
|
//createThirdWasterTaskThread.IsBackground = true;
|
|
|
|
|
//createThirdWasterTaskThread.Name = "CreateThirdWasterTaskLogic";
|
|
|
|
|
//createThirdWasterTaskThread.Start();
|
|
|
|
|
////背负式退库
|
|
|
|
|
//var BackReturnTaskThread = new Thread(BackReturnTaskLogic);
|
|
|
|
|
//BackReturnTaskThread.IsBackground = true;
|
|
|
|
|
//BackReturnTaskThread.Name = "BackReturnTaskLogic";
|
|
|
|
|
//BackReturnTaskThread.Start();
|
|
|
|
|
Console.WriteLine(DateTime.Now + ":出库任务监听启动成功");
|
|
|
|
|
_logger.Info("出库任务监听启动成功");
|
|
|
|
|
}
|
|
|
|
|
@ -2862,7 +2862,9 @@ namespace Khd.Core.Wcs.Wcs
|
|
|
|
|
bool hasTask = dbContext.WcsTask.Where(t => t.nextPointId == 11).Any();
|
|
|
|
|
if (!hasTask)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
rawOutStock =
|
|
|
|
|
rawOutStock.Where(x => !string.IsNullOrEmpty(x.endStationCode))
|
|
|
|
|
.ToList();
|
|
|
|
|
var orderList = rawOutStock.Where(t => endStationCodeEquip.endStationCode.Contains(t.endStationCode)).ToList();
|
|
|
|
|
|
|
|
|
|
List<WcsTask> tasks = new();
|
|
|
|
|
|