This commit is contained in:
2024-04-11 15:04:11 +08:00
parent 1f909839d6
commit 5f16ca1abe
7 changed files with 77 additions and 15 deletions

View File

@@ -247,6 +247,8 @@ namespace Tnb.WarehouseMgr
[AllowAnonymous]
public async Task CheckPut(CheckPutInput input)
{
Logger.Information("联合请求CheckPut接口传入参数为:" + JsonConvert.SerializeObject(input));
Dictionary<string, string[]> putdic = new Dictionary<string, string[]>();
putdic.Add("SSX-011-006", new string[] { "YTCS", "AllowEmptyIn_CS06" });
@@ -269,10 +271,12 @@ namespace Tnb.WarehouseMgr
throw new AppFriendlyException("点位" + input.targetName + "不存在", 500);
}
string data = await _redisData.GetHash(strs[0], strs[1]);
Logger.Information("联合请求CheckPut接口查询X2Server数据:" + data);
JObject? res = JsonConvert.DeserializeObject<JObject>(data);
bool result = res != null && res["Value"] != null ? res.Value<bool>("Value") : false;
if (!result)
throw new AppFriendlyException("点位" + input.targetName + "不可放", 500);
Logger.Information("联合请求CheckPut接口结果CTU可放货" + data);
}
/// <summary>
@@ -347,6 +351,8 @@ namespace Tnb.WarehouseMgr
}
public async Task SsxControl(WmsDistaskH disTask, string action)
{
Logger.Information($"输送线控制SsxControl传入参数: {JsonConvert.SerializeObject(disTask)} {action}");
Dictionary<string, string[]> putdic = new Dictionary<string, string[]>();
Dictionary<string, string[]> getdic = new Dictionary<string, string[]>();
getdic.Add("SSX-021-005", new string[] { "YTCS", "FullOut_CS05Done", "true" });
@@ -393,7 +399,7 @@ namespace Tnb.WarehouseMgr
["TagName"] = strarr[1],
["Value"] = strarr[2],
};
Logger.Information($"SsxControlLOAD:{dicCommand}");
Logger.Information($"SsxControlLOAD:{JsonConvert.SerializeObject(dicCommand)}");
var str = await HttpClientHelper.GetRequestAsync(_eleCtlCfg.WriteTagUrl, dicCommand);
Logger.Information($"SsxControlLOAD:{str}");
}
@@ -448,6 +454,8 @@ namespace Tnb.WarehouseMgr
}, true)
.ToListAsync();
//List<WmsPretaskH> executedPreTasks = await db.Queryable<WmsPretaskH>().Where(it => it.status != WmsWareHouseConst.PRETASK_BILL_STATUS_DXF_ID && it.status != WmsWareHouseConst.PRETASK_BILL_STATUS_COMPLE_ID).ToListAsync();
List<WmsPretaskH> agvElevatorTasks = preTasks
@@ -693,8 +701,11 @@ namespace Tnb.WarehouseMgr
List<WmsDistaskCode> DistaskCodes = new List<WmsDistaskCode>();
var inCtuExec = new List<WmsDistaskH>();
var outCtuExec = new List<WmsDistaskH>();
foreach (var item in InTasks)
{
/*
if (indic.Keys.Contains(item.startlocation_code))
{
@@ -708,8 +719,8 @@ namespace Tnb.WarehouseMgr
if (!result)
continue;
}*/
WmsDistaskH distaskH = item.Adapt<WmsDistaskH>();
WmsDistaskH distaskH = item.Adapt<WmsDistaskH>();
distaskH.id = SnowflakeIdHelper.NextId();
distaskH.status = WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID;
distaskH.is_chain = 1;
@@ -735,7 +746,11 @@ namespace Tnb.WarehouseMgr
inCtuExec.AddRange(DistaskHs.Where(p => p.groups == distaskH.groups).ToList());
}
}
List<WmsPretaskCode> preTaskCodes = TaskCodes.FindAll(x => x.bill_id == distaskH.pretask_id);
Logger.Information($"开始执行CTU入库任务: {JsonConvert.SerializeObject(distaskH)}");
List<WmsPretaskCode> preTaskCodes = TaskCodes.FindAll(x => x.bill_id == distaskH.pretask_id);
List<WmsDistaskCode> disTaskCodes = preTaskCodes.Adapt<List<WmsDistaskCode>>();
disTaskCodes.ForEach(x =>
{
@@ -775,6 +790,8 @@ namespace Tnb.WarehouseMgr
outCtuExec.AddRange(DistaskHs.Where(p => p.groups == distaskH.groups).ToList());
}
}
Logger.Information($"开始执行CTU出库任务: {JsonConvert.SerializeObject(distaskH)}");
List<WmsPretaskCode> preTaskCodes = TaskCodes.FindAll(x => x.bill_id == distaskH.pretask_id);
List<WmsDistaskCode> disTaskCodes = preTaskCodes.Adapt<List<WmsDistaskCode>>();
disTaskCodes.ForEach(x =>
@@ -815,8 +832,8 @@ namespace Tnb.WarehouseMgr
if (inCtuExec.Count > 0)
{
//呼叫ctu入库
// await db.Updateable<WmsDistaskH>().SetColumns(it => new WmsDistaskH { status = WmsWareHouseConst.TASK_BILL_STATUS_RUNING_ID }).Where(it => inCtuExec.Select(p => p.id).ToList().Contains(it.id)).ExecuteCommandAsync();
// await db.Updateable<WmsPretaskH>().SetColumns(it => new WmsPretaskH { status = WmsWareHouseConst.PRETASK_BILL_STATUS_START_ID }).Where(it => inCtuExec.Select(x => x.pretask_id).ToList().Contains(it.id)).ExecuteCommandAsync();
// await db.Updateable<WmsDistaskH>().SetColumns(it => new WmsDistaskH { status = WmsWareHouseConst.TASK_BILL_STATUS_RUNING_ID }).Where(it => inCtuExec.Select(p => p.id).ToList().Contains(it.id)).ExecuteCommandAsync();
// await db.Updateable<WmsPretaskH>().SetColumns(it => new WmsPretaskH { status = WmsWareHouseConst.PRETASK_BILL_STATUS_START_ID }).Where(it => inCtuExec.Select(x => x.pretask_id).ToList().Contains(it.id)).ExecuteCommandAsync();
CancellationTokenSource Ctu = new();
await CallingCTU(inCtuExec, Ctu.Token, 1);
Ctu.Dispose();
@@ -1136,6 +1153,9 @@ namespace Tnb.WarehouseMgr
{
AgvRequestConfig requestCfg = App.Configuration.Build<AgvRequestConfig>();
string url = requestCfg.AgvRequestUrls.CreateTaskChainUrl;
Logger.Information($"Agv任务执行的disTasks{JsonConvert.SerializeObject(disTasks)}");
var taskChainCodeDic = disTasks.Where(t => !t.groups.IsNullOrWhiteSpace()).GroupBy(g => g.groups!)
.ToDictionary(x => x.Key, x => x.Select(it => new
{
@@ -1146,6 +1166,8 @@ namespace Tnb.WarehouseMgr
}));
Logger.Information($"请求地址:{url}");
Logger.Information($"Agv任务执行的taskChainCodeDic{JsonConvert.SerializeObject(taskChainCodeDic)}");
foreach ((string k, object v) in taskChainCodeDic)
{
var typeflag = false;