浏览代码

加班打卡

zhengqiang 4 年之前
父节点
当前提交
014c500ac8

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/base/entity/WorkOver.java

@@ -36,7 +36,7 @@ public class WorkOver {
     private String procinstId;
     @ApiModelProperty(value = "类型(1:个人申请,2:批量申请)")
     private String type;
-    @ApiModelProperty(value = "状态(0:待处理,1:同意,2:退回,3:拒绝)")
+    @ApiModelProperty(value = "审核状态(0:审核中,1:同意,2:退回,3:拒绝,4:无需审核,6:已撤销)")
     private String status;
     @ApiModelProperty(value = "审批人id")
     private String approvalPersonPopedomId;

+ 28 - 24
common/src/main/java/com/jpsoft/shinestar/modules/base/service/impl/WorkOverServiceImpl.java

@@ -461,36 +461,40 @@ public class WorkOverServiceImpl implements WorkOverService {
 		try {
 			//查询当前打卡时间是否在加班时段内
 			WorkOverPerson workOverPerson = workOverPersonService.findByPersonIdAndOffsetMinute(personId, recordTime, -60, 60);
-			WorkOver workOver = workOverService.get(workOverPerson.getWorkOverId());
-
-			//记录加班人员加班完成时间
-			if (workOverPerson != null && workOver != null && "1".equals(workOver.getStatus())) {
-				if (workOverPerson.getBeginTime() == null) {
-					workOverPerson.setBeginTime(recordTime);
-				} else if (recordTime.before(workOverPerson.getBeginTime())) {
-					workOverPerson.setBeginTime(recordTime);
-				}
 
-				if (workOverPerson.getFinishTime() == null) {
-					workOverPerson.setFinishTime(recordTime);
-				} else if (recordTime.after(workOverPerson.getFinishTime())) {
-					workOverPerson.setFinishTime(recordTime);
-				}
+			if(workOverPerson!=null) {
+				WorkOver workOver = workOverService.get(workOverPerson.getWorkOverId());
+
+				//记录加班人员加班完成时间
+				if (workOverPerson != null && workOver != null) {
+					if (workOverPerson.getBeginTime() == null) {
+						workOverPerson.setBeginTime(recordTime);
+					} else {
+						if (recordTime.before(workOverPerson.getBeginTime())) {
+							workOverPerson.setBeginTime(recordTime);
+						}
+						if (workOverPerson.getFinishTime() == null) {
+							workOverPerson.setFinishTime(recordTime);
+						} else if (recordTime.after(workOverPerson.getFinishTime())) {
+							workOverPerson.setFinishTime(recordTime);
+						}
+					}
 
-				if (workOverPerson.getBeginTime() != null && workOverPerson.getFinishTime() != null) {
-					int minutes = (int) Minutes.minutesBetween(new DateTime(workOverPerson.getBeginTime()), new DateTime(workOverPerson.getFinishTime())).getMinutes();
-					workOverPerson.setDuration(minutes);
+					if (workOverPerson.getBeginTime() != null && workOverPerson.getFinishTime() != null) {
+						int minutes = (int) Minutes.minutesBetween(new DateTime(workOverPerson.getBeginTime()), new DateTime(workOverPerson.getFinishTime())).getMinutes();
+						workOverPerson.setDuration(minutes);
 
-					int intHours = minutes / 60;
-					int intMinutes = minutes % 60;
-					workOverPerson.setDurationStr(intHours + "小时" + intMinutes + "分钟");
+						int intHours = minutes / 60;
+						int intMinutes = minutes % 60;
+						workOverPerson.setDurationStr(intHours + "小时" + intMinutes + "分钟");
+					}
+
+					workOverPerson.setUpdateTime(new Date());
+					workOverPersonService.update(workOverPerson);
 				}
 
-				workOverPerson.setUpdateTime(new Date());
-				workOverPersonService.update(workOverPerson);
+				result = true;
 			}
-
-			result  = true;
 		}
 		catch (Exception ex){
 			result = false;

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/WorkScheduleAttendanceServiceImpl.java

@@ -475,7 +475,7 @@ public class WorkScheduleAttendanceServiceImpl implements WorkScheduleAttendance
         }
 
         if (workEndShift != null) {
-            //记录加班人员加班完成时间
+            //记录加班人员加班完成时间->改在加班打卡逻辑中执行
 //            if(workOverPerson!=null && workOver!=null && "1".equals(workOver.getStatus())){
 //                workOverPerson.setUpdateTime(recordTime);
 //                workOverPerson.setFinishTime(recordTime);

+ 1 - 1
common/src/main/resources/mapper/base/WorkOverPerson.xml

@@ -85,7 +85,7 @@
                 duration_=#{duration,jdbcType=INTEGER },
             </if>
             <if test="durationStr!=null">
-                duration_str=#{durationStr,jdbcType=VARCHAR }
+                duration_str=#{durationStr,jdbcType=VARCHAR },
             </if>
             <if test="beginTime!=null">
                 begin_time=#{beginTime,jdbcType= TIMESTAMP },