using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Comm;
|
using WIDESEA_Core.FreeDB;
|
using WIDESEA_Entity.DomainModels;
|
|
namespace WIDESEA_WCS.JobsPart.Common
|
{
|
public class RestockHCJ
|
{
|
static FreeDB freeDB = new FreeDB();
|
public static Dictionary<string, List<string>> areaForList;
|
public RestockHCJ()
|
{
|
if (areaForList == null || areaForList.Count == 0)
|
{
|
areaForList = new Dictionary<string, List<string>>();
|
var stationList = freeDB.Select<dt_stationinfo>().Where(x => true).ToList();
|
areaForList.Add("下料区", stationList.Where(x => x.stationCode.Contains("X")).Select(x => x.stationCode).ToList());
|
}
|
}
|
/// <summary>
|
/// 更新补空托任务
|
/// </summary>
|
public static void HCJGetBarcode()
|
{
|
var tasks = freeDB.Select<dt_agvtask>().Where(x => x.agv_taskstate == "Queue").ToList();
|
foreach (var task in tasks)
|
{
|
if (task.agv_tasktype == "TaskType_EmptyPallet")//空托任务
|
{
|
if (task.agv_fromaddress == "")
|
{
|
var area = task.agv_Traytype == "SmallTray" ? "11" : "10";
|
//找1库区的空托位
|
var EmptyStation = freeDB.Select<dt_stationinfo>().Where(x => x.area == area && x.stationCode.Contains("A") && x.location_state == LocationStateEnum.Stroge.ToString() && x.enable)
|
.OrderByDescending(x => x.column).OrderBy(x => x.line).First();
|
if (EmptyStation == null)
|
EmptyStation = freeDB.Select<dt_stationinfo>().Where(x => x.area == area && x.stationCode.Contains("C") && x.location_state == LocationStateEnum.Stroge.ToString() && x.enable)
|
.OrderBy(x => x.line).OrderByDescending(x => x.column).First();
|
if (EmptyStation != null)
|
{
|
task.agv_fromaddress = EmptyStation.stationCode;
|
task.agv_taskstate = "Create";
|
freeDB.Update(task);
|
}
|
}
|
}
|
}
|
}
|
}
|
}
|