处理艰苦地区补贴天数
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)" +
|
||||
"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()+"," +
|
||||
(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())+"')";
|
||||
rs.execute(sql);
|
||||
String sql2 = "select max(id) as id from uf_jwcz";
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author Harryxzy
|
||||
* @date 2022/09/28 15:58
|
||||
|
|
@ -40,4 +42,14 @@ public class 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);
|
||||
baseBean.writeLog("封装薪酬等级、境外津贴标准、考勤天数、境外实际常驻天数并计算实出勤天数、境外津贴,共:"+results.size());
|
||||
// 处理第三国出差(2)、境外国内出差(3)艰苦地区补贴
|
||||
// 处理第三国出差(2)、境外国内出差(3)的艰苦地区补贴
|
||||
Map<Integer, List<JwCZInfoDetail>> dsgccJkdq = getOverseasAllowanceDAO().getDsgcc();
|
||||
baseBean.writeLog("获取第三国出差(2)、境外国内出差(3)艰苦地区补贴,共:"+dsgccJkdq.size());
|
||||
baseBean.writeLog("第三国出差(2)、境外国内出差(3)艰苦地区补贴:"+dsgccJkdq);
|
||||
// 封装第三国出差数、境外国内出差据到result中
|
||||
getDsgcc(results,dsgccJkdq,startAttendanceCal.getTime(),endAttendanceCal.getTime());
|
||||
// 处理艰苦地区补贴天数(境外常驻补贴天数=境外实出勤-第三国出差-?)
|
||||
handleJkdqDays(results);
|
||||
// 计算艰苦地区补贴合计
|
||||
coutJkdqbthj(results);
|
||||
// 四项补贴合计(天标准)*(公务回国工作日天数+境外国内出差工作日天数+国内工作日天数)
|
||||
// 四项补贴合计(天标准)*(公务回国工作日天数+国内工作日天数)
|
||||
countSxbthj(results);
|
||||
baseBean.writeLog("计算四项补贴合计:"+results.size());
|
||||
// 将结果插入建模表中
|
||||
|
|
@ -92,6 +94,39 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
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 计算艰苦地区补贴合计
|
||||
* @return void
|
||||
|
|
@ -140,7 +175,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
// 存入常驻天数用于计算艰苦地区补贴
|
||||
// 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()).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);
|
||||
} else {
|
||||
// 开始常驻日期在 考勤开始日期前(应出勤日期为自然日)
|
||||
|
|
@ -148,7 +183,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
// 存入常驻天数用于计算艰苦地区补贴
|
||||
// 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()).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();
|
||||
ArrayList<JKDQBT> jkdqbtList = new ArrayList<>();
|
||||
jkdqbtList.add(jk);
|
||||
|
|
@ -181,7 +216,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
}
|
||||
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()).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);
|
||||
}
|
||||
if (i == czDetails.size() - 1) {
|
||||
|
|
@ -360,7 +395,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
countEndCal.setTime(endAttendance);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@
|
|||
<map>
|
||||
<entry key="com.zeroturnaround.jrebel.FormatVersion" value="7.0.0" />
|
||||
<entry key="jrebelEnabled" value="true" />
|
||||
<entry key="lastExternalPluginCheckTime" value="1666149205549" />
|
||||
<entry key="lastExternalPluginCheckTime" value="1669881081342" />
|
||||
</map>
|
||||
</option>
|
||||
<option name="version" value="5" />
|
||||
<option name="version" value="10" />
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
|
|
|
|||
Loading…
Reference in New Issue