Просмотр исходного кода

景昱北森考勤同步修改,解决上班打卡时间是0001-01-01的问题

QuYueTing 3 недель назад
Родитель
Сommit
593fd13521

+ 5 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserWithBeisenController.java

@@ -179,14 +179,15 @@ public class UserWithBeisenController {
             msg.setError("当前员工在北森系统中不存在,请完成录入员工信息");
             return msg;
         }
+        String accessToken = BeiSenUtils.getToken(beisenConfig.getAppKey(), beisenConfig.getAppSecret());
 //        todo 获取指定日期的日报数据
-        JSONArray dailyReportList = BeiSenUtils.getDailyReportList(createDate, beisenConfig.getAppKey(), beisenConfig.getAppSecret(), 1, 100);
+        JSONArray dailyReportList = BeiSenUtils.getDailyReportList(createDate, accessToken, 1, 100);
 //        todo 获取到指定日期的考勤数据
         JSONObject item = BeiSenUtils.getAttendanceStatisticWithUser(createDate,withBeisen.get().getUserId(), beisenConfig.getAppKey(), beisenConfig.getAppSecret());
         //todo 获取到指定日期的加班数据
-        JSONArray allOverTimeList = BeiSenUtils.getOverTimeList(createDate,beisenConfig.getAppKey(),beisenConfig.getAppSecret(),1,100);
+        JSONArray allOverTimeList = BeiSenUtils.getOverTimeList(createDate,accessToken,1,100);
         //todo 获取到指定日期的休假数据
-        JSONArray vacationList = BeiSenUtils.getVacationList(createDate, beisenConfig.getAppKey(), beisenConfig.getAppSecret(),1,100);
+        JSONArray vacationList = BeiSenUtils.getVacationList(createDate, accessToken,1,100);
 
         //同步休假数据到工时管家
         List<LeaveSheet> leaveSheetList=new ArrayList<>();
@@ -250,7 +251,7 @@ public class UserWithBeisenController {
         if(first.isPresent()){
             boolean workDay = WorkDayCalculateUtils.isWorkDay(LocalDate.parse(createDate,df));
             if (firstCard != null && "0001-01-01 00:00:00".equals(firstCard)) {//自动修正上班打卡时间
-                firstCard = createDate + " 08:00:00";
+                firstCard = createDate + " 08:30:00";
             }
             //todo:针对景昱 工作日默认以8小时工作制度加上加班时长 非工作日以加班时长为准
             Double workTime;

+ 9 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ExceptionInfosSum.java

@@ -49,6 +49,15 @@ public class ExceptionInfosSum {
     @TableField(exist = false)
     private Integer absenteeismCount = 0;
 
+    //实际工作时长
+    @TableField(exist = false)
+    private Double actualWorkingHours = 0.0;
+
+    //标准工作时长
+    @TableField(exist = false)
+    private Double standardWorkingHours = 0.0;
+
+
     List<ExceptionInfosSum> childList;
 
 

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/Report.java

@@ -454,6 +454,12 @@ public class Report extends Model<Report> {
     @TableField("working_time_finance")
     private Double workingTimeFinance;
 
+    /**
+     * 是否为导入日报
+     */
+    @TableField("is_import")
+    private Boolean isImport;
+
     @TableField(exist = false)
     private List<AuditWorkflowTimeSetting> auditWorkflow;
 

+ 35 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ExceptionInfosServiceImpl.java

@@ -3,14 +3,12 @@ package com.management.platform.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.management.platform.entity.*;
-import com.management.platform.mapper.DepartmentMapper;
-import com.management.platform.mapper.ExceptionInfosMapper;
-import com.management.platform.mapper.UserMapper;
-import com.management.platform.mapper.WxCorpInfoMapper;
+import com.management.platform.mapper.*;
 import com.management.platform.service.ExcelExportService;
 import com.management.platform.service.ExceptionInfosService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.util.HttpRespMsg;
+import com.management.platform.util.WorkDayCalculateUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
@@ -20,6 +18,7 @@ import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * <p>
@@ -45,6 +44,8 @@ public class ExceptionInfosServiceImpl extends ServiceImpl<ExceptionInfosMapper,
     private ExcelExportService excelExportService;
     @Resource
     private WxCorpInfoMapper wxCorpInfoMapper;
+    @Resource
+    private ReportMapper reportMapper;
 
     @Override
     public HttpRespMsg getExceptionReport(Integer companyId, String ymonth, String userId) {
@@ -107,6 +108,36 @@ public class ExceptionInfosServiceImpl extends ServiceImpl<ExceptionInfosMapper,
                 sumItem.setChildList(childList);
             }
         }
+
+        //处理月度的人员实际填报工时和标准月度工时,不达标的作为异常数据加进去。
+        int workDays = WorkDayCalculateUtils.getWorkDaysCountInRange(startDate.toString(), endDate.toString(), 0);
+        double standardWorkHours = workDays * 8.0;
+        //获取report人员填报的工时数据
+        List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>()
+                .select("creator_id, sum(working_time) as working_time").eq("company_id", companyId)
+                .between("create_date", startDate, endDate).eq("state", 1).groupBy("creator_id").having("working_time < "+standardWorkHours));
+        for (Report report : reportList) {
+            User user = userList.stream().filter(ul -> ul.getId().equals(report.getCreatorId())).findFirst().orElse(null);
+            if (user != null) {
+                Optional<ExceptionInfosSum> optional = finalList.stream().filter(fl -> fl.getCorpwxUserid().equals(user.getCorpwxUserid())).findFirst();
+                if (optional.isPresent()) {
+                    ExceptionInfosSum exceptionInfosSum = optional.get();
+                    exceptionInfosSum.setActualWorkingHours(report.getWorkingTime());
+                    exceptionInfosSum.setStandardWorkingHours(standardWorkHours);
+                } else {
+                    //添加进去
+                    ExceptionInfosSum exceptionInfosSum = new ExceptionInfosSum();
+                    exceptionInfosSum.setCorpwxUserid(user.getCorpwxUserid());
+                    exceptionInfosSum.setUserName(user.getName());
+                    exceptionInfosSum.setActualWorkingHours(report.getWorkingTime());
+                    exceptionInfosSum.setStandardWorkingHours(standardWorkHours);
+                    if (user.getDepartmentId() != null && user.getDepartmentId() != 0) {
+                        departmentList.stream().filter(dl -> dl.getDepartmentId().equals(user.getDepartmentId())).findFirst().ifPresent(department -> exceptionInfosSum.setDepartmentName(department.getDepartmentName()));
+                    }
+                    finalList.add(exceptionInfosSum);
+                }
+            }
+        }
         httpRespMsg.setData(finalList);
         return httpRespMsg;
     }

+ 49 - 38
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -1821,7 +1821,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     }
 
     //保存日报的记录(提交和审核通过)
-    private void saveReportWithAuditLog(List<User> userList, List<Report> reportList) {
+    private void saveReportWithAuditLog(List<User> userList, List<Report> reportList, boolean showAutoApprove) {
         if (reportList.size() == 0) return;
         Report r = reportList.get(0);
         List<ReportLog> addLogList = new ArrayList<>();
@@ -1876,6 +1876,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             addLogDetailList.add(detail);
 
             //审核记录
+            System.out.println("report.getProjectAuditorId()==="+report.getProjectAuditorId());
             if (report.getProjectAuditorId() != null) {
                 String auditorId = report.getProjectAuditorId();
                 log = new ReportLog();
@@ -1892,7 +1893,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 User auditorUser = userList.stream().filter(u -> u.getId().equals(auditorId)).findFirst().orElse(null);
                 if (auditorUser != null) {
                     //日报审核
-                    log.setMsg(auditorUser.getName() + "审核通过了日报");
+                    log.setMsg(auditorUser.getName() + "审核通过了日报"+(showAutoApprove?"(自动审核)": ""));
                     log.setCompanyId(companyId);
                     addLogList.add(log);
 
@@ -6588,6 +6589,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                 report.setCreatorId(reportCreator.getId());
                                 report.setDeptId(reportCreator.getDepartmentId());
                                 report.setProjectId(project.getId());
+                                report.setIsImport(true);
                                 if (withCheckIn != null) {
                                     if (row.getCell(workContentIndex) != null) {
                                         workContent = row.getCell(workContentIndex).getStringCellValue().trim();
@@ -6853,13 +6855,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 msg.setError(MessageUtils.message("report.data"));
                 return msg;
             }
-            List<String> projectList = new ArrayList<>();
-            List<String> subProjectList = new ArrayList<>();
             List<Project> allProjectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
             List<SubProject> allSubProjectList = subProjectMapper.selectList(new QueryWrapper<SubProject>().eq("company_id", companyId));
             List<Report> reportList = new ArrayList<>();
 
-
             List<String> userNameList=new ArrayList<>();
             for (int rowIndex = 0; rowIndex <= rowNum; rowIndex++) {
                 Row row = sheet.getRow(rowIndex);
@@ -7040,12 +7039,18 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                             report.setWorkingTime(time);
                             report.setStage(stageName);
                             report.setContent(workContent);
+                            report.setIsImport(true);
                             report.setMultiWorktime(timeType.getMultiWorktime());
 //                            report.setFillUserid(user.getId());  导入时,处理为自己填写的
                             if (timeType.getImportReportAuditNormal() == 0) {
                                 //老的导入日报审核模式
                                 if (timeType.getNeedDeptAudit() == 0) {
                                     report.setState(1);//导入的直接算审核通过
+                                    //已通过的也要设置日报审核人,叠加审批流
+                                    if (timeType.getReportAuditType() == 0) {
+                                        //目前仅支持项目审核人审核的模式,叠加审批流
+                                        setReportProjectAuditor(company, project, user, report, reportCreator, timeType);
+                                    }
                                 } else {
                                     report.setState(-1);//待部门上级审核员审核
                                     report.setDepartmentAuditState(1);//部门已审核,到上层领导审核
@@ -7054,37 +7059,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                 report.setState(0);//待审核
                                 //目前仅支持项目审核人审核的模式,叠加审批流
                                 if (timeType.getReportAuditType() == 0) {
-                                    int mode = 0;
-                                    if (company.getNonProjectSimple() == 1) {
-                                        //启用了简易模式
-                                        List<ProjectAuditor> pAuditorList = new ArrayList<>();
-                                        if (project.getIsPublic() == 1) {
-                                            //非项目,该员工的部门主要负责人审核
-                                            mode = 1;
-                                            //优先取员工的上级领导
-                                            String superiorId = user.getSuperiorId();
-                                            if (superiorId == null) {
-                                                Integer departmentId = user.getDepartmentId();
-                                                Department department = departmentMapper.selectById(departmentId);
-                                                if (department != null) {
-                                                    superiorId = department.getManagerId();
-                                                }
-                                            }
-                                            report.setProjectAuditorId(superiorId);
-                                        }
-                                    }
-                                    if (mode == 0) {
-                                        //没有设置部门的审核人,按项目日报审核人设置
-                                        List<ProjectAuditor> projectAuditors = projectAuditorMapper.selectList(new QueryWrapper<ProjectAuditor>().eq("project_id", project.getId()));
-                                        if (projectAuditors.size() > 0) {
-                                            report.setProjectAuditorId(projectAuditors.get(0).getAuditorId());
-                                        }
-                                    }
-                                    List<AuditWorkflowTimeSetting> auditWorkflowList
-                                            = auditWorkflowTimeSettingMapper.selectList(
-                                            new QueryWrapper<AuditWorkflowTimeSetting>().eq("dept_id", reportCreator.getDepartmentId()).orderByAsc("seq"));
-                                    List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", reportCreator.getCompanyId()));
-                                    setReportWorkflowAuditor(auditWorkflowList, allDeptList, report,timeType);
+                                    setReportProjectAuditor(company, project, user, report, reportCreator, timeType);
                                 }
                             }
 
@@ -7147,7 +7122,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     reportService.saveBatch(reportList);
                     if (companyId == 7836) {//江西祥益鼎盛
                         //保存日报提交和审批记录
-                        saveReportWithAuditLog(allUserList, reportList);
+                        saveReportWithAuditLog(allUserList, reportList, true);
                     } else {
                         saveFillReportLog(reportList);
                     }
@@ -7217,6 +7192,40 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         return msg;
     }
 
+    private void setReportProjectAuditor(Company company, Project project, User user, Report report, User reportCreator, TimeType timeType) {
+        int mode = 0;
+        if (company.getNonProjectSimple() == 1) {
+            //启用了简易模式
+            List<ProjectAuditor> pAuditorList = new ArrayList<>();
+            if (project.getIsPublic() == 1) {
+                //非项目,该员工的部门主要负责人审核
+                mode = 1;
+                //优先取员工的上级领导
+                String superiorId = user.getSuperiorId();
+                if (superiorId == null) {
+                    Integer departmentId = user.getDepartmentId();
+                    Department department = departmentMapper.selectById(departmentId);
+                    if (department != null) {
+                        superiorId = department.getManagerId();
+                    }
+                }
+                report.setProjectAuditorId(superiorId);
+            }
+        }
+        if (mode == 0) {
+            //没有设置部门的审核人,按项目日报审核人设置
+            List<ProjectAuditor> projectAuditors = projectAuditorMapper.selectList(new QueryWrapper<ProjectAuditor>().eq("project_id", project.getId()));
+            if (projectAuditors.size() > 0) {
+                report.setProjectAuditorId(projectAuditors.get(0).getAuditorId());
+            }
+        }
+        List<AuditWorkflowTimeSetting> auditWorkflowList
+                = auditWorkflowTimeSettingMapper.selectList(
+                new QueryWrapper<AuditWorkflowTimeSetting>().eq("dept_id", reportCreator.getDepartmentId()).orderByAsc("seq"));
+        List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", reportCreator.getCompanyId()));
+        setReportWorkflowAuditor(auditWorkflowList, allDeptList, report,timeType);
+    }
+
     private void setReportWorkflowAuditor(List<AuditWorkflowTimeSetting> auditWorkflowList, List<Department> allDeptList, Report report, TimeType comTimeType) {
         if (auditWorkflowList.size() == 0) {
             //没有自定义审核流,默认的直接是项目负责人审核
@@ -13820,6 +13829,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         report.setMultiWorktime(timeType.getMultiWorktime());
                         report.setMultiDegrId(contentIds);
                         report.setContent(workContent);
+                        report.setIsImport(true);
                         if (timeType.getImportReportAuditNormal() == 0) {
                             //老的导入日报审核模式
                             if (timeType.getNeedDeptAudit() == 0) {
@@ -15831,6 +15841,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         report.setMultiWorktime(timeType.getMultiWorktime());
                         report.setContent(workContent);
                         report.setIsOvertime(isOvertime);
+                        report.setIsImport(true);
                         if (isOvertime == 1) {
                             report.setOvertimeHours(report.getWorkingTime());
                         }
@@ -15868,7 +15879,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     return msg;
                 } else {
                     reportService.saveBatch(reportList);
-                    saveReportWithAuditLog(allUserList, reportList);
+                    saveReportWithAuditLog(allUserList, reportList, false);
                     msg.data = dataCount;
                     String originName = fileName;
                     //定义一个独立的文件夹

+ 14 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserWithBeisenServiceImpl.java

@@ -87,12 +87,16 @@ public class UserWithBeisenServiceImpl extends ServiceImpl<UserWithBeisenMapper,
         JSONArray allDailyReportList=new JSONArray();
         List<LeaveSheet> leaveSheetList=new ArrayList<>();
 
+        String accessToken = BeiSenUtils.getToken(beisenConfig.getAppKey(), beisenConfig.getAppSecret());
         List<UserFvTime> userFvTimeList=new ArrayList<>();
         for (LocalDate localDate : workDaysListInRange) {
-            JSONArray statisticList = BeiSenUtils.getAttendanceStatistics(df.format(localDate), df.format(localDate), beisenConfig.getAppKey(), beisenConfig.getAppSecret(), 1, 100);
-            JSONArray overTimeList = BeiSenUtils.getOverTimeList(df.format(localDate), beisenConfig.getAppKey(), beisenConfig.getAppSecret(), 1, 100);
-            JSONArray vacationList = BeiSenUtils.getVacationList(df.format(localDate), beisenConfig.getAppKey(), beisenConfig.getAppSecret(),1,100);
-            JSONArray dailyReportList = BeiSenUtils.getDailyReportList(df.format(localDate), beisenConfig.getAppKey(), beisenConfig.getAppSecret(), 1, 100);
+            JSONArray statisticList = BeiSenUtils.getAttendanceStatistics(df.format(localDate), df.format(localDate), accessToken, 1, 100);
+//            if (statisticList != null && statisticList.toJSONString().contains("SR0028")) {
+//                System.out.println(statisticList.toJSONString());
+//            }
+            JSONArray overTimeList = BeiSenUtils.getOverTimeList(df.format(localDate), accessToken, 1, 100);
+            JSONArray vacationList = BeiSenUtils.getVacationList(df.format(localDate), accessToken,1,100);
+            JSONArray dailyReportList = BeiSenUtils.getDailyReportList(df.format(localDate), accessToken, 1, 100);
             allOverTimeList.addAll(overTimeList);
             attendanceStatistics.addAll(statisticList);
             allVacationList.addAll(vacationList);
@@ -170,15 +174,19 @@ public class UserWithBeisenServiceImpl extends ServiceImpl<UserWithBeisenMapper,
                 //获取最早上班打卡时间
                 List<LocalDateTime> minLocalTimeList = timeStream.filter(t -> t.getIntValue("Type") == 1).map(i -> LocalDateTime.parse(i.getString("ActualTime"),df1)).collect(Collectors.toList());
                 Optional<LocalDateTime> minOp = minLocalTimeList.stream().min(LocalDateTime::compareTo);
+                LocalDateTime min = minOp.get();
+                //缺卡数据:0001-01-01 00:00:00, 需要设置为默认当天8点半
+                if (min.toLocalDate().equals(LocalDate.parse("0001-01-01",df))) {
+                    min = localDate.atTime(8, 30, 0);
+                }
                 //获取最晚下班时间
                 List<LocalDateTime> maxLocalTimeList = timeStream1.filter(t -> t.getIntValue("Type") == 9).map(i -> LocalDateTime.parse(i.getString("ActualTime"),df1)).collect(Collectors.toList());
                 Optional<LocalDateTime> maxOp = maxLocalTimeList.stream().max(LocalDateTime::compareTo);
+                LocalDateTime max = maxOp.get();
                 if(first.isPresent()){
                     boolean workDay = WorkDayCalculateUtils.isWorkDay(localDate);
                     //todo:针对景昱 工作日默认以8小时工作制度加上加班时长 非工作日以加班时长为准
                     Double workTime;
-                    LocalDateTime min = minOp.get();
-                    LocalDateTime max = maxOp.get();
                     Duration between = Duration.between(min,max);
                     if(between.toHours()<=0){
                         continue;

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -1958,7 +1958,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                         }
                         ct.setOtStatus(otStatus);
                         //加班
-                        double overtime = convertDayTimeToHours(DateTimeUtil.getHoursFromSeconds(duration));
+                        double overtime = DateTimeUtil.getHoursFromSeconds(duration);
                         if (showLog) System.out.println("加班时长:"+overtime);
                         ct.setOtTime(overtime);
 
@@ -2022,7 +2022,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                                     if (outdoorTime == null) {
                                         outdoorTime = 0.0;
                                     }
-                                    double otTime = convertDayTimeToHours(DateTimeUtil.getHoursFromSeconds(spItem.getInteger("duration")));
+                                    double otTime = DateTimeUtil.getHoursFromSeconds(spItem.getInteger("duration"));
                                     if (otTime > 8.0) {
                                         otTime = 8.0;
                                     }

+ 8 - 12
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/BeiSenUtils.java

@@ -189,13 +189,12 @@ public class BeiSenUtils {
     /**
      * 获取加班数据
      * */
-    public static JSONArray getOverTimeList(String createDate,String appkey,String appSecret,Integer pageIndex,Integer pageSize){
+    public static JSONArray getOverTimeList(String createDate,String accessToken,Integer pageIndex,Integer pageSize){
         String url = "https://openapi.italent.cn/AttendanceOpen/api/v1/AttendanceOvertime/GetOverTimeList";
         HttpHeaders headers = new HttpHeaders();
         RestTemplate restTemplate = new RestTemplate();
         MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
         headers.setContentType(type);
-        String accessToken = getToken(appkey,appSecret);
         headers.add("Authorization","Bearer "+accessToken);
         JSONObject requestMap = new JSONObject();
         requestMap.put("OverTimeDate",createDate);
@@ -215,7 +214,7 @@ public class BeiSenUtils {
                 lastJSONArray.addAll(target);
                 if (target.size()>0){
                     pageIndex++;
-                    JSONArray overTimeList = getOverTimeList(createDate, appkey, appSecret, pageIndex, pageSize);
+                    JSONArray overTimeList = getOverTimeList(createDate, accessToken, pageIndex, pageSize);
                     lastJSONArray.addAll(overTimeList);
                 }
             }
@@ -230,13 +229,12 @@ public class BeiSenUtils {
     /**
      * 获取考勤数据
      * */
-    public static JSONArray getAttendanceStatistics(String startDate,String endDate,String appkey,String appSecret,Integer pageIndex,Integer pageSize){
+    public static JSONArray getAttendanceStatistics(String startDate,String endDate,String accessToken,Integer pageIndex,Integer pageSize){
         String url = "https://openapi.italent.cn/AttendanceOpen/api/v1/AttendanceStatistics/get";
         HttpHeaders headers = new HttpHeaders();
         RestTemplate restTemplate = new RestTemplate();
         MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
         headers.setContentType(type);
-        String accessToken = getToken(appkey,appSecret);
         headers.add("Authorization","Bearer "+accessToken);
         JSONObject requestMap = new JSONObject();
         requestMap.put("StartDate",startDate);
@@ -255,7 +253,7 @@ public class BeiSenUtils {
                 lastJSONArray.addAll(target);
                 if (target.size()>0){
                     pageIndex++;
-                    JSONArray overTimeList = getAttendanceStatistics(startDate,endDate, appkey, appSecret, pageIndex, pageSize);
+                    JSONArray overTimeList = getAttendanceStatistics(startDate,endDate, accessToken, pageIndex, pageSize);
                     lastJSONArray.addAll(overTimeList);
                 }
             }
@@ -315,13 +313,12 @@ public class BeiSenUtils {
     /**
      * 获取人员休假数据
      * */
-    public static JSONArray getVacationList(String day,String appkey,String appSecret,Integer pageIndex,Integer pageSize){
+    public static JSONArray getVacationList(String day,String accessToken,Integer pageIndex,Integer pageSize){
         String url = "https://openapi.italent.cn/AttendanceOpen/api/v1/Vacation/GetList";
         HttpHeaders headers = new HttpHeaders();
         RestTemplate restTemplate = new RestTemplate();
         MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
         headers.setContentType(type);
-        String accessToken = getToken(appkey,appSecret);
         headers.add("Authorization","Bearer "+accessToken);
         JSONObject requestMap = new JSONObject();
         requestMap.put("Day",day);
@@ -339,7 +336,7 @@ public class BeiSenUtils {
                 lastJSONArray.addAll(target);
                 if (target.size()>0){
                     pageIndex++;
-                    JSONArray overTimeList = getVacationList(day, appkey, appSecret, pageIndex, pageSize);
+                    JSONArray overTimeList = getVacationList(day, accessToken, pageIndex, pageSize);
                     lastJSONArray.addAll(overTimeList);
                 }
             }
@@ -350,13 +347,12 @@ public class BeiSenUtils {
     /**
      * 获取人员日报数据
      * */
-    public static JSONArray getDailyReportList(String day,String appkey,String appSecret,Integer pageIndex,Integer pageSize){
+    public static JSONArray getDailyReportList(String day,String accessToken,Integer pageIndex,Integer pageSize){
         String url = "https://openapi.italent.cn/AttendanceOpen/api/v1/DailyReport/GetList";
         HttpHeaders headers = new HttpHeaders();
         RestTemplate restTemplate = new RestTemplate();
         MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
         headers.setContentType(type);
-        String accessToken = getToken(appkey,appSecret);
         headers.add("Authorization","Bearer "+accessToken);
         JSONObject requestMap = new JSONObject();
         requestMap.put("Day",day);
@@ -374,7 +370,7 @@ public class BeiSenUtils {
                 lastJSONArray.addAll(target);
                 if (target.size()>0){
                     pageIndex++;
-                    JSONArray dailyReportList = getDailyReportList(day, appkey, appSecret, pageIndex, pageSize);
+                    JSONArray dailyReportList = getDailyReportList(day, accessToken, pageIndex, pageSize);
                     lastJSONArray.addAll(dailyReportList);
                 }
             }

Разница между файлами не показана из-за своего большого размера
+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml