leaving 离校手续基础代码
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/LeavingApplication.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/LeavingApplication.java
new file mode 100644
index 0000000..68b4ccf
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/LeavingApplication.java
@@ -0,0 +1,17 @@
+package com.supwisdom.leaveschool.leaving;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+import com.supwisdom.infras.data.jpa.EnableInfrasDataJpa;
+
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@SpringBootApplication
+@EnableInfrasDataJpa
+@EnableSwagger2
+public class LeavingApplication {
+	 public static void main(String[] args) {
+	    SpringApplication.run(LeavingApplication.class, args);
+	 }
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/config/FilterConfig.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/config/FilterConfig.java
new file mode 100644
index 0000000..dfd5712
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/config/FilterConfig.java
@@ -0,0 +1,14 @@
+package com.supwisdom.leaveschool.leaving.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+@Configuration
+public class FilterConfig extends WebMvcConfigurerAdapter{
+
+	 @Override
+	    public void addCorsMappings(CorsRegistry registry) {
+	        registry.addMapping("/**");
+	    }
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/config/Swagger2Config.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/config/Swagger2Config.java
new file mode 100644
index 0000000..d9fdefc
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/config/Swagger2Config.java
@@ -0,0 +1,41 @@
+package com.supwisdom.leaveschool.leaving.config;
+ 
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+ 
+/**
+ * @author xiehuibing
+ * @ClassName com.supwisdom.framework.config.Swgger2
+ * @Description
+ * @date 2018-07-23
+ */
+@Configuration
+public class Swagger2Config {
+ 
+	@Bean
+	public Docket createRestApi() {
+		return new Docket(DocumentationType.SWAGGER_2)
+				.apiInfo(apiInfo())
+				.select()
+				.apis(RequestHandlerSelectors.any())
+//				.apis(RequestHandlerSelectors.basePackage("org.supwisdom"))
+//				.paths(PathSelectors.any())
+				.paths(PathSelectors.ant("/api/**"))
+				.build();
+	}
+	
+	private ApiInfo apiInfo() {
+		return new ApiInfoBuilder()
+				.title("离校微服务系统API文档")
+				.description("restful风格,离校微服务系统API文档")
+//				.termsOfServiceUrl("http://127.0.0.1:8081/")
+				.version("1.0")
+				.build();
+	}
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1AuditNodeController.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1AuditNodeController.java
new file mode 100644
index 0000000..68a081a
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1AuditNodeController.java
@@ -0,0 +1,27 @@
+package com.supwisdom.leaveschool.leaving.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.supwisdom.leaveschool.common.controller.api.CrudApiController;
+import com.supwisdom.leaveschool.leaving.domain.AuditNode;
+import com.supwisdom.leaveschool.leaving.repository.AuditNodeRepository;
+
+@RestController
+@RequestMapping("/api/v1/leaving/audit_node")
+public class Api1AuditNodeController extends CrudApiController<AuditNode, AuditNodeRepository>{
+	
+	@Autowired
+	private AuditNodeRepository auditNodeRepository;
+	
+	@Override
+	protected AuditNodeRepository getRepository() {
+		return auditNodeRepository;
+	}
+	
+	
+	
+	
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolBatchController.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolBatchController.java
new file mode 100644
index 0000000..6a5ddeb
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolBatchController.java
@@ -0,0 +1,24 @@
+package com.supwisdom.leaveschool.leaving.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.supwisdom.leaveschool.common.controller.api.CrudApiController;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolBatch;
+import com.supwisdom.leaveschool.leaving.repository.LeaveSchoolBatchRepository;
+
+@RestController
+@RequestMapping("/api/v1/leaving/leave_school_batch")
+public class Api1LeaveSchoolBatchController extends CrudApiController<LeaveSchoolBatch, LeaveSchoolBatchRepository>{
+	
+	@Autowired
+	private LeaveSchoolBatchRepository leaveSchoolBatchRepository;
+	
+	@Override
+	protected LeaveSchoolBatchRepository getRepository() {
+		return leaveSchoolBatchRepository;
+	}
+	
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessAuditController.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessAuditController.java
new file mode 100644
index 0000000..a2eb32a
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessAuditController.java
@@ -0,0 +1,22 @@
+package com.supwisdom.leaveschool.leaving.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.supwisdom.leaveschool.common.controller.api.CrudApiController;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolProcessAudit;
+import com.supwisdom.leaveschool.leaving.repository.LeaveSchoolProcessAuditRepository;
+
+@RestController
+@RequestMapping("/api/v1/leaving/leave_school_pro_aud")
+public class Api1LeaveSchoolProcessAuditController  extends CrudApiController<LeaveSchoolProcessAudit,LeaveSchoolProcessAuditRepository>{
+	
+	@Autowired
+	private LeaveSchoolProcessAuditRepository leaveSchoolProcessAuditRepository;
+	@Override
+	protected LeaveSchoolProcessAuditRepository getRepository() {
+		return leaveSchoolProcessAuditRepository;
+	}
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessAuditLogController.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessAuditLogController.java
new file mode 100644
index 0000000..8507966
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessAuditLogController.java
@@ -0,0 +1,23 @@
+package com.supwisdom.leaveschool.leaving.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.supwisdom.leaveschool.common.controller.api.CrudApiController;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolProcessAuditLog;
+import com.supwisdom.leaveschool.leaving.repository.LeaveSchoolProcessAuditLogRepository;
+
+@RestController
+@RequestMapping("/api/v1/leaving/leave_school_pro_log")
+public class Api1LeaveSchoolProcessAuditLogController extends CrudApiController<LeaveSchoolProcessAuditLog,LeaveSchoolProcessAuditLogRepository>{
+	
+	@Autowired
+	private LeaveSchoolProcessAuditLogRepository leaveSchoolProcessAuditLogRepository;
+	@Override
+	protected LeaveSchoolProcessAuditLogRepository getRepository() {
+		return leaveSchoolProcessAuditLogRepository;
+	}
+	
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessController.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessController.java
new file mode 100644
index 0000000..951bc37
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessController.java
@@ -0,0 +1,22 @@
+package com.supwisdom.leaveschool.leaving.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.supwisdom.leaveschool.common.controller.api.CrudApiController;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolProcess;
+import com.supwisdom.leaveschool.leaving.repository.LeaveSchoolProcessRepository;
+
+@RestController
+@RequestMapping("/api/v1/leaving/leave_school_pro")
+public class Api1LeaveSchoolProcessController extends CrudApiController<LeaveSchoolProcess, LeaveSchoolProcessRepository>{
+	
+	@Autowired
+	private LeaveSchoolProcessRepository leaveSchoolProcessRepository;
+	@Override
+	protected LeaveSchoolProcessRepository getRepository() {
+		return leaveSchoolProcessRepository;
+	}
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessDependenceController.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessDependenceController.java
new file mode 100644
index 0000000..2965fa9
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolProcessDependenceController.java
@@ -0,0 +1,21 @@
+package com.supwisdom.leaveschool.leaving.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.supwisdom.leaveschool.common.controller.api.CrudApiController;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolProcessDependence;
+import com.supwisdom.leaveschool.leaving.repository.LeaveSchoolProcessDependenceRepository;
+
+@RestController
+@RequestMapping("/api/v1/leaving/leave_school_pro_dep")
+public class Api1LeaveSchoolProcessDependenceController extends CrudApiController<LeaveSchoolProcessDependence,LeaveSchoolProcessDependenceRepository>{
+	@Autowired
+	private LeaveSchoolProcessDependenceRepository leaveSchoolProcessDependenceRepository;
+	@Override
+	protected LeaveSchoolProcessDependenceRepository getRepository() {
+		return leaveSchoolProcessDependenceRepository;
+	}
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolStudentController.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolStudentController.java
new file mode 100644
index 0000000..b66d9cb
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1LeaveSchoolStudentController.java
@@ -0,0 +1,22 @@
+package com.supwisdom.leaveschool.leaving.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.supwisdom.leaveschool.common.controller.api.CrudApiController;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolStudent;
+import com.supwisdom.leaveschool.leaving.repository.LeaveSchoolStudentRepository;
+
+@RestController
+@RequestMapping("/api/v1/leaving/leave_school_student")
+public class Api1LeaveSchoolStudentController extends CrudApiController<LeaveSchoolStudent,LeaveSchoolStudentRepository>{
+	
+	@Autowired
+	private LeaveSchoolStudentRepository leaveSchoolStudentRepository;
+	@Override
+	protected LeaveSchoolStudentRepository getRepository() {
+		return leaveSchoolStudentRepository;
+	}
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1NodeAuditorController.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1NodeAuditorController.java
new file mode 100644
index 0000000..d845e5e
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1NodeAuditorController.java
@@ -0,0 +1,22 @@
+package com.supwisdom.leaveschool.leaving.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.supwisdom.leaveschool.common.controller.api.CrudApiController;
+import com.supwisdom.leaveschool.leaving.domain.NodeAuditor;
+import com.supwisdom.leaveschool.leaving.repository.NodeAuditorRepository;
+
+@RestController
+@RequestMapping("/api/v1/leaving/node_auditor")
+public class Api1NodeAuditorController extends CrudApiController<NodeAuditor,NodeAuditorRepository>{
+	
+	@Autowired
+	private NodeAuditorRepository nodeAuditorRepository;
+	@Override
+	protected NodeAuditorRepository getRepository() {
+		return nodeAuditorRepository;
+	}
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1NodePrincipalController.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1NodePrincipalController.java
new file mode 100644
index 0000000..0d4a4c8
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/controller/Api1NodePrincipalController.java
@@ -0,0 +1,23 @@
+package com.supwisdom.leaveschool.leaving.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.supwisdom.leaveschool.common.controller.api.CrudApiController;
+import com.supwisdom.leaveschool.leaving.domain.NodePrincipal;
+import com.supwisdom.leaveschool.leaving.repository.NodePrincipalRepository;
+
+@RestController
+@RequestMapping("/api/v1/leaving/node_principal")
+public class Api1NodePrincipalController extends CrudApiController<NodePrincipal,NodePrincipalRepository>{
+	
+	
+	@Autowired
+	private NodePrincipalRepository nodePrincipalRepository;
+	@Override
+	protected NodePrincipalRepository getRepository() {
+		return nodePrincipalRepository;
+	}
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/AuditNode.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/AuditNode.java
new file mode 100644
index 0000000..4f5cf06
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/AuditNode.java
@@ -0,0 +1,146 @@
+package com.supwisdom.leaveschool.leaving.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Department;
+import com.supwisdom.leaveschool.leaving.domain.enums.AuditType;
+import com.supwisdom.leaveschool.leaving.domain.enums.DefaultAuditStatus;
+import com.supwisdom.leaveschool.leaving.domain.enums.Scope;
+
+/**
+ * 审核环节
+ * @ClassName AuditNode
+ * @Description 
+ * @Date 2018年8月22日 下午5:51:24
+ */
+@Entity
+@Table(name = "TB_L_AUDIT_NODE")
+@org.hibernate.annotations.Table(appliesTo = "TB_L_AUDIT_NODE",comment="审核环节")
+public class AuditNode extends ABaseDomain{
+
+	private static final long serialVersionUID = -5161071374602767825L;
+	/**
+	 * 名称
+	 */
+	@Column(name = "NAME",columnDefinition="varchar(150) not null comment '名称'")
+	private String name;
+	/**
+	 * 联系人
+	 */
+	@Column(name = "CONTACT",columnDefinition="varchar(120) comment '联系人'")
+	private String contact;
+	
+	/**
+	 * 所属部门
+	 */
+	@ManyToOne(targetEntity=Department.class)
+	@JoinColumn(name="DEPARTMENT_ID",columnDefinition="varchar(64) comment '所属部门id'")
+	private Department department;
+	
+	/**
+	 * 联系电话
+	 */
+	@Column(name = "PHONE_NUMBER",columnDefinition="varchar(20) comment '联系电话'")
+	private String phoneNumber;	
+	
+	/**
+	 * 范围控制(全校范围、院系范围、辅导员范围)
+	 */
+	@Column(name = "SCOPE",columnDefinition="varchar(20) not null comment '范围控制(全校范围、院系范围、辅导员范围)'")
+	private Scope scope;
+	
+	/**
+	 * 审核方式(手动、自动,默认手动)
+	 */
+	@Column(name = "AUDIT_TYPE",columnDefinition="varchar(20) not null comment '审核方式(手动、自动,默认手动)'")
+	private AuditType auditType;
+	
+	/**
+	 * 审核状态(待审核、审核通过、审核不通过 ,默认待审核)
+	 */
+	@Column(name = "DEFAULT_AUDIT_STATUS",columnDefinition="varchar(20) not null comment '审核状态(待审核、审核通过、审核不通过 ,默认待审核)'")
+	private DefaultAuditStatus defaultAuditStatus;
+	
+	/**
+	 * 审核环节职责
+	 */
+	@Column(name = "AUDIT_NODE_DUTY",columnDefinition="varchar(200) not null comment '审核环节职责'")
+	private String auditNodeDuty;
+	
+	/**
+	 * 审核环节地址
+	 */
+	@Column(name = "AUDIT_NODE_ADDRESS",columnDefinition="varchar(200) not null comment '审核环节地址'")
+	private String auditNodeAddress;
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getContact() {
+		return contact;
+	}
+
+	public void setContact(String contact) {
+		this.contact = contact;
+	}
+
+	public String getPhoneNumber() {
+		return phoneNumber;
+	}
+
+	public void setPhoneNumber(String phoneNumber) {
+		this.phoneNumber = phoneNumber;
+	}
+
+	public Scope getScope() {
+		return scope;
+	}
+
+	public void setScope(Scope scope) {
+		this.scope = scope;
+	}
+
+	public AuditType getAuditType() {
+		return auditType;
+	}
+
+	public void setAuditType(AuditType auditType) {
+		this.auditType = auditType;
+	}
+
+	public DefaultAuditStatus getDefaultAuditStatus() {
+		return defaultAuditStatus;
+	}
+
+	public void setDefaultAuditStatus(DefaultAuditStatus defaultAuditStatus) {
+		this.defaultAuditStatus = defaultAuditStatus;
+	}
+
+	public String getAuditNodeDuty() {
+		return auditNodeDuty;
+	}
+
+	public void setAuditNodeDuty(String auditNodeDuty) {
+		this.auditNodeDuty = auditNodeDuty;
+	}
+
+	public String getAuditNodeAddress() {
+		return auditNodeAddress;
+	}
+
+	public void setAuditNodeAddress(String auditNodeAddress) {
+		this.auditNodeAddress = auditNodeAddress;
+	}
+	
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolBatch.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolBatch.java
new file mode 100644
index 0000000..b6c85ee
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolBatch.java
@@ -0,0 +1,120 @@
+package com.supwisdom.leaveschool.leaving.domain;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToMany;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Year;
+
+/**
+ * 离校批次
+ * @ClassName LeaveSchoolBatch
+ * @Description 
+ * @Author bin.zhang
+ * @Date 2018年8月24日 上午11:00:39
+ */
+@Entity
+@Table(name = "TB_L_LEAVE_SCH_BATCH")
+@org.hibernate.annotations.Table(appliesTo = "TB_L_LEAVE_SCH_BATCH",comment="离校批次")
+public class LeaveSchoolBatch extends ABaseDomain{
+
+	private static final long serialVersionUID = 2364597915787776233L;
+	
+	/**
+	 * 名称
+	 */
+	@Column(name = "NAME",columnDefinition="varchar(150) not null comment '名称'")
+	private String name;
+	
+	/**
+	 * 学年
+	 */
+	@ManyToOne(targetEntity=Year.class)
+	@JoinColumn(name="SCHOOL_YEAR_ID",columnDefinition="varchar(64) comment '学年ID'")
+	private Year schoolYear;
+	
+	/**
+	 * 是否开通
+	 */
+	@Column(name = "OPENED",columnDefinition="int(11) not null comment '是否开通'")
+	private Boolean opened;
+	
+	/**
+	 * 名单同步接口
+	 */
+	@Column(name = "ROSTER_SYNC_INTERFACE",columnDefinition="String(250)  comment '名单同步接口'")
+	private String rosterSyncInterface;
+	
+	/**
+	 * 开始日期(yyyy-MM-dd)
+	 */
+	@Column(name = "START_DATE",columnDefinition="datetime(20)  comment '开始日期(yyyy-MM-dd)'")
+	private Date startDate;
+	
+	/**
+	 * 结束日期(yyyy-MM-dd)
+	 */
+	@Column(name = "END_DATE",columnDefinition="datetime(20)  comment '结束日期(yyyy-MM-dd)'")
+	private Date endDate;
+	/**
+	 * 离校流程
+	 */
+	@ManyToMany
+	@JoinTable(
+			name="TB_L_LEAVE_BATCH_PROCESS",
+			joinColumns=@JoinColumn(name="BATCH_ID",columnDefinition="varchar(64) not null comment '离校批次ID' "),
+			inverseJoinColumns=@JoinColumn(name="PROCESS_ID",columnDefinition="varchar(64) not null comment '离校流程ID' "))
+	private List<LeaveSchoolProcess> leaveProcList;
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public Year getSchoolYear() {
+		return schoolYear;
+	}
+	public void setSchoolYear(Year schoolYear) {
+		this.schoolYear = schoolYear;
+	}
+	public Boolean getOpened() {
+		return opened;
+	}
+	public void setOpened(Boolean opened) {
+		this.opened = opened;
+	}
+	public String getRosterSyncInterface() {
+		return rosterSyncInterface;
+	}
+	public void setRosterSyncInterface(String rosterSyncInterface) {
+		this.rosterSyncInterface = rosterSyncInterface;
+	}
+	public Date getStartDate() {
+		return startDate;
+	}
+	public void setStartDate(Date startDate) {
+		this.startDate = startDate;
+	}
+	public Date getEndDate() {
+		return endDate;
+	}
+	public void setEndDate(Date endDate) {
+		this.endDate = endDate;
+	}
+	public List<LeaveSchoolProcess> getLeaveProcList() {
+		return leaveProcList;
+	}
+	public void setLeaveProcList(List<LeaveSchoolProcess> leaveProcList) {
+		this.leaveProcList = leaveProcList;
+	}
+	
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcess.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcess.java
new file mode 100644
index 0000000..b4054c2
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcess.java
@@ -0,0 +1,104 @@
+package com.supwisdom.leaveschool.leaving.domain;
+
+import java.util.List;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToMany;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+
+/**
+ * 离校流程
+ * @ClassName LeaveSchoolProcess
+ * @Description 
+ * @Date 2018年8月23日 下午4:44:37
+ */
+@Entity
+@Table(name = "TB_L_LEAVE_SCH_PRO")
+@org.hibernate.annotations.Table(appliesTo = "TB_L_LEAVE_SCH_PRO",comment="离校流程")
+public class LeaveSchoolProcess extends ABaseDomain{
+
+	private static final long serialVersionUID = -9083509054917728942L;
+	/**
+	 * 离校批次
+	 */
+	@ManyToOne(targetEntity=LeaveSchoolBatch.class)
+	@JoinColumn(name="LEAVE_SCH_BATCH_ID",columnDefinition="varchar(64) comment '离校批次id'")
+	private LeaveSchoolBatch leaveSchoolBatch;
+	
+	/**
+	 * 审核环节
+	 */
+	@ManyToOne(targetEntity=AuditNode.class)
+	@JoinColumn(name="AUDIT_NODE_ID",columnDefinition="varchar(64) comment '审核环节id'")
+	private AuditNode auditNode;
+	
+	/**
+	 * 是否必办部门
+	 */
+	@Column(name = "NEEDED_DEPARTMENT",columnDefinition="int(11) comment '是否必办部门'")
+	private Boolean neededDepartment;
+	
+	/**
+	 * 显示顺序
+	 */
+	@Column(name = "ORDER_NUM",columnDefinition="int(11) comment '显示顺序'")
+	private Integer orderNum;
+	
+	/**
+	 * 依赖流程
+	 */
+	@ManyToMany
+	@JoinTable(
+			name="TB_L_LEAVE_PROCESS_DEPENDENCE",
+			joinColumns=@JoinColumn(name="PROCESS_ID",columnDefinition="varchar(64) not null comment '离校流程ID' "),
+			inverseJoinColumns=@JoinColumn(name="DEPENDENCE_ID",columnDefinition="varchar(64) not null comment '离校流程依赖ID' "))  
+	private List<LeaveSchoolProcessDependence> dependencyProcList;
+
+	public LeaveSchoolBatch getLeaveSchoolBatch() {
+		return leaveSchoolBatch;
+	}
+
+	public void setLeaveSchoolBatch(LeaveSchoolBatch leaveSchoolBatch) {
+		this.leaveSchoolBatch = leaveSchoolBatch;
+	}
+
+	public AuditNode getAuditNode() {
+		return auditNode;
+	}
+
+	public void setAuditNode(AuditNode auditNode) {
+		this.auditNode = auditNode;
+	}
+
+	public Boolean getNeededDepartment() {
+		return neededDepartment;
+	}
+
+	public void setNeededDepartment(Boolean neededDepartment) {
+		this.neededDepartment = neededDepartment;
+	}
+
+	public Integer getOrderNum() {
+		return orderNum;
+	}
+
+	public void setOrderNum(Integer orderNum) {
+		this.orderNum = orderNum;
+	}
+
+	public List<LeaveSchoolProcessDependence> getDependencyProcList() {
+		return dependencyProcList;
+	}
+
+	public void setDependencyProcList(List<LeaveSchoolProcessDependence> dependencyProcList) {
+		this.dependencyProcList = dependencyProcList;
+	}
+	
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcessAudit.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcessAudit.java
new file mode 100644
index 0000000..81a3980
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcessAudit.java
@@ -0,0 +1,97 @@
+package com.supwisdom.leaveschool.leaving.domain;
+
+import java.util.List;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToMany;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+import com.supwisdom.leaveschool.leaving.domain.enums.DefaultAuditStatus;
+
+/**
+ * 离校流程审核
+ * @ClassName LeaveSchoolProcessAudit
+ * @Description 
+ * @Date 2018年8月24日 上午11:30:23
+ */
+@Entity
+@Table(name = "TB_L_LEAVE_SCH_PRO_AUDIT")
+@org.hibernate.annotations.Table(appliesTo = "TB_L_LEAVE_SCH_PRO_AUDIT",comment="离校流程审核")
+public class LeaveSchoolProcessAudit extends ABaseDomain{
+
+	private static final long serialVersionUID = -4024020065386281861L;
+	
+	/**
+	 * 离校批次
+	 */
+	@ManyToOne(targetEntity=LeaveSchoolBatch.class)
+	@JoinColumn(name="LEAVE_SCH_BATCH_ID",columnDefinition="varchar(64) comment '离校批次id'")
+	private LeaveSchoolBatch leaveSchoolBatch;
+	
+	/**
+	 * 离校学生
+	 */
+	@ManyToOne(targetEntity=LeaveSchoolStudent.class)
+	@JoinColumn(name="LEAVE_SCH_STUDENT_ID",columnDefinition="varchar(64) comment '离校学生id'")
+	private LeaveSchoolStudent leaveSchoolStudent;
+	
+	/**
+	 * 离校流程
+	 */
+	@ManyToOne(targetEntity=LeaveSchoolProcess.class)
+	@JoinColumn(name="LEAVE_SCH_PRO_ID",columnDefinition="varchar(64) comment '离校流程id'") 
+	private LeaveSchoolProcess leaveSchoolProcess;
+	
+	/**
+	 * 审核状态(待审核、审核通过、审核不通过 ,默认待审核)
+	 */
+	@Column(name = "AUDIT_STATUS",columnDefinition="varchar(20) not null comment '审核状态(待审核、审核通过、审核不通过 ,默认待审核)'")
+	private DefaultAuditStatus auditResult;
+	
+	/**
+	 * 离校流程审核日志
+	 */
+	@ManyToMany
+	@JoinTable(
+			name="TB_L_LEAVE_AUDIT_LOG",
+			joinColumns=@JoinColumn(name="AUDIT_ID",columnDefinition="varchar(64) not null comment '离校流程审核ID' "),
+			inverseJoinColumns=@JoinColumn(name="LOG_ID",columnDefinition="varchar(64) not null comment '离校流程审核日志ID' "))
+	private List<LeaveSchoolProcessAuditLog> leaveProcAuditLogList;
+	
+	public LeaveSchoolBatch getLeaveSchoolBatch() {
+		return leaveSchoolBatch;
+	}
+	public void setLeaveSchoolBatch(LeaveSchoolBatch leaveSchoolBatch) {
+		this.leaveSchoolBatch = leaveSchoolBatch;
+	}
+	public LeaveSchoolStudent getLeaveSchoolStudent() {
+		return leaveSchoolStudent;
+	}
+	public void setLeaveSchoolStudent(LeaveSchoolStudent leaveSchoolStudent) {
+		this.leaveSchoolStudent = leaveSchoolStudent;
+	}
+	public LeaveSchoolProcess getLeaveSchoolProcess() {
+		return leaveSchoolProcess;
+	}
+	public void setLeaveSchoolProcess(LeaveSchoolProcess leaveSchoolProcess) {
+		this.leaveSchoolProcess = leaveSchoolProcess;
+	}
+	public DefaultAuditStatus getAuditResult() {
+		return auditResult;
+	}
+	public void setAuditResult(DefaultAuditStatus auditResult) {
+		this.auditResult = auditResult;
+	}
+	public List<LeaveSchoolProcessAuditLog> getLeaveProcAuditLogList() {
+		return leaveProcAuditLogList;
+	}
+	public void setLeaveProcAuditLogList(List<LeaveSchoolProcessAuditLog> leaveProcAuditLogList) {
+		this.leaveProcAuditLogList = leaveProcAuditLogList;
+	}
+		
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcessAuditLog.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcessAuditLog.java
new file mode 100644
index 0000000..e888798
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcessAuditLog.java
@@ -0,0 +1,69 @@
+package com.supwisdom.leaveschool.leaving.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+import com.supwisdom.leaveschool.leaving.domain.enums.DefaultAuditStatus;
+
+/**
+ * 离校流程审核日志
+ * @ClassName LeaveSchoolProcessAudit
+ * @Description 
+ * @Date 2018年8月24日 上午11:30:23
+ */
+@Entity
+@Table(name = "TB_L_LEAVE_SCH_PRO_AUDIT_LOG")
+@org.hibernate.annotations.Table(appliesTo = "TB_L_LEAVE_SCH_PRO_AUDIT_LOG",comment="离校流程审核日志")
+public class LeaveSchoolProcessAuditLog extends ABaseDomain{
+
+	private static final long serialVersionUID = 2354394216859313512L;
+	/**
+	 * 离校流程审核
+	 */
+	@ManyToOne(targetEntity=LeaveSchoolProcessAudit.class)
+	@JoinColumn(name="LEAVE_SCH_PRO_AUDIT_ID",columnDefinition="varchar(64) comment '离校流程审核id'")
+	private LeaveSchoolProcessAudit leaveSchoolProcessAudit;
+	
+	/**
+	 * 审核状态(待审核、审核通过、审核不通过 ,默认待审核)
+	 */
+	@Column(name = "AUDIT_STATUS",columnDefinition="varchar(20) not null comment '审核状态(待审核、审核通过、审核不通过 ,默认待审核)'")
+	private DefaultAuditStatus auditResult;
+	
+	/**
+	 * 审核意见
+	 */
+	@Column(name = "AUDIT_OPTION",columnDefinition="varchar(400) not null comment '审核意见'")
+	private String auditOption;
+
+	public LeaveSchoolProcessAudit getLeaveSchoolProcessAudit() {
+		return leaveSchoolProcessAudit;
+	}
+
+	public void setLeaveSchoolProcessAudit(LeaveSchoolProcessAudit leaveSchoolProcessAudit) {
+		this.leaveSchoolProcessAudit = leaveSchoolProcessAudit;
+	}
+
+	public DefaultAuditStatus getAuditResult() {
+		return auditResult;
+	}
+
+	public void setAuditResult(DefaultAuditStatus auditResult) {
+		this.auditResult = auditResult;
+	}
+
+	public String getAuditOption() {
+		return auditOption;
+	}
+
+	public void setAuditOption(String auditOption) {
+		this.auditOption = auditOption;
+	}
+	
+	
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcessDependence.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcessDependence.java
new file mode 100644
index 0000000..eb4f8c3
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolProcessDependence.java
@@ -0,0 +1,56 @@
+package com.supwisdom.leaveschool.leaving.domain;
+
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+
+/**
+ * 离校流程依赖
+ * @ClassName LeaveSchoolProcessDependence
+ * @Description 
+ * @Date 2018年8月23日 下午4:38:01
+ */
+@Entity
+@Table(name = "TB_L_LEAVE_SCH_PRO_DEPEN")
+@org.hibernate.annotations.Table(appliesTo = "TB_L_LEAVE_SCH_PRO_DEPEN",comment="离校流程依赖")
+public class LeaveSchoolProcessDependence extends ABaseDomain{
+
+	private static final long serialVersionUID = 4245172195569868171L;
+	
+	
+	/**
+	 * 离校流程
+	 */
+	@ManyToOne(targetEntity=LeaveSchoolProcess.class)
+	@JoinColumn(name="LEAVE_SCH_PRO_ID",columnDefinition="varchar(64) comment '离校流程id'") 
+	private LeaveSchoolProcess leaveSchoolProcess;
+	
+	/**
+	 * 审核环节
+	 */
+	@ManyToOne(targetEntity=AuditNode.class)
+	@JoinColumn(name="AUDIT_NODE_ID",columnDefinition="varchar(64) comment '审核环节id'") 
+	private AuditNode auditNode;
+
+	public LeaveSchoolProcess getLeaveSchoolProcess() {
+		return leaveSchoolProcess;
+	}
+
+	public void setLeaveSchoolProcess(LeaveSchoolProcess leaveSchoolProcess) {
+		this.leaveSchoolProcess = leaveSchoolProcess;
+	}
+
+	public AuditNode getAuditNode() {
+		return auditNode;
+	}
+
+	public void setAuditNode(AuditNode auditNode) {
+		this.auditNode = auditNode;
+	}
+	
+	
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolStudent.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolStudent.java
new file mode 100644
index 0000000..4727aaf
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/LeaveSchoolStudent.java
@@ -0,0 +1,211 @@
+package com.supwisdom.leaveschool.leaving.domain;
+
+import java.util.List;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToMany;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Classes;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Department;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Dictionary;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Major;
+
+/**
+ * 离校名单
+ * @ClassName LeaveSchoolProcessAudit
+ * @Description 
+ * @Date 2018年8月24日 上午11:30:23
+ */
+@Entity
+@Table(name = "TB_L_LEAVE_SCH_STUDENT")
+@org.hibernate.annotations.Table(appliesTo = "TB_L_LEAVE_SCH_STUDENT",comment="离校名单")
+public class LeaveSchoolStudent  extends ABaseDomain{
+
+	private static final long serialVersionUID = -5582206124251696329L;
+	/**
+	 * 学号
+	 */
+	@Column(name = "STUDNET_NUMBER",columnDefinition="varchar(50) not null comment '学号'")
+	private String studentNumber;
+	
+	/**
+	 * 姓名
+	 */
+	@Column(name = "NAME",columnDefinition="varchar(150) not null comment '姓名'")
+	private String name;
+	
+	/**
+	 * 院系
+	 */
+	@ManyToOne(targetEntity=Department.class)
+	@JoinColumn(name="DEPARTMENT_ID",columnDefinition="varchar(64) comment '院系id'")
+	private Department department;
+	
+	/**
+	 * 专业
+	 */
+	@ManyToOne(targetEntity=Department.class)
+	@JoinColumn(name="MAJOR_ID",columnDefinition="varchar(64) comment '专业id'")
+	private Major major;
+	
+	/**
+	 * 班级
+	 */
+	@ManyToOne(targetEntity=Department.class)
+	@JoinColumn(name="CLAZZ_ID",columnDefinition="varchar(64) comment '班级id'")
+	private Classes clazz;
+	
+	/**
+	 * 学生类别
+	 */
+	@ManyToOne(targetEntity=Department.class)
+	@JoinColumn(name="STUDENT_TYPE_ID",columnDefinition="varchar(64) comment '学生类别'")
+	private Dictionary studentType;
+	
+	/**
+	 * 离校批次
+	 */
+	@ManyToOne(targetEntity=LeaveSchoolBatch.class)
+	@JoinColumn(name="LEAVE_SCH_BATCH_ID",columnDefinition="varchar(64) comment '离校批次id'")
+	private LeaveSchoolBatch leaveSchoolBatch;
+	
+	/**
+	 * 离校类型
+	 */
+	@ManyToOne(targetEntity=Department.class)
+	@JoinColumn(name="LEAVE_SCHOOL_TYPE_ID",columnDefinition="varchar(64) comment '离校类型'")
+	private Dictionary leaveSchoolType;
+	
+	/**
+	 * 毕业年份(yyyy)
+	 */
+	@Column(name = "GRADUATE_YEAR",columnDefinition="varchar(10)  comment '毕业年份(yyyy)'")
+	private String graduateYear;
+	
+	
+	/**
+	 * 毕业月份(MM)
+	 */
+	@Column(name = "GRADUATE_MONTH",columnDefinition="varchar(10)  comment '毕业月份(MM)'")
+	private String graduateMonth;
+	
+	
+	/**
+	 * 是否准予离校
+	 */
+	@Column(name = "ALLOWED_LEAVE",columnDefinition="int(11) comment '是否准予离校'")
+	private Boolean allowedLeave;
+	
+	/**
+	 * 离校流程审核
+	 */
+	@ManyToMany
+	@JoinTable(
+			name="TB_L_LEAVE_STUDENT_AUDIT",
+			joinColumns=@JoinColumn(name="STUDENT_ID",columnDefinition="varchar(64) not null comment '离校名单ID' "),
+			inverseJoinColumns=@JoinColumn(name="AUDIT_ID",columnDefinition="varchar(64) not null comment '离校流程审核ID' "))
+	private List<LeaveSchoolProcessAudit> leaveProcAuditList;
+
+	public String getStudentNumber() {
+		return studentNumber;
+	}
+
+	public void setStudentNumber(String studentNumber) {
+		this.studentNumber = studentNumber;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Department getDepartment() {
+		return department;
+	}
+
+	public void setDepartment(Department department) {
+		this.department = department;
+	}
+
+	public Major getMajor() {
+		return major;
+	}
+
+	public void setMajor(Major major) {
+		this.major = major;
+	}
+
+	public Classes getClazz() {
+		return clazz;
+	}
+
+	public void setClazz(Classes clazz) {
+		this.clazz = clazz;
+	}
+
+	public Dictionary getStudentType() {
+		return studentType;
+	}
+
+	public void setStudentType(Dictionary studentType) {
+		this.studentType = studentType;
+	}
+
+	public LeaveSchoolBatch getLeaveSchoolBatch() {
+		return leaveSchoolBatch;
+	}
+
+	public void setLeaveSchoolBatch(LeaveSchoolBatch leaveSchoolBatch) {
+		this.leaveSchoolBatch = leaveSchoolBatch;
+	}
+
+	public Dictionary getLeaveSchoolType() {
+		return leaveSchoolType;
+	}
+
+	public void setLeaveSchoolType(Dictionary leaveSchoolType) {
+		this.leaveSchoolType = leaveSchoolType;
+	}
+
+	public String getGraduateYear() {
+		return graduateYear;
+	}
+
+	public void setGraduateYear(String graduateYear) {
+		this.graduateYear = graduateYear;
+	}
+
+	public String getGraduateMonth() {
+		return graduateMonth;
+	}
+
+	public void setGraduateMonth(String graduateMonth) {
+		this.graduateMonth = graduateMonth;
+	}
+
+	public Boolean getAllowedLeave() {
+		return allowedLeave;
+	}
+
+	public void setAllowedLeave(Boolean allowedLeave) {
+		this.allowedLeave = allowedLeave;
+	}
+
+	public List<LeaveSchoolProcessAudit> getLeaveProcAuditList() {
+		return leaveProcAuditList;
+	}
+
+	public void setLeaveProcAuditList(List<LeaveSchoolProcessAudit> leaveProcAuditList) {
+		this.leaveProcAuditList = leaveProcAuditList;
+	}
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/NodeAuditor.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/NodeAuditor.java
new file mode 100644
index 0000000..192a2c4
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/NodeAuditor.java
@@ -0,0 +1,55 @@
+package com.supwisdom.leaveschool.leaving.domain;
+
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+import com.supwisdom.leaveschool.leaving.domain.user.User;
+
+/**
+ * 环节审核人
+ * @ClassName NodeAuditor
+ * @Description 
+ * @Date 2018年8月22日 下午5:38:12
+ */
+@Entity
+@Table(name = "TB_L_NODE_AUDITOR")
+@org.hibernate.annotations.Table(appliesTo = "TB_L_NODE_AUDITOR",comment="环节审核人")
+public class NodeAuditor extends ABaseDomain{
+	private static final long serialVersionUID = 2999878870051537615L;
+	
+	/**
+	 * 审核环节
+	 */
+	@ManyToOne(targetEntity=AuditNode.class)
+	@JoinColumn(name="AUDIT_NODE_ID",columnDefinition="varchar(64) comment '审核环节id'")
+	private AuditNode auditNode;
+	
+	/**
+	 * 审核人
+	 */
+	@ManyToOne(targetEntity=User.class)
+	@JoinColumn(name="USER_ID",columnDefinition="varchar(64) comment '审核人id'")
+	private User user;
+
+	public AuditNode getAuditNode() {
+		return auditNode;
+	}
+
+	public void setAuditNode(AuditNode auditNode) {
+		this.auditNode = auditNode;
+	}
+
+	public User getUser() {
+		return user;
+	}
+
+	public void setUser(User user) {
+		this.user = user;
+	}
+	
+	
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/NodePrincipal.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/NodePrincipal.java
new file mode 100644
index 0000000..8fa8835
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/NodePrincipal.java
@@ -0,0 +1,55 @@
+package com.supwisdom.leaveschool.leaving.domain;
+
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+import com.supwisdom.leaveschool.leaving.domain.user.User;
+
+/**
+ * 环节负责人
+ * @ClassName NodePrincipal
+ * @Description 
+ * @Date 2018年8月23日 下午2:59:28
+ */
+@Entity
+@Table(name = "TB_L_NODE_PRINCIPAL")
+@org.hibernate.annotations.Table(appliesTo = "TB_L_NODE_PRINCIPAL",comment="环节负责人")
+public class NodePrincipal extends ABaseDomain{
+	
+	private static final long serialVersionUID = -2106626549746006135L;
+	
+	/**
+	 * 审核环节
+	 */
+	@ManyToOne(targetEntity=AuditNode.class)
+	@JoinColumn(name="AUDIT_NODE_ID",columnDefinition="varchar(64) comment '审核环节id'")
+	private AuditNode auditNode;
+	
+	/**
+	 * 审核人
+	 */
+	@ManyToOne(targetEntity=User.class)
+	@JoinColumn(name="USER_ID",columnDefinition="varchar(64) comment '审核人id'")
+	private User user;
+
+	public AuditNode getAuditNode() { 
+		return auditNode;
+	}
+
+	public void setAuditNode(AuditNode auditNode) {
+		this.auditNode = auditNode;
+	}
+
+	public User getUser() {
+		return user;
+	}
+
+	public void setUser(User user) {
+		this.user = user;
+	}
+	
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Classes.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Classes.java
new file mode 100644
index 0000000..0b7facc
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Classes.java
@@ -0,0 +1,111 @@
+package com.supwisdom.leaveschool.leaving.domain.basicdata;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+/**
+ * 班级
+ * @author Administrator
+ *
+ */
+@Entity
+@Table(name = "TB_B_CLASSES")
+@org.hibernate.annotations.Table(appliesTo = "TB_B_CLASSES",comment="班级表")
+public class Classes extends ABaseDomain{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 5374908332162700935L;
+	
+	  /**
+	   * 班级代码
+	   */
+	  @Column(name = "CODE", unique = true,columnDefinition="varchar(120) not null comment '班级代码'")
+	  private String code;
+	  
+	  /**
+	   * 班级名称
+	   */
+	  @Column(name = "NAME", columnDefinition="varchar(120) not null comment '班级名称'")
+	  private String name;
+	  /**
+	   * 所在院系
+	   */
+	  @JoinColumn(name = "DEPARTMENT_ID",columnDefinition="varchar(100) not null comment '所在院系,引用字典类型表id'")
+	  @ManyToOne(targetEntity = Department.class)
+	  private Department department;
+	  
+	  /**
+	   * 所在院系
+	   */
+	  @JoinColumn(name = "MAJOR_ID",columnDefinition="varchar(100) not null comment '所在专业,引用专业表id'")
+	  @ManyToOne(targetEntity = Major.class)
+	  private Major major;
+	  /**
+	   * 年级
+	   */
+	  @Column(name = "YEAR", unique = true,columnDefinition="varchar(120) not null comment '年级(yyyy)'")
+	  private String year;
+	  
+	  /**
+	   * 是否可用
+	   * 1 可用,0 不可用,默认:1
+	   */
+	  @Column(name = "ENABLED",columnDefinition="int(11) default 1 comment '是否可用'")
+	  private boolean enabled = true;
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Department getDepartment() {
+		return department;
+	}
+
+	public void setDepartment(Department department) {
+		this.department = department;
+	}
+
+	public Major getMajor() {
+		return major;
+	}
+
+	public void setMajor(Major major) {
+		this.major = major;
+	}
+
+	public String getYear() {
+		return year;
+	}
+
+	public void setYear(String year) {
+		this.year = year;
+	}
+
+	public boolean isEnabled() {
+		return enabled;
+	}
+
+	public void setEnabled(boolean enabled) {
+		this.enabled = enabled;
+	}
+	  
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Department.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Department.java
new file mode 100644
index 0000000..06566b7
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Department.java
@@ -0,0 +1,98 @@
+package com.supwisdom.leaveschool.leaving.domain.basicdata;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+
+/**
+ * 部门院系
+ * @author Administrator
+ *
+ */
+@Entity
+@Table(name = "TB_B_DEPARTMENT")
+@org.hibernate.annotations.Table(appliesTo = "TB_B_DEPARTMENT",comment="部门院系表")
+public class Department extends ABaseDomain{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 4683990621975103576L;
+	
+	/**
+	   * 单位代码
+	   */
+	  @Column(name = "CODE", unique = true,columnDefinition="varchar(120) not null comment '单位代码'")
+	  private String code;
+	  
+	  /**
+	   * 单位简称
+	   */
+	  @Column(name = "NAME",columnDefinition="varchar(200) not null comment '单位简称'")
+	  private String name;
+	  /**
+	   * 单位英文名称
+	   */
+	  @Column(name = "EN_NAME",columnDefinition="varchar(200) not null comment '单位英文名称'")
+	  private String enName;
+	  /**
+	   * 排序
+	   */
+	  @Column(name = "SORT",columnDefinition="int(11) comment '排序'")
+	  private int sort;
+	  /**
+	   * 是否可用
+	   * 1 可用,0 不可用,默认:1
+	   */
+	  @Column(name = "ENABLED",columnDefinition="int(11) default 1 comment '是否可用'")
+	  private boolean enabled = true;
+	  /**
+	   * 类别码
+	   */
+//	  @Column(name = "CLASS_CODE")
+	  @JoinColumn(name = "CLASS_CODE",columnDefinition="varchar(100) not null comment '类别码,引用字典类型表id'")
+	  @ManyToOne(targetEntity = Dictionary.class)
+	  private Dictionary classCode;
+	public String getCode() {
+		return code;
+	}
+	public void setCode(String code) {
+		this.code = code;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getEnName() {
+		return enName;
+	}
+	public void setEnName(String enName) {
+		this.enName = enName;
+	}
+	public int getSort() {
+		return sort;
+	}
+	public void setSort(int sort) {
+		this.sort = sort;
+	}
+	public boolean isEnabled() {
+		return enabled;
+	}
+	public void setEnabled(boolean enabled) {
+		this.enabled = enabled;
+	}
+	public Dictionary getClassCode() {
+		return classCode;
+	}
+	public void setClassCode(Dictionary classCode) {
+		this.classCode = classCode;
+	}
+	
+	  
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Dictionary.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Dictionary.java
new file mode 100644
index 0000000..9725122
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Dictionary.java
@@ -0,0 +1,99 @@
+package com.supwisdom.leaveschool.leaving.domain.basicdata;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+
+/**
+ * 字典类
+ * @author Administrator
+ *
+ */
+@Entity
+@Table(name = "TB_B_DICTIONARY")
+public class Dictionary extends ABaseDomain {
+
+ 
+
+  /**
+	 * 
+	 */
+	private static final long serialVersionUID = -7355785282419690119L;
+
+	/**
+	   * 类型码
+	   */
+	  @Column(name = "CODE", unique = true)
+	  private String code;
+	  
+	  /**
+	   * 名称
+	   */
+	  @Column(name = "NAME")
+	  private String name;
+	
+	  /**
+	   * 是否可用
+	   * 1 可用,0 不可用,默认:1
+	   */
+	  @Column(name = "ENABLED")
+	  private boolean enabled = true;
+	  
+	  /**
+	   * 排序
+	   */
+	  @Column(name = "SORT")
+	  private Integer sort;
+	  
+	  /**
+	   * 字典表类型
+	   */
+	  @Column(name = "TB_B_DICTIONARY_TYPE_ID")
+	  private DictionaryType dictionaryType;
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public boolean isEnabled() {
+		return enabled;
+	}
+
+	public void setEnabled(boolean enabled) {
+		this.enabled = enabled;
+	}
+
+	public Integer getSort() {
+		return sort;
+	}
+
+	public void setSort(Integer sort) {
+		this.sort = sort;
+	}
+
+	public DictionaryType getDictionaryType() {
+		return dictionaryType;
+	}
+
+	public void setDictionaryType(DictionaryType dictionaryType) {
+		this.dictionaryType = dictionaryType;
+	}
+	
+	  
+  
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/DictionaryType.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/DictionaryType.java
new file mode 100644
index 0000000..ad61c84
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/DictionaryType.java
@@ -0,0 +1,69 @@
+package com.supwisdom.leaveschool.leaving.domain.basicdata;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+
+/**
+ * 字典类型表
+ * @author Administrator
+ *
+ */
+@Entity
+@Table(name = "TB_B_DICTIONARY_TYPE")
+public class DictionaryType extends ABaseDomain {
+
+ 
+
+  /**
+	 * 
+	 */
+	private static final long serialVersionUID = -7355785282419690119L;
+
+	/**
+	   * 类型码
+	   */
+	  @Column(name = "CODE", unique = true)
+	  private String code;
+	  
+	  /**
+	   * 名称
+	   */
+	  @Column(name = "NAME")
+	  private String name;
+	
+	  /**
+	   * 是否可用,1 可用,0 不可用,默认:1
+	   */
+	  @Column(name = "ENABLED")
+	  private boolean enabled = true;
+	
+	public String getCode() {
+		return code;
+	}
+	
+	public void setCode(String code) {
+		this.code = code;
+	}
+	
+	public String getName() {
+		return name;
+	}
+	
+	public void setName(String name) {
+		this.name = name;
+	}
+	
+	public boolean isEnabled() {
+		return enabled;
+	}
+	
+	public void setEnabled(boolean enabled) {
+		this.enabled = enabled;
+	}
+  
+  
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Major.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Major.java
new file mode 100644
index 0000000..119c2ae
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Major.java
@@ -0,0 +1,84 @@
+package com.supwisdom.leaveschool.leaving.domain.basicdata;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+/**
+ * 专业
+ * @author Administrator
+ *
+ */
+@Entity
+@Table(name = "TB_B_MAJOR")
+@org.hibernate.annotations.Table(appliesTo = "TB_B_MAJOR",comment="专业表")
+public class Major  extends ABaseDomain{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -6675237976684553494L;
+	
+	/**
+	   * 专业代码
+	   */
+	  @Column(name = "CODE", unique = true,columnDefinition="varchar(120) not null comment '专业代码'")
+	  private String code;
+	  
+	  /**
+	   * 所在院系
+	   */
+	  @JoinColumn(name = "DEPARTMENT_ID",columnDefinition="varchar(100) not null comment '所在院系,引用字典类型表id'")
+	  @ManyToOne(targetEntity = Department.class)
+	  private Department department;
+	  
+	  /**
+	   * 是否可用
+	   * 1 可用,0 不可用,默认:1
+	   */
+	  @Column(name = "ENABLED",columnDefinition="int(11) default 1 comment '是否可用'")
+	  private boolean enabled = true;
+	  
+	  /**
+	   * 所属国标专业
+	   */
+	  @Column(name = "GB_MAJOR", columnDefinition="varchar(200) comment '所属国标专业'")
+	  private String gbMajor;
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public Department getDepartment() {
+		return department;
+	}
+
+	public void setDepartment(Department department) {
+		this.department = department;
+	}
+
+	public boolean isEnabled() {
+		return enabled;
+	}
+
+	public void setEnabled(boolean enabled) {
+		this.enabled = enabled;
+	}
+
+	public String getGbMajor() {
+		return gbMajor;
+	}
+
+	public void setGbMajor(String gbMajor) {
+		this.gbMajor = gbMajor;
+	}
+	  
+	  
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Year.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Year.java
new file mode 100644
index 0000000..ca1a52b
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/basicdata/Year.java
@@ -0,0 +1,52 @@
+package com.supwisdom.leaveschool.leaving.domain.basicdata;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+
+/**
+ * 学年
+ * @author Administrator
+ *
+ */
+@Entity
+@Table(name = "TB_B_YEAR")
+@org.hibernate.annotations.Table(appliesTo = "TB_B_YEAR",comment="学年表")
+public class Year  extends ABaseDomain{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -1433208605775844971L;
+	
+	/**
+	   * 学年代码
+	   */
+	  @Column(name = "CODE", unique = true,columnDefinition="varchar(120) not null comment '学年代码'")
+	  private String code;
+	  
+	  /**
+	   * 学年名称
+	   */
+	  @Column(name = "NAME",columnDefinition="varchar(200) not null comment '学年名称'")
+	  private String name;
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+	  
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/enums/AuditType.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/enums/AuditType.java
new file mode 100644
index 0000000..3b23977
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/enums/AuditType.java
@@ -0,0 +1,30 @@
+package com.supwisdom.leaveschool.leaving.domain.enums;
+
+/**
+ * 审核方式(手动、自动,默认手动)
+ * @ClassName AuditType
+ * @Description 
+ * @Date 2018年8月23日 下午4:16:34
+ */
+public enum AuditType{
+	
+	MANUAL("手动"), AUTO("自动");  
+	
+	private String value;
+
+	private AuditType(String value) {
+		this.value = value;
+	}
+
+	public String getValue() {
+		return value;
+	}
+
+	public void setValue(String value) {
+		this.value = value;
+	}
+	
+	
+	
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/enums/DefaultAuditStatus.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/enums/DefaultAuditStatus.java
new file mode 100644
index 0000000..4f35161
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/enums/DefaultAuditStatus.java
@@ -0,0 +1,24 @@
+package com.supwisdom.leaveschool.leaving.domain.enums;
+
+/**
+ * 默认审核状态(待审核、审核通过、审核不通过 ,默认待审核)
+ * @ClassName DefaultAuditStatus
+ * @Description 
+ * @Date 2018年8月23日 下午4:28:38
+ */
+public enum DefaultAuditStatus {
+	
+	TO_BE_AUDITED("待审核"), APPROVED("审核通过"), NOT_PASSED("审核不通过");  
+	
+	private String value;
+	private DefaultAuditStatus( String value) {
+		this.value = value;
+	}
+	public String getValue() {
+		return value;
+	}
+	public void setValue(String value) {
+		this.value = value;
+	}
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/enums/Scope.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/enums/Scope.java
new file mode 100644
index 0000000..a84da3c
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/enums/Scope.java
@@ -0,0 +1,25 @@
+package com.supwisdom.leaveschool.leaving.domain.enums;
+
+/**
+ * 范围控制(全校范围、院系范围、辅导员范围)
+ * @ClassName Scope
+ * @Description 
+ * @Date 2018年8月23日 下午3:06:15
+ */
+public enum Scope {
+	
+	SCHOOL("全校范围"), DEPARTMENT("院系范围"), INSTRUCTOR("辅导员范围");  
+	
+	private String value;
+	
+	private Scope( String value) {
+		this.value = value;
+	}
+	public String getValue() {
+		return value;
+	}
+	public void setValue(String value) {
+		this.value = value;
+	}
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/user/User.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/user/User.java
new file mode 100644
index 0000000..3cbe718
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/domain/user/User.java
@@ -0,0 +1,150 @@
+package com.supwisdom.leaveschool.leaving.domain.user;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+import com.supwisdom.leaveschool.common.domain.ABaseDomain;
+
+@Entity
+@Table(name = "TB_U_USER")
+public class User extends ABaseDomain {
+  private static final long serialVersionUID = 7955624268022038897L;
+
+  /**
+   * 用户名
+   */
+  @Column(name = "USERNAME", unique = true)
+  private String username;
+  
+  /**
+   * 密码
+   */
+  @Column(name = "PASSWORD")
+  private String password;
+
+  /**
+   * 是否可用,1 可用,0 不可用,默认:1
+   */
+  @Column(name = "ENABLED")
+  private Boolean enabled;
+  /**
+   * 账号未过期,1 未过期,0 过期,默认:1
+   */
+  @Column(name = "ACCOUNT_NON_EXPIRED")
+  private Boolean accountNonExpired;
+  /**
+   * 账号未锁定,1 未锁定,0 锁定,默认:1
+   */
+  @Column(name = "ACCOUNT_NON_LOCKED")
+  private Boolean accountNonLocked;
+  /**
+   * 密码未过期,1 未过期,0 过期,默认:1
+   */
+  @Column(name = "CREDENTIALS_NON_EXPIRED")
+  private Boolean credentialsNonExpired;
+
+  /**
+   * 姓名
+   */
+  @Column(name = "NAME")
+  private String name;
+  
+  /**
+   * 状态(1 启用,0 停用)
+   */
+  @Column(name = "STATUS")
+  private String status;
+
+  /**
+   * 登录手机
+   */
+  @Column(name = "MOBILE")
+  private String mobile;
+  /**
+   * 登录邮箱
+   */
+  @Column(name = "EMAIL")
+  private String email;
+
+  public String getUsername() {
+    return username;
+  }
+
+  public void setUsername(String username) {
+    this.username = username;
+  }
+
+  public String getPassword() {
+    return password;
+  }
+
+  public void setPassword(String password) {
+    this.password = password;
+  }
+
+  public Boolean getEnabled() {
+    return enabled;
+  }
+
+  public void setEnabled(Boolean enabled) {
+    this.enabled = enabled;
+  }
+
+  public Boolean getAccountNonExpired() {
+    return accountNonExpired;
+  }
+
+  public void setAccountNonExpired(Boolean accountNonExpired) {
+    this.accountNonExpired = accountNonExpired;
+  }
+
+  public Boolean getAccountNonLocked() {
+    return accountNonLocked;
+  }
+
+  public void setAccountNonLocked(Boolean accountNonLocked) {
+    this.accountNonLocked = accountNonLocked;
+  }
+
+  public Boolean getCredentialsNonExpired() {
+    return credentialsNonExpired;
+  }
+
+  public void setCredentialsNonExpired(Boolean credentialsNonExpired) {
+    this.credentialsNonExpired = credentialsNonExpired;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  public String getStatus() {
+    return status;
+  }
+
+  public void setStatus(String status) {
+    this.status = status;
+  }
+
+  public String getMobile() {
+    return mobile;
+  }
+
+  public void setMobile(String mobile) {
+    this.mobile = mobile;
+  }
+
+  public String getEmail() {
+    return email;
+  }
+
+  public void setEmail(String email) {
+    this.email = email;
+  }
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/AuditNodeRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/AuditNodeRepository.java
new file mode 100644
index 0000000..32e81c5
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/AuditNodeRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.AuditNode;
+
+@Repository
+public interface AuditNodeRepository extends BaseJpaRepository<AuditNode>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolBatchRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolBatchRepository.java
new file mode 100644
index 0000000..e0658a0
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolBatchRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolBatch;
+
+@Repository
+public interface LeaveSchoolBatchRepository extends BaseJpaRepository<LeaveSchoolBatch>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessAuditLogRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessAuditLogRepository.java
new file mode 100644
index 0000000..421ce0c
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessAuditLogRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolProcessAuditLog;
+
+@Repository
+public interface LeaveSchoolProcessAuditLogRepository extends BaseJpaRepository<LeaveSchoolProcessAuditLog>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessAuditRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessAuditRepository.java
new file mode 100644
index 0000000..a047f73
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessAuditRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolProcessAudit;
+
+@Repository
+public interface LeaveSchoolProcessAuditRepository  extends BaseJpaRepository<LeaveSchoolProcessAudit>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessDependenceRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessDependenceRepository.java
new file mode 100644
index 0000000..685e814
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessDependenceRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolProcessDependence;
+
+@Repository
+public interface LeaveSchoolProcessDependenceRepository extends BaseJpaRepository<LeaveSchoolProcessDependence>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessRepository.java
new file mode 100644
index 0000000..b378b33
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolProcessRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolProcess;
+
+@Repository
+public interface LeaveSchoolProcessRepository extends BaseJpaRepository<LeaveSchoolProcess> {
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolStudentRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolStudentRepository.java
new file mode 100644
index 0000000..ff48a86
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/LeaveSchoolStudentRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.LeaveSchoolStudent;
+
+@Repository
+public interface LeaveSchoolStudentRepository extends BaseJpaRepository<LeaveSchoolStudent>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/NodeAuditorRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/NodeAuditorRepository.java
new file mode 100644
index 0000000..951a458
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/NodeAuditorRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.NodeAuditor;
+
+@Repository
+public interface NodeAuditorRepository extends BaseJpaRepository<NodeAuditor>{
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/NodePrincipalRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/NodePrincipalRepository.java
new file mode 100644
index 0000000..0676064
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/NodePrincipalRepository.java
@@ -0,0 +1,13 @@
+package com.supwisdom.leaveschool.leaving.repository;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.NodePrincipal;
+
+@Repository
+public interface NodePrincipalRepository extends BaseJpaRepository<NodePrincipal>{
+	
+	
+	
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/ClassesRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/ClassesRepository.java
new file mode 100644
index 0000000..f18ef70
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/ClassesRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository.basedata;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Classes;
+
+@Repository
+public interface ClassesRepository extends BaseJpaRepository<Classes>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/DepartmentRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/DepartmentRepository.java
new file mode 100644
index 0000000..d761c4c
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/DepartmentRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository.basedata;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Department;
+
+@Repository
+public interface DepartmentRepository extends BaseJpaRepository<Department>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/DictionaryRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/DictionaryRepository.java
new file mode 100644
index 0000000..a1d11e3
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/DictionaryRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository.basedata;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Dictionary;
+
+@Repository
+public interface DictionaryRepository  extends BaseJpaRepository<Dictionary>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/DictionaryTypeRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/DictionaryTypeRepository.java
new file mode 100644
index 0000000..e765ee7
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/DictionaryTypeRepository.java
@@ -0,0 +1,12 @@
+package com.supwisdom.leaveschool.leaving.repository.basedata;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.DictionaryType;
+
+@Repository
+public interface DictionaryTypeRepository extends BaseJpaRepository<DictionaryType> {
+  
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/MajorRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/MajorRepository.java
new file mode 100644
index 0000000..dd4b766
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/MajorRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository.basedata;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Major;
+
+@Repository
+public interface MajorRepository extends BaseJpaRepository<Major>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/YearRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/YearRepository.java
new file mode 100644
index 0000000..3119cf9
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/basedata/YearRepository.java
@@ -0,0 +1,11 @@
+package com.supwisdom.leaveschool.leaving.repository.basedata;
+
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.leaving.domain.basicdata.Year;
+
+@Repository
+public interface YearRepository extends BaseJpaRepository<Year>{
+
+}
diff --git a/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/user/UserRepository.java b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/user/UserRepository.java
new file mode 100644
index 0000000..e74f935
--- /dev/null
+++ b/leaveschool/leaving/src/main/java/com/supwisdom/leaveschool/leaving/repository/user/UserRepository.java
@@ -0,0 +1,100 @@
+package com.supwisdom.leaveschool.leaving.repository.user;
+
+import java.util.Map;
+import java.util.Optional;
+
+import org.springframework.data.domain.Example;
+import org.springframework.data.domain.ExampleMatcher;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.common.util.MapBeanUtils;
+import com.supwisdom.leaveschool.leaving.domain.user.User;
+
+@Repository
+public interface UserRepository extends BaseJpaRepository<User> {
+  
+  public default Page<User> selectPageList(int pageIndex, int pageSize, Map<String, Object> mapBean) {
+    User probe = new User();
+    if (mapBean != null) {
+      probe.setUsername(MapBeanUtils.getString(mapBean, "username"));
+      probe.setName(MapBeanUtils.getString(mapBean, "name"));
+      probe.setStatus(MapBeanUtils.getString(mapBean, "status"));
+    }
+    
+    ExampleMatcher matcher = ExampleMatcher.matching()
+        .withMatcher("username", ExampleMatcher.GenericPropertyMatchers.contains())
+        .withMatcher("name", ExampleMatcher.GenericPropertyMatchers.contains())
+        .withMatcher("status", ExampleMatcher.GenericPropertyMatchers.exact());
+    
+    PageRequest pageRequest = PageRequest.of(pageIndex, pageSize);
+    Example<User> example = Example.of(probe, matcher);
+    
+    Page<User> page = this.findAll(example, pageRequest);
+    
+    return page;
+  }
+  
+  /*
+  public default User selectById(String id) {
+    
+    try {
+      Optional<User> entity = this.findById(id);
+      
+      return entity.get();
+    } catch(RuntimeException e) {
+      System.out.println("RuntimeException:"+e.getMessage());
+    } catch(Exception e) {
+      System.out.println("Exception:"+e.getMessage());
+    }
+    
+    return null;
+  }
+  
+  public default User insert(User entity) {
+    
+    if (entity.getCompanyId() == null || entity.getCompanyId().isEmpty()) {
+      entity.setCompanyId("1");
+    }
+    
+    entity.setDeleted(false);
+    //entity.setAddAccount(AuthUtil.getRemoteUser());
+    entity.setAddTime(Calendar.getInstance().getTime());
+    
+    User e = this.save(entity);
+    
+    return e;
+  }
+  
+  public default User update(User entity) {
+    
+    //entity.setEditAccount(AuthUtil.getRemoteUser());
+    entity.setEditTime(Calendar.getInstance().getTime());
+    
+    User e = this.save(entity);
+    
+    return e;
+  }
+  */
+  
+  public default User selectByUsername(String username) {
+    User probe = new User();
+    probe.setUsername(username);
+    
+    ExampleMatcher matcher = ExampleMatcher.matching()
+        .withMatcher("username", ExampleMatcher.GenericPropertyMatchers.exact());
+    
+    Example<User> example = Example.of(probe, matcher);
+    
+    Optional<User> u = this.findOne(example);
+    
+    if (u.isPresent()) {
+      return u.get();
+    }
+    
+    return null;
+  }
+
+}
diff --git a/leaveschool/leaving/src/main/resources/application.yml b/leaveschool/leaving/src/main/resources/application.yml
index bbe7cef..266cf99 100644
--- a/leaveschool/leaving/src/main/resources/application.yml
+++ b/leaveschool/leaving/src/main/resources/application.yml
@@ -12,17 +12,18 @@
 
 spring:
   application:
-    name: sample-user
+    name: leaving
   datasource:
     driver-class-name: com.mysql.jdbc.Driver
-    url: jdbc:mysql://172.50.10.15:3306/lixiao?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull
-    username: lixiao
-    password: lixiao@1234
+    url: jdbc:mysql://172.50.10.15:3306/leave_school?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull
+    username: leave_school
+    password: 111111
   jpa:
     hibernate:
-      ddl-auto: none
+      ddl-auto: update
       naming:
         physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
     show-sql: true
 
 infras: