namespace Admin.NET.Plugin.AiDOP.Dto.S0.Sales; public class AdoS0ToggleEnabledDto { public bool IsEnabled { get; set; } } public class AdoS0ItemSubstituteDetailQueryDto { public string? Domain { get; set; } public string? Keyword { get; set; } public string? SubstituteType { get; set; } public int Page { get; set; } = 1; public int PageSize { get; set; } = 20; } /// /// 选择替代方案(ic_substitute)只读查询 /// public class AdoS0SubstituteSchemeQueryDto { /// 源平台 company_id;为空则不按公司过滤。 public long? CompanyId { get; set; } /// 源平台 factory_id;为空则不按工厂过滤。 public long? FactoryId { get; set; } /// 替代方案编码(模糊匹配) public string? SubstituteCode { get; set; } public int Page { get; set; } = 1; public int PageSize { get; set; } = 20; } public class AdoS0ItemSubstituteDetailUpsertDto { [Required(ErrorMessage = "父级物料不能为空")] public string ParentItem { get; set; } = string.Empty; [Required(ErrorMessage = "物料编码不能为空")] public string ItemNum { get; set; } = string.Empty; [Required(ErrorMessage = "替代物料不能为空")] public string SubstituteItem { get; set; } = string.Empty; public decimal? SubstituteQty { get; set; } public string? SubstituteType { get; set; } public string? Remark { get; set; } [Required(ErrorMessage = "工厂域不能为空")] public string Domain { get; set; } = string.Empty; public string? CreateUser { get; set; } public DateTime? CreateTime { get; set; } public string? UpdateUser { get; set; } public DateTime? UpdateTime { get; set; } } /// 客户主数据启停(CustMaster / IsActive) public class AdoS0CustMasterToggleActiveDto { public bool IsActive { get; set; } } public class AdoS0CustMasterQueryDto { public long? CompanyRefId { get; set; } public long? FactoryRefId { get; set; } public string? DomainCode { get; set; } /// 同时匹配客户编码、客户简称 public string? Keyword { get; set; } public string? Cust { get; set; } public string? SortName { get; set; } public string? Curr { get; set; } public string? Slspsn1 { get; set; } public string? ShipTo { get; set; } public bool? IsActive { get; set; } public bool? IsConfirm { get; set; } public int Page { get; set; } = 1; public int PageSize { get; set; } = 20; } public class AdoS0CustMasterUpsertDto { [Range(1, long.MaxValue, ErrorMessage = "公司不能为空")] public long CompanyRefId { get; set; } [Range(1, long.MaxValue, ErrorMessage = "工厂不能为空")] public long FactoryRefId { get; set; } public string? DomainCode { get; set; } [Required(ErrorMessage = "客户编码不能为空")] public string Cust { get; set; } = string.Empty; [Required(ErrorMessage = "客户简称不能为空")] public string SortName { get; set; } = string.Empty; public string? CustFullName { get; set; } public string? Curr { get; set; } public string? Slspsn1 { get; set; } public string? Slspsn2 { get; set; } public string? ShipTo { get; set; } public string? TaxClass { get; set; } public bool TaxIn { get; set; } = true; public string? CustClass { get; set; } public string? Address { get; set; } public string? Contact { get; set; } public string? Position { get; set; } public string? ContactInfo { get; set; } public string? CreditRating { get; set; } public string? Remarks { get; set; } public bool IsActive { get; set; } = true; public bool IsConfirm { get; set; } public string? CreateUser { get; set; } public string? UpdateUser { get; set; } } /// 物料主数据启停(ItemMaster / IsActive) public class AdoS0ItemMasterToggleActiveDto { public bool IsActive { get; set; } } public class AdoS0ItemMasterQueryDto { public long? CompanyRefId { get; set; } public long? FactoryRefId { get; set; } public string? DomainCode { get; set; } /// 匹配物料编码、物料名称 public string? Keyword { get; set; } public string? ItemNum { get; set; } public string? Descr { get; set; } public string? Descr1 { get; set; } public string? ItemType { get; set; } public string? PurMfg { get; set; } public string? Location { get; set; } public string? Status { get; set; } public bool? IsActive { get; set; } public bool? IsConfirm { get; set; } public int Page { get; set; } = 1; public int PageSize { get; set; } = 20; } public class AdoS0ItemMasterUpsertDto { [Range(1, long.MaxValue, ErrorMessage = "公司不能为空")] public long CompanyRefId { get; set; } [Range(1, long.MaxValue, ErrorMessage = "工厂不能为空")] public long FactoryRefId { get; set; } public string? DomainCode { get; set; } [Required(ErrorMessage = "物料编码不能为空")] public string ItemNum { get; set; } = string.Empty; [Required(ErrorMessage = "物料名称不能为空")] public string Descr { get; set; } = string.Empty; public string? Descr1 { get; set; } public string? PkgCode { get; set; } public string? UM { get; set; } public string? PurMfg { get; set; } public string? Drawing { get; set; } public string? ItemType { get; set; } public string? Location { get; set; } public string? DefaultShelf { get; set; } public bool KeyItem { get; set; } public decimal? NetWeight { get; set; } public string? NetWeightUM { get; set; } public bool Inspect { get; set; } public int? PurLT { get; set; } public int? InsLT { get; set; } public int? MfgLT { get; set; } public decimal? Length { get; set; } public decimal? Size { get; set; } public string? SizeUM { get; set; } public bool IssuePolicy { get; set; } public int? MfgMttr { get; set; } public string? LocationType { get; set; } public string? CommodityCode { get; set; } public string? Rev { get; set; } public decimal? MaxOrd { get; set; } public decimal? MinOrd { get; set; } public decimal? OrdMult { get; set; } public decimal? MinOrdSales { get; set; } public bool AutoLotNums { get; set; } public bool Install { get; set; } public decimal? SafetyStk { get; set; } public int? DaysBetweenPM { get; set; } public int? ExpireAlarmDay { get; set; } public decimal? StockTurnOver { get; set; } public bool LotSerialControl { get; set; } public bool AllocateSingleLot { get; set; } public string? Status { get; set; } public string? Planner { get; set; } public bool TraceDetail { get; set; } public bool IsMainMas { get; set; } public string? Remark { get; set; } public string? EMTType { get; set; } public string? OwnerApplication { get; set; } public int? BOMDesign { get; set; } public int? RoutingDes { get; set; } public bool CustSupplied { get; set; } public int? DrawingDesign { get; set; } public string? DesignOwner { get; set; } public bool IsActive { get; set; } = true; public bool IsConfirm { get; set; } public string? CreateUser { get; set; } public string? UpdateUser { get; set; } } /// 订单优先级(PriorityCode / IsActive) public class AdoS0PriorityCodeToggleActiveDto { public bool IsActive { get; set; } } public class AdoS0PriorityCodeQueryDto { public long? CompanyRefId { get; set; } public long? FactoryRefId { get; set; } public string? DomainCode { get; set; } /// 匹配名称、来源表、工单字段 value public string? Keyword { get; set; } public string? Descr { get; set; } public int? Priority { get; set; } public string? SourceTable { get; set; } public string? SourceColumn { get; set; } public string? Value { get; set; } public string? ScopeCustClass { get; set; } public string? ScopeOrderType { get; set; } public int? ScopeDueDaysMax { get; set; } public bool? IsActive { get; set; } public int Page { get; set; } = 1; public int PageSize { get; set; } = 20; } public class AdoS0PriorityCodeUpsertDto { [Range(1, long.MaxValue, ErrorMessage = "公司不能为空")] public long CompanyRefId { get; set; } [Range(1, long.MaxValue, ErrorMessage = "工厂不能为空")] public long FactoryRefId { get; set; } public string? DomainCode { get; set; } [Required(ErrorMessage = "名称不能为空")] public string Descr { get; set; } = string.Empty; public string? Value { get; set; } public int Priority { get; set; } /// 0=倒序,非0=正序 public int OrderByCode { get; set; } = 1; public string? SourceTable { get; set; } public string? SourceColumn { get; set; } public string? SourceType { get; set; } public string? SourceId { get; set; } public string? ValueType { get; set; } public string? ValueId { get; set; } public string? ScopeCustClass { get; set; } public string? ScopeOrderType { get; set; } public int? ScopeDueDaysMax { get; set; } public bool IsActive { get; set; } = true; public string? CreateUser { get; set; } public string? UpdateUser { get; set; } } // ── B1: 合同评审周期标准 ────────────────────────────────────────────── public class AdoS0ContractReviewCycleQueryDto { public long? CompanyRefId { get; set; } public long? FactoryRefId { get; set; } public string? DomainCode { get; set; } public bool? IsActive { get; set; } public int Page { get; set; } = 1; public int PageSize { get; set; } = 20; } public class AdoS0ContractReviewCycleUpsertDto { [Range(1, long.MaxValue, ErrorMessage = "公司不能为空")] public long CompanyRefId { get; set; } [Range(1, long.MaxValue, ErrorMessage = "工厂不能为空")] public long FactoryRefId { get; set; } public string? DomainCode { get; set; } [Required(ErrorMessage = "阶段编码不能为空")] public string StageCode { get; set; } = string.Empty; [Required(ErrorMessage = "阶段名称不能为空")] public string StageName { get; set; } = string.Empty; [Range(0, int.MaxValue, ErrorMessage = "标准时长不能为负")] public int StdHours { get; set; } public int OrderNo { get; set; } public bool IsActive { get; set; } = true; public string? CreateUser { get; set; } public string? UpdateUser { get; set; } } public class AdoS0ContractReviewCycleToggleActiveDto { public bool IsActive { get; set; } } // ── B2: 产品设计周期标准 ────────────────────────────────────────────── public class AdoS0ProductDesignCycleQueryDto { public long? CompanyRefId { get; set; } public long? FactoryRefId { get; set; } public string? DomainCode { get; set; } public string? ItemType { get; set; } public string? OwnerApplication { get; set; } public bool? IsActive { get; set; } public int Page { get; set; } = 1; public int PageSize { get; set; } = 20; } public class AdoS0ProductDesignCycleUpsertDto { [Range(1, long.MaxValue, ErrorMessage = "公司不能为空")] public long CompanyRefId { get; set; } [Range(1, long.MaxValue, ErrorMessage = "工厂不能为空")] public long FactoryRefId { get; set; } public string? DomainCode { get; set; } [Required(ErrorMessage = "物料类型不能为空")] public string ItemType { get; set; } = string.Empty; [Required(ErrorMessage = "物料属性不能为空")] public string OwnerApplication { get; set; } = string.Empty; [Range(0, int.MaxValue, ErrorMessage = "标准时长不能为负")] public int StdHours { get; set; } public bool IsActive { get; set; } = true; public string? CreateUser { get; set; } public string? UpdateUser { get; set; } } public class AdoS0ProductDesignCycleToggleActiveDto { public bool IsActive { get; set; } } // ── B3: 订单评审周期标准 ────────────────────────────────────────────── public class AdoS0OrderReviewCycleQueryDto { public long? CompanyRefId { get; set; } public long? FactoryRefId { get; set; } public string? DomainCode { get; set; } public string? OrderType { get; set; } public bool? IsActive { get; set; } public int Page { get; set; } = 1; public int PageSize { get; set; } = 20; } public class AdoS0OrderReviewCycleUpsertDto { [Range(1, long.MaxValue, ErrorMessage = "公司不能为空")] public long CompanyRefId { get; set; } [Range(1, long.MaxValue, ErrorMessage = "工厂不能为空")] public long FactoryRefId { get; set; } public string? DomainCode { get; set; } /// 订单类型;留空表示默认/不限。 public string? OrderType { get; set; } [Range(0, int.MaxValue, ErrorMessage = "标准时长不能为负")] public int StdHours { get; set; } public string? Remarks { get; set; } public bool IsActive { get; set; } = true; public string? CreateUser { get; set; } public string? UpdateUser { get; set; } } public class AdoS0OrderReviewCycleToggleActiveDto { public bool IsActive { get; set; } }