加入境外常驻地区的艰苦地区补贴
This commit is contained in:
parent
5cd4f4202b
commit
62593dd3ab
|
|
@ -47,6 +47,9 @@ public class OverseasAllowanceDAO {
|
|||
String jwgzdw1 = rs.getString("JWGZDW1");
|
||||
double dqbtbz = rs.getDouble("DQBTBZ");
|
||||
int lx = rs.getInt("lx");
|
||||
if(jwgzdw1 == ""){
|
||||
jwgzdw1="0";
|
||||
}
|
||||
if(dqbtbz == -1){
|
||||
dqbtbz =0.0;
|
||||
}
|
||||
|
|
@ -60,7 +63,7 @@ public class OverseasAllowanceDAO {
|
|||
if(jwgzjsrqStr!=null && jwgzjsrqStr.length()!=0){
|
||||
jwgzjsrq = sdf.parse(jwgzjsrqStr);
|
||||
}
|
||||
JwCZInfoDetail build = JwCZInfoDetail.builder().xm(rs.getString("xm")).lx(lx).jwczksrq(jwgzksrq).jwczjsrq(jwgzjsrq).jsglts(jsglts).glbtybz(btbz).jkdqbtbz(dqbtbz).jkdq(jwgzdw1).build();
|
||||
JwCZInfoDetail build = JwCZInfoDetail.builder().xm(rs.getString("xm")).lx(lx).jwczksrq(jwgzksrq).jwczjsrq(jwgzjsrq).jsglts(jsglts).glbtybz(btbz).jkdqbtbz(dqbtbz).jkdq(Integer.valueOf(jwgzdw1)).build();
|
||||
results.add(build);
|
||||
}catch (Exception e){
|
||||
baseBean.writeLog(e);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Harryxzy
|
||||
|
|
@ -93,11 +94,11 @@ public class JWJT {
|
|||
// * 艰苦地区补贴总和
|
||||
// */
|
||||
// private double jkdqbtzh;
|
||||
//
|
||||
// /**
|
||||
// * 艰苦地区补贴
|
||||
// */
|
||||
// private List<JKDQBT> jkdqbts;
|
||||
|
||||
/**
|
||||
* 艰苦地区补贴
|
||||
*/
|
||||
private List<JKDQBT> jkdqbts;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,8 +42,4 @@ public class JwCZInfo {
|
|||
*/
|
||||
private double glbtrbz;
|
||||
|
||||
// /**
|
||||
// * 考勤月份中境外应常驻天数
|
||||
// */
|
||||
// private Integer yczDays;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ public class JwCZInfoDetail {
|
|||
/**
|
||||
* 艰苦地区
|
||||
*/
|
||||
private String jkdq;
|
||||
private Integer jkdq;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
|
||||
BaseBean baseBean = new BaseBean();
|
||||
|
||||
|
||||
public MonthBonusDAO getMonthBonusDAO(){
|
||||
return new MonthBonusDAO();
|
||||
}
|
||||
|
|
@ -60,6 +59,8 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
List<JWJT> results = new ArrayList<>();
|
||||
jwCZInfos = getCZInfosAndCZDays(jwCZInfos, startAttendanceCal, endAttendanceCal,results);
|
||||
baseBean.writeLog("获取用户在考勤周期内存在境外常驻信息过滤出来,并且计算当月境外应常驻天数及境内工作天数,共::"+results.size());
|
||||
// 将jwCZInfos中的艰苦地区常驻天数封装到results中
|
||||
|
||||
// 计算考勤所属月员工的薪酬等级,获取相应的境外津贴标准
|
||||
List<String> users = results.stream().map(i -> i.getUser()).collect(Collectors.toList());
|
||||
Map<Integer, XcdjJwjtParam> usersXSDJ = getOverseasAllowanceDAO().getXCDJByUsers(users,startAttendanceCal);
|
||||
|
|
@ -75,7 +76,6 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
// 处理艰苦地区补贴
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -94,6 +94,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
int[] ycq = {0};
|
||||
int[] gnycq = {0};
|
||||
List<Date> details = new ArrayList<>();
|
||||
ArrayList<JKDQBT> jkdqbts = new ArrayList<>();
|
||||
for (int i = 0; i < czDetails.size(); i++) {
|
||||
JwCZInfoDetail detail = czDetails.get(i);
|
||||
if (detail.getLx() == 0 && (detail.getJwczksrq().before(endAttendanceCal.getTime()) || detail.getJwczksrq().equals(endAttendanceCal.getTime()))) {
|
||||
|
|
@ -104,10 +105,22 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
ycq[0] += days;
|
||||
countDay[0].setTime(detail.getJwczksrq());
|
||||
countDay[0].add(Calendar.DATE, -1);
|
||||
// 存入常驻天数用于计算艰苦地区补贴
|
||||
// int days1 = BjcjCommonUtils.getDays(detail.getJwczksrq(), endAttendanceCal.getTime());
|
||||
detail.setDays(days);
|
||||
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqbtbz(detail.getJkdqbtbz()).build();
|
||||
jkdqbts.add(jk);
|
||||
} else {
|
||||
// 开始常驻日期在 考勤开始日期前(应出勤日期为自然日)
|
||||
int days = BjcjCommonUtils.getDays(startAttendanceCal.getTime(), endAttendanceCal.getTime());
|
||||
// 存入常驻天数用于计算艰苦地区补贴
|
||||
// int days1 = BjcjCommonUtils.getDays(startAttendanceCal.getTime(), endAttendanceCal.getTime());
|
||||
detail.setDays(days);
|
||||
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqbtbz(detail.getJkdqbtbz()).build();
|
||||
JWJT build = JWJT.builder().user(czInfo.getXm()).jwycq(days).gngzts(0.0).kqMonth(endAttendanceCal.getTime()).build();
|
||||
ArrayList<JKDQBT> jkdqbtList = new ArrayList<>();
|
||||
jkdqbtList.add(jk);
|
||||
build.setJkdqbts(jkdqbtList);
|
||||
results.add(build);
|
||||
return true;
|
||||
}
|
||||
|
|
@ -123,6 +136,21 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
details.add(starCal.getTime());
|
||||
starCal.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
// 修正常驻开始时间和结束时间
|
||||
Calendar countStartCal = Calendar.getInstance();
|
||||
countStartCal.setTime(detail.getJwczksrq());
|
||||
Calendar countEndCal = Calendar.getInstance();
|
||||
countEndCal.setTime(detail.getJwczjsrq());
|
||||
if(countStartCal.getTime().before(startAttendanceCal.getTime())){
|
||||
countStartCal.setTime(startAttendanceCal.getTime());
|
||||
}
|
||||
if(countEndCal.getTime().after(endAttendanceCal.getTime())){
|
||||
countEndCal.setTime(endAttendanceCal.getTime());
|
||||
}
|
||||
int days = BjcjCommonUtils.getDays(countStartCal.getTime(), countEndCal.getTime());
|
||||
detail.setDays(days);
|
||||
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqbtbz(detail.getJkdqbtbz()).build();
|
||||
jkdqbts.add(jk);
|
||||
}
|
||||
if (i == czDetails.size() - 1) {
|
||||
// 已经将所有考勤周期内境外常驻的区间时间转换为记录
|
||||
|
|
@ -151,6 +179,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
}
|
||||
}
|
||||
JWJT build = JWJT.builder().user(czInfo.getXm()).jwycq(ycq[0]).gngzts(gnycq[0]).kqMonth(endAttendanceCal.getTime()).build();
|
||||
build.setJkdqbts(jkdqbts);
|
||||
results.add(build);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue