This commit is contained in:
2024-10-31 09:39:54 +08:00
5 changed files with 77 additions and 43 deletions

View File

@@ -1873,6 +1873,7 @@ namespace Tnb.WarehouseMgr
wmsTransferInstockD.xf_qty = 0;
wmsTransferInstockD.pr_qty = detail.qty;
wmsTransferInstockD.lineno = detail.lineno;
wmsTransferInstockD.udi_code = detail.udi_code;
var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
if (material != null)
{

View File

@@ -98,7 +98,7 @@ namespace Tnb.WarehouseMgr
JObject jobject = new JObject();
jobject["code"] = "200";
List<WmsTransferInstockD> wmsTransferInstockDs = _db.Queryable<WmsTransferInstockD>().Where(r => r.bill_id == input.id && r.status != WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID).ToList();
List<WmsTransferInstockD> wmsTransferInstockDs = _db.Queryable<WmsTransferInstockD>().Where(r => r.bill_id == input.id).ToList();
jobject["data"] = JArray.Parse(JsonConvert.SerializeObject(wmsTransferInstockDs));

View File

@@ -1175,8 +1175,8 @@ namespace Tnb.WarehouseMgr
getdic.Add("ZZ-01-02", new string[] { "外包装箱码垛线", "WBZX_x1_take_mtp", "true" });
getdic.Add("ZZ-02-02", new string[] { "外包装箱码垛线", "WBZX_x2_take_mtp", "true" });
getdic.Add("ZZ-01-01", new string[] { "外包装箱码垛线", "WBZX_x1_put_mtp", "true" });
getdic.Add("ZZ-02-01", new string[] { "外包装箱码垛线", "WBZX_x2_put_mtp", "true" });
putdic.Add("ZZ-01-01", new string[] { "外包装箱码垛线", "WBZX_x1_put_mtp", "true" });
putdic.Add("ZZ-02-01", new string[] { "外包装箱码垛线", "WBZX_x2_put_mtp", "true" });
getdic.Add("ZSSSXCTU02", new string[] { "YTCS", "右输送线上层允许出箱3", "true" });
@@ -3141,11 +3141,23 @@ namespace Tnb.WarehouseMgr
clearCarryIds.AddRange(memberCarryIds);
}
// await db.Updateable<WmsCarryH>()
// .SetColumns(x => x.carry_status == carryStatus)
// .SetColumns(x => x.is_check == isCheck)
// .Where(x => clearCarryIds.Contains(x.id))
// .ExecuteCommandAsync();
await db.Updateable<WmsCarryH>()
.SetColumns(x => x.carry_status == carryStatus)
.Where(x => clearCarryIds.Contains(x.id))
.ExecuteCommandAsync();
Logger.Information($"【TaskComplate FloorCallMaterial】 更新载具状态 {JsonConvert.SerializeObject(clearCarryIds)}成功");
await db.Updateable<WmsCarryH>()
.SetColumns(x => x.is_check == isCheck)
.Where(x => clearCarryIds.Contains(x.id))
.ExecuteCommandAsync();
Logger.Information($"【TaskComplate FloorCallMaterial】 更新载具检验 {JsonConvert.SerializeObject(clearCarryIds)}成功");
//await QTRK2BIP(dt, db);
// require_code是任务单
@@ -3167,11 +3179,23 @@ namespace Tnb.WarehouseMgr
memberCarryIds = await db.Queryable<WmsCarryD>().Where(x=>x.carry_id==carry.id).Select(x=>x.membercarry_id).ToListAsync();
clearCarryIds.AddRange(memberCarryIds);
// await db.Updateable<WmsCarryH>()
// .SetColumns(x => x.carry_status == carryStatus)
// .SetColumns(x => x.is_check == isCheck)
// .Where(x => clearCarryIds.Contains(x.id))
// .ExecuteCommandAsync();
await db.Updateable<WmsCarryH>()
.SetColumns(x => x.carry_status == carryStatus)
.SetColumns(x => x.is_check == isCheck)
.Where(x => clearCarryIds.Contains(x.id))
.ExecuteCommandAsync();
.SetColumns(x => x.carry_status == carryStatus)
.Where(x => clearCarryIds.Contains(x.id))
.ExecuteCommandAsync();
Logger.Information($"【TaskComplate 长管签收】 更新载具状态 {JsonConvert.SerializeObject(clearCarryIds)}成功");
await db.Updateable<WmsCarryH>()
.SetColumns(x => x.is_check == isCheck)
.Where(x => clearCarryIds.Contains(x.id))
.ExecuteCommandAsync();
Logger.Information($"【TaskComplate 长管签收】 更新载具检验 {JsonConvert.SerializeObject(clearCarryIds)}成功");
}
@@ -4166,11 +4190,13 @@ namespace Tnb.WarehouseMgr
if (sPoint == null)
{
throw new Exception($"库位{input.startlocation_id} 的起点点位未维护");
BasLocation _loc = await db.Queryable<BasLocation>().FirstAsync(it => it.id == input.startlocation_id);
throw new Exception($"起点库位{_loc.location_code} 的点位未维护");
}
if (ePoint == null)
{
throw new Exception($"库位{input.endlocation_id} 的终点点位未维护");
BasLocation _loc = await db.Queryable<BasLocation>().FirstAsync(it => it.id == input.endlocation_id);
throw new Exception($"终点库位{_loc.location_code} 的点位未维护");
}

View File

@@ -341,20 +341,24 @@ namespace Tnb.WarehouseMgr
{
Logger.LogInformation($"【CarryCodeUnbindWithoutTran】不使用事务");
}
int row = await db.Deleteable<WmsCarryD>().Where(r => r.carry_id == input.carry_id).ExecuteCommandAsync();
//isOk = row > 0;
//if (!isOk)
//{
// throw new Exception($"料架id{input.carry_id}载具解绑失败");
//}
Logger.LogInformation($"【CarryUnbindWithoutTran】料架{carry.carry_code}已解绑,解绑条数{row}");
if (tranFlag)
if (await db.Queryable<WmsCarryD>().Where(r => r.carry_id == input.carry_id).AnyAsync())
{
Logger.LogInformation($"【CarryUnbindWithoutTran】提交事务");
await db.Ado.CommitTranAsync();
int row = await db.Deleteable<WmsCarryD>().Where(r => r.carry_id == input.carry_id).ExecuteCommandAsync();
//isOk = row > 0;
//if (!isOk)
//{
// throw new Exception($"料架id{input.carry_id}载具解绑失败");
//}
Logger.LogInformation($"【CarryUnbindWithoutTran】料架{carry.carry_code}已解绑,解绑条数{row}");
if (tranFlag)
{
Logger.LogInformation($"【CarryUnbindWithoutTran】提交事务");
await db.Ado.CommitTranAsync();
}
}
}
else
@@ -416,19 +420,23 @@ namespace Tnb.WarehouseMgr
{
Logger.LogInformation($"【CarryCodeUnbindWithoutTran】不使用事务");
}
int row = await db.Deleteable<WmsCarryCode>().Where(r => r.carry_id == input.carry_id).ExecuteCommandAsync();
if (tranFlag)
{
Logger.LogInformation($"【CarryCodeUnbindWithoutTran】提交事务");
await db.Ado.CommitTranAsync();
}
isOk = row > 0;
Logger.LogInformation($"【CarryCodeUnbindWithoutTran】载具{carry.carry_code}已解绑,解绑条数{row}");
//if (!isOk)
//{
// throw Oops.Oh(ErrorCode.COM1001);
//}
if (await db.Queryable<WmsCarryCode>().Where(r => r.carry_id == input.carry_id).AnyAsync())
{
int row = await db.Deleteable<WmsCarryCode>().Where(r => r.carry_id == input.carry_id).ExecuteCommandAsync();
if (tranFlag)
{
Logger.LogInformation($"【CarryCodeUnbindWithoutTran】提交事务");
await db.Ado.CommitTranAsync();
}
isOk = row > 0;
Logger.LogInformation($"【CarryCodeUnbindWithoutTran】载具{carry.carry_code}已解绑,解绑条数{row}");
//if (!isOk)
//{
// throw Oops.Oh(ErrorCode.COM1001);
//}
}
}
else
{

View File

@@ -498,7 +498,7 @@ namespace Tnb.WarehouseMgr
if (string.IsNullOrEmpty(input.source_id))
{
throw new AppFriendlyException("来源单据id不可为空", 500);
throw new Exception("来源单据id不可为空");
}
WmsMaterialTransfer wmsMaterialTransfer = await _db.Queryable<WmsMaterialTransfer>().FirstAsync(it => it.id == input.source_id);
@@ -507,7 +507,7 @@ namespace Tnb.WarehouseMgr
if (wmsMaterialTransfer == null)
{
throw new AppFriendlyException($"不存在id为{input.source_id}的转库单", 500);
throw new Exception($"不存在id为{input.source_id}的转库单");
}
await _db.Ado.BeginTranAsync();
@@ -535,7 +535,7 @@ namespace Tnb.WarehouseMgr
decimal canOutstockQty = items_pretask.Sum(r => r.Item3.codeqty).ParseToDecimal();
if (canOutstockQty != needOut)
{
throw new AppFriendlyException($@"当前可出库数量与需要出库数量不一致时无法出库! 当前可出库数量为 {canOutstockQty.ToString("G")},需要出库数量为{needOut.ToString("G")}", 500);
throw new Exception($@"当前可出库数量与需要出库数量不一致时无法出库! 当前可出库数量为 {canOutstockQty.ToString("G")},需要出库数量为{needOut.ToString("G")}");
}
InStockStrategyQuery inStockStrategyInput = new() { warehouse_id = WmsWareHouseConst.WAREHOUSE_CP_ID, Size = items_pretask.Count, Region_id = WmsWareHouseConst.REGION_CPOutstock_ID };
@@ -617,8 +617,8 @@ namespace Tnb.WarehouseMgr
var res = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput, _db);
if (res.code != JNPF.Common.Enums.HttpStatusCode.OK)
{
Logger.LogInformation($"【DistributeF4JXC】生成预任务失败 载具 {wmsMaterialTransferCarry.carry_code}");
throw new AppFriendlyException($"生成预任务失败 载具 {wmsMaterialTransferCarry.carry_code}", 500);
Logger.LogInformation($"【DistributeF4JXC】生成预任务失败 载具 {wmsMaterialTransferCarry.carry_code} {res.msg}");
throw new Exception($"生成预任务失败 载具 {wmsMaterialTransferCarry.carry_code} {res.msg}");
}
JObject keyValuePairs = JObject.Parse(res.data.ToString());
JArray array = JArray.Parse(keyValuePairs["pretaskids"].ToString());
@@ -636,7 +636,7 @@ namespace Tnb.WarehouseMgr
if (xfCarrysCount == 0)
{
throw new AppFriendlyException($"可下发数量为0", 500);
throw new Exception($"可下发数量为0");
}
await _db.Ado.CommitTranAsync();
@@ -645,8 +645,8 @@ namespace Tnb.WarehouseMgr
{
await _db.Ado.RollbackTranAsync();
Logger.LogError("【DistributeF4JXC】" + ex.Message);
Logger.LogError("【DistributeF4JXC】" + ex.StackTrace);
return await ToApiResult(HttpStatusCode.InternalServerError, ex.Message);
Logger.LogError("【DistributeF4JXC】" + ex.StackTrace);
throw new AppFriendlyException(ex.Message, 500);
}
finally
{
@@ -654,8 +654,7 @@ namespace Tnb.WarehouseMgr
semaphoreSlim_CPK.Release();
}
return await ToApiResult(HttpStatusCode.OK, "成功");
return "成功";
}