using Newtonsoft.Json; using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; using System.Globalization; using System.Text.Json; using System.Text.Json.Serialization; using Magicodes.ExporterAndImporter.Core; namespace TaskManager.Contracts.Dtos { /// /// /// public class PAGE_OUT_DTO { /// 数据总数 [JsonPropertyName("total")] public int Total { get; set; } /// 当前页码(从1开始) [JsonPropertyName("pageNum")] public int PageNum { get; set; } /// 每页数量(最大值1000) [JsonPropertyName("pageSize")] public int PageSize { get; set; } } public class PagedRequest { public string batchNo { get; set; } public int total { get; set; } public int pageSize { get; set; } public int pageNum { get; set; } public List list { get; set; }=new List(); } public class PagedResponse { [JsonPropertyName("code")] public int Code { get; set; } [JsonPropertyName("data")] public DataResponse Data { get; set; } [JsonPropertyName("message")] public string Message { get; set; } } public class DataResponse { [JsonPropertyName("total")] public string Total { get; set; } [JsonPropertyName("pageNum")] public string PageNum { get; set; } [JsonPropertyName("pageSize")] public string PageSize { get; set; } [JsonPropertyName("rows")] public List Rows { get; set; } } public class PAGE_DTO { [JsonPropertyName("date")] public string Date { get; set; } = DateTime.Now.ToString("yyyy-MM-dd"); [JsonPropertyName("pageSize")] public int PageSize { get; set; } = 1000; [JsonPropertyName("pageNum")] public int PageNum { get; set; } = 1; [JsonPropertyName("isForce")] public bool IsForce { get; set; } = false; } #region 整车月度生产计划Dto public class SUPPLIER_PRO_PLANING_DTO : PAGE_OUT_DTO { /// 数据行列表 [JsonPropertyName("rows")] public List Rows { get; set; } } public class BaseEntityDto { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long UId { get; set; } public bool WriteState { get; set; } public bool ReadState { get; set; } public DateTime CreationTime { get; set; } public string Remark { get; set; } public Guid TaskId { get; set; } } public class CherryReadBaseEntityDto { public string Id { get; set; } } public class SUPPLIER_PRO_PLANING_DETIAL_DTO: CherryReadBaseEntityDto { /// /// 需求发布版次:唯一版次ID /// [JsonPropertyName("releaseEdition")] [MaxLength(50)] public string ReleaseEdition { get; set; } = string.Empty; /// /// 车型 /// [JsonPropertyName("models")] [MaxLength(50)] public string Models { get; set; } = string.Empty; /// /// 类型 /// [JsonPropertyName("type")] [MaxLength(50)] public string Type { get; set; } = string.Empty; /// /// 动力总成 /// [JsonPropertyName("assembly")] [MaxLength(50)] public string Assembly { get; set; } = string.Empty; /// /// 版型 /// [JsonPropertyName("pattern")] [MaxLength(50)] public string Pattern { get; set; } = string.Empty; /// /// 物料号 /// [JsonPropertyName("materialCode")] [MaxLength(50)] public string MaterialCode { get; set; } = string.Empty; /// /// 起始月份-格式:yyyy-MM /// [JsonPropertyName("startMonth")] [MaxLength(50)] public string StartMonth { get; set; } = string.Empty; /// /// 数量1 /// [JsonPropertyName("quantity1")] public decimal? Quantity1 { get; set; } = 1; /// /// 数量2 /// [JsonPropertyName("quantity2")] public decimal? Quantity2 { get; set; } = 1; /// /// 数量3 /// [JsonPropertyName("quantity3")] public decimal? Quantity3 { get; set; } = 1; /// /// 数量4 /// [JsonPropertyName("quantity4")] public decimal? Quantity4 { get; set; } = 1; /// /// 数量5 /// [JsonPropertyName("quantity5")] public decimal? Quantity5 { get; set; } = 1; /// /// 数量6 /// [JsonPropertyName("quantity6")] public decimal? Quantity6 { get; set; } = 1; /// /// 工厂 /// [JsonPropertyName("plant")] [MaxLength(50)] public string Plant { get; set; } = string.Empty; /// /// 创建人 /// [JsonPropertyName("createByUser")] [MaxLength(50)] public string CreateByUser { get; set; } = string.Empty; /// /// 创建时间 /// [JsonPropertyName("createTime")] public DateTime CreateTime { get; set; } /// /// 修改人 /// [JsonPropertyName("updateByUser")] [MaxLength(50)] public string UpdateByUser { get; set; } = string.Empty; /// /// 修改时间 /// [JsonPropertyName("updateTime")] public DateTime UpdateTime { get; set; } /// /// 是否删除(0:否,1:是) /// [JsonPropertyName("isDelete")] public int IsDelete { get; set; } = 0; /// /// 版本号 /// [JsonPropertyName("version")] public int Version { get; set; } = 1; [JsonProperty("omterior")] // 可能是拼写错误,保留原始名称 public string Omterior { get; set; } [JsonProperty("salseDepartment")] // 可能是拼写错误,保留原始名称 public string SalseDepartment { get; set; } } // 自定义日期转换器(建议单独文件存放) public class CustomDateTimeConverter : System.Text.Json.Serialization.JsonConverter { private const string Format = "yyyy-MM-dd HH:mm:ss"; public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) => DateTime.ParseExact(reader.GetString(), Format, CultureInfo.InvariantCulture); public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) => writer.WriteStringValue(value.ToString(Format, CultureInfo.InvariantCulture)); } #endregion #region M+6月物料需求计划. public class SUPPLIER_MRP_MONTH_DETAIL_DTO: CherryReadBaseEntityDto { public string ReleaseEdition { get; set; } public string MaterialCode { get; set; } public string MaterialDescription { get; set; } public string PlantId { get; set; } public string PlantName { get; set; } public string StartMonth { get; set; } public decimal? QuantityDemand1 { get; set; } public decimal? QuantityDemand2 { get; set; } public decimal? QuantityDemand3 { get; set; } public decimal? QuantityDemand4 { get; set; } public decimal? QuantityDemand5 { get; set; } public decimal? QuantityDemand6 { get; set; } public decimal? QuantityDemand7 { get; set; } public decimal? QuantityDemand8 { get; set; } public decimal? QuantityDemand9 { get; set; } public decimal? QuantityDemand10 { get; set; } public decimal? QuantityDemand11 { get; set; } public decimal? QuantityDemand12 { get; set; } public string IsUpdate { get; set; } public string CreateByUser { get; set; } public DateTime CreateTime { get; set; } public string UpdateByUser { get; set; } public DateTime UpdateTime { get; set; } public int IsDelete { get; set; } public int Version { get; set; } } public class SUPPLIER_MRP_MONTH_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } #endregion #region M+6月物料需求计划风险确认 public class DemandData1 { public int Id { get; set; } public string ReleaseEdition { get; set; } public string MaterialCode { get; set; } public string MaterialDescription { get; set; } public string PlantId { get; set; } public string PlantName { get; set; } public string StartDate { get; set; } // Quantity demands from 1 to 31 public int QuantityDemand1 { get; set; } public int QuantityDemand2 { get; set; } public int QuantityDemand3 { get; set; } public int QuantityDemand4 { get; set; } public int QuantityDemand5 { get; set; } public int QuantityDemand6 { get; set; } public int QuantityDemand7 { get; set; } public int QuantityDemand8 { get; set; } public int QuantityDemand9 { get; set; } public int QuantityDemand10 { get; set; } public int QuantityDemand11 { get; set; } public int QuantityDemand12 { get; set; } public int QuantityDemand13 { get; set; } public int QuantityDemand14 { get; set; } public int QuantityDemand15 { get; set; } public int QuantityDemand16 { get; set; } public int QuantityDemand17 { get; set; } public int QuantityDemand18 { get; set; } public int QuantityDemand19 { get; set; } public int QuantityDemand20 { get; set; } public int QuantityDemand21 { get; set; } public int QuantityDemand22 { get; set; } public int QuantityDemand23 { get; set; } public int QuantityDemand24 { get; set; } public int QuantityDemand25 { get; set; } public int QuantityDemand26 { get; set; } public int QuantityDemand27 { get; set; } public int QuantityDemand28 { get; set; } public int QuantityDemand29 { get; set; } public int QuantityDemand30 { get; set; } public int QuantityDemand31 { get; set; } public string Is_update { get; set; } public string CreateByUser { get; set; } public DateTime CreateTime { get; set; } public string UpdateByUser { get; set; } public DateTime UpdateTime { get; set; } public int IsDelete { get; set; } public int Version { get; set; } } public class ResponseModel1 { public int Total { get; set; } public int PageNum { get; set; } public int PageSize { get; set; } public List Rows { get; set; } } #endregion #region 计划协议 public class SUPPLIER_SA_WEEK_DETAIL_DTO : CherryReadBaseEntityDto { /// /// 计划协议号 /// [MaxLength(50)] public string ScheduleAgreement { get; set; } = ""; /// /// 行项目号 /// [MaxLength(50)] public string SerialNumber { get; set; } = ""; /// /// 零件号:奇瑞零件号 /// [MaxLength(50)] public string MaterialCode { get; set; } = ""; /// /// 零件名称 /// [MaxLength(50)] public string MaterialDescription { get; set; } = ""; /// /// 采购组 /// [MaxLength(50)] public string PurchasingGroup { get; set; } = ""; /// /// 工厂代码 /// [MaxLength(50)] public string PlantId { get; set; } = ""; /// /// 需求数量 /// public decimal? QuantityDemand { get; set; } = 1; /// /// 交货日期-格式:yyyy-MM-dd /// [MaxLength(50)] public DateTime? DateReceived { get; set; } /// /// 创建人 /// [MaxLength(50)] public string CreateByUser { get; set; } = ""; /// /// 创建时间 /// [MaxLength(50)] public DateTime? CreateTime { get; set; } /// /// 修改人 /// [MaxLength(50)] public string UpdateByUser { get; set; } = ""; /// /// 修改时间 /// [MaxLength(50)] public DateTime? UpdateTime { get; set; } /// /// 是否删除(0:否,1是) /// public int IsDelete { get; set; } = 1; /// /// 版本号 /// public int Version { get; set; } = 1; } public class SUPPLIER_SA_WEEK_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } #endregion #region 采购订单 public class SUPPLIER_PO_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } public class SUPPLIER_PO_DETAIL_DTO:CherryReadBaseEntityDto { /// /// 采购订单号 /// [MaxLength(50)] [ExporterHeader(DisplayName = "采购订单号")] public string PurchaseOrder { get; set; } /// /// 行项目号 /// [MaxLength(50)] [ExporterHeader(DisplayName = "行项目号")] public string SerialNumber { get; set; } /// /// 工厂代码 /// [MaxLength(50)] [ExporterHeader(DisplayName = "工厂代码")] public string PlantId { get; set; } /// /// 工厂名称 /// [MaxLength(50)] [ExporterHeader(DisplayName = "工厂名称")] public string PlantName { get; set; } /// /// 凭证日期-格式:yyyy-MM-dd /// [ExporterHeader(DisplayName = "凭证日期", Format = "yyyy-MM-dd")] public DateTime? VoucherDate { get; set; } /// /// 需方联系人 /// [MaxLength(50)] [ExporterHeader(DisplayName = "需方联系人")] public string Purchaser { get; set; } /// /// 供方联系人 /// [MaxLength(50)] [ExporterHeader(DisplayName = "供方联系人")] public string Supplier { get; set; } /// /// 物料编码 /// [MaxLength(50)] [ExporterHeader(DisplayName = "物料编码")] public string MaterialCode { get; set; } /// /// 物料描述 /// [MaxLength(50)] [ExporterHeader(DisplayName = "物料描述")] public string MaterialDescription { get; set; } /// /// 需求数量 /// [ExporterHeader(DisplayName = "需求数量")] public decimal? QuantityDemand { get; set; }=0; /// /// 物料单位 /// [MaxLength(50)] [ExporterHeader(DisplayName = "物料单位")] public string MaterialUnit { get; set; } /// /// 交货日期-格式:yyyy-MM-dd /// [ExporterHeader(DisplayName = "交货日期", Format = "yyyy-MM-dd")] public DateTime? DeliveryDate { get; set; } /// /// 交货地点 /// [MaxLength(50)] [ExporterHeader(DisplayName = "交货地点")] public string DeliveryPlace { get; set; } /// /// 到货数量 /// [ExporterHeader(DisplayName = "到货数量")] public decimal? QuantityDelivery { get; set; } = 0; /// /// 备注:含批次号信息 /// [MaxLength(50)] [ExporterHeader(DisplayName = "备注")] public string Note { get; set; } /// /// 项目类别文本 /// [MaxLength(50)] [ExporterHeader(DisplayName = "项目类别")] public string ItemType { get; set; } /// /// 国际贸易条件 /// [MaxLength(50)] [ExporterHeader(DisplayName = "贸易条件")] public string TradeTerms { get; set; } /// /// 出口国家 /// [MaxLength(50)] [ExporterHeader(DisplayName = "出口国家")] public string Country { get; set; } /// /// 批次 /// [MaxLength(50)] [ExporterHeader(DisplayName = "批次")] public string Batch { get; set; } /// /// 创建人 /// [MaxLength(50)] [ExporterHeader(DisplayName = "创建人")] public string CreateByUser { get; set; } /// /// 创建时间 /// [ExporterHeader(DisplayName = "创建时间", Format = "yyyy-MM-dd HH:mm:ss")] public DateTime CreateTime { get; set; } = DateTime.Now; /// /// 修改人 /// [MaxLength(50)] [ExporterHeader(DisplayName = "修改人")] public string UpdateByUser { get; set; } /// /// 修改时间 /// [ExporterHeader(DisplayName = "修改时间", Format = "yyyy-MM-dd HH:mm:ss")] public DateTime UpdateTime { get; set; } = DateTime.Now; /// /// 是否删除(0:否,1是) /// [ExporterHeader(DisplayName = "删除标记")] public int IsDelete { get; set; } = 0; /// /// 版本号 /// [ExporterHeader(DisplayName = "版本号")] public int Version { get; set; } = 0; } #endregion #region 采购订单风险确认 #region 输入 public class RootObject2323 { public string batchNo { get; set; } public int total { get; set; } public int pageSize { get; set; } public int pageNum { get; set; } public List list { get; set; } } public class Item { public string SupplierCode { get; set; } public string PurchaseOrder { get; set; } public string SerialNumber { get; set; } public int QuantityMeet { get; set; } public string FeedbackResults { get; set; } public string VentureType { get; set; } public string VentureSpecific { get; set; } public string Measures { get; set; } } #endregion #region 输出 public class Response { public string code { get; set; } public string message { get; set; } public Data data { get; set; } } public class Data { public string batchNo { get; set; } public string apiName { get; set; } public int totalGet { get; set; } public int totalError { get; set; } public int totalSave { get; set; } } #endregion #endregion #region 过焊装未过总装(输出) public class SUPPLIER_PRO_HSCHEDUL_DETAIL_DTO : CherryReadBaseEntityDto { /// /// 车型 /// [MaxLength(50)] [ExporterHeader(DisplayName = "车型")] public string Models { get; set; } /// /// VIN /// [MaxLength(50)] [ExporterHeader(DisplayName = "VIN")] public string Vin { get; set; } /// /// 产线代码 /// [MaxLength(50)] [ExporterHeader(DisplayName = "产线代码")] public string ProductionLineId { get; set; } /// /// 产线名称 /// [MaxLength(50)] [ExporterHeader(DisplayName = "产线名称")] public string ProductionLineName { get; set; } /// /// 物料编码 /// [MaxLength(50)] [ExporterHeader(DisplayName = "物料编码")] public string MaterialCode { get; set; } /// /// 物料描述 /// [MaxLength(50)] [ExporterHeader(DisplayName = "物料描述")] public string MaterialDescription { get; set; } /// /// 生产备注(报工类型) /// [MaxLength(50)] [ExporterHeader(DisplayName = "报工类型")] public string ProductionType { get; set; } /// /// 上线日期时间-格式:yyyy-MM-dd HH:mm:ss /// [ExporterHeader(DisplayName = "上线时间", Format = "yyyy-MM-dd HH:mm:ss")] public DateTime? OnLineTime { get; set; } /// /// 创建人 /// [MaxLength(50)] [ExporterHeader(DisplayName = "创建人")] public string CreateByUser { get; set; } /// /// 创建时间 /// [ExporterHeader(DisplayName = "创建时间", Format = "yyyy-MM-dd HH:mm:ss")] public DateTime CreateTime { get; set; } = DateTime.Now; /// /// 修改人 /// [MaxLength(50)] [ExporterHeader(DisplayName = "修改人")] public string UpdateByUser { get; set; } /// /// 修改时间 /// [ExporterHeader(DisplayName = "修改时间", Format = "yyyy-MM-dd HH:mm:ss")] public DateTime UpdateTime { get; set; } = DateTime.Now; /// /// 是否删除(0:否,1是) /// [ExporterHeader(DisplayName = "删除标记")] public int IsDelete { get; set; } = 0; /// /// 版本号 /// [ExporterHeader(DisplayName = "版本号")] public int Version { get; set; } = 0; } public class SUPPLIER_PRO_HSCHEDUL_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } #endregion #region 过涂装未过总装(输出) public class SUPPLIER_PRO_TSCHEDUL_DETAIL_DTO : CherryReadBaseEntityDto { /// /// 车型 /// [MaxLength(50)] [ExporterHeader(DisplayName = "车型")] public string Models { get; set; } /// /// VIN /// [MaxLength(50)] [ExporterHeader(DisplayName = "VIN")] public string Vin { get; set; } /// /// 产线代码 /// [MaxLength(50)] [ExporterHeader(DisplayName = "产线代码")] public string ProductionLineId { get; set; } /// /// 产线名称 /// [MaxLength(50)] [ExporterHeader(DisplayName = "产线名称")] public string ProductionLineName { get; set; } /// /// 物料编码 /// [MaxLength(50)] [ExporterHeader(DisplayName = "物料编码")] public string MaterialCode { get; set; } /// /// 物料描述 /// [MaxLength(50)] [ExporterHeader(DisplayName = "物料描述")] public string MaterialDescription { get; set; } /// /// 上线日期时间-格式:yyyy-MM-dd HH:mm:ss /// [ExporterHeader(DisplayName = "上线时间", Format = "yyyy-MM-dd HH:mm:ss")] public DateTime? OnLineTime { get; set; } /// /// 总装车间 /// [MaxLength(50)] [ExporterHeader(DisplayName = "总装车间")] public string FinalWorkshop { get; set; } /// /// 总装上线日期时间-格式:yyyy-MM-dd HH:mm:ss /// [ExporterHeader(DisplayName = "总装上线时间", Format = "yyyy-MM-dd HH:mm:ss")] public DateTime? FinalOnLineTime { get; set; } /// /// 创建人 /// [MaxLength(50)] [ExporterHeader(DisplayName = "创建人")] public string CreateByUser { get; set; } /// /// 创建时间 /// [ExporterHeader(DisplayName = "创建时间", Format = "yyyy-MM-dd HH:mm:ss")] public DateTime? CreateTime { get; set; } /// /// 修改人 /// [MaxLength(50)] [ExporterHeader(DisplayName = "修改人")] public string UpdateByUser { get; set; } /// /// 修改时间 /// [ExporterHeader(DisplayName = "修改时间", Format = "yyyy-MM-dd HH:mm:ss")] public DateTime UpdateTime { get; set; } /// /// 是否删除(0:否,1是) /// [ExporterHeader(DisplayName = "删除标记")] public string IsDelete { get; set; } = "0"; /// /// 版本号 /// [ExporterHeader(DisplayName = "版本号")] public int Version { get; set; } = 0; } public class SUPPLIER_PRO_TSCHEDUL_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } #endregion #region 排序供货. public class SUPPLIER_PRO_CSCHEDUL_DETAIL_DTO : CherryReadBaseEntityDto { public string Models { get; set; } public string Vin { get; set; } public string ProductionLineId { get; set; } public string ProductionLineName { get; set; } public string MaterialCode { get; set; } public string MaterialDescription { get; set; } public string SortDate { get; set; } public string SortTime { get; set; } public string OnLineDate { get; set; } public string OnLineTime { get; set; } public string ModelCategory { get; set; } public string AssemblyMaterialCode { get; set; } public string MotorMaterialCode { get; set; } public string Plant { get; set; } public string CreateByUser { get; set; } public DateTime CreateTime { get; set; } public string UpdateByUser { get; set; } public DateTime UpdateTime { get; set; } public int IsDelete { get; set; } public int Version { get; set; } } public class SUPPLIER_PRO_CSCHEDUL_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } #endregion #region 看板配送单(输出). public class SUPPLIER_DEL_STATE_DETAIL_DTO : CherryReadBaseEntityDto { public string DeliveryNumber { get; set; } public string SerialNumber { get; set; } public string SerialSrate { get; set; } // Matches input, may check for typo (e.g. SerialState?) public string MaterialCode { get; set; } public string MaterialDescription { get; set; } public string PlantId { get; set; } public string ReceivingCrossings { get; set; } public decimal? QuantityDelivery { get; set; } public string DataCreateTime { get; set; } public string SupplierReceiveTime { get; set; } public string RoadShippedTime { get; set; } public string RoadReceiveTime { get; set; } public string CreateByUser { get; set; } public DateTime CreateTime { get; set; } public string UpdateByUser { get; set; } public DateTime UpdateTime { get; set; } public int IsDelete { get; set; } public int Version { get; set; } } public class SUPPLIER_DEL_STATE_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } #endregion #region 退货单(输出). public class SUPPLIER_RETURN_DETAIL_DTO : CherryReadBaseEntityDto { public string ReturnNumber { get; set; } public string SerialNumber { get; set; } public string SerialSrate { get; set; } // Matches input, possibly a typo (e.g. SerialState?) public string PickUpLocation { get; set; } public string DemandPickupTime { get; set; } public string PickUpCrossings { get; set; } public string Feedback { get; set; } public string Plant { get; set; } public string MaterialCode { get; set; } public string MaterialDescription { get; set; } public decimal? QuantityDelivery { get; set; } public string ReturnType { get; set; } public string LotNumber { get; set; } public string Judge { get; set; } public string ReturnReason { get; set; } public string CreateByUser { get; set; } public DateTime CreateTime { get; set; } public string UpdateByUser { get; set; } public DateTime UpdateTime { get; set; } public int IsDelete { get; set; } public int Version { get; set; } } public class SUPPLIER_RETURN_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } #endregion #region 奇瑞RDC共享库存(输出) public class SUPPLIER_INV_DATA_DETAIL_DTO : CherryReadBaseEntityDto { public string PlantId { get; set; } public string PlantName { get; set; } public string MaterialCode { get; set; } public string MaterialDescription { get; set; } public decimal? QuantityCurrent { get; set; } public string StockState { get; set; } public string DataUpdateTime { get; set; } public string CreateByUser { get; set; } public DateTime CreateTime { get; set; } public string UpdateByUser { get; set; } public DateTime UpdateTime { get; set; } public string IsDelete { get; set; } public int Version { get; set; } } public class SUPPLIER_INV_DATA_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } #endregion #region 日MRP状态监控(输出) public class SUPPLIER_MRP_STATE_DETIAL_DTO : CherryReadBaseEntityDto { public string PlantId { get; set; } public string PlantName { get; set; } public string DemandSrate { get; set; } // Matches input, possibly a typo (e.g. DemandState?) public string DemandType { get; set; } public string MaterialCode { get; set; } public string MaterialDescription { get; set; } public string SummarySign { get; set; } public string DateRequired { get; set; } public decimal? QuantityDemand { get; set; } public string ConfirmTime { get; set; } public decimal? CreatQuantity { get; set; } public decimal? QuantityDelivery { get; set; } public decimal? QuantityReceive { get; set; } public decimal? QuantityInTransit { get; set; } public decimal? OnTimePercentage { get; set; } public decimal? SummaryCreatQuantity { get; set; } public decimal? SummaryQuantityDelivery { get; set; } public decimal? SummaryQuantityReceive { get; set; } public decimal? SummaryQuantityInTransit { get; set; } public string CreateByUser { get; set; } public DateTime CreateTime { get; set; } public string UpdateByUser { get; set; } public DateTime UpdateTime { get; set; } public int IsDelete { get; set; } public int Version { get; set; } } public class SUPPLIER_MRP_STATE_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } #endregion #region 日MRP预警推移 public class SUPPLIER_MRP_WARNING_DETAIL_DTO : CherryReadBaseEntityDto { public string PlantId { get; set; } public string MaterialCode { get; set; } public string MaterialDescription { get; set; } public decimal? QuantityCurrent { get; set; } public string ReckonDate { get; set; } public decimal? QuantityPlanned { get; set; } public decimal? QuantityPlannedDelivery { get; set; } public decimal? QuantityInTransit { get; set; } public decimal? DateGap { get; set; } public decimal? InventoryGap { get; set; } public string CreateByUser { get; set; } public DateTime CreateTime { get; set; } public string UpdateByUser { get; set; } public DateTime UpdateTime { get; set; } public int IsDelete { get; set; } public int Version { get; set; } } public class SUPPLIER_MRP_WARNING_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } #endregion #region M+6月物料需求计划风险确认(输入) #region 输入 public class SUPPLIER_CON_MMRP_DETAIL_DTO { public string SupplierCode { get; set; } public string ReleaseEdition { get; set; } public string MaterialCode { get; set; } public string PlantId { get; set; } public string FeedbackResults { get; set; } public string VentureType { get; set; } public string VentureSpecific { get; set; } public string Measures { get; set; } public string StartMonth { get; set; } public decimal? QuantityMeet1 { get; set; } public decimal? QuantityMeet2 { get; set; } public decimal? QuantityMeet3 { get; set; } public decimal? QuantityMeet4 { get; set; } public decimal? QuantityMeet5 { get; set; } public decimal? QuantityMeet6 { get; set; } public decimal? QuantityMeet7 { get; set; } public decimal? QuantityMeet8 { get; set; } public decimal? QuantityMeet9 { get; set; } public decimal? QuantityMeet10 { get; set; } public decimal? QuantityMeet11 { get; set; } public decimal? QuantityMeet12 { get; set; } } public class SUPPLIER_CON_MMRP_DTO { public string BatchNo { get; set; } public int Total { get; set; } public int PageSize { get; set; } public int PageNum { get; set; } public List List { get; set; } } #endregion #region 输出 public class SUPPLIER_CON_MMRP_DETAIL_OUT_DETAIL_DTO { public string BatchNo { get; set; } public string ApiName { get; set; } public int TotalGet { get; set; } public int TotalError { get; set; } public int TotalSave { get; set; } } public class SUPPLIER_CON_MMRP_OUT_DTO { public string Code { get; set; } public string Message { get; set; } public SUPPLIER_CON_MMRP_DETAIL_OUT_DETAIL_DTO Data { get; set; } } #endregion #endregion #region 日物料需求计划 public class SUPPLIER_MRP_DATE_DTO : PAGE_OUT_DTO { public List Rows { get; set; } } public class SUPPLIER_MRP_DATE_DETAIL_DTO : CherryReadBaseEntityDto { /// /// 需求发布版次(用于接口反馈数据的唯一标识) /// 字符串长度限制:50 字节 /// [StringLength(50)] // 使用数据注解限制长度(需引用 System.ComponentModel.DataAnnotations) public string ReleaseEdition { get; set; } = string.Empty; /// /// 奇瑞零件号 /// 字符串长度限制:50 字节 /// [StringLength(50)] public string MaterialCode { get; set; } = string.Empty; /// /// 零件名称 /// 字符串长度限制:50 字节 /// [StringLength(50)] public string MaterialDescription { get; set; } = string.Empty; /// /// 工厂代码 /// 字符串长度限制:50 字节 /// [StringLength(50)] public string PlantId { get; set; } = string.Empty; /// /// 工厂名称 /// 字符串长度限制:50 字节 /// [StringLength(50)] public string PlantName { get; set; } = string.Empty; /// /// 需求起始日期(格式:yyyy-MM-dd) /// public DateTime? StartDate { get; set; } /// /// 需求起始日期的需求数量 /// public decimal? QuantityDemand1 { get; set; } = 1; /// /// 起始日期+1天的需求数量 /// public decimal? QuantityDemand2 { get; set; } = 1; /// /// 起始日期+2天的需求数量(以此类推) /// public decimal? QuantityDemand3 { get; set; } = 1; // 省略 QuantityDemand4 至 QuantityDemand31 的重复注释(格式与上述一致) public decimal? QuantityDemand4 { get; set; } = 0; public decimal? QuantityDemand5 { get; set; } = 0; public decimal? QuantityDemand6 { get; set; } = 0; public decimal? QuantityDemand7 { get; set; } = 0; public decimal? QuantityDemand8 { get; set; } = 0; public decimal? QuantityDemand9 { get; set; } = 0; public decimal? QuantityDemand10 { get; set; } = 0; public decimal? QuantityDemand11 { get; set; } = 0; public decimal? QuantityDemand12 { get; set; } = 0; public decimal? QuantityDemand13 { get; set; } = 0; public decimal? QuantityDemand14 { get; set; } = 0; public decimal? QuantityDemand15 { get; set; } = 0; public decimal? QuantityDemand16 { get; set; } = 0; public decimal? QuantityDemand17 { get; set; } = 0; public decimal? QuantityDemand18 { get; set; } = 0; public decimal? QuantityDemand19 { get; set; } = 0; public decimal? QuantityDemand20 { get; set; } = 0; public decimal? QuantityDemand21 { get; set; } = 0; public decimal? QuantityDemand22 { get; set; } = 0; public decimal? QuantityDemand23 { get; set; } = 0; public decimal? QuantityDemand24 { get; set; } = 0; public decimal? QuantityDemand25 { get; set; } = 0; public decimal? QuantityDemand26 { get; set; } = 0; public decimal? QuantityDemand27 { get; set; } = 0; public decimal? QuantityDemand28 { get; set; } = 0; public decimal? QuantityDemand29 { get; set; } = 0; public decimal? QuantityDemand30 { get; set; } = 0; public decimal? QuantityDemand31 { get; set; } = 0; /// /// 数据变更标识(1=更新需求,0=未变更) /// public string IsUpdate { get; set; } = string.Empty; /// /// 创建人(字符串长度默认 50 字节) /// [StringLength(50)] public string CreateByUser { get; set; } = string.Empty; /// /// 创建时间(自动填充当前时间) /// public DateTime CreateTime { get; set; } = DateTime.Now; /// /// 修改人(字符串长度默认 50 字节) /// [StringLength(50)] public string UpdateByUser { get; set; } = string.Empty; /// /// 修改时间(自动更新为最后修改时间) /// public DateTime UpdateTime { get; set; } = DateTime.Now; /// /// 删除标识(0=未删除,1=已删除) /// public int IsDelete { get; set; } = 0; // 默认已删除(根据原始数据默认值) /// /// 数据版本号(乐观锁控制) /// public int Version { get; set; } = 0; } #endregion #region 日物料需求计划风险确认 #region 输入 public class SUPPLIER_CON_DATE_DETAIL_DTO { public string SupplierCode { get; set; } public string ReleaseEdition { get; set; } public string MaterialCode { get; set; } public string PlantId { get; set; } public string FeedbackResults { get; set; } public string VentureType { get; set; } public string VentureSpecific { get; set; } public string Measures { get; set; } public string StartDate { get; set; } // QuantityMeet from 1 to 31 public int QuantityMeet1 { get; set; } public int QuantityMeet2 { get; set; } public int QuantityMeet3 { get; set; } public int QuantityMeet4 { get; set; } public int QuantityMeet5 { get; set; } public int QuantityMeet6 { get; set; } public int QuantityMeet7 { get; set; } public int QuantityMeet8 { get; set; } public int QuantityMeet9 { get; set; } public int QuantityMeet10 { get; set; } public int QuantityMeet11 { get; set; } public int QuantityMeet12 { get; set; } public int QuantityMeet13 { get; set; } public int QuantityMeet14 { get; set; } public int QuantityMeet15 { get; set; } public int QuantityMeet16 { get; set; } public int QuantityMeet17 { get; set; } public int QuantityMeet18 { get; set; } public int QuantityMeet19 { get; set; } public int QuantityMeet20 { get; set; } public int QuantityMeet21 { get; set; } public int QuantityMeet22 { get; set; } public int QuantityMeet23 { get; set; } public int QuantityMeet24 { get; set; } public int QuantityMeet25 { get; set; } public int QuantityMeet26 { get; set; } public int QuantityMeet27 { get; set; } public int QuantityMeet28 { get; set; } public int QuantityMeet29 { get; set; } public int QuantityMeet30 { get; set; } public int QuantityMeet31 { get; set; } } public class SUPPLIER_CON_DATE_DTO { public string BatchNo { get; set; } public int Total { get; set; } public int PageSize { get; set; } public int PageNum { get; set; } public List List { get; set; } } #endregion #region 输出 public class SUPPLIER_CON_DATE_DETAIL_OUT_DTO { public string BatchNo { get; set; } public string ApiName { get; set; } public int TotalGet { get; set; } public int TotalError { get; set; } public int TotalSave { get; set; } } public class SUPPLIER_CON_DATE_OUT_DTO { public string Code { get; set; } public string Message { get; set; } public SUPPLIER_CON_DATE_DETAIL_OUT_DTO Data { get; set; } } #endregion #endregion #region 采购订单风险确认 public class SUPPLIER_CON_PO_DETAIL_DTO { public string SupplierCode { get; set; } public string PurchaseOrder { get; set; } public string SerialNumber { get; set; } public int QuantityMeet { get; set; } public string FeedbackResults { get; set; } public string VentureType { get; set; } public string VentureSpecific { get; set; } public string Measures { get; set; } } public class SUPPLIER_CON_PO_DTO { public string BatchNo { get; set; } public int Total { get; set; } public int PageSize { get; set; } public int PageNum { get; set; } public List List { get; set; } } #region 输出 public class SUPPLIER_CON_PO_DETAIL_OUT_DTO { public string BatchNo { get; set; } public string ApiName { get; set; } public int TotalGet { get; set; } public int TotalError { get; set; } public int TotalSave { get; set; } } public class SUPPLIER_CON_PO_OUT_DTO { public string Code { get; set; } public string Message { get; set; } public SUPPLIER_CON_PO_DETAIL_OUT_DTO Data { get; set; } } #endregion #endregion #region 供应商共享库存 #region 输入 public class SUPPLIER_SINV_DATA_DETAIL_DTO:CherryReadBaseEntityDto { /// /// 供应商共享库存 /// public class SUPPLIER_SINV_DATA_DTO { /// /// 供应商代码 /// [ExporterHeader(DisplayName = "供应商代码")] [ImporterHeader(Name = "供应商代码")] public string SupplierCode { get; set; } /// /// 供应商名称 /// [ExporterHeader(DisplayName = "供应商名称")] [ImporterHeader(Name = "供应商名称")] public string SupplierName { get; set; } /// /// 零件号 /// [ExporterHeader(DisplayName = "零件号")] [ImporterHeader(Name = "零件号")] public string MaterialCode { get; set; } /// /// 零件名称 /// [ExporterHeader(DisplayName = "零件名称")] [ImporterHeader(Name = "零件名称")] public string MaterialDescription { get; set; } /// /// 物料类型(成品,半成品,原材料) /// [ExporterHeader(DisplayName = "物料类型")] [ImporterHeader(Name = "物料类型")] public string MaterialType { get; set; } /// /// 当前库存数量 /// [ExporterHeader(DisplayName = "当前库存数量")] [ImporterHeader(Name = "当前库存数量")] public decimal QuantityCurrent { get; set; } /// /// 原材料在途数量 /// [ExporterHeader(DisplayName = "原材料在途数量")] [ImporterHeader(Name = "原材料在途数量")] public decimal QuantityPlan { get; set; } /// /// 库存状态(生产件,呆滞件,备件,KD件) /// [ExporterHeader(DisplayName = "库存状态")] [ImporterHeader(Name = "库存状态")] public string InventoryStatus { get; set; } /// /// 安全库存 /// [ExporterHeader(DisplayName = "安全库存")] [ImporterHeader(Name = "安全库存")] public decimal SafetyStock { get; set; } /// /// 生产/采购周期:成品即半成品为生产周期(天),原材料为采购周期(天) /// [ExporterHeader(DisplayName = "生产/采购周期")] [ImporterHeader(Name = "生产/采购周期")] public string ProductionCycle { get; set; } /// /// 库存更新时间-格式:yyyy-MM-ddHH:mm:ss /// [ExporterHeader(DisplayName = "库存更新时间")] [ImporterHeader(Name = "库存更新时间")] public string DataUpdateTime { get; set; } /// /// 批次 /// [ExporterHeader(DisplayName = "批次")] [ImporterHeader(Name = "批次")] public string? SupplierBatch { get; set; } /// /// 有效期截止日期 非必填 /// [ExporterHeader(DisplayName = "有效期截止日期")] [ImporterHeader(Name = "有效期截止日期")] public string? SupplieryxqDate { get; set; } } } public class SUPPLIER_SINV_DATA_DTO { public string BatchNo { get; set; } public int Total { get; set; } public int PageSize { get; set; } public int PageNum { get; set; } public List List { get; set; } } #endregion #region 输出 public class SUPPLIER_SINV_DATA_DETAIL_OUT_DTO { public string BatchNo { get; set; } public string ApiName { get; set; } public int TotalGet { get; set; } public int TotalError { get; set; } public int TotalSave { get; set; } } public class SUPPLIER_SINV_DATA_OUT_DTO { public string Code { get; set; } public string Message { get; set; } public SUPPLIER_SINV_DATA_DETAIL_OUT_DTO Data { get; set; } } #endregion #endregion }