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