Browse Source

秒变小时分钟

dev_shibei_match
sunyuchao 4 years ago
parent
commit
12219e439d
  1. 11
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PcworkRecordListResultDTO.java
  2. 20
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/StaffPatrolRecordExcel.java
  3. 18
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java
  4. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml

11
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PcworkRecordListResultDTO.java

@ -1,9 +1,12 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -33,11 +36,15 @@ public class PcworkRecordListResultDTO implements Serializable {
//状态(中文)
private String statusName;
//巡查开始时间 返回返回格式化字符串,yyyy-MM-dd HH:mm:ss
private String patrolStartTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date patrolStartTime;
//巡查结束时间 返回返回格式化字符串,yyyy-MM-dd HH:mm:ss
private String patrolEndTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date patrolEndTime;
//巡查时长 xx小时xx分钟
private String totalTime;
@JsonIgnore
private Integer totalTimeNum;
}
}

20
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/StaffPatrolRecordExcel.java

@ -20,10 +20,13 @@ package com.epmet.excel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
/**
* @Description 网格员工作统计巡查记录列表导出
* @Author sun
@ -34,36 +37,45 @@ import lombok.Setter;
public class StaffPatrolRecordExcel {
@ExcelProperty("人员ID")
@ExcelIgnore
private String staffId;
@ExcelProperty("人员名称")
@ColumnWidth(15)
private String staffName;
@ExcelProperty("网格ID")
@ExcelIgnore
private String gridId;
@ExcelProperty("网格名称")
@ColumnWidth(20)
private String gridName;
@ExcelProperty("状态(英文key)")
@ExcelIgnore
private String status;
@ExcelProperty("状态(中文)")
@ExcelProperty("状态")
@ColumnWidth(18)
private String statusName;
@DateTimeFormat("yyyy年MM月dd日")
@ExcelProperty("巡查开始时间")
private String patrolStartTime;
@ColumnWidth(20)
private Date patrolStartTime;
@DateTimeFormat("yyyy年MM月dd日")
@ExcelProperty("巡查结束时间")
private String patrolEndTime;
@ColumnWidth(20)
private Date patrolEndTime;
@ExcelProperty("巡查时长")
@ColumnWidth(20)
private String totalTime;
@ExcelIgnore
private String aa;
private Integer totalTimeNum;;

18
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java

@ -506,6 +506,12 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl<StaffPatrolRec
r.setGridName(resultGrid.getData().getGridName());
map.put(r.getGridId(), resultGrid.getData());
}
//秒变小时分钟
Integer minutes = r.getTotalTimeNum() / 60;
String patrolDuration = (minutes / 60 > 0 ? minutes / 60 + "小时" : "") + (minutes % 60 > 0 ? minutes % 60 + "分钟" : "0分钟");
r.setTotalTime(patrolDuration);
}
//3.封装数据并返回
resultDTO.setTotal((int)result.getTotal());
@ -524,13 +530,15 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl<StaffPatrolRec
ExcelWriter excelWriter = null;
try {
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("网格员巡查记录.xlsx", response)).build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
writeSheet.setClazz(StaffPatrolRecordExcel.class);
/*WriteSheet writeSheet = EasyExcel.writerSheet("sheet").build();
writeSheet.setClazz(StaffPatrolRecordExcel.class);*/
int num = NumConstant.ZERO;
//一千条一循环分批写入
//一千条一个sheet页,循环分批写入
do {
List<PcworkRecordListResultDTO.StaffPatrol> list = staffPatrolRecordDao.pcworkRecordList(formDTO);
List<StaffPatrolRecordExcel> data = ConvertUtils.sourceToTarget(list, StaffPatrolRecordExcel.class);
PcworkRecordListResultDTO dto = pcworkRecordList(formDTO);
List<StaffPatrolRecordExcel> data = ConvertUtils.sourceToTarget(dto.getList(), StaffPatrolRecordExcel.class);
WriteSheet writeSheet = EasyExcel.writerSheet(formDTO.getPageNo(), "sheet" + formDTO.getPageNo()).build();
writeSheet.setClazz(StaffPatrolRecordExcel.class);
excelWriter.write(data, writeSheet);
num = data.size();
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);

2
epmet-user/epmet-user-server/src/main/resources/mapper/StaffPatrolRecordDao.xml

@ -84,7 +84,7 @@
if(spr.`status`='patrolling', '巡查中', if(spr.is_hand_end=0, '结束巡查(系统自动)', '结束巡查'))statusName,
spr.patrol_start_time patrolStartTime,
spr.patrol_end_time patrolEndTime,
spr.total_time totalTime
spr.total_time totalTimeNum
FROM
staff_patrol_record spr
LEFT JOIN customer_staff cs ON spr.staff_id = cs.user_id

Loading…
Cancel
Save