Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
2024-08-27 11:35:38 +08:00
6 changed files with 119 additions and 93 deletions

View File

@@ -1119,7 +1119,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
// 获取下到输送线9和10的未完成的转库单 // 获取下到输送线9和10的未完成的转库单
List<WmsMaterialTransfer> WmsMaterialTransfers = db_Floor2UpMachinecodetimer.Queryable<WmsMaterialTransfer>() List<WmsMaterialTransfer> WmsMaterialTransfers = db_Floor2UpMachinecodetimer.Queryable<WmsMaterialTransfer>()
.InnerJoin<WmsMaterialTransferCarry>((a, b) => a.id == b.bill_id) .InnerJoin<WmsMaterialTransferCarry>((a, b) => a.id == b.bill_id)
.Where((a, b) => a.warehouse_instock == "33780009364245" && a.warehouse_outstock == "2" && a.remainbindracknum > 0 .Where((a, b) => (a.warehouse_instock == WmsWareHouseConst.WAREHOUSE_ZCC_ID || a.warehouse_instock == WmsWareHouseConst.WAREHOUSE_HCC_ID) && a.warehouse_outstock == "2" && a.remainbindracknum > 0
&& b.carry_code == barcode).ToList(); && b.carry_code == barcode).ToList();
if (WmsMaterialTransfers.Count() == 0) if (WmsMaterialTransfers.Count() == 0)
@@ -1228,7 +1228,6 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
}).Where(r => r.id == WmsMaterialTransfer.id).ExecuteCommandAsync(); }).Where(r => r.id == WmsMaterialTransfer.id).ExecuteCommandAsync();
LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】回写转库单的剩余可绑定料架数量"); LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】回写转库单的剩余可绑定料架数量");
// 开始码垛 // 开始码垛
bool result_开始码垛 = await Floor2UpDownMachinecode_SetTag(MechanicalArmConsts., target.stackingposition.ToString()); bool result_开始码垛 = await Floor2UpDownMachinecode_SetTag(MechanicalArmConsts., target.stackingposition.ToString());
LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】码垛位{target.stackingposition}码垛结果 {result_开始码垛}"); LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】码垛位{target.stackingposition}码垛结果 {result_开始码垛}");

View File

@@ -144,4 +144,9 @@ public partial class WmsCarryH : BaseEntity<string>
/// 入库时间 /// 入库时间
/// </summary> /// </summary>
public DateTime? instock_time { get; set; } public DateTime? instock_time { get; set; }
/// <summary>
/// 转库单ID
/// </summary>
public string? material_tranfer_billid { get; set; }
} }

View File

@@ -54,4 +54,9 @@ public partial class WmsPrdInstockD : BaseEntity<string>
/// </summary> /// </summary>
public string? status { get; set; } public string? status { get; set; }
/// <summary>
/// 生产仓库
/// </summary>
public string? scwarehouse_id { get; set; }
} }

View File

@@ -704,7 +704,8 @@ namespace Tnb.WarehouseMgr
string transfer_type = ""; string transfer_type = "";
// 中储仓到暂存仓 // 中储仓到暂存仓
if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_ZC_ID && warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_ZCC_ID) if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_ZC_ID
&& (warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_ZCC_ID || warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_HCC_ID))
{ {
int count = input.details.Where(r => string.IsNullOrEmpty(r.station_code)).Count(); int count = input.details.Where(r => string.IsNullOrEmpty(r.station_code)).Count();
if (count > 0) if (count > 0)

View File

@@ -1220,7 +1220,8 @@ namespace Tnb.WarehouseMgr
Logger.LogInformation($@"【上升降机】更新料架 {target.rackcode} 在二楼配送的目标工位 {targetWorkstation}"); Logger.LogInformation($@"【上升降机】更新料架 {target.rackcode} 在二楼配送的目标工位 {targetWorkstation}");
await _db.Updateable<WmsCarryH>().SetColumns(r => new WmsCarryH await _db.Updateable<WmsCarryH>().SetColumns(r => new WmsCarryH
{ {
work_station = targetWorkstation work_station = targetWorkstation,
material_tranfer_billid = wmsMaterialTransferD.bill_id
}).Where(r => r.id == target.rackid).ExecuteCommandAsync(); }).Where(r => r.id == target.rackid).ExecuteCommandAsync();
} }
else if (target.note == "下升降机") else if (target.note == "下升降机")
@@ -2474,6 +2475,7 @@ namespace Tnb.WarehouseMgr
[HttpPost] [HttpPost]
public async Task TaskComplate(TaskCompleUpInput input) public async Task TaskComplate(TaskCompleUpInput input)
{ {
var db = _db.CopyNew(); var db = _db.CopyNew();
try try
{ {
@@ -2629,11 +2631,63 @@ namespace Tnb.WarehouseMgr
work_station = "" work_station = ""
}).Where(r => r.id == dt.carry_id).ExecuteCommandAsync(); }).Where(r => r.id == dt.carry_id).ExecuteCommandAsync();
await QTRK2BIP(dt, db);
// require_code是任务单 // require_code是任务单
//string mo_task_code = dt.require_code; //string mo_task_code = dt.require_code;
} }
else if (dt.biz_type == "erp_qtrk") else if (dt.biz_type == "erp_qtrk")
{ {
await QTRK2BIP(dt, db);
}
#endregion
List<WmsDistaskCode> disTaskCodes = await db.Queryable<WmsDistaskCode>().Where(it => it.bill_id == dt.id).ToListAsync();
WareHouseUpInput upInput = new() { bizTypeId = dt.biz_type, requireId = dt.require_id!, require_code = dt.require_code!, source_id = dt.source_id!
, source_code = dt.source_code!, distaskCodes = disTaskCodes, carryIds = disTasks.Select(x => x.carry_id).ToList(),
bill_code = dt.bill_code!,area_code= dt.area_code!,wmsDistaskH = dt!
};
/*if (!_userManager?.LoginType.IsNullOrEmpty() ?? false)
{
upInput.loginType = "app";
}
else
{
upInput.loginType = "web";
}*/
upInput.loginType = "web";//(!string.IsNullOrEmpty(_userManager?.LoginType) ? "app" : "web") ?? "web";
if (dt.is_sign == 1 && dt.chain_type == "3")
{
await DoUpdate(upInput);
}
}
}
Logger.Information($"【TaskComplate】 任务操作完成提交事务 {string.Join(",", input.disTaskIds)}");
await db.Ado.CommitTranAsync();
Logger.Information($"【TaskComplate】 任务操作完成 {string.Join(",", input.disTaskIds)}");
}
catch (Exception ex)
{
Logger.Error($"任务结束失败", ex);
Logger.Error($"任务结束失败堆栈异常", ex);
await db.Ado.RollbackTranAsync();
throw;
}
finally
{
_ = GenTaskExecute();
}
}
async Task QTRK2BIP(WmsDistaskH? dt, ISqlSugarClient db)
{
if (string.IsNullOrEmpty(dt.source_id))
{
Logger.LogWarning($"上传其它入库到BIP时转库单ID为空无法上传 任务信息:{JsonConvert.SerializeObject(dt)}");
return;
}
WmsMaterialTransfer wmsMaterialTransfer = await db.Queryable<WmsMaterialTransfer>().SingleAsync(x => x.id == dt.source_id); WmsMaterialTransfer wmsMaterialTransfer = await db.Queryable<WmsMaterialTransfer>().SingleAsync(x => x.id == dt.source_id);
List<WmsMaterialTransferD> wmsMaterialTransferDs = await db.Queryable<WmsMaterialTransferD>().Where(x => x.bill_id == dt.source_id).ToListAsync(); List<WmsMaterialTransferD> wmsMaterialTransferDs = await db.Queryable<WmsMaterialTransferD>().Where(x => x.bill_id == dt.source_id).ToListAsync();
List<String> materialIds = wmsMaterialTransferDs.Select(x => x.material_id).Distinct().ToList(); List<String> materialIds = wmsMaterialTransferDs.Select(x => x.material_id).Distinct().ToList();
@@ -2723,46 +2777,8 @@ namespace Tnb.WarehouseMgr
await db.Insertable(thirdWebapiRecord).ExecuteCommandAsync(); await db.Insertable(thirdWebapiRecord).ExecuteCommandAsync();
} }
#endregion
List<WmsDistaskCode> disTaskCodes = await db.Queryable<WmsDistaskCode>().Where(it => it.bill_id == dt.id).ToListAsync();
WareHouseUpInput upInput = new() { bizTypeId = dt.biz_type, requireId = dt.require_id!, require_code = dt.require_code!, source_id = dt.source_id!
, source_code = dt.source_code!, distaskCodes = disTaskCodes, carryIds = disTasks.Select(x => x.carry_id).ToList(),
bill_code = dt.bill_code!,area_code= dt.area_code!,wmsDistaskH = dt!
};
/*if (!_userManager?.LoginType.IsNullOrEmpty() ?? false)
{
upInput.loginType = "app";
}
else
{
upInput.loginType = "web";
}*/
upInput.loginType = "web";//(!string.IsNullOrEmpty(_userManager?.LoginType) ? "app" : "web") ?? "web";
if (dt.is_sign == 1 && dt.chain_type == "3")
{
await DoUpdate(upInput);
}
}
}
Logger.Information($"【TaskComplate】 任务操作完成提交事务 {string.Join(",", input.disTaskIds)}");
await db.Ado.CommitTranAsync();
Logger.Information($"【TaskComplate】 任务操作完成 {string.Join(",", input.disTaskIds)}");
}
catch (Exception ex)
{
Logger.Error($"任务结束失败", ex);
Logger.Error($"任务结束失败堆栈异常", ex);
await db.Ado.RollbackTranAsync();
throw;
}
finally
{
_ = GenTaskExecute();
}
}
/// <summary> /// <summary>
/// 出入库策略启用、禁用状态修改 /// 出入库策略启用、禁用状态修改
/// </summary> /// </summary>

View File

@@ -1624,7 +1624,7 @@ namespace Tnb.WarehouseMgr
commonCreatePretaskInput.carry_code = wmsCarryH.carry_code; commonCreatePretaskInput.carry_code = wmsCarryH.carry_code;
commonCreatePretaskInput.task_type = ""; commonCreatePretaskInput.task_type = "";
commonCreatePretaskInput.biz_type = "FloorCallMaterial"; commonCreatePretaskInput.biz_type = "FloorCallMaterial";
commonCreatePretaskInput.source_id = ""; commonCreatePretaskInput.source_id = wmsCarryH.material_tranfer_billid;
commonCreatePretaskInput.require_code = ""; commonCreatePretaskInput.require_code = "";
commonCreatePretaskInput.require_id = prdMoTask.id; commonCreatePretaskInput.require_id = prdMoTask.id;
commonCreatePretaskInput.require_code = prdMoTask.mo_task_code; commonCreatePretaskInput.require_code = prdMoTask.mo_task_code;