using Admin.NET.Core.Service; using Elastic.Clients.Elasticsearch; using Furion.Logging; using Qiniu.Storage; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WCS.Application.Entity; namespace WCS.Application; public static class AGVStorageUtil { private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId); private static readonly SysCacheService sysCacheService = App.GetRequiredService(); private static readonly SysConfigService _sysConfigService = App.GetRequiredService(); static AGVStorageUtil() { } public static string GetTaskModle(string straLocate,string endLocate,out string type1,out string type2,out string jiebo) { type1 = ""; type2 = ""; jiebo = ""; var taskModle = "";//任务模板 //前缀L立库 前缀B 平库 var locate1q = straLocate.Substring(0,1); var locate2q = endLocate.Substring(0, 1); if (locate1q == null || locate2q == null) { return taskModle; } switch (locate1q) { case "L": type1 = "STORAGE"; break; case "B": type1 = "SITE"; break; default: break; } switch (locate2q) { case "L": type2 = "STORAGE"; break; case "B": type2 = "SITE"; break; default: break; } var AreaAll = new List() { "B06", "B07", "B09" };//1002、1003全部区域 var Area1002 = new List() { "B06"};//1002车间区域 var Area10031 = new List() { "B09"};//1003 1楼车间区域 var Area10032 = new List() { "B07"};//1003 2楼车间区域 var locate1 = _db.Queryable().First(m => m.IsDelete == false && m.LocatNo == straLocate); var locate2 = _db.Queryable().First(m => m.IsDelete == false && m.LocatNo == endLocate); if (locate1q == "B" ) { if ( Area1002.Contains(locate1.AreaNo) ) { jiebo = "1JB";//接驳位 } if (Area10031.Contains(locate1.AreaNo) || Area10032.Contains(locate1.AreaNo)) { jiebo = "2JB"; } } if (locate2q == "B") { if ( Area1002.Contains(locate2.AreaNo)) { jiebo = "1JB";//接驳位 } if (Area10031.Contains(locate2.AreaNo) || Area10032.Contains(locate2.AreaNo)) { jiebo = "2JB"; } } if (type1 == "" || type2 == "") { return taskModle; } //判断获取任务模板 STORAGE 货架仓位 SITE 平库仓位 ZONE 区域 switch (type1) { case "STORAGE" when type2 == "SITE": { taskModle = "FJ"; } break; case "SITE" when type2 == "STORAGE": { taskModle = "YCRK"; if (locate1.AreaNo == "B10") { taskModle = "DPJRK"; } } break; case "SITE" when type2 == "SITE": { if ((Area10032.Contains(locate1.AreaNo) || Area10031.Contains(locate1.AreaNo)) && locate2.AreaNo == "B04") { taskModle = "CPRK1003"; } else if(Area1002.Contains(locate1.AreaNo) && locate2.AreaNo == "B04") { taskModle = "CPRK1002"; } else if ((Area10032.Contains(locate2.AreaNo) || Area10031.Contains(locate2.AreaNo)) && !AreaAll.Contains(locate1.AreaNo)) { taskModle = "YCLSX"; } else if (Area1002.Contains(locate2.AreaNo) && !AreaAll.Contains(locate1.AreaNo)) { taskModle = "YCLSX2"; } else if (locate2.AreaNo == "B10") { taskModle = "PF-FMR-STACK-NOTIFY-TASK"; } } break; default: break; } return taskModle; } }