Browse Source

修改按季度填报及时率导出

yurk 2 năm trước cách đây
mục cha
commit
3208bd966e

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

@@ -7819,6 +7819,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         HttpRespMsg httpRespMsg=new HttpRespMsg();
         DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
         String startDate=null;
         String endDate=null;
@@ -7886,19 +7887,41 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<TimelinessRateVO> list = (List<TimelinessRateVO>) map.get("list");
         //String[] s={"人员","工号","部门","填报及时率"};
         String[] s={MessageUtils.message("entry.personnel"),MessageUtils.message("entry.No"),MessageUtils.message("excel.department"),MessageUtils.message("excel.timeFill")};
-        List<String> titleString = Arrays.asList(s);
+        List<String> titleString = new ArrayList<>(Arrays.asList(s));
+        for (Map<String, Object> objectMap : dataDetailList) {
+            List<Map<String,Object>> data = (List<Map<String, Object>>) objectMap.get("data");
+            Integer month = Integer.valueOf(String.valueOf(objectMap.get("month")));
+            for (Map<String, Object> datum : data) {
+                Integer week =Integer.valueOf(String.valueOf( datum.get("week")));
+                titleString.add(month+"月份第"+week+"周及时率");
+            }
+        }
         List<List<String>> dataList=new ArrayList<>();
         dataList.add(titleString);
         for (TimelinessRateVO timelinessRateVO : list) {
             List<String> item=new ArrayList<>();
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                item.add(timelinessRateVO.getCorpwxUserId()==null?"":timelinessRateVO.getCorpwxUserId());
+                item.add("$userName="+(timelinessRateVO.getCorpwxUserId()==null?"":timelinessRateVO.getCorpwxUserId())+"$");
             }else {
                 item.add(timelinessRateVO.getUserName());
             }
             item.add(timelinessRateVO.getJobNumber());
             item.add(timelinessRateVO.getDepartmentName());
             item.add(timelinessRateVO.getTimelinessRate());
+            for (Map<String, Object> objectMap : dataDetailList) {
+                List<Map<String,Object>> data = (List<Map<String, Object>>) objectMap.get("data");
+                for (Map<String, Object> datum : data) {
+                    Optional<User> first = userList.stream().filter(ul ->(ul.getJobNumber()!=null&&ul.getJobNumber().equals(timelinessRateVO.getJobNumber()))||ul.getName().equals(timelinessRateVO.getUserName())).findFirst();
+                    String startDate1 =String.valueOf( datum.get("startDate"));
+                    String endDate1 =String.valueOf( datum.get("endDate"));
+                    HttpRespMsg itemMsg = getUserReportTimelinessRate(request, startDate1, endDate1, null, first.get().getId(), null, null);
+                    HashMap itemMap= (HashMap) itemMsg.data;
+                    List<TimelinessRateVO> itemList = (List<TimelinessRateVO>) itemMap.get("list");
+                    for (TimelinessRateVO rateVO : itemList) {
+                        item.add(rateVO.getTimelinessRate());
+                    }
+                }
+            }
             dataList.add(item);
         }
         //生成excel文件导出