|
@@ -53,8 +53,10 @@ public class StatisticsController {
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping("/monthSystemApplyCount")
|
|
|
- public BaseResponse findMonthSystemDataCount(@RequestParam String dateStr) {
|
|
|
- Map<String, List<RegionSystemDataCount>> result = statisticsService.findMonthSystemDataCount(dateStr);
|
|
|
+ public BaseResponse findMonthSystemDataCount(@RequestParam String dateStr, @RequestParam(required = false) String regionCode,
|
|
|
+ @RequestParam(required = false) String institutionID,
|
|
|
+ @RequestParam(required = false) String siteID) {
|
|
|
+ Map<String, List<RegionSystemDataCount>> result = statisticsService.findMonthSystemDataCount(dateStr, regionCode, institutionID, siteID);
|
|
|
return RespGenerstor.success(result);
|
|
|
}
|
|
|
|
|
@@ -157,57 +159,78 @@ public class StatisticsController {
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping("/export/monthSystemApplyCount")
|
|
|
- public BaseResponse exportMonthSystemApplyCount(HttpServletResponse response, @RequestParam String dateStr) throws Exception {
|
|
|
- Map<String, List<RegionSystemDataCount>> result = statisticsService.findMonthSystemDataCount(dateStr);
|
|
|
+ public BaseResponse exportMonthSystemApplyCount(HttpServletResponse response,
|
|
|
+ @RequestParam String dateStr,
|
|
|
+ @RequestParam(required = false) String regionCode,
|
|
|
+ @RequestParam(required = false) String institutionID,
|
|
|
+ @RequestParam(required = false) String siteID) throws Exception {
|
|
|
+ Map<String, List<RegionSystemDataCount>> result = statisticsService.findMonthSystemDataCount(dateStr, regionCode, institutionID, siteID);
|
|
|
ExcelHelper.ExcelData data = excelHelper.new ExcelData();
|
|
|
// 设置标题区域
|
|
|
Map<String, CellRangeAddress> titleMap = new HashMap<>();
|
|
|
titleMap.put("项目", new CellRangeAddress(0, 1, 0, 0));
|
|
|
// 子标题
|
|
|
List<String> childrenTitle = new ArrayList<>(Arrays.asList(""));
|
|
|
- // 合并位置
|
|
|
+ // Excel数据
|
|
|
+ List<List<Object>> rowsData = new ArrayList();
|
|
|
+ // 初始合并位置
|
|
|
int firstCol = 1;
|
|
|
- // 生成周数标题
|
|
|
+ // 汇总有"驿站人员数量"
|
|
|
+ List<RegionSystemDataCount> 汇总 = result.get("汇总");
|
|
|
+ titleMap.put("汇总", new CellRangeAddress(0, 0, firstCol, firstCol + 3));
|
|
|
+ setRSDCExcelData(result.get("汇总"), rowsData, true);
|
|
|
+ // 填充子标题
|
|
|
+ childrenTitle.addAll(Arrays.asList("驿站人员数量","录入企业数量","收集岗位数量","登记求职人数"));
|
|
|
+ firstCol += 4;
|
|
|
+ // 生成周数标题,周数标题没有驿站人员数量
|
|
|
for (Map.Entry<String, List<RegionSystemDataCount>> entry : result.entrySet()) {
|
|
|
String key = entry.getKey();
|
|
|
- titleMap.put(key, new CellRangeAddress(0, 0, firstCol, firstCol + 3));
|
|
|
- // 填充子标题
|
|
|
- childrenTitle.addAll(Arrays.asList("驿站人员数量","录入企业数量","收集岗位数量","登记求职人数"));
|
|
|
- firstCol += 4;
|
|
|
+ if (!key.equals("汇总")){
|
|
|
+ titleMap.put(key, new CellRangeAddress(0, 0, firstCol, firstCol + 2));
|
|
|
+ // 填充子标题
|
|
|
+ childrenTitle.addAll(Arrays.asList("录入企业数量","收集岗位数量","登记求职人数"));
|
|
|
+ firstCol += 3;
|
|
|
+ setRSDCExcelData(result.get(key), rowsData,false);
|
|
|
+ }
|
|
|
}
|
|
|
data.setColspanTitles(Arrays.asList(titleMap));
|
|
|
data.setTitles(childrenTitle);
|
|
|
- // 开始生成数据
|
|
|
- List<List<Object>> rowsData = new ArrayList();
|
|
|
- // 遍历原始数据
|
|
|
- for (List<RegionSystemDataCount> valueList : result.values()) {
|
|
|
- for (RegionSystemDataCount item : valueList) {
|
|
|
- boolean found = false;
|
|
|
- // 判断最终结果中是否已经生成过相同的县区数据,如有则追加,不新建
|
|
|
- for (List<Object> existingRow : rowsData) {
|
|
|
- if (existingRow.get(0).equals(item.getRegionName())) {
|
|
|
+ data.setRows(rowsData);
|
|
|
+ excelHelper.exportExcel(response, data);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 系统月度使用情况Excel数据生成
|
|
|
+ */
|
|
|
+ public void setRSDCExcelData (List<RegionSystemDataCount> valueList, List<List<Object>> rowsData, Boolean isSiteUserCount){
|
|
|
+ for (RegionSystemDataCount item : valueList) {
|
|
|
+ boolean found = false;
|
|
|
+ // 判断最终结果中是否已经生成过相同的县区数据,如有则追加,不新建
|
|
|
+ for (List<Object> existingRow : rowsData) {
|
|
|
+ if (existingRow.get(0).equals(item.getRegionName())) {
|
|
|
+ if (isSiteUserCount){
|
|
|
existingRow.add(item.getSiteUserCount());
|
|
|
- existingRow.add(item.getCompanyCount());
|
|
|
- existingRow.add(item.getPostCount());
|
|
|
- existingRow.add(item.getJobUserCount());
|
|
|
- found = true;
|
|
|
- break;
|
|
|
}
|
|
|
+ existingRow.add(item.getCompanyCount());
|
|
|
+ existingRow.add(item.getPostCount());
|
|
|
+ existingRow.add(item.getJobUserCount());
|
|
|
+ found = true;
|
|
|
+ break;
|
|
|
}
|
|
|
- // 没有则新建
|
|
|
- if (!found) {
|
|
|
- List<Object> row = new ArrayList<>();
|
|
|
- row.add(item.getRegionName());
|
|
|
+ }
|
|
|
+ // 没有则新建
|
|
|
+ if (!found) {
|
|
|
+ List<Object> row = new ArrayList<>();
|
|
|
+ row.add(item.getRegionName());
|
|
|
+ if (isSiteUserCount){
|
|
|
row.add(item.getSiteUserCount());
|
|
|
- row.add(item.getCompanyCount());
|
|
|
- row.add(item.getPostCount());
|
|
|
- row.add(item.getJobUserCount());
|
|
|
- rowsData.add(row);
|
|
|
}
|
|
|
+ row.add(item.getCompanyCount());
|
|
|
+ row.add(item.getPostCount());
|
|
|
+ row.add(item.getJobUserCount());
|
|
|
+ rowsData.add(row);
|
|
|
}
|
|
|
}
|
|
|
- data.setRows(rowsData);
|
|
|
- excelHelper.exportExcel(response, data);
|
|
|
- return null;
|
|
|
}
|
|
|
}
|