diff --git a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/factory/AttendanceSelfHolidayFactory.java b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/factory/AttendanceSelfHolidayFactory.java index 94cc02d544d985302c7b8952499483e63a4a5bea..7b5da5fd84f85c8784ed43451669bc84495a828d 100644 --- a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/factory/AttendanceSelfHolidayFactory.java +++ b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/factory/AttendanceSelfHolidayFactory.java @@ -66,27 +66,40 @@ public class AttendanceSelfHolidayFactory extends AbstractFactory { return em.createQuery(cq.where(p)).getResultList(); } - //@MethodDescribe("列示单个员工的AttendanceSelfHoliday信息列表") - public List getByEmployeeName(String empName) throws Exception { + public List listIdsWithBatchFlag( String batchFlag ) throws Exception { + if( StringUtils.isEmpty( batchFlag )){ + return null; + } EntityManager em = this.entityManagerContainer().get(AttendanceSelfHoliday.class); CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery cq = cb.createQuery(String.class); - Root root = cq.from( AttendanceSelfHoliday.class); - Predicate p = root.get(AttendanceSelfHoliday_.employeeName).in( empName ); + Root root = cq.from(AttendanceSelfHoliday.class); + Predicate p = cb.equal( root.get(AttendanceSelfHoliday_.batchFlag), batchFlag ); cq.select(root.get(AttendanceSelfHoliday_.id)); return em.createQuery(cq.where(p)).getResultList(); } - - //@MethodDescribe("根据流程的文档ID列示员工的AttendanceSelfHoliday信息列表") - public List getByWorkFlowDocId(String docId) throws Exception { + + //@MethodDescribe("列示单个员工的AttendanceSelfHoliday信息列表") + public List getByEmployeeName(String empName) throws Exception { EntityManager em = this.entityManagerContainer().get(AttendanceSelfHoliday.class); CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery cq = cb.createQuery(String.class); Root root = cq.from( AttendanceSelfHoliday.class); - Predicate p = cb.equal(root.get(AttendanceSelfHoliday_.docId), docId); + Predicate p = root.get(AttendanceSelfHoliday_.employeeName).in( empName ); cq.select(root.get(AttendanceSelfHoliday_.id)); return em.createQuery(cq.where(p)).getResultList(); } + + //@MethodDescribe("根据流程的文档ID列示员工的AttendanceSelfHoliday信息列表") +// public List getByWorkFlowDocId(String docId) throws Exception { +// EntityManager em = this.entityManagerContainer().get(AttendanceSelfHoliday.class); +// CriteriaBuilder cb = em.getCriteriaBuilder(); +// CriteriaQuery cq = cb.createQuery(String.class); +// Root root = cq.from( AttendanceSelfHoliday.class); +// Predicate p = cb.equal(root.get(AttendanceSelfHoliday_.docId), docId); +// cq.select(root.get(AttendanceSelfHoliday_.id)); +// return em.createQuery(cq.where(p)).getResultList(); +// } public List listByStartDateAndEndDate(Date startDate, Date endDate) throws Exception { EntityManager em = this.entityManagerContainer().get(AttendanceSelfHoliday.class); @@ -219,9 +232,6 @@ public class AttendanceSelfHolidayFactory extends AbstractFactory { /** * 查询符合的文档信息总数 - * @param id - * @param count - * @param sequence * @param wrapIn * @return * @throws Exception diff --git a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/ActionReciveAttendance.java b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/ActionReciveAttendance.java index 9dd24396a44eb5767f74e9036edd6bde2e0cae80..3245e2f6958272abaac0ab1f1104dfc74ca7e88e 100644 --- a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/ActionReciveAttendance.java +++ b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/ActionReciveAttendance.java @@ -4,6 +4,7 @@ import java.util.Date; import java.util.List; import java.util.Map; +import javax.persistence.Column; import javax.servlet.http.HttpServletRequest; import com.google.gson.JsonElement; @@ -15,6 +16,9 @@ import com.x.attendance.entity.AttendanceScheduleSetting; import com.x.attendance.entity.AttendanceSelfHoliday; import com.x.attendance.entity.AttendanceStatisticalCycle; import com.x.attendance.entity.AttendanceWorkDayConfig; +import com.x.base.core.entity.JpaObject; +import com.x.base.core.entity.annotation.CheckPersist; +import com.x.base.core.project.annotation.FieldDescribe; import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.EffectivePerson; import com.x.base.core.project.jaxrs.WoId; @@ -186,16 +190,31 @@ public class ActionReciveAttendance extends BaseAction { public static class Wi { + @FieldDescribe( "员工标识,必填,员工的distinguishedName." ) private String empName = null; - + + @FieldDescribe( "员工号, 可以为空,默认为员工标识相同值." ) private String empNo = null; - + + @FieldDescribe( "打卡日期,格式yyyy-mm-dd,可以为空." ) private String recordDateString = null; - + + @FieldDescribe( "上午上班打卡时间,格式hh24:mi:ss,可以为空,为空就是未打卡." ) private String onDutyTime = null; - + + @FieldDescribe("上班下午打卡签退时间,打卡策略2和3时使用,格式hh24:mi:ss,可以为空,为空就是未打卡.") + private String morningOffdutyTime; + + @FieldDescribe("下午上班打卡签到时间,打卡策略2和3时使用,格式hh24:mi:ss,可以为空,为空就是未打卡.") + private String afternoonOnDutyTime; + + @FieldDescribe( "下午下班打卡时间,hh24:mi:ss,可以为空,为空就是未打卡." ) private String offDutyTime = null; - + + public String getMorningOffdutyTime() { return morningOffdutyTime; } + public void setMorningOffdutyTime(String morningOffdutyTime) { this.morningOffdutyTime = morningOffdutyTime; } + public String getAfternoonOnDutyTime() { return afternoonOnDutyTime; } + public void setAfternoonOnDutyTime(String afternoonOnDutyTime) { this.afternoonOnDutyTime = afternoonOnDutyTime; } public String getEmpName() { return empName; } diff --git a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/AttendanceDetailAction.java b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/AttendanceDetailAction.java index 02471bd1c3a14f68983b121028f65e8be1d08bd4..2c9a0fa37da5722ef5dc3fc1f458ca19b33c2d12 100644 --- a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/AttendanceDetailAction.java +++ b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/AttendanceDetailAction.java @@ -349,12 +349,10 @@ public class AttendanceDetailAction extends StandardJaxrsAction { } /** - * 打卡信息接入 1-员工姓名 EmployeeName 2-员工号 EmployeeNo 3-日期 RecordDateString 4-签到时间 - * OnDutyTime 5-签退时间 OffDutyTime - * + * 打卡信息接入 * @author liyi_ */ - @JaxrsMethodDescribe(value = "接入完成的上下班打卡信息记录,接入完成后直接分析", action = ActionReciveAttendance.class) + @JaxrsMethodDescribe(value = "接入完整的打卡信息记录,接入完成后直接分析", action = ActionReciveAttendance.class) @Path("recive") @POST @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) diff --git a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionDeleteByWfDocId.java b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionDeleteByWfDocId.java index d88b220fca0413192c5c88007d210d36b093a0b0..b7b40f1e146955a2346808073ae28473c08c4637 100644 --- a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionDeleteByWfDocId.java +++ b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionDeleteByWfDocId.java @@ -35,7 +35,7 @@ public class ActionDeleteByWfDocId extends BaseAction { try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { business = new Business(emc); // 先判断需要操作的应用信息是否存在,根据ID进行一次查询,如果不存在不允许继续操作 - ids = business.getAttendanceSelfHolidayFactory().getByWorkFlowDocId(wfDocId); + ids = business.getAttendanceSelfHolidayFactory().listIdsWithBatchFlag(wfDocId); if ( ListTools.isNotEmpty( ids ) ) { attendanceSelfHolidays = business.getAttendanceSelfHolidayFactory().list(ids); if (attendanceSelfHolidays != null && attendanceSelfHolidays.size() > 0) { diff --git a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionSave.java b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionSave.java index 3311e6d3d82d1ac2f3a880f80a5fd28ad571f4a2..80b19b692085a3405ddebd482d76ddd163754160 100644 --- a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionSave.java +++ b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/selfholiday/ActionSave.java @@ -7,16 +7,26 @@ import com.x.attendance.entity.AttendanceSelfHoliday; import com.x.attendance.entity.AttendanceStatisticalCycle; import com.x.base.core.container.EntityManagerContainer; import com.x.base.core.container.factory.EntityManagerContainerFactory; +import com.x.base.core.entity.AbstractPersistenceProperties; +import com.x.base.core.entity.JpaObject; +import com.x.base.core.entity.annotation.CheckPersist; import com.x.base.core.entity.annotation.CheckPersistType; import com.x.base.core.entity.annotation.CheckRemoveType; +import com.x.base.core.project.annotation.FieldDescribe; import com.x.base.core.project.cache.ApplicationCache; import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.EffectivePerson; import com.x.base.core.project.jaxrs.WoId; import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; +import com.x.base.core.project.organization.Person; +import com.x.base.core.project.organization.Unit; import com.x.base.core.project.tools.ListTools; import org.apache.commons.lang3.StringUtils; + +import javax.persistence.Column; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.List; @@ -46,6 +56,7 @@ public class ActionSave extends BaseAction { if( check ){ try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { + AttendanceSelfHoliday attendanceSelfHoliday = null; if( wrapIn != null && StringUtils.isNoneEmpty( wrapIn.getEmployeeName() ) @@ -54,6 +65,34 @@ public class ActionSave extends BaseAction { && wrapIn.getStartTime() != null && wrapIn.getEndTime() != null ){ + if( wrapIn.getEmployeeName().indexOf("@P") < 0 ){ + //不是DistinguishedName + if( wrapIn.getEmployeeName().indexOf("@I") > 0 ){ + wrapIn.setEmployeeName(userManagerService.getPersonNameByIdentity(wrapIn.getEmployeeName())); + }else{ + Person person = userManagerService.getPersonObjByName(wrapIn.getEmployeeName()); + if( person != null ){ + wrapIn.setEmployeeName( person.getDistinguishedName() ); + } + } + } + + //补充员工的组织信息 + Unit unit = userManagerService.getUnitWithPersonName( wrapIn.getEmployeeNumber() ); + Unit topUnit = null; + String unitName = null; + String unitOu = null; + String topUnitName = null; + String topUnitOu = null; + if( unit != null ){ + unitName = unit.getName(); + unitOu = unit.getDistinguishedName(); + topUnit = userManagerService.getTopUnitWithUnitName(unitOu); + } + if( topUnit != null ){ + topUnitName = topUnit.getName(); + topUnitOu = topUnit.getDistinguishedName(); + } emc.beginTransaction( AttendanceSelfHoliday.class ); //先根据batchFlag删除原来的数据,然后再进行新数据的保存 if(StringUtils.isNotEmpty( wrapIn.getBatchFlag() ) ){ @@ -67,7 +106,7 @@ public class ActionSave extends BaseAction { } } - if(StringUtils.isNotEmpty( wrapIn.getId() ) ){ + if( StringUtils.isNotEmpty( wrapIn.getId() ) ){ //根据ID查询信息是否存在,如果存在就update,如果不存在就create attendanceSelfHoliday = emc.find( wrapIn.getId(), AttendanceSelfHoliday.class ); if( attendanceSelfHoliday != null ){ @@ -75,6 +114,12 @@ public class ActionSave extends BaseAction { wrapIn.copyTo( attendanceSelfHoliday ); attendanceSelfHoliday.setBatchFlag(wrapIn.getBatchFlag()); logger.info("更新:gson.toJson( attendanceSelfHoliday ) = " + gson.toJson( attendanceSelfHoliday ) ); + + attendanceSelfHoliday.setUnitName( unitName ); + attendanceSelfHoliday.setUnitOu( unitOu ); + attendanceSelfHoliday.setTopUnitName( topUnitName ); + attendanceSelfHoliday.setTopUnitOu( topUnitOu ); + emc.check( attendanceSelfHoliday, CheckPersistType.all); }else{ attendanceSelfHoliday = new AttendanceSelfHoliday(); @@ -83,6 +128,12 @@ public class ActionSave extends BaseAction { attendanceSelfHoliday.setId( wrapIn.getId() ); attendanceSelfHoliday.setBatchFlag(wrapIn.getBatchFlag()); logger.info("新增:gson.toJson( attendanceSelfHoliday ) = " + gson.toJson( attendanceSelfHoliday ) ); + + attendanceSelfHoliday.setUnitName( unitName ); + attendanceSelfHoliday.setUnitOu( unitOu ); + attendanceSelfHoliday.setTopUnitName( topUnitName ); + attendanceSelfHoliday.setTopUnitOu( topUnitOu ); + emc.persist( attendanceSelfHoliday, CheckPersistType.all); } }else{ @@ -92,9 +143,16 @@ public class ActionSave extends BaseAction { wrapIn.copyTo( attendanceSelfHoliday ); attendanceSelfHoliday.setBatchFlag(wrapIn.getBatchFlag()); logger.debug("新增,无ID:gson.toJson( attendanceSelfHoliday ) = " + gson.toJson( attendanceSelfHoliday ) ); + + attendanceSelfHoliday.setUnitName( unitName ); + attendanceSelfHoliday.setUnitOu( unitOu ); + attendanceSelfHoliday.setTopUnitName( topUnitName ); + attendanceSelfHoliday.setTopUnitOu( topUnitOu ); + emc.persist( attendanceSelfHoliday, CheckPersistType.all); result.setData( new Wo( attendanceSelfHoliday.getId() ) ); } + emc.commit(); result.setData( new Wo( attendanceSelfHoliday.getId() ) ); @@ -137,8 +195,86 @@ public class ActionSave extends BaseAction { return result; } - public static class Wi extends AttendanceSelfHoliday { - private static final long serialVersionUID = -5076990764713538973L; + public static class Wi { + + @FieldDescribe("ID,如果ID已存在,则为更新") + private String id; + + @FieldDescribe("员工姓名:员工的标识,必填,员工的distinguishedName,如:张三@zhangsan@P") + private String employeeName; + + @FieldDescribe("员工号,如果没有员工号,可以使用员工标识代替,不可为空") + private String employeeNumber; + + @FieldDescribe("请假类型:带薪年休假|带薪病假|带薪福利假|扣薪事假|其他") + private String leaveType; + + @FieldDescribe("开始时间,必填: yyyy-mm-dd hh24:mi:ss") + private Date startTime; + + @FieldDescribe("结束时间,必填: yyyy-mm-dd hh24:mi:ss") + private Date endTime; + + @FieldDescribe("请假天数,必填") + private Double leaveDayNumber = 0.0; + + @FieldDescribe("请假说明") + private String description; + +// @FieldDescribe("流程WorkId") +// private String docId; + + @FieldDescribe("录入批次标识:可以填写流程workId,jobId, CMS的文档ID,或者自定义信息,数据保存时会先根据batchFlag做删除,然后再保存新的数据") + private String batchFlag; + + public String getId() { return id; } + + public void setId(String id) { this.id = id; } + + public String getEmployeeName() { return employeeName; } + + public void setEmployeeName(String employeeName) { this.employeeName = employeeName; } + + public String getEmployeeNumber() { return employeeNumber; } + + public void setEmployeeNumber(String employeeNumber) { this.employeeNumber = employeeNumber; } + + public String getLeaveType() { return leaveType; } + + public void setLeaveType(String leaveType) { this.leaveType = leaveType; } + + public Date getStartTime() { return startTime; } + + public void setStartTime(Date startTime) { this.startTime = startTime; } + + public Date getEndTime() { return endTime; } + + public void setEndTime(Date endTime) { this.endTime = endTime; } + + public Double getLeaveDayNumber() { return leaveDayNumber; } + + public void setLeaveDayNumber(Double leaveDayNumber) { this.leaveDayNumber = leaveDayNumber; } + + public String getDescription() { return description; } + + public void setDescription(String description) { this.description = description; } + + public String getBatchFlag() { return batchFlag; } + + public void setBatchFlag(String batchFlag) { this.batchFlag = batchFlag; } + + public void copyTo(AttendanceSelfHoliday attendanceSelfHoliday) { + attendanceSelfHoliday.setBatchFlag( this.batchFlag ); + attendanceSelfHoliday.setDescription( this.description ); +// attendanceSelfHoliday.setDocId( this.batchFlag ); + attendanceSelfHoliday.setEmployeeName( this.employeeName ); + attendanceSelfHoliday.setEmployeeNumber( this.employeeNumber ); + attendanceSelfHoliday.setStartTime( this.startTime ); + attendanceSelfHoliday.setEndTime( this.endTime ); + attendanceSelfHoliday.setLeaveDayNumber( this.leaveDayNumber ); + attendanceSelfHoliday.setLeaveType( this.leaveType ); + + } } public static class Wo extends WoId { diff --git a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceDetailAnalyseCoreService.java b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceDetailAnalyseCoreService.java index dfc9d2fe99d8d9b4684f716392a28195275a3bf7..9d181ecc33bca91e252f65b353b44a61eb4a09e0 100644 --- a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceDetailAnalyseCoreService.java +++ b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceDetailAnalyseCoreService.java @@ -265,7 +265,7 @@ class AttendanceDetailAnalyseCoreService { */ static Date getOffDutyTimeFromDetail(AttendanceDetail detail, Boolean debugger) { try { - if( StringUtils.isEmpty( detail.getOnDutyTime() ) ){ + if( StringUtils.isEmpty( detail.getOffDutyTime() ) ){ logger.debug( debugger, "offDutyTime " ); }else{ logger.debug( debugger, "offDutyTime=" + detail.getRecordDateString() + " " + detail.getOffDutyTime() ); diff --git a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/UserManagerService.java b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/UserManagerService.java index 20b7929ff01c39687f03103f9fa35dc6a5328958..7754ac9fdd26292d2cee52e7824512f6708061dc 100644 --- a/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/UserManagerService.java +++ b/o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/UserManagerService.java @@ -58,6 +58,32 @@ public class UserManagerService { } return result; } + + public Unit getUnitWithPersonName( String personName ) throws Exception{ + List unitNames = null; + Business business = null; + Integer level = 0; + Unit result = null; + Unit unit = null; + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { + business = new Business(emc); + unitNames = business.organization().unit().listWithPerson( personName ); + if( ListTools.isNotEmpty( unitNames ) ) { + for( String unitName : unitNames ) { + if( StringUtils.isNotEmpty( unitName ) && !"null".equals( unitName ) ) { + unit = business.organization().unit().getObject( unitName ); + if( level < unit.getLevel() ) { + level = unit.getLevel(); + result = unit; + } + } + } + } + } catch ( Exception e ) { + throw e; + } + return unit; + } /** * 根据身份名称获取组织名称 @@ -100,7 +126,7 @@ public class UserManagerService { /** * 检查组织名称是否有效 - * @param name + * @param unitName * @return * @throws Exception */ @@ -213,7 +239,7 @@ public class UserManagerService { /** * 根据组织名称获取顶层组织名称(递归) - * @param organizationName + * @param unitName * @return * @throws Exception */ @@ -246,6 +272,35 @@ public class UserManagerService { } } + public Unit getTopUnitWithUnitName( String unitName ) throws Exception{ + Unit currentUnit = null; + Unit parentUnit = null; + String parentUnitName = null; + Business business = null; + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { + business = new Business(emc); + currentUnit = business.organization().unit().getObject( unitName ); + if( currentUnit != null ) { + parentUnitName = currentUnit.getSuperior(); + if( StringUtils.isNotEmpty( parentUnitName ) && !"0".equals( parentUnitName ) ) { + try { + parentUnit = business.organization().unit().getObject( parentUnitName ); + }catch( NullPointerException e ) { + } + } + if( parentUnit == null ) { + return currentUnit; + }else { + return getTopUnitWithUnitName( parentUnit.getDistinguishedName() ); + } + }else { + throw new Exception("unit is not exists:" + unitName); + } + } catch ( Exception e ) { + throw e; + } + } + /** * 根据上级组织名称获取所有下级组织名称列表 * @param parentUnitName diff --git a/o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceSelfHoliday.java b/o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceSelfHoliday.java index bbe4340e9d8b425ee283e7f8782ea1987d1d1fb7..bbc43c6ae42a9d6449e65e4521b434e3942cc493 100644 --- a/o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceSelfHoliday.java +++ b/o2server/x_attendance_core_entity/src/main/java/com/x/attendance/entity/AttendanceSelfHoliday.java @@ -49,11 +49,11 @@ public class AttendanceSelfHoliday extends SliceJpaObject { * ============================================================================= * ===== */ - public static final String docId_FIELDNAME = "docId"; - @FieldDescribe("流程WorkId") - @Column( length = JpaObject.length_id, name = ColumnNamePrefix + docId_FIELDNAME ) - @CheckPersist(allowEmpty = true) - private String docId; +// public static final String docId_FIELDNAME = "docId"; +// @FieldDescribe("流程WorkId") +// @Column( length = JpaObject.length_id, name = ColumnNamePrefix + docId_FIELDNAME ) +// @CheckPersist(allowEmpty = true) +// private String docId; public static final String topUnitName_FIELDNAME = "topUnitName"; @FieldDescribe("顶层组织名称") @@ -80,14 +80,14 @@ public class AttendanceSelfHoliday extends SliceJpaObject { private String unitOu; public static final String employeeName_FIELDNAME = "employeeName"; - @FieldDescribe("员工姓名") - @Column( length = JpaObject.length_96B, name = ColumnNamePrefix + employeeName_FIELDNAME ) + @FieldDescribe("员工姓名:员工的标识,distinguishedName") + @Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + employeeName_FIELDNAME ) @CheckPersist(allowEmpty = false) private String employeeName; public static final String employeeNumber_FIELDNAME = "employeeNumber"; - @FieldDescribe("员工号") - @Column( length = JpaObject.length_32B, name = ColumnNamePrefix + employeeNumber_FIELDNAME ) + @FieldDescribe("员工号,如果没有员工号,可以使用员工标识代替,不可为空") + @Column( length = AbstractPersistenceProperties.organization_name_length, name = ColumnNamePrefix + employeeNumber_FIELDNAME ) @CheckPersist(allowEmpty = true) private String employeeNumber; @@ -220,13 +220,13 @@ public class AttendanceSelfHoliday extends SliceJpaObject { public void setDescription(String description) { this.description = description; } - - public String getDocId() { - return docId; - } - - public void setDocId(String docId) { - this.docId = docId; - } +// +// public String getDocId() { +// return docId; +// } +// +// public void setDocId(String docId) { +// this.docId = docId; +// } } \ No newline at end of file