|
@ -70,6 +70,8 @@ import java.time.LocalDateTime; |
|
|
import java.time.format.DateTimeFormatter; |
|
|
import java.time.format.DateTimeFormatter; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
import java.util.function.Function; |
|
|
import java.util.function.Function; |
|
|
|
|
|
import java.util.regex.Matcher; |
|
|
|
|
|
import java.util.regex.Pattern; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -98,6 +100,17 @@ public class WorkdiaryServiceRecordServiceImpl extends BaseServiceImpl<Workdiary |
|
|
|
|
|
|
|
|
private ThreadLocal<List<ImportResultDesc>> importResultDescTl = new ThreadLocal<>(); |
|
|
private ThreadLocal<List<ImportResultDesc>> importResultDescTl = new ThreadLocal<>(); |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 工作日志-服务时间-正则表达式 |
|
|
|
|
|
* 支持模式: |
|
|
|
|
|
* 2022-01-01 |
|
|
|
|
|
* 2022-1-1 |
|
|
|
|
|
* 2022/01/01 |
|
|
|
|
|
* 2022/01-1 |
|
|
|
|
|
* ... |
|
|
|
|
|
*/ |
|
|
|
|
|
private static final Pattern WORKDIARY_SERVICE_TIME_REGEX = Pattern.compile("^(\\s*)(?<year>\\d{4})[-/](?<month>\\d{1,2})[-/](?<day>\\d{1,2})(\\s*)$"); |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 导入结果描述 |
|
|
* 导入结果描述 |
|
|
*/ |
|
|
*/ |
|
@ -466,24 +479,29 @@ public class WorkdiaryServiceRecordServiceImpl extends BaseServiceImpl<Workdiary |
|
|
row.setApplicantAddress(house.getFullName()); |
|
|
row.setApplicantAddress(house.getFullName()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 时间转化
|
|
|
// ---------服务时间 Start 使用正则处理---------
|
|
|
String serviceTimeStr = row.getServiceTime(); |
|
|
String serviceTimeStr = row.getServiceTime(); |
|
|
String spliter = null; |
|
|
String year; |
|
|
if (serviceTimeStr.contains("/")) { |
|
|
String month; |
|
|
spliter = "/"; |
|
|
String day; |
|
|
} else if (serviceTimeStr.contains("-")) { |
|
|
Matcher stm = WORKDIARY_SERVICE_TIME_REGEX.matcher(serviceTimeStr); |
|
|
spliter = "-"; |
|
|
if (stm.matches()) { |
|
|
|
|
|
year = stm.group("year"); |
|
|
|
|
|
month = stm.group("month"); |
|
|
|
|
|
day = stm.group("day"); |
|
|
} else { |
|
|
} else { |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "时间格式不正确", "时间格式不正确"); |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), |
|
|
|
|
|
"服务时间格式不正确", |
|
|
|
|
|
"服务时间格式不正确"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
String[] arr = serviceTimeStr.split(spliter); |
|
|
year = String.format("%04d", Integer.valueOf(year)); |
|
|
|
|
|
month = String.format("%02d", Integer.valueOf(month)); |
|
|
|
|
|
day = String.format("%02d", Integer.valueOf(day)); |
|
|
|
|
|
|
|
|
String year = String.format("%04d", Integer.valueOf(arr[0])); |
|
|
Date serviceTime = DateUtils.parseDate(String.format("%s-%s-%s", year, month, day), DateUtils.DATE_PATTERN); |
|
|
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); |
|
|
// ---------服务时间 End---------
|
|
|
|
|
|
|
|
|
// 填充到entity
|
|
|
// 填充到entity
|
|
|
WorkdiaryServiceRecordEntity record = new WorkdiaryServiceRecordEntity( |
|
|
WorkdiaryServiceRecordEntity record = new WorkdiaryServiceRecordEntity( |
|
@ -498,7 +516,7 @@ public class WorkdiaryServiceRecordServiceImpl extends BaseServiceImpl<Workdiary |
|
|
row.getApplicantAddress(), |
|
|
row.getApplicantAddress(), |
|
|
row.getApplicantMobile(), |
|
|
row.getApplicantMobile(), |
|
|
row.getServiceContent(), |
|
|
row.getServiceContent(), |
|
|
date, |
|
|
serviceTime, |
|
|
row.getPrincipalName(), |
|
|
row.getPrincipalName(), |
|
|
row.getRemark()); |
|
|
row.getRemark()); |
|
|
|
|
|
|
|
|