diff --git a/src/com/engine/bjcj220907/dao/OverseasAllowanceDAO.java b/src/com/engine/bjcj220907/dao/OverseasAllowanceDAO.java index e41af06..ed1d287 100644 --- a/src/com/engine/bjcj220907/dao/OverseasAllowanceDAO.java +++ b/src/com/engine/bjcj220907/dao/OverseasAllowanceDAO.java @@ -111,26 +111,49 @@ public class OverseasAllowanceDAO { return xcdj; } + public Map> getDsgcc() { + RecordSet rs = new RecordSet(); + String sql = "select xm,lx,jwgzksrq,jwgzjsrq,JWGZDW1,btbz from UF_NJJMB n left JOIN UF_NJJMB_DT1 d on n.id=d.MAINID left join UF_DQBTBZ b on JWGZDW1=b.id WHERE lx=2 "; + rs.execute(sql); + HashMap> jkdqbt = new HashMap<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + while (rs.next()){ + try { + String jwgzksrqStr = rs.getString("jwgzksrq"); + Date jwgzksrq=null; + String jwgzjsrqStr = rs.getString("jwgzjsrq"); + Date jwgzjsrq=null; + int xm = rs.getInt("xm"); + String jwgzdw1 = rs.getString("JWGZDW1"); + double dqbtbz = rs.getDouble("btbz"); + if(jwgzdw1 == ""){ + jwgzdw1 = "0"; + } + if(jwgzksrqStr!=null && jwgzksrqStr.length()!=0){ + jwgzksrq = sdf.parse(jwgzksrqStr); + } + if(jwgzjsrqStr!=null && jwgzjsrqStr.length()!=0){ + jwgzjsrq = sdf.parse(jwgzjsrqStr); + } + if(dqbtbz==-1){ + dqbtbz=0; + } + JwCZInfoDetail build = JwCZInfoDetail.builder().lx(rs.getInt("lx")).jwczksrq(jwgzksrq).jwczjsrq(jwgzjsrq).jkdq(Integer.valueOf(jwgzdw1)).jkdqbtbz(dqbtbz).build(); + if(jkdqbt.containsKey(xm)){ + jkdqbt.get(xm).add(build); + }else { + ArrayList list = new ArrayList<>(); + list.add(build); + jkdqbt.put(xm,list); + } + }catch (Exception e){ + baseBean.writeLog(e); + } + } + return jkdqbt; + } + + - /** - * @description 判断月度绩效核算表中是否有该月数据 - * @return void - * @author Harryxzy - * @date 2022/9/8 17:25 - */ -// public boolean haveRecord(Date bonusMonth) { -// RecordSet rs = new RecordSet(); -// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); -// String sql ="select count(*) from uf_ydjxzj where JXSSYF ='"+sdf.format(bonusMonth)+"'"; -// rs.execute(sql); -// while (rs.next()){ -// int anInt = rs.getInt("count(*)"); -// if(anInt>1){ -// baseBean.writeLog("该绩效所属月已有核算记录"); -// return true; -// } -// } -// return false; -// } } diff --git a/src/com/engine/bjcj220907/service/impl/OverseasAllowanceCountServiceImpl.java b/src/com/engine/bjcj220907/service/impl/OverseasAllowanceCountServiceImpl.java index 3dd5153..8a64cbd 100644 --- a/src/com/engine/bjcj220907/service/impl/OverseasAllowanceCountServiceImpl.java +++ b/src/com/engine/bjcj220907/service/impl/OverseasAllowanceCountServiceImpl.java @@ -75,11 +75,13 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse baseBean.writeLog("调用考勤接口获取公务回国天数 及 缺勤天数,共:"+usersXSDJ.size()); // 封装薪酬等级、境外津贴标准、考勤天数 getXcdjAndJwjtbz(results,usersXSDJ,kqDatas); - // TODO:验证一下188 陈涛有没有考勤数据 结果不再是0.0 + // TODO:验证一下188 陈涛有没有考勤数据 结果不再是0.00 baseBean.writeLog("封装薪酬等级、境外津贴标准、考勤天数、境外实际常驻天数并计算实出勤天数、境外津贴,共:"+results.size()); - // 处理第三国出差艰苦地区补贴 - - + // 处理第三国出差(2)艰苦地区补贴 + Map> dsgccJkdq = getOverseasAllowanceDAO().getDsgcc(); + // 封装第三国出差数据到result中 + getDsgcc(results,dsgccJkdq,startAttendanceCal.getTime(),endAttendanceCal.getTime()); + System.out.println("hi"); } /** @@ -236,4 +238,22 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse } return formatJwCZInfos; } + + + /** + * @description 封装第三国出差数据到results中 + * @return void + * @author Harryxzy + * @date 2022/9/28 17:07 + */ + public List getDsgcc(List results,Map> dsgccJkdq,Date startAttendance,Date endAttendance) { + results.stream().forEach(jwjt->{ + Integer user = Integer.valueOf(jwjt.getUser()); + if(dsgccJkdq.containsKey(user)){ + // 该员工存在第三国出差数据 + + } + }); + return null; + } }