using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace MisDataSaveDate.MOM
{
    public class ProductionOrder
    {
        [JsonProperty("orderID")]
        public string OrderID { get; set; }

        [JsonProperty("orderNo")]
        public string OrderNo { get; set; }

        [JsonProperty("materialId")]
        public string MaterialId { get; set; }

        [JsonProperty("materialCode")]
        public string MaterialCode { get; set; }

        [JsonProperty("materialName")]
        public string MaterialName { get; set; }

        [JsonProperty("materialSpec")]
        public string MaterialSpec { get; set; }

        [JsonProperty("materialModel")]
        public string MaterialModel { get; set; }

        [JsonProperty("orderType")]
        public string OrderType { get; set; }

        [JsonProperty("clr")]
        public string Clr { get; set; }

        [JsonProperty("planproddate")]
        public string PlanProdDate { get; set; }

        [JsonProperty("planprodqty")]
        public string PlanProdQty { get; set; }

        [JsonProperty("planoutputdate")]
        public string PlanOutputDate { get; set; }

        [JsonProperty("planoutputqty")]
        public string PlanOutputQty { get; set; }

        [JsonProperty("projectno")]
        public string ProjectNo { get; set; }

        [JsonProperty("projectname")]
        public string ProjectName { get; set; }

        [JsonProperty("planid")]
        public string PlanId { get; set; }

        [JsonProperty("processplan")]
        public List<ProcessPlan> ProcessPlans { get; set; }
    }

    public class ProcessPlan
    {
        [JsonProperty("rountingid")]
        public string RoutingId { get; set; }

        [JsonProperty("processplanId")]
        public string ProcessPlanId { get; set; }

        [JsonProperty("processplanNo")]
        public string ProcessPlanNo { get; set; }

        [JsonProperty("workOrderProcessId")]
        public string WorkOrderProcessId { get; set; }

        [JsonProperty("workOrderNo")]
        public string WorkOrderNo { get; set; }

        [JsonProperty("workCenterId")]
        public string WorkCenterId { get; set; }

        [JsonProperty("workCenterCode")]
        public string WorkCenterCode { get; set; }

        [JsonProperty("workCenterName")]
        public string WorkCenterName { get; set; }

        [JsonProperty("processId")]
        public string ProcessId { get; set; }

        [JsonProperty("processCode")]
        public string ProcessCode { get; set; }

        [JsonProperty("processName")]
        public string ProcessName { get; set; }

        [JsonProperty("materialId")]
        public string MaterialId { get; set; }

        [JsonProperty("materialCode")]
        public string MaterialCode { get; set; }

        [JsonProperty("materialName")]
        public string MaterialName { get; set; }

        [JsonProperty("materialModel")]
        public string MaterialModel { get; set; }

        [JsonProperty("planStartTime")]
        public string PlanStartTime { get; set; }

        [JsonProperty("planEndTime")]
        public string PlanEndTime { get; set; }

        [JsonProperty("qty")]
        public decimal Qty { get; set; }

        [JsonProperty("outqty")]
        public decimal OutQty { get; set; }

        [JsonProperty("status")]
        public string Status { get; set; }

        [JsonProperty("createdAt")]
        public string CreatedAt { get; set; }

        [JsonProperty("modifiedAt")]
        public string ModifiedAt { get; set; }

        [JsonProperty("deliveryInfo")]
        public List<DeliveryMaterialInfo> DeliveryInfo { get; set; }
    }

    public class DeliveryMaterialInfo
    {
        [JsonProperty("deliveryInfoid")]
        public string DeliveryInfoId { get; set; }

        [JsonProperty("preparationNo")]
        public string PreparationNo { get; set; }

        [JsonProperty("materialId")]
        public string MaterialId { get; set; }

        [JsonProperty("materialCode")]
        public string MaterialCode { get; set; }

        [JsonProperty("materialName")]
        public string MaterialName { get; set; }

        [JsonProperty("materialSpec")]
        public string MaterialSpec { get; set; }

        [JsonProperty("materialModel")]
        public string MaterialModel { get; set; }

        [JsonProperty("materialDesc")]
        public string MaterialDesc { get; set; }

        [JsonProperty("processId")]
        public string ProcessId { get; set; }

        [JsonProperty("processCode")]
        public string ProcessCode { get; set; }

        [JsonProperty("processName")]
        public string ProcessName { get; set; }

        [JsonProperty("workCenterId")]
        public string WorkCenterId { get; set; }

        [JsonProperty("workCenterCode")]
        public string WorkCenterCode { get; set; }

        [JsonProperty("workCenterName")]
        public string WorkCenterName { get; set; }

        [JsonProperty("requiredQty")]
        public decimal RequiredQty { get; set; }

        [JsonProperty("planTime")]
        public string PlanTime { get; set; }
    }
}