提交 98bc5199 authored 作者: zjm's avatar zjm

修改

上级 8cc8ed2f
流水线 #141 已取消 于阶段
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.entity.exl.DepartmentExl;
import com.zjty.tynotes.attendance.entity.vo.UserAttenVo;
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.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
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 java.util.stream.Collectors;
@Api(tags = "考勤模块", protocols = "http")
@RestController
@AutoDocument
@RequestMapping("/attendance")
@Slf4j
public class ExlController {
@Autowired
private AttendanceDetailsService attendanceDetailsService;
@PostMapping("/excel")
@ApiOperation(value = "导出元数据excel表格")
public void exportCurrentPage(HttpServletRequest request, HttpServletResponse response,@RequestBody AttenRequest attenRequest) {
log.info("元数据 正在执行单页excel导出任务...");
//把要导出的信息放在map里面
List<Map<String, Object>> excelList = new ArrayList<>();
//构建创建导出excel表格所需要的Workbook对象的map
//源数据
List<DepartmentExl> departmentExls = attendanceDetailsService.findDepartment(attenRequest).stream().map(UserAttenVo::convert).collect(Collectors.toList());
Map<String, Object> map = new HashMap<>(8);
String FpName=attenRequest.getStartDate()+"-"+attenRequest.getEndDate();
map.put("subFpName", FpName);
map.put("title", new ExportParams(FpName,FpName));
map.put("entity", DepartmentExl.class);
map.put("data",departmentExls);
excelList.add(map);
Workbook workbook = ExcelExportUtil.exportExcel(excelList, ExcelType.HSSF);
ExcelUtil.downloadExcel(request, response, workbook, FpName);
}
}
......@@ -13,23 +13,23 @@ import java.util.List;
public interface AttendanceDetailsDao extends MongoRepository<AttendanceDetails,String> {
AttendanceDetails findByUserId(String userId);
AttendanceDetails findByUserIdAndDate(String userId,Date date);
AttendanceDetails findByUserIdAndAttenDate(String userId,Date date);
List<AttendanceDetails> findAllByUserIdAndDateBetween(String userId,Date startDate,Date endDate);
List<AttendanceDetails> findAllByUserIdAndAttenDateBetween(String userId,Date startDate,Date endDate);
List<AttendanceDetails> findAllByUserIdAndDateBetweenAndIsThingLeaveDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndAttenDateBetweenAndIsThingLeaveDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndDateBetweenAndIsSickLeaveDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndAttenDateBetweenAndIsSickLeaveDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndDateBetweenAndIsLateDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndAttenDateBetweenAndIsLateDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndDateBetweenAndIsLeaveEarlyDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndAttenDateBetweenAndIsLeaveEarlyDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndDateBetweenAndIsOutSideBusinessDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndAttenDateBetweenAndIsOutSideBusinessDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndDateBetweenAndIsOutWorkDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndAttenDateBetweenAndIsOutWorkDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndDateBetweenAndIsAbsenteeismDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndAttenDateBetweenAndIsAbsenteeismDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndDateBetweenAndIsPaidLeaveDay(String userId,Date startDate,Date endDate,String type);
List<AttendanceDetails> findAllByUserIdAndAttenDateBetweenAndIsPaidLeaveDay(String userId,Date startDate,Date endDate,String type);
}
......@@ -2,6 +2,7 @@ package com.zjty.tynotes.attendance.dao;
import com.zjty.tynotes.attendance.entity.WorkoverAppro;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
......@@ -10,6 +11,7 @@ import java.util.List;
* @Author gwj
* @create 2020/4/13 13:02
*/
@Repository
public interface WorkoverApproDao extends MongoRepository<WorkoverAppro,String> {
WorkoverAppro findByUserIdContainsAndStatusAndDate(String userId, String status, Date date);
......
......@@ -13,7 +13,6 @@ import org.springframework.data.mongodb.core.mapping.Document;
@NoArgsConstructor
public class DepartmentExl {
@Excel(name = "用户姓名", orderNum = "1", width = 20)
private String name;
......
......@@ -65,6 +65,7 @@ public class UserAttenVo {
@ApiModelProperty(value = "旷工天数",example = "1")
private Float absenteeismDay;
public UserAttenVo() {
this.attendanceDay = 0;
this.realAttendanceDay = 0f;
......@@ -84,7 +85,9 @@ public class UserAttenVo {
public void computerRealAttendanceDay(){
realAttendanceDay = attendanceDay - outSideBusinessDay - outWorkDay - sickLeaveDay - absenteeismDay;
}
public DepartmentExl convert(){
......
......@@ -35,8 +35,6 @@ public class ApprovalInformationServiceImpl implements ApprovalInformationServic
@Autowired
private ApprovalInformationDao approvalInformationDao;
@Autowired
private AttendanceDetailsDao attendanceDetailsDao;
@Autowired
private IUserService iUserService;
@Autowired
private DepartmentDao departmentDao;
......
......@@ -62,7 +62,7 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
calendar.set(Calendar.DAY_OF_MONTH,0);
Date endTime = calendar.getTime();
List<Day> days = dayDao.findAllByStatusAndDateBetween("0", startTime, endTime);
List<AttendanceDetails> attendanceDetailsList = attendanceDetailsDao.findAllByUserIdAndDateBetween(request.getId(), startTime, endTime);
List<AttendanceDetails> attendanceDetailsList = attendanceDetailsDao.findAllByUserIdAndAttenDateBetween(request.getId(), startTime, endTime);
userAttenVo = new UserAttenVo();
userAttenVo.setUserId(request.getId());
Optional<User> optional = pasUserDao.findById(request.getId());
......
......@@ -741,7 +741,7 @@ public class CardTask {
try {
Date startTime = sdf.parse(sdf.format(start));
Date endTime = sdf.parse(sdf.format(end));
List<AttendanceDetails> attendanceDetails = attendanceDetailsDao.findAllByUserIdAndDateBetween(userId, startTime, endTime);
List<AttendanceDetails> attendanceDetails = attendanceDetailsDao.findAllByUserIdAndAttenDateBetween(userId, startTime, endTime);
if(attendanceDetails!=null){
attendanceDetails.forEach(attendanceDetails1 -> {
attendanceDetails1.getLateStatus();
......
......@@ -108,7 +108,6 @@ public interface WorkService {
/**
* 修改任务 组员
* @param taskId 任务id
*
* @param crews 组员名单
*/
......@@ -135,12 +134,6 @@ public interface WorkService {
int findBySuperoirIdCount(String SuperoirId);
// /**
// * 查看正在进行中的任务
// */
// List<Work> selectTimeWork();
/**
* 根据用户id查看其部门所有的任务
* @param userId 用户id
......
......@@ -11,10 +11,7 @@ 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.io.*;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
......@@ -56,10 +53,15 @@ public class ExcelUtil {
// 重置响应对象
response.reset();
String dateStr = excelName + ".xls";
System.out.println(dateStr);
try {
excelName= new String(excelName.getBytes(),"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// 指定下载的文件名--设置响应头
response.addHeader("Content-Disposition", "attachment;filename=" + dateStr);
response.addHeader("Content-Disposition", "attachment;filename=" + excelName+".xls");
response.setContentType("application/octet-stream;charset=UTF-8");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论