/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.person.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import org.springblade.core.mp.base.BaseEntity;
import java.time.LocalDate;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 实体类
 *
 * @author BladeX
 * @since 2021-05-28
 */
@Data
@TableName("personnel_correctional_staff")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "CorrectionalStaff对象", description = "CorrectionalStaff对象")
public class CorrectionalStaff extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	* 基本表Id
	*/
		@ApiModelProperty(value = "基本表Id")
		private Long parentId;
	/**
	* 矫正类别 {1：管制；2：缓刑；3：假释；4：暂予以监外执行；5：其他}
	*/
		@ApiModelProperty(value = "矫正类别 {1：管制；2：缓刑；3：假释；4：暂予以监外执行；5：其他}")
		private Integer correctType;
	/**
	* 矫正人员编号
	*/
		@ApiModelProperty(value = "矫正人员编号")
		private String correctPersonCode;
	/**
	 * 矫正人员姓名
	 */
		@ApiModelProperty(value = "矫正人员姓名")
		private String name;
	/**
	* 原羁押场所
	*/
		@ApiModelProperty(value = "原羁押场所")
		private String detentionPlace;
	/**
	* 案件类型
	*/
		@ApiModelProperty(value = "案件类型")
		private String caseType;
	/**
	* 具体罪名
	*/
		@ApiModelProperty(value = "具体罪名")
		private String specificCharges;
	/**
	* 原判刑期
	*/
		@ApiModelProperty(value = "原判刑期")
		private String originalSentence;
	/**
	* 原判刑开始日期
	*/
		@ApiModelProperty(value = "原判刑开始日期")
		private LocalDate startdateSentence;
	/**
	* 原判刑结束日期
	*/
		@ApiModelProperty(value = "原判刑结束日期")
		private LocalDate enddateSentence;
	/**
	* 矫正开始日期
	*/
		@ApiModelProperty(value = "矫正开始日期")
		private LocalDate startdateCorrection;
	/**
	* 矫正开始日期
	*/
		@ApiModelProperty(value = "矫正开始日期")
		private LocalDate enddateCorrection;
	/**
	* 接收方式{1：自行报到；2：寓所押送；3：当庭交接；4:其他}
	*/
		@ApiModelProperty(value = "接收方式{1：自行报到；2：寓所押送；3：当庭交接；4:其他}")
		private Integer checkinMode;
	/**
	* 是否累惯犯{0：否；1：是}
	*/
		@ApiModelProperty(value = "是否累惯犯{0：否；1：是}")
		private Integer isRecidivist;
	/**
	* “四史”情况{1：吸毒史；2：逃脱史；3：袭警史；4：自杀史}
	*/
		@ApiModelProperty(value = "“四史”情况{1：吸毒史；2：逃脱史；3：袭警史；4：自杀史}")
		private Integer fourHistories;
	/**
	* “五涉”情况{1：涉恐；2：涉邪；3：涉黑；4：涉枪；5：涉毒}
	*/
		@ApiModelProperty(value = "“五涉”情况{1：涉恐；2：涉邪；3：涉黑；4：涉枪；5：涉毒}")
		private Integer fiveSituation;
	/**
	* 是否建立矫正小组{0：否；1：是}
	*/
		@ApiModelProperty(value = "是否建立矫正小组{0：否；1：是}")
		private Integer isTeamEstablished;
	/**
	* 矫正小组人员组成情况{1：司法工作者人员；2：社会工作者；3：志愿者；4：村(居)委会；5：所在单位人员；6：就读学校人员；7：家庭成员监护人；8：保证人；9：其他}
	*/
		@ApiModelProperty(value = "矫正小组人员组成情况{1：司法工作者人员；2：社会工作者；3：志愿者；4：村(居)委会；5：所在单位人员；6：就读学校人员；7：家庭成员监护人；8：保证人；9：其他}")
		private Integer teamComposition;
	/**
	* 矫正解除（终止）类型{1：期满解除；2：收监执行；3：死亡；4：其他}
	*/
		@ApiModelProperty(value = "矫正解除（终止）类型{1：期满解除；2：收监执行；3：死亡；4：其他}")
		private Integer reliefType;
	/**
	* 是否有脱管{0：否；1：是}
	*/
		@ApiModelProperty(value = "是否有脱管{0：否；1：是}")
		private Integer isGetRid;
	/**
	* 脱管原因
	*/
		@ApiModelProperty(value = "脱管原因")
		private String reasonGetRid;
	/**
	* 检查监督托管情况
	*/
		@ApiModelProperty(value = "检查监督托管情况")
		private String inspectGetRid;
	/**
	* 脱管纠正情况
	*/
		@ApiModelProperty(value = "脱管纠正情况")
		private String correctGetRid;
	/**
	* 是否有漏管{0：否；1：是}
	*/
		@ApiModelProperty(value = "是否有漏管{0：否；1：是}")
		private Integer isUnmanaged;
	/**
	* 漏管原因
	*/
		@ApiModelProperty(value = "漏管原因")
		private String reasonUnmanage;
	/**
	* 检查监督漏管情况
	*/
		@ApiModelProperty(value = "检查监督漏管情况")
		private String inspectUnmanage;
	/**
	* 漏管纠正情况
	*/
		@ApiModelProperty(value = "漏管纠正情况")
		private String correctUnmanage;
	/**
	* 奖惩情况（国标）
	*/
		@ApiModelProperty(value = "奖惩情况（国标）")
		private String rewardsAndPunishments;
	/**
	* 刑罚变更执行情况
	*/
		@ApiModelProperty(value = "刑罚变更执行情况")
		private String penaltyChange;
	/**
	* 是否重新犯罪{0：否；1：是}
	*/
		@ApiModelProperty(value = "是否重新犯罪{0：否；1：是}")
		private Integer newCrime;
	/**
	* 重新犯罪名称
	*/
		@ApiModelProperty(value = "重新犯罪名称")
		private String nameOfRecidivism;
	/**
	* 刑法执行类别
	*/
		@ApiModelProperty(value = "刑法执行类别")
		private String categoryOfLaw;
	/**
	* 管控等级
	*/
		@ApiModelProperty(value = "管控等级")
		private String controlLevel;
	/**
	* 是否重点监控{0：否；1：是}
	*/
		@ApiModelProperty(value = "是否重点监控{0：否；1：是}")
		private Integer isKeyMonitoring;
	/**
	 * 机构路径
	 */
		@ApiModelProperty(value = "机构路径")
		private String orgPosition;

}
