first commit
This commit is contained in:
@@ -0,0 +1,281 @@
|
||||
using JSMachine.WMS.App.Dto.Enum;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
namespace JSMachine.WMS.App.Dto
|
||||
{
|
||||
public partial class StorageRackDto : IRootDto
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 库位编号
|
||||
/// </summary>
|
||||
public string StorageRackNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 途径提升机指定点的坐标
|
||||
/// </summary>
|
||||
public string AgvPassPointNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提升机通道号(PLC定义的网带编号),提升机库位专用
|
||||
/// </summary>
|
||||
public int? ElevatorChannel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否锁定
|
||||
/// </summary>
|
||||
public bool IsLock { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 库位状态 0-空闲 1-有货 2-锁定 3-禁用
|
||||
/// </summary>
|
||||
public StorageRackStatus Status
|
||||
{
|
||||
get
|
||||
{
|
||||
if (IsLock)
|
||||
return StorageRackStatus.Locked;
|
||||
if (IsDisabled)
|
||||
return StorageRackStatus.Disabled;
|
||||
if (!string.IsNullOrEmpty(BarCode))
|
||||
return StorageRackStatus.HaveGoods;
|
||||
|
||||
return StorageRackStatus.Empty;
|
||||
}
|
||||
set { }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 库位名称
|
||||
/// </summary>
|
||||
public string StorageRackName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所在的库区排序
|
||||
/// </summary>
|
||||
public int AreaNumSort { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 库位排序(同一列的库位排序号越大越在里面(以车前进方向为准))
|
||||
/// </summary>
|
||||
public int NumSort { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属库区
|
||||
/// </summary>
|
||||
public long? ReservoirAreaId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属库区列(小车进入库位的方向为列)
|
||||
/// </summary>
|
||||
public long ReservoirAreaColumnId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
public string Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属楼层编号(10-一楼 20-二楼)
|
||||
/// </summary>
|
||||
public FloorEnum Floor { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// AGV名称
|
||||
/// </summary>
|
||||
public string MachineName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 确认时间
|
||||
/// </summary>
|
||||
public DateTime? ConfirmDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否禁用
|
||||
/// </summary>
|
||||
public bool IsDisabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 合格证号
|
||||
/// </summary>
|
||||
public string BarCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单号
|
||||
/// </summary>
|
||||
public string OrderNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户名称
|
||||
/// </summary>
|
||||
public string CustomName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料名称
|
||||
/// </summary>
|
||||
public string MateriaName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料类型
|
||||
/// </summary>
|
||||
public string MateriaType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单个托盘上的物料数量
|
||||
/// </summary>
|
||||
public int MateriaNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 批次号的生成规则为: 作业单号+日期+班次
|
||||
/// </summary>
|
||||
public string MateriaBatch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
public string MateriaCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 联动线出口,机械手设备唯一号
|
||||
/// </summary>
|
||||
public string EquipmentNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 码头位置 1:北区 2:南区 3:人工 4:退货到车间 99:正常存储库位
|
||||
/// </summary>
|
||||
public TransportEnum Transport { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Erp回调Wms接口地址
|
||||
/// </summary>
|
||||
public string ErpCallWmsInterface { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Wms回调Erp接口地址
|
||||
/// </summary>
|
||||
public string WmsCallErpInterface { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime? CreationTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 修改时间
|
||||
/// </summary>
|
||||
public DateTime? LastModifiedTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 清空物料
|
||||
/// </summary>
|
||||
public void ClearMaterial()
|
||||
{
|
||||
BarCode = null;
|
||||
OrderNo = null;
|
||||
CustomName = null;
|
||||
MateriaName = null;
|
||||
MateriaType = null;
|
||||
MateriaNum = 0;
|
||||
MateriaBatch = null;
|
||||
MateriaCode = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否空白可用库位
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsEmpty()
|
||||
{
|
||||
return !this.IsLock && !this.IsDisabled && string.IsNullOrEmpty(this.BarCode);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 清空物料并解锁库位
|
||||
/// </summary>
|
||||
public void ClearMaterialAndUnLock()
|
||||
{
|
||||
ClearMaterial();
|
||||
|
||||
IsLock = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定物料信息
|
||||
/// </summary>
|
||||
public void BingdingMaterial(MateriaInfo materiaInfo)
|
||||
{
|
||||
BarCode = materiaInfo.BarCode;
|
||||
OrderNo = materiaInfo.OrderNo;
|
||||
MateriaName = materiaInfo.MateriaName;
|
||||
MateriaType = materiaInfo.MateriaType;
|
||||
MateriaNum = int.Parse(materiaInfo.MateriaNum);
|
||||
MateriaBatch = materiaInfo.MateriaBatch;
|
||||
MateriaCode = materiaInfo.MateriaCode;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定物料信息并锁定库位
|
||||
/// </summary>
|
||||
public void BingdingMaterialAndLock(MateriaInfo materiaInfo)
|
||||
{
|
||||
BingdingMaterial(materiaInfo);
|
||||
|
||||
IsLock = true;
|
||||
}
|
||||
|
||||
public class StorageRackDtoIEqualityComparer : IEqualityComparer<StorageRackDto>
|
||||
{
|
||||
public bool Equals(StorageRackDto? x, StorageRackDto? y)
|
||||
{
|
||||
return x.StorageRackNo == y.StorageRackNo;
|
||||
}
|
||||
|
||||
public int GetHashCode([DisallowNull] StorageRackDto obj)
|
||||
{
|
||||
return obj.StorageRackNo.GetHashCode();
|
||||
}
|
||||
}
|
||||
|
||||
public class MateriaInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 合格证号
|
||||
/// </summary>
|
||||
public string BarCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 工单号
|
||||
/// </summary>
|
||||
public string OrderNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料名称
|
||||
/// </summary>
|
||||
public string MateriaName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料类型
|
||||
/// </summary>
|
||||
public string MateriaType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料数量
|
||||
/// </summary>
|
||||
public string MateriaNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 批次号
|
||||
/// </summary>
|
||||
public string MateriaBatch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
public string MateriaCode { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user