From 5d3a17b3b71e110cdd7a2bde38bc9dd8cdc9ab61 Mon Sep 17 00:00:00 2001 From: chenxu1234 <1401584727@qq.com> Date: Mon, 8 Apr 2024 19:08:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=91=E6=81=AF=E7=8F=AD=E5=8E=BB=E9=99=A4?= =?UTF-8?q?=E4=BC=91=E6=81=AF=E6=97=B6=E9=97=B4=E7=A7=BB=E5=88=B0=E8=AE=A1?= =?UTF-8?q?=E6=8F=90=E4=B9=8B=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/kq/biz/KQOverTimeRuleCalBiz.java | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/com/engine/kq/biz/KQOverTimeRuleCalBiz.java b/src/com/engine/kq/biz/KQOverTimeRuleCalBiz.java index 157616b..1e02bc8 100644 --- a/src/com/engine/kq/biz/KQOverTimeRuleCalBiz.java +++ b/src/com/engine/kq/biz/KQOverTimeRuleCalBiz.java @@ -554,6 +554,16 @@ public class KQOverTimeRuleCalBiz { }else{ otherParam.put("overtimeLogMap", overtimeLogMap); logOvertimeMap(overtimeLogMap, across_mins, flow_key+"|最终生成的加班分钟数|overtime_mins"); + + String searIdFrom = workTimeEntity.getSerialId(); + //如果是休班次,加班类型为休息日加班 + if (isRestSerial(searIdFrom,rs)) { + kqLog.info("原始across_mins:"+across_mins); + Double newHours = recalculateOverTime(divide(String.valueOf(across_mins),"60"),searIdFrom, signinDate, signinTime, signoutDate, signoutTime, rs, singleRs); + across_mins = newHours.intValue()*60; + kqLog.info("newHours:"+newHours+"mins:"+across_mins); + } + /*获取考勤组的ID,因为考勤组有有效期,所以需要传入日期*/ KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo(); String groupId = kqGroupMemberComInfo.getKQGroupId(resourceid, realSplitDate); @@ -576,7 +586,7 @@ public class KQOverTimeRuleCalBiz { String lctableName = bb.getPropValue("nbkq_main","lctableName"); Integer bxszh = changeBxs(across_mins); Integer yxszh = changeyxs(across_mins); - String searIdFrom = workTimeEntity.getSerialId(); + kqLog.info("半小时计提时长bxszh:"+bxszh+"yxszh:"+yxszh+"searIdFrom:"+searIdFrom); String jblx = ""; String bxfs = ""; @@ -706,7 +716,7 @@ public class KQOverTimeRuleCalBiz { Double sc = divide(String.valueOf(across_mins),"60"); new BaseBean().writeLog("更新kq_balanceOfLeave的sc:"+across_mins); - sc = recalculateOverTime(sc,searIdFrom, fromdatedb, fromtimedb, todatedb, totimedb, rs, singleRs); +// sc = recalculateOverTime(sc,searIdFrom, fromdatedb, fromtimedb, todatedb, totimedb, rs, singleRs); new BaseBean().writeLog("重新计算后的sc:"+sc); String sql = " select * from kq_balanceOfLeave where id = "+tiaoxiuId ; rs.executeQuery(sql); @@ -994,6 +1004,16 @@ public class KQOverTimeRuleCalBiz { }else{ logOvertimeMap(overtimeLogMap, mins, flow_cross_key+"|最终生成的加班分钟数|overtime_mins"); + + String searIdFrom = workTimeEntity.getSerialId(); + //如果是休班次,加班类型为休息日加班 + if (isRestSerial(searIdFrom,rs)) { + kqLog.info("原始across_mins:"+mins); + Double newHours = recalculateOverTime(divide(String.valueOf(mins),"60"),searIdFrom, signinDate, signinTime, signoutDate, signoutTime, rs, singleRs); + mins = newHours.intValue()*60; + kqLog.info("newHours:"+newHours+"mins:"+mins); + } + /*获取考勤组的ID,因为考勤组有有效期,所以需要传入日期*/ KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo(); String groupId = kqGroupMemberComInfo.getKQGroupId(resourceid, realSplitDate); @@ -1010,7 +1030,7 @@ public class KQOverTimeRuleCalBiz { //管理人员12小时班制夜班最大加班时长 Integer ybMaxMins = Util.getIntValue(bb.getPropValue("nbkq_main","ybMaxMins")); Integer bxszh = changeBxs(mins); - String searIdFrom = workTimeEntity.getSerialId(); + kqLog.info("半小时计提时长bxszh:"+bxszh+"searIdFrom:"+searIdFrom); if(searIdBb.equals(searIdFrom)){ kqLog.info("白班"); @@ -1063,7 +1083,7 @@ public class KQOverTimeRuleCalBiz { Double sc = divide(String.valueOf(mins), "60"); new BaseBean().writeLog("更新kq_balanceOfLeave的sc:" + mins); - sc = recalculateOverTime(sc, searIdFrom, signinDate, signinTime, signoutDate, signoutTime, rs, singleRs); +// sc = recalculateOverTime(sc, searIdFrom, signinDate, signinTime, signoutDate, signoutTime, rs, singleRs); new BaseBean().writeLog("重新计算后的sc:" + sc); String sql = " select * from kq_balanceOfLeave where id = " + tiaoxiuId; rs.executeQuery(sql); @@ -3323,8 +3343,8 @@ public class KQOverTimeRuleCalBiz { //如果是休班次,加班类型为休息日加班 if (isRestSerial(searIdFrom,rs)) { jblxNew = "1"; - new BaseBean().writeLog("insertJbtz 原始sc:"+sc); - sc = recalculateOverTime(sc,searIdFrom, ksrq, kssj, jsrq, jssj, rs, singleRs); +// new BaseBean().writeLog("insertJbtz 原始sc:"+sc); +// sc = recalculateOverTime(sc,searIdFrom, ksrq, kssj, jsrq, jssj, rs, singleRs); } String sqlMode = "insert into uf_jbtz (jbr,gjsc,bcfs,jbxz,sqr,szbm,sjh,zzdksj,zwdkrq,ly,gh,bm,zw,jblx,ksrq,jsrq,sqsy,kssj,jssj,gzrq,FORMMODEID,MODEDATACREATER,MODEDATACREATERTYPE,MODEDATACREATEDATE,MODEDATACREATETIME) \n" + @@ -3497,4 +3517,6 @@ public class KQOverTimeRuleCalBiz { bb.writeLog("====baseWriteLog-data:"+data); } + + }