提交 93cd067f authored 作者: zjm's avatar zjm

修改返回对象

上级 b3c374db
流水线 #120 已失败 于阶段
package com.zjty.tynotes.attendance.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import com.zjty.tynotes.attendance.dao.AttendanceDepartmentDao;
import com.zjty.tynotes.attendance.entity.ApprovalInformation;
import com.zjty.tynotes.attendance.entity.exl.DepartmentExl;
import com.zjty.tynotes.attendance.entity.vo.request.AttenRequest;
import com.zjty.tynotes.attendance.service.AttendanceDetailsService;
import com.zjty.tynotes.misc.config.AutoDocument;
import com.zjty.tynotes.misc.utils.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.extern.log4j.Log4j;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.springframework.http.ResponseEntity.ok;
/**
......@@ -17,14 +35,18 @@ import static org.springframework.http.ResponseEntity.ok;
* @create 2020/3/25 9:12
* @des 考勤信息统计
*/
@Api(tags = "考勤模块", protocols = "http")
@Api(tags = "考勤模块")
@RestController
@AutoDocument
@Slf4j
@RequestMapping("/attendance/info")
public class AttendanceController {
@Autowired
private AttendanceDetailsService attendanceDetailsService;
@Autowired
AttendanceDepartmentDao attendanceDepartmentDao;
@ApiOperation(value = "查询个人考勤信息", response = ApprovalInformation.class)
@PostMapping("/personnel")
public ResponseEntity personnel(@RequestBody AttenRequest request){
......@@ -37,4 +59,28 @@ public class AttendanceController {
return ok(attendanceDetailsService.findDepartment(request));
}
@PostMapping("/excel")
@ApiOperation(value = "导出元数据excel表格")
public void exportCurrentPage(HttpServletRequest request, HttpServletResponse response) {
log.info("元数据 正在执行单页excel导出任务...");
//把要导出的信息放在map里面
List<Map<String, Object>> excelList = new ArrayList<>();
//构建创建导出excel表格所需要的Workbook对象的map
// VoMetadataTableInfo voTableInfo= metaDataService.getVoTableInfo(dbName, name);
List<DepartmentExl> list=new ArrayList<>();
list.add(new DepartmentExl("占金明",22,22f,0f,0,0,0f,0f));
Map<String, Object> map = new HashMap<>(8);
map.put("subFpName", "3月");
map.put("title", new ExportParams("3月", "3月"));
map.put("entity", DepartmentExl.class);
map.put("data",list);
excelList.add(map);
Workbook workbook = ExcelExportUtil.exportExcel(excelList, ExcelType.HSSF);
ExcelUtil.downloadExcel(request, response, workbook, "3月");
}
}
package com.zjty.tynotes.attendance.entity.exl;
import cn.afterturn.easypoi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.mongodb.core.mapping.Document;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DepartmentExl {
@Excel(name = "用户姓名", orderNum = "1", width = 20)
private String name;
@Excel(name = "应出勤天数", orderNum = "2", width = 20)
private Integer attendanceDay;
@Excel(name = "实际出勤天数", orderNum = "3", width = 20)
private Float realAttendanceDay;
@Excel(name = "公出天数", orderNum = "4", width = 20)
private Float reasonableOutWorkDay;
@Excel(name = "迟到天数", orderNum = "5", width = 20)
private Integer lateDay;
@Excel(name = "早退天数", orderNum = "6", width = 20)
private Integer earlyDay;
@Excel(name = "出差天数", orderNum = "7", width = 20)
private Float outWorkDay;
@Excel(name = "请假天数", orderNum = "8", width = 20)
private Float offFromWorkDay;
}
......@@ -4,6 +4,8 @@ import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.repository.WorkRepository;
import com.zjty.tynotes.job.basic.service.PriviceService;
import com.zjty.tynotes.job.common.exception.NotFoundException;
import com.zjty.tynotes.pas.service.IUserService;
import org.reactivestreams.Publisher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -11,6 +13,9 @@ import org.springframework.stereotype.Service;
public class PriviceServiceImpl implements PriviceService {
@Autowired
WorkRepository workRepository;
@Autowired
IUserService iUserService;
@Override
public Work findByWorkIdWorkVo(String superoirId) {
return superoirIdWork(superoirId);
......@@ -27,6 +32,10 @@ public class PriviceServiceImpl implements PriviceService {
}
Work work= workRepository.findById(superoirId).get();
if (work.getSuperiorId()==null|| "".equals(work.getSuperiorId())){
String publisherName = iUserService.findUserById(work.getPublisher()).getUsername();
String executorName = iUserService.findUserById(work.getExecutor()).getUsername();
work.setPublisher(publisherName);
work.setExecutor(executorName);
return work;
}else {
return superoirIdWork(work.getSuperiorId());
......
......@@ -2,6 +2,7 @@ package com.zjty.tynotes.job.status.controller;
import com.zjty.tynotes.job.status.entity.ActionHistory;
import com.zjty.tynotes.job.status.service.ActionHistoryService;
import com.zjty.tynotes.job.status.service.RepairService;
import com.zjty.tynotes.misc.config.AutoDocument;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -26,6 +27,8 @@ public class ActionHistoryController {
@Autowired
private ActionHistoryService actionHistoryService;
@Autowired
RepairService repairService;
@GetMapping("/history")
@ApiOperation(value = "事件操作历史")
......@@ -37,4 +40,10 @@ public class ActionHistoryController {
return ResponseEntity.ok(actionHistoryService.findHistory(id));
}
@GetMapping("/dcToredis")
public ResponseEntity<String> dcToRedis(){
repairService.dbAllToRedis();
return ResponseEntity.ok("ok");
}
}
......@@ -42,7 +42,7 @@ public class RepairServiceImpl implements RepairService {
@Override
public void dbAllToRedis() {
workService.findAll();
workService.findAll().forEach(this::dbToRedis);
}
......@@ -92,6 +92,7 @@ public class RepairServiceImpl implements RepairService {
}else {
personalWork.setIsNotCommission(1);
}
personalWork.setExecutorEqualRelease(0);
break;
default:
......@@ -106,6 +107,7 @@ public class RepairServiceImpl implements RepairService {
uIds.remove(work.getPublisher());
uIds.remove(work.getExecutor());
personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK);
personalWork.setExecutorEqualRelease(0);
switch (work.getStatus()){
case WorkStatus
.AUDIT:
......@@ -150,12 +152,12 @@ public class RepairServiceImpl implements RepairService {
}else {
personalWork.setIsNotCommission(0);
}
break;
default:
personalWork.setIsNotCommission(0);
break;
}
personalWork.setExecutorEqualRelease(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getExecutor(), personalWork);
......@@ -166,6 +168,7 @@ public class RepairServiceImpl implements RepairService {
personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK);
personalWork.setReadState(1);
personalWork.setIsNotCommission(0);
personalWork.setExecutorEqualRelease(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + id, personalWork);
}
......
......@@ -16,6 +16,16 @@
<!--</properties>-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--swagger2 enable dependency-->
<dependency>
<groupId>org.springframework.boot</groupId>
......@@ -47,6 +57,24 @@
<artifactId>springfox-bean-validators</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>3.2.0</version>
</dependency>
</dependencies>
<build>
......
package com.zjty.tynotes.misc.utils;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class CustomException extends RuntimeException {
private static final long serialVersionUID = 2974448974512157353L;
public CustomException(String message) {
super(message);
}
public CustomException() {
}
}
package com.zjty.tynotes.misc.utils;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
/**
* fp-api.
*
* @author : Matrix [xhyrzldf@gmail.com]
* 18-11-15 .
*/
public class ExcelUtil {
public static void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName, boolean isCreateHeader, HttpServletResponse response) {
ExportParams exportParams = new ExportParams(title, sheetName);
exportParams.setCreateHeadRows(isCreateHeader);
defaultExport(list, pojoClass, fileName, response, exportParams);
}
public static void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName, HttpServletResponse response) {
defaultExport(list, pojoClass, fileName, response, new ExportParams(title, sheetName));
}
public static void exportExcel(List<Map<String, Object>> list, String fileName, HttpServletResponse response) {
defaultExport(list, fileName, response);
}
/**
* @param response HTTP response
* @param wb workbook
* @param excelName excelName名称
*/
public static void downloadExcel(HttpServletRequest request, HttpServletResponse response, Workbook wb, String excelName) {
// 判断数据
if (wb == null) {
throw new CustomException("workbook can not be null!");
}
// 重置响应对象
response.reset();
String dateStr = excelName + ".xls";
System.out.println(dateStr);
// 指定下载的文件名--设置响应头
response.addHeader("Content-Disposition", "attachment;filename=" + dateStr);
response.setContentType("application/octet-stream;charset=UTF-8");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, PATCH, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
// 写出数据输出流到页面
try {
OutputStream output = response.getOutputStream();
BufferedOutputStream bufferedOutPut = new BufferedOutputStream(output);
wb.write(bufferedOutPut);
bufferedOutPut.flush();
bufferedOutPut.close();
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void defaultExport(List<?> list, Class<?> pojoClass, String fileName, HttpServletResponse response, ExportParams exportParams) {
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list);
downLoadExcel(fileName, response, workbook);
}
private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) {
try {
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
workbook.write(response.getOutputStream());
} catch (IOException e) {
throw new CustomException(e.getMessage());
}
}
private static void defaultExport(List<Map<String, Object>> list, String fileName, HttpServletResponse response) {
Workbook workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF);
downLoadExcel(fileName, response, workbook);
}
public static <T> List<T> importExcel(String filePath, Integer titleRows, Integer headerRows, Class<T> pojoClass) {
if (StringUtils.isBlank(filePath)) {
return null;
}
ImportParams params = new ImportParams();
params.setTitleRows(titleRows);
params.setHeadRows(headerRows);
List<T> list;
try {
list = ExcelImportUtil.importExcel(new File(filePath), pojoClass, params);
} catch (NoSuchElementException e) {
throw new CustomException("模板不能为空");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException(e.getMessage());
}
return list;
}
public static <T> List<T> importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class<T> pojoClass) {
if (file == null) {
return null;
}
ImportParams params = new ImportParams();
params.setTitleRows(titleRows);
params.setHeadRows(headerRows);
List<T> list;
try {
list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params);
} catch (NoSuchElementException e) {
throw new CustomException("excel文件不能为空");
} catch (Exception e) {
throw new CustomException(e.getMessage());
}
return list;
}
}
......@@ -202,4 +202,5 @@ public class Init implements CommandLineRunner {
// iJobService.addJob(job);
// }
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论