|
@@ -1,6 +1,7 @@
|
|
|
package com.jpsoft.employment.modules.base.controller;
|
|
|
|
|
|
import com.github.pagehelper.Page;
|
|
|
+import com.jpsoft.employment.config.OSSConfig;
|
|
|
import com.jpsoft.employment.modules.common.dto.MessageResult;
|
|
|
import com.jpsoft.employment.modules.common.dto.Sort;
|
|
|
import com.jpsoft.employment.modules.common.utils.OSSUtil;
|
|
@@ -10,12 +11,19 @@ import com.jpsoft.employment.modules.base.entity.GenerateReport;
|
|
|
import com.jpsoft.employment.modules.base.service.GenerateReportService;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
+import org.apache.poi.ss.usermodel.Cell;
|
|
|
+import org.apache.poi.ss.usermodel.Row;
|
|
|
+import org.apache.poi.ss.usermodel.Sheet;
|
|
|
+import org.apache.poi.ss.usermodel.Workbook;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.io.ByteArrayInputStream;
|
|
|
+import java.io.ByteArrayOutputStream;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
@@ -26,11 +34,14 @@ public class GenerateReportController {
|
|
|
|
|
|
@Autowired
|
|
|
private GenerateReportService generateReportService;
|
|
|
-
|
|
|
-
|
|
|
- @ApiOperation(value="创建空记录")
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OSSConfig ossConfig;
|
|
|
+
|
|
|
+
|
|
|
+ @ApiOperation(value = "创建空记录")
|
|
|
@GetMapping("create")
|
|
|
- public MessageResult<GenerateReport> create(){
|
|
|
+ public MessageResult<GenerateReport> create() {
|
|
|
MessageResult<GenerateReport> msgResult = new MessageResult<>();
|
|
|
|
|
|
GenerateReport generateReport = new GenerateReport();
|
|
@@ -41,14 +52,14 @@ public class GenerateReportController {
|
|
|
return msgResult;
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value="添加信息")
|
|
|
+ @ApiOperation(value = "添加信息")
|
|
|
@PostMapping("add")
|
|
|
- public MessageResult<GenerateReport> add(@RequestBody GenerateReport generateReport,@RequestAttribute String subject){
|
|
|
+ public MessageResult<GenerateReport> add(@RequestBody GenerateReport generateReport, @RequestAttribute String subject) {
|
|
|
MessageResult<GenerateReport> msgResult = new MessageResult<>();
|
|
|
|
|
|
try {
|
|
|
generateReport.setId(UUID.randomUUID().toString());
|
|
|
- generateReport.setDelFlag(false);
|
|
|
+ generateReport.setDelFlag(false);
|
|
|
generateReport.setCreateBy(subject);
|
|
|
generateReport.setCreateTime(new Date());
|
|
|
|
|
@@ -61,9 +72,8 @@ public class GenerateReportController {
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage("数据库添加失败");
|
|
|
}
|
|
|
- }
|
|
|
- catch(Exception ex){
|
|
|
- logger.error(ex.getMessage(),ex);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ logger.error(ex.getMessage(), ex);
|
|
|
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage(ex.getMessage());
|
|
@@ -72,9 +82,9 @@ public class GenerateReportController {
|
|
|
return msgResult;
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value="获取信息")
|
|
|
+ @ApiOperation(value = "获取信息")
|
|
|
@GetMapping("edit/{id}")
|
|
|
- public MessageResult<GenerateReport> edit(@PathVariable("id") String id){
|
|
|
+ public MessageResult<GenerateReport> edit(@PathVariable("id") String id) {
|
|
|
MessageResult<GenerateReport> msgResult = new MessageResult<>();
|
|
|
|
|
|
try {
|
|
@@ -87,9 +97,8 @@ public class GenerateReportController {
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage("数据库不存在该记录!");
|
|
|
}
|
|
|
- }
|
|
|
- catch(Exception ex){
|
|
|
- logger.error(ex.getMessage(),ex);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ logger.error(ex.getMessage(), ex);
|
|
|
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage(ex.getMessage());
|
|
@@ -98,15 +107,15 @@ public class GenerateReportController {
|
|
|
return msgResult;
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value="更新用户")
|
|
|
+ @ApiOperation(value = "更新用户")
|
|
|
@PostMapping("update")
|
|
|
- public MessageResult<GenerateReport> update(@RequestBody GenerateReport generateReport,@RequestAttribute String subject){
|
|
|
+ public MessageResult<GenerateReport> update(@RequestBody GenerateReport generateReport, @RequestAttribute String subject) {
|
|
|
MessageResult<GenerateReport> msgResult = new MessageResult<>();
|
|
|
|
|
|
try {
|
|
|
- generateReport.setUpdateBy(subject);
|
|
|
+ generateReport.setUpdateBy(subject);
|
|
|
generateReport.setUpdateTime(new Date());
|
|
|
-
|
|
|
+
|
|
|
int affectCount = generateReportService.update(generateReport);
|
|
|
|
|
|
if (affectCount > 0) {
|
|
@@ -116,9 +125,8 @@ public class GenerateReportController {
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage("数据库更新失败");
|
|
|
}
|
|
|
- }
|
|
|
- catch(Exception ex){
|
|
|
- logger.error(ex.getMessage(),ex);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ logger.error(ex.getMessage(), ex);
|
|
|
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage(ex.getMessage());
|
|
@@ -127,19 +135,19 @@ public class GenerateReportController {
|
|
|
return msgResult;
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value="删除用户")
|
|
|
+ @ApiOperation(value = "删除用户")
|
|
|
@PostMapping("delete/{id}")
|
|
|
- public MessageResult<GenerateReport> delete(@PathVariable("id") String id,@RequestAttribute String subject){
|
|
|
+ public MessageResult<GenerateReport> delete(@PathVariable("id") String id, @RequestAttribute String subject) {
|
|
|
MessageResult<GenerateReport> msgResult = new MessageResult<>();
|
|
|
|
|
|
try {
|
|
|
-
|
|
|
- GenerateReport generateReport = generateReportService.get(id);
|
|
|
+
|
|
|
+ GenerateReport generateReport = generateReportService.get(id);
|
|
|
generateReport.setDelFlag(true);
|
|
|
generateReport.setUpdateBy(subject);
|
|
|
generateReport.setUpdateTime(new Date());
|
|
|
-
|
|
|
- int affectCount = generateReportService.update(generateReport);
|
|
|
+
|
|
|
+ int affectCount = generateReportService.update(generateReport);
|
|
|
|
|
|
if (affectCount > 0) {
|
|
|
msgResult.setResult(true);
|
|
@@ -147,9 +155,8 @@ public class GenerateReportController {
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage("数据库删除失败");
|
|
|
}
|
|
|
- }
|
|
|
- catch(Exception ex){
|
|
|
- logger.error(ex.getMessage(),ex);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ logger.error(ex.getMessage(), ex);
|
|
|
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage(ex.getMessage());
|
|
@@ -159,9 +166,9 @@ public class GenerateReportController {
|
|
|
}
|
|
|
|
|
|
|
|
|
- @ApiOperation(value="批量删除")
|
|
|
+ @ApiOperation(value = "批量删除")
|
|
|
@PostMapping("batchDelete")
|
|
|
- public MessageResult<Integer> batchDelete(@RequestBody List<String> idList,@RequestAttribute String subject){
|
|
|
+ public MessageResult<Integer> batchDelete(@RequestBody List<String> idList, @RequestAttribute String subject) {
|
|
|
MessageResult<Integer> msgResult = new MessageResult<>();
|
|
|
|
|
|
try {
|
|
@@ -183,9 +190,8 @@ public class GenerateReportController {
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage("删除失败");
|
|
|
}
|
|
|
- }
|
|
|
- catch(Exception ex){
|
|
|
- logger.error(ex.getMessage(),ex);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ logger.error(ex.getMessage(), ex);
|
|
|
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage(ex.getMessage());
|
|
@@ -194,48 +200,144 @@ public class GenerateReportController {
|
|
|
return msgResult;
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value="列表")
|
|
|
- @RequestMapping(value = "pageList",method = RequestMethod.POST)
|
|
|
- public MessageResult<Map> pageList(
|
|
|
+ @ApiOperation(value = "列表")
|
|
|
+ @RequestMapping(value = "pageList", method = RequestMethod.POST)
|
|
|
+ public MessageResult<Object> pageList(
|
|
|
String dateRange,
|
|
|
- @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
|
|
|
- @RequestParam(value="pageSize",defaultValue="20") int pageSize,
|
|
|
- HttpServletRequest request){
|
|
|
- String subject = (String)request.getAttribute("subject");
|
|
|
+ @RequestParam(value = "pageIndex", defaultValue = "1") int pageIndex,
|
|
|
+ @RequestParam(value = "pageSize", defaultValue = "20") int pageSize,
|
|
|
+ @RequestParam(value = "exportFlag", defaultValue = "false") Boolean exportFlag,
|
|
|
+ HttpServletRequest request) {
|
|
|
+ String subject = (String) request.getAttribute("subject");
|
|
|
|
|
|
//当前用户ID
|
|
|
System.out.println(subject);
|
|
|
|
|
|
- MessageResult<Map> msgResult = new MessageResult<>();
|
|
|
+ MessageResult<Object> msgResult = new MessageResult<>();
|
|
|
|
|
|
- Map<String,Object> searchParams = new HashMap<>();
|
|
|
+ try{
|
|
|
+ Map<String, Object> searchParams = new HashMap<>();
|
|
|
|
|
|
- List<Sort> sortList = new ArrayList<>();
|
|
|
- sortList.add(new Sort("create_time","desc"));
|
|
|
+ List<Sort> sortList = new ArrayList<>();
|
|
|
+ sortList.add(new Sort("create_time", "desc"));
|
|
|
|
|
|
- if (StringUtils.isNotEmpty(dateRange)) {
|
|
|
- String[] date = dateRange.split(",");
|
|
|
- String startTime = date[0] + " 00:00:00";
|
|
|
- String endTime = date[1] + " 23:59:59";
|
|
|
- searchParams.put("startTime", startTime);
|
|
|
- searchParams.put("endTime", endTime);
|
|
|
- }
|
|
|
+ if (StringUtils.isNotEmpty(dateRange)) {
|
|
|
+ String[] date = dateRange.split(",");
|
|
|
+ String startTime = date[0] + " 00:00:00";
|
|
|
+ String endTime = date[1] + " 23:59:59";
|
|
|
+ searchParams.put("startTime", startTime);
|
|
|
+ searchParams.put("endTime", endTime);
|
|
|
+ }
|
|
|
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Page<GenerateReport> page = generateReportService.pageSearch(searchParams, pageIndex, pageSize, true, sortList);
|
|
|
+
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+
|
|
|
+ List<Map> mapList = new ArrayList<>();
|
|
|
+
|
|
|
+ for (GenerateReport generateReport : page) {
|
|
|
+ Map map = new HashMap();
|
|
|
+ if (generateReport.getDate() != null) {
|
|
|
+ String dateStr = sdf.format(generateReport.getDate());
|
|
|
+ generateReport.setDateStr(dateStr);
|
|
|
+ }
|
|
|
+
|
|
|
+ map.put("dateStr", generateReport.getDateStr());
|
|
|
+ map.put("loginNum", generateReport.getLoginNum());
|
|
|
+ map.put("totalLoginNum", generateReport.getTotalLoginNum());
|
|
|
+ map.put("personNum", generateReport.getPersonNum());
|
|
|
+ map.put("totalPersonNum", generateReport.getTotalPersonNum());
|
|
|
+ map.put("totalJobInformation", generateReport.getTotalJobInformation());
|
|
|
+ map.put("dailyPersonRegNum", generateReport.getDailyPersonRegNum());
|
|
|
+ map.put("totalPersonRegNum", generateReport.getTotalPersonRegNum());
|
|
|
+ map.put("enterpriseNum", generateReport.getEnterpriseNum());
|
|
|
+ map.put("totalEnterpriseNum", generateReport.getTotalEnterpriseNum());
|
|
|
+ map.put("recruitNum", generateReport.getRecruitNum());
|
|
|
+ map.put("totalRecruitNum", generateReport.getTotalRecruitNum());
|
|
|
+ map.put("totalRecruitStatusNum", generateReport.getTotalRecruitStatusNum());
|
|
|
+ map.put("jobInformationNum", generateReport.getJobInformationNum());
|
|
|
+ map.put("jobRequirementNum", generateReport.getJobRequirementNum());
|
|
|
+ map.put("totalJobRequirementNum", generateReport.getTotalJobRequirementNum());
|
|
|
+
|
|
|
+ mapList.add(map);
|
|
|
+ }
|
|
|
|
|
|
- Page<GenerateReport> page = generateReportService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
|
|
|
|
|
|
- for (GenerateReport generateReport:page) {
|
|
|
- if(generateReport.getDate()!=null){
|
|
|
- String dateStr = sdf.format(generateReport.getDate());
|
|
|
- generateReport.setDateStr(dateStr);
|
|
|
+ if (exportFlag) {
|
|
|
+ String filePath = exportXls(mapList);
|
|
|
+ msgResult.setData(filePath);
|
|
|
+ } else {
|
|
|
+ Map<String, Object> dataMap = new HashMap<>();
|
|
|
+ dataMap.put("data", mapList);
|
|
|
+ msgResult.setData(dataMap);
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
+ msgResult.setResult(true);
|
|
|
|
|
|
- msgResult.setResult(true);
|
|
|
- msgResult.setData(PojoUtils.pageWrapper(page));
|
|
|
+ } catch (Exception ex) {
|
|
|
+ logger.error(ex.getMessage(), ex);
|
|
|
+ msgResult.setResult(false);
|
|
|
+ }
|
|
|
|
|
|
return msgResult;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ private String exportXls(List<Map> mapList) {
|
|
|
+ String downloadUrl = "";
|
|
|
+
|
|
|
+ Workbook workbook = new HSSFWorkbook();
|
|
|
+ Sheet sheet = workbook.createSheet();
|
|
|
+
|
|
|
+ //表头
|
|
|
+ Row rowTitle = sheet.createRow(0);
|
|
|
+
|
|
|
+ String[] titles = new String[]{"序号", "日期", "新增登录人数", "累计登录人数", "今日注册人数", "累计注册人数", "新增求职登记人数", "累计求职登记人数", "累计简历数",
|
|
|
+ "新增线上认证企业数量", "累计认证企业数量", "新增岗位发布数量", "实时发布岗位数", "累计发布岗位数", "岗位需求人数", "累计岗位需求人数", "今日报名人数"};
|
|
|
+
|
|
|
+ for (int i = 0; i < titles.length; i++) {
|
|
|
+ Cell cell = rowTitle.createCell(i);
|
|
|
+ cell.setCellValue(titles[i]);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 0; i < mapList.size(); i++) {
|
|
|
+ Map<String, Object> map = mapList.get(i);
|
|
|
+
|
|
|
+ Row row = sheet.createRow(i + 1);
|
|
|
+
|
|
|
+ int colIndex = 0;
|
|
|
+ row.createCell(colIndex++).setCellValue(i + 1);
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("dateStr"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("loginNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("totalLoginNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("dailyPersonRegNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("totalPersonRegNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("personNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("totalPersonNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("totalJobInformation"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("enterpriseNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("totalEnterpriseNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("recruitNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("totalRecruitNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("totalRecruitStatusNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("jobRequirementNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("totalJobRequirementNum"), ""));
|
|
|
+ row.createCell(colIndex++).setCellValue(com.jpsoft.employment.modules.common.utils.StringUtils.strValue(map.get("jobInformationNum"), ""));
|
|
|
+ }
|
|
|
+
|
|
|
+ ByteArrayOutputStream output = new ByteArrayOutputStream();
|
|
|
+
|
|
|
+ try {
|
|
|
+ workbook.write(output);
|
|
|
+
|
|
|
+ byte[] buffer = output.toByteArray();
|
|
|
+ ByteArrayInputStream input = new ByteArrayInputStream(buffer);
|
|
|
+
|
|
|
+ downloadUrl = OSSUtil.upload(ossConfig, "generateReportList", "历史统计日报表.xls", input);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ logger.error(ex.getMessage(), ex);
|
|
|
+ }
|
|
|
+
|
|
|
+ return downloadUrl;
|
|
|
+ }
|
|
|
}
|