diff --git a/src/com/engine/kq/biz/KQFormatData.java b/src/com/engine/kq/biz/KQFormatData.java index e0d663c..780d924 100644 --- a/src/com/engine/kq/biz/KQFormatData.java +++ b/src/com/engine/kq/biz/KQFormatData.java @@ -896,7 +896,9 @@ public class KQFormatData extends BaseBean { } 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)) { attendanceMins = attendanceMins-forgotCheckMins-forgotBeginWorkCheckMins; @@ -1112,7 +1114,9 @@ public class KQFormatData extends BaseBean { bb.writeLog("graveBeLateMins: " + graveBeLateMins); bb.writeLog("leaveEarlyMins: " + leaveEarlyMins); 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(); /*考勤二开--阶梯式记旷工end*/ @@ -1136,10 +1140,12 @@ public class KQFormatData extends BaseBean { 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) { 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) { diff --git a/src/com/engine/kq/cmd/report/ExportExcelCmd.java b/src/com/engine/kq/cmd/report/ExportExcelCmd.java index 92ebfc0..c90959d 100644 --- a/src/com/engine/kq/cmd/report/ExportExcelCmd.java +++ b/src/com/engine/kq/cmd/report/ExportExcelCmd.java @@ -610,8 +610,10 @@ public class ExportExcelCmd extends AbstractCommonCommand> { continue; } else if ("startOrEndDays".equals(fieldName)) {//考勤二开--入离职工时 int absenceDays = 0; + //优化--转成小时 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); continue; diff --git a/src/com/engine/kq/cmd/report/GetKQReportCmd.java b/src/com/engine/kq/cmd/report/GetKQReportCmd.java index 050adf9..648fb7e 100644 --- a/src/com/engine/kq/cmd/report/GetKQReportCmd.java +++ b/src/com/engine/kq/cmd/report/GetKQReportCmd.java @@ -675,8 +675,11 @@ public class GetKQReportCmd extends AbstractCommonCommand> { data.put(fieldName, fieldValue); } else if ("startOrEndDays".equals(fieldName)) {//考勤二开--入离职工时 int absenceDays = 0; + + //优化--转成小时 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); } else if ("workmins".equals(fieldName)) {//考勤二开--应出勤时长