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;
|
}
|
|
}
|