Bläddra i källkod

导出模版增加汇总sheet

main
1341924763@qq.com 3 dagar sedan
förälder
incheckning
0231bcf7b0

+ 1
- 1
zs-manager/src/main/java/com/ruoyi/zhushi/entity/DayRecord.java Visa fil

@@ -5,7 +5,7 @@ import lombok.Data;
@Data
public class DayRecord {

private String day;
private int day;
private String weekday;
private String startTime;
private String endTime;

+ 37
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/entity/EmployeeAttendance.java Visa fil

@@ -12,6 +12,11 @@ public class EmployeeAttendance {
private int month;
private List<DayRecord> dayRecords;

private int chidaorenshu = 0;
private int chidaocishu = 0;
private int zaotuirenshu = 0;
private int zaotuicishu = 0;

// getters and setters

public long getUserId() {
@@ -77,4 +82,36 @@ public class EmployeeAttendance {
public void setDayRecords(List<DayRecord> dayRecords) {
this.dayRecords = dayRecords;
}

public int getChidaorenshu() {
return chidaorenshu;
}

public void setChidaorenshu(int chidaorenshu) {
this.chidaorenshu = chidaorenshu;
}

public int getChidaocishu() {
return chidaocishu;
}

public void setChidaocishu(int chidaocishu) {
this.chidaocishu = chidaocishu;
}

public int getZaotuirenshu() {
return zaotuirenshu;
}

public void setZaotuirenshu(int zaotuirenshu) {
this.zaotuirenshu = zaotuirenshu;
}

public int getZaotuicishu() {
return zaotuicishu;
}

public void setZaotuicishu(int zaotuicishu) {
this.zaotuicishu = zaotuicishu;
}
}

+ 401
- 77
zs-manager/src/main/java/com/ruoyi/zhushi/service/impl/DkRecordServiceImpl.java Visa fil

@@ -132,6 +132,14 @@ public class DkRecordServiceImpl implements DkRecordService {
FileInputStream templateFile = null;
InputStream inputStream = null;
Workbook workbook;
// 定义迟到人数
int latePersonCount = 0;
// 定义早退人数
int earlyPersonCount = 0;
// 定义迟到次数
int lateCount = 0;
// 定义早退次数
int earlyCount = 0;
// 加载模板文件
if(Constans.GUONEI.equals(dkCheckInRecordDTO.getModelType())){
// templateFile = new FileInputStream("template-guonei.xlsx");
@@ -145,14 +153,22 @@ public class DkRecordServiceImpl implements DkRecordService {
inputStream = resource.getInputStream();
}
workbook = WorkbookFactory.create(inputStream);
Sheet templateSheet = workbook.getSheetAt(0);
// Sheet templateSheet = workbook.getSheetAt(0);

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

// 获取每个人员的打卡记录并生成excel
// 自动检测文件格式并创建对应的 Workbook
for (int i = 0; i <= dkCheckInRecordDTOS.size(); i++){
int newSheetIndex = workbook.getNumberOfSheets();
if(i == dkCheckInRecordDTOS.size()){
workbook.createSheet("汇总");
workbook.setSheetName(newSheetIndex, "汇总");
// 获取新创建的Sheet
Sheet newSheet = workbook.getSheetAt(newSheetIndex);
fillTemplateHuiZong(newSheet, latePersonCount, earlyPersonCount, lateCount, earlyCount);
}else{
DkCheckInRecordDTO dk = dkCheckInRecordDTOS.get(i);

// 获取每个人员的打卡记录并生成excel
// 自动检测文件格式并创建对应的 Workbook
// workbook = WorkbookFactory.create(templateFile);

// Workbook workbook = new XSSFWorkbook(templateFile);
@@ -160,38 +176,58 @@ public class DkRecordServiceImpl implements DkRecordService {
// Sheet sheet = workbook.getSheetAt(i); // 获取第一个工作表

// Sheet sheet = getOrCreateSheet(workbook, i, dk.getSysUserName());
// 创建新Sheet,使用原始模板Sheet的名称加上序号
String sheetName = templateSheet.getSheetName() + "_" + (i + 1);
int newSheetIndex = workbook.getNumberOfSheets();
workbook.cloneSheet(0);
workbook.setSheetName(newSheetIndex, dk.getSysUserName());
// 获取新创建的Sheet
Sheet newSheet = workbook.getSheetAt(newSheetIndex);

// 准备数据
dkCheckInRecordDTO.setSysUserId(dk.getSysUserId());
dkCheckInRecordDTO.setSysUserName(dk.getSysUserName());
// 国内模版
if(Constans.GUONEI.equals(dkCheckInRecordDTO.getModelType())){
// 构造导出数据
EmployeeAttendance attendanceData = prepareSampleData(dkCheckInRecordDTO);
// 填充数据到模板
if (attendanceData.getDayRecords().size() == 0){
return;
// 创建新Sheet,使用原始模板Sheet的名称加上序号
// String sheetName = templateSheet.getSheetName() + "_" + (i + 1);
if(i == dkCheckInRecordDTOS.size()){
workbook.setSheetName(newSheetIndex, "汇总");
}else{
workbook.cloneSheet(0);
workbook.setSheetName(newSheetIndex, dk.getSysUserName());
}
fillTemplate(newSheet, attendanceData);
}
// 日本模版
if(Constans.RIBEN.equals(dkCheckInRecordDTO.getModelType())){
// 构造导出数据
EmployeeAttendance attendanceData = prepareSampleDataRiBen(dkCheckInRecordDTO);
// 填充数据到模板
if (attendanceData.getDayRecords().size() == 0){
return;

// 获取新创建的Sheet
Sheet newSheet = workbook.getSheetAt(newSheetIndex);

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

}
// 保存为新文件
// FileOutputStream outputFile = new FileOutputStream("output.xlsx");
@@ -204,8 +240,8 @@ public class DkRecordServiceImpl implements DkRecordService {
// 关闭资源
// outputFile.close();
workbook.close();
templateFile.close();
// templateFile.close();
inputStream.close();
System.out.println("Excel 导出成功!");
} catch (IOException e) {
e.printStackTrace();
@@ -265,6 +301,11 @@ public class DkRecordServiceImpl implements DkRecordService {
return data;
}
// 构造excel数据

// 定义迟到次数
int lateCount = 0;
// 定义早退次数
int earlyCount = 0;
for(DkCheckInRecordDTO dk : dkCheckInRecordDTOS){
// 根据打卡时间获取日期
LocalDate localDate = dk.getCheckInTime() != null ? dk.getCheckInTime().toLocalDate() : LocalDate.now();
@@ -277,7 +318,7 @@ public class DkRecordServiceImpl implements DkRecordService {

// 构造DayRecord
DayRecord dayRecord = new DayRecord();
dayRecord.setDay(localDate.toString());
dayRecord.setDay(localDate.getDayOfMonth());
// 获取星期几(返回 DayOfWeek 枚举)
DayOfWeek dayOfWeek = localDate.getDayOfWeek();
int week = dayOfWeek.getValue();
@@ -291,6 +332,11 @@ public class DkRecordServiceImpl implements DkRecordService {
if(dk.getClockIn().isAfter(workStartTime1)){
dayRecord.setChidao("*");
dayRecord.setRemark("迟到1次");
lateCount ++;
}

if(dk.getClockOut().isBefore(workEndTime1)){
earlyCount ++;
}
}

@@ -298,6 +344,13 @@ public class DkRecordServiceImpl implements DkRecordService {
dayRecord.setYichang("*");
dayRecord.setRemark("异常打卡");
}
if(dk.getClockIn() == null && dk.getClockOut() != null){
dayRecord.setYichang("*");
dayRecord.setRemark("异常打卡");
}
if(dk.getClockIn() == null && dk.getClockOut() == null){
dayRecord.setRemark("缺卡");
}

// 判断是否为工作日加班
if(dk.getClockOut() != null){
@@ -333,6 +386,9 @@ public class DkRecordServiceImpl implements DkRecordService {
dayRecords.add(dayRecord);
}

data.setChidaocishu(lateCount);
data.setZaotuicishu(earlyCount);

// dayRecords.add(new DayRecord(1, "金", "09:05", "18:23", "迟到", "", 0.5, "会议"));
// dayRecords.add(new DayRecord(2, "土", "08:55", "18:30", "正常", "", 1.0, ""));
// dayRecords.add(new DayRecord(3, "日", "", "", "休息", "年假", 0, ""));
@@ -392,27 +448,142 @@ public class DkRecordServiceImpl implements DkRecordService {
setCellValue(sheet, 3, 1, data.getDateTime());
// setCellValue(sheet, 2, 0, data.getYear() + "年" + data.getMonth() + "月考勤记录");

// 填充数据表格
int rowIndex = 10; // 数据起始行(根据模板调整)

for (DayRecord record : data.getDayRecords()) {
setCellValue(sheet, rowIndex, 1, record.getDay());
setCellValue(sheet, rowIndex, 2, record.getWeekday());
setCellValue(sheet, rowIndex, 3, record.getStartTime());
setCellValue(sheet, rowIndex, 4, record.getEndTime());
setCellValue(sheet, rowIndex, 5, record.getChidao());
// setCellValue(sheet, rowIndex, 6, record.getEndTime());
setCellValue(sheet, rowIndex, 7, record.getYichang());
setCellValue(sheet, rowIndex, 8, record.getGongzuori());
setCellValue(sheet, rowIndex, 9, record.getXiuxiri());
setCellValue(sheet, rowIndex, 10, record.getFadingjiari());
setCellValue(sheet, rowIndex, 11, record.getXiuxi());
setCellValue(sheet, rowIndex, 12, record.getQingjia());
setCellValue(sheet, rowIndex, 13, record.getRemark());

rowIndex++;
if(record.getDay() == 1){
fillTemplateCell(sheet, 10, record);
}
if(record.getDay() == 2){
fillTemplateCell(sheet, 11, record);
}
if(record.getDay() == 3){
fillTemplateCell(sheet, 12, record);
}

if(record.getDay() == 4){
fillTemplateCell(sheet, 13, record);
}
if(record.getDay() == 5){
fillTemplateCell(sheet, 14, record);
}
if(record.getDay() == 6){
fillTemplateCell(sheet, 15, record);
}
if(record.getDay() == 7){
fillTemplateCell(sheet, 16, record);
}
if(record.getDay() == 8){
fillTemplateCell(sheet, 17, record);
}

if(record.getDay() == 9){
fillTemplateCell(sheet, 18, record);
}
if(record.getDay() == 10){
fillTemplateCell(sheet, 19, record);
}
if(record.getDay() == 11){
fillTemplateCell(sheet, 20, record);
}
if(record.getDay() == 12){
fillTemplateCell(sheet, 21, record);
}
if(record.getDay() == 13){
fillTemplateCell(sheet, 22, record);
}

if(record.getDay() == 14){
fillTemplateCell(sheet, 23, record);
}
if(record.getDay() == 15){
fillTemplateCell(sheet, 24, record);
}
if(record.getDay() == 16){
fillTemplateCell(sheet, 25, record);
}
if(record.getDay() == 17){
fillTemplateCell(sheet, 26, record);
}
if(record.getDay() == 18){
fillTemplateCell(sheet, 27, record);
}

if(record.getDay() == 19){
fillTemplateCell(sheet, 28, record);
}
if(record.getDay() == 20){
fillTemplateCell(sheet, 29, record);
}
if(record.getDay() == 21){
fillTemplateCell(sheet, 30, record);
}
if(record.getDay() == 22){
fillTemplateCell(sheet, 31, record);
}
if(record.getDay() == 23){
fillTemplateCell(sheet, 32, record);
}

if(record.getDay() == 24){
fillTemplateCell(sheet, 33, record);
}
if(record.getDay() == 25){
fillTemplateCell(sheet, 34, record);
}
if(record.getDay() == 26){
fillTemplateCell(sheet, 35, record);
}
if(record.getDay() == 27){
fillTemplateCell(sheet, 36, record);
}
if(record.getDay() == 28){
fillTemplateCell(sheet, 37, record);
}

if(record.getDay() == 29){
fillTemplateCell(sheet, 38, record);
}
if(record.getDay() == 30){
fillTemplateCell(sheet, 39, record);
}
if(record.getDay() == 31){
fillTemplateCell(sheet, 40, record);
}
// 填充数据表格
// int rowIndex = 10; // 数据起始行(根据模板调整)
// setCellValue(sheet, rowIndex, 1, record.getDay());
// setCellValue(sheet, rowIndex, 2, record.getWeekday());
// setCellValue(sheet, rowIndex, 3, record.getStartTime());
// setCellValue(sheet, rowIndex, 4, record.getEndTime());
// setCellValue(sheet, rowIndex, 5, record.getChidao());
//// setCellValue(sheet, rowIndex, 6, record.getEndTime());
// setCellValue(sheet, rowIndex, 7, record.getYichang());
// setCellValue(sheet, rowIndex, 8, record.getGongzuori());
// setCellValue(sheet, rowIndex, 9, record.getXiuxiri());
// setCellValue(sheet, rowIndex, 10, record.getFadingjiari());
// setCellValue(sheet, rowIndex, 11, record.getXiuxi());
// setCellValue(sheet, rowIndex, 12, record.getQingjia());
// setCellValue(sheet, rowIndex, 13, record.getRemark());
// rowIndex++;
}
}

private void fillTemplateCell(Sheet sheet, int rowIndex, DayRecord record) {
// setCellValue(sheet, rowIndex, 1, record.getDay());
setCellValue(sheet, rowIndex, 2, record.getWeekday());
setCellValue(sheet, rowIndex, 3, record.getStartTime());
setCellValue(sheet, rowIndex, 4, record.getEndTime());
setCellValue(sheet, rowIndex, 5, record.getChidao());
// setCellValue(sheet, rowIndex, 6, record.getEndTime());
setCellValue(sheet, rowIndex, 7, record.getYichang());
setCellValue(sheet, rowIndex, 8, record.getGongzuori());
setCellValue(sheet, rowIndex, 9, record.getXiuxiri());
setCellValue(sheet, rowIndex, 10, record.getFadingjiari());
setCellValue(sheet, rowIndex, 11, record.getXiuxi());
setCellValue(sheet, rowIndex, 12, record.getQingjia());
setCellValue(sheet, rowIndex, 13, record.getRemark());
}

private void setCellValue(Sheet sheet, int rowIndex, int colIndex, Object value) {
Row row = sheet.getRow(rowIndex);
if (row == null) {
@@ -471,6 +642,10 @@ public class DkRecordServiceImpl implements DkRecordService {
Boolean allowEarly = dkAttendanceGroup.getAllowEarly();
// 允许早退的时长
Integer earlyRange = dkAttendanceGroup.getEarlyRange();
// 定义迟到次数
int lateCount = 0;
// 定义早退次数
int earlyCount = 0;

// 定义集合,用于存储每天打卡记录
List<DayRecord> dayRecords = new ArrayList<>();
@@ -490,7 +665,7 @@ public class DkRecordServiceImpl implements DkRecordService {

// 构造DayRecord
DayRecord dayRecord = new DayRecord();
dayRecord.setDay(localDate.toString());
dayRecord.setDay(localDate.getDayOfMonth());
DayOfWeek dayOfWeek = localDate.getDayOfWeek();
int week = dayOfWeek.getValue();
if(week == Constans.EXPORT_ZHOUYI){
@@ -516,6 +691,11 @@ public class DkRecordServiceImpl implements DkRecordService {
if(dk.getClockIn().isAfter(workStartTime1)){
dayRecord.setChidao("*");
dayRecord.setRemark("迟到1次");
lateCount ++;
}

if(dk.getClockOut().isBefore(workEndTime1)){
earlyCount ++;
}
}

@@ -524,6 +704,14 @@ public class DkRecordServiceImpl implements DkRecordService {
dayRecord.setRemark("异常打卡");
}

if(dk.getClockIn() == null && dk.getClockOut() != null){
dayRecord.setYichang("*");
dayRecord.setRemark("异常打卡");
}
if(dk.getClockIn() == null && dk.getClockOut() == null){
dayRecord.setRemark("缺卡");
}

// 判断是否为工作日加班
if(dk.getClockOut() != null){
if(dk.getClockOut().isAfter(workEndTime1)){
@@ -562,38 +750,174 @@ public class DkRecordServiceImpl implements DkRecordService {
// dayRecords.add(new DayRecord(2, "土", "08:55", "18:30", "正常", "", 1.0, ""));
// dayRecords.add(new DayRecord(3, "日", "", "", "休息", "年假", 0, ""));
// 添加更多日期记录...

data.setChidaocishu(lateCount);
data.setZaotuicishu(earlyCount);
data.setDayRecords(dayRecords);
return data;
}

private void fillTemplateRiBen(Sheet sheet, EmployeeAttendance data) {
// 填充标题区域
setCellValue(sheet, 5, 13, data.getEmployeeName());
setCellValue(sheet, 5, 6, data.getUserId());
setCellValue(sheet, 6, 13, data.getEmployeeName());
setCellValue(sheet, 6, 6, data.getUserId());
setCellValue(sheet, 2, 0, data.getDateTime());
// setCellValue(sheet, 2, 0, data.getYear() + "年" + data.getMonth() + "月考勤记录");

// 填充数据表格
int rowIndex = 9; // 数据起始行(根据模板调整)
for (DayRecord record : data.getDayRecords()) {
setCellValue(sheet, rowIndex, 0, record.getDay());
setCellValue(sheet, rowIndex, 1, record.getWeekday());
if(record.getDay() == 1){
fillTemplateRiBenCell(sheet, 10, record);
}
if(record.getDay() == 2){
fillTemplateRiBenCell(sheet, 11, record);
}
if(record.getDay() == 3){
fillTemplateRiBenCell(sheet, 12, record);
}

if(record.getDay() == 4){
fillTemplateRiBenCell(sheet, 13, record);
}
if(record.getDay() == 5){
fillTemplateRiBenCell(sheet, 14, record);
}
if(record.getDay() == 6){
fillTemplateRiBenCell(sheet, 15, record);
}
if(record.getDay() == 7){
fillTemplateRiBenCell(sheet, 16, record);
}
if(record.getDay() == 8){
fillTemplateRiBenCell(sheet, 17, record);
}

if(record.getDay() == 9){
fillTemplateRiBenCell(sheet, 18, record);
}
if(record.getDay() == 10){
fillTemplateRiBenCell(sheet, 19, record);
}
if(record.getDay() == 11){
fillTemplateRiBenCell(sheet, 20, record);
}
if(record.getDay() == 12){
fillTemplateRiBenCell(sheet, 21, record);
}
if(record.getDay() == 13){
fillTemplateRiBenCell(sheet, 22, record);
}

if(record.getDay() == 14){
fillTemplateRiBenCell(sheet, 23, record);
}
if(record.getDay() == 15){
fillTemplateRiBenCell(sheet, 24, record);
}
if(record.getDay() == 16){
fillTemplateRiBenCell(sheet, 25, record);
}
if(record.getDay() == 17){
fillTemplateRiBenCell(sheet, 26, record);
}
if(record.getDay() == 18){
fillTemplateRiBenCell(sheet, 27, record);
}

if(record.getDay() == 19){
fillTemplateRiBenCell(sheet, 28, record);
}
if(record.getDay() == 20){
fillTemplateRiBenCell(sheet, 29, record);
}
if(record.getDay() == 21){
fillTemplateRiBenCell(sheet, 30, record);
}
if(record.getDay() == 22){
fillTemplateRiBenCell(sheet, 31, record);
}
if(record.getDay() == 23){
fillTemplateRiBenCell(sheet, 32, record);
}

if(record.getDay() == 24){
fillTemplateRiBenCell(sheet, 33, record);
}
if(record.getDay() == 25){
fillTemplateRiBenCell(sheet, 34, record);
}
if(record.getDay() == 26){
fillTemplateRiBenCell(sheet, 35, record);
}
if(record.getDay() == 27){
fillTemplateRiBenCell(sheet, 36, record);
}
if(record.getDay() == 28){
fillTemplateRiBenCell(sheet, 37, record);
}

if(record.getDay() == 29){
fillTemplateRiBenCell(sheet, 38, record);
}
if(record.getDay() == 30){
fillTemplateRiBenCell(sheet, 39, record);
}
if(record.getDay() == 31){
fillTemplateRiBenCell(sheet, 40, record);
}
}

// 填充数据表格
// int rowIndex = 9; // 数据起始行(根据模板调整)
// for (DayRecord record : data.getDayRecords()) {
// setCellValue(sheet, rowIndex, 0, record.getDay());
// setCellValue(sheet, rowIndex, 1, record.getWeekday());
//// setCellValue(sheet, rowIndex, 3, data.getDateTime());
// setCellValue(sheet, rowIndex, 2, record.getStartTime());
// setCellValue(sheet, rowIndex, 3, record.getEndTime());
//// setCellValue(sheet, rowIndex, 6, record.getEndTime());
// setCellValue(sheet, rowIndex, 4, record.getChidao());
// setCellValue(sheet, rowIndex, 5, record.getYichang());
// setCellValue(sheet, rowIndex, 6, record.getXiuxi());
// setCellValue(sheet, rowIndex, 7, record.getChuanxiu());
// setCellValue(sheet, rowIndex, 8, record.getZhiban());
// setCellValue(sheet, rowIndex, 9, record.getQingjia());
// setCellValue(sheet, rowIndex, 10, record.getNianjia());
// setCellValue(sheet, rowIndex, 11, record.getJiaban());
// setCellValue(sheet, rowIndex, 12, record.getHeji());
// setCellValue(sheet, rowIndex, 13, record.getRemark());
// rowIndex++;
// }
}

private void fillTemplateRiBenCell(Sheet sheet, int rowIndex, DayRecord record) {
// setCellValue(sheet, rowIndex, 0, record.getDay());
setCellValue(sheet, rowIndex, 1, record.getWeekday());
// setCellValue(sheet, rowIndex, 3, data.getDateTime());
setCellValue(sheet, rowIndex, 2, record.getStartTime());
setCellValue(sheet, rowIndex, 3, record.getEndTime());
setCellValue(sheet, rowIndex, 2, record.getStartTime());
setCellValue(sheet, rowIndex, 3, record.getEndTime());
// setCellValue(sheet, rowIndex, 6, record.getEndTime());
setCellValue(sheet, rowIndex, 4, record.getChidao());
setCellValue(sheet, rowIndex, 5, record.getYichang());
setCellValue(sheet, rowIndex, 6, record.getXiuxi());
setCellValue(sheet, rowIndex, 7, record.getChuanxiu());
setCellValue(sheet, rowIndex, 8, record.getZhiban());
setCellValue(sheet, rowIndex, 9, record.getQingjia());
setCellValue(sheet, rowIndex, 10, record.getNianjia());
setCellValue(sheet, rowIndex, 11, record.getJiaban());
setCellValue(sheet, rowIndex, 12, record.getHeji());
setCellValue(sheet, rowIndex, 13, record.getRemark());
rowIndex++;
}
setCellValue(sheet, rowIndex, 4, record.getChidao());
setCellValue(sheet, rowIndex, 5, record.getYichang());
setCellValue(sheet, rowIndex, 6, record.getXiuxi());
setCellValue(sheet, rowIndex, 7, record.getChuanxiu());
setCellValue(sheet, rowIndex, 8, record.getZhiban());
setCellValue(sheet, rowIndex, 9, record.getQingjia());
setCellValue(sheet, rowIndex, 10, record.getNianjia());
setCellValue(sheet, rowIndex, 11, record.getJiaban());
setCellValue(sheet, rowIndex, 12, record.getHeji());
setCellValue(sheet, rowIndex, 13, record.getRemark());
}

private void fillTemplateHuiZong(Sheet sheet, int latePersonCount, int earlyPersonCount, int lateCount,
int earlyCount) {

setCellValue(sheet, 0, 1, "人数");
setCellValue(sheet, 0, 2, "次数");
setCellValue(sheet, 1, 0, "迟到");
setCellValue(sheet, 2, 0, "早退");
setCellValue(sheet, 1, 1, latePersonCount);
setCellValue(sheet, 1, 2, lateCount);
setCellValue(sheet, 2, 1, earlyPersonCount);
setCellValue(sheet, 2, 2, earlyCount);

}
}

Laddar…
Avbryt
Spara