package com.xisc.pm.infra.enums;
public enum PdRuleItemType {
        
        HEATING_FURNACE_TYPE(1L , "加热炉类型匹配"),
        ROLL_DIRECTION(2L , "轧制方向匹配"),
        
        PLANER_FLAG(3L , "特殊钢种组剖分板检查"),
        
        SALB_COMPRESSION_RATIO(4L , "板坯压下比检查"),
        SLAB_ROLL_WIDTH_MATCH(5L , "板坯可轧制宽度上下限检查"),
        WHOLE_TREAT_ORER_CHECK(6L, "非热处理、热处理合同组同一块大板检查"),

        ST_NO(7L , "出钢记号匹配检查"),

        CHEMICAL_COMPOSITION_MATCH(10L , "实物炉次化学成分与合同匹配"),
        LOW_POWER_REQUIREMENT(12L , "余材板坯低倍要求与合同低倍要求匹配检查"),
        
        PLATE_THICK_MATCH(13L , "余材钢板厚度与合同厚度匹配"),
        PLATE_WIDTH_MATCH(14L , "余材钢板宽度与合同宽度匹配检查"),
        PLATE_LENT_MATCH(15L , "余材钢板长度与合同长度匹配检查"),
        
        TWO_ROLL_MATCH(24L , "轴合同和非轴合同二次开坯母材合同匹配校验"),
        
        CUT_MODE_THE_SAME(26L , "切断方式相同"),
        
        COOL_MATCH(27L , "轴合同和非轴合同缓冷方式匹配"),
        WITNESS_MATCH(29L , "非轴合同和轴合同的见证要求匹配"),
        AD_MODE_MATCH(30L , "非轴合同与轴合同的AD控制模式第134位相等匹配检查"),
        
        CTRL_ROLL_MATCH(31L , "轴合同与非轴合同控轧代码134位相等匹配检查"),
        
        PROD_SIDE_MARK(32L , "边部形态相等"),
        CHECK_METHOD_MATCH(33L , "轴合同与非轴合同会检方式匹配校验"),
        HEAT_TREAT_MODE(34L , "全程热处理模式匹配"),
        PICK_PATTERN_CODE_MATCH(35L , "热处理母板单位取样的合同单独组板"),
        
        CHECK_METHOD_SINGLE_MATCH(37L , "会检材合同单独组板"),
        ULT_DETECT_METHOD_AND_ULT_STG(38L , "超声探伤要求匹配"),
        MIN_THICK_TOL(40L , "合同厚度正负一校验"),
        
        COMBINE_PLATE_WIDTH_AND_LEN_LIMIT(46L , "组合长度、组合宽度限制的判定检查"),
        LAIM_LIMIT(47L , "目标轧制长度限制检查"),
        PLATE_LEN_WIDTH_MATCH(51L , "余材组合长度、组合宽度限制的判定检查"),
        INFUR_SLAB_LEN(52L , "进加热炉长度基准限制检查"),
        PHYSICAL_FURNACE_CHEMICAL_COMPOSITION_CONTRACT(10L , "实物炉次化学成分与合同匹配"),
        TRIM_CODE_MATCH(53L , "四毛交货合同单独组板"),
        
        COMBINE_ST_NO_LIMIT(54L , "剖分组板钢种限制检查校验"),
        
        SG_SGIN_MATCH(60L , "余材组板牌号比对检查"),
        HOT_TREAT_METHOD(64L , "进行热处理材料与合同热处理模式匹配检查"),
        
        
        ULT_CHECK_MATCH(72L , "非轴合同与轴合同走查模式相同要相同检查"),
        MULTI_PLATE_FLAG(73L , "宽度方向允许组剖分板合同匹配校验"),
        
        SAMPLE_MODE_CODE_COUNT(74L , "一张大板上只能有1个自然张取样的合同组板"),
        SAMPLE_MODE_CODE_B(75L , "自然张合同只能A1型组板"),
        
        INGOT_SPEC_TRIM(76L , "钢锭轧制规格落在最大轧制规格范围内检查"),
        INGOT_TYPE(77L , "小板单重<=锭坯型对应的钢锭重量"),
        
        COOL_AND_ULT_STG(79L , "缓冷代码及探伤时期代码一致"),
        
        GIVE_SAMPLE_COUNT_MATCH(80L , "一张大板上只能有一个奉送样合同，且仅有这个合同（包括轴合同和非轴合同）匹配检查"),
        
        GIVE_SAMPLE_MATCH(81L , "奉送样只能A1或者S1组板检查"),
        WT_METHOD_MATCH(82L , "合同实重交货校验"),
        ;
    
        private final Long code;
        private final String desc;

        // 私有构造函数
        PdRuleItemType(Long code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        // Getter 方法
        public Long getCode() {
            return code;
        }

        public String getDesc() {
            return desc;
        }

        // 根据code查找枚举项（可选）
        public static PdRuleItemType getByCode(Long code) {
            for (PdRuleItemType type : PdRuleItemType.values()) {
                if (type.getCode().equals(code)) {
                    return type;
                }
            }
            return null;
        }

    }