namespace Admin.NET.Plugin.AiDOP.FinishedWarehouse.Dto;
///
/// S7 销售发货通知(头列表)查询入参(只读)。
///
/// 数据源:aidopdev.ASNBOLShipperMaster a LEFT JOIN DepartmentMaster b,忠实复刻证据 sql.txt 口径:
/// 业务过滤 a.ShType='SH' AND a.Typed<>'S' AND a.IsActive=1;join b ON a.Department=b.Department AND a.Domain=b.Domain。
/// 头列表粒度(一行一 ASNBOLShipperMaster)。ASNBOLShipperMaster 有 tenant_id:TenantId>0 时追加 a.tenant_id=@TenantId,
/// TenantId<=0 时不加租户过滤;Domain 仅用于 DepartmentMaster join,不做 Domain 占位过滤。
/// 本查询仅 SELECT:不做明细/详情/发货确认/出库/库存事务/新增编辑删除。
///
public class SalesDeliveryNoticeListInput
{
/// 页码(从 1 开始)
public int Page { get; set; } = 1;
/// 每页条数
public int PageSize { get; set; } = 10;
/// 货运单号/发货单号(ASNBOLShipperMaster.Id,模糊匹配)
public string? Id { get; set; }
/// 销售单号(ASNBOLShipperMaster.OrdNbr,模糊匹配)
public string? OrdNbr { get; set; }
/// 部门(ASNBOLShipperMaster.Department 或 DepartmentMaster.Descr,模糊匹配)
public string? Department { get; set; }
/// 发货日期起(ASNBOLShipperMaster.ShipDate,含当日,yyyy-MM-dd)
public string? ShipDateFrom { get; set; }
/// 发货日期止(ASNBOLShipperMaster.ShipDate,含当日,yyyy-MM-dd)
public string? ShipDateTo { get; set; }
/// 排序字段(白名单:deliveryNo/salesOrderNo/dept/deliveryDate/status/remark)
public string? OrderBy { get; set; }
/// 排序方向(asc/desc,非法回落 desc)
public string? OrderDir { get; set; }
/// 租户 ID(前端 withAidopTenantParams 注入;>0 时按 a.tenant_id 过滤,<=0 不过滤)
public long? TenantId { get; set; }
}
///
/// S7 销售发货通知(头列表)行(只读)。字段对齐前端列 prop(camelCase),源列见注释(sql.txt / ASNBOLShipperMaster)。
///
public class SalesDeliveryNoticeListRow
{
/// 主键(ASNBOLShipperMaster.RecID)
public int? RecId { get; set; }
/// 发货单号(ASNBOLShipperMaster.Id)
public string? DeliveryNo { get; set; }
/// 销售单号(ASNBOLShipperMaster.OrdNbr)
public string? SalesOrderNo { get; set; }
/// 部门(Department + ' ' + DepartmentMaster.Descr)
public string? Dept { get; set; }
/// 发货日期(ASNBOLShipperMaster.ShipDate)
public DateTime? DeliveryDate { get; set; }
/// 状态(ASNBOLShipperMaster.Status,raw 展示)
public string? Status { get; set; }
/// 备注(ASNBOLShipperMaster.Remark)
public string? Remark { get; set; }
/// 客户(ASNBOLShipperMaster.SoldTo,DTO 保留,前端不展示)
public string? SoldTo { get; set; }
/// 公司域(ASNBOLShipperMaster.Domain,DTO 保留,前端不展示)
public string? Domain { get; set; }
/// 发货确认标志(ASNBOLShipperMaster.IsConfirm,DTO 保留,前端不展示)
public int? IsConfirm { get; set; }
/// 租户 ID(ASNBOLShipperMaster.tenant_id,DTO 保留,前端不展示)
public long? TenantId { get; set; }
}