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

        [JsonProperty("code")]
        public string Code { get; set; }

        [JsonProperty("productionworkcenter")]
        public ProdWorkCenter ProductionWorkCenter { get; set; }

        [JsonProperty("classidentifier2")]
        public string ClassIdentifier2 { get; set; }

        [JsonProperty("classidentifier1")]
        public string ClassIdentifier1 { get; set; }

        [JsonProperty("filedata")]
        public string FileData { get; set; }

        [JsonProperty("classidentifier4")]
        public string ClassIdentifier4 { get; set; }

        [JsonProperty("classidentifier3")]
        public string ClassIdentifier3 { get; set; }

        [JsonProperty("classidentifier6")]
        public string ClassIdentifier6 { get; set; }

        [JsonProperty("materialid")]
        public MaterialID Material { get; set; }

        [JsonProperty("type")]
        public Type Type { get; set; }

        [JsonProperty("classidentifier5")]
        public string ClassIdentifier5 { get; set; }

        [JsonProperty("procedureid")]
        public ProcedureID Process { get; set; }

        [JsonProperty("classidentifier8")]
        public string ClassIdentifier8 { get; set; }

        [JsonProperty("classidentifier7")]
        public string ClassIdentifier7 { get; set; }

        [JsonProperty("lastmodifieduserid")]
        public string LastModifiedUserId { get; set; }

        [JsonProperty("materialtype")]
        public MaterialType MaterialType { get; set; }

        [JsonProperty("createuserid")]
        public string CreateUserId { get; set; }

        [JsonProperty("lastmodifieduser")]
        public string LastModifiedUser { get; set; }

        [JsonProperty("id")]
        public string Id { get; set; }

        [JsonProperty("state")]
        public string State { get; set; }

        [JsonProperty("lastmodifiedtime")]
        public string LastModifiedTime { get; set; }

        [JsonProperty("createtime")]
        public string CreateTime { get; set; }

        [JsonProperty("xm_inspectfile")]
        public List<XmInspectFile> XmInspectFile { get; set; }

        [JsonProperty("qualityorg")]
        public QualityOrg QualityOrg { get; set; }

        [JsonProperty("createuser")]
        public string CreateUser { get; set; }

        [JsonProperty("recordtemplateitems")]
        public List<RecordTemplateItem> RecordTemplateItems { get; set; }

        [JsonProperty("name")]
        public string Name { get; set; }

        [JsonProperty("productionorg")]
        public ProductionOrg ProductionOrg { get; set; }
    }
    public class ProdWorkCenter
    {
        [JsonProperty("productionworkcenter_ppsczx_zxbh")]
        public string ProductionWorkCenterPpsczxZxbh { get; set; }

        [JsonProperty("productionworkcenter")]
        public string ProductionWorkCenter { get; set; }

        [JsonProperty("productionworkcenter_name_chs")]
        public string ProductionWorkCenterNameChs { get; set; }
    }

    public class MaterialID
    {
        [JsonProperty("materialid_code")]
        public string MaterialIdCode { get; set; }

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

        [JsonProperty("materialid_name_chs")]
        public string MaterialIdNameChs { get; set; }
    }

    public class Type
    {
        [JsonProperty("type_name")]
        public string TypeName { get; set; }

        [JsonProperty("type")]
        public string TypeID { get; set; }

        [JsonProperty("type_code")]
        public string TypeCode { get; set; }
    }

    public class ProcedureID
    {
        [JsonProperty("procedureid_ppbzgx_gxbh")]
        public string ProcedureIdPpbzgxGxbh { get; set; }

        [JsonProperty("procedureid_name_chs")]
        public string ProcedureIdNameChs { get; set; }

        [JsonProperty("procedureid")]
        public string ProcedureId { get; set; }
    }

    public class MaterialType
    {
        [JsonProperty("materialtype_code")]
        public string MaterialTypeCode { get; set; }

        [JsonProperty("materialtype")]
        public string MaterialTypeValue { get; set; }

        [JsonProperty("materialtype_name_chs")]
        public string MaterialTypeNameChs { get; set; }
    }

    public class QualityOrg
    {
        [JsonProperty("qualityorg_ppzzzl_zzbh")]
        public string QualityOrgPpzzzlZzbh { get; set; }

        [JsonProperty("qualityorg")]
        public string QualityOrgValue { get; set; }

        [JsonProperty("qualityorg_name_chs")]
        public string QualityOrgNameChs { get; set; }
    }

    public class ProductionOrg
    {
        [JsonProperty("productionorg_name_chs")]
        public string ProductionOrgNameChs { get; set; }

        [JsonProperty("productionorg_ppzzsc_zzbh")]
        public string ProductionOrgPpzzscZzbh { get; set; }

        [JsonProperty("productionorg")]
        public string ProductionOrgValue { get; set; }
    }

    public class DefaultResultValue
    {
        [JsonProperty("defaultresultvalue_code")]
        public string DefaultResultValueCode { get; set; }

        [JsonProperty("defaultresultvalue_name")]
        public string DefaultResultValueName { get; set; }

        [JsonProperty("defaultresultvalue")]
        public string defaultResultValue { get; set; }
    }

    public class InspectionItemId
    {
        [JsonProperty("inspectionitemid_code")]
        public string InspectionItemIdCode { get; set; }

        [JsonProperty("inspectionitemid_name_chs")]
        public string InspectionItemIdNameChs { get; set; }

        [JsonProperty("inspectionitemid")]
        public string inspectionItemId { get; set; }
    }

    public class RecordTemplateItem
    {
        [JsonProperty("inspectkey")]
        public string InspectKey { get; set; }

        [JsonProperty("note")]
        public string Note { get; set; }

        [JsonProperty("uploadattachments")]
        public string UploadAttachments { get; set; }

        [JsonProperty("mutualinspect")]
        public string MutualInspect { get; set; }

        [JsonProperty("importance")]
        public string Importance { get; set; }

        [JsonProperty("defaultvalue")]
        public string DefaultValue { get; set; }

        [JsonProperty("templateid")]
        public string TemplateId { get; set; }

        [JsonProperty("defaultresultvalue")]
        public DefaultResultValue DefaultResult { get; set; }

        [JsonProperty("requirementdesc")]
        public string RequirementDesc { get; set; }

        [JsonProperty("specialinspect")]
        public string SpecialInspect { get; set; }

        [JsonProperty("autoadject")]
        public string AutoAdject { get; set; }

        [JsonProperty("selfinspect")]
        public string SelfInspect { get; set; }

        [JsonProperty("inspectionitemstype")]
        public string InspectionItemsType { get; set; }

        [JsonProperty("requiredtext")]
        public string RequiredText { get; set; }

        [JsonProperty("firstinspect")]
        public string FirstInspect { get; set; }

        [JsonProperty("inspectionitemname")]
        public string InspectionItemName { get; set; }

        [JsonProperty("linenum")]
        public string LineNum { get; set; }

        [JsonProperty("id")]
        public string Id { get; set; }

        [JsonProperty("inspectionitemid")]
        public InspectionItemId InspectionItem { get; set; }
    }

    public class XmInspectFile
    {
        [JsonProperty("fileuser")]
        public string FileUser { get; set; }

        [JsonProperty("filename")]
        public string FileName { get; set; }

        [JsonProperty("filesize")]
        public string FileSize { get; set; }

        [JsonProperty("id")]
        public string Id { get; set; }

        [JsonProperty("fileext")]
        public string FileExt { get; set; }

        [JsonProperty("templateid")]
        public string TemplateId { get; set; }

        [JsonProperty("fileid")]
        public string FileId { get; set; }
    }

}