Browse Source

【工作日志】-fix

master
wangxianzhang 3 years ago
parent
commit
0cdfb678b6
  1. 6
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/converter/EasyExcelDateConverter.java
  2. 12
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/WorkdiaryServiceRecordExcel.java
  3. 4
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/listener/WorkdiaryServiceImportListener.java
  4. 25
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkdiaryServiceRecordServiceImpl.java

6
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/converter/EasyExcelDateConverter.java

@ -42,4 +42,10 @@ public class EasyExcelDateConverter implements Converter<Date> {
String dateValue = sdf.format(value); String dateValue = sdf.format(value);
return new WriteCellData<>(dateValue); return new WriteCellData<>(dateValue);
} }
//@Override
//public Date convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
// SimpleDateFormat sdf = new SimpleDateFormat(PATTERN_YYYY_MM_DD);
// return sdf.parse(cellData.getStringValue());
//}
} }

12
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/WorkdiaryServiceRecordExcel.java

@ -2,9 +2,12 @@ package com.epmet.excel;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.poi.excel.converter.EasyExcelDateConverter; import com.epmet.commons.tools.utils.poi.excel.converter.EasyExcelDateConverter;
import com.epmet.dto.result.WorkdiaryServiceRecordDTO; import com.epmet.dto.result.WorkdiaryServiceRecordDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -56,12 +59,14 @@ public class WorkdiaryServiceRecordExcel {
@ColumnWidth(10) @ColumnWidth(10)
@ExcelProperty(value = "负责人") @ExcelProperty(value = "负责人")
private String principal; private String principalName;
@NotNull(message = "服务时间必填") @NotNull(message = "服务时间必填")
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty(value = "服务时间", converter = EasyExcelDateConverter.class) @ExcelProperty(value = "服务时间")
private Date serviceTime; //@DateTimeFormat("yyyy-MM-dd")
//@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private String serviceTime;
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty(value = "备注") @ExcelProperty(value = "备注")
@ -69,5 +74,6 @@ public class WorkdiaryServiceRecordExcel {
public WorkdiaryServiceRecordExcel(WorkdiaryServiceRecordDTO dto) { public WorkdiaryServiceRecordExcel(WorkdiaryServiceRecordDTO dto) {
BeanUtil.copyProperties(dto, this); BeanUtil.copyProperties(dto, this);
this.serviceTime = DateUtils.format(dto.getServiceTime());
} }
} }

4
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/listener/WorkdiaryServiceImportListener.java

@ -1,7 +1,7 @@
package com.epmet.excel.listener; package com.epmet.excel.listener;
import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener; import com.alibaba.excel.event.AnalysisEventListener;
import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.excel.WorkdiaryServiceRecordExcel; import com.epmet.excel.WorkdiaryServiceRecordExcel;
import com.epmet.service.WorkdiaryServiceRecordService; import com.epmet.service.WorkdiaryServiceRecordService;
@ -14,7 +14,7 @@ import java.util.List;
* 工作日志-导入-监听器 * 工作日志-导入-监听器
*/ */
@Slf4j @Slf4j
public class WorkdiaryServiceImportListener implements ReadListener<WorkdiaryServiceRecordExcel> { public class WorkdiaryServiceImportListener extends AnalysisEventListener<WorkdiaryServiceRecordExcel> {
/** /**
* 200 一批执行导入 * 200 一批执行导入

25
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkdiaryServiceRecordServiceImpl.java

@ -61,6 +61,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.commons.CommonsMultipartFile; import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.nio.file.Files; import java.nio.file.Files;
@ -464,6 +465,26 @@ public class WorkdiaryServiceRecordServiceImpl extends BaseServiceImpl<Workdiary
row.setApplicantAddress(house.getFullName()); row.setApplicantAddress(house.getFullName());
} }
// 时间转化
String serviceTimeStr = row.getServiceTime();
String spliter = null;
if (serviceTimeStr.contains("/")) {
spliter = "/";
} else if (serviceTimeStr.contains("-")) {
spliter = "-";
} else {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "时间格式不正确", "时间格式不正确");
}
String[] arr = serviceTimeStr.split(spliter);
String year = String.format("%04d", Integer.valueOf(arr[0]));
String month = String.format("%02d", Integer.valueOf(arr[1]));
String day = String.format("%02d", Integer.valueOf(arr[2]));
Date date = DateUtils.parseDate(String.format("%s-%s-%s", year, month, day), DateUtils.DATE_PATTERN);
// 填充到entity // 填充到entity
WorkdiaryServiceRecordEntity record = new WorkdiaryServiceRecordEntity( WorkdiaryServiceRecordEntity record = new WorkdiaryServiceRecordEntity(
EpmetRequestHolder.getLoginUserCustomerId(), EpmetRequestHolder.getLoginUserCustomerId(),
@ -477,8 +498,8 @@ public class WorkdiaryServiceRecordServiceImpl extends BaseServiceImpl<Workdiary
row.getApplicantAddress(), row.getApplicantAddress(),
row.getApplicantMobile(), row.getApplicantMobile(),
row.getServiceContent(), row.getServiceContent(),
row.getServiceTime(), date,
row.getPrincipal(), row.getPrincipalName(),
row.getRemark()); row.getRemark());
diaryRecordList.add(record); diaryRecordList.add(record);

Loading…
Cancel
Save