Quellcode durchsuchen

成都凯越v2.0

wzy vor 11 Monaten
Ursprung
Commit
026e9d8d99

+ 26 - 11
mjava-kaiyue_cd/src/main/java/com/malk/kaiyue_cd/service/impl/KYCDServiceImpl.java

@@ -461,12 +461,12 @@ public class KYCDServiceImpl extends ServiceImpl<AdvancedLeaveMapper, AdvancedLe
     @Override
     public Map getUserLeaveInfo(String userId) {
 
-        LambdaQueryWrapper<AdvancedLeave> advancedLeaveLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        /*LambdaQueryWrapper<AdvancedLeave> advancedLeaveLambdaQueryWrapper = new LambdaQueryWrapper<>();
         advancedLeaveLambdaQueryWrapper.eq(AdvancedLeave::getUserId,userId)
                 .eq(AdvancedLeave::getYear,String.valueOf(DateUtil.year(new Date())))
                 .eq(AdvancedLeave::getValidFlag,"1");
         AdvancedLeave advancedLeave = advancedLeaveMapper.selectOne(advancedLeaveLambdaQueryWrapper);
-
+*/
 
         Map leaveMap = new HashMap();
         //查询员工年假余额
@@ -482,25 +482,40 @@ public class KYCDServiceImpl extends ServiceImpl<AdvancedLeaveMapper, AdvancedLe
 
 
         //年假余额
-        double annualLeaveNum = 0;
+        double annualLeaveNum = 0.00;
+        //预支年假数量
+        double advancedLeaveNum = 8.00;
+
         if (Objects.nonNull(result1.get("leave_quotas"))){
             for (Map leaveQuotas : (List<Map>) result1.get("leave_quotas")) {
                 if (Objects.isNull(leaveQuotas.get("quota_num_per_hour")) && Objects.nonNull(leaveQuotas.get("quota_num_per_day"))){
                     annualLeaveNum += ((int) leaveQuotas.get("quota_num_per_day")) / 100.0;
                 }
             }
-            //预支年假数量
-            int advancedLeaveNum = 0;
-            if (Objects.nonNull(advancedLeave)){
+
+        }
+
+        /*if (Objects.nonNull(advancedLeave)){
                 advancedLeaveNum = advancedLeave.getLeaveNum();
             }else{
                 advancedLeaveNum = annualLeaveNum >= 8 ? 8 : (int)annualLeaveNum;
-            }
-
-            leaveMap.put("可预支年假",advancedLeaveNum);
-            leaveMap.put("实际年假余额",Math.max(0,NumberUtil.sub(annualLeaveNum,advancedLeaveNum)));
-            leaveMap.put("已预支年假",Math.max(0,Math.ceil(advancedLeaveNum-annualLeaveNum)));
+            }*/
+
+        if (annualLeaveNum >= 8){
+            annualLeaveNum = advancedLeaveNum - 8;
+            leaveMap.put("可预支年假",8);
+            leaveMap.put("实际年假余额",annualLeaveNum);
+            leaveMap.put("已预支年假",0);
+        }else {
+            double relYearLeave = annualLeaveNum % 0.5;
+            leaveMap.put("可预支年假",annualLeaveNum - relYearLeave);
+            leaveMap.put("实际年假余额",annualLeaveNum - 8);
+            leaveMap.put("已预支年假",8 - (annualLeaveNum - relYearLeave));
         }
+/*        leaveMap.put("可预支年假",Math.min(8,annualLeaveNum));
+        leaveMap.put("实际年假余额",NumberUtil.sub(annualLeaveNum,advancedLeaveNum));
+        leaveMap.put("已预支年假",Math.max(0,Math.ceil(advancedLeaveNum-annualLeaveNum)));*/
+