入离职工时加上考勤报表问题修复

dev
chenwei 1 year ago
parent 7295efd868
commit 2bba7b3711

@ -896,7 +896,9 @@ public class KQFormatData extends BaseBean {
} else { } else {
//计算实际出勤时间(出差公出算出勤)=应出勤-旷工-请假-迟到-早退 //计算实际出勤时间(出差公出算出勤)=应出勤-旷工-请假-迟到-早退
attendanceMins = workMins - absenteeismMins-leaveMins-beLateMins-graveBeLateMins-leaveEarlyMins-graveLeaveEarlyMins; // attendanceMins = workMins - absenteeismMins-leaveMins-beLateMins-graveBeLateMins-leaveEarlyMins-graveLeaveEarlyMins;
//优化--实际出勤时长取消迟到、严重迟到、早退、严重早退
attendanceMins = workMins - absenteeismMins-leaveMins;
// 如果没有开启"漏签是否算实际出勤"开关,则漏签不算实际出勤时长 // 如果没有开启"漏签是否算实际出勤"开关,则漏签不算实际出勤时长
if("0".equals(nosign_is_absent)) { if("0".equals(nosign_is_absent)) {
attendanceMins = attendanceMins-forgotCheckMins-forgotBeginWorkCheckMins; attendanceMins = attendanceMins-forgotCheckMins-forgotBeginWorkCheckMins;
@ -1112,7 +1114,9 @@ public class KQFormatData extends BaseBean {
bb.writeLog("graveBeLateMins: " + graveBeLateMins); bb.writeLog("graveBeLateMins: " + graveBeLateMins);
bb.writeLog("leaveEarlyMins: " + leaveEarlyMins); bb.writeLog("leaveEarlyMins: " + leaveEarlyMins);
bb.writeLog("graveLeaveEarlyMins: " + graveLeaveEarlyMins); bb.writeLog("graveLeaveEarlyMins: " + graveLeaveEarlyMins);
attendanceMins = workMins - absenteeismMins-leaveMins-beLateMins-graveBeLateMins-leaveEarlyMins-graveLeaveEarlyMins; // attendanceMins = workMins - absenteeismMins-leaveMins-beLateMins-graveBeLateMins-leaveEarlyMins-graveLeaveEarlyMins;
//优化--实际出勤时长取消迟到、严重迟到、早退、严重早退
attendanceMins = workMins - absenteeismMins-leaveMins;
// ssutil.customLog(); // ssutil.customLog();
/*考勤二开--阶梯式记旷工end*/ /*考勤二开--阶梯式记旷工end*/
@ -1136,10 +1140,12 @@ public class KQFormatData extends BaseBean {
kqLog.info("实际出勤计算公式" + "实际出勤=应出勤- 旷工-请假-迟到-早退 userId" + userId + "kqDate==" + kqDate+":hostIps:"+hostIps+":uuid::"+uuid); kqLog.info("实际出勤计算公式" + "实际出勤=应出勤- 旷工-请假-迟到-早退 userId" + userId + "kqDate==" + kqDate+":hostIps:"+hostIps+":uuid::"+uuid);
kqLog.info("实际出勤计算结果" + attendanceMins + "=" + workMins + "- " + absenteeismMins + "-" + leaveMins + "-" + (beLateMins + graveBeLateMins) + "-" + (leaveEarlyMins - graveLeaveEarlyMins)+" userId" + userId + "kqDate==" + kqDate+":hostIps:"+hostIps+":uuid::"+uuid); // kqLog.info("实际出勤计算结果" + attendanceMins + "=" + workMins + "- " + absenteeismMins + "-" + leaveMins + "-" + (beLateMins + graveBeLateMins) + "-" + (leaveEarlyMins - graveLeaveEarlyMins)+" userId" + userId + "kqDate==" + kqDate+":hostIps:"+hostIps+":uuid::"+uuid);
kqLog.info("实际出勤计算结果" + attendanceMins + "=" + workMins + "- " + absenteeismMins + "-" + leaveMins +" userId" + userId + "kqDate==" + kqDate+":hostIps:"+hostIps+":uuid::"+uuid);
if(this.writeLog) { if(this.writeLog) {
logInfo.put(""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005303,weaver.general.ThreadVarLanguage.getLang())+"",""+weaver.systeminfo.SystemEnv.getHtmlLabelName(130566,weaver.general.ThreadVarLanguage.getLang())+"="+weaver.systeminfo.SystemEnv.getHtmlLabelName(132056,weaver.general.ThreadVarLanguage.getLang())+"- "+weaver.systeminfo.SystemEnv.getHtmlLabelName(20085,weaver.general.ThreadVarLanguage.getLang())+"-"+weaver.systeminfo.SystemEnv.getHtmlLabelName(670,weaver.general.ThreadVarLanguage.getLang())+"-"+weaver.systeminfo.SystemEnv.getHtmlLabelName(20081,weaver.general.ThreadVarLanguage.getLang())+"-"+weaver.systeminfo.SystemEnv.getHtmlLabelName(20082,weaver.general.ThreadVarLanguage.getLang())+""); logInfo.put(""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005303,weaver.general.ThreadVarLanguage.getLang())+"",""+weaver.systeminfo.SystemEnv.getHtmlLabelName(130566,weaver.general.ThreadVarLanguage.getLang())+"="+weaver.systeminfo.SystemEnv.getHtmlLabelName(132056,weaver.general.ThreadVarLanguage.getLang())+"- "+weaver.systeminfo.SystemEnv.getHtmlLabelName(20085,weaver.general.ThreadVarLanguage.getLang())+"-"+weaver.systeminfo.SystemEnv.getHtmlLabelName(670,weaver.general.ThreadVarLanguage.getLang())+"-"+weaver.systeminfo.SystemEnv.getHtmlLabelName(20081,weaver.general.ThreadVarLanguage.getLang())+"-"+weaver.systeminfo.SystemEnv.getHtmlLabelName(20082,weaver.general.ThreadVarLanguage.getLang())+"");
logInfo.put(""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005304,weaver.general.ThreadVarLanguage.getLang())+"",attendanceMins+"="+workMins+"- "+absenteeismMins+"-"+leaveMins+"-"+(beLateMins+graveBeLateMins)+"-"+(leaveEarlyMins-graveLeaveEarlyMins)); // logInfo.put(""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005304,weaver.general.ThreadVarLanguage.getLang())+"",attendanceMins+"="+workMins+"- "+absenteeismMins+"-"+leaveMins+"-"+(beLateMins+graveBeLateMins)+"-"+(leaveEarlyMins-graveLeaveEarlyMins));
logInfo.put(""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005304,weaver.general.ThreadVarLanguage.getLang())+"",attendanceMins+"="+workMins+"- "+absenteeismMins+"-"+leaveMins);
} }
//判断当天考勤状态 //判断当天考勤状态
// if (beLateMins > 0) { // if (beLateMins > 0) {

@ -610,8 +610,10 @@ public class ExportExcelCmd extends AbstractCommonCommand<Map<String, Object>> {
continue; continue;
} else if ("startOrEndDays".equals(fieldName)) {//考勤二开--入离职工时 } else if ("startOrEndDays".equals(fieldName)) {//考勤二开--入离职工时
int absenceDays = 0; int absenceDays = 0;
//优化--转成小时
absenceDays = getStartOrEndDays(id, fromDate, toDate, typeselect, employAndResignDates); absenceDays = getStartOrEndDays(id, fromDate, toDate, typeselect, employAndResignDates);
fieldValue = String.valueOf(absenceDays);
fieldValue = new BigDecimal(absenceDays).multiply(new BigDecimal(8)).setScale(2,RoundingMode.HALF_UP).toString();
data.add(fieldValue); data.add(fieldValue);
continue; continue;

@ -675,8 +675,11 @@ public class GetKQReportCmd extends AbstractCommonCommand<Map<String, Object>> {
data.put(fieldName, fieldValue); data.put(fieldName, fieldValue);
} else if ("startOrEndDays".equals(fieldName)) {//考勤二开--入离职工时 } else if ("startOrEndDays".equals(fieldName)) {//考勤二开--入离职工时
int absenceDays = 0; int absenceDays = 0;
//优化--转成小时
absenceDays = getStartOrEndDays(id, fromDate, toDate, typeselect, employAndResignDates); absenceDays = getStartOrEndDays(id, fromDate, toDate, typeselect, employAndResignDates);
fieldValue = String.valueOf(absenceDays);
fieldValue = new BigDecimal(absenceDays).multiply(new BigDecimal(8)).setScale(2,RoundingMode.HALF_UP).toString();
data.put(fieldName, fieldValue); data.put(fieldName, fieldValue);
} else if ("workmins".equals(fieldName)) {//考勤二开--应出勤时长 } else if ("workmins".equals(fieldName)) {//考勤二开--应出勤时长

Loading…
Cancel
Save