Browse Source

工作报告接口的修改

zhangjq 1 year ago
parent
commit
7913314da8

+ 3 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/controller/admin/report/vo/base/ReportBaseVO.java

@@ -56,4 +56,7 @@ public class ReportBaseVO {
     @Schema(description = "用户ID", example = "11742")
     private String userId;
 
+    @Schema(description = "部门id", example = "11742")
+    private String deptId;
+
 }

+ 18 - 18
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/report/ReportServiceImpl.java

@@ -146,12 +146,12 @@ public class ReportServiceImpl implements ReportService {
     @Override
     public Long createReport(ReportCreateReqVO createReqVO) {
         String loginUserId = SecurityFrameworkUtils.getLoginUserId();
-        AdminUserRespDTO user = adminUserApi.getUser(loginUserId).getData();
+//        AdminUserRespDTO user = adminUserApi.getUser(loginUserId).getData();
 
         ReportDO report = ReportConvert.INSTANCE.convert(createReqVO);
         report.setFillingDate(LocalDateTime.now());
         report.setUserId(loginUserId);
-        report.setDeptId(user.getDeptId());
+//        report.setDeptId(user.getDeptId());
         if (createReqVO.getReportId() == null) {
             // 执行新增操作
             reportMapper.insert(report);
@@ -188,17 +188,7 @@ public class ReportServiceImpl implements ReportService {
         LocalDateTime[] dateTimeRange = new LocalDateTime[]{getStartDateTime(reportStatisticReqDTO.getYear(), reportStatisticReqDTO.getMonth()), getEndDateTime(reportStatisticReqDTO.getYear(), reportStatisticReqDTO.getMonth())};
         attendanceSheetListReq.setAttendanceDate(dateTimeRange);
         List<StatisticAttendanceSheetData> statisticAttendanceSheetData = attendanceSheetService.statisticAttendanceData(attendanceSheetListReq, reportStatisticReqDTO.getReportType());
-        Map<String, Map<String, List<StatisticAttendanceSheetData>>> allAttendanceStatisticMap = new HashMap<>();
-        if("daily".equals(reportStatisticReqDTO.getReportType())){
-            allAttendanceStatisticMap = statisticAttendanceSheetData.stream().collect(
-                    Collectors.groupingBy(c -> c.getUserId() + "/" + c.getAttendanceDate().getYear() + "/" + c.getAttendanceDate().getMonthValue(),
-                            Collectors.groupingBy(c->c.getAttendanceDate().toLocalDate().toString()))); //考勤统计map 111/2024/2 -> value
 
-        }else{
-            allAttendanceStatisticMap = statisticAttendanceSheetData.stream().collect(
-                    Collectors.groupingBy(c -> c.getUserId() + "/" + c.getYear() + "/" + c.getMonth(),
-                            Collectors.groupingBy(c->c.getWeek().toString()))); //考勤统计map 111/2024/2 -> value
-        }
 
         //获取工作报告
         ReportReqDTO reportReqDTO = new ReportReqDTO();
@@ -207,20 +197,30 @@ public class ReportServiceImpl implements ReportService {
         reportReqDTO.setReportMonth(reportStatisticReqDTO.getMonth());
         reportReqDTO.setUserId(reportStatisticReqDTO.getUserId());
         List<ReportDO> reportList = reportMapper.selectList(reportReqDTO, deptIds);
+
+        List<String> userIds = reportList.stream().map(ReportDO::getUserId).distinct().collect(Collectors.toList());
+        Map<String, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
+        Set<String> deptIdSet = reportList.stream().map(ReportDO::getDeptId).collect(Collectors.toSet());
+        Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(deptIdSet);
+
+
         Map<String,  Map<String, List<ReportDO>>> allReportMap = new HashMap<>();
+        Map<String, Map<String, List<StatisticAttendanceSheetData>>> allAttendanceStatisticMap = new HashMap<>();
         if("daily".equals(reportStatisticReqDTO.getReportType())){
             allReportMap = reportList.stream().collect(Collectors.groupingBy(c -> c.getReportStartDate().getYear() + "/" +c.getReportStartDate().getMonthValue() + "/" + c.getDeptId() + "/" + c.getUserId(),
                     Collectors.groupingBy(c-> c.getReportStartDate().toLocalDate().toString(),Collectors.toList())));
+
+            allAttendanceStatisticMap = statisticAttendanceSheetData.stream().collect(
+                    Collectors.groupingBy(c -> c.getUserId() + "/" + c.getAttendanceDate().getYear() + "/" + c.getAttendanceDate().getMonthValue(),
+                            Collectors.groupingBy(c->c.getAttendanceDate().toLocalDate().toString()))); //考勤统计map 111/2024/2 -> value
         }else{
             allReportMap = reportList.stream().collect(Collectors.groupingBy(c -> c.getReportYear() + "/" + c.getReportMonth() + "/" + c.getDeptId() + "/" + c.getUserId(),
                     Collectors.groupingBy(c-> c.getReportWeek().toString(),Collectors.toList())));
-        }
-
 
-        List<String> userIds = reportList.stream().map(ReportDO::getUserId).distinct().collect(Collectors.toList());
-        Map<String, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
-        Set<String> deptIdSet = reportList.stream().map(ReportDO::getDeptId).collect(Collectors.toSet());
-        Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(deptIdSet);
+            allAttendanceStatisticMap = statisticAttendanceSheetData.stream().collect(
+                    Collectors.groupingBy(c -> c.getUserId() + "/" + c.getYear() + "/" + c.getMonth(),
+                            Collectors.groupingBy(c->c.getWeek().toString()))); //考勤统计map 111/2024/2 -> value
+        }
 
         //返回结果
         List<ReportStatisticRespVO> resultList = new ArrayList<>();

+ 7 - 5
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/reportworkload/ReportWorkloadServiceImpl.java

@@ -44,6 +44,7 @@ public class ReportWorkloadServiceImpl implements ReportWorkloadService {
     private ReportWorkloadMapper reportWorkloadMapper;
     @Resource
     private ProjectClient projectClient;
+
     @Override
     public List<ReportWorkloadRespVO> getReportWorkloadByRId(Long reportId) {
         List<ReportWorkloadRespVO> reportWorkloadList = ReportWorkloadConvert.INSTANCE.convertList(
@@ -53,9 +54,9 @@ public class ReportWorkloadServiceImpl implements ReportWorkloadService {
         projectDto.setPageSize(-1);
         projectDto.setUserId(SecurityFrameworkUtils.getLoginUserId());
         CommonResult<Page<ProjectVO>> projectPage = projectClient.getProjectPage(projectDto);
-        if(projectPage.isSuccess()){
+        if (projectPage.isSuccess()) {
             List<ProjectVO> projectList = projectPage.getData().getRecords();
-            reportWorkloadList.forEach(report->{
+            reportWorkloadList.forEach(report -> {
                 Optional<ProjectVO> projectOptional = projectList.stream().filter(c -> c.getId().equals(report.getProjectId())).findFirst();
                 report.setProjectName(projectOptional.get().getXmmc());
             });
@@ -72,9 +73,9 @@ public class ReportWorkloadServiceImpl implements ReportWorkloadService {
         projectDto.setPageSize(-1);
         projectDto.setUserId(SecurityFrameworkUtils.getLoginUserId());
         CommonResult<Page<ProjectVO>> projectPage = projectClient.getProjectPage(projectDto);
-        if(projectPage.isSuccess()){
+        if (projectPage.isSuccess()) {
             List<ProjectVO> projectList = projectPage.getData().getRecords();
-            reportWorkloadList.forEach(report->{
+            reportWorkloadList.forEach(report -> {
                 Optional<ProjectVO> projectOptional = projectList.stream().filter(c -> c.getId().equals(report.getProjectId())).findFirst();
                 report.setProjectName(projectOptional.get().getXmmc());
             });
@@ -95,6 +96,7 @@ public class ReportWorkloadServiceImpl implements ReportWorkloadService {
     @Transactional
     public void batchCreateReportWorkload(ReportCreateReqVO reportRequestVO) {
         Long reportId = reportRequestVO.getReportId();
+
         //删除之前的工作量
         LambdaQueryWrapper<ReportWorkloadDO> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ReportWorkloadDO::getReportId, reportId);
@@ -102,7 +104,7 @@ public class ReportWorkloadServiceImpl implements ReportWorkloadService {
 
         //新增工作量
         List<ReportWorkloadDO> workloadList = ReportConvert.INSTANCE.convertWLoadReq(reportRequestVO.getWeeklyWorkloadList());
-        workloadList.forEach(c->c.setReportId(reportId));
+        workloadList.forEach(c -> c.setReportId(reportId));
         reportWorkloadMapper.saveOrUpdateBatch(workloadList);
     }