齐套出库
This commit is contained in:
@@ -302,6 +302,13 @@ namespace Tnb.WarehouseMgr
|
||||
codeqty = b.codeqty
|
||||
}).ToList().Select(r =>
|
||||
{
|
||||
// 如果可出库数量已经扣减完
|
||||
if (input.qty <= 0)
|
||||
{
|
||||
return new Tuple<string, WmsCarryH, WmsCarryCode, BasLocation>("", r.WmsCarryH, r.WmsCarryCode, r.BasLocation);
|
||||
}
|
||||
|
||||
// 扣减可出库数量
|
||||
input.qty = input.qty - r.codeqty;
|
||||
|
||||
// 出库数量与托盘上的数量不一致需要进行分拣
|
||||
@@ -315,7 +322,7 @@ namespace Tnb.WarehouseMgr
|
||||
// 正常预任务出库
|
||||
return new Tuple<string, WmsCarryH, WmsCarryCode, BasLocation>("预任务", r.WmsCarryH, r.WmsCarryCode, r.BasLocation);
|
||||
}
|
||||
}).ToList();
|
||||
}).Where(r => r.Item1 != "").ToList();
|
||||
return items;
|
||||
}
|
||||
|
||||
@@ -547,7 +554,7 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// // 二楼机械臂
|
||||
/// 二楼机械臂
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> Floor2MechanicalComplete(WmsDistaskH disTask, string action)
|
||||
@@ -673,6 +680,15 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
throw new Exception($@"【上升降机】设定升上升降机满托{target.stackingposition}移走 结果为 {result}");
|
||||
}
|
||||
|
||||
// 更新料架在二楼配送的目标工位
|
||||
// todo erp工位字段取数位置未确定
|
||||
string targetWorkstation = "003-01-01-01";
|
||||
Logger.LogInformation($@"【上升降机】更新料架 {target.rackcode} 在二楼配送的目标工位 {targetWorkstation}");
|
||||
await db.Updateable<WmsCarryH>().SetColumns(r => new WmsCarryH
|
||||
{
|
||||
work_station = targetWorkstation
|
||||
}).Where(r => r.id == target.rackid).ExecuteCommandAsync();
|
||||
}
|
||||
else if (target.note == "下升降机")
|
||||
{
|
||||
@@ -684,12 +700,6 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
}
|
||||
|
||||
//回写出库单状态
|
||||
await db.Updateable<WmsEmptyOutstockH>().SetColumns(r => new WmsEmptyOutstockH
|
||||
{
|
||||
bindrackcomplete = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID
|
||||
}).Where(r => r.bill_code == target.outbill).ExecuteCommandAsync();
|
||||
|
||||
// 重置料架区
|
||||
await db.Updateable<WmsMechanicalArmH>().SetColumns(r => new WmsMechanicalArmH
|
||||
{
|
||||
@@ -721,26 +731,26 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
private async Task<bool> Floor2UpDownMachinecode_SetTag(string tag, string value)
|
||||
{
|
||||
//string DevName = "东面提升机输送线";
|
||||
//Dictionary<string, string> dicCommand = new(StringComparer.OrdinalIgnoreCase)
|
||||
//{
|
||||
// ["DevName"] = DevName,
|
||||
// ["token"] = _eleCtlCfg.token,
|
||||
// ["TagName"] = tag,
|
||||
// ["Value"] = value,
|
||||
//};
|
||||
//string result = await HttpClientHelper.GetRequestAsync(_eleCtlCfg.WriteTagUrl, dicCommand);
|
||||
string DevName = "东面提升机输送线";
|
||||
Dictionary<string, string> dicCommand = new(StringComparer.OrdinalIgnoreCase)
|
||||
{
|
||||
["DevName"] = DevName,
|
||||
["token"] = _eleCtlCfg.token,
|
||||
["TagName"] = tag,
|
||||
["Value"] = value,
|
||||
};
|
||||
string result = await HttpClientHelper.GetRequestAsync(_eleCtlCfg.WriteTagUrl, dicCommand);
|
||||
|
||||
//return result.Contains("Ok");
|
||||
return result.Contains("Ok");
|
||||
|
||||
// 测试
|
||||
string DevName = "东面提升机输送线";
|
||||
//string DevName = "东面提升机输送线";
|
||||
|
||||
JObject valueJson = new JObject();
|
||||
valueJson["Value"] = value;
|
||||
//JObject valueJson = new JObject();
|
||||
//valueJson["Value"] = value;
|
||||
|
||||
bool res = await _redisData.HSet(DevName, tag, valueJson.ToString());
|
||||
return true;
|
||||
//bool res = await _redisData.HSet(DevName, tag, valueJson.ToString());
|
||||
//return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1100,7 +1110,7 @@ namespace Tnb.WarehouseMgr
|
||||
Logger.Information($@"【CTUTaskExecute】 获取任务TaskCodes: {JsonConvert.SerializeObject(TaskCodes)}");
|
||||
|
||||
var InTasks = CTUTasks.Where(a => a.task_type == WmsWareHouseConst.WMS_PRETASK_INSTOCK_TYPE_ID).ToList();
|
||||
var OutTasks = CTUTasks.Where(a => a.task_type == WmsWareHouseConst.WMS_PRETASK_OUTSTOCK_TYPE_ID).ToList();
|
||||
var OutTasks = CTUTasks.Where(a => a.task_type == WmsWareHouseConst.WMS_PRETASK_OUTSTOCK_TYPE_ID || a.task_type == WmsWareHouseConst.BIZTYPE_WMSTRANSFER_ID).ToList();
|
||||
|
||||
//Logger.Information($@"【CTUTaskExecute】 获取任务InTasks: {JsonConvert.SerializeObject(InTasks)}");
|
||||
//Logger.Information($@"【CTUTaskExecute】 获取任务OutTasks: {JsonConvert.SerializeObject(OutTasks)}");
|
||||
@@ -1297,7 +1307,7 @@ namespace Tnb.WarehouseMgr
|
||||
BillCode = $"{groups}-" + (orgdistaskHs.Count + newdistaskHs.Count + 1);
|
||||
}
|
||||
}
|
||||
else if (distaskH.task_type == WmsWareHouseConst.WMS_PRETASK_OUTSTOCK_TYPE_ID)
|
||||
else if (distaskH.task_type == WmsWareHouseConst.WMS_PRETASK_OUTSTOCK_TYPE_ID || distaskH.task_type == WmsWareHouseConst.BIZTYPE_WMSTRANSFER_ID)
|
||||
{
|
||||
var orgdistaskHs = OriginDistaskH.Where(p => p.status == WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID && p.task_type == WmsWareHouseConst.WMS_PRETASK_OUTSTOCK_TYPE_ID && p.endpoint_id == distaskH.endpoint_id).ToList();
|
||||
var newdistaskHs = NewdistaskHs = OriginDistaskH.Where(p => p.status == WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID && p.task_type == WmsWareHouseConst.WMS_PRETASK_OUTSTOCK_TYPE_ID && p.endpoint_id == distaskH.endpoint_id).ToList();
|
||||
@@ -1775,7 +1785,7 @@ namespace Tnb.WarehouseMgr
|
||||
is_lock = 0,
|
||||
is_use = multiList[i].carry_status
|
||||
};
|
||||
if (multiList[i].carry_status.ToEnum<EnumCarryStatus>() == EnumCarryStatus.空闲)
|
||||
if (!string.IsNullOrEmpty(multiList[i].carry_status) && multiList[i].carry_status.ToEnum<EnumCarryStatus>() == EnumCarryStatus.空闲)
|
||||
{
|
||||
loc.is_use = ((int)EnumCarryStatus.占用).ToString();
|
||||
}
|
||||
@@ -1824,12 +1834,6 @@ namespace Tnb.WarehouseMgr
|
||||
await _db.Updateable<WmsTransferInstockD>().SetColumns(r => r.qty == r.qty + wmsCarryCode.codeqty).Where(r => r.id == dt.require_id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
// 原材料转库单
|
||||
else if (dt.biz_type == WmsWareHouseConst.BIZTYPE_WMSMATERIALTRANSFER_ID)
|
||||
{
|
||||
WmsCarryCode wmsCarryCode = await _db.Queryable<WmsCarryCode>().Where(r => r.carry_id == dt.carry_id).FirstAsync();
|
||||
await _db.Updateable<WmsMaterialTransferD>().SetColumns(r => r.yzqty == r.yzqty + wmsCarryCode.codeqty).Where(r => r.id == dt.require_id).ExecuteCommandAsync();
|
||||
}
|
||||
#endregion
|
||||
|
||||
List<WmsDistaskCode> disTaskCodes = await _db.Queryable<WmsDistaskCode>().Where(it => it.bill_id == dt.id).ToListAsync();
|
||||
|
||||
Reference in New Issue
Block a user