package com.fkzy.warn.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 八类案件
 * @author zhangjing
 * @date 2024/12/05 14:07
 * @description
 */
@Data
@TableName("t_law_case")
public class LawCase extends BaseField {
    /**
     * 案件标识
     */
    @ApiModelProperty("案件标识")
    @TableId(value = "n_ajbs", type = IdType.INPUT)
    private String nAjbs;

    /**
     * 案件唯一 ID
     */
    @ApiModelProperty("案件唯一 ID")
    @TableField(value = "c_id")
    private String cId;

    /**
     * CRC 值
     */
    @ApiModelProperty("CRC 值")
    @TableField(value = "n_crc")
    private String nCrc;

    /**
     * 案件类型
     */
    @ApiModelProperty("案件类型")
    @TableField(value = "n_ajlx")
    private String nAjlx;

    /**
     * 案号
     */
    @ApiModelProperty("案号")
    @TableField(value = "c_ah")
    private String cAh;

    /**
     * 原审案号
     */
    @ApiModelProperty("原审案号")
    @TableField(value = "c_ah_ys")
    private String cAhYs;

    /**
     * 后续案号
     */
    @ApiModelProperty("后续案号")
    @TableField(value = "c_ah_hx")
    private String cAhHx;

    /**
     * 经办法院
     */
    @ApiModelProperty("经办法院")
    @TableField(value = "n_jbfy")
    private String nJbfy;

    /**
     * 法院所属层级
     *
     * 最高人民法院
     * 高级人民法院
     * 中级人民法院
     * 基层法院
     */
    @ApiModelProperty("法院所属层级")
    @TableField(value = "n_jbfy_cj")
    private String nJbfyCj;

    /**
     * 审理程序
     */
    @ApiModelProperty("审理程序")
    @TableField(value = "n_slcx")
    private String nSlcx;

    /**
     * 所属地域
     */
    @ApiModelProperty("所属地域")
    @TableField(value = "c_ssdy")
    private String cSsdy;

    /**
     * 案件进展阶段 未结案 已结案
     */
    @ApiModelProperty("案件进展阶段")
    @TableField(value = "n_ajjzjd")
    private String nAjjzjd;

    /**
     * 立案时间
     */
    @ApiModelProperty("立案时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(value = "d_larq")
    private Date dLarq;

    /**
     * 立案案由
     */
    @ApiModelProperty("立案案由")
    @TableField(value = "n_laay")
    private String nLaay;

    /**
     * 立案案由详细
     */
    @ApiModelProperty("立案案由详细")
    @TableField(value = "n_laay_tree")
    private String nLaayTree;

    /**
     * 起诉标的金额等级
     */
    @ApiModelProperty("起诉标的金额等级")
    @TableField(value = "n_qsbdje_level")
    private String nQsbdjeLevel;

    /**
     * 起诉标的金额
     */
    @ApiModelProperty("起诉标的金额")
    @TableField(value = "n_qsbdje")
    private BigDecimal nQsbdje;

    /**
     * 审理方式信息
     */
    @ApiModelProperty("审理方式信息")
    @TableField(value = "c_slfsxx")
    private String cSlfsxx;

    /**
     * 结案时间
     */
    @ApiModelProperty("结案时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(value = "d_jarq")
    private Date dJarq;

    /**
     * 结案案由
     */
    @ApiModelProperty("结案案由")
    @TableField(value = "n_jaay")
    private String nJaay;

    /**
     * 结案案由详细
     */
    @ApiModelProperty("结案案由详细")
    @TableField(value = "n_jaay_tree")
    private String nJaayTree;

    /**
     * 结案标的金额等级
     */
    @ApiModelProperty("结案标的金额等级")
    @TableField(value = "n_jabdje_level")
    private String nJabdjeLevel;

    /**
     * 结案标的金额
     */
    @ApiModelProperty("结案标的金额")
    @TableField(value = "n_jabdje")
    private BigDecimal nJabdje;

    /**
     * 结案方式
     */
    @ApiModelProperty("结案方式")
    @TableField(value = "n_jafs")
    private String nJafs;

    /**
     * 胜诉估计
     */
    @ApiModelProperty("胜诉估计")
    @TableField(value = "n_pj_victory")
    private String nPjVictory;

    /**
     * 诉讼地位
     */
    @ApiModelProperty("诉讼地位")
    @TableField(value = "n_ssdw")
    private String nSsdw;

    /**
     * 一审诉讼地位
     */
    @ApiModelProperty("一审诉讼地位")
    @TableField(value = "n_ssdw_ys")
    private String nSsdwYs;

    /**
     * 公开文书 ID
     */
    @ApiModelProperty("公开文书 ID")
    @TableField(value = "c_gkws_id")
    private String cGkwsId;

    /**
     * 相关案件号
     */
    @ApiModelProperty("相关案件号")
    @TableField(value = "c_gkws_glah")
    private String cGkwsGlah;

    /**
     * 当事人段落
     */
    @ApiModelProperty("当事人段落")
    @TableField(value = "c_gkws_dsr")
    private String cGkwsDsr;

    /**
     * 判决结果段落
     */
    @ApiModelProperty("判决结果段落")
    @TableField(value = "c_gkws_pjjg")
    private String cGkwsPjjg;

    //**********刑事案件
    /**
     * 犯罪金额等级
     */
    @ApiModelProperty("犯罪金额等级")
    @TableField(value = "n_fzje_level")
    private String nFzjeLevel;

    /**
     * 犯罪金额
     */
    @ApiModelProperty("犯罪金额")
    @TableField(value = "n_fzje")
    private BigDecimal nFzje;

    /**
     * 被请求赔偿金额等级
     */
    @ApiModelProperty("被请求赔偿金额等级")
    @TableField(value = "n_bqqpcje_level")
    private String nBqqpcjeLevel;

    /**
     * 被请求赔偿金额
     */
    @ApiModelProperty("被请求赔偿金额")
    @TableField(value = "n_bqqpcje")
    private BigDecimal nBqqpcje;

    /**
     * 定罪罪名
     */
    @ApiModelProperty("定罪罪名")
    @TableField(value = "n_dzzm")
    private String nDzzm;

    /**
     * 定罪罪名详细
     */
    @ApiModelProperty("定罪罪名详细")
    @TableField(value = "n_dzzm_tree")
    private String nDzzmTree;

    /**
     * 判处结果
     */
    @ApiModelProperty("判处结果")
    @TableField(value = "n_pcjg")
    private String nPcjg;

    /**
     * 财产刑执行金额等级
     */
    @ApiModelProperty("财产刑执行金额等级")
    @TableField(value = "n_ccxzxje_level")
    private String nCcxzxjeLevel;

    /**
     * 财产刑执行金额
     */
    @ApiModelProperty("财产刑执行金额")
    @TableField(value = "n_ccxzxje")
    private BigDecimal nCcxzxje;

    /**
     * 判处赔偿金额等级
     */
    @ApiModelProperty("判处赔偿金额等级")
    @TableField(value = "n_pcpcje_level")
    private String nPcpcjeLevel;

    /**
     * 判处赔偿金额
     */
    @ApiModelProperty("判处赔偿金额")
    @TableField(value = "n_pcpcje")
    private BigDecimal nPcpcje;

    //********非诉保全审查
    /**
     * 申请保全数额等级
     */
    @ApiModelProperty("申请保全数额等级")
    @TableField(value = "n_sqbqse_level")
    private String nSqbqseLevel;

    /**
     * 申请保全数额
     */
    @ApiModelProperty("申请保全数额")
    @TableField(value = "n_sqbqse")
    private String nSqbqse;

    /**
     * 申请保全标的物
     */
    @ApiModelProperty("申请保全标的物")
    @TableField(value = "c_sqbqbdw")
    private String cSqbqbdw;

    //***********执行案件

    /**
     * 申请执行标的金额
     */
    @ApiModelProperty("申请执行标的金额")
    @TableField(value = "n_sqzxbdje")
    private BigDecimal nSqzxbdje;

    /**
     * 实际到位金额
     */
    @ApiModelProperty("实际到位金额")
    @TableField(value = "n_sjdwje")
    private BigDecimal nSjdwje;

    /**
     * 未执行金额
     */
    @ApiModelProperty("未执行金额")
    @TableField(value = "n_wzxje")
    private BigDecimal nWzxje;

    /**
     * 公司名称
     */
    @ApiModelProperty("公司名称")
    private String companyName;

    /**
     * 社会信用统一代码
     */
    @ApiModelProperty("社会信用统一代码")
    private String creditCode;

    /**
     * 案件类型
     */
    @ApiModelProperty("案件类型")
    private String caseType;

    /**
     * 当事人信息
     */
    @TableField(exist = false)
    private List<LitigantInfo> litigantInfoList;
}
