using Admin.NET.Plugin.AiDOP.MaterialWarehouse.Dto;
namespace Admin.NET.Plugin.AiDOP.MaterialWarehouse;
///
/// S5 暂收在检列表 只读 list 服务。
///
/// 数据源:aidopdev.MissedPrint(Status='I' 暂收待检、Qty>0、Location 空),忠实复刻旧系统存储过程
/// pr_WMS_GetMissedTempQty:LEFT JOIN qms_qcp_inspecapplyn/qms_qcp_insappnentry 取检验状态,按
/// Supply/PurOrd/PurLine/ShipperNbr/ItemNum/LotSerial 聚合(MAX Shelf/SUM Qty/MAX CheckNo/MAX FINSPECTSTATUS),
/// 再 LEFT JOIN ItemMaster(描述/单位)、SuppMaster(简称),clfs='3' 追加“-挑选使用”。
/// Domain 由 GeneralizedCodeMaster(SystemConfig/CompanyCode) 解析,默认 8010。
///
/// 本服务仅 SELECT:无新增/编辑/删除/库存事务/状态流转;MissedPrint 无 tenant_id,不做租户过滤。
///
[ApiDescriptionSettings(Order = 301, Description = "暂收在检列表")]
[Route("api/S5PendingInspection")]
[AllowAnonymous]
[NonUnify]
public class PendingInspectionService : IDynamicApiController, ITransient
{
private readonly ISqlSugarClient _db;
public PendingInspectionService(ISqlSugarClient db)
{
_db = db;
}
/// 解析公司域(GeneralizedCodeMaster SystemConfig/CompanyCode,默认 8010)。
private async Task ResolveDomainAsync()
{
var list = await _db.Ado.SqlQueryAsync(
"SELECT Domain FROM GeneralizedCodeMaster WHERE FldName='SystemConfig' AND Val='CompanyCode' ORDER BY RecID LIMIT 1");
var domain = list.FirstOrDefault();
return string.IsNullOrWhiteSpace(domain) ? "8010" : domain;
}
///
/// 暂收在检列表(只读分页查询)。
///
[DisplayName("暂收在检列表")]
[HttpGet("list")]
public async Task