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