namespace Admin.NET.Plugin.AiDOP.MaterialWarehouse.Dto;
///
/// S5 盘点结果查询 列表查询入参(只读)。
///
/// 数据源:aidopdev.MissedPrint(盘点标签 IsTag=1),按证据 sql.txt 口径 join ItemMaster(名称/规格/单位)。
/// 盘点口径由 SQL 内定义:账面(标签数量)=Qty;盘点(实盘数量)=CompQty;差异数量=CompQty-Qty;
/// 盘点状态=CompQty≠Qty?'有差异':'正常';状态=Status='Q'?'冻结':'';实际库位=FirmString2;实际货架=FirmString4。
/// Domain 由 GeneralizedCodeMaster(SystemConfig/CompanyCode) 解析,默认 8010。
/// MissedPrint 无 tenant_id;TenantId 仅为前端 withAidopTenantParams 注入的透传参数,本查询不据其过滤。
///
public class StocktakeResultListInput
{
/// 页码(从 1 开始)
public int Page { get; set; } = 1;
/// 每页条数
public int PageSize { get; set; } = 10;
/// 物料编码(MissedPrint.ItemNum,模糊匹配)
public string? MaterialCode { get; set; }
/// 盘点状态(有差异 / 正常,按 CompQty 与 Qty 是否相等过滤)
public string? InvStatus { get; set; }
/// 租户 ID(前端 withAidopTenantParams 注入;MissedPrint 无租户列,本查询忽略)
public long? TenantId { get; set; }
}
///
/// S5 盘点结果查询 列表行(只读)。字段对齐前端列 prop(camelCase),源列见注释(sql.txt / MissedPrint IsTag=1)。
///
public class StocktakeResultListRow
{
/// 物料编码(MissedPrint.ItemNum)
public string? MaterialCode { get; set; }
/// 物料名称(ItemMaster.Descr)
public string? MaterialName { get; set; }
/// 规格型号(ItemMaster.Descr1)
public string? Spec { get; set; }
/// 库位(MissedPrint.Location)
public string? Location { get; set; }
/// 货架(MissedPrint.Shelf)
public string? Shelf { get; set; }
/// 实际库位(MissedPrint.FirmString2)
public string? ActLocation { get; set; }
/// 实际货架(MissedPrint.FirmString4)
public string? ActShelf { get; set; }
/// 批次号(MissedPrint.LotSerial)
public string? BatchNo { get; set; }
/// 单位(ItemMaster.UM)
public string? Unit { get; set; }
/// 标签数量(账面,MissedPrint.Qty)
public decimal? TagQty { get; set; }
/// 实盘数量(MissedPrint.CompQty)
public decimal? CountQty { get; set; }
/// 差异数量(CompQty-Qty)
public decimal? QtyDiff { get; set; }
/// 状态(Status='Q'?'冻结':'')
public string? Status { get; set; }
/// 盘点状态(CompQty≠Qty?'有差异':'正常')
public string? InvStatus { get; set; }
/// 盘点人(MissedPrint.UpdateUser)
public string? CountUser { get; set; }
/// 盘点时间(MissedPrint.UpdateTime)
public DateTime? CountTime { get; set; }
}