package com.ruoyi.hywz.common.enums;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author: jxh
 * @description:
 * @create: 2024/8/5
 */
public enum StampWarningTypeEnum {

    RULE_1("rule_1", "存在签订了融资租赁合同，但未计税的情况！"),
    RULE_2("rule_2", "存在签订了租赁合同，但未计税的情况！"),
    RULE_3("rule_3", "存在签订了仓储运输赁合同，但未计税的情况！"),
    RULE_4("rule_4", "存在签订了物资买卖合同，但未计税的情况！"),
    RULE_5("rule_5", "存在签订了买卖合同（框架协议或定点采购协议），但未计税的情况！"),
    RULE_6("rule_6", "存在签订了工程建设施工合同，但未计税的情况！"),
    RULE_7("rule_7", "可能存在签订了设计勘察合同，但未计税的情况！"),
    RULE_8("rule_8", "存在签订了承揽合同，但未计税的情况！"),
    RULE_9("rule_9", "存在签订了技术合同，但未计税的情况！"),
    RULE_10("rule_10", "存在发生了购电业务，但未计税的情况！"),
    RULE_11("rule_11", "存在发生了电商业务，但未计税的情况！"),
    RULE_12("rule_12", "存在发生了物资采购业务，但未计税的情况！"),
    RULE_13("rule_13", "存在发生了勘察设计业务，但未计税的情况！"),
    RULE_14("rule_14", "存在发生了印刷业务，但未计税的情况！"),
    RULE_15("rule_15", "存在发生了广告宣传业务，计税的情况！"),
    RULE_16("rule_16", "发票号码存在未作进项税额转出的风险！"),
    RULE_17("rule_17", "发票号码存在未代扣代缴个人所得税的风险"),
    RULE_18("rule_18", "则需要手工检查是否出现重付计算印花税的情况");

    private final String code;
    private final String desc;

    StampWarningTypeEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public String getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    public static List<Map<String,Object>> getList1() {
        List<Map<String,Object>> result = new ArrayList<>();

        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_1.getCode());
                    put("label", StampWarningTypeEnum.RULE_1.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_2.getCode());
                    put("label", StampWarningTypeEnum.RULE_2.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_3.getCode());
                    put("label", StampWarningTypeEnum.RULE_3.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_4.getCode());
                    put("label", StampWarningTypeEnum.RULE_4.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_5.getCode());
                    put("label", StampWarningTypeEnum.RULE_5.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_6.getCode());
                    put("label", StampWarningTypeEnum.RULE_6.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_7.getCode());
                    put("label", StampWarningTypeEnum.RULE_7.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_8.getCode());
                    put("label", StampWarningTypeEnum.RULE_8.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_9.getCode());
                    put("label", StampWarningTypeEnum.RULE_9.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_10.getCode());
                    put("label", StampWarningTypeEnum.RULE_10.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_11.getCode());
                    put("label", StampWarningTypeEnum.RULE_11.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_12.getCode());
                    put("label", StampWarningTypeEnum.RULE_12.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_13.getCode());
                    put("label", StampWarningTypeEnum.RULE_13.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_14.getCode());
                    put("label", StampWarningTypeEnum.RULE_14.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_15.getCode());
                    put("label", StampWarningTypeEnum.RULE_15.getDesc());
                }});
        return result;
    }

    public static List<Map<String,Object>> getList2() {
        List<Map<String,Object>> result = new ArrayList<>();

        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_16.getCode());
                    put("label", StampWarningTypeEnum.RULE_16.getDesc());
                }});
        result.add(
                new HashMap<String, Object>(){{
                    put("value", StampWarningTypeEnum.RULE_17.getCode());
                    put("label", StampWarningTypeEnum.RULE_17.getDesc());
                }});
        return result;
    }

}
