处理艰苦地区补贴天数
This commit is contained in:
parent
5a09b065d4
commit
6b1d6dd49f
|
|
@ -223,7 +223,7 @@ public class OverseasAllowanceDAO {
|
||||||
"jwyczts,jwsjczts,qjtscgs,gwhgts,gwhggzrts,jwjtje,jkdqbtje,jwgl,jwglbtje,sxbtje,jwjtjehj,ffyf)" +
|
"jwyczts,jwsjczts,qjtscgs,gwhgts,gwhggzrts,jwjtje,jkdqbtje,jwgl,jwglbtje,sxbtje,jwjtjehj,ffyf)" +
|
||||||
"values('"+fieldValue+"','1','0','"+currDate+"','"+currTime+"',"+result.getUser()+","+result.getGngzts()+","+result.getGnscq()+",'"+result.getSfzh()+"','"+result.getXcdj()+"'," +
|
"values('"+fieldValue+"','1','0','"+currDate+"','"+currTime+"',"+result.getUser()+","+result.getGngzts()+","+result.getGnscq()+",'"+result.getSfzh()+"','"+result.getXcdj()+"'," +
|
||||||
result.getJwjtbz()+","+result.getJwglbtybz()+","+result.getJwglbtrbz()+","+result.getSxbzhjbz()+",'"+sdf2.format(result.getKqMonth())+"'," +result.getJwycq()+","+result.getJwscq()+"," +
|
result.getJwjtbz()+","+result.getJwglbtybz()+","+result.getJwglbtrbz()+","+result.getSxbzhjbz()+",'"+sdf2.format(result.getKqMonth())+"'," +result.getJwycq()+","+result.getJwscq()+"," +
|
||||||
(gnQq+jwQq)+","+result.getGwhg()+","+result.getGwhgWorkdays()+","+result.getJwjt()+","+result.getJkdqbthj()+","+result.getJwgl()+","+result.getJwycq()*result.getJwglbtrbz() +"," +
|
(gnQq+jwQq)+","+result.getGwhg()+","+result.getGwhgWorkdays()+","+result.getJwjt()+","+result.getJkdqbthj()+","+result.getJwgl()+","+result.getJwscq()*result.getJwglbtrbz() +"," +
|
||||||
result.getSxbzhj()+","+(result.getJwjt()+result.getJwycq()*result.getJwglbtrbz()+result.getJkdqbthj())+",'"+sdf2.format(sendMonthCal.getTime())+"')";
|
result.getSxbzhj()+","+(result.getJwjt()+result.getJwycq()*result.getJwglbtrbz()+result.getJkdqbthj())+",'"+sdf2.format(sendMonthCal.getTime())+"')";
|
||||||
rs.execute(sql);
|
rs.execute(sql);
|
||||||
String sql2 = "select max(id) as id from uf_jwcz";
|
String sql2 = "select max(id) as id from uf_jwcz";
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Harryxzy
|
* @author Harryxzy
|
||||||
* @date 2022/09/28 15:58
|
* @date 2022/09/28 15:58
|
||||||
|
|
@ -40,4 +42,14 @@ public class JKDQBT {
|
||||||
* 艰苦地区补贴总和
|
* 艰苦地区补贴总和
|
||||||
*/
|
*/
|
||||||
private double jkdqbt;
|
private double jkdqbt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 艰苦地区开始时间
|
||||||
|
*/
|
||||||
|
private Date jkdqKssj;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 艰苦地区结束时间
|
||||||
|
*/
|
||||||
|
private Date jkdqJssj;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -76,15 +76,17 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
||||||
// 封装计算薪酬等级、境外津贴标准、考勤天数、四项补助合计、公务回国国内工作日天数
|
// 封装计算薪酬等级、境外津贴标准、考勤天数、四项补助合计、公务回国国内工作日天数
|
||||||
getXcdjAndJwjtbz(results,usersXCDJ,kqDatas,validGwhgAndCountWorkdays,jwCZInfos);
|
getXcdjAndJwjtbz(results,usersXCDJ,kqDatas,validGwhgAndCountWorkdays,jwCZInfos);
|
||||||
baseBean.writeLog("封装薪酬等级、境外津贴标准、考勤天数、境外实际常驻天数并计算实出勤天数、境外津贴,共:"+results.size());
|
baseBean.writeLog("封装薪酬等级、境外津贴标准、考勤天数、境外实际常驻天数并计算实出勤天数、境外津贴,共:"+results.size());
|
||||||
// 处理第三国出差(2)、境外国内出差(3)艰苦地区补贴
|
// 处理第三国出差(2)、境外国内出差(3)的艰苦地区补贴
|
||||||
Map<Integer, List<JwCZInfoDetail>> dsgccJkdq = getOverseasAllowanceDAO().getDsgcc();
|
Map<Integer, List<JwCZInfoDetail>> dsgccJkdq = getOverseasAllowanceDAO().getDsgcc();
|
||||||
baseBean.writeLog("获取第三国出差(2)、境外国内出差(3)艰苦地区补贴,共:"+dsgccJkdq.size());
|
baseBean.writeLog("获取第三国出差(2)、境外国内出差(3)艰苦地区补贴,共:"+dsgccJkdq.size());
|
||||||
baseBean.writeLog("第三国出差(2)、境外国内出差(3)艰苦地区补贴:"+dsgccJkdq);
|
baseBean.writeLog("第三国出差(2)、境外国内出差(3)艰苦地区补贴:"+dsgccJkdq);
|
||||||
// 封装第三国出差数、境外国内出差据到result中
|
// 封装第三国出差数、境外国内出差据到result中
|
||||||
getDsgcc(results,dsgccJkdq,startAttendanceCal.getTime(),endAttendanceCal.getTime());
|
getDsgcc(results,dsgccJkdq,startAttendanceCal.getTime(),endAttendanceCal.getTime());
|
||||||
|
// 处理艰苦地区补贴天数(境外常驻补贴天数=境外实出勤-第三国出差-?)
|
||||||
|
handleJkdqDays(results);
|
||||||
// 计算艰苦地区补贴合计
|
// 计算艰苦地区补贴合计
|
||||||
coutJkdqbthj(results);
|
coutJkdqbthj(results);
|
||||||
// 四项补贴合计(天标准)*(公务回国工作日天数+境外国内出差工作日天数+国内工作日天数)
|
// 四项补贴合计(天标准)*(公务回国工作日天数+国内工作日天数)
|
||||||
countSxbthj(results);
|
countSxbthj(results);
|
||||||
baseBean.writeLog("计算四项补贴合计:"+results.size());
|
baseBean.writeLog("计算四项补贴合计:"+results.size());
|
||||||
// 将结果插入建模表中
|
// 将结果插入建模表中
|
||||||
|
|
@ -92,6 +94,39 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
||||||
baseBean.writeLog("将结果插入建模表中");
|
baseBean.writeLog("将结果插入建模表中");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 处理艰苦地区补贴天数(境外常驻补贴天数=境外实出勤-第三国出差-?)
|
||||||
|
* @return void
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/12/23 18:04
|
||||||
|
*/
|
||||||
|
private void handleJkdqDays(List<JWJT> results) {
|
||||||
|
results.forEach(result -> {
|
||||||
|
// 获取境外常驻的艰苦地区 和 第三国出差及境外国内出差的艰苦地区
|
||||||
|
ArrayList<JKDQBT> dsgAndJwgncc = new ArrayList<>();
|
||||||
|
List<JKDQBT> jwcc = result.getJkdqbts().stream().filter(j -> {
|
||||||
|
if (Objects.equals(j.getLx(), 0) || Objects.equals(j.getLx(), 1)) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
dsgAndJwgncc.add(j);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
if( dsgAndJwgncc.size() > 0 ){
|
||||||
|
// 常驻期内存在第三国出差或境外国内出差
|
||||||
|
dsgAndJwgncc.stream().forEach(dsg -> {
|
||||||
|
jwcc.stream().forEach(cc -> {
|
||||||
|
if(BjcjCommonUtils.isBetween(dsg.getJkdqKssj(), cc.getJkdqKssj(), cc.getJkdqJssj())){
|
||||||
|
cc.setDays(cc.getDays()-dsg.getDays());
|
||||||
|
cc.setJkdqbt(cc.getDays() * cc.getJkdqbtbz());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 计算艰苦地区补贴合计
|
* @description 计算艰苦地区补贴合计
|
||||||
* @return void
|
* @return void
|
||||||
|
|
@ -140,7 +175,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
||||||
// 存入常驻天数用于计算艰苦地区补贴
|
// 存入常驻天数用于计算艰苦地区补贴
|
||||||
// int days1 = BjcjCommonUtils.getDays(detail.getJwczksrq(), endAttendanceCal.getTime());
|
// int days1 = BjcjCommonUtils.getDays(detail.getJwczksrq(), endAttendanceCal.getTime());
|
||||||
detail.setDays(days);
|
detail.setDays(days);
|
||||||
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqbtbz(detail.getJkdqbtbz()).jkdqbt((days*detail.getJkdqbtbz())).build();
|
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqbtbz(detail.getJkdqbtbz()).jkdqbt((days*detail.getJkdqbtbz())).jkdqKssj(detail.getJwczksrq()).jkdqJssj( endAttendanceCal.getTime()).build();
|
||||||
jkdqbts.add(jk);
|
jkdqbts.add(jk);
|
||||||
} else {
|
} else {
|
||||||
// 开始常驻日期在 考勤开始日期前(应出勤日期为自然日)
|
// 开始常驻日期在 考勤开始日期前(应出勤日期为自然日)
|
||||||
|
|
@ -148,7 +183,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
||||||
// 存入常驻天数用于计算艰苦地区补贴
|
// 存入常驻天数用于计算艰苦地区补贴
|
||||||
// int days1 = BjcjCommonUtils.getDays(startAttendanceCal.getTime(), endAttendanceCal.getTime());
|
// int days1 = BjcjCommonUtils.getDays(startAttendanceCal.getTime(), endAttendanceCal.getTime());
|
||||||
detail.setDays(days);
|
detail.setDays(days);
|
||||||
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqbtbz(detail.getJkdqbtbz()).jkdqbt((days*detail.getJkdqbtbz())).build();
|
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqbtbz(detail.getJkdqbtbz()).jkdqbt((days*detail.getJkdqbtbz())).jkdqKssj(startAttendanceCal.getTime()).jkdqJssj( endAttendanceCal.getTime()).build();
|
||||||
JWJT build = JWJT.builder().user(czInfo.getXm()).sfzh(czInfo.getSfzh()).jwycq(days).gngzts(0.0).kqMonth(endAttendanceCal.getTime()).jwgl(czInfo.getJsglts()).jwglbtybz(czInfo.getGlbtybz()).jwglbtrbz(czInfo.getGlbtrbz()).build();
|
JWJT build = JWJT.builder().user(czInfo.getXm()).sfzh(czInfo.getSfzh()).jwycq(days).gngzts(0.0).kqMonth(endAttendanceCal.getTime()).jwgl(czInfo.getJsglts()).jwglbtybz(czInfo.getGlbtybz()).jwglbtrbz(czInfo.getGlbtrbz()).build();
|
||||||
ArrayList<JKDQBT> jkdqbtList = new ArrayList<>();
|
ArrayList<JKDQBT> jkdqbtList = new ArrayList<>();
|
||||||
jkdqbtList.add(jk);
|
jkdqbtList.add(jk);
|
||||||
|
|
@ -181,7 +216,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
||||||
}
|
}
|
||||||
int days = BjcjCommonUtils.getDays(countStartCal.getTime(), countEndCal.getTime());
|
int days = BjcjCommonUtils.getDays(countStartCal.getTime(), countEndCal.getTime());
|
||||||
detail.setDays(days);
|
detail.setDays(days);
|
||||||
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqbtbz(detail.getJkdqbtbz()).jkdqbt((days*detail.getJkdqbtbz())).build();
|
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqbtbz(detail.getJkdqbtbz()).jkdqbt((days*detail.getJkdqbtbz())).jkdqbt((days*detail.getJkdqbtbz())).jkdqKssj(countStartCal.getTime()).jkdqJssj( countEndCal.getTime()).build();
|
||||||
jkdqbts.add(jk);
|
jkdqbts.add(jk);
|
||||||
}
|
}
|
||||||
if (i == czDetails.size() - 1) {
|
if (i == czDetails.size() - 1) {
|
||||||
|
|
@ -360,7 +395,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
||||||
countEndCal.setTime(endAttendance);
|
countEndCal.setTime(endAttendance);
|
||||||
}
|
}
|
||||||
int days = BjcjCommonUtils.getDays(countStartCal.getTime(), countEndCal.getTime());
|
int days = BjcjCommonUtils.getDays(countStartCal.getTime(), countEndCal.getTime());
|
||||||
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqbtbz(detail.getJkdqbtbz()).jkdqbt((days * detail.getJkdqbtbz())).build();
|
JKDQBT jk = JKDQBT.builder().lx(detail.getLx()).days(days).jkdq(detail.getJkdq()).jkdqKssj(countStartCal.getTime()).jkdqJssj(countEndCal.getTime()).jkdqbtbz(detail.getJkdqbtbz()).jkdqbt((days * detail.getJkdqbtbz())).build();
|
||||||
jwjt.getJkdqbts().add(jk);
|
jwjt.getJkdqbts().add(jk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,10 @@
|
||||||
<map>
|
<map>
|
||||||
<entry key="com.zeroturnaround.jrebel.FormatVersion" value="7.0.0" />
|
<entry key="com.zeroturnaround.jrebel.FormatVersion" value="7.0.0" />
|
||||||
<entry key="jrebelEnabled" value="true" />
|
<entry key="jrebelEnabled" value="true" />
|
||||||
<entry key="lastExternalPluginCheckTime" value="1666149205549" />
|
<entry key="lastExternalPluginCheckTime" value="1669881081342" />
|
||||||
</map>
|
</map>
|
||||||
</option>
|
</option>
|
||||||
<option name="version" value="5" />
|
<option name="version" value="10" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</facet>
|
</facet>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue