using DS.Module.Core;
using FluentValidation;
using SqlSugar;
namespace DS.WMS.Core.Op.Dtos;
///
/// 海运出口信息请求实体
///
public class SeaExportReq
{
///
/// 主键Id
///
public long Id { get; set; }
///
/// 箱信息
///
public List CtnInfo { get; set; }
///
/// Edi信息
///
public SeaExportEdiReq EdiInfo { get; set; }
///
/// 主单Id
///
public long ParentId { get; set; } = 0;
///
/// 业务状态
///
public int BusinessStatus { get; set; }
/////
///// 单据费用状态
/////
//public int BillFeeStatus { get; set; }
/////
///// 单据费用状态时间
/////
//public DateTime BillFeeStatusTime { get; set; }
/////
///// Desc:是否业务锁定
/////
//[SugarColumn(ColumnDescription = "是否业务锁定", DefaultValue = "0")]
//public bool? IsBusinessLocking { get; set; } = false;
/////
///// Desc:是否费用锁定
/////
//[SugarColumn(ColumnDescription = "是否费用锁定", DefaultValue = "0")]
//public bool? IsFeeLocking { get; set; } = false;
/////
///// 费用状态
/////
//public int FeeStatus { get; set; }
///
/// 财务日期
///
public string AccountDate { get; set; }
///
/// 主提单号
///
public string MBLNO { get; set; }
///
/// 分提单号
///
public string HBLNO { get; set; }
///
/// 委托编号 可以根据规则生成
///
public string CustomerNo { get; set; }
///
/// 运单号 可以根据规则生成
///
public string TransNo { get; set; }
///
/// 委托单位Id
///
public long CustomerId { get; set; }
///
/// 委托单位 t_info_client CUSTNAME
///
public string CustomerName { get; set; }
///
/// 装运方式 整箱、拼箱单票、拼箱主票、拼箱分票
///
public string BLType { get; set; }
///
/// 发货人 t_info_client CUSTNAME
///
public long? ShipperId { get; set; }
///
/// 收货人 t_info_client CUSTNAME
///
public long? ConsigneeId { get; set; }
///
/// 通知人 t_info_client CUSTNAME
///
public long? NotifyPartyId { get; set; }
///
/// 国外代理人Id t_info_client CUSTNAME
///
public long? AgentId { get; set; }
///
/// 国外代理人 t_info_client CUSTNAME
///
public string Agent { get; set; }
///
/// 发货人内容
///
public string ShipperContent { get; set; }
///
/// 收货人内容
///
public string ConsigneeContent { get; set; }
///
/// 通知人内容
///
public string NotifyPartyContent { get; set; }
///
/// 国外代理内容
///
public string AgentContent { get; set; }
///
/// 场站Id t_crm_client CUSTNAME
///
public long YardId { get; set; }
///
/// 场站 t_crm_client CUSTNAME
///
public string Yard { get; set; }
///
/// 场站备注
///
public string YardRemark { get; set; }
///
/// 船名 t_code_vessel
///
public string Vessel { get; set; }
///
/// 船名Id t_code_vessel
///
public long VesselId { get; set; }
///
/// 航次
///
public string Voyno { get; set; }
///
/// 开船日期
///
public DateTime? ETD { get; set; }
///
/// 预抵日期
///
public DateTime? ETA { get; set; }
///
/// ATD
///
public DateTime? ATD { get; set; }
///
/// 截港日期
///
public DateTime? ClosingDate { get; set; }
///
/// 收货地
///
public string ReceiptPlace { get; set; }
///
/// 装货港Id
///
public long ReceiptPlaceId { get; set; }
///
/// 装货港代码
///
public long LoadPortId { get; set; }
///
/// 装货港
///
public string LoadPort { get; set; }
///
/// 卸货港代码
///
public long DischargePortId { get; set; }
///
/// 卸货港
///
public string DischargePort { get; set; }
///
/// 交货地代码
///
public long DeliveryPlaceId { get; set; }
///
/// 交货地
///
public string DeliveryPlace { get; set; }
///
/// 目的地代码
///
public long DestinationId { get; set; }
///
/// 目的地
///
public string Destination { get; set; }
///
/// 提单份数
///
public string NoBill { get; set; }
///
/// 副本份数
///
public string CopyNoBill { get; set; }
///
/// 签单方式 t_code_issutype
///
public string IssueType { get; set; }
///
/// 签单日期
///
public DateTime? IssueDate { get; set; }
///
/// 签单地点Id
///
public long IssuePlaceId { get; set; }
///
/// 签单地点
///
public string IssuePlace { get; set; }
///
/// 签单状态
///
public DateTime? BLIssueSatus { get; set; }
///
/// 付款地点Id
///
public long PrepareAtId { get; set; }
///
/// 预付地点
///
public string PrepareAt { get; set; }
///
/// 预付地点
///
public string PayableAt { get; set; }
///
/// 运输条款 CY-CY t_code_service
///
public string Service { get; set; }
///
/// 唛头 N/M
///
public string Marks { get; set; }
///
/// 箱号封号
///
public string CntrSealNo { get; set; }
///
/// 件数包装
///
public string NoPkgs { get; set; }
///
/// 货物描述
///
public string Description { get; set; }
///
/// 品名Id
///
public long GoodsId { get; set; }
///
/// 品名 t_code_goods
///
public string GoodsName { get; set; }
///
/// 货物毛重
///
public string GrossWeight { get; set; }
///
/// 货物尺码
///
public string Measurement { get; set; }
///
/// 件数
///
public int? PKGS { get; set; }
///
/// 包装 t_code_package
///
public string KindPkgs { get; set; }
///
/// 毛重
///
public decimal? KGS { get; set; }
///
/// 尺码
///
public decimal? CBM { get; set; }
///
/// 件数大写
///
public string TotalNo { get; set; }
///
/// 集装箱大写
///
public string CntrNo { get; set; }
///
/// 操作员
///
public long OperatorId { get; set; }
///
/// 客服
///
public long CustomerService { get; set; }
///
/// 外国客服
///
public long ForeignCustomerService { get; set; }
///
/// 航线Id
///
public long LaneId { get; set; }
///
/// 航线
///
public string Lane { get; set; }
///
/// 揽货人Id
///
public long SaleId { get; set; }
///
/// 揽货人
///
public string Sale { get; set; }
///
/// 船公司Id
///
public long CarrierId { get; set; }
///
/// 船公司
///
public string Carrier { get; set; }
///
/// 货代公司Id
///
public long ForwarderId { get; set; }
///
/// 货代公司
///
public string Forwarder { get; set; }
///
/// 报关行Id
///
public long CustomserId { get; set; }
///
/// 报关行
///
public string Customser { get; set; }
///
/// 承运车队Id
///
public long TruckerId { get; set; }
///
/// 承运车队
///
public string Trucker { get; set; }
///
/// 发票号
///
public string InvoiceNo { get; set; }
///
/// 货物标识 S/R/D/O
///
public string CargoId { get; set; }
///
/// 危险品分类
///
public string DangerClass { get; set; }
///
/// 危险品编号
///
public string DangerNo { get; set; }
///
/// 危险品页号
///
public string DangerPage { get; set; }
///
/// 危险品标签
///
public string DangerLabel { get; set; }
///
/// 冷藏通风量
///
public string ReeferQuantity { get; set; }
///
/// 温度单位
///
public string TemperatureUnit { get; set; }
///
/// 设置温度
///
public string TemperatureSet { get; set; }
///
/// 最低温度
///
public string TemperatureMin { get; set; }
///
/// 最高温度
///
public string TemperatureMax { get; set; }
///
/// Desc:业务来源Id
///
public long SourceId { get; set; }
///
/// Desc:业务来源明细Id
///
public long SourceDetailId { get; set; }
///
/// Desc:报关票数
///
public int CustomsNum { get; set; } = 0;
///
/// 运费协议号(约号)
///
public string ContractNo { get; set; }
///
/// 订舱类型
///
public string BookingType { get; set; }
///
/// 订舱编号
///
public string BookingNo { get; set; }
///
/// Desc:保险人
///
public string Insuranceer { get; set; }
///
/// Desc:保险单号
///
public string InsuranceNo { get; set; }
///
/// Desc:保险金额
///
public decimal? InsuranceAmount { get; set; }
///
/// Desc:是否生成凭证
///
public bool? IsVoucher { get; set; } = false;
///
/// Desc:凭证号
///
public string VoucherNo { get; set; }
///
/// Desc:备注
///
public string Remark { get; set; }
///
/// Desc:熏蒸
///
public bool? IsFumigation { get; set; } = false;
///
/// Desc:仓储
///
public bool? IsStorage { get; set; } = false;
///
/// Desc:陆运
///
public bool? IsLand { get; set; } = false;
///
/// Desc:报关
///
public bool? IsCustoms { get; set; } = false;
///
/// Desc:报检
///
public bool? IsInspection { get; set; } = false;
///
/// Desc:订舱
///
public bool? IsBooking { get; set; } = false;
///
/// Desc:使用代理
///
public bool? IsAgent { get; set; } = false;
///
/// Desc:分单签单
///
public bool? IsHBLNO { get; set; } = false;
///
/// Desc:服务项目9
///
public bool? Service9 { get; set; } = false;
///
/// Desc:服务项目10
///
public bool? Service10 { get; set; } = false;
///
/// Desc:单证
///
public long Doc { get; set; }
///
/// Desc:装箱类型
///
public string PackingType { get; set; }
///
/// Desc:仓库Id
///
public long WareHouseId { get; set; }
///
/// Desc:仓库
///
public string WareHouse { get; set; }
///
/// 截单日期
///
public DateTime? CloseDocDate { get; set; }
///
/// 集港日期
///
public DateTime? IntoPortDocDate { get; set; }
///
/// Desc:所属业务部门
///
public long SaleDeptId { get; set; }
///
/// Desc:MBL付费方式 t_code_frt
///
public string MBLFrt { get; set; }
///
/// Desc:结算方式
///
public string StlName { get; set; }
///
/// Desc:月结算时间
///
public DateTime? StlDate { get; set; }
///
/// Desc:委托方式
///
public string OrderType { get; set; }
///
/// Desc:订舱编号
///
public string OrderNo { get; set; }
///
/// Desc:操作员代码
///
public string OperatorCode { get; set; }
///
/// Desc:是否为操作
///
public bool IsOperator { get; set; }
///
/// Desc:操作员邮箱
///
public string OperatorEmail { get; set; }
///
/// Desc:操作员电话
///
public string OperatorTel { get; set; }
///
/// Desc:操作员传真
///
public string OperatorFax { get; set; }
///
/// Desc:场站自结
///
public string FinancialStaffCode { get; set; }
///
/// Desc:是否为财务
///
public bool? IsFinancialStaff { get; set; } = false;
///
/// Desc:财务邮箱
///
public string FinancialStaffEmail { get; set; }
///
/// Desc:财务电话
///
public string FinancialStaffTel { get; set; }
///
/// Desc:财务传真
///
public string FinancialStaffFax { get; set; }
///
/// Desc:业务来源代码
///
public string SourceCode { get; set; }
///
/// Desc:联系人
///
public string LinkMan { get; set; }
///
/// Desc:海关代码
///
public string HSCode { get; set; }
///
/// Desc:EDI备注
///
public string EdiRemark { get; set; }
///
/// Desc:邮件方案
///
public long MailProjectId { get; set; }
///
/// Desc:CSR/IR号
///
public string IRCode { get; set; }
///
/// Desc:服务合同号
///
public string ServiceContractNo { get; set; }
///
/// Desc:申请放箱号
///
public string ApplyNo { get; set; }
///
/// Desc:报关单号
///
public string CustomNo { get; set; }
///
/// Desc: 报关日期
///
public DateTime? CustomDate { get; set; }
///
/// 单位编码
///
public long? EnterpriseId { get; set; }
///
/// 单位
///
public string Enterprise { get; set; }
///
/// Desc:商检单号
///
public string InspectionNo { get; set; }
///
/// Desc:商检日期
///
public DateTime? InspectionDate { get; set; }
///
/// Desc:贸易条款
///
public string TradeTerm { get; set; }
///
/// Desc:贸易方式
///
public string TermDelivery { get; set; }
///
/// Desc:清关日期
///
public DateTime ClearCustomDate { get; set; }
///
/// Desc:报检项目
///
public string InsperctService { get; set; }
///
/// 船代Id
///
public long ShipAgencyId { get; set; }
///
/// 船代
///
public string ShipAgency { get; set; }
///
/// Desc:湿度
///
public string Humidity { get; set; }
///
/// Master发货人
///
public long? MasterShipperId { get; set; }
///
/// Master收货人 t_info_client CUSTNAME
///
public long? MasterConsigneeId { get; set; }
///
/// Master通知人 t_info_client CUSTNAME
///
public long? MasterNotifyPartyId { get; set; }
///
/// Master收货人内容
///
public string MasterConsigneeContent { get; set; }
///
/// Master通知人内容
///
public string MasterNotifyPartyContent { get; set; }
///
/// Master发货人内容
///
public string MasterShipperContent { get; set; }
///
/// Master单描述
///
public string MasterDescription { get; set; }
///
/// Desc:是否SOC
///
public bool? IsContainerSoc { get; set; } = false;
///
/// Desc:运输状态
///
public string TranStatus { get; set; }
///
/// Desc:
///
public string ManifestStatus { get; set; }
///
/// 是否多品名
///
public bool IsMoreGood { get; set; }
///
/// 是否打印小票
///
public bool IsPrintReceipt { get; set; }
// ///
// /// 是否取消
// ///
// [SugarColumn(ColumnDescription = "是否取消", DefaultValue = "0")]
// public bool IsCancel { get; set; }
//
// ///
// /// 是否TUI
// ///
// [SugarColumn(ColumnDescription = "是否TUI", DefaultValue = "0")]
// public bool IsTUI { get; set; }
///
/// 船名 t_code_vessel
///
public string Vessel2N { get; set; }
///
/// 船名Id t_code_vessel
///
public long VesselId2N { get; set; }
///
/// 二程航次
///
public string Voyno2N { get; set; }
///
/// 交货日期
///
public DateTime DeliveryDate { get; set; }
///
/// 场站联系人
///
public string YardATTN { get; set; }
///
/// 场站联系方式
///
public string YardTel { get; set; }
///
/// 销售公司Id
///
public long SaleOrgId { get; set; }
///
/// 中转港Id
///
public long TransPortId { get; set; }
///
/// 中转港
///
public string TransPort { get; set; }
///
/// 转运备注
///
public string TransRemark { get; set; }
///
/// 截单备注
///
public string CloseDocRemark { get; set; }
///
/// 订舱备注
///
public string BookingRemark { get; set; }
///
/// 预录
///
public int PreRecord { get; set; } = 0;
///
/// 备注
///
public string Note { get; set; } = "";
///
/// 中转港代码
///
public string TransPortCode { get; set; }
///
/// 第三付款地
///
[SugarColumn(ColumnDescription = "第三付款地", IsNullable = true, Length = 50)]
public string ThirdPayAt { get; set; }
///
/// 发货人 t_info_client CUSTNAME
///
public string Shipper { get; set; }
///
/// 收货人 t_info_client CUSTNAME
///
public string Consignee { get; set; }
///
/// 通知人 t_info_client CUSTNAME
///
public string NotifyParty { get; set; }
///
/// 内部航次
///
public string InnerVoyno { get; set; }
///
/// 第二通知人Id t_info_client CUSTNAME
///
public long? SecondNotifyPartyId { get; set; }
///
/// 第二通知人 t_info_client CUSTNAME
///
public string SecondNotifyParty { get; set; }
///
/// 第二通知人内容
///
public string SecondNotifyPartyContent { get; set; }
///
/// 委托单位联系人Id
///
public long CustomerContactId { get; set; }
///
/// 场站联系人Id
///
public long YardContactId { get; set; }
///
/// 车队联系人Id
///
public long CarrierContactId { get; set; }
///
/// 第三付款地Id
///
public long ThirdPayAtId { get; set; }
///
/// 预付地点Id
///
public long PayableAtId { get; set; }
///
/// 拆票或合票标志 1-拆票 2-合票
///
public int SplitOrMergeFlag { get; set; }
///
/// Desc:单证人员
///
public string DocName { get; set; }
///
/// 操作员名称
///
public string OperatorName { get; set; }
///
/// 客服名称
///
public string CustomerServiceName { get; set; }
///
/// 外国客服名称
///
public string ForeignCustomerServiceName { get; set; }
///
/// 截VGM时间
///
public DateTime? VGMCloseDate { get; set; }
///
/// 单证备注
///
public string DocRemark { get; set; }
///
/// 操作备注
///
public string OperatorRemark { get; set; }
///
/// 申请箱使
///
public string ApplyCtnRemark { get; set; }
///
/// 客户编号
///
public string CustomerNum { get; set; }
///
/// 国内发货人 t_info_client CUSTNAME
///
public long? ShipperCnId { get; set; }
///
/// 国内发货人 t_info_client CUSTNAME
///
public string ShipperCn { get; set; }
///
/// 装运方式代码 整箱、拼箱单票、拼箱主票、拼箱分票代码
///
public string BLTypeCode { get; set; }
///
/// Desc:结算方式代码
///
public string StlCode { get; set; }
///
/// Desc:贸易方式代码
///
public string TermDeliveryCode { get; set; }
///
/// Desc:贸易条款代码
///
public string TradeTermCode { get; set; }
///
/// 签单方式代码 t_code_issutype
///
public string IssueTypeCode { get; set; }
///
/// Desc:MBL付费方式代码 t_code_frt
///
public string MBLFrtCode { get; set; }
///
/// 运输条款代码 CY-CY t_code_service
///
public string ServiceCode { get; set; }
///
/// 收货地代码
///
public string ReceiptPlaceCode { get; set; }
///
/// 装货港代码
///
public string LoadPortCode { get; set; }
///
/// 卸货港代码
///
public string DischargePortCode { get; set; }
///
/// 交货地代码
///
public string DeliveryPlaceCode { get; set; }
///
/// 目的地代码
///
public string DestinationCode { get; set; }
///
/// 预付地点
///
public string PayableAtCode { get; set; }
///
/// 第三付款地代码
///
public string ThirdPayAtCode { get; set; }
///
/// 签单地点代码
///
public string IssuePlaceCode { get; set; }
///
/// 航线代码
///
public string LaneCode { get; set; }
///
/// 所属分部名称
///
public string SaleOrgName { get; set; }
///
/// 舱位类型
///
public string ShippingSpaceType { get; set; }
///
/// 出单方式
///
public string IssuingWay { get; set; }
///
/// 包装名称 t_code_package
///
public string KindPkgsName { get; set; }
///
/// 约主Id
///
public long ContractClientId { get; set; }
///
/// 约主名称
///
public string ContractClientName { get; set; }
}
///
/// 验证
///
public class SeaExportReqValidator : AbstractValidator
{
///
/// 构造函数
///
public SeaExportReqValidator()
{ ;
this.RuleFor(o => o.AccountDate)
.NotEmpty().WithName("财务日期");
this.RuleFor(o => o.BLType)
.NotEmpty().WithName("装运方式");
}
}