From 363d18cb031bdd37279f4a1169e679b2d270a207 Mon Sep 17 00:00:00 2001
From: lal <lalqqhy@163.com>
Date: Tue, 30 Jun 2020 17:22:25 +0800
Subject: [PATCH] 提交

---
 src/main/java/cn/timer/api/controller/kqgl/ClockInTool.java             | 15 ++++++++++++++-
 src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java      | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/cn/timer/api/controller/kqgl/service/KqglServiceImpl.java | 10 ++++++----
 3 files changed, 89 insertions(+), 5 deletions(-)

diff --git a/src/main/java/cn/timer/api/controller/kqgl/ClockInTool.java b/src/main/java/cn/timer/api/controller/kqgl/ClockInTool.java
index 537ac38..7d60864 100644
--- a/src/main/java/cn/timer/api/controller/kqgl/ClockInTool.java
+++ b/src/main/java/cn/timer/api/controller/kqgl/ClockInTool.java
@@ -657,6 +657,19 @@ public class ClockInTool {
         res = simpleDateFormat.format(date);
         return res;
     }
-
+    
+    public static String Str_Time_formatting(String str,String Format) {
+    	SimpleDateFormat sdf = new SimpleDateFormat(Format);
+	       
+//        String str = "2020-06-30 12:30:35"; // 把带时分秒的 date 转为 yyyy-MM-dd 格式的字符串
+    	Date date2 = null;
+        try {
+            date2 = sdf.parse(str); // 把上面的字符串解析为日期类型
+//            System.out.println(sdf.format(date2));
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return sdf.format(date2);
+    }
 
 }
diff --git a/src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java b/src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java
index 7177794..0f3aed9 100644
--- a/src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java
+++ b/src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java
@@ -3322,4 +3322,73 @@ public class TimeCardController {
 		return ResultUtil.data(msg, "操作成功!");
 	}
 	
+	
+	
+	@GetMapping(value="/overtime_verification/{workovertimetype}/{starttime}/{endtime}")
+	@ApiOperation(value = "加班验证", httpMethod = "GET", notes = "接口发布说明")
+	public Result<Object> Overtime_verification(@CurrentUser UserBean userBean,@PathVariable("workovertimetype") Integer workovertimetype,
+			@PathVariable("starttime") String starttime,@PathVariable("endtime") String endtime) {
+		
+		String msg = "";
+		//workovertimetype:1=工作日加班  2=休息日加班 3=节假日加班
+		Integer ending = 0;
+		String starttime_ = ClockInTool.Str_Time_formatting(starttime,"yyyy-MM-dd");
+		String endtime_ = ClockInTool.Str_Time_formatting(endtime,"yyyy-MM-dd");
+		
+		if((starttime_).equals(endtime_)) {
+			try {
+				AttendanceCardListDto attdate = MethodCall(userBean.getOrgCode(),userBean.getEmpNum(),starttime_);//获取当天所打卡班次
+				List<AttSchedule> ashss = attdate.getAttsch();//获取今天应打卡时间
+	    		if(EmptyUtil.isNotEmpty(attdate.getAttsch())) {//班次不为空
+	    			if(ashss.get(0).getId() != 0) {
+	    				//工作日
+	    				ending = 1;
+	    			}else {
+	    				//休息
+	    				ending = 2;
+	    			}
+	    		}else {
+	    			//未排班
+	    			ending = 99;
+	    		}
+			} catch (ParseException e) {
+				e.printStackTrace();
+			}
+			
+		}else {//不同日期
+			try {
+				AttendanceCardListDto attdateone = MethodCall(userBean.getOrgCode(),userBean.getEmpNum(),starttime_);//获取当天所打卡班次
+				AttendanceCardListDto attdatetwo = MethodCall(userBean.getOrgCode(),userBean.getEmpNum(),endtime_);//获取当天所打卡班次
+				List<AttSchedule> ashone = attdateone.getAttsch();//获取今天应打卡时间
+				List<AttSchedule> ashtwo = attdatetwo.getAttsch();//获取今天应打卡时间
+				if(EmptyUtil.isNotEmpty(attdateone.getAttsch()) && EmptyUtil.isNotEmpty(attdatetwo.getAttsch())) {//班次不为空
+					if(ashone.get(0).getId() != 0 && ashtwo.get(0).getId() != 0) {
+	    				//工作日
+	    				ending = 1;
+	    			}else {
+	    				//休息
+	    				ending = 2;
+	    			}
+				}else {
+					//未排班
+	    			ending = 99;
+				}
+			} catch (ParseException e) {
+				e.printStackTrace();
+			}
+		}
+		
+		if(ending != workovertimetype) {
+			//所选日期范围与加班类型不匹配,请重新选择
+			msg = "所选日期范围与加班类型不匹配,请重新选择";
+		}
+		
+		if(ending == 99) {
+			//所选日期范围暂无排班,请联系管理员
+			msg = "所选日期范围暂无排班,请联系管理员";
+		}
+		
+		return ResultUtil.data(msg,"操作成功!");
+	}
+	
 }
diff --git a/src/main/java/cn/timer/api/controller/kqgl/service/KqglServiceImpl.java b/src/main/java/cn/timer/api/controller/kqgl/service/KqglServiceImpl.java
index 655fb46..50cdaef 100644
--- a/src/main/java/cn/timer/api/controller/kqgl/service/KqglServiceImpl.java
+++ b/src/main/java/cn/timer/api/controller/kqgl/service/KqglServiceImpl.java
@@ -213,11 +213,13 @@ public class KqglServiceImpl implements KqglService {
 					BigDecimal num4 = new BigDecimal(time3);
 					double shift_duration = ClockInTool.round(num3.add(num4).doubleValue());//班次时长
 					
-					BigDecimal num5 = new BigDecimal(duration);
-					BigDecimal num6 = new BigDecimal(shift_duration);
+					if(shift_duration > 0) {
+						BigDecimal num5 = new BigDecimal(duration);
+						BigDecimal num6 = new BigDecimal(shift_duration);
 
-					//加班时长/班次的工作时长=调休天数
-					duration = num5.divide(num6,2,BigDecimal.ROUND_HALF_UP).doubleValue();
+						//加班时长/班次的工作时长=调休天数
+						duration = num5.divide(num6,2,BigDecimal.ROUND_HALF_UP).doubleValue();
+					}
 					
 				} catch (ParseException e) {
 					e.printStackTrace();
--
libgit2 0.26.0