Min hace 10 meses
padre
commit
b0f7f2d506

+ 53 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserWithBeisenController.java

@@ -392,7 +392,7 @@ public class UserWithBeisenController {
                     }
                     leaveSheet.setLeaveType(leaveType);
                     leaveSheet.setRemark(jsonObject.getString("Reason"));
-                    leaveSheet.setStatus(jsonObject.getString("ApproveStatus").equals("通过")?0:jsonObject.getString("Reason").equals("审批中")?1:2);
+                    leaveSheet.setStatus(jsonObject.getString("ApproveStatus").equals("通过")?0:jsonObject.getString("ApproveStatus").equals("审批中")?1:2);
                     leaveSheet.setProcinstId(jsonObject.getString("VacationId"));
                     LeaveSheet one = leaveSheetService.getOne(new LambdaQueryWrapper<LeaveSheet>().eq(LeaveSheet::getProcinstId,leaveSheet.getProcinstId()).eq(LeaveSheet::getOwnerId, first.get().getId()).eq(LeaveSheet::getStartDate, leaveSheet.getStartDate()).eq(LeaveSheet::getEndDate, leaveSheet.getEndDate()));
                     if(one==null){
@@ -601,6 +601,58 @@ public class UserWithBeisenController {
                 userFvTime.setId(one.getId());
             }
             userFvTimeService.saveOrUpdate(userFvTime);
+            //同步休假数据到工时管家
+            List<LeaveSheet> leaveSheetList=new ArrayList<>();
+            for (int i = 0; i < vacationList.size(); i++) {
+                JSONObject jsonObject = vacationList.getJSONObject(i);
+                Optional<UserWithBeisen> beisen1 = userWithBeisenList.stream().filter(b -> b.getUserId().equals(jsonObject.getString("StaffId"))).findFirst();
+                if(beisen.isPresent()){
+                    Optional<User> first1 = userList.stream().filter(u -> u.getJobNumber().equals(beisen.get().getJobNumber())).findFirst();
+                    if(first.isPresent()){
+                        LeaveSheet leaveSheet=new LeaveSheet();
+                        leaveSheet.setCompanyId(beisenConfig.getCompanyId());
+                        leaveSheet.setStatus(0);
+                        leaveSheet.setOwnerId(first.get().getId());
+                        leaveSheet.setOwnerName(first.get().getName());
+                        leaveSheet.setStartDate(LocalDateTime.parse(String.valueOf(jsonObject.get("VacationStartDateTime")),df3).toLocalDate());
+                        leaveSheet.setEndDate(LocalDateTime.parse(String.valueOf(jsonObject.get("VacationStopDateTime")),df3).toLocalDate());
+                        leaveSheet.setTimeType(1);
+                        leaveSheet.setTimeDays(jsonObject.getFloatValue("DayValueOfDuration"));
+                        leaveSheet.setTimeHours(jsonObject.getFloatValue("VacationDuration")/60);
+                        Integer leaveType;
+                        switch (jsonObject.getString("VacationType")){
+                            case "事假":leaveType=0;
+                                break;
+                            case "病假":leaveType=1;
+                                break;
+                            case "年假":leaveType=2;
+                                break;
+                            case "产假":leaveType=3;
+                                break;
+                            case "婚假":leaveType=4;
+                                break;
+                            case "丧假":leaveType=5;
+                                break;
+                            case "调休":leaveType=6;
+                                break;
+                            case "陪产假":leaveType=7;
+                                break;
+                            default:leaveType=8;
+                        }
+                        leaveSheet.setLeaveType(leaveType);
+                        leaveSheet.setRemark(jsonObject.getString("Reason"));
+                        leaveSheet.setStatus(jsonObject.getString("ApproveStatus").equals("通过")?0:jsonObject.getString("ApproveStatus").equals("审批中")?1:2);
+                        leaveSheet.setProcinstId(jsonObject.getString("VacationId"));
+                        LeaveSheet one1 = leaveSheetService.getOne(new LambdaQueryWrapper<LeaveSheet>().eq(LeaveSheet::getOwnerId, first.get().getId()).eq(LeaveSheet::getStartDate, leaveSheet.getStartDate()).eq(LeaveSheet::getProcinstId,leaveSheet.getProcinstId()).eq(LeaveSheet::getEndDate, leaveSheet.getEndDate()));
+                        if(one1==null){
+                            leaveSheetList.add(leaveSheet);
+                        }
+                    }
+                }
+            }
+            if(leaveSheetList.size()>0){
+                leaveSheetService.saveOrUpdateBatch(leaveSheetList);
+            }
             msg.setData(userFvTime);
         } else {
             msg.setError("未找到对应员工信息:staffId="+withBeisen.get().getUserId());

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -2503,7 +2503,7 @@ public class TimingTask {
                     }
                     leaveSheet.setLeaveType(leaveType);
                     leaveSheet.setRemark(jsonObject.getString("Reason"));
-                    leaveSheet.setStatus(jsonObject.getString("ApproveStatus").equals("通过")?0:jsonObject.getString("Reason").equals("审批中")?1:2);
+                    leaveSheet.setStatus(jsonObject.getString("ApproveStatus").equals("通过")?0:jsonObject.getString("ApproveStatus").equals("审批中")?1:2);
                     leaveSheet.setProcinstId(jsonObject.getString("VacationId"));
                     LeaveSheet one = leaveSheetService.getOne(new LambdaQueryWrapper<LeaveSheet>().eq(LeaveSheet::getOwnerId, first.get().getId()).eq(LeaveSheet::getStartDate, leaveSheet.getStartDate()).eq(LeaveSheet::getProcinstId,leaveSheet.getProcinstId()).eq(LeaveSheet::getEndDate, leaveSheet.getEndDate()));
                     if(one==null){