瀏覽代碼

修改下载模版路径

main
1341924763@qq.com 4 天之前
父節點
當前提交
3e8768f4cd

二進制
ruoyi-admin/src/main/resources/template/template-guonei.xlsx 查看文件


二進制
ruoyi-admin/src/main/resources/template/template-riben.xls 查看文件


+ 29
- 1
zs-manager/src/main/java/com/ruoyi/zhushi/service/impl/DkRecordServiceImpl.java 查看文件

import okhttp3.Response; import okhttp3.Response;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;


import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.*; import java.time.*;
public void exportNew(DkCheckInRecordDTO dkCheckInRecordDTO, HttpServletResponse response) { public void exportNew(DkCheckInRecordDTO dkCheckInRecordDTO, HttpServletResponse response) {
// 获取所有人员 // 获取所有人员
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, "export"); LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, "export");

// 查询出所有人员
List<DkCheckInRecordDTO> dkCheckInRecordDTOS = dkMapper.selectVoList(queryWrapper); List<DkCheckInRecordDTO> dkCheckInRecordDTOS = dkMapper.selectVoList(queryWrapper);
if(dkCheckInRecordDTOS.size() == 0){
return;
}
try { try {
FileInputStream templateFile = null; FileInputStream templateFile = null;
InputStream inputStream = null;
Workbook workbook; Workbook workbook;
// 加载模板文件 // 加载模板文件
if(Constans.GUONEI.equals(dkCheckInRecordDTO.getModelType())){ if(Constans.GUONEI.equals(dkCheckInRecordDTO.getModelType())){
templateFile = new FileInputStream("template-guonei.xlsx"); templateFile = new FileInputStream("template-guonei.xlsx");
// DkRecordServiceImpl.class.getClassLoader().getResourceAsStream("template/template-guonei.xlsx");
ClassPathResource resource = new ClassPathResource("template/template-guonei.xlsx");
inputStream = resource.getInputStream();
} }
if(Constans.RIBEN.equals(dkCheckInRecordDTO.getModelType())){ if(Constans.RIBEN.equals(dkCheckInRecordDTO.getModelType())){
templateFile = new FileInputStream("template-riben.xlsx"); templateFile = new FileInputStream("template-riben.xlsx");
ClassPathResource resource = new ClassPathResource("template/template-riben.xlsx");
inputStream = resource.getInputStream();
} }
workbook = WorkbookFactory.create(templateFile);
workbook = WorkbookFactory.create(inputStream);
Sheet templateSheet = workbook.getSheetAt(0); Sheet templateSheet = workbook.getSheetAt(0);

// 遍历所有人员
for (int i = 0; i < dkCheckInRecordDTOS.size(); i++){ for (int i = 0; i < dkCheckInRecordDTOS.size(); i++){
DkCheckInRecordDTO dk = dkCheckInRecordDTOS.get(i); DkCheckInRecordDTO dk = dkCheckInRecordDTOS.get(i);


// 准备数据 // 准备数据
dkCheckInRecordDTO.setSysUserId(dk.getSysUserId()); dkCheckInRecordDTO.setSysUserId(dk.getSysUserId());
dkCheckInRecordDTO.setSysUserName(dk.getSysUserName()); dkCheckInRecordDTO.setSysUserName(dk.getSysUserName());
// 国内模版
if(Constans.GUONEI.equals(dkCheckInRecordDTO.getModelType())){ if(Constans.GUONEI.equals(dkCheckInRecordDTO.getModelType())){
// 构造导出数据
EmployeeAttendance attendanceData = prepareSampleData(dkCheckInRecordDTO); EmployeeAttendance attendanceData = prepareSampleData(dkCheckInRecordDTO);
// 填充数据到模板 // 填充数据到模板
if (attendanceData.getDayRecords().size() == 0){
return;
}
fillTemplate(newSheet, attendanceData); fillTemplate(newSheet, attendanceData);
} }
// 日本模版
if(Constans.RIBEN.equals(dkCheckInRecordDTO.getModelType())){ if(Constans.RIBEN.equals(dkCheckInRecordDTO.getModelType())){
// 构造导出数据
EmployeeAttendance attendanceData = prepareSampleDataRiBen(dkCheckInRecordDTO); EmployeeAttendance attendanceData = prepareSampleDataRiBen(dkCheckInRecordDTO);
// 填充数据到模板 // 填充数据到模板
if (attendanceData.getDayRecords().size() == 0){
return;
}
fillTemplateRiBen(newSheet, attendanceData); fillTemplateRiBen(newSheet, attendanceData);
} }


// 根据用户的ID查询该用户所有的打卡记录 // 根据用户的ID查询该用户所有的打卡记录
LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, null); LambdaQueryWrapper<DkCheckInRecord> queryWrapper = buildQueryWrapper(dkCheckInRecordDTO, null);
List<DkCheckInRecordDTO> dkCheckInRecordDTOS = dkMapper.selectVoList(queryWrapper); List<DkCheckInRecordDTO> dkCheckInRecordDTOS = dkMapper.selectVoList(queryWrapper);
if (dkCheckInRecordDTOS == null && dkCheckInRecordDTOS.isEmpty()){
return data;
}
// 构造excel数据 // 构造excel数据
for(DkCheckInRecordDTO dk : dkCheckInRecordDTOS){ for(DkCheckInRecordDTO dk : dkCheckInRecordDTOS){
// 根据打卡时间获取日期 // 根据打卡时间获取日期

二進制
zs-manager/src/main/resources/template/template-guonei.xlsx 查看文件


二進制
zs-manager/src/main/resources/template/template-riben.xls 查看文件


Loading…
取消
儲存