四项补助方案调整
This commit is contained in:
parent
16e399616d
commit
8cec2b35bf
|
|
@ -72,9 +72,10 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
// 获取员工公务回国国内工作日天数
|
||||
Map<Integer, List<JwCZInfoDetail>> gwhgInfos = getOverseasAllowanceDAO().getGwhg();
|
||||
baseBean.writeLog("获取年假建模中所有公务回国信息,共:"+gwhgInfos.size());
|
||||
// 过滤考勤周期内的公务回国信息,并计算出国内工作日天数
|
||||
Map<Integer, Integer> validGwhgAndCountWorkdays = getValidGwhgAndCountWorkdays(gwhgInfos, startAttendanceCal.getTime(), endAttendanceCal.getTime());
|
||||
baseBean.writeLog("过滤考勤周期内的公务回国信息,并计算出国内工作日天数:"+validGwhgAndCountWorkdays);
|
||||
// 过滤考勤周期内的公务回国信息,并计算出国内工作日天数 方案二:暂不考虑公务回国国内工作天数
|
||||
// Map<Integer, Integer> validGwhgAndCountWorkdays = getValidGwhgAndCountWorkdays(gwhgInfos, startAttendanceCal.getTime(), endAttendanceCal.getTime());
|
||||
// baseBean.writeLog("过滤考勤周期内的公务回国信息,并计算出国内工作日天数:"+validGwhgAndCountWorkdays);
|
||||
Map<Integer, Integer> validGwhgAndCountWorkdays = new HashMap<>();
|
||||
// 封装计算薪酬等级、境外津贴标准、考勤天数、四项补助合计、公务回国国内工作日天数
|
||||
getXcdjAndJwjtbz(results,usersXCDJ,kqDatas,validGwhgAndCountWorkdays,jwCZInfos);
|
||||
baseBean.writeLog("封装薪酬等级、境外津贴标准、考勤天数、境外实际常驻天数并计算实出勤天数、境外津贴,共:"+results.size());
|
||||
|
|
@ -90,7 +91,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
coutJkdqbthj(results);
|
||||
// 四项补贴合计(天标准)*(公务回国工作日天数+国内工作日天数)
|
||||
countSxbthj(results);
|
||||
baseBean.writeLog("计算四项补贴合计:"+results.size());
|
||||
baseBean.writeLog("计算四项补贴合计:"+results);
|
||||
// 将结果插入建模表中
|
||||
getOverseasAllowanceDAO().insertOverseasAllowance(results);
|
||||
baseBean.writeLog("将结果插入建模表中");
|
||||
|
|
@ -130,6 +131,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
}
|
||||
}
|
||||
item.setGngzts( item.getGngzts() -gnRestDays );
|
||||
baseBean.writeLog(item.getUser() + "休息" + gnRestDays + "天");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -346,9 +348,13 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
item.setXcdj(param.getXcdj());
|
||||
item.setJwjtbz(param.getJwjtbz());
|
||||
item.setSxbzhjbz(param.getSxbzhj());
|
||||
item.setSxbzhjrbz(param.getSxbzhj()/21.75);
|
||||
if(item.getUser().equals("109")){
|
||||
System.out.println("hi");
|
||||
// 方案一:
|
||||
// item.setSxbzhjrbz(param.getSxbzhj()/21.75);
|
||||
// 方案二:不考虑公务回国工作日天数 四项补贴合计天标准:按照四项补贴合计÷(境外应常驻天数+国内应出勤天数)
|
||||
if(!Objects.equals(param.getSxbzhj(),0.0)){
|
||||
item.setSxbzhjrbz(param.getSxbzhj() / (item.getJwycq() + item.getGngzts()));
|
||||
}else {
|
||||
item.setSxbzhjrbz(0.0);
|
||||
}
|
||||
if(kqDatas.get(item.getUser() + "-qq") == null){
|
||||
// 目前该员工没有考勤数据
|
||||
|
|
@ -361,7 +367,6 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
double gnQqDays=0.0;
|
||||
double jwQqDays=0.0;
|
||||
// 判断是境内缺勤还是境外缺勤
|
||||
ArrayList<Date> t = new ArrayList<>();
|
||||
List<JwCZInfoDetail> jwCZInfoDetails = czInfos.get(item.getUser());
|
||||
if(jwCZInfoDetails != null && jwCZInfoDetails.size()>0){
|
||||
for(Date d : qqDate){
|
||||
|
|
@ -391,7 +396,6 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
if(detail.getJwczjsrq().before(d)){
|
||||
// 境外常驻结束日期在缺勤日前
|
||||
gnQqDays++;
|
||||
t.add(d);
|
||||
flag=true;
|
||||
}
|
||||
if(BjcjCommonUtils.isBetween(d,detail.getJwczksrq(),detail.getJwczjsrq())){
|
||||
|
|
@ -402,7 +406,6 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
}
|
||||
if( (i+1 == jwCZInfoDetails.size()) && (flag == false)){
|
||||
gnQqDays++;
|
||||
t.add(d);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -410,15 +413,17 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
item.setGnQq(gnQqDays);
|
||||
item.setJwQq(jwQqDays);
|
||||
item.setGwhg((Double) kqDatas.get(item.getUser()+"-gwhg"));
|
||||
item.setGwhgWorkdays((Double) kqDatas.get(item.getUser()+"-gwhg"));
|
||||
}
|
||||
item.setJwscq(item.getJwycq()-item.getJwQq()-item.getGwhg());
|
||||
item.setGnscq(item.getGngzts() - item.getGnQq());
|
||||
item.setJwjt(item.getJwscq()*item.getJwjtbz());
|
||||
if(validGwhgAndCountWorkdays.containsKey(Integer.valueOf(item.getUser()))){
|
||||
// 该员工有公务回国数据
|
||||
Integer workDays = validGwhgAndCountWorkdays.get(Integer.valueOf(item.getUser()));
|
||||
item.setGwhgWorkdays(workDays);
|
||||
}
|
||||
// 方案二:不考虑公务回国工作日
|
||||
// if(validGwhgAndCountWorkdays.containsKey(Integer.valueOf(item.getUser()))){
|
||||
// // 该员工有公务回国数据
|
||||
// Integer workDays = validGwhgAndCountWorkdays.get(Integer.valueOf(item.getUser()));
|
||||
// item.setGwhgWorkdays(workDays);
|
||||
// }
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -495,8 +500,11 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
*/
|
||||
private void countSxbthj(List<JWJT> results) {
|
||||
results.stream().forEach(result->{
|
||||
// 获取员工的公务回国工作日天数和国内工作日天数 * 四项补助日标准
|
||||
result.setSxbzhj((result.getGnscq()+result.getGwhgWorkdays()) * result.getSxbzhjrbz());
|
||||
// 方案一:获取员工的公务回国工作日天数和国内工作日天数 * 四项补助日标准
|
||||
// result.setSxbzhj((result.getGnscq()+result.getGwhgWorkdays()) * result.getSxbzhjrbz());
|
||||
|
||||
// 方案二:获取员工的公务回国天数和国内工作日天数 * 四项补助日标准
|
||||
result.setSxbzhj((result.getGnscq()+result.getGwhg()) * result.getSxbzhjrbz());
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue