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<SysCacheService>();
private static readonly SysConfigService _sysConfigService = App.GetRequiredService<SysConfigService>();
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<string>() { "B06", "B07", "B09" };//1002ã€1003全部区域
var Area1002 = new List<string>() { "B06"};//1002车间区域
var Area10031 = new List<string>() { "B09"};//1003 1楼车间区域
var Area10032 = new List<string>() { "B07"};//1003 2楼车间区域
var locate1 = _db.Queryable<WcsStorageLocat>().First(m => m.IsDelete == false && m.LocatNo == straLocate);
var locate2 = _db.Queryable<WcsStorageLocat>().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;
}
}