@ -92,7 +92,7 @@ public class OvertimePlanServiceImpl extends Service implements OvertimePlanServ
//判断改组明细是否与已存在的加班计划有重叠
//判断改组明细是否与已存在的加班计划有重叠
boolean overLappingSign = checkOverlapping ( existOvertimePlanList , date + " " + startTime , realEndDate + " " + endTime ) ;
boolean overLappingSign = checkOverlapping ( existOvertimePlanList , date + " " + startTime , realEndDate + " " + endTime ) ;
if ( overLappingSign ) {
if ( overLappingSign ) {
errorMessage . add ( CommonUtil. readResource ( "kunyResource" , "3002" , 7 , "与已经申请加班重叠" , Util. null2String ( empIdToNameInfo . get ( empId ) ) , date ) ) ;
errorMessage . add ( Util. null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班计划区间和已申请的加班计划(已审核/待审核)出现时间重叠,不允许申请加班!" ) ;
continue ;
continue ;
}
}
//加班时长
//加班时长
@ -310,7 +310,7 @@ public class OvertimePlanServiceImpl extends Service implements OvertimePlanServ
//20240814需求变更。增加单条明细的最小加班分钟数校验, 工作日加班最大小时数、周加班最大小时数、月加班最大小时数
//20240814需求变更。增加单条明细的最小加班分钟数校验, 工作日加班最大小时数、周加班最大小时数、月加班最大小时数
if ( matchItemInfo . size ( ) = = 0 ) {
if ( matchItemInfo . size ( ) = = 0 ) {
log . info ( Util . null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班计划未匹配到合适的加班类型!" ) ;
log . info ( Util . null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班计划未匹配到合适的加班类型!" ) ;
errorMessage . add ( CommonUtil. readResource ( "kunyResource" , "3003" , 7 , "未匹配到合适的加班类型" , Util. null2String ( empIdToNameInfo . get ( empId ) ) , date ) ) ;
errorMessage . add ( Util. null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班计划未匹配到合适的加班类型!" ) ;
continue ;
continue ;
}
}
log . info ( Util . null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班计划匹配到:" + Util . null2String ( matchItemInfo . get ( "mc" ) ) ) ;
log . info ( Util . null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班计划匹配到:" + Util . null2String ( matchItemInfo . get ( "mc" ) ) ) ;
@ -335,14 +335,15 @@ public class OvertimePlanServiceImpl extends Service implements OvertimePlanServ
//对于不允许加班的情况,此处指非休息班次中,和非休息、就餐班段有重叠时
//对于不允许加班的情况,此处指非休息班次中,和非休息、就餐班段有重叠时
allowOvertimeSign = ( boolean ) overtimeBorderInfo . get ( "allowOvertimeSign" ) ;
allowOvertimeSign = ( boolean ) overtimeBorderInfo . get ( "allowOvertimeSign" ) ;
if ( ! allowOvertimeSign ) {
if ( ! allowOvertimeSign ) {
errorMessage . add ( CommonUtil. readResource ( "kunyResource" , "3001" , 7 , "工作日加班不能与9: 00-17: 30的工作时间有交集! " , Util. null2String ( empIdToNameInfo . get ( empId ) ) , date ) ) ;
errorMessage . add ( Util. null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班区间和工作班次的非休息/就餐班段有重叠!" ) ;
continue ;
continue ;
}
}
//单条明细的最小加班分钟数校验
//单条明细的最小加班分钟数校验
String minMinutes = Util . null2String ( matchItemInfo . get ( "jbqsfzs" ) ) ;
String minMinutes = Util . null2String ( matchItemInfo . get ( "jbqsfzs" ) ) ;
if ( ! "" . equals ( minMinutes ) & & Integer . parseInt ( minMinutes ) > overtimeMinutes ) {
if ( ! "" . equals ( minMinutes ) & & Integer . parseInt ( minMinutes ) > overtimeMinutes ) {
//最小加班分钟数大于单条明细的加班时长分钟数
//最小加班分钟数大于单条明细的加班时长分钟数
errorMessage . add ( CommonUtil . readResource ( "kunyResource" , "3004" , 7 , "加班时长太短" , Util . null2String ( empIdToNameInfo . get ( empId ) ) , date , Util . null2String ( matchItemInfo . get ( "mc" ) ) ) ) ;
errorMessage . add ( Util . null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班分钟数小于加班类型-"
+ Util . null2String ( matchItemInfo . get ( "mc" ) ) + "设置的最小加班分钟数!" ) ;
continue ;
continue ;
}
}
String limitTotalOvertimeSc = Util . null2String ( matchItemInfo . get ( "xzzjbsc" ) ) ;
String limitTotalOvertimeSc = Util . null2String ( matchItemInfo . get ( "xzzjbsc" ) ) ;
@ -358,7 +359,8 @@ public class OvertimePlanServiceImpl extends Service implements OvertimePlanServ
boolean needCheckWorkDayHours = ! "" . equals ( limitWorkDayHours ) & & ( belongDateType . equals ( DateTypeEnum . WORK_DAY . getKey ( ) ) | | belongDateType . equals ( DateTypeEnum . CHANGECLASS . getKey ( ) ) ) ;
boolean needCheckWorkDayHours = ! "" . equals ( limitWorkDayHours ) & & ( belongDateType . equals ( DateTypeEnum . WORK_DAY . getKey ( ) ) | | belongDateType . equals ( DateTypeEnum . CHANGECLASS . getKey ( ) ) ) ;
if ( needCheckWorkDayHours & & Double . compare ( Double . parseDouble ( limitWorkDayHours ) , overtimeMinutes / 60.0 ) < 0 ) {
if ( needCheckWorkDayHours & & Double . compare ( Double . parseDouble ( limitWorkDayHours ) , overtimeMinutes / 60.0 ) < 0 ) {
doLimitWorkDayHours = true ;
doLimitWorkDayHours = true ;
errorMessage . add ( CommonUtil . readResource ( "kunyResource" , "3005" , 7 , "加班时长超工作日累计时长" , Util . null2String ( empIdToNameInfo . get ( empId ) ) , date , Util . null2String ( matchItemInfo . get ( "mc" ) ) ) ) ;
errorMessage . add ( Util . null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班时长累计后超过了加班类型-"
+ Util . null2String ( matchItemInfo . get ( "mc" ) ) + "设置的工作日加班最大小时数!" ) ;
}
}
//判断是否满足周加班最大小时数
//判断是否满足周加班最大小时数
if ( ! "" . equals ( limitWeekHours ) ) {
if ( ! "" . equals ( limitWeekHours ) ) {
@ -376,7 +378,8 @@ public class OvertimePlanServiceImpl extends Service implements OvertimePlanServ
if ( maxWeekMinutes - weekOvertimeMinutes - overtimeMinutes < 0 ) {
if ( maxWeekMinutes - weekOvertimeMinutes - overtimeMinutes < 0 ) {
//达到周加班最大小时数
//达到周加班最大小时数
doLimitWeekHours = true ;
doLimitWeekHours = true ;
errorMessage . add ( CommonUtil . readResource ( "kunyResource" , "3006" , 7 , "加班时长超周累计时长" , Util . null2String ( empIdToNameInfo . get ( empId ) ) , date , Util . null2String ( matchItemInfo . get ( "mc" ) ) ) ) ;
errorMessage . add ( Util . null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班时长累计后超过了加班类型-"
+ Util . null2String ( matchItemInfo . get ( "mc" ) ) + "设置的周加班最大小时数!" ) ;
}
}
}
}
//判断是否满足月加班最大小时数
//判断是否满足月加班最大小时数
@ -395,8 +398,8 @@ public class OvertimePlanServiceImpl extends Service implements OvertimePlanServ
if ( maxMonthMinutes - monthOvertimeMinutes - overtimeMinutes < 0 ) {
if ( maxMonthMinutes - monthOvertimeMinutes - overtimeMinutes < 0 ) {
//达到月加班最大小时数
//达到月加班最大小时数
doLimitMonthHours = true ;
doLimitMonthHours = true ;
errorMessage . add ( CommonUtil. readResource ( "kunyResource" , "3007" , 7 , "加班时长超月累计时长" , Util. null2String ( empIdToNameInfo . get ( empId ) ) , date , Util . null2String ( matchItemInfo . get ( "mc" ) ) ) ) ;
errorMessage . add ( Util. null2String ( empIdToNameInfo . get ( empId ) ) + "在日期" + date + "的加班时长累计后超过了加班类型-"
}
+ Util . null2String ( matchItemInfo . get ( "mc" ) ) + "设置的月加班最大小时数!" ) ; }
}
}
// //判断是否超出工作日、周、月最大小时数要求
// //判断是否超出工作日、周、月最大小时数要求
// if ("1".equals(limitDealType) && (doLimitWorkDayHours || doLimitWeekHours || doLimitMonthHours)) {
// if ("1".equals(limitDealType) && (doLimitWorkDayHours || doLimitWeekHours || doLimitMonthHours)) {