using DS.Module.Core;
using DS.Module.Core.Enums;
using FluentValidation;
using Masuit.Tools.Systems;
using SqlSugar;
namespace DS.WMS.ContainerManagement.Info.Dtos;
///
/// 集装箱当前状态 请求实体
///
public class CM_CurrentStateReq
{
///
/// 主键Id
///
public long Id { get; set; }
public long CtnBaseinfoId { get; set; }
///
/// 所属机构(公司)
///
public long? OrgId { get; set; }
///
/// 集装箱号
///
public string Cntrno { get; set; }
///
/// 箱型代码
///
public string CtnCode { get; set; }
//
/// Desc:箱型
///
public string Ctnall { get; set; }
///
/// Desc:新旧箱 空白/used/new
///
public string UsedState { get; set; }
///
/// Desc:箱主id
///
public long CtnOwnerId { get; set; }
///
/// Desc:箱主
///
public string CtnOwner { get; set; }
///
/// Desc:箱来源: 自有箱/短租租入/长租租入/买箱
///
public CM_CtnSourceEnum? CtnSourceId { get; set; }
///
/// Desc:箱来源: 自有箱/短租租入/长租租入/买箱
///
public string CtnSource => CtnSourceId?.GetDescription();
///
/// Desc:箱当前业务状态id: 短租租出 长租租出 单程 卖箱
///
public CM_CtnBizStateEnum? CtnBizStateId { get; set; }
///
/// Desc:箱业务状态: 短租租出 长租租出 单程 卖箱
///
public string CtnBizState => CtnBizStateId?.GetDescription();
///
/// Desc:箱业务编号:当前 对于租入、租出箱 记录其租箱业务billno
///
public string Billno { get; set; }
///
/// Desc:关联放箱单号
///
public string CtnReleaseNo { get; set; }
///
///
/// Desc:箱状态Id
///
public CMCtnStateEnum? CtnStateId { get; set; }
///
/// Desc:箱状态
///
public string CtnState => CtnStateId?.GetDescription();
///
/// Desc:箱流转状态Id
///
public CMCtnFlowStateEnum? CtnFlowStateId { get; set; }
///
/// Desc:箱流转状态
///
public string CtnFlowState => CtnFlowStateId?.GetDescription();
///
/// Desc:箱损坏/维修状态Id
///
public CMCtnBreakStateEnum? CtnBreakStateId { get; set; }
///
/// Desc:箱损坏/维修状态
///
public string CtnBreakState => CtnBreakStateId?.GetDescription();
///
/// Desc:是否上线id(是否管理中)
///
public CM_IsOnlineEnum? IsOnlineId { get; set; } = 0;
///
/// Desc:是否上线(是否管理中)
///
public string IsOnline => IsOnlineId?.GetDescription();
///
/// Desc:空重箱
///
public bool? IsHeavy { get; set; } = false;
///
/// Desc:当前港口代码
///
public long? Portid { get; set; }
///
/// Desc:当前港口五字码
///
public string PortCode { get; set; }
///
/// Desc:当前港口
///
public string Port { get; set; }
///
/// Desc:码头或场站
///
public string Depot { get; set; }
///
/// Desc:船名航次
///
public string? VesselVoyno { get; set; }
///
/// Desc:当前业务编号
///
public string Mblno { get; set; }
///
/// 业务委托单位Id
///
public long CustomerId { get; set; }
///
/// 业务委托单位
///
public string CustomerName { get; set; }
///
/// Desc:ETD
///
public DateTime? ETD { get; set; }
///
/// Desc:ETD
///
public DateTime? ETA { get; set; }
///
/// Desc:状态时间
///
public DateTime? StateTime { get; set; }
///
/// 箱皮重
///
public decimal? CtnWeight { get; set; } = 0;
///
/// Desc:生产日期
///
public DateTime? ProductionDate { get; set; }
///
/// 箱初期成本
///
public decimal? CtnValue_Base { get; set; } = 0;
///
/// 购入价格
///
public decimal? CtnValue_BuyingPrice { get; set; } = 0;
}
///
/// 验证
///
public class CM_CurrentStateReqValidator : AbstractValidator
{
///
/// 构造函数
///
public CM_CurrentStateReqValidator()
{
this.RuleFor(o => o.Cntrno)
.NotEmpty().WithName("集装箱号");
this.RuleFor(o => o.Ctnall)
.NotEmpty().WithName("箱型");
}
}