修改加班匹配异常bug,假期余额增加离职后根据离职日期折算功能

main
liuliang 8 months ago
parent 3fb003f146
commit ea9153f420

@ -171,7 +171,7 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand<Map<String, Ob
/**
*
*/
List<Map<String, Object>> beLateAbnormal = abnormalClockInList.stream().filter(e -> e.get("pointTime").equals(kssj)).collect(Collectors.toList());
List<Map<String, Object>> beLateAbnormal = abnormalClockInList.stream().filter(e -> e.get("pointTime").equals(kssj) && e.get("bdlx").equals(scheduleMap.get("bdlx"))).collect(Collectors.toList());
double beLateTime = 0;
if (beLateAbnormal.size() > 0) {
String hsdw = Util.null2String(beLateAbnormal.get(0).get("hsdw"));
@ -198,7 +198,7 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand<Map<String, Ob
}
if (DateUtil.getTime(realityStartTime).compareTo(DateUtil.getTime(kssjTime)) > 0) {
beLateTime = DateUtil.getBetWeenMinutes(kssjTime, realityStartTime);
List<Map<String, Object>> collect1 = anomalyList.stream().filter(e -> e.get("pointTime").equals(kssj)).collect(Collectors.toList());
List<Map<String, Object>> collect1 = anomalyList.stream().filter(e -> e.get("pointTime").equals(kssj) && e.get("bdlx").equals(scheduleMap.get("bdlx"))).collect(Collectors.toList());
if (!"".equals(jbwdhlfzs) && beLateTime < Integer.valueOf(jbwdhlfzs)) {
beLateTime = 0;
@ -213,7 +213,7 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand<Map<String, Ob
/**
* 退,退
*/
List<Map<String, Object>> leaveEarlyAbnormal = abnormalClockInList.stream().filter(e -> e.get("pointTime").equals(jssj)).collect(Collectors.toList());
List<Map<String, Object>> leaveEarlyAbnormal = abnormalClockInList.stream().filter(e -> e.get("pointTime").equals(jssj) && e.get("bdlx").equals(scheduleMap.get("bdlx"))).collect(Collectors.toList());
double leaveElaryTime = 0;
if (leaveEarlyAbnormal.size() > 0) {
String hsdw = Util.null2String(leaveEarlyAbnormal.get(0).get("hsdw"));
@ -242,7 +242,7 @@ public class GetOvertimeDurationCmd extends AbstractCommonCommand<Map<String, Ob
}
if (DateUtil.getTime(realityEndime).compareTo(DateUtil.getTime(jssjTime)) < 0) {
leaveElaryTime = DateUtil.getBetWeenMinutes(realityEndime, jssjTime);
List<Map<String, Object>> collect2 = anomalyList.stream().filter(e -> e.get("pointTime").equals(jssj)).collect(Collectors.toList());
List<Map<String, Object>> collect2 = anomalyList.stream().filter(e -> e.get("pointTime").equals(jssj) && e.get("bdlx").equals(scheduleMap.get("bdlx")) ).collect(Collectors.toList());
if (!"".equals(jbzzhlfzs) && leaveElaryTime < Integer.valueOf(jbzzhlfzs)) {
leaveElaryTime = 0;
}

@ -42,9 +42,11 @@ public class VocationCmd extends AbstractCommonCommand<Map<String,Object>> {
String qsrq = Util.null2String(vocation.get("qsrq")).toLowerCase();
String yjzd = Util.null2String(vocation.get("yjzd")).toLowerCase();
String ljcrglyfslwz = Util.null2String(vocation.get("ljcrglyfslwz"));
String jzrqzd = Util.null2String(vocation.get("jzrqzd"));
String qsrqValue = Util.null2String(userMap.get(qsrq));
String yjzdValue = Util.null2String(userMap.get(yjzd));
String ljcrglyfslwzValue = Util.null2String(userMap.get(ljcrglyfslwz));
String jzrqzdValue = Util.null2String(userMap.get(jzrqzd));
if ("".equals(qsrqValue)){
for (Map<String,Object> map: userList){
qsrqValue = Util.null2String(map.get(qsrq));
@ -69,8 +71,16 @@ public class VocationCmd extends AbstractCommonCommand<Map<String,Object>> {
}
}
}
if ("".equals(jzrqzdValue)){
for (Map<String,Object> map: userList){
jzrqzdValue = Util.null2String(map.get(jzrqzd));
if (!"".equals(jzrqzdValue)){
break;
}
}
}
vocation.put("jzrqzdValue",jzrqzdValue);
vocation.put("qsrqValue",qsrqValue);
vocation.put("yjzdValue",yjzdValue);
vocation.put("ljcrglyfslwzValue",ljcrglyfslwzValue);

@ -261,6 +261,9 @@ public class ByIntervalPayMentWay implements HolidayGenerationWay{
}
insertHoliDayParam.put("ktsc", restTime);
//截止日期
String jzrqzd = Util.null2String(vocationList.get(0).get("jzrqzdValue"));
VocationCommonUtil.computeRestTimeByjzrqzd(insertHoliDayParam,jzrqzd);
VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye", insertHoliDayParam,dataList,edyxq);
return insertHoliDayParam;

@ -179,6 +179,9 @@ public class BySchedulePaymentWay implements HolidayGenerationWay{
}
insertHoliDayParam.put("ktsc",restTime);
//截止日期
String jzrqzd = Util.null2String(vocationList.get(0).get("jzrqzdValue"));
VocationCommonUtil.computeRestTimeByjzrqzd(insertHoliDayParam,jzrqzd);
VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye",insertHoliDayParam,dataList,edyxq);
return insertHoliDayParam;

@ -153,6 +153,10 @@ public class OneTimePayMentWay implements HolidayGenerationWay{
restTime = ktsc;
}
insertHoliDayParam.put("ktsc", restTime);
//截止日期
String jzrqzd = Util.null2String(vocationList.get(0).get("jzrqzdValue"));
VocationCommonUtil.computeRestTimeByjzrqzd(insertHoliDayParam,jzrqzd);
VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye", insertHoliDayParam,dataList,edyxq);
return insertHoliDayParam;

@ -40,6 +40,8 @@ public class SinglePaymentInFullWay implements HolidayGenerationWay {
List<Map<String, Object>> vocationList = (List<Map<String, Object>>) data.get("vocationList");
//起算日期
String qsrq = Util.null2String(vocationList.get(0).get("qsrqValue"));
//截止日期
String jzrqzd = Util.null2String(vocationList.get(0).get("jzrqzdValue"));
//额度有效期间
String edyxqsz = Util.null2String(vocationList.get(0).get("edyxqsz"));
//额度有效期间单位
@ -203,8 +205,8 @@ public class SinglePaymentInFullWay implements HolidayGenerationWay {
}
insertHoliDayParam.put("ktsc", restTime);
if (!"1".equals(isOneTime)){
VocationCommonUtil.computeRestTimeByjzrqzd(insertHoliDayParam,jzrqzd);
VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye", insertHoliDayParam,dataList,edyxq);
}
return insertHoliDayParam;

@ -632,4 +632,23 @@ public class VocationCommonUtil {
}
return totalbig.doubleValue();
}
/**
*
*
*
* @param insertHoliDayParam
* @param jzrqzd
*/
public static void computeRestTimeByjzrqzd(Map<String, Object> insertHoliDayParam,String jzrqzd){
String sxrq = Util.null2String(insertHoliDayParam.get("sxrq"));
String jzrq = Util.null2String(insertHoliDayParam.get("jzrq"));
double ktsc = Double.valueOf(Util.null2String(insertHoliDayParam.get("ktsc")));
if (!"".equals(jzrqzd) && DateUtil.getTime(jzrqzd).compareTo(DateUtil.getTime(sxrq)) >=0 &&
DateUtil.getTime(jzrqzd).compareTo(DateUtil.getTime(jzrq)) <=0){
int alldays = DateUtil.getBetWeenDays(sxrq,jzrq);
int days = DateUtil.getBetWeenDays(sxrq,jzrqzd);
insertHoliDayParam.put("ktsc",Utils.divide(days*ktsc,alldays));
}
}
}

Loading…
Cancel
Save