|
@@ -53,10 +53,13 @@ public class KYHQServiceImpl extends ServiceImpl<AdvancedLeaveMapper, AdvancedLe
|
|
|
private String opUserId;
|
|
|
|
|
|
//虹桥凯悦-年假(测试)
|
|
|
- private static final String LEAVE_CODE = "9e87c02b-3825-4662-90b5-89968ed73271";
|
|
|
+// private static final String LEAVE_CODE = "9e87c02b-3825-4662-90b5-89968ed73271";
|
|
|
|
|
|
//虹桥凯悦-年假
|
|
|
-// private static final String LEAVE_CODE = "126b5424-fce2-4e77-a981-9efa3d240b1a";
|
|
|
+ private static final String LEAVE_CODE = "126b5424-fce2-4e77-a981-9efa3d240b1a";
|
|
|
+
|
|
|
+ //虹桥凯悦-补休假
|
|
|
+ private static final String COMPENSATORY_LEAVE_CODE = "b57e2a2a-b553-4955-b2a2-21c9f42f5420";
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -228,7 +231,7 @@ public class KYHQServiceImpl extends ServiceImpl<AdvancedLeaveMapper, AdvancedLe
|
|
|
//合同续签数附加年假数
|
|
|
int additiveYearLeave = Math.min(contractRenewCount, 2) * 2;
|
|
|
if (!flag1 && !flag2){
|
|
|
- long day1 = DateUtil.betweenDay(beginDate, today, true);
|
|
|
+ long day1 = DateUtil.betweenDay(beginDate, today, true) + 1;
|
|
|
yearLeave = (double) (day1 * (positionLevelBaseNum + additiveYearLeave)) / yearDays ;
|
|
|
log.info("day1:{},yearLeave:{}", day1, yearLeave);
|
|
|
}
|
|
@@ -338,15 +341,22 @@ public class KYHQServiceImpl extends ServiceImpl<AdvancedLeaveMapper, AdvancedLe
|
|
|
.eq(AdvancedLeave::getCity,"hq");
|
|
|
AdvancedLeave advancedLeave = advancedLeaveMapper.selectOne(advancedLeaveLambdaQueryWrapper);
|
|
|
if (Objects.nonNull(advancedLeave)){
|
|
|
- advanceLeave = Double.valueOf(advancedLeave.getLeaveNum());
|
|
|
- }
|
|
|
- else {
|
|
|
- advancedLeave = new AdvancedLeave();
|
|
|
+// advanceLeave = Double.valueOf(advancedLeave.getLeaveNum());
|
|
|
//年假余额大于3时 默认3
|
|
|
if (annualLeaveNum.compareTo(new BigDecimal(3)) > 0){
|
|
|
annualLeaveNum = new BigDecimal(3);
|
|
|
}
|
|
|
advanceLeave = Double.parseDouble(annualLeaveNum.subtract(annualLeaveNum.remainder(new BigDecimal(0.5))).toString());
|
|
|
+
|
|
|
+ advancedLeave.setLeaveNum(advanceLeave+"");
|
|
|
+ advancedLeaveMapper.updateById(advancedLeave);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ advancedLeave = new AdvancedLeave();
|
|
|
+
|
|
|
+ //todo 暂时预支假全都设置为3天
|
|
|
+ //todo 数据表里任何年份都没有记录时 默认预支假为3天
|
|
|
+ advanceLeave = 3.0;
|
|
|
advancedLeave.setLeaveNum(advanceLeave + "");
|
|
|
advancedLeave.setUserId(userId);
|
|
|
advancedLeave.setYear(String.valueOf(DateUtil.year(new Date())));
|
|
@@ -443,11 +453,19 @@ public class KYHQServiceImpl extends ServiceImpl<AdvancedLeaveMapper, AdvancedLe
|
|
|
|
|
|
@Override
|
|
|
public McR updateEmployeeAnnualLeaveNum() {
|
|
|
- Map map = new HashMap();
|
|
|
- map.put("userid_list","344749020127590108,253434204020308091");
|
|
|
-
|
|
|
- return McR.success(getEmployeeAnnualLeaveNum(map));
|
|
|
- /* //获取员工userId集合
|
|
|
+ //todo 判断是否为年初发放假期 需结算去年剩余年假及预支假
|
|
|
+
|
|
|
+ /*Map map = new HashMap();
|
|
|
+ map.put("userid_list","07034546201728168740,2113283124-1542223746,19300251351266050," +
|
|
|
+ "22343929501006025,2637076242681552790,210923020533714801,0127630254681267291," +
|
|
|
+ "0212062847942884,223405500326169944,223405220520065633,6916170744997645," +
|
|
|
+ "01106868621835566487,01353526440831985926,244944086721553863,224357145420748352," +
|
|
|
+ "186968372439944177,01160321504926318343,2328291112840730,143138502720756172," +
|
|
|
+ "223957636824241514,224338250923294835,2513663129067457,266934003538366208," +
|
|
|
+ "01122260465221443604,01293332093240051487,390957690924124938");
|
|
|
+
|
|
|
+ return McR.success(getEmployeeAnnualLeaveNum(map));*/
|
|
|
+ //获取员工userId集合
|
|
|
List<String> userIdList = getEmployeeUserId();
|
|
|
//遍历集合给所有员工更新年假余额
|
|
|
List<Map> result = new ArrayList<>();
|
|
@@ -460,14 +478,8 @@ public class KYHQServiceImpl extends ServiceImpl<AdvancedLeaveMapper, AdvancedLe
|
|
|
result.add(getEmployeeAnnualLeaveNum(map));
|
|
|
}
|
|
|
log.info("result:{}",result);
|
|
|
-
|
|
|
- for (String userId : userIdList) {
|
|
|
- Map map = new HashMap();
|
|
|
- map.put("userid_list",userId);
|
|
|
- getEmployeeAnnualLeaveNum(map);
|
|
|
- }
|
|
|
-// return McR.success(result);
|
|
|
- }*/
|
|
|
+ }
|
|
|
+ return McR.success(result);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -487,7 +499,7 @@ public class KYHQServiceImpl extends ServiceImpl<AdvancedLeaveMapper, AdvancedLe
|
|
|
|
|
|
//查询员工年假余额
|
|
|
List<Map> leaveQuotasList = new ArrayList<>();
|
|
|
- getLeaveNum("5c8a4c95-09e1-4f2d-9712-5676e2e5a4fd",userId,0,50,leaveQuotasList);
|
|
|
+ getLeaveNum(LEAVE_CODE,userId,0,50,leaveQuotasList);
|
|
|
|
|
|
if (Objects.nonNull(leaveQuotasList)){
|
|
|
for (Map leaveQuotas : leaveQuotasList) {
|
|
@@ -516,7 +528,7 @@ public class KYHQServiceImpl extends ServiceImpl<AdvancedLeaveMapper, AdvancedLe
|
|
|
|
|
|
//获取员工补休假余额
|
|
|
List<Map> leaveQuotasList2 = new ArrayList<>();
|
|
|
- getLeaveNum("b57e2a2a-b553-4955-b2a2-21c9f42f5420",userId,0,10,leaveQuotasList2);
|
|
|
+ getLeaveNum(COMPENSATORY_LEAVE_CODE,userId,0,10,leaveQuotasList2);
|
|
|
|
|
|
//调休假余额
|
|
|
BigDecimal compensatoryLeaveNum = new BigDecimal(0.00);
|