这个人这天的班次有没有设置休息时长,设置了的扣1小时再向下取整,没有设置休息时长的,不扣减1小时,直接向下取整

东方骏驰
Chengliang 1 year ago
parent 939758db45
commit 5b4ff6612e

@ -0,0 +1,37 @@
<%@ page import="com.engine.kq.entity.WorkTimeEntity" %>
<%@ page import="com.weaver.general.Util" %>
<%@ page import="com.engine.kq.biz.KQWorkTime" %>
<%@ page import="org.apache.commons.lang3.StringUtils" %>
<%@ page import="com.engine.kq.biz.KQShiftManagementComInfo" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
String id = Util.null2String(request.getParameter("id"));
String gzrq = Util.null2String(request.getParameter("gzrq"));
KQWorkTime kqWorkTime = new KQWorkTime();
WorkTimeEntity workTimeEntity = kqWorkTime.getWorkTime(id, gzrq);
String serialId = workTimeEntity.getSerialId();
if (StringUtils.isBlank(serialId) || "-1".equals(serialId)) {
kqWorkTime.setIsFormat(true);
workTimeEntity = kqWorkTime.getWorkTime(id, gzrq);
serialId = workTimeEntity.getSerialId();
}
KQShiftManagementComInfo kqShiftManagementComInfo = new KQShiftManagementComInfo();
String isRestTimeOpen = kqShiftManagementComInfo.getIsresttimeopen(serialId);
//1表示开启
out.println(isRestTimeOpen);
%>

@ -3,6 +3,9 @@ package com.engine.kqsolution.service.impl;
import cn.hutool.core.thread.ThreadUtil;
import com.engine.core.impl.Service;
import com.engine.kq.biz.KQShiftManagementComInfo;
import com.engine.kq.biz.KQWorkTime;
import com.engine.kq.entity.WorkTimeEntity;
import com.engine.kqsolution.entity.CustomSignDataParam;
import com.engine.kqsolution.entity.SignDataPO;
import com.engine.kqsolution.entity.SignDataParams;
@ -81,16 +84,22 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma
signOutTime = signOutTime.substring(0,5);
}
Integer signMins = Util.getIntValue(Util.null2String(rs.getString("signMins")),0);
int resourceid = Util.getIntValue(rs.getString("resourceid"));
String kqdate = Util.null2String(rs.getString("kqdate"));
double hours = (double) signMins / 60;
double workHours;
if (hours <= 4.0) {
workHours = hours;
} else {
workHours = Math.floor(hours - 1.0);
workHours = Math.floor(hours);
String kqRestTime = checkKqRestTime(String.valueOf(resourceid), kqdate);
if ("1".equals(kqRestTime)) {
workHours = Math.floor(hours - 1.0);
}
}
SignDataPO build = SignDataPO.builder()
.resourceId(Util.getIntValue(rs.getString("resourceid")))
.attendanceDate(Util.null2String(rs.getString("kqdate")))
.resourceId(resourceid)
.attendanceDate(kqdate)
.signInDate(Util.null2String(rs.getString("signindate")))
.signInTime(signInTime)
.signOutDate(Util.null2String(rs.getString("signoutdate")))
@ -145,7 +154,11 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma
if (hours <= 4.0) {
workHours = hours;
} else {
workHours = Math.floor(hours - 1.0);
workHours = Math.floor(hours);
String kqRestTime = checkKqRestTime(resourceId, signDataPo.getAttendanceDate());
if ("1".equals(kqRestTime)) {
workHours = Math.floor(hours - 1.0);
}
}
signDataPo.setCompany(Integer.parseInt(rcom.getSubCompanyID(resourceId)));
signDataPo.setDepartment(Integer.parseInt(rcom.getDepartmentID(resourceId)));
@ -284,6 +297,21 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma
return splittedLists;
}
private String checkKqRestTime(String id,String gzrq) {
KQWorkTime kqWorkTime = new KQWorkTime();
WorkTimeEntity workTimeEntity = kqWorkTime.getWorkTime(id, gzrq);
String serialId = workTimeEntity.getSerialId();
if (StringUtils.isBlank(serialId) || "-1".equals(serialId)) {
kqWorkTime.setIsFormat(true);
workTimeEntity = kqWorkTime.getWorkTime(id, gzrq);
serialId = workTimeEntity.getSerialId();
}
KQShiftManagementComInfo kqShiftManagementComInfo = new KQShiftManagementComInfo();
return kqShiftManagementComInfo.getIsresttimeopen(serialId);
}
public String getFormatLocalDate(LocalDate localDate,DateTimeFormatter type) {
if (localDate == null) {
return StringUtils.EMPTY;

Loading…
Cancel
Save