Преглед изворни кода

Merge branch 'fix/Attendance_code_optimisation_entity' into 'develop'

Merge of fix/Attendance_code_optimisation_entity[考勤管理]考勤管理优化Entity写法

See merge request o2oa/o2oa!521
李义 пре 5 година
родитељ
комит
5cd5b77827
20 измењених фајлова са 696 додато и 272 уклоњено
  1. 1 1
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendanceappealinfo/ActionAppealCreate.java
  2. 1 1
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendanceappealinfo/ActionAttendanceDetailAppeal.java
  3. 0 1
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancesetting/ActionListAppealAuditPersonType.java
  4. 0 1
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceAppealInfoServiceAdv.java
  5. 34 10
      o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceSettingService.java
  6. 3 1
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AppealConfig.java
  7. 233 0
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceAppealAuditInfo.java
  8. 88 76
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceAppealInfo.java
  9. 90 48
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceDetail.java
  10. 26 13
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceDetailMobile.java
  11. 36 18
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceDingtalkDetail.java
  12. 19 10
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceEmployeeConfig.java
  13. 42 27
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceImportFileInfo.java
  14. 25 13
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceQywxDetail.java
  15. 16 8
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceScheduleSetting.java
  16. 26 13
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceSelfHoliday.java
  17. 16 13
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceSetting.java
  18. 18 9
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceStatisticRequireLog.java
  19. 18 9
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceStatisticalCycle.java
  20. 4 0
      o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/PersistenceProperties.java

+ 1 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendanceappealinfo/ActionAppealCreate.java

@@ -2,7 +2,7 @@ package com.x.attendance.assemble.control.jaxrs.attendanceappealinfo;
 
 
 import com.google.gson.JsonElement;
 import com.google.gson.JsonElement;
 import com.x.attendance.assemble.control.ExceptionWrapInConvert;
 import com.x.attendance.assemble.control.ExceptionWrapInConvert;
-import com.x.attendance.assemble.control.jaxrs.AppealConfig;
+import com.x.attendance.entity.AppealConfig;
 import com.x.attendance.entity.AttendanceAppealInfo;
 import com.x.attendance.entity.AttendanceAppealInfo;
 import com.x.attendance.entity.AttendanceDetail;
 import com.x.attendance.entity.AttendanceDetail;
 import com.x.base.core.entity.JpaObject;
 import com.x.base.core.entity.JpaObject;

+ 1 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendanceappealinfo/ActionAttendanceDetailAppeal.java

@@ -5,11 +5,11 @@ import java.util.List;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 
 
+import com.x.attendance.entity.AppealConfig;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 
 
 import com.google.gson.JsonElement;
 import com.google.gson.JsonElement;
 import com.x.attendance.assemble.control.ExceptionWrapInConvert;
 import com.x.attendance.assemble.control.ExceptionWrapInConvert;
-import com.x.attendance.assemble.control.jaxrs.AppealConfig;
 import com.x.attendance.entity.AttendanceAppealInfo;
 import com.x.attendance.entity.AttendanceAppealInfo;
 import com.x.attendance.entity.AttendanceDetail;
 import com.x.attendance.entity.AttendanceDetail;
 import com.x.base.core.entity.JpaObject;
 import com.x.base.core.entity.JpaObject;

+ 0 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancesetting/ActionListAppealAuditPersonType.java

@@ -5,7 +5,6 @@ import java.util.List;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 
 
-import com.x.attendance.assemble.control.jaxrs.AppealConfig;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.http.EffectivePerson;
 
 

+ 0 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceAppealInfoServiceAdv.java

@@ -2,7 +2,6 @@ package com.x.attendance.assemble.control.service;
 
 
 import com.x.attendance.assemble.common.date.DateOperation;
 import com.x.attendance.assemble.common.date.DateOperation;
 import com.x.attendance.assemble.control.Business;
 import com.x.attendance.assemble.control.Business;
-import com.x.attendance.assemble.control.jaxrs.AppealConfig;
 import com.x.attendance.entity.AttendanceAppealInfo;
 import com.x.attendance.entity.AttendanceAppealInfo;
 import com.x.attendance.entity.AttendanceDetail;
 import com.x.attendance.entity.AttendanceDetail;
 import com.x.attendance.entity.AttendanceSetting;
 import com.x.attendance.entity.AttendanceSetting;

+ 34 - 10
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceSettingService.java

@@ -3,7 +3,7 @@ package com.x.attendance.assemble.control.service;
 import java.util.List;
 import java.util.List;
 
 
 import com.x.attendance.assemble.control.Business;
 import com.x.attendance.assemble.control.Business;
-import com.x.attendance.assemble.control.jaxrs.AppealConfig;
+import com.x.attendance.entity.AppealConfig;
 import com.x.attendance.entity.AttendanceSetting;
 import com.x.attendance.entity.AttendanceSetting;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
@@ -125,14 +125,38 @@ public class AttendanceSettingService {
 			logger.warn( "attendance system init system config 'APPEALABLE' got an exception." );
 			logger.warn( "attendance system init system config 'APPEALABLE' got an exception." );
 			logger.error(e);
 			logger.error(e);
 		}
 		}
-		
+
+		value = AppealConfig.APPEAL_AUDIFLOWTYPE_BUILTIN;
+		type = "select";
+		selectContent = AppealConfig.APPEAL_AUDIFLOWTYPE_WORKFLOW + "|" + AppealConfig.APPEAL_AUDIFLOWTYPE_BUILTIN;
+		isMultiple = false;
+		description = "考勤结果申诉审核人确定方式:可选值:"+AppealConfig.APPEAL_AUDIFLOWTYPE_BUILTIN+"|"+ AppealConfig.APPEAL_AUDIFLOWTYPE_BUILTIN +"。此配置控制考勤结果申诉流程为自定义流程或者内置审批步骤(审核-复核)。";
+		try {
+			checkAndInitSystemConfig("APPEAL_AUDIFLOWTYPE", "考勤结果申诉流程类型", value, description, type, selectContent, isMultiple, ++ordernumber );
+		} catch (Exception e) {
+			logger.warn( "attendance system init system config 'APPEAL_AUDIFLOWTYPE' got an exception." );
+			logger.error(e);
+		}
+
+		value = "";
+		type = "text";
+		selectContent = null;
+		isMultiple = false;
+		description = "考勤结果申诉流程,单值。该配置在'自定义申诉流程("+AppealConfig.APPEAL_AUDIFLOWTYPE_BUILTIN+")'时,需要启动的申请流程ID。";
+		try {
+			checkAndInitSystemConfig("APPEAL_AUDIFLOW_ID", "自定义申请流程", value, description, type, selectContent, isMultiple, ++ordernumber );
+		} catch (Exception e) {
+			logger.warn( "system init system config 'APPEAL_AUDIFLOW_ID' got an exception." );
+			logger.error(e);
+		}
+
 		value = AppealConfig.APPEAL_AUDITTYPE_UNITDUTY;
 		value = AppealConfig.APPEAL_AUDITTYPE_UNITDUTY;
 		type = "select";
 		type = "select";
 		selectContent = AppealConfig.APPEAL_CHOOSEVALUE_AUDITTYPE;
 		selectContent = AppealConfig.APPEAL_CHOOSEVALUE_AUDITTYPE;
 		isMultiple = false;
 		isMultiple = false;
-		description = "考勤结果申诉审核人确定方式:可选值:所属组织职务|汇报对象|个人属性|指定人。此配置控制考勤结果申诉审核人的确定方式。";
+		description = "考勤结果申诉审核人确定方式:可选值:所属组织职务|汇报对象|个人属性|指定人。此配置控制在'内置申诉流程("+AppealConfig.APPEAL_AUDIFLOWTYPE_BUILTIN+")'中考勤结果申诉审核人的确定方式。";
 		try {
 		try {
-			checkAndInitSystemConfig("APPEAL_AUDITOR_TYPE", "考勤结果申诉审核人确定方式", value, description, type, selectContent, isMultiple, ++ordernumber );
+			checkAndInitSystemConfig("APPEAL_AUDITOR_TYPE", "内置申请过程中考勤结果申诉审核人确定方式", value, description, type, selectContent, isMultiple, ++ordernumber );
 		} catch (Exception e) {
 		} catch (Exception e) {
 			logger.warn( "attendance system init system config 'APPEAL_AUDITOR_TYPE' got an exception." );
 			logger.warn( "attendance system init system config 'APPEAL_AUDITOR_TYPE' got an exception." );
 			logger.error(e);
 			logger.error(e);
@@ -142,9 +166,9 @@ public class AttendanceSettingService {
 		type = "text";
 		type = "text";
 		selectContent = null;
 		selectContent = null;
 		isMultiple = false;
 		isMultiple = false;
-		description = "考勤结果申诉审核人确定内容:可选值为指定的人员身份,单值。该配置与汇报流程方式中的ADMIN_AND_ALLLEADER配合使用";
+		description = "考勤结果申诉审核人确定内容:可选值为指定的人员身份,单值。该配置在'内置申诉流程("+AppealConfig.APPEAL_AUDIFLOWTYPE_BUILTIN+")'中与汇报流程方式中的ADMIN_AND_ALLLEADER配合使用";
 		try {
 		try {
-			checkAndInitSystemConfig("APPEAL_AUDITOR_VALUE", "考勤结果申诉审核人确定内容", value, description, type, selectContent, isMultiple, ++ordernumber );
+			checkAndInitSystemConfig("APPEAL_AUDITOR_VALUE", "内置申请过程中考勤结果申诉审核人确定内容", value, description, type, selectContent, isMultiple, ++ordernumber );
 		} catch (Exception e) {
 		} catch (Exception e) {
 			logger.warn( "system init system config 'APPEAL_AUDITOR_VALUE' got an exception." );
 			logger.warn( "system init system config 'APPEAL_AUDITOR_VALUE' got an exception." );
 			logger.error(e);
 			logger.error(e);
@@ -154,9 +178,9 @@ public class AttendanceSettingService {
 		type = "select";
 		type = "select";
 		selectContent = AppealConfig.APPEAL_CHOOSEVALUE_CHECKTYPE;
 		selectContent = AppealConfig.APPEAL_CHOOSEVALUE_CHECKTYPE;
 		isMultiple = false;
 		isMultiple = false;
-		description = "考勤结果申诉复核人确定方式:可选值:无|所属组织职务|汇报对象|个人属性|指定人。此配置控制考勤结果申诉审核人的确定方式,无-表示不需要复核。";
+		description = "考勤结果申诉复核人确定方式:可选值:无|所属组织职务|汇报对象|个人属性|指定人。此配置在'内置申诉流程("+AppealConfig.APPEAL_AUDIFLOWTYPE_BUILTIN+")'中控制考勤结果申诉审核人的确定方式,无-表示不需要复核。";
 		try {
 		try {
-			checkAndInitSystemConfig("APPEAL_CHECKER_TYPE", "考勤结果申诉复核人确定方式", value, description, type, selectContent, isMultiple, ++ordernumber );
+			checkAndInitSystemConfig("APPEAL_CHECKER_TYPE", "内置申请过程中考勤结果申诉复核人确定方式", value, description, type, selectContent, isMultiple, ++ordernumber );
 		} catch (Exception e) {
 		} catch (Exception e) {
 			logger.warn( "attendance system init system config 'APPEAL_CHECKER_TYPE' got an exception." );
 			logger.warn( "attendance system init system config 'APPEAL_CHECKER_TYPE' got an exception." );
 			logger.error(e);
 			logger.error(e);
@@ -166,9 +190,9 @@ public class AttendanceSettingService {
 		type = "text";
 		type = "text";
 		selectContent = null;
 		selectContent = null;
 		isMultiple = false;
 		isMultiple = false;
-		description = "考勤结果申诉复核人确定内容:可选值为指定的人员身份,单值。该配置与汇报流程方式中的ADMIN_AND_ALLLEADER配合使用";
+		description = "考勤结果申诉复核人确定内容:可选值为指定的人员身份,单值。该配置在'内置申诉流程("+AppealConfig.APPEAL_AUDIFLOWTYPE_BUILTIN+")'中与汇报流程方式中的ADMIN_AND_ALLLEADER配合使用";
 		try {
 		try {
-			checkAndInitSystemConfig("APPEAL_CHECKER_VALUE", "考勤结果申诉复核人确定内容", value, description, type, selectContent, isMultiple, ++ordernumber );
+			checkAndInitSystemConfig("APPEAL_CHECKER_VALUE", "内置申请过程中考勤结果申诉复核人确定内容", value, description, type, selectContent, isMultiple, ++ordernumber );
 		} catch (Exception e) {
 		} catch (Exception e) {
 			logger.warn( "system init system config 'APPEAL_CHECKER_VALUE' got an exception." );
 			logger.warn( "system init system config 'APPEAL_CHECKER_VALUE' got an exception." );
 			logger.error(e);
 			logger.error(e);

+ 3 - 1
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/AppealConfig.java → o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AppealConfig.java

@@ -1,6 +1,8 @@
-package com.x.attendance.assemble.control.jaxrs;
+package com.x.attendance.entity;
 
 
 public class AppealConfig {
 public class AppealConfig {
+	public static final String APPEAL_AUDIFLOWTYPE_WORKFLOW = "WORKFLOW"; //自定义工作流
+	public static final String APPEAL_AUDIFLOWTYPE_BUILTIN = "BUILTIN";  //固定审核步骤
 	public static final String APPEAL_AUDITTYPE_PERSON = "指定人";
 	public static final String APPEAL_AUDITTYPE_PERSON = "指定人";
 	public static final String APPEAL_AUDITTYPE_PERSONATTRIBUTE = "个人属性";
 	public static final String APPEAL_AUDITTYPE_PERSONATTRIBUTE = "个人属性";
 	public static final String APPEAL_AUDITTYPE_REPORTLEADER = "汇报对象";
 	public static final String APPEAL_AUDITTYPE_REPORTLEADER = "汇报对象";

+ 233 - 0
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceAppealAuditInfo.java

@@ -0,0 +1,233 @@
+package com.x.attendance.entity;
+
+import com.x.base.core.entity.AbstractPersistenceProperties;
+import com.x.base.core.entity.JpaObject;
+import com.x.base.core.entity.SliceJpaObject;
+import com.x.base.core.entity.annotation.CheckPersist;
+import com.x.base.core.entity.annotation.ContainerEntity;
+import com.x.base.core.project.annotation.FieldDescribe;
+
+import javax.persistence.*;
+import java.util.Date;
+
+@ContainerEntity(dumpSize = 1000, type = ContainerEntity.Type.content, reference = ContainerEntity.Reference.strong)
+@Entity
+@Table(name = PersistenceProperties.AttendanceAppealInfo.table, uniqueConstraints = @UniqueConstraint(name = PersistenceProperties.AttendanceAppealInfo.table
+		+ JpaObject.IndexNameMiddle + JpaObject.DefaultUniqueConstraintSuffix, columnNames = { JpaObject.IDCOLUMN,
+				JpaObject.CREATETIMECOLUMN, JpaObject.UPDATETIMECOLUMN, JpaObject.SEQUENCECOLUMN }))
+@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
+public class AttendanceAppealAuditInfo extends SliceJpaObject {
+
+	private static final long serialVersionUID = 3856138316794473794L;
+	private static final String TABLE = PersistenceProperties.AttendanceAppealAuditInfo.table;
+
+	public AttendanceAppealAuditInfo() {
+	}
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	@FieldDescribe("数据库主键,自动生成.")
+	@Id
+	@Column(length = length_id, name = ColumnNamePrefix + id_FIELDNAME)
+	private String id = createId();
+
+	public void onPersist() throws Exception {
+	}
+	/*
+	 * =============================================================================
+	 * ===== 以上为 JpaObject 默认字段
+	 * =============================================================================
+	 * =====
+	 */
+
+	/*
+	 * =============================================================================
+	 * ===== 以下为具体不同的业务及数据表字段要求
+	 * =============================================================================
+	 * =====
+	 */
+	public static final String detailId_FIELDNAME = "detailId";
+	@FieldDescribe("申诉的打卡记录ID.")
+	@Column( length = JpaObject.length_id, name = ColumnNamePrefix + detailId_FIELDNAME)
+	@CheckPersist(allowEmpty = false)
+	private String detailId;
+
+	public static final String auditFlowType_FIELDNAME = "auditFlowType";
+	@FieldDescribe("审批方式:WORKFLOW|BUILTIN")
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + auditFlowType_FIELDNAME)
+	private String auditFlowType = AppealConfig.APPEAL_AUDIFLOWTYPE_BUILTIN;
+
+	public static final String currentProcessor_FIELDNAME = "currentProcessor";
+	@FieldDescribe("当前审核人")
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + currentProcessor_FIELDNAME)
+	private String currentProcessor;
+
+	public static final String processPerson1_FIELDNAME = "processPerson1";
+	@FieldDescribe("审批人一")
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPerson1_FIELDNAME)
+	private String processPerson1;
+
+	public static final String processPersonUnit1_FIELDNAME = "processPersonUnit1";
+	@FieldDescribe("审批人组织一")
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPersonUnit1_FIELDNAME)
+	private String processPersonUnit1;
+
+	public static final String processPersonTopUnit1_FIELDNAME = "processPersonTopUnit1";
+	@FieldDescribe("审批人顶层组织一")
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPersonTopUnit1_FIELDNAME)
+	private String processPersonTopUnit1;
+
+	public static final String opinion1_FIELDNAME = "opinion1";
+	@FieldDescribe("审批意见一")
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + opinion1_FIELDNAME )
+	private String opinion1;
+
+	public static final String processTime1_FIELDNAME = "processTime1";
+	@FieldDescribe("审批日期一")
+	@Temporal(TemporalType.TIMESTAMP)
+	@Column( name = ColumnNamePrefix + processTime1_FIELDNAME)
+	private Date processTime1;
+
+	public static final String processPerson2_FIELDNAME = "processPerson2";
+	@FieldDescribe("审批人二")
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPerson2_FIELDNAME)
+	private String processPerson2;
+
+	public static final String processPersonUnit2_FIELDNAME = "processPersonUnit2";
+	@FieldDescribe("审批人组织二")
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPersonUnit2_FIELDNAME )
+	private String processPersonUnit2;
+
+	public static final String processPersonTopUnit2_FIELDNAME = "processPersonTopUnit2";
+	@FieldDescribe("审批人顶层组织二")
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPersonTopUnit2_FIELDNAME )
+	private String processPersonTopUnit2;
+
+	public static final String opinion2_FIELDNAME = "opinion2";
+	@FieldDescribe("审批意见二")
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + opinion2_FIELDNAME )
+	private String opinion2;
+
+	public static final String processTime2_FIELDNAME = "processTime2";
+	@FieldDescribe("审批日期二")
+	@Temporal(TemporalType.TIMESTAMP)
+	@Column( name = ColumnNamePrefix + processTime2_FIELDNAME )
+	private Date processTime2;
+
+	public static final String auditFlowId_FIELDNAME = "auditFlowId";
+	@FieldDescribe("自定义审批流程ID")
+	@Column( length = JpaObject.length_id, name = ColumnNamePrefix + auditFlowType_FIELDNAME)
+	private String auditFlowId;
+
+	public static final String lastFlowSyncTime_FIELDNAME = "lastFlowSyncTime";
+	@FieldDescribe("上次进行状态同步时间")
+	@Column( name = ColumnNamePrefix + lastFlowSyncTime_FIELDNAME)
+	private Date lastFlowSyncTime;
+
+	public String getAuditFlowType() { return auditFlowType; }
+
+	public void setAuditFlowType(String auditFlowType) { this.auditFlowType = auditFlowType; }
+
+	public String getAuditFlowId() { return auditFlowId; }
+
+	public void setAuditFlowId(String auditFlowId) { this.auditFlowId = auditFlowId; }
+
+	public Date getLastFlowSyncTime() { return lastFlowSyncTime; }
+
+	public void setLastFlowSyncTime(Date lastFlowSyncTime) { this.lastFlowSyncTime = lastFlowSyncTime; }
+
+	public String getDetailId() {
+		return detailId;
+	}
+
+	public void setDetailId(String detailId) {
+		this.detailId = detailId;
+	}
+
+	public String getProcessPerson1() {
+		return processPerson1;
+	}
+
+	public void setProcessPerson1(String processPerson1) {
+		this.processPerson1 = processPerson1;
+	}
+
+	public String getProcessPersonUnit1() {
+		return processPersonUnit1;
+	}
+
+	public void setProcessPersonUnit1(String processPersonUnit1) {
+		this.processPersonUnit1 = processPersonUnit1;
+	}
+
+	public String getProcessPersonTopUnit1() {
+		return processPersonTopUnit1;
+	}
+
+	public void setProcessPersonTopUnit1(String processPersonTopUnit1) { this.processPersonTopUnit1 = processPersonTopUnit1; }
+
+	public String getOpinion1() {
+		return opinion1;
+	}
+
+	public void setOpinion1(String opinion1) {
+		this.opinion1 = opinion1;
+	}
+
+	public Date getProcessTime1() {
+		return processTime1;
+	}
+
+	public void setProcessTime1(Date processTime1) {
+		this.processTime1 = processTime1;
+	}
+
+	public String getProcessPerson2() {
+		return processPerson2;
+	}
+
+	public void setProcessPerson2(String processPerson2) {
+		this.processPerson2 = processPerson2;
+	}
+
+	public String getProcessPersonUnit2() {
+		return processPersonUnit2;
+	}
+
+	public void setProcessPersonUnit2(String processPersonUnit2) {
+		this.processPersonUnit2 = processPersonUnit2;
+	}
+
+	public String getProcessPersonTopUnit2() {
+		return processPersonTopUnit2;
+	}
+
+	public void setProcessPersonTopUnit2(String processPersonTopUnit2) { this.processPersonTopUnit2 = processPersonTopUnit2; }
+
+	public String getOpinion2() {
+		return opinion2;
+	}
+
+	public void setOpinion2(String opinion2) {
+		this.opinion2 = opinion2;
+	}
+
+	public Date getProcessTime2() {
+		return processTime2;
+	}
+
+	public void setProcessTime2(Date processTime2) {
+		this.processTime2 = processTime2;
+	}
+
+	public String getCurrentProcessor() {
+		return currentProcessor;
+	}
+
+}

+ 88 - 76
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceAppealInfo.java

@@ -14,7 +14,6 @@ import javax.persistence.Table;
 import javax.persistence.Temporal;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
 import javax.persistence.TemporalType;
 import javax.persistence.UniqueConstraint;
 import javax.persistence.UniqueConstraint;
-
 import com.x.base.core.entity.AbstractPersistenceProperties;
 import com.x.base.core.entity.AbstractPersistenceProperties;
 import com.x.base.core.entity.JpaObject;
 import com.x.base.core.entity.JpaObject;
 import com.x.base.core.entity.SliceJpaObject;
 import com.x.base.core.entity.SliceJpaObject;
@@ -64,157 +63,170 @@ public class AttendanceAppealInfo extends SliceJpaObject {
 	 * =============================================================================
 	 * =============================================================================
 	 * =====
 	 * =====
 	 */
 	 */
+	public static final String detailId_FIELDNAME = "detailId";
 	@FieldDescribe("申诉的打卡记录ID.")
 	@FieldDescribe("申诉的打卡记录ID.")
-	@Column(name = "xdetailId", length = JpaObject.length_id)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_id, name = ColumnNamePrefix + detailId_FIELDNAME)
+	@CheckPersist(allowEmpty = false)
 	private String detailId;
 	private String detailId;
 
 
-	@FieldDescribe("申诉员工姓名")
-	@Column(name = "xempName", length = AbstractPersistenceProperties.organization_name_length)
-	@CheckPersist(allowEmpty = true)
+	public static final String empName_FIELDNAME = "empName";
+	@FieldDescribe("申诉员工标识")
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + empName_FIELDNAME)
+	@CheckPersist(allowEmpty = false)
 	private String empName;
 	private String empName;
 
 
-	@FieldDescribe("顶层组织名称")
-	@Column(name = "xtopUnitName", length = AbstractPersistenceProperties.organization_name_length)
-	@CheckPersist(allowEmpty = true)
+	public static final String topUnitName_FIELDNAME = "topUnitName";
+	@FieldDescribe("员工所属顶层组织")
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + topUnitName_FIELDNAME)
 	private String topUnitName;
 	private String topUnitName;
 
 
-	@FieldDescribe("组织名称")
-	@Column(name = "xunitName", length = AbstractPersistenceProperties.organization_name_length)
-	@CheckPersist(allowEmpty = true)
+	public static final String unitName_FIELDNAME = "unitName";
+	@FieldDescribe("员工所属组织名称")
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + unitName_FIELDNAME)
+	@CheckPersist(allowEmpty = false)
 	private String unitName;
 	private String unitName;
 
 
+	public static final String recordDate_FIELDNAME = "recordDate";
+	@FieldDescribe("记录日期")
+	@Temporal(TemporalType.TIMESTAMP)
+	@Column( name = ColumnNamePrefix + recordDate_FIELDNAME)
+	private Date recordDate;
+
+	public static final String yearString_FIELDNAME = "yearString";
 	@FieldDescribe("申诉年份")
 	@FieldDescribe("申诉年份")
-	@Column(name = "xyearString", length = JpaObject.length_16B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + yearString_FIELDNAME)
 	private String yearString;
 	private String yearString;
 
 
+	public static final String monthString_FIELDNAME = "monthString";
 	@FieldDescribe("申诉月份")
 	@FieldDescribe("申诉月份")
-	@Column(name = "xmonthString", length = JpaObject.length_16B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + monthString_FIELDNAME)
 	private String monthString;
 	private String monthString;
 
 
+	public static final String appealDateString_FIELDNAME = "appealDateString";
 	@FieldDescribe("申诉日期字符串")
 	@FieldDescribe("申诉日期字符串")
-	@Column(name = "xappealDateString", length = JpaObject.length_32B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + appealDateString_FIELDNAME)
 	private String appealDateString;
 	private String appealDateString;
 
 
+	public static final String recordDateString_FIELDNAME = "recordDateString";
 	@FieldDescribe("记录日期字符串")
 	@FieldDescribe("记录日期字符串")
-	@Column(name = "xrecordDateString", length = JpaObject.length_32B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + recordDateString_FIELDNAME)
 	private String recordDateString;
 	private String recordDateString;
 
 
-	@FieldDescribe("记录日期")
-	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xrecordDate")
-	@CheckPersist(allowEmpty = true)
-	private Date recordDate;
-
-	@FieldDescribe("审批状态:0-待处理,1-审批通过,-1-审批不能过,2-需要下一次审批")
-	@Column(name = "xstatus")
-	@CheckPersist(allowEmpty = true)
-	private Integer status = 0;
-
-	@FieldDescribe("开始时间")
-	@Column(name = "xstartTime", length = JpaObject.length_32B)
-	@CheckPersist(allowEmpty = true)
+	public static final String startTime_FIELDNAME = "startTime";
+	@FieldDescribe("申诉开始时间")
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + startTime_FIELDNAME)
 	private String startTime;
 	private String startTime;
 
 
-	@FieldDescribe("结束时间")
-	@Column(name = "xendTime", length = JpaObject.length_32B)
-	@CheckPersist(allowEmpty = true)
+	public static final String endTime_FIELDNAME = "endTime";
+	@FieldDescribe("申诉结束时间")
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + endTime_FIELDNAME)
 	private String endTime;
 	private String endTime;
 
 
-	@FieldDescribe("申诉原因")
-	@Column(name = "xappealReason", length = JpaObject.length_64B)
-	@CheckPersist(allowEmpty = true)
+	public static final String appealReason_FIELDNAME = "appealReason";
+	@FieldDescribe("申诉原因简述(60个汉字)")
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + appealReason_FIELDNAME)
 	private String appealReason;
 	private String appealReason;
 
 
+	public static final String selfHolidayType_FIELDNAME = "selfHolidayType";
 	@FieldDescribe("请假类型")
 	@FieldDescribe("请假类型")
-	@Column(name = "xselfHolidayType", length = JpaObject.length_64B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_64B, name = ColumnNamePrefix + selfHolidayType_FIELDNAME)
 	private String selfHolidayType;
 	private String selfHolidayType;
 
 
+	public static final String address_FIELDNAME = "address";
 	@FieldDescribe("地址")
 	@FieldDescribe("地址")
-	@Column(name = "xaddress", length = JpaObject.length_255B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + address_FIELDNAME )
 	private String address;
 	private String address;
 
 
+	public static final String reason_FIELDNAME = "reason";
 	@Lob
 	@Lob
 	@Basic(fetch = FetchType.EAGER)
 	@Basic(fetch = FetchType.EAGER)
-	@FieldDescribe("申诉事由")
-	@Column(name = "xreason", length = JpaObject.length_2K)
-	@CheckPersist(allowEmpty = true)
+	@FieldDescribe("申诉详细事由")
+	@Column( length = JpaObject.length_2K, name = ColumnNamePrefix + reason_FIELDNAME)
 	private String reason;
 	private String reason;
 
 
+	public static final String appealDescription_FIELDNAME = "appealDescription";
 	@Lob
 	@Lob
 	@FieldDescribe("申诉详细说明")
 	@FieldDescribe("申诉详细说明")
-	@Column(name = "xappealDescription", length = JpaObject.length_2K)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_2K, name = ColumnNamePrefix + appealDescription_FIELDNAME)
 	private String appealDescription;
 	private String appealDescription;
 
 
+	public static final String status_FIELDNAME = "status";
+	@FieldDescribe("审批状态:0-待处理,1-审批通过,-1-审批不能过,2-需要下一次审批")
+	@Column( name = ColumnNamePrefix + status_FIELDNAME)
+	private Integer status = 0;
+
+	public static final String currentProcessor_FIELDNAME = "currentProcessor";
 	@FieldDescribe("当前审核人")
 	@FieldDescribe("当前审核人")
-	@Column(name = "xcurrentProcessor", length = AbstractPersistenceProperties.organization_name_length)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + currentProcessor_FIELDNAME)
 	private String currentProcessor;
 	private String currentProcessor;
 
 
+	public static final String archiveTime_FIELDNAME = "archiveTime";
+	@FieldDescribe("归档时间字符串")
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + archiveTime_FIELDNAME )
+	private String archiveTime;
+
+	//2020-05-15 新版本取消此属性,审批信息在AttendanceAppealAuditInfo里记录
+	public static final String processPerson1_FIELDNAME = "processPerson1";
 	@FieldDescribe("审批人一")
 	@FieldDescribe("审批人一")
-	@Column(name = "xprocessPerson1", length = AbstractPersistenceProperties.organization_name_length)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPerson1_FIELDNAME)
 	private String processPerson1;
 	private String processPerson1;
 
 
+	//2020-05-15 新版本取消此属性,审批信息在AttendanceAppealAuditInfo里记录
+	public static final String processPersonUnit1_FIELDNAME = "processPersonUnit1";
 	@FieldDescribe("审批人组织一")
 	@FieldDescribe("审批人组织一")
-	@Column(name = "xprocessPersonUnit1", length = AbstractPersistenceProperties.organization_name_length)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPersonUnit1_FIELDNAME)
 	private String processPersonUnit1;
 	private String processPersonUnit1;
 
 
+	//2020-05-15 新版本取消此属性,审批信息在AttendanceAppealAuditInfo里记录
+	public static final String processPersonTopUnit1_FIELDNAME = "processPersonTopUnit1";
 	@FieldDescribe("审批人顶层组织一")
 	@FieldDescribe("审批人顶层组织一")
-	@Column(name = "xprocessPersonTopUnit1", length = AbstractPersistenceProperties.organization_name_length)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPersonTopUnit1_FIELDNAME)
 	private String processPersonTopUnit1;
 	private String processPersonTopUnit1;
 
 
+	//2020-05-15 新版本取消此属性,审批信息在AttendanceAppealAuditInfo里记录
+	public static final String opinion1_FIELDNAME = "opinion1";
 	@FieldDescribe("审批意见一")
 	@FieldDescribe("审批意见一")
-	@Column(name = "xopinion1", length = JpaObject.length_255B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + opinion1_FIELDNAME )
 	private String opinion1;
 	private String opinion1;
 
 
+	//2020-05-15 新版本取消此属性,审批信息在AttendanceAppealAuditInfo里记录
+	public static final String processTime1_FIELDNAME = "processTime1";
 	@FieldDescribe("审批日期一")
 	@FieldDescribe("审批日期一")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xprocessTime1")
-	@CheckPersist(allowEmpty = true)
+	@Column( name = ColumnNamePrefix + processTime1_FIELDNAME)
 	private Date processTime1;
 	private Date processTime1;
 
 
+	//2020-05-15 新版本取消此属性,审批信息在AttendanceAppealAuditInfo里记录
+	public static final String processPerson2_FIELDNAME = "processPerson2";
 	@FieldDescribe("审批人二")
 	@FieldDescribe("审批人二")
-	@Column(name = "xprocessPerson2", length = AbstractPersistenceProperties.organization_name_length)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPerson2_FIELDNAME)
 	private String processPerson2;
 	private String processPerson2;
 
 
+	//2020-05-15 新版本取消此属性,审批信息在AttendanceAppealAuditInfo里记录
+	public static final String processPersonUnit2_FIELDNAME = "processPersonUnit2";
 	@FieldDescribe("审批人组织二")
 	@FieldDescribe("审批人组织二")
-	@Column(name = "xprocessPersonUnit2", length = AbstractPersistenceProperties.organization_name_length)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPersonUnit2_FIELDNAME )
 	private String processPersonUnit2;
 	private String processPersonUnit2;
 
 
+	//2020-05-15 新版本取消此属性,审批信息在AttendanceAppealAuditInfo里记录
+	public static final String processPersonTopUnit2_FIELDNAME = "processPersonTopUnit2";
 	@FieldDescribe("审批人顶层组织二")
 	@FieldDescribe("审批人顶层组织二")
-	@Column(name = "xprocessPersonTopUnit2", length = AbstractPersistenceProperties.organization_name_length)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + processPersonTopUnit2_FIELDNAME )
 	private String processPersonTopUnit2;
 	private String processPersonTopUnit2;
 
 
+	//2020-05-15 新版本取消此属性,审批信息在AttendanceAppealAuditInfo里记录
+	public static final String opinion2_FIELDNAME = "opinion2";
 	@FieldDescribe("审批意见二")
 	@FieldDescribe("审批意见二")
-	@Column(name = "xopinion2", length = JpaObject.length_255B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + opinion2_FIELDNAME )
 	private String opinion2;
 	private String opinion2;
 
 
+	//2020-05-15 新版本取消此属性,审批信息在AttendanceAppealAuditInfo里记录
+	public static final String processTime2_FIELDNAME = "processTime2";
 	@FieldDescribe("审批日期二")
 	@FieldDescribe("审批日期二")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xprocessTime2")
-	@CheckPersist(allowEmpty = true)
+	@Column( name = ColumnNamePrefix + processTime2_FIELDNAME )
 	private Date processTime2;
 	private Date processTime2;
 
 
-	@FieldDescribe("归档时间")
-	@Column(name = "xarchiveTime", length = JpaObject.length_32B)
-	@CheckPersist(allowEmpty = true)
-	private String archiveTime;
-
 	public String getDetailId() {
 	public String getDetailId() {
 		return detailId;
 		return detailId;
 	}
 	}

+ 90 - 48
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceDetail.java

@@ -67,203 +67,245 @@ public class AttendanceDetail extends SliceJpaObject {
 	 * =============================================================================
 	 * =============================================================================
 	 * =====
 	 * =====
 	 */
 	 */
+	public static final String empNo_FIELDNAME = "empNo";
 	@FieldDescribe("员工号")
 	@FieldDescribe("员工号")
-	@Column(name = "xempNo", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + empNo_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String empNo;
 	private String empNo;
 
 
+	public static final String empName_FIELDNAME = "empName";
 	@FieldDescribe("员工姓名")
 	@FieldDescribe("员工姓名")
-	@Column(name = "xempName", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + empName_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String empName;
 	private String empName;
 
 
+	public static final String topUnitName_FIELDNAME = "topUnitName";
 	@FieldDescribe("顶层组织名称")
 	@FieldDescribe("顶层组织名称")
-	@Column(name = "xtopUnitName", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + topUnitName_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String topUnitName;
 	private String topUnitName;
 
 
+	public static final String unitName_FIELDNAME = "unitName";
 	@FieldDescribe("组织名称")
 	@FieldDescribe("组织名称")
-	@Column(name = "xunitName", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + unitName_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String unitName;
 	private String unitName;
 
 
+	public static final String recordDate_FIELDNAME = "recordDate";
+	@FieldDescribe("打卡记录日期")
+	@Temporal(TemporalType.TIMESTAMP)
+	@Column( name = ColumnNamePrefix + recordDate_FIELDNAME)
+	@CheckPersist(allowEmpty = true)
+	private Date recordDate;
+
+	public static final String yearString_FIELDNAME = "yearString";
 	@FieldDescribe("打卡记录年份")
 	@FieldDescribe("打卡记录年份")
-	@Column(name = "xyearString", length = JpaObject.length_16B)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + yearString_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String yearString;
 	private String yearString;
 
 
+	public static final String monthString_FIELDNAME = "monthString";
 	@FieldDescribe("打卡记录月份")
 	@FieldDescribe("打卡记录月份")
-	@Column(name = "xmonthString", length = JpaObject.length_16B)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + monthString_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String monthString;
 	private String monthString;
 
 
+	public static final String recordDateString_FIELDNAME = "recordDateString";
 	@FieldDescribe("打卡记录日期字符串")
 	@FieldDescribe("打卡记录日期字符串")
-	@Column(name = "xrecordDateString", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + recordDateString_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String recordDateString;
 	private String recordDateString;
 
 
-	@FieldDescribe("打卡记录日期")
-	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xrecordDate")
-	@CheckPersist(allowEmpty = true)
-	private Date recordDate;
-
+	public static final String cycleYear_FIELDNAME = "cycleYear";
 	@FieldDescribe("统计周期年份")
 	@FieldDescribe("统计周期年份")
-	@Column(name = "xcycleYear", length = JpaObject.length_16B)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + cycleYear_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String cycleYear;
 	private String cycleYear;
 
 
+	public static final String cycleMonth_FIELDNAME = "cycleMonth";
 	@FieldDescribe("统计周期月份")
 	@FieldDescribe("统计周期月份")
-	@Column(name = "xcycleMonth", length = JpaObject.length_16B)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + cycleMonth_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String cycleMonth;
 	private String cycleMonth;
 
 
+	public static final String selfHolidayDayTime_FIELDNAME = "selfHolidayDayTime";
 	@FieldDescribe("请假时段:上午|下午|全天")
 	@FieldDescribe("请假时段:上午|下午|全天")
-	@Column(name = "xselfHolidayDayTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + selfHolidayDayTime_FIELDNAME)
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String selfHolidayDayTime = "无";
 	private String selfHolidayDayTime = "无";
 
 
+	public static final String absentDayTime_FIELDNAME = "absentDayTime";
 	@FieldDescribe("缺勤时段:上午|下午|全天")
 	@FieldDescribe("缺勤时段:上午|下午|全天")
-	@Column(name = "xabsentDayTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + absentDayTime_FIELDNAME)
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String absentDayTime = "无";
 	private String absentDayTime = "无";
 
 
+	public static final String abnormalDutyDayTime_FIELDNAME = "abnormalDutyDayTime";
 	@FieldDescribe("异常打卡时段:上午|下午|全天")
 	@FieldDescribe("异常打卡时段:上午|下午|全天")
-	@Column(name = "xabnormalDutyDayTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + abnormalDutyDayTime_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String abnormalDutyDayTime = "无";
 	private String abnormalDutyDayTime = "无";
 
 
+	public static final String getSelfHolidayDays_FIELDNAME = "getSelfHolidayDays";
 	@FieldDescribe("休假天数: 0|0.5|1")
 	@FieldDescribe("休假天数: 0|0.5|1")
-	@Column(name = "xgetSelfHolidayDays")
+	@Column( name = ColumnNamePrefix + getSelfHolidayDays_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private Double getSelfHolidayDays = 0.0;
 	private Double getSelfHolidayDays = 0.0;
 
 
+	public static final String onWorkTime_FIELDNAME = "onWorkTime";
 	@FieldDescribe("上班时间")
 	@FieldDescribe("上班时间")
-	@Column(name = "xonWorkTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + onWorkTime_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String onWorkTime;
 	private String onWorkTime;
 
 
+	public static final String offWorkTime_FIELDNAME = "offWorkTime";
 	@FieldDescribe("下班时间")
 	@FieldDescribe("下班时间")
-	@Column(name = "xoffWorkTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + offWorkTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String offWorkTime;
 	private String offWorkTime;
 
 
+	public static final String onDutyTime_FIELDNAME = "onDutyTime";
 	@FieldDescribe("上班打卡时间")
 	@FieldDescribe("上班打卡时间")
-	@Column(name = "xonDutyTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + onDutyTime_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String onDutyTime;
 	private String onDutyTime;
 
 
+	public static final String offDutyTime_FIELDNAME = "offDutyTime";
 	@FieldDescribe("下班打卡时间")
 	@FieldDescribe("下班打卡时间")
-	@Column(name = "xoffDutyTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + offDutyTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String offDutyTime;
 	private String offDutyTime;
 
 
+	public static final String lateTimeDuration_FIELDNAME = "lateTimeDuration";
 	@FieldDescribe("迟到时长")
 	@FieldDescribe("迟到时长")
-	@Column(name = "xlateTimeDuration")
+	@Column( name = ColumnNamePrefix + lateTimeDuration_FIELDNAME)
 	private Long lateTimeDuration = 0L;
 	private Long lateTimeDuration = 0L;
 
 
+	public static final String leaveEarlierTimeDuration_FIELDNAME = "leaveEarlierTimeDuration";
 	@FieldDescribe("早退时长")
 	@FieldDescribe("早退时长")
-	@Column(name = "xleaveEarlierTimeDuration")
+	@Column( name = ColumnNamePrefix + leaveEarlierTimeDuration_FIELDNAME )
 	private Long leaveEarlierTimeDuration = 0L;
 	private Long leaveEarlierTimeDuration = 0L;
 
 
+	public static final String workOvertimeTimeDuration_FIELDNAME = "workOvertimeTimeDuration";
 	@FieldDescribe("加班时长")
 	@FieldDescribe("加班时长")
-	@Column(name = "xworkOvertimeTimeDuration")
+	@Column( name = ColumnNamePrefix + workOvertimeTimeDuration_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private Long workOvertimeTimeDuration = 0L;
 	private Long workOvertimeTimeDuration = 0L;
 
 
+	public static final String workTimeDuration_FIELDNAME = "workTimeDuration";
 	@FieldDescribe("出勤时长")
 	@FieldDescribe("出勤时长")
-	@Column(name = "xworkTimeDuration")
+	@Column( name = ColumnNamePrefix + workTimeDuration_FIELDNAME )
 	private Long workTimeDuration = 0L;
 	private Long workTimeDuration = 0L;
 
 
+	public static final String attendance_FIELDNAME = "attendance";
 	@FieldDescribe("出勤天数(0|0.5|1)")
 	@FieldDescribe("出勤天数(0|0.5|1)")
-	@Column(name = "xattendance")
+	@Column( name = ColumnNamePrefix + attendance_FIELDNAME )
 	private Double attendance = 1.0;
 	private Double attendance = 1.0;
 
 
+	public static final String absence_FIELDNAME = "absence";
 	@FieldDescribe("缺勤天数(0|0.5|1)")
 	@FieldDescribe("缺勤天数(0|0.5|1)")
-	@Column(name = "xabsence")
+	@Column( name = ColumnNamePrefix + absence_FIELDNAME )
 	private Double absence = 0.0;
 	private Double absence = 0.0;
 
 
+	public static final String recordStatus_FIELDNAME = "recordStatus";
 	@FieldDescribe("记录状态:0-未分析 1-已分析")
 	@FieldDescribe("记录状态:0-未分析 1-已分析")
-	@Column(name = "xrecordStatus")
+	@Column( name = ColumnNamePrefix + recordStatus_FIELDNAME )
 	private Integer recordStatus = 0;
 	private Integer recordStatus = 0;
 
 
+	public static final String batchName_FIELDNAME = "batchName";
 	@FieldDescribe("导入批次号:导入文件的ID")
 	@FieldDescribe("导入批次号:导入文件的ID")
-	@Column(name = "xbatchName", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + batchName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String batchName;
 	private String batchName;
 
 
+	public static final String description_FIELDNAME = "description";
 	@FieldDescribe("说明备注")
 	@FieldDescribe("说明备注")
-	@Column(name = "xdescription", length = JpaObject.length_255B)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + description_FIELDNAME)
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String description;
 	private String description;
 
 
+	public static final String appealStatus_FIELDNAME = "appealStatus";
 	@FieldDescribe("申诉状态:0-未申诉,1-申诉中,-1-申诉未通过,9-申诉通过")
 	@FieldDescribe("申诉状态:0-未申诉,1-申诉中,-1-申诉未通过,9-申诉通过")
-	@Column(name = "xappealStatus")
+	@Column( name = ColumnNamePrefix + appealStatus_FIELDNAME)
 	private Integer appealStatus = 0;
 	private Integer appealStatus = 0;
 
 
+	public static final String appealReason_FIELDNAME = "appealReason";
 	@FieldDescribe("申诉原因")
 	@FieldDescribe("申诉原因")
-	@Column(name = "xappealReason", length = JpaObject.length_64B)
+	@Column( length = JpaObject.length_64B, name = ColumnNamePrefix + appealReason_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String appealReason;
 	private String appealReason;
 
 
+	public static final String appealProcessor_FIELDNAME = "appealProcessor";
 	@FieldDescribe("申诉处理人")
 	@FieldDescribe("申诉处理人")
-	@Column(name = "xappealProcessor", length = JpaObject.length_255B)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + appealProcessor_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String appealProcessor;
 	private String appealProcessor;
 
 
+	public static final String appealDescription_FIELDNAME = "appealDescription";
 	@Lob
 	@Lob
 	@Basic(fetch = FetchType.EAGER)
 	@Basic(fetch = FetchType.EAGER)
 	@FieldDescribe("申诉具体说明")
 	@FieldDescribe("申诉具体说明")
-	@Column(name = "xappealDescription", length = JpaObject.length_2K)
+	@Column( length = JpaObject.length_2K, name = ColumnNamePrefix + appealDescription_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String appealDescription;
 	private String appealDescription;
 
 
+	public static final String archiveTime_FIELDNAME = "archiveTime";
 	@FieldDescribe("归档时间")
 	@FieldDescribe("归档时间")
-	@Column(name = "xarchiveTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + archiveTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String archiveTime;
 	private String archiveTime;
 
 
+	public static final String isHoliday_FIELDNAME = "isHoliday";
 	@FieldDescribe("是否法定节假日")
 	@FieldDescribe("是否法定节假日")
-	@Column(name = "xisHoliday")
+	@Column( name = ColumnNamePrefix + isHoliday_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private Boolean isHoliday = false;
 	private Boolean isHoliday = false;
 
 
+	public static final String isWorkday_FIELDNAME = "isWorkday";
 	@FieldDescribe("是否调休工作日")
 	@FieldDescribe("是否调休工作日")
-	@Column(name = "xisWorkday")
+	@Column( name = ColumnNamePrefix + isWorkday_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private Boolean isWorkday = false;
 	private Boolean isWorkday = false;
 
 
+	public static final String isGetSelfHolidays_FIELDNAME = "isGetSelfHolidays";
 	@FieldDescribe("是否休假")
 	@FieldDescribe("是否休假")
-	@Column(name = "xisGetSelfHolidays")
+	@Column( name = ColumnNamePrefix + isGetSelfHolidays_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private Boolean isGetSelfHolidays = false;
 	private Boolean isGetSelfHolidays = false;
 
 
+	public static final String isAbsent_FIELDNAME = "isAbsent";
 	@FieldDescribe("是否缺勤")
 	@FieldDescribe("是否缺勤")
-	@Column(name = "xisAbsent")
+	@Column( name = ColumnNamePrefix + isAbsent_FIELDNAME )
 	private Boolean isAbsent = false;
 	private Boolean isAbsent = false;
 
 
+	public static final String isAbnormalDuty_FIELDNAME = "isAbnormalDuty";
 	@FieldDescribe("是否异常打卡")
 	@FieldDescribe("是否异常打卡")
-	@Column(name = "xisAbnormalDuty")
+	@Column( name = ColumnNamePrefix + isAbnormalDuty_FIELDNAME )
 	private Boolean isAbnormalDuty = false;
 	private Boolean isAbnormalDuty = false;
 
 
+	public static final String isLackOfTime_FIELDNAME = "isLackOfTime";
 	@FieldDescribe("是否工时不足")
 	@FieldDescribe("是否工时不足")
-	@Column(name = "xisLackOfTime")
+	@Column( name = ColumnNamePrefix + isLackOfTime_FIELDNAME )
 	private Boolean isLackOfTime = false;
 	private Boolean isLackOfTime = false;
 
 
+	public static final String isWorkOvertime_FIELDNAME = "isWorkOvertime";
 	@FieldDescribe("是否加班")
 	@FieldDescribe("是否加班")
-	@Column(name = "xisWorkOvertime")
+	@Column( name = ColumnNamePrefix + isWorkOvertime_FIELDNAME )
 	private Boolean isWorkOvertime = false;
 	private Boolean isWorkOvertime = false;
 
 
+	public static final String isLeaveEarlier_FIELDNAME = "isLeaveEarlier";
 	@FieldDescribe("是否早退")
 	@FieldDescribe("是否早退")
-	@Column(name = "xisLeaveEarlier")
+	@Column( name = ColumnNamePrefix + isLeaveEarlier_FIELDNAME )
 	private Boolean isLeaveEarlier = false;
 	private Boolean isLeaveEarlier = false;
 
 
+	public static final String isLate_FIELDNAME = "isLate";
 	@FieldDescribe("是否迟到")
 	@FieldDescribe("是否迟到")
-	@Column(name = "xisLate")
+	@Column( name = ColumnNamePrefix + isLate_FIELDNAME )
 	private Boolean isLate = false;
 	private Boolean isLate = false;
 
 
+	public static final String isWeekend_FIELDNAME = "isWeekend";
 	@FieldDescribe("是否周末")
 	@FieldDescribe("是否周末")
-	@Column(name = "xisWeekend")
+	@Column( name = ColumnNamePrefix + isWeekend_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private Boolean isWeekend = false;
 	private Boolean isWeekend = false;
 
 
@@ -375,7 +417,7 @@ public class AttendanceDetail extends SliceJpaObject {
 	/**
 	/**
 	 * 设置员工员工打卡记录日期(String)
 	 * 设置员工员工打卡记录日期(String)
 	 * 
 	 * 
-	 * @param isLeaveEarlier
+	 * @param recordDateString
 	 */
 	 */
 	public void setRecordDateString(String recordDateString) {
 	public void setRecordDateString(String recordDateString) {
 		this.recordDateString = recordDateString;
 		this.recordDateString = recordDateString;

+ 26 - 13
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceDetailMobile.java

@@ -63,69 +63,82 @@ public class AttendanceDetailMobile extends SliceJpaObject {
 	 * =============================================================================
 	 * =============================================================================
 	 * =====
 	 * =====
 	 */
 	 */
+	public static final String empNo_FIELDNAME = "empNo";
 	@FieldDescribe("员工号")
 	@FieldDescribe("员工号")
-	@Column(name = "xempNo", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + empNo_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String empNo;
 	private String empNo;
 
 
+	public static final String empName_FIELDNAME = "empName";
 	@FieldDescribe("员工姓名")
 	@FieldDescribe("员工姓名")
-	@Column(name = "xempName", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + empName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String empName;
 	private String empName;
 
 
+	public static final String recordDateString_FIELDNAME = "recordDateString";
 	@FieldDescribe("打卡记录日期字符串")
 	@FieldDescribe("打卡记录日期字符串")
-	@Column(name = "xrecordDateString", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + recordDateString_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String recordDateString;
 	private String recordDateString;
 
 
+	public static final String recordDate_FIELDNAME = "recordDate";
 	@FieldDescribe("打卡记录日期")
 	@FieldDescribe("打卡记录日期")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xrecordDate")
+	@Column( name = ColumnNamePrefix + recordDate_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private Date recordDate;
 	private Date recordDate;
 
 
+	public static final String signTime_FIELDNAME = "signTime";
 	@FieldDescribe("打卡时间")
 	@FieldDescribe("打卡时间")
-	@Column(name = "xsignTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + signTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String signTime;
 	private String signTime;
 
 
+	public static final String signDescription_FIELDNAME = "signDescription";
 	@FieldDescribe("打卡说明")
 	@FieldDescribe("打卡说明")
-	@Column(name = "xsignDescription", length = JpaObject.length_128B)
+	@Column( length = JpaObject.length_128B, name = ColumnNamePrefix + signDescription_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String signDescription;
 	private String signDescription;
 
 
+	public static final String description_FIELDNAME = "description";
 	@FieldDescribe("其他说明备注")
 	@FieldDescribe("其他说明备注")
-	@Column(name = "xdescription", length = JpaObject.length_255B)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + description_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String description;
 	private String description;
 
 
+	public static final String recordAddress_FIELDNAME = "recordAddress";
 	@FieldDescribe("打卡地点描述")
 	@FieldDescribe("打卡地点描述")
-	@Column(name = "xrecordAddress", length = JpaObject.length_255B)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + recordAddress_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String recordAddress;
 	private String recordAddress;
 
 
+	public static final String longitude_FIELDNAME = "longitude";
 	@FieldDescribe("经度")
 	@FieldDescribe("经度")
-	@Column(name = "xlongitude", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + longitude_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String longitude;
 	private String longitude;
 
 
+	public static final String latitude_FIELDNAME = "latitude";
 	@FieldDescribe("纬度")
 	@FieldDescribe("纬度")
-	@Column(name = "xlatitude", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + latitude_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String latitude;
 	private String latitude;
 
 
+	public static final String optMachineType_FIELDNAME = "optMachineType";
 	@FieldDescribe("操作设备类别:手机品牌|PAD|PC|其他")
 	@FieldDescribe("操作设备类别:手机品牌|PAD|PC|其他")
-	@Column(name = "xoptMachineType", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + optMachineType_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String optMachineType;
 	private String optMachineType;
 
 
+	public static final String optSystemName_FIELDNAME = "optSystemName";
 	@FieldDescribe("操作设备类别:Mac|Windows|IOS|Android|其他")
 	@FieldDescribe("操作设备类别:Mac|Windows|IOS|Android|其他")
-	@Column(name = "xoptSystemName", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + optSystemName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String optSystemName;
 	private String optSystemName;
 
 
+	public static final String recordStatus_FIELDNAME = "recordStatus";
 	@FieldDescribe("记录状态:0-未分析 1-已分析")
 	@FieldDescribe("记录状态:0-未分析 1-已分析")
-	@Column(name = "xrecordStatus")
+	@Column( name = ColumnNamePrefix + recordStatus_FIELDNAME )
 	private Integer recordStatus = 0;
 	private Integer recordStatus = 0;
 
 
 	public String getEmpNo() {
 	public String getEmpNo() {

+ 36 - 18
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceDingtalkDetail.java

@@ -45,37 +45,44 @@ public class AttendanceDingtalkDetail extends SliceJpaObject  {
      * =====
      * =====
      */
      */
 
 
-
+    public static final String ddId_FIELDNAME = "ddId";
     @FieldDescribe("钉钉打卡结果id")
     @FieldDescribe("钉钉打卡结果id")
-    @Column(name = ColumnNamePrefix + "ddID")
+    @Column( name = ColumnNamePrefix + ddId_FIELDNAME )
     private long ddId;
     private long ddId;
 
 
+    public static final String userId_FIELDNAME = "userId";
     @FieldDescribe("钉钉的用户id")
     @FieldDescribe("钉钉的用户id")
-    @Column(name = ColumnNamePrefix + "userId", length = length_96B)
+    @Column( length = length_96B, name = ColumnNamePrefix + userId_FIELDNAME )
     private String userId;
     private String userId;
 
 
-    @FieldDescribe("O2用户")
-    @Column(name = ColumnNamePrefix + "o2User", length = length_128B)
+    public static final String o2User_FIELDNAME = "o2User";
+    @FieldDescribe("O2OA用户")
+    @Column( length = length_128B, name = ColumnNamePrefix + o2User_FIELDNAME )
     private String o2User;
     private String o2User;
 
 
-    @FieldDescribe("O2用户所在的组织")
-    @Column(name = ColumnNamePrefix + "o2Unit", length = length_128B)
+    public static final String o2Unit_FIELDNAME = "o2Unit";
+    @FieldDescribe("O2OA用户所在的组织")
+    @Column( length = length_128B, name = ColumnNamePrefix + o2Unit_FIELDNAME )
     private String o2Unit;
     private String o2Unit;
 
 
+    public static final String baseCheckTime_FIELDNAME = "baseCheckTime";
     @FieldDescribe("基准时间,用于计算迟到和早退")
     @FieldDescribe("基准时间,用于计算迟到和早退")
-    @Column(name = ColumnNamePrefix + "baseCheckTime")
+    @Column( name = ColumnNamePrefix + baseCheckTime_FIELDNAME )
     private long baseCheckTime;
     private long baseCheckTime;
 
 
+    public static final String userCheckTime_FIELDNAME = "userCheckTime";
     @FieldDescribe("实际打卡时间,  用户打卡时间的毫秒数")
     @FieldDescribe("实际打卡时间,  用户打卡时间的毫秒数")
-    @Column(name = ColumnNamePrefix + "userCheckTime")
+    @Column( name = ColumnNamePrefix + userCheckTime_FIELDNAME )
     private long userCheckTime;
     private long userCheckTime;
 
 
+    public static final String userCheckTimeDate_FIELDNAME = "userCheckTimeDate";
     @FieldDescribe("实际打卡时间,  用Date格式存储")
     @FieldDescribe("实际打卡时间,  用Date格式存储")
-    @Column(name = ColumnNamePrefix + "userCheckTimeDate")
+    @Column( name = ColumnNamePrefix + userCheckTimeDate_FIELDNAME )
     private Date userCheckTimeDate;
     private Date userCheckTimeDate;
 
 
+    public static final String workDate_FIELDNAME = "workDate";
     @FieldDescribe("工作日")
     @FieldDescribe("工作日")
-    @Column(name = ColumnNamePrefix + "workDate")
+    @Column( name = ColumnNamePrefix + workDate_FIELDNAME )
     private long workDate;
     private long workDate;
 
 
     //时间结果
     //时间结果
@@ -91,15 +98,19 @@ public class AttendanceDingtalkDetail extends SliceJpaObject  {
     public static final String TIMERESULT_SeriousLate = "SeriousLate";
     public static final String TIMERESULT_SeriousLate = "SeriousLate";
     public static final String TIMERESULT_Absenteeism = "Absenteeism";
     public static final String TIMERESULT_Absenteeism = "Absenteeism";
     public static final String TIMERESULT_NotSigned = "NotSigned";
     public static final String TIMERESULT_NotSigned = "NotSigned";
+
+    public static final String timeResult_FIELDNAME = "timeResult";
     @FieldDescribe("时间结果")
     @FieldDescribe("时间结果")
-    @Column(name = ColumnNamePrefix + "timeResult", length = length_32B)
+    @Column( length = length_32B, name = ColumnNamePrefix + timeResult_FIELDNAME )
     private String timeResult;
     private String timeResult;
 
 
     //考勤类型 OnDuty:上班 OffDuty:下班
     //考勤类型 OnDuty:上班 OffDuty:下班
     public static final String OnDuty = "OnDuty";
     public static final String OnDuty = "OnDuty";
     public static final String OffDuty = "OffDuty";
     public static final String OffDuty = "OffDuty";
+
+    public static final String checkType_FIELDNAME = "checkType";
     @FieldDescribe("考勤类型")
     @FieldDescribe("考勤类型")
-    @Column(name = ColumnNamePrefix + "checkType", length = length_32B)
+    @Column( length = length_32B, name = ColumnNamePrefix + checkType_FIELDNAME )
     private String checkType;
     private String checkType;
 
 
     //位置结果
     //位置结果
@@ -109,8 +120,10 @@ public class AttendanceDingtalkDetail extends SliceJpaObject  {
     public static final String LOCATIONRESULT_Normal = "Normal";
     public static final String LOCATIONRESULT_Normal = "Normal";
     public static final String LOCATIONRESULT_Outside = "Outside";
     public static final String LOCATIONRESULT_Outside = "Outside";
     public static final String LOCATIONRESULT_NotSigned = "NotSigned";
     public static final String LOCATIONRESULT_NotSigned = "NotSigned";
+
+    public static final String locationResult_FIELDNAME = "locationResult";
     @FieldDescribe("位置结果")
     @FieldDescribe("位置结果")
-    @Column(name = ColumnNamePrefix + "locationResult", length = length_32B)
+    @Column( length = length_32B, name = ColumnNamePrefix + locationResult_FIELDNAME )
     private String locationResult;
     private String locationResult;
 
 
     //数据来源
     //数据来源
@@ -130,20 +143,25 @@ public class AttendanceDingtalkDetail extends SliceJpaObject  {
     public static final String SOURCETYPE_APPROVE = "APPROVE";
     public static final String SOURCETYPE_APPROVE = "APPROVE";
     public static final String SOURCETYPE_SYSTEM = "SYSTEM";
     public static final String SOURCETYPE_SYSTEM = "SYSTEM";
     public static final String SOURCETYPE_AUTO_CHECK = "AUTO_CHECK";
     public static final String SOURCETYPE_AUTO_CHECK = "AUTO_CHECK";
+
+    public static final String sourceType_FIELDNAME = "sourceType";
     @FieldDescribe("数据来源")
     @FieldDescribe("数据来源")
-    @Column(name = ColumnNamePrefix + "sourceType", length = length_32B)
+    @Column( length = length_32B, name = ColumnNamePrefix + sourceType_FIELDNAME )
     private String sourceType;
     private String sourceType;
 
 
+    public static final String groupId_FIELDNAME = "groupId";
     @FieldDescribe("考勤组ID")
     @FieldDescribe("考勤组ID")
-    @Column(name = ColumnNamePrefix + "groupId")
+    @Column( name = ColumnNamePrefix + groupId_FIELDNAME )
     private long groupId;
     private long groupId;
 
 
+    public static final String planId_FIELDNAME = "planId";
     @FieldDescribe("排班ID")
     @FieldDescribe("排班ID")
-    @Column(name = ColumnNamePrefix + "planId")
+    @Column( name = ColumnNamePrefix + planId_FIELDNAME )
     private long planId;
     private long planId;
 
 
+    public static final String recordId_FIELDNAME = "recordId";
     @FieldDescribe("打卡记录ID")
     @FieldDescribe("打卡记录ID")
-    @Column(name = ColumnNamePrefix + "recordId")
+    @Column( name = ColumnNamePrefix + recordId_FIELDNAME )
     private long recordId;
     private long recordId;
 
 
 //    @FieldDescribe("关联的审批id")
 //    @FieldDescribe("关联的审批id")

+ 19 - 10
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceEmployeeConfig.java

@@ -1,7 +1,5 @@
 package com.x.attendance.entity;
 package com.x.attendance.entity;
 
 
-import java.util.Date;
-
 import javax.persistence.Column;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.Id;
@@ -56,43 +54,54 @@ public class AttendanceEmployeeConfig extends SliceJpaObject {
 	 * =============================================================================
 	 * =============================================================================
 	 * =====
 	 * =====
 	 */
 	 */
+	public static final String topUnitName_FIELDNAME = "topUnitName";
 	@FieldDescribe("顶层组织名称")
 	@FieldDescribe("顶层组织名称")
-	@Column(name = "xtopUnitName", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + topUnitName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String topUnitName = "";
 	private String topUnitName = "";
 
 
+	public static final String topUnitOu_FIELDNAME = "topUnitOu";
 	@FieldDescribe("顶层组织编号")
 	@FieldDescribe("顶层组织编号")
-	@Column(name = "xtopUnitOu", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + topUnitOu_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String topUnitOu = "";
 	private String topUnitOu = "";
 
 
+	public static final String unitName_FIELDNAME = "unitName";
 	@FieldDescribe("组织名称")
 	@FieldDescribe("组织名称")
-	@Column(name = "xunitName", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + unitName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String unitName = "";
 	private String unitName = "";
 
 
+	public static final String unitOu_FIELDNAME = "unitOu";
 	@FieldDescribe("组织编号")
 	@FieldDescribe("组织编号")
-	@Column(name = "xunitOu", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + unitOu_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String unitOu = "";
 	private String unitOu = "";
 
 
+	public static final String employeeName_FIELDNAME = "employeeName";
 	@FieldDescribe("员工姓名")
 	@FieldDescribe("员工姓名")
-	@Column(name = "xemployeeName", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + employeeName_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String employeeName = "";
 	private String employeeName = "";
 
 
+	public static final String employeeNumber_FIELDNAME = "employeeNumber";
 	@FieldDescribe("员工号")
 	@FieldDescribe("员工号")
-	@Column(name = "xemployeeNumber", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + employeeNumber_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String employeeNumber = "";
 	private String employeeNumber = "";
 
 
+	public static final String empInTopUnitTime_FIELDNAME = "empInTopUnitTime";
 	@FieldDescribe("员工入职时间")
 	@FieldDescribe("员工入职时间")
-	@Column(name = "xempInTopUnitTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + empInTopUnitTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String empInTopUnitTime = "1900-01-01";
 	private String empInTopUnitTime = "1900-01-01";
 
 
+	public static final String CONFIGTYPE_REQUIRED = "REQUIRED";
+	public static final String CONFIGTYPE_NOTREQUIRED = "NOTREQUIRED";
+
+	public static final String configType_FIELDNAME = "configType";
 	@FieldDescribe("配置类型:REQUIRED(需要考勤)|NOTREQUIRED(不需要考勤)")
 	@FieldDescribe("配置类型:REQUIRED(需要考勤)|NOTREQUIRED(不需要考勤)")
-	@Column(name = "xconfigType", length = JpaObject.length_16B)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + configType_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String configType = "";
 	private String configType = "";
 
 

+ 42 - 27
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceImportFileInfo.java

@@ -10,14 +10,10 @@ import javax.persistence.Id;
 import javax.persistence.Inheritance;
 import javax.persistence.Inheritance;
 import javax.persistence.InheritanceType;
 import javax.persistence.InheritanceType;
 import javax.persistence.Lob;
 import javax.persistence.Lob;
-import javax.persistence.PrePersist;
-import javax.persistence.PreUpdate;
 import javax.persistence.Table;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
 import javax.persistence.TemporalType;
 import javax.persistence.UniqueConstraint;
 import javax.persistence.UniqueConstraint;
-
-import org.apache.commons.lang3.StringUtils;
 import org.apache.openjpa.persistence.jdbc.Index;
 import org.apache.openjpa.persistence.jdbc.Index;
 
 
 import com.x.base.core.entity.AbstractPersistenceProperties;
 import com.x.base.core.entity.AbstractPersistenceProperties;
@@ -26,7 +22,6 @@ import com.x.base.core.entity.SliceJpaObject;
 import com.x.base.core.entity.annotation.CheckPersist;
 import com.x.base.core.entity.annotation.CheckPersist;
 import com.x.base.core.entity.annotation.ContainerEntity;
 import com.x.base.core.entity.annotation.ContainerEntity;
 import com.x.base.core.project.annotation.FieldDescribe;
 import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.tools.DateTools;
 
 
 /**
 /**
  * 内容管理应用目录分类信息
  * 内容管理应用目录分类信息
@@ -73,20 +68,23 @@ public class AttendanceImportFileInfo extends SliceJpaObject {
 	 * =====
 	 * =====
 	 */
 	 */
 
 
+	public static final String lastUpdateTime_FIELDNAME = "lastUpdateTime";
 	@FieldDescribe("最后更新时间")
 	@FieldDescribe("最后更新时间")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xlastUpdateTime")
+	@Column( name = ColumnNamePrefix + lastUpdateTime_FIELDNAME )
 	@Index(name = TABLE + "_lastUpdateTime")
 	@Index(name = TABLE + "_lastUpdateTime")
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private Date lastUpdateTime;
 	private Date lastUpdateTime;
 
 
+	public static final String fileName_FIELDNAME = "fileName";
 	@FieldDescribe("文件真实名称")
 	@FieldDescribe("文件真实名称")
-	@Column(name = "xfileName", length = AbstractPersistenceProperties.processPlatform_name_length)
+	@Column( length = AbstractPersistenceProperties.processPlatform_name_length, name = ColumnNamePrefix + fileName_FIELDNAME )
 	@CheckPersist(fileNameString = true, allowEmpty = true)
 	@CheckPersist(fileNameString = true, allowEmpty = true)
 	private String fileName = "";
 	private String fileName = "";
 
 
+	public static final String name_FIELDNAME = "name";
 	@FieldDescribe("文件真实名称")
 	@FieldDescribe("文件真实名称")
-	@Column(name = "xname", length = AbstractPersistenceProperties.processPlatform_name_length)
+	@Column( length = AbstractPersistenceProperties.processPlatform_name_length, name = ColumnNamePrefix + name_FIELDNAME )
 	@CheckPersist(fileNameString = true, allowEmpty = true)
 	@CheckPersist(fileNameString = true, allowEmpty = true)
 	private String name = "";
 	private String name = "";
 
 
@@ -94,95 +92,112 @@ public class AttendanceImportFileInfo extends SliceJpaObject {
 	@Lob
 	@Lob
 	@Basic(fetch = FetchType.EAGER)
 	@Basic(fetch = FetchType.EAGER)
 	@FieldDescribe("文件内容, 10M大约可以存储50万行Excel")
 	@FieldDescribe("文件内容, 10M大约可以存储50万行Excel")
-	@Column(name = ColumnNamePrefix + fileBody_FIELDNAME, length = JpaObject.length_10M)
+	@Column( length = JpaObject.length_10M, name = ColumnNamePrefix + fileBody_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private byte[] fileBody;
 	private byte[] fileBody;
 
 
+	public static final String dataContent_FIELDNAME = "dataContent";
 	@Lob
 	@Lob
 	@Basic(fetch = FetchType.EAGER)
 	@Basic(fetch = FetchType.EAGER)
 	@FieldDescribe("文件数据JSON内容, 10M大约可以存储50万行Excel")
 	@FieldDescribe("文件数据JSON内容, 10M大约可以存储50万行Excel")
-	@Column(name = "xdataContent", length = JpaObject.length_10M)
+	@Column( length = JpaObject.length_10M, name = ColumnNamePrefix + dataContent_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String dataContent;
 	private String dataContent;
 
 
+	public static final String errorContent_FIELDNAME = "errorContent";
 	@Lob
 	@Lob
 	@Basic(fetch = FetchType.EAGER)
 	@Basic(fetch = FetchType.EAGER)
 	@FieldDescribe("错误数据JSON内容, 10M大约可以存储50万行Excel")
 	@FieldDescribe("错误数据JSON内容, 10M大约可以存储50万行Excel")
-	@Column(name = "xerrorContent", length = JpaObject.length_10M)
+	@Column( length = JpaObject.length_10M, name = ColumnNamePrefix + errorContent_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String errorContent;
 	private String errorContent;
 
 
+	public static final String description_FIELDNAME = "description";
 	@FieldDescribe("文件说明")
 	@FieldDescribe("文件说明")
-	@Column(name = "xdescription", length = JpaObject.length_255B)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + description_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String description = "";
 	private String description = "";
 
 
+	public static final String creatorUid_FIELDNAME = "creatorUid";
 	@FieldDescribe("创建者UID")
 	@FieldDescribe("创建者UID")
-	@Column(name = "xcreatorUid", length = JpaObject.length_64B)
+	@Column( length = JpaObject.length_64B, name = ColumnNamePrefix + creatorUid_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String creatorUid = "";
 	private String creatorUid = "";
 
 
+	public static final String extension_FIELDNAME = "extension";
 	@FieldDescribe("扩展名")
 	@FieldDescribe("扩展名")
-	@Column(name = "xextension", length = JpaObject.length_16B)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + extension_FIELDNAME )
 	@CheckPersist(fileNameString = true, allowEmpty = true)
 	@CheckPersist(fileNameString = true, allowEmpty = true)
 	private String extension = "xlsx";
 	private String extension = "xlsx";
 
 
+	public static final String length_FIELDNAME = "length";
 	@FieldDescribe("文件大小.")
 	@FieldDescribe("文件大小.")
-	@Column(name = "xlength")
+	@Column( name = ColumnNamePrefix + length_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private Long length = 0L;
 	private Long length = 0L;
 
 
+	public static final String rowCount_FIELDNAME = "rowCount";
 	@FieldDescribe("记录行数.")
 	@FieldDescribe("记录行数.")
-	@Column(name = "xrowCount")
+	@Column( name = ColumnNamePrefix + rowCount_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private Long rowCount = 0L;
 	private Long rowCount = 0L;
 
 
+	public static final String fileStatus_FIELDNAME = "fileStatus";
 	@FieldDescribe("文件状态:new|imported.")
 	@FieldDescribe("文件状态:new|imported.")
-	@Column(name = "xfileStatus", length = JpaObject.length_16B)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + fileStatus_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String fileStatus = "new";
 	private String fileStatus = "new";
 
 
+	public static final String tempFilePath_FIELDNAME = "tempFilePath";
 	@FieldDescribe("临时文件地址")
 	@FieldDescribe("临时文件地址")
-	@Column(name = "xtempFilePath", length = JpaObject.length_255B)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + tempFilePath_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String tempFilePath = null;
 	private String tempFilePath = null;
 
 
+	public static final String currentProcessName_FIELDNAME = "currentProcessName";
 	@FieldDescribe("当前数据处理操作步骤:GETDATA|CHECKDATA|SAVEDATA|SUPPLEMENT|ANALYSIS")
 	@FieldDescribe("当前数据处理操作步骤:GETDATA|CHECKDATA|SAVEDATA|SUPPLEMENT|ANALYSIS")
-	@Column(name = "xcurrentProcessName", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + currentProcessName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String currentProcessName = "NONE";
 	private String currentProcessName = "NONE";
 
 
+	public static final String validateOk_FIELDNAME = "validateOk";
 	@FieldDescribe("数据校验结果")
 	@FieldDescribe("数据校验结果")
-	@Column(name = "xvalidateOk")
+	@Column( name = ColumnNamePrefix + validateOk_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private Boolean validateOk = false;
 	private Boolean validateOk = false;
 
 
+	public static final String processing_FIELDNAME = "processing";
 	@FieldDescribe("数据操作状态")
 	@FieldDescribe("数据操作状态")
-	@Column(name = "xprocessing")
+	@Column( name = ColumnNamePrefix + processing_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private Boolean processing = false;
 	private Boolean processing = false;
 
 
+	public static final String recordTotle_FIELDNAME = "recordTotle";
 	@FieldDescribe("数据总量")
 	@FieldDescribe("数据总量")
-	@Column(name = "xrecordTotle")
+	@Column( name = ColumnNamePrefix + recordTotle_FIELDNAME )
 	private Long recordTotle = 0L;
 	private Long recordTotle = 0L;
 
 
+	public static final String processCount_FIELDNAME = "processCount";
 	@FieldDescribe("当前数据操作数量")
 	@FieldDescribe("当前数据操作数量")
-	@Column(name = "xprocessCount")
+	@Column( name = ColumnNamePrefix + processCount_FIELDNAME )
 	private Long processCount = 0L;
 	private Long processCount = 0L;
 
 
+	public static final String startDate_FIELDNAME = "startDate";
 	@FieldDescribe("数据开始日期")
 	@FieldDescribe("数据开始日期")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xstartDate")
+	@Column( name = ColumnNamePrefix + startDate_FIELDNAME )
 	private Date startDate = null;
 	private Date startDate = null;
 
 
+	public static final String endDate_FIELDNAME = "endDate";
 	@FieldDescribe("数据结束日期")
 	@FieldDescribe("数据结束日期")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xendDate")
+	@Column( name = ColumnNamePrefix + endDate_FIELDNAME )
 	private Date endDate = null;
 	private Date endDate = null;
 
 
+	public static final String site_FIELDNAME = "site";
 	@FieldDescribe("附件框分类.")
 	@FieldDescribe("附件框分类.")
-	@Column(length = JpaObject.length_64B, name = "xsite")
-	@CheckPersist(allowEmpty = true)
+	@Column(length = JpaObject.length_64B,  name = ColumnNamePrefix + site_FIELDNAME )
+			@CheckPersist(allowEmpty = true)
 	private String site;
 	private String site;
 
 
 	public String getFileName() {
 	public String getFileName() {

+ 25 - 13
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceQywxDetail.java

@@ -45,20 +45,24 @@ public class AttendanceQywxDetail extends SliceJpaObject  {
      */
      */
 
 
 
 
+    public static final String o2User_FIELDNAME = "o2User";
     @FieldDescribe("O2用户")
     @FieldDescribe("O2用户")
-    @Column(name = ColumnNamePrefix + "o2User", length = length_128B)
+    @Column(name = ColumnNamePrefix + o2User_FIELDNAME, length = length_128B)
     private String o2User;
     private String o2User;
 
 
+    public static final String o2Unit_FIELDNAME = "o2Unit";
     @FieldDescribe("O2用户所在的组织")
     @FieldDescribe("O2用户所在的组织")
-    @Column(name = ColumnNamePrefix + "o2Unit", length = length_128B)
+    @Column(name = ColumnNamePrefix + o2Unit_FIELDNAME, length = length_128B)
     private String o2Unit;
     private String o2Unit;
 
 
+    public static final String userid_FIELDNAME = "userid";
     @FieldDescribe("用户id")
     @FieldDescribe("用户id")
-    @Column(name = ColumnNamePrefix + "userid", length = length_96B)
+    @Column(name = ColumnNamePrefix + userid_FIELDNAME, length = length_96B)
     private String userid;
     private String userid;
 
 
+    public static final String groupname_FIELDNAME = "groupname";
     @FieldDescribe("打卡规则名称")
     @FieldDescribe("打卡规则名称")
-    @Column(name = ColumnNamePrefix + "groupname", length = length_128B)
+    @Column(name = ColumnNamePrefix + groupname_FIELDNAME, length = length_128B)
     private String groupname;
     private String groupname;
 
 
     //打卡类型
     //打卡类型
@@ -66,16 +70,19 @@ public class AttendanceQywxDetail extends SliceJpaObject  {
     public static final String CHECKIN_TYPE_OFF = "下班打卡";
     public static final String CHECKIN_TYPE_OFF = "下班打卡";
     public static final String CHECKIN_TYPE_OUTSIDE = "外出打卡";
     public static final String CHECKIN_TYPE_OUTSIDE = "外出打卡";
 
 
+    public static final String checkin_type_FIELDNAME = "checkin_type";
     @FieldDescribe("打卡类型。字符串,目前有:上班打卡,下班打卡,外出打卡")
     @FieldDescribe("打卡类型。字符串,目前有:上班打卡,下班打卡,外出打卡")
-    @Column(name = ColumnNamePrefix + "checkin_type", length = length_128B)
+    @Column(name = ColumnNamePrefix + checkin_type_FIELDNAME, length = length_128B)
     private String checkin_type;
     private String checkin_type;
 
 
+    public static final String checkin_time_FIELDNAME = "checkin_time";
     @FieldDescribe("打卡时间。Unix时间戳")
     @FieldDescribe("打卡时间。Unix时间戳")
-    @Column(name = ColumnNamePrefix + "checkin_time")
+    @Column(name = ColumnNamePrefix + checkin_time_FIELDNAME )
     private long checkin_time;
     private long checkin_time;
 
 
+    public static final String checkin_time_date_FIELDNAME = "checkin_time_date";
     @FieldDescribe("实际打卡时间,  用Date格式存储")
     @FieldDescribe("实际打卡时间,  用Date格式存储")
-    @Column(name = ColumnNamePrefix + "checkin_time_date")
+    @Column(name = ColumnNamePrefix + checkin_time_date_FIELDNAME )
     private Date checkin_time_date;
     private Date checkin_time_date;
 
 
     //异常类型
     //异常类型
@@ -85,27 +92,32 @@ public class AttendanceQywxDetail extends SliceJpaObject  {
     public static final String EXCEPTION_TYPE_UNKOWN_DEVICE = "非常用设备";
     public static final String EXCEPTION_TYPE_UNKOWN_DEVICE = "非常用设备";
     public static final String EXCEPTION_TYPE_NOSIGN = "未打卡";
     public static final String EXCEPTION_TYPE_NOSIGN = "未打卡";
     public static final String EXCEPTION_TYPE_NORMAL = "正常";
     public static final String EXCEPTION_TYPE_NORMAL = "正常";
+
+    public static final String exception_type_FIELDNAME = "exception_type";
     @FieldDescribe("异常类型,字符串,包括:时间异常,地点异常,未打卡,wifi异常,非常用设备。如果有多个异常,以分号间隔")
     @FieldDescribe("异常类型,字符串,包括:时间异常,地点异常,未打卡,wifi异常,非常用设备。如果有多个异常,以分号间隔")
-    @Column(name = ColumnNamePrefix + "exception_type", length = length_255B)
+    @Column(name = ColumnNamePrefix + exception_type_FIELDNAME, length = length_255B)
     private String exception_type;
     private String exception_type;
 
 
+    public static final String location_title_FIELDNAME = "location_title";
     @FieldDescribe("打卡地点title")
     @FieldDescribe("打卡地点title")
-    @Column(name = ColumnNamePrefix + "location_title", length = length_255B)
+    @Column(name = ColumnNamePrefix + location_title_FIELDNAME, length = length_255B)
     private String location_title;
     private String location_title;
 
 
+    public static final String location_detail_FIELDNAME = "location_detail";
     @FieldDescribe("打卡地点详情")
     @FieldDescribe("打卡地点详情")
-    @Column(name = ColumnNamePrefix + "location_detail", length = length_255B)
+    @Column(name = ColumnNamePrefix + location_detail_FIELDNAME, length = length_255B)
     private String location_detail;
     private String location_detail;
 
 
+    public static final String wifiname_FIELDNAME = "wifiname";
     @FieldDescribe("打卡wifi名称")
     @FieldDescribe("打卡wifi名称")
-    @Column(name = ColumnNamePrefix + "wifiname", length = length_255B)
+    @Column(name = ColumnNamePrefix + wifiname_FIELDNAME, length = length_255B)
     private String wifiname;
     private String wifiname;
 
 
+    public static final String notes_FIELDNAME = "notes";
     @FieldDescribe("打卡备注")
     @FieldDescribe("打卡备注")
-    @Column(name = ColumnNamePrefix + "notes", length = length_255B)
+    @Column(name = ColumnNamePrefix + notes_FIELDNAME, length = length_255B)
     private String notes;
     private String notes;
 
 
-
     public String getO2User() {
     public String getO2User() {
         return o2User;
         return o2User;
     }
     }

+ 16 - 8
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceScheduleSetting.java

@@ -56,43 +56,51 @@ public class AttendanceScheduleSetting extends SliceJpaObject {
 	 * =============================================================================
 	 * =============================================================================
 	 * =====
 	 * =====
 	 */
 	 */
+	public static final String topUnitName_FIELDNAME = "topUnitName";
 	@FieldDescribe("顶层组织名称")
 	@FieldDescribe("顶层组织名称")
-	@Column(name = "xtopUnitName", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + topUnitName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String topUnitName;
 	private String topUnitName;
 
 
+	public static final String unitName_FIELDNAME = "unitName";
 	@FieldDescribe("组织名称")
 	@FieldDescribe("组织名称")
-	@Column(name = "xunitName", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + unitName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String unitName;
 	private String unitName;
 
 
+	public static final String unitOu_FIELDNAME = "unitOu";
 	@FieldDescribe("组织编号")
 	@FieldDescribe("组织编号")
-	@Column(name = "xunitOu", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + unitOu_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String unitOu;
 	private String unitOu;
 
 
+	public static final String onDutyTime_FIELDNAME = "onDutyTime";
 	@FieldDescribe("上班时间")
 	@FieldDescribe("上班时间")
-	@Column(name = "xonDutyTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + onDutyTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String onDutyTime;
 	private String onDutyTime;
 
 
+	public static final String offDutyTime_FIELDNAME = "offDutyTime";
 	@FieldDescribe("下班时间")
 	@FieldDescribe("下班时间")
-	@Column(name = "xoffDutyTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + offDutyTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String offDutyTime;
 	private String offDutyTime;
 
 
+	public static final String lateStartTime_FIELDNAME = "lateStartTime";
 	@FieldDescribe("迟到起算时间")
 	@FieldDescribe("迟到起算时间")
-	@Column(name = "xlateStartTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + lateStartTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String lateStartTime;
 	private String lateStartTime;
 
 
+	public static final String absenceStartTime_FIELDNAME = "absenceStartTime";
 	@FieldDescribe("缺勤起算时间")
 	@FieldDescribe("缺勤起算时间")
-	@Column(name = "xabsenceStartTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + absenceStartTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String absenceStartTime;
 	private String absenceStartTime;
 
 
+	public static final String leaveEarlyStartTime_FIELDNAME = "leaveEarlyStartTime";
 	@FieldDescribe("早退起算时间")
 	@FieldDescribe("早退起算时间")
-	@Column(name = "xleaveEarlyStartTime", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + leaveEarlyStartTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String leaveEarlyStartTime;
 	private String leaveEarlyStartTime;
 
 

+ 26 - 13
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceSelfHoliday.java

@@ -49,70 +49,83 @@ public class AttendanceSelfHoliday extends SliceJpaObject {
 	 * =============================================================================
 	 * =============================================================================
 	 * =====
 	 * =====
 	 */
 	 */
+	public static final String docId_FIELDNAME = "docId";
 	@FieldDescribe("流程WorkId")
 	@FieldDescribe("流程WorkId")
-	@Column(name = "xdocId", length = JpaObject.length_id)
+	@Column( length = JpaObject.length_id, name = ColumnNamePrefix + docId_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String docId;
 	private String docId;
 
 
+	public static final String topUnitName_FIELDNAME = "topUnitName";
 	@FieldDescribe("顶层组织名称")
 	@FieldDescribe("顶层组织名称")
-	@Column(name = "xtopUnitName", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + topUnitName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String topUnitName;
 	private String topUnitName;
 
 
+	public static final String topUnitOu_FIELDNAME = "topUnitOu";
 	@FieldDescribe("顶层组织编号")
 	@FieldDescribe("顶层组织编号")
-	@Column(name = "xtopUnitOu", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + topUnitOu_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String topUnitOu;
 	private String topUnitOu;
 
 
+	public static final String unitName_FIELDNAME = "unitName";
 	@FieldDescribe("组织名称")
 	@FieldDescribe("组织名称")
-	@Column(name = "xunitName", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + unitName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String unitName;
 	private String unitName;
 
 
+	public static final String unitOu_FIELDNAME = "unitOu";
 	@FieldDescribe("组织编号")
 	@FieldDescribe("组织编号")
-	@Column(name = "xunitOu", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + unitOu_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String unitOu;
 	private String unitOu;
 
 
+	public static final String employeeName_FIELDNAME = "employeeName";
 	@FieldDescribe("员工姓名")
 	@FieldDescribe("员工姓名")
-	@Column(name = "xemployeeName", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + employeeName_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String employeeName;
 	private String employeeName;
 
 
+	public static final String employeeNumber_FIELDNAME = "employeeNumber";
 	@FieldDescribe("员工号")
 	@FieldDescribe("员工号")
-	@Column(name = "xemployeeNumber", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + employeeNumber_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String employeeNumber;
 	private String employeeNumber;
 
 
+	public static final String leaveType_FIELDNAME = "leaveType";
 	@FieldDescribe("请假类型:带薪年休假|带薪病假|带薪福利假|扣薪事假|其他")
 	@FieldDescribe("请假类型:带薪年休假|带薪病假|带薪福利假|扣薪事假|其他")
-	@Column(name = "xleaveType", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + leaveType_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String leaveType;
 	private String leaveType;
 
 
+	public static final String startTime_FIELDNAME = "startTime";
 	@FieldDescribe("开始时间")
 	@FieldDescribe("开始时间")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xstartTime")
+	@Column( name = ColumnNamePrefix + startTime_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private Date startTime;
 	private Date startTime;
 
 
+	public static final String endTime_FIELDNAME = "endTime";
 	@FieldDescribe("结束时间")
 	@FieldDescribe("结束时间")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xendTime")
+	@Column( name = ColumnNamePrefix + endTime_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private Date endTime;
 	private Date endTime;
 
 
+	public static final String leaveDayNumber_FIELDNAME = "leaveDayNumber";
 	@FieldDescribe("请假天数")
 	@FieldDescribe("请假天数")
-	@Column(name = "xleaveDayNumber")
+	@Column( name = ColumnNamePrefix + leaveDayNumber_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private Double leaveDayNumber = 0.0;
 	private Double leaveDayNumber = 0.0;
 
 
+	public static final String description_FIELDNAME = "description";
 	@FieldDescribe("请假说明")
 	@FieldDescribe("请假说明")
-	@Column(name = "xdescription", length = JpaObject.length_255B)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + description_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String description;
 	private String description;
 
 
+	public static final String batchFlag_FIELDNAME = "batchFlag";
 	@FieldDescribe("录入批次标识:可以填写流程workId,jobId, CMS的文档ID,或者自定义信息,数据保存时会先根据batchFlag做删除,然后再保存新的数据")
 	@FieldDescribe("录入批次标识:可以填写流程workId,jobId, CMS的文档ID,或者自定义信息,数据保存时会先根据batchFlag做删除,然后再保存新的数据")
-	@Column(name = "xbatchFlag", length = JpaObject.length_id)
+	@Column( length = JpaObject.length_id, name = ColumnNamePrefix + batchFlag_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String batchFlag;
 	private String batchFlag;
 
 

+ 16 - 13
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceSetting.java

@@ -56,44 +56,47 @@ public class AttendanceSetting extends SliceJpaObject {
 	 * =============================================================================
 	 * =============================================================================
 	 * =====
 	 * =====
 	 */
 	 */
+	public static final String configCode_FIELDNAME = "configCode";
 	@FieldDescribe("配置编码")
 	@FieldDescribe("配置编码")
-	@Column(name = "xconfigCode", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + configCode_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String configCode;
 	private String configCode;
 
 
+	public static final String configName_FIELDNAME = "configName";
 	@FieldDescribe("配置名称")
 	@FieldDescribe("配置名称")
-	@Column(name = "xconfigName", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + configName_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String configName;
 	private String configName;
 
 
+	public static final String configValue_FIELDNAME = "configValue";
 	@FieldDescribe("配置内容")
 	@FieldDescribe("配置内容")
-	@Column(name = "xconfigValue", length = JpaObject.length_255B)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + configValue_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String configValue;
 	private String configValue;
 
 
+	public static final String valueType_FIELDNAME = "valueType";
 	@FieldDescribe("值类型: select | identity | number | date | text")
 	@FieldDescribe("值类型: select | identity | number | date | text")
-	@Column(name = "xvalueType", length = JpaObject.length_16B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + valueType_FIELDNAME )
 	private String valueType = null;
 	private String valueType = null;
 
 
+	public static final String selectContent_FIELDNAME = "selectContent";
 	@FieldDescribe("可选值,和select配合使用,以‘|’号分隔")
 	@FieldDescribe("可选值,和select配合使用,以‘|’号分隔")
-	@Column(name = "xselectContent", length = JpaObject.length_255B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + selectContent_FIELDNAME )
 	private String selectContent = "--无--";
 	private String selectContent = "--无--";
 
 
+	public static final String isMultiple_FIELDNAME = "isMultiple";
 	@FieldDescribe("是否可以多值")
 	@FieldDescribe("是否可以多值")
-	@Column(name = "xisMultiple")
-	@CheckPersist(allowEmpty = true)
+	@Column( name = ColumnNamePrefix + isMultiple_FIELDNAME )
 	private Boolean isMultiple = false;
 	private Boolean isMultiple = false;
 
 
+	public static final String orderNumber_FIELDNAME = "orderNumber";
 	@FieldDescribe("排序号")
 	@FieldDescribe("排序号")
-	@Column(name = "xorderNumber")
-	@CheckPersist(allowEmpty = true)
+	@Column( name = ColumnNamePrefix + orderNumber_FIELDNAME )
 	private Integer orderNumber = 1;
 	private Integer orderNumber = 1;
 
 
+	public static final String description_FIELDNAME = "description";
 	@FieldDescribe("备注说明")
 	@FieldDescribe("备注说明")
-	@Column(name = "xdescription", length = JpaObject.length_255B)
-	@CheckPersist(allowEmpty = true)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + description_FIELDNAME )
 	private String description = null;
 	private String description = null;
 
 
 	public String getConfigCode() {
 	public String getConfigCode() {

+ 18 - 9
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceStatisticRequireLog.java

@@ -61,51 +61,60 @@ public class AttendanceStatisticRequireLog extends SliceJpaObject {
 	 * =============================================================================
 	 * =============================================================================
 	 * =====
 	 * =====
 	 */
 	 */
+	public static final String statisticName_FIELDNAME = "statisticName";
 	@FieldDescribe("统计名称")
 	@FieldDescribe("统计名称")
-	@Column(name = "xstatisticName", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + statisticName_FIELDNAME )
 	@CheckPersist(allowEmpty = false)
 	@CheckPersist(allowEmpty = false)
 	private String statisticName = "";
 	private String statisticName = "";
 
 
+	public static final String statisticType_FIELDNAME = "statisticType";
 	@FieldDescribe("统计类型:PERSON_PER_MONTH|UNIT_PER_MONTH|TOPUNIT_PER_MONTH|UNIT_PER_DAY|TOPUNIT_PER_DAY")
 	@FieldDescribe("统计类型:PERSON_PER_MONTH|UNIT_PER_MONTH|TOPUNIT_PER_MONTH|UNIT_PER_DAY|TOPUNIT_PER_DAY")
-	@Column(name = "xstatisticType", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + statisticType_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String statisticType = "";
 	private String statisticType = "";
 
 
+	public static final String statisticKey_FIELDNAME = "statisticKey";
 	@FieldDescribe("统计键值")
 	@FieldDescribe("统计键值")
-	@Column(name = "xstatisticKey", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + statisticKey_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String statisticKey = "";
 	private String statisticKey = "";
 
 
+	public static final String statisticYear_FIELDNAME = "statisticYear";
 	@FieldDescribe("统计年月")
 	@FieldDescribe("统计年月")
-	@Column(name = "xstatisticYear", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + statisticYear_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String statisticYear = "";
 	private String statisticYear = "";
 
 
+	public static final String statisticMonth_FIELDNAME = "statisticMonth";
 	@FieldDescribe("统计月份")
 	@FieldDescribe("统计月份")
-	@Column(name = "xstatisticMonth", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + statisticMonth_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String statisticMonth = "";
 	private String statisticMonth = "";
 
 
+	public static final String statisticDay_FIELDNAME = "statisticDay";
 	@FieldDescribe("统计日期")
 	@FieldDescribe("统计日期")
-	@Column(name = "xstatisticDay", length = JpaObject.length_96B)
+	@Column( length = JpaObject.length_96B, name = ColumnNamePrefix + statisticDay_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String statisticDay = "";
 	private String statisticDay = "";
 
 
+	public static final String processTime_FIELDNAME = "processTime";
 	@FieldDescribe("处理时间")
 	@FieldDescribe("处理时间")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xprocessTime")
+	@Column( name = ColumnNamePrefix + processTime_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private Date processTime = null;
 	private Date processTime = null;
 
 
+	public static final String processStatus_FIELDNAME = "processStatus";
 	@FieldDescribe("处理状态")
 	@FieldDescribe("处理状态")
-	@Column(name = "xprocessStatus")
+	@Column( name = ColumnNamePrefix + processStatus_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String processStatus = "WAITING";
 	private String processStatus = "WAITING";
 
 
+	public static final String description_FIELDNAME = "description";
 	@Lob
 	@Lob
 	@Basic(fetch = FetchType.EAGER)
 	@Basic(fetch = FetchType.EAGER)
 	@FieldDescribe("说明备注")
 	@FieldDescribe("说明备注")
-	@Column(name = "xdescription", length = JpaObject.length_2K)
+	@Column( length = JpaObject.length_2K, name = ColumnNamePrefix + description_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String description = "";
 	private String description = "";
 
 

+ 18 - 9
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceStatisticalCycle.java

@@ -62,50 +62,59 @@ public class AttendanceStatisticalCycle extends SliceJpaObject {
 	 * =============================================================================
 	 * =============================================================================
 	 * =====
 	 * =====
 	 */
 	 */
+	public static final String topUnitName_FIELDNAME = "topUnitName";
 	@FieldDescribe("顶层组织名称")
 	@FieldDescribe("顶层组织名称")
-	@Column(name = "xtopUnitName", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + topUnitName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String topUnitName;
 	private String topUnitName;
 
 
+	public static final String unitName_FIELDNAME = "unitName";
 	@FieldDescribe("组织名称")
 	@FieldDescribe("组织名称")
-	@Column(name = "xunitName", length = AbstractPersistenceProperties.organization_name_length)
+	@Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + unitName_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String unitName;
 	private String unitName;
 
 
+	public static final String cycleYear_FIELDNAME = "cycleYear";
 	@FieldDescribe("统计周期年份")
 	@FieldDescribe("统计周期年份")
-	@Column(name = "xcycleYear", length = JpaObject.length_16B)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + cycleYear_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String cycleYear;
 	private String cycleYear;
 
 
+	public static final String cycleMonth_FIELDNAME = "cycleMonth";
 	@FieldDescribe("统计周期月份")
 	@FieldDescribe("统计周期月份")
-	@Column(name = "xcycleMonth", length = JpaObject.length_16B)
+	@Column( length = JpaObject.length_16B, name = ColumnNamePrefix + cycleMonth_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String cycleMonth;
 	private String cycleMonth;
 
 
+	public static final String cycleStartDateString_FIELDNAME = "cycleStartDateString";
 	@FieldDescribe("月周期开始日期")
 	@FieldDescribe("月周期开始日期")
-	@Column(name = "xcycleStartDateString", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + cycleStartDateString_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String cycleStartDateString;
 	private String cycleStartDateString;
 
 
+	public static final String cycleEndDateString_FIELDNAME = "cycleEndDateString";
 	@FieldDescribe("月周期结束日期")
 	@FieldDescribe("月周期结束日期")
-	@Column(name = "xcycleEndDateString", length = JpaObject.length_32B)
+	@Column( length = JpaObject.length_32B, name = ColumnNamePrefix + cycleEndDateString_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String cycleEndDateString;
 	private String cycleEndDateString;
 
 
+	public static final String cycleStartDate_FIELDNAME = "cycleStartDate";
 	@FieldDescribe("月周期开始日期")
 	@FieldDescribe("月周期开始日期")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xcycleStartDate")
+	@Column( name = ColumnNamePrefix + cycleStartDate_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private Date cycleStartDate;
 	private Date cycleStartDate;
 
 
+	public static final String cycleEndDate_FIELDNAME = "cycleEndDate";
 	@FieldDescribe("月周期结束日期")
 	@FieldDescribe("月周期结束日期")
 	@Temporal(TemporalType.TIMESTAMP)
 	@Temporal(TemporalType.TIMESTAMP)
-	@Column(name = "xcycleEndDate")
+	@Column( name = ColumnNamePrefix + cycleEndDate_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private Date cycleEndDate;
 	private Date cycleEndDate;
 
 
+	public static final String description_FIELDNAME = "description";
 	@FieldDescribe("说明备注")
 	@FieldDescribe("说明备注")
-	@Column(name = "xdescription", length = JpaObject.length_255B)
+	@Column( length = JpaObject.length_255B, name = ColumnNamePrefix + description_FIELDNAME )
 	@CheckPersist(allowEmpty = true)
 	@CheckPersist(allowEmpty = true)
 	private String description;
 	private String description;
 
 

+ 4 - 0
o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/PersistenceProperties.java

@@ -30,6 +30,10 @@ public final class PersistenceProperties extends AbstractPersistenceProperties {
 	public static class AttendanceAppealInfo{
 	public static class AttendanceAppealInfo{
 		public static final String table = "ATDC_ATTENDANCE_APPEALINFO";
 		public static final String table = "ATDC_ATTENDANCE_APPEALINFO";
 	}
 	}
+
+	public static class AttendanceAppealAuditInfo{
+		public static final String table = "ATDC_ATTENDANCE_APPEALAUDITINFO";
+	}
 	
 	
 	public static class AttendanceSetting {
 	public static class AttendanceSetting {
 		public static final String table = "ATDC_ATTENDANCE_SETTING";
 		public static final String table = "ATDC_ATTENDANCE_SETTING";