齐套、转库单载具表回写任务信息

This commit is contained in:
2024-09-25 11:47:49 +08:00
parent f5040f60da
commit d2b3038cfc
6 changed files with 122 additions and 85 deletions

View File

@@ -68,4 +68,9 @@ public partial class WmsMaterialTransferCarry : BaseEntity<string>
/// 料箱数量
/// </summary>
public decimal? qty { get; set; }
/// <summary>
/// 预任务id
/// </summary>
public string? pretask_id { get; set; }
}

View File

@@ -597,6 +597,13 @@ namespace Tnb.WarehouseMgr
.Select<WmsCarryH>()
.ToListAsync();
string ss = cyDb.Queryable<WmsCarryH>().LeftJoin<WmsCarryCode>((a, b) => a.id == b.carry_id)
.LeftJoin<BasLocation>((a, b, c) => a.location_id == c.id)
.Where(whereExpr)
//.OrderByIF((a,b,c)=>SqlFunc.IsNullOrEmpty())
.OrderBy(policy.policy).ToSqlString();
items = items.DistinctBy(r => r.id).ToList();
return input.Size > 0 ? items.Take(input.Size).ToList() : items;
}
@@ -1636,7 +1643,6 @@ namespace Tnb.WarehouseMgr
{
if (s_GenTaskExecute.CurrentCount == 0)
{
Logger.Information("【GenTaskExecute】 【测试】 丢弃此执行");
return;
}
await s_GenTaskExecute.WaitAsync();
@@ -3415,6 +3421,10 @@ namespace Tnb.WarehouseMgr
row = await db.Updateable<BasLocation>().SetColumns(it => it.task_nums == it.task_nums + 1)
.Where(it => preTasks.Select(r => r.endlocation_id).Contains(it.id)).ExecuteCommandAsync();
if (row == 0)
{
throw new Exception($"点位{string.Join(',', preTasks.Select(r => r.endpoint_code))}绑定的库位id为{string.Join(',', preTasks.Select(r => r.endlocation_id))}的库位不存在");
}
return row > 0;
}
catch (Exception ex)
@@ -4284,7 +4294,10 @@ namespace Tnb.WarehouseMgr
wmsCarryHChangeExp,
it => new BasLocation { is_lock = 1 }, db);
Logger.LogInformation($"【CommonCreatePretask】 成功生成预任务:{preTasks.First().bill_code}");
return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.OK, "成功");
JObject keyValuePairs = new JObject();
JArray array = JArray.Parse(JsonConvert.SerializeObject(preTasks.Select(r => r.id)));
keyValuePairs["pretaskids"] = array;
return await ToApiResult(JNPF.Common.Enums.HttpStatusCode.OK, "成功", keyValuePairs);
}
else
{

View File

@@ -230,7 +230,6 @@ namespace Tnb.WarehouseMgr
material_id = input.material_id,
code_batch = input.code_batch,
Size = input.palletCount,
Region_id = WmsWareHouseConst.REGION_Purchase_ID,
PolicyCode = WmsWareHouseConst.POLICY_YCLOUTSTOCK
};
@@ -1392,8 +1391,6 @@ namespace Tnb.WarehouseMgr
}).Where(r => r.id == input.source_id).ExecuteCommandAsync();
Logger.LogInformation($"【DistributeToZCC】更新转库单{wmsMaterialTransfer.bill_code}主表的数据");
await _db.Insertable(wmsMaterialTransferCarrys).ExecuteCommandAsync();
Logger.LogInformation($"【DistributeToZCC】插入转库单{wmsMaterialTransfer.bill_code}载具表的数据");
foreach (WmsMaterialTransferCarry wmsMaterialTransferCarry in wmsMaterialTransferCarrys)
{
@@ -1413,9 +1410,16 @@ namespace Tnb.WarehouseMgr
Logger.LogInformation($"【DistributeToZCC生成预任务失败 载具 {wmsMaterialTransferCarry.carry_code}");
throw new AppFriendlyException($"生成预任务失败 载具 {wmsMaterialTransferCarry.carry_code}", 500);
}
JObject keyValuePairs = JObject.Parse(res.data.ToString());
JArray array = JArray.Parse(keyValuePairs["pretaskids"].ToString());
wmsMaterialTransferCarry.pretask_id = array[0].ToString();
await _db.Updateable<WmsMaterialTransferD>().SetColumns(r => r.yxfqty == r.yxfqty + wmsMaterialTransferCarry.qty).Where(r => r.id == wmsMaterialTransferCarry.mat_bill_id).ExecuteCommandAsync();
}
await _db.Insertable(wmsMaterialTransferCarrys).ExecuteCommandAsync();
Logger.LogInformation($"【DistributeToZCC】插入转库单{wmsMaterialTransfer.bill_code}载具表的数据");
Logger.LogInformation($"转库单{wmsMaterialTransfer.bill_code}预任务{wmsMaterialTransferCarrys.Count}条全部生成成功");
@@ -1653,8 +1657,6 @@ namespace Tnb.WarehouseMgr
}).Where(r => r.id == input.source_id).ExecuteCommandAsync();
Logger.LogInformation($"【DistributeZCCToYCL】更新转库单{wmsMaterialTransfer.bill_code}主表的数据");
await _db.Insertable(wmsMaterialTransferCarrys).ExecuteCommandAsync();
Logger.LogInformation($"【DistributeZCCToYCL】插入转库单{wmsMaterialTransfer.bill_code}载具表的数据");
foreach (WmsMaterialTransferCarry wmsMaterialTransferCarry in wmsMaterialTransferCarrys)
{
@@ -1667,16 +1669,22 @@ namespace Tnb.WarehouseMgr
commonCreatePretaskInput.biz_type = WmsWareHouseConst.BIZTYPE_WMSMATERIALTRANSFER_ID;
commonCreatePretaskInput.source_id = wmsMaterialTransferCarry.mat_bill_id;
commonCreatePretaskInput.isExcuteMission = false;
var res = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput);
if (res.code != JNPF.Common.Enums.HttpStatusCode.OK)
{
Logger.LogInformation($"【DistributeZCCToYCL生成预任务失败 载具 {wmsMaterialTransferCarry.carry_code}");
throw new AppFriendlyException($"生成预任务失败 载具 {wmsMaterialTransferCarry.carry_code}", 500);
}
JObject keyValuePairs = JObject.Parse(res.data.ToString());
JArray array = JArray.Parse(keyValuePairs["pretaskids"].ToString());
wmsMaterialTransferCarry.pretask_id = array[0].ToString();
await _db.Updateable<WmsMaterialTransferD>().SetColumns(r => r.yxfqty == r.yxfqty + wmsMaterialTransferCarry.qty).Where(r => r.id == wmsMaterialTransferCarry.mat_bill_id).ExecuteCommandAsync();
}
await _db.Insertable(wmsMaterialTransferCarrys).ExecuteCommandAsync();
Logger.LogInformation($"【DistributeZCCToYCL】插入转库单{wmsMaterialTransfer.bill_code}载具表的数据");
Logger.LogInformation($"转库单{wmsMaterialTransfer.bill_code}预任务{wmsMaterialTransferCarrys.Count}条全部生成成功");

View File

@@ -124,6 +124,7 @@ namespace Tnb.WarehouseMgr
#region bip仓库
string scwarehouse_id = "";
string rkwarehouse_id = "";
// bip变更为俩字段传一样或不传scwarehouse_id
if (type == DictConst.PrdMoTypeZS)
{
scwarehouse_id = WmsWareHouseConst.bipwarehouseid_zs;