wuxw лет назад: 3
Родитель
Сommit
1c53c34888

+ 23 - 0
java110-bean/src/main/java/com/java110/dto/attendanceClasses/AttendanceClassesTaskDetailDto.java

@@ -19,6 +19,9 @@ public class AttendanceClassesTaskDetailDto extends PageDto implements Serializa
     public static final String STATE_REPLENISH = "70000";//补考勤
     public static final String STATE_WAIT = "10000";//补考勤
 
+    public static final String SPEC_CD_START = "1001" ;//上班时间
+    public static final String SPEC_CD_END = "2002" ;//上班时间
+
     private String checkTime;
     private String detailId;
     private String specCd;
@@ -42,6 +45,10 @@ public class AttendanceClassesTaskDetailDto extends PageDto implements Serializa
     private String statusCd = "0";
 
 
+    private String leaveValue;
+    private String lateValue;
+
+
     public String getCheckTime() {
         return checkTime;
     }
@@ -162,4 +169,20 @@ public class AttendanceClassesTaskDetailDto extends PageDto implements Serializa
     public void setStates(String[] states) {
         this.states = states;
     }
+
+    public String getLeaveValue() {
+        return leaveValue;
+    }
+
+    public void setLeaveValue(String leaveValue) {
+        this.leaveValue = leaveValue;
+    }
+
+    public String getLateValue() {
+        return lateValue;
+    }
+
+    public void setLateValue(String lateValue) {
+        this.lateValue = lateValue;
+    }
 }

+ 17 - 0
java110-bean/src/main/java/com/java110/po/attendanceClassesTaskDetail/AttendanceClassesTaskDetailPo.java

@@ -14,6 +14,8 @@ public class AttendanceClassesTaskDetailPo implements Serializable {
     private String state;
     private String storeId;
     private String value;
+    private String leaveValue;
+    private String lateValue;
     private String taskId;
 
 
@@ -98,4 +100,19 @@ public class AttendanceClassesTaskDetailPo implements Serializable {
         this.taskId = taskId;
     }
 
+    public String getLeaveValue() {
+        return leaveValue;
+    }
+
+    public void setLeaveValue(String leaveValue) {
+        this.leaveValue = leaveValue;
+    }
+
+    public String getLateValue() {
+        return lateValue;
+    }
+
+    public void setLateValue(String lateValue) {
+        this.lateValue = lateValue;
+    }
 }

+ 9 - 3
java110-db/src/main/resources/mapper/common/AttendanceClassesTaskDetailServiceDaoImplMapper.xml

@@ -8,9 +8,9 @@
     <!-- 保存考勤任务明细信息 add by wuxw 2018-07-03 -->
     <insert id="saveAttendanceClassesTaskDetailInfo" parameterType="Map">
         insert into attendance_classes_task_detail(
-        check_time,detail_id,spec_cd,remark,face_path,state,store_id,value,task_id
+        check_time,detail_id,spec_cd,remark,face_path,state,store_id,value,task_id,leave_value,late_value
         ) values (
-        #{checkTime},#{detailId},#{specCd},#{remark},#{facePath},#{state},#{storeId},#{value},#{taskId}
+        #{checkTime},#{detailId},#{specCd},#{remark},#{facePath},#{state},#{storeId},#{value},#{taskId},#{leaveValue},#{lateValue}
         )
     </insert>
 
@@ -19,7 +19,7 @@
     <select id="getAttendanceClassesTaskDetailInfo" parameterType="Map" resultType="Map">
         select t.check_time,t.check_time checkTime,t.detail_id,t.detail_id detailId,t.spec_cd,t.spec_cd
         specCd,t.status_cd,t.status_cd statusCd,t.remark,t.face_path,t.face_path facePath,t.state,t.store_id,t.store_id
-        storeId,t.value,t.task_id,t.task_id taskId,td.`name` specName,td1.name stateName
+        storeId,t.value,t.task_id,t.task_id taskId,td.`name` specName,td1.name stateName,t.leave_value leaveValue,t.late_value lateValue
         from attendance_classes_task_detail t
         left join t_dict td on t.spec_cd = td.status_cd and td.table_name = 'attendance_classes_attr' and td.table_columns = 'spec_cd'
         left join t_dict td1 on t.state = td1.status_cd and td1.table_name = 'attendance_classes_task_detail' and td1.table_columns = 'state'
@@ -95,6 +95,12 @@
         <if test="value !=null and value != ''">
             , t.value= #{value}
         </if>
+        <if test="leaveValue !=null and leaveValue != ''">
+            , t.leave_value= #{leaveValue}
+        </if>
+        <if test="lateValue !=null and lateValue != ''">
+            , t.late_value= #{lateValue}
+        </if>
         <if test="taskId !=null and taskId != ''">
             , t.task_id= #{taskId}
         </if>

+ 36 - 2
service-job/src/main/java/com/java110/job/task/attendance/GeneratorAttendanceTaskTemplate.java

@@ -204,11 +204,31 @@ public class GeneratorAttendanceTaskTemplate extends TaskSystemQuartz {
         String endTimeStr = tmpScheduleClassesTimeDto.getEndTime();
 
 
+        //
+        //alter table attendance_classes_task_detail add COLUMN leave_value varchar(12) not null comment '正常或者早退时间,spec_cd 1001 是正常考勤 2002 是早退时间';
+        //
+        //alter table attendance_classes_task_detail add COLUMN late_value varchar(12) not null comment '正常或者早退时间,spec_cd 1001 是迟到 2002 是正常时间';
+
+        String value = curDate + " " + startTimeStr + ":00";
+        Date valueDate = DateUtil.getDateFromStringA(value);
+
+        int timeOffset = Integer.parseInt(tmpAttendanceClassesDto.getTimeOffset());
+
         AttendanceClassesTaskDetailPo attendanceClassesTaskDetailPo = new AttendanceClassesTaskDetailPo();
         attendanceClassesTaskDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId("12"));
         attendanceClassesTaskDetailPo.setTaskId(attendanceClassesTaskPo.getTaskId());
-        attendanceClassesTaskDetailPo.setSpecCd("1001");
+        attendanceClassesTaskDetailPo.setSpecCd(AttendanceClassesTaskDetailDto.SPEC_CD_START);
         attendanceClassesTaskDetailPo.setValue(curDate + " " + startTimeStr + ":00");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(valueDate);
+        calendar.add(Calendar.MINUTE,timeOffset * -1);
+        attendanceClassesTaskDetailPo.setLeaveValue(DateUtil.getFormatTimeString(calendar.getTime(),DateUtil.DATE_FORMATE_STRING_A));
+
+        int lateOffset = Integer.parseInt(tmpAttendanceClassesDto.getLateOffset());
+        calendar = Calendar.getInstance();
+        calendar.setTime(valueDate);
+        calendar.add(Calendar.MINUTE,lateOffset);
+        attendanceClassesTaskDetailPo.setLateValue(DateUtil.getFormatTimeString(calendar.getTime(),DateUtil.DATE_FORMATE_STRING_A));
         attendanceClassesTaskDetailPo.setState(AttendanceClassesTaskDetailDto.STATE_WAIT);
         attendanceClassesTaskDetailPo.setStoreId(tmpStoreDto.getStoreId());
 
@@ -218,11 +238,25 @@ public class GeneratorAttendanceTaskTemplate extends TaskSystemQuartz {
             throw new IllegalArgumentException("保存考勤任务失败");
         }
 
+        value = curDate + " " + endTimeStr + ":00";
+        valueDate = DateUtil.getDateFromStringA(value);
+
+        int leaveOffset = Integer.parseInt(tmpAttendanceClassesDto.getLeaveOffset());
+
         attendanceClassesTaskDetailPo = new AttendanceClassesTaskDetailPo();
         attendanceClassesTaskDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId("12"));
         attendanceClassesTaskDetailPo.setTaskId(attendanceClassesTaskPo.getTaskId());
-        attendanceClassesTaskDetailPo.setSpecCd("2002");
+        attendanceClassesTaskDetailPo.setSpecCd(AttendanceClassesTaskDetailDto.SPEC_CD_END);
         attendanceClassesTaskDetailPo.setValue(curDate + " " + endTimeStr + ":00");
+
+        calendar = Calendar.getInstance();
+        calendar.setTime(valueDate);
+        calendar.add(Calendar.MINUTE,leaveOffset * -1);
+        attendanceClassesTaskDetailPo.setLeaveValue(DateUtil.getFormatTimeString(calendar.getTime(),DateUtil.DATE_FORMATE_STRING_A));
+        calendar = Calendar.getInstance();
+        calendar.setTime(valueDate);
+        calendar.add(Calendar.MINUTE,timeOffset);
+        attendanceClassesTaskDetailPo.setLateValue(DateUtil.getFormatTimeString(calendar.getTime(),DateUtil.DATE_FORMATE_STRING_A));
         attendanceClassesTaskDetailPo.setState(AttendanceClassesTaskDetailDto.STATE_WAIT);
         attendanceClassesTaskDetailPo.setStoreId(tmpStoreDto.getStoreId());