@RequiresPermissions("system:statistical:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(AttPrimary attPrimary) {
List rs = new ArrayList();
Map mapRs = HkApiPerson.getOrgListByParent("root000000","1","100");
if (StringUtils.isNull(mapRs)){
return getDataTable(null);
}
List orgList = (List)mapRs.get("list");
for (Object o : orgList) {
AttPrimary attPrimaryOrg = new AttPrimary();
Map org = (Map) o;
// 获取各部门人数
Map stuList = HkApiPerson.getStuListByOrg("1","1000",String.valueOf(org.get("orgIndexCode")));
System.err.println(stuList);
org.put("stuCount",String.valueOf(stuList.get("total")));
// 获取今天各部门实际打卡人数
attPrimaryOrg.setOrgIndexCode(String.valueOf(org.get("orgIndexCode")));
if(StringUtils.isNotEmpty(attPrimary.getAccessTime())){
attPrimaryOrg.setAccessTime(attPrimary.getAccessTime());
}else {
attPrimaryOrg.setAccessTime(DateUtil.today());
}
List<AttPrimary> attPrimaries = attPrimaryService.selectAttPrimaryList(attPrimaryOrg);
attPrimaryOrg.setAccessTimeType("0");
List<AttPrimary> attPrimariesAm = attPrimaryService.selectAttPrimaryList(attPrimaryOrg);
// 下午实际打卡人数
attPrimaryOrg.setAccessTimeType("1");
List<AttPrimary> attPrimariesPm = attPrimaryService.selectAttPrimaryList(attPrimaryOrg);
// 去重
org.put("stuCountReal",attPrimaries.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(comparing(AttPrimary::getStuId))), ArrayList::new)).size());
org.put("stuCountRealAm",attPrimariesAm.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(comparing(AttPrimary::getStuId))), ArrayList::new)).size());
org.put("stuCountRealPm",attPrimariesPm.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(comparing(AttPrimary::getStuId))), ArrayList::new)).size());
rs.add(org);
}
return getDataTable(rs);
// String path = JsonReadUtil.class.getClassLoader().getResource("orgdemo.json").getPath();
// String s = readJsonFile(path);
// JSONObject jobj = JSON.parseObject(s);
// Map data = (Map)jobj.get("data");//构建JSONArray数组
// List orgList = (List) data.get("list");
// List rs = new ArrayList();
//
// for (Object o : orgList) {
// AttPrimary attPrimaryOrg = new AttPrimary();
// Map org = (Map) o;
// // 获取各部门人数
// org.put("stuCount",String.valueOf(30));
// // 获取当天各部门实际打卡人数
// attPrimaryOrg.setOrgIndexCode(String.valueOf(org.get("orgIndexCode")));
// if(StringUtils.isNotEmpty(attPrimary.getAccessTime())){
// attPrimaryOrg.setAccessTime(attPrimary.getAccessTime());
// }else {
// attPrimaryOrg.setAccessTime(DateUtil.today());
// }
// List<AttPrimary> attPrimaries = attPrimaryService.selectAttPrimaryList(attPrimaryOrg);
// // 早晨实际打卡人数
// attPrimaryOrg.setAccessTimeType("0");
// List<AttPrimary> attPrimariesAm = attPrimaryService.selectAttPrimaryList(attPrimaryOrg);
// // 下午实际打卡人数
// attPrimaryOrg.setAccessTimeType("1");
// List<AttPrimary> attPrimariesPm = attPrimaryService.selectAttPrimaryList(attPrimaryOrg);
// // 去重
// org.put("stuCountReal",attPrimaries.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(comparing(AttPrimary::getOrgIndexCode))), ArrayList::new)).size());
// org.put("stuCountRealAm",attPrimariesAm.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(comparing(AttPrimary::getOrgIndexCode))), ArrayList::new)).size());
// org.put("stuCountRealPm",attPrimariesPm.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(comparing(AttPrimary::getOrgIndexCode))), ArrayList::new)).size());
// rs.add(org);
// }
// return getDataTable(rs);
}