package com.xunmei.common.core.utils;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.EnumSerializer;
import lombok.Getter;

/**
 * 表单类型
 */
@JsonSerialize(using = EnumSerializer.class)
public enum FormType {
    MRLZ_YYQ("营业前"),
    MRLZ_YYZ("营业期间"),
    MRLZ_YYH("营业终了"),
    MZLZ_WDFZR("网点负责人"),
    MZLZ_BWZQYYQ("保安执勤营业前"),
    MZLZ_BWZQYYZ("保安执勤营业期间"),
    MZLZ_BWZQYYH("保安执勤营业终了"),
    MZLZ_BWZQQT("保安执勤其他"),
    MYLZ("每月履职"),
    MJLZ("每季履职"),
    XFAQJC("消防安全检查"),
    MHQCJC("灭火器材检查"),
    XHSJC("消火栓检查"),
    XFSSYDXJC("消防疏散引导箱检查"),
    YJFHFGHZ_MNLZ("一级分行分管行长每年履职"),
    EJFHFGHZ_MNLZ("二级分行分管行长每年履职"),
    YJZHFGHZ_MNLZ("一级支行分管行长每年履职"),
    YJFHBWGB_MJLZ("一级分行保卫干部每季履职"),
    YJFHBWGB_BNLZ("一级分行保卫干部半年履职"),
    YJFHBWGB_MNLZ("一级分行保卫干部每年履职"),
    EJFHBWGB_MJLZ("二级分行保卫干部每季履职"),
    EJFHBWGB_BNLZ("二级分行保卫干部半年履职"),
    EJFHBWGB_MNLZ("二级分行保卫干部每年履职"),
    YJZHBWGB_MYLZ("一级支行保卫干部每月履职"),
    YJZHBWGB_MJLZ("一级支行保卫干部每季履职"),
    YJZHBWGB_BNLZ("一级支行保卫干部半年履职"),
    YJZHBWGB_MNLZ("一级支行保卫干部每年履职"),
    WDFZR_MYLZ("网点负责人每月履职"),
    WDFZR_MJLZ("网点负责人每季履职"),
    WDFZR_BNLZ("网点负责人半年履职"),
    WDFZR_MNLZ("网点负责人每年履职"),
    WDAQY_MRLZYYQ("网点安全员每日履职（营业前）"),
    WDAQY_MRLZYYH("网点安全员每日履职（营业后）"),
    WDAQY_MYLZ("网点安全员每月履职"),
    WDBA_MXSLZ("网点保安每小时履职"),
    WDBA_MRLZYYQ("网点保安每日履职（营业前）"),
    WDBA_MRLZYYH("网点保安每日履职（营业后）");

    /*
    public static class FormTypeListConverter implements AttributeConverter<List<FormType>, String> {
        @Override
        public String convertToDatabaseColumn(final List<FormType> attribute) {
            return attribute == null ? "[]" : JSON.toJSONString(attribute);
        }
        @Override
        public List<FormType> convertToEntityAttribute(final String dbData) {
            return JSON.parseArray(dbData, FormType.class);
        }
    }
    */

    @Getter
    private final String text;

    FormType(final String text) {
        this.text = text;
    }
}
