package com.dxhy.erp.enums;

import com.dxhy.common.constant.ConfigureConstant;

/**
 * @author Allen
 * @version 1.0.0
 * @ClassName GlobalReturnEnums.java
 * @Description 全局返回码枚举类
 * @createTime 2023年02月23日 10:30:00
 */
public enum GlobalReturnEnums {

    //通用
    SUCCESS("0000","处理成功"),
    FAILED("9999","处理失败"),
    PARAM_NULL("9998","请求参数为空"),
    PARAM_PCLSH_NULL("9997","批次流水号不能为空"),
    PARAM_PCLSH_CF("9996","批次流水号重复"),
    PARAM_PAGEN_NUM_ERROR("9995","当前页码不能小于1"),
    PARAM_PAGEN_COUNT_ERROR("9994","每页数量超过最大支持数量"+ ConfigureConstant.INT_1000),
    PARAM_PAGEN_NUM_ERROR_1("9993","当前页码需从1开始"),
    PARAM_PAGEN_NUM_ERROR_2("9992","当前页码大于当前批次总页数"),
    PARAM_PAGEN_NUM_ERROR_3("9991","批次号重复，请更换批次号"),
    PARAM_SQ_NULL("9990","税款所属期不能为空"),
    PARAM_SQ_FORMAT_ERROR("9989","税款所属期格式必须满足“YYYYMM”"),
    PARAM_PCH_ERROR("2099","批次号已存在，请更换批次号"),
    PARAM_PCH_NO_EXIST("2098","批次号不存在"),

    //入账
    RZ_MX_TOO_LONG("10001","入账票据明细最大支持100条"),
    GHF_NSRSBH_NULL("10002","购买方纳税人识别号不能为空"),
    RZ_LX_NULL("10003","入账类型不能为空"),
    RZ_LX_ERROR("10004","入账类型必须符合02、03、04、05、06"),
    RZ_SQ_ERROR("10007","入账属期不能晚于当前自然月"),
    RZ_PCLSH_NULL("10008","入账批次流水号不能为空"),
    FP_HM_NULL("10009","发票号码不能为空"),
    NO_CONDITION_PJ("10010","未查询到符合条件的票据"),
    KPRQ_ERROR("10011","入账发票开票日期不能晚于入账属期"),
    FP_LX_ERROR("10012","入账发票类型必须符合01、02、03、04、08、10、11、14、15、31、32、183、184、185、186、187、188、161、283、383"),
    RZ_PJXX_NULL("10014","入账票据信息为空"),
    FP_DM_NULL("10016","发票代码不能为空"),
    HAVE_NO_PCINFO("10018","未查询到符合条件的批次信息"),
    RZ_FPZT_ERROR("10019","入账发票状态必须为正常或部分冲红"),
    RZ_JKSHM_NULL("10020","入账缴款书号码不能为空"),
    TFRQ_ERROR("10021","入账缴款书填发日期不能晚于入账属期"),
    JKSGLZT_ERROR("10022","缴款书管理状态必须为正常"),


    ELEINVOICE_XML_DOWNLOAD_NULL("10023","全电发票源文件下载票据信息为空"),
    ELEINVOICE_XML_DOWNLOAD_MX_TOO_LONG("10024","全电发票源文件下载票据明细最大支持50条"),
    ELEINVOICE_XML_DOWNLOAD_MX_FPLX_ERROR("10025","全电发票源文件文件下载 发票类型必须符合31、32"),
    ELEINVOICE_XML_GMFSBH_NULL("10026","数电发票源文件下载购方税号为空"),
    ELEINVOICE_XML_FPZLDM_NULL("10027","数电发票源文件下载发票种类代码为空"),
    ELEINVOICE_XML_FPDM_NULL("10028","数电发票源文件下载发票代码为空"),

    ELEINVOICE_XML_FPHM_NULL("10029","数电发票源文件下载发票号码为空"),
    ELEINVOICE_XML_FPZLDM_ERR("10030","数电发票源文件下载发票种类代码只支持31，32、161、283"),
    ELEINVOICE_XML_RECORD_NULL("10031","数电发票源文件下载底账中无此发票信息"),
    ELEINVOICE_XML_DOWNLOAD_TYPENULL("11032","数电发票源文件下载文件类型为空"),
    ELEINVOICE_XML_DOWNLOAD_TYPEERR("11033","数电发票源文件下载文件类型只能为1、2、3"),
    ELEINVOICE_XML_FPDM_LENGTHERR("11035","数电发票源文件下载发票代码长度需为10或12位"),
    ELEINVOICE_XML_FPHM_LENGTHERR("11036","数电发票源文件下载发票号码长度需为8或10位"),

    //退税确认申请
    TS_APPLY_SQ_NULL("10032","税款所属期不能为空"),
    TS_APPLY_SQ_FORMAT_ERROR("10033","税款所属期格式必须满足“YYYYMM”"),
    TS_APPLY_SQ_ING("10034","已有退税流程在申请中"),
    TS_APPLY_ERROR("10134","申请失败"),
    //退税结果获取
    TS_APPLY_RESULT_GET_PCH_NULL("10035","请求批次号不能为空"),
    TS_APPLY_RESULT_GET_PCH_DATANULL("10036","没有找到此批次的确认请求"),
    TS_APPLY_RESULT_GET_PCH_RESULT_N("10037","当前批次未获取到结果"),
    TS_APPLY_RESULT_GET_PCH_RESULT_FAIL("10038","当前批次申请失败"),
    TS_APPLY_RESULT_GET_DOWN("10039","已处理完成"),
    TS_APPLY_RESULT_GET_ING("10040","未处理完成"),

    LQ_NOT_ALLOW("12000","乐企未开通此功能"),
    DQY_NOT_ALLOW("12001","大企业未开通此功能"),

    //增值税代扣代缴完税凭证业务
    ZZS_DKDJ_WSPZ_TAXNO_NULL("11100","扣缴义务人识别号不能为空"),
    ZZS_DKDJ_WSPZ_PARAM_ERROR_1("11101","单张查询，不允许传递采集时间条件"),
    ZZS_DKDJ_WSPZ_PARAM_ERROR_2("11102","批量查询，不允许传递凭证编号"),
    ZZS_DKDJ_WSPZ_PARAM_ERROR_3("11103","批量查询，采集时间条件必传"),
    ZZS_DKDJ_WSPZ_PARAM_ERROR_4("11104","采集时间条件和凭证编号条件不能同时为空"),
    ZZS_DKDJ_WSPZ_RZLX_NULL("11105","认证类型不能为空"),
    ZZS_DKDJ_WSPZ_RZLX_ERROR("11106","认证类型只能为1、4、5、6"),
    ZZS_DKDJ_WSPZ_BDKLX_NULL("11107","认证类型为不抵扣时，不抵扣类型不能为空"),
    ZZS_DKDJ_WSPZ_BDKLX_ERROR("11108","不抵扣类型只能为1、2、3、4、5"),
    ZZS_DKDJ_WSPZ_BDKYY_ERROR("11108","不抵扣为5时传不抵扣原因必传"),
    ZZS_DKDJ_WSPZ_CZR_NULL("11109","认证操作人不能为空"),
    ZZS_DKDJ_WSPZ_MX_NULL("11110","认证明细为空"),
    ZZS_DKDJ_WSPZ_MX_ERROR("11111","认证明细数量不能超过500"),
    ZZS_DKDJ_WSPZ_NOT_EXIST("11112","底账库不存在增值税代扣代缴完税凭证"),

    //乐企查验
    CY_PARAM_NULL("11001","查验参数为空"),
    CY_FPLX_NULL("11002","查验发票类型为空"),
    CY_FPDM_NULL("11003","查验发票代码为空"),
    CY_FPHM_NULL("11004","查验发票号码为空"),
    CY_KPRQ_NULL("11005","查验开票日期为空"),
    CY_GF_NSRSBH_NULL("11006","查验购方识别号为空"),
    CY_SYDWPTBM_NULL("11007","企业未开通乐企通道"),
    CY_JE_FORMATE_ERR("11008","金额格式不正确"),
    CY_CYJE_ERR("11009","查验接口返回查验失败"),
    CY_INTERFACE_ERR("11010","调查验乐企查验接口处理异常"),
    CY_FPLX_NOT_ALLOW("11011","查验发票类型不支持")
    ;

    /**
     * 返回码
     */
    private String code;

    /**
     * 返回消息
     */
    private String msg;

    GlobalReturnEnums(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public String getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}
