Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -112,6 +112,14 @@
|
|||||||
/// 跨层外协件出入库
|
/// 跨层外协件出入库
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string MATERIALTRANSFER_CROSSLAYER_CODE = "crosslayer";
|
public const string MATERIALTRANSFER_CROSSLAYER_CODE = "crosslayer";
|
||||||
|
/// <summary>
|
||||||
|
/// 包材出库
|
||||||
|
/// </summary>
|
||||||
|
public const string MATERIALTRANSFER_PACKING_CODE = "packing";
|
||||||
|
/// <summary>
|
||||||
|
/// 外协调拨出库
|
||||||
|
/// </summary>
|
||||||
|
public const string MATERIALTRANSFER_WXDBOUTWAREHOUSE_CODE = "wxdbOutWarehouse";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 出入库单据状态TypeID
|
/// 出入库单据状态TypeID
|
||||||
|
|||||||
@@ -129,10 +129,6 @@ public partial class WmsMaterialTransfer : BaseEntity<string>
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string? erp_bill_code { get; set; }
|
public string? erp_bill_code { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 转库类型(弃用)
|
|
||||||
/// </summary>
|
|
||||||
public string? transfer_type { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 主表主键
|
/// 主表主键
|
||||||
|
|||||||
@@ -432,11 +432,16 @@ namespace Tnb.WarehouseMgr
|
|||||||
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内已有两托货!");
|
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内已有两托货!");
|
||||||
}
|
}
|
||||||
WmsElevatorcacheArea wmsElevatorcacheArea = await _db.Queryable<WmsElevatorcacheArea>().Where(r => r.location_id == dis.startlocation_id).FirstAsync();
|
WmsElevatorcacheArea wmsElevatorcacheArea = await _db.Queryable<WmsElevatorcacheArea>().Where(r => r.location_id == dis.startlocation_id).FirstAsync();
|
||||||
// 如果当前所放梯内货位已占用
|
|
||||||
if (elevator.innerpos.Contains(wmsElevatorcacheArea.name))
|
|
||||||
|
// 两托盘出库进此判断 如果当前所放梯内货位已占用
|
||||||
|
if (wmsElevatorcacheArea != null)
|
||||||
{
|
{
|
||||||
Logger.LogInformation($"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
if (elevator.innerpos.Contains(wmsElevatorcacheArea.name))
|
||||||
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
{
|
||||||
|
Logger.LogInformation($"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
||||||
|
return await ToApiResult(HttpStatusCode.InternalServerError, $"电梯{devName}内托盘{dis.carry_code}当前准备放置的货位已有货!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
canEnter = true;
|
canEnter = true;
|
||||||
@@ -461,8 +466,8 @@ namespace Tnb.WarehouseMgr
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.Error("【UnloadConfirm】 放货确认失败", ex.Message);
|
Logger.Error($"【UnloadConfirm】 放货确认失败{ex.Message}");
|
||||||
Logger.Error("【UnloadConfirm】 放货确认失败", ex.StackTrace);
|
Logger.Error($"【UnloadConfirm】 放货确认失败{ex.StackTrace}");
|
||||||
return await ToApiResult(HttpStatusCode.InternalServerError, "电梯还未开门,请重试!");
|
return await ToApiResult(HttpStatusCode.InternalServerError, "电梯还未开门,请重试!");
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -726,7 +726,9 @@ namespace Tnb.WarehouseMgr
|
|||||||
}
|
}
|
||||||
|
|
||||||
string transfer_type = "";
|
string transfer_type = "";
|
||||||
// 中储仓到暂存仓
|
|
||||||
|
#region 转库类型
|
||||||
|
// 齐套出入库
|
||||||
if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_ZC_ID
|
if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_ZC_ID
|
||||||
&& (warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_ZCC_ID || warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_HCC_ID))
|
&& (warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_ZCC_ID || warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_HCC_ID))
|
||||||
{
|
{
|
||||||
@@ -736,35 +738,27 @@ namespace Tnb.WarehouseMgr
|
|||||||
_LoggerErp2Mes.LogWarning($@"【MaterialTransfer】表体存在未填写工位的明细!");
|
_LoggerErp2Mes.LogWarning($@"【MaterialTransfer】表体存在未填写工位的明细!");
|
||||||
throw new AppFriendlyException($@"表体存在未填写工位的明细!", 500);
|
throw new AppFriendlyException($@"表体存在未填写工位的明细!", 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_CGCK_CODE;
|
|
||||||
}
|
|
||||||
else if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_CPCRK_ID && warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_CP_ID)
|
|
||||||
{
|
|
||||||
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_WXDBRK_CODE;
|
|
||||||
}
|
|
||||||
else if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_YCL_ID && warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_JZGL_ID)
|
|
||||||
{
|
|
||||||
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_JZGLRK_CODE;
|
|
||||||
}
|
|
||||||
else if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_YCL_ID && warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_ZZXBK_ID)
|
|
||||||
{
|
|
||||||
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_CROSSLAYER_CODE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 暂时其他情况都算齐套出入库类型(未定)
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int count = input.details.Where(r => string.IsNullOrEmpty(r.station_code)).Count();
|
|
||||||
if (count > 0)
|
|
||||||
{
|
|
||||||
_LoggerErp2Mes.LogWarning($@"【MaterialTransfer】表体存在未填写工位的明细!");
|
|
||||||
throw new AppFriendlyException($@"表体存在未填写工位的明细!", 500);
|
|
||||||
}
|
|
||||||
|
|
||||||
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_QTCRK_CODE;
|
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_QTCRK_CODE;
|
||||||
}
|
}
|
||||||
|
// 外协调拨入库
|
||||||
|
else if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_YCL_ID && warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_ZC_ID)
|
||||||
|
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_WXDBRK_CODE;
|
||||||
|
// 集中供料入库
|
||||||
|
else if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_YCL_ID && warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_JZGL_ID)
|
||||||
|
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_JZGLRK_CODE;
|
||||||
|
// 跨层外协件出入库
|
||||||
|
else if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_YCL_ID && warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_ZZXBK_ID)
|
||||||
|
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_CROSSLAYER_CODE;
|
||||||
|
// 包材出库
|
||||||
|
else if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_BCK_ID && warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_F2BCQ_ID)
|
||||||
|
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_PACKING_CODE;
|
||||||
|
// 长管出库
|
||||||
|
else if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_HCC_ID && warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_ZZXBK_ID)
|
||||||
|
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_CGCK_CODE;
|
||||||
|
// 外协调拨出库
|
||||||
|
else if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_ZC_ID && warehouse_instock.id == WmsWareHouseConst.WAREHOUSE_YCL_ID)
|
||||||
|
transfer_type = WmsWareHouseConst.MATERIALTRANSFER_WXDBOUTWAREHOUSE_CODE;
|
||||||
|
#endregion
|
||||||
|
|
||||||
//var wmsMaterialTransferdsDistinct = input.details.Select(r => new
|
//var wmsMaterialTransferdsDistinct = input.details.Select(r => new
|
||||||
//{
|
//{
|
||||||
|
|||||||
@@ -544,10 +544,12 @@ namespace Tnb.WarehouseMgr
|
|||||||
thirdWebapiRecord.remark = $"原材料转库单wms_material_transfer:{wmsMaterialTransfer.bill_code}";
|
thirdWebapiRecord.remark = $"原材料转库单wms_material_transfer:{wmsMaterialTransfer.bill_code}";
|
||||||
|
|
||||||
await _db.Insertable(thirdWebapiRecord).ExecuteCommandAsync();
|
await _db.Insertable(thirdWebapiRecord).ExecuteCommandAsync();
|
||||||
Logger.LogInformation("【WmsMaterialTransferService ModifyAsync】同步其它出库单到erp成功");
|
Logger.LogInformation("【WmsMaterialSignHService ModifyAsync】同步其它出库单到erp成功");
|
||||||
|
|
||||||
|
|
||||||
if (!_wareHouseService.GetFloor1WXSGWOutstockLocation().Contains(carryLoc.id))
|
if (wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_JZGLRK_CODE
|
||||||
|
|| wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_QTCRK_CODE
|
||||||
|
|| wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_PACKING_CODE)
|
||||||
{
|
{
|
||||||
// todo 对接其它入库单 入库数量为签收数量
|
// todo 对接其它入库单 入库数量为签收数量
|
||||||
|
|
||||||
@@ -615,6 +617,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
thirdWebapiRecord2.remark = $"原材料转库单wms_material_transfer:{wmsMaterialTransfer.bill_code}";
|
thirdWebapiRecord2.remark = $"原材料转库单wms_material_transfer:{wmsMaterialTransfer.bill_code}";
|
||||||
|
|
||||||
await _db.Insertable(thirdWebapiRecord2).ExecuteCommandAsync();
|
await _db.Insertable(thirdWebapiRecord2).ExecuteCommandAsync();
|
||||||
|
Logger.LogInformation("【WmsMaterialSignHService ModifyAsync】同步其它入库单到erp成功");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -327,10 +327,10 @@ namespace Tnb.WarehouseMgr
|
|||||||
WmsMaterialTransferD wmsMaterialTransferD = await _db.Queryable<WmsMaterialTransferD>().FirstAsync(it => it.id == input.source_id);
|
WmsMaterialTransferD wmsMaterialTransferD = await _db.Queryable<WmsMaterialTransferD>().FirstAsync(it => it.id == input.source_id);
|
||||||
WmsMaterialTransfer wmsMaterialTransfer = await _db.Queryable<WmsMaterialTransfer>().FirstAsync(it => it.id == wmsMaterialTransferD.bill_id);
|
WmsMaterialTransfer wmsMaterialTransfer = await _db.Queryable<WmsMaterialTransfer>().FirstAsync(it => it.id == wmsMaterialTransferD.bill_id);
|
||||||
|
|
||||||
if (wmsMaterialTransferD.yxfqty >= wmsMaterialTransferD.qty)
|
//if (wmsMaterialTransferD.yxfqty >= wmsMaterialTransferD.qty)
|
||||||
{
|
//{
|
||||||
throw new AppFriendlyException("已下发数量已达到转库数量", 500);
|
// throw new AppFriendlyException("已下发数量已达到转库数量", 500);
|
||||||
}
|
//}
|
||||||
|
|
||||||
await _db.Ado.BeginTranAsync();
|
await _db.Ado.BeginTranAsync();
|
||||||
|
|
||||||
@@ -452,17 +452,18 @@ namespace Tnb.WarehouseMgr
|
|||||||
.InnerJoin<OtherOutstockD>((a, b, c, d) => b.id == d.fk_id)
|
.InnerJoin<OtherOutstockD>((a, b, c, d) => b.id == d.fk_id)
|
||||||
.WhereIF(!string.IsNullOrEmpty(input.warehouse_outstock), (a, b, c) => a.warehouse_outstock == input.warehouse_outstock)
|
.WhereIF(!string.IsNullOrEmpty(input.warehouse_outstock), (a, b, c) => a.warehouse_outstock == input.warehouse_outstock)
|
||||||
.WhereIF(!string.IsNullOrEmpty(input.warehouse_instock), (a, b, c) => a.warehouse_instock == input.warehouse_instock)
|
.WhereIF(!string.IsNullOrEmpty(input.warehouse_instock), (a, b, c) => a.warehouse_instock == input.warehouse_instock)
|
||||||
.Where((a, b, c,d) => d.rk_qty < d.actual_outstock_qty)
|
.Where((a, b, c, d) => d.rk_qty < d.actual_outstock_qty)
|
||||||
|
.OrderBy((a, b, c, d) => b.create_time)
|
||||||
.Select((a, b, c, d) => new
|
.Select((a, b, c, d) => new
|
||||||
{
|
{
|
||||||
materialtransfer_billcode = a.bill_code,
|
materialtransfer_billcode = a.bill_code,
|
||||||
otheroutstock_id = b.id,
|
otheroutstock_id = b.id,
|
||||||
otheroutstock_billcode = b.bill_code,
|
otheroutstock_billcode = b.bill_code,
|
||||||
outstock_time = b.create_time,
|
outstock_time = b.create_time.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||||
material_id=c.material_id,
|
material_id = c.material_id,
|
||||||
material_code=c.material_code,
|
material_code = c.material_code,
|
||||||
material_name=c.material_ex,
|
material_name = c.material_ex,
|
||||||
material_spec=c.material_specification,
|
material_spec = c.material_specification,
|
||||||
unit_code = c.unit_id,
|
unit_code = c.unit_id,
|
||||||
code_batch = c.code_batch,
|
code_batch = c.code_batch,
|
||||||
remainqty = d.actual_outstock_qty - d.rk_qty
|
remainqty = d.actual_outstock_qty - d.rk_qty
|
||||||
@@ -1063,9 +1064,10 @@ namespace Tnb.WarehouseMgr
|
|||||||
if (input.area_code == "E")
|
if (input.area_code == "E")
|
||||||
await sign(input);
|
await sign(input);
|
||||||
|
|
||||||
|
|
||||||
// 其它入库
|
// 其它入库
|
||||||
if (input.wmsDistaskH.task_type == WmsWareHouseConst.WMS_PRETASK_INSTOCK_TYPE_ID)
|
if (wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_WXDBRK_CODE
|
||||||
|
|| wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_CROSSLAYER_CODE
|
||||||
|
|| wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_WXDBOUTWAREHOUSE_CODE)
|
||||||
{
|
{
|
||||||
Logger.LogInformation("【WmsMaterialTransferService ModifyAsync】同步其它入库单到erp...");
|
Logger.LogInformation("【WmsMaterialTransferService ModifyAsync】同步其它入库单到erp...");
|
||||||
|
|
||||||
@@ -1855,8 +1857,35 @@ namespace Tnb.WarehouseMgr
|
|||||||
// Logger.LogWarning($"【RackAndMatByWorkstation】工位{input.work_station}绑定的{wmsCarryH.carry_code}载具不是料架类型!请检查");
|
// Logger.LogWarning($"【RackAndMatByWorkstation】工位{input.work_station}绑定的{wmsCarryH.carry_code}载具不是料架类型!请检查");
|
||||||
// continue;
|
// continue;
|
||||||
//}
|
//}
|
||||||
|
if (wmsCarryH.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID || wmsCarryH.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID)
|
||||||
|
{
|
||||||
|
var matCodes = _db.Queryable<WmsCarryCode>()
|
||||||
|
.InnerJoin<BasMaterial>((a, b) => a.material_id == b.id)
|
||||||
|
.Where((a, b) => a.carry_id == wmsCarryH.id)
|
||||||
|
.Select((a, b) => new
|
||||||
|
{
|
||||||
|
a.org_id,
|
||||||
|
a.material_id,
|
||||||
|
a.material_code,
|
||||||
|
material_name = b.name,
|
||||||
|
a.material_specification,
|
||||||
|
a.unit_id,
|
||||||
|
a.barcode,
|
||||||
|
a.code_batch,
|
||||||
|
a.codeqty,
|
||||||
|
a.create_id,
|
||||||
|
a.create_time
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
var matCodes = _db.Queryable<WmsCarryD>()
|
JObject pairs = new JObject();
|
||||||
|
pairs["carry_id"] = wmsCarryH.id;
|
||||||
|
pairs["carry_code"] = wmsCarryH.carry_code;
|
||||||
|
pairs["details"] = JArray.Parse(JsonConvert.SerializeObject(matCodes));
|
||||||
|
jArray.Add(pairs);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var matCodes = _db.Queryable<WmsCarryD>()
|
||||||
.InnerJoin<WmsCarryCode>((a, b) => a.membercarry_id == b.carry_id)
|
.InnerJoin<WmsCarryCode>((a, b) => a.membercarry_id == b.carry_id)
|
||||||
.InnerJoin<BasMaterial>((a, b, c) => b.material_id == c.id)
|
.InnerJoin<BasMaterial>((a, b, c) => b.material_id == c.id)
|
||||||
.Where((a, b, c) => a.carry_id == wmsCarryH.id)
|
.Where((a, b, c) => a.carry_id == wmsCarryH.id)
|
||||||
@@ -1877,11 +1906,12 @@ namespace Tnb.WarehouseMgr
|
|||||||
b.create_time
|
b.create_time
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
JObject pairs = new JObject();
|
JObject pairs = new JObject();
|
||||||
pairs["carry_id"] = wmsCarryH.id;
|
pairs["carry_id"] = wmsCarryH.id;
|
||||||
pairs["carry_code"] = wmsCarryH.carry_code;
|
pairs["carry_code"] = wmsCarryH.carry_code;
|
||||||
pairs["details"] = JArray.Parse(JsonConvert.SerializeObject(matCodes));
|
pairs["details"] = JArray.Parse(JsonConvert.SerializeObject(matCodes));
|
||||||
jArray.Add(pairs);
|
jArray.Add(pairs);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return await ToApiResult(HttpStatusCode.OK, jArray);
|
return await ToApiResult(HttpStatusCode.OK, jArray);
|
||||||
}
|
}
|
||||||
@@ -2331,7 +2361,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
carryMaterialDetails.Add(carryMaterialDetail);
|
carryMaterialDetails.Add(carryMaterialDetail);
|
||||||
carryMaterialBindInput.details = carryMaterialDetails;
|
carryMaterialBindInput.details = carryMaterialDetails;
|
||||||
await _wmsCarryBindService.CarryMaterialBind(carryMaterialBindInput, _db);
|
await _wmsCarryBindService.CarryMaterialBind(carryMaterialBindInput, _db);
|
||||||
await _db.Updateable<WmsCarryH>().SetColumns(r => r.carry_status == "1").Where(r => r.id == wmsCarryH.id).ExecuteCommandAsync();
|
await _db.Updateable<WmsCarryH>().SetColumns(r => r.carry_status == "3").Where(r => r.id == wmsCarryH.id).ExecuteCommandAsync();
|
||||||
|
|
||||||
// 更新子表已下发数量
|
// 更新子表已下发数量
|
||||||
await _db.Updateable<WmsMaterialTransferD>().SetColumns(r => r.yxfqty_rk == r.yxfqty_rk + input.qty).Where(r => r.id == input.source_id).ExecuteCommandAsync();
|
await _db.Updateable<WmsMaterialTransferD>().SetColumns(r => r.yxfqty_rk == r.yxfqty_rk + input.qty).Where(r => r.id == input.source_id).ExecuteCommandAsync();
|
||||||
|
|||||||
Reference in New Issue
Block a user