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> areaForList; public RestockHCJ() { if (areaForList == null || areaForList.Count == 0) { areaForList = new Dictionary>(); var stationList = freeDB.Select().Where(x => true).ToList(); areaForList.Add("下料区", stationList.Where(x => x.stationCode.Contains("X")).Select(x => x.stationCode).ToList()); } } /// /// 更新补空托任务 /// public static void HCJGetBarcode() { var tasks = freeDB.Select().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().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().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); } } } } } } }