fix bug
This commit is contained in:
parent
35ffa80c36
commit
698d75ae49
|
|
@ -18,22 +18,35 @@ public class OverseasAllowanceDAO {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 计算考勤所属月员工的薪酬等级
|
* @description 计算考勤所属月境外常驻员工的薪酬等级
|
||||||
* @return Map<String,String>
|
* @return Map<String,String>
|
||||||
* @author Harryxzy
|
* @author Harryxzy
|
||||||
* @date 2022/9/26 17:43
|
* @date 2022/9/26 17:43
|
||||||
*/
|
*/
|
||||||
public Map<Integer, XcdjJwjtParam> getXCDJByUsers(Calendar startAttendanceCal) {
|
public Map<Integer, XcdjJwjtParam> getXCDJByUsers(List<String> users,Calendar startAttendanceCal) {
|
||||||
RecordSet rs = new RecordSet();
|
RecordSet rs = new RecordSet();
|
||||||
|
StringBuilder sb =new StringBuilder();
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
String sql ="select z.xm,z.gj,z.xd,z.sxrq,d.xcdj,jxgz from uf_xczjbd z LEFT JOIN uf_xcdj d on d.gj=z.gj and d.xd=z.xd where sxrq <= "
|
if(users != null && users.size()>0){
|
||||||
+sdf.format(startAttendanceCal.getTime())+" order by sxrq desc";
|
sb = new StringBuilder("select h.id,z.gj,z.xd,z.sxrq,d.xcdj,jwjtbz FROM hrmresource h LEFT JOIN uf_xczjbd z on h.id=z.xm and sxrq <= '" +sdf.format(startAttendanceCal.getTime()) +
|
||||||
rs.execute(sql);
|
"' LEFT JOIN uf_xcdj d on d.gj=z.gj and d.xd=z.xd WHERE h.id IN ( ");
|
||||||
|
for(int i=0;i<users.size();i++){
|
||||||
|
sb.append(users.get(i));
|
||||||
|
if(i+1 != users.size()){
|
||||||
|
sb.append(" , ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sb.append(" ) order by sxrq desc");
|
||||||
|
}
|
||||||
|
rs.execute(sb.toString());
|
||||||
HashMap<Integer, XcdjJwjtParam> xcdj = new HashMap<>();
|
HashMap<Integer, XcdjJwjtParam> xcdj = new HashMap<>();
|
||||||
while (rs.next()){
|
while (rs.next()){
|
||||||
int xm = rs.getInt("xm");
|
int xm = rs.getInt("id");
|
||||||
String xcdjStr = rs.getString("XCDJ");
|
String xcdjStr = rs.getString("XCDJ");
|
||||||
double jwjtbz = rs.getDouble("jwjtbz");
|
double jwjtbz = rs.getDouble("jwjtbz");
|
||||||
|
if(jwjtbz==-1){
|
||||||
|
jwjtbz=0.0;
|
||||||
|
}
|
||||||
if(!xcdj.containsKey(xm)){
|
if(!xcdj.containsKey(xm)){
|
||||||
XcdjJwjtParam build = XcdjJwjtParam.builder().xcdj(xcdjStr).jwjtbz(jwjtbz).build();
|
XcdjJwjtParam build = XcdjJwjtParam.builder().xcdj(xcdjStr).jwjtbz(jwjtbz).build();
|
||||||
xcdj.put(xm,build);
|
xcdj.put(xm,build);
|
||||||
|
|
|
||||||
|
|
@ -55,9 +55,9 @@ public class OverseasAllowanceCountServiceImpl implements OverseasAllowanceCount
|
||||||
baseBean.writeLog("获取用户在考勤周期内存在境外常驻信息过滤出来,并且计算当月境外应常驻天数及境内工作天数:"+results.size());
|
baseBean.writeLog("获取用户在考勤周期内存在境外常驻信息过滤出来,并且计算当月境外应常驻天数及境内工作天数:"+results.size());
|
||||||
// 计算考勤所属月员工的薪酬等级,获取相应的境外津贴标准
|
// 计算考勤所属月员工的薪酬等级,获取相应的境外津贴标准
|
||||||
List<String> users = results.stream().map(i -> i.getUser()).collect(Collectors.toList());
|
List<String> users = results.stream().map(i -> i.getUser()).collect(Collectors.toList());
|
||||||
Map<Integer, XcdjJwjtParam> usersXSDJ = getOverseasAllowanceDAO().getXCDJByUsers(startAttendanceCal);
|
Map<Integer, XcdjJwjtParam> usersXSDJ = getOverseasAllowanceDAO().getXCDJByUsers(users,startAttendanceCal);
|
||||||
baseBean.writeLog("获取所有员工考勤所属月的薪酬等级及所对应的境外津贴标准:"+usersXSDJ.size());
|
baseBean.writeLog("获取所有员工考勤所属月的薪酬等级及所对应的境外津贴标准:"+usersXSDJ.size());
|
||||||
//
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -69,9 +69,6 @@ public class OverseasAllowanceCountServiceImpl implements OverseasAllowanceCount
|
||||||
public List<JWJT> getCZInfosAndCZDays(List<JwCZInfo> jwCZInfos,Calendar startAttendanceCal,Calendar endAttendanceCal){
|
public List<JWJT> getCZInfosAndCZDays(List<JwCZInfo> jwCZInfos,Calendar startAttendanceCal,Calendar endAttendanceCal){
|
||||||
ArrayList<JWJT> results = new ArrayList<>();
|
ArrayList<JWJT> results = new ArrayList<>();
|
||||||
jwCZInfos.stream().filter(czInfo -> {
|
jwCZInfos.stream().filter(czInfo -> {
|
||||||
if(czInfo.getXm().equals("1462")){
|
|
||||||
System.out.println("H");
|
|
||||||
}
|
|
||||||
List<JwCZInfoDetail> czDetails = czInfo.getInfos();
|
List<JwCZInfoDetail> czDetails = czInfo.getInfos();
|
||||||
// 用于存储计算到哪一天的日期
|
// 用于存储计算到哪一天的日期
|
||||||
Calendar c = Calendar.getInstance();
|
Calendar c = Calendar.getInstance();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue