|
|
@@ -33,6 +33,9 @@ public class BSDataSyncService {
|
|
|
@Autowired
|
|
|
private BSConf bsConf;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private BeisenEndTimeNormalizer beisenEndTimeNormalizer;
|
|
|
+
|
|
|
private static final DateTimeFormatter MONTH_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM");
|
|
|
|
|
|
public void syncCurrentMonthData() {
|
|
|
@@ -299,7 +302,7 @@ public class BSDataSyncService {
|
|
|
formData.put("textField_mmk1vzvn", toStringValue(data.get("oId")));
|
|
|
formData.put("employeeField_mmizoplw", staffId);
|
|
|
formData.put("dateField_mmk1vzvt", dateToTimestamp(data.get("startDate")));
|
|
|
- formData.put("dateField_mmk1vzvu", dateToEndTimestamp(data.get("stopDate")));
|
|
|
+ formData.put("dateField_mmk1vzvu", normalizeEndTime(data.get("stopDate")));
|
|
|
formData.put("numberField_mmk1vzvv", toStringValue(data.get("overTimeDuration")));
|
|
|
|
|
|
break;
|
|
|
@@ -308,7 +311,7 @@ public class BSDataSyncService {
|
|
|
|
|
|
formData.put("employeeField_mmizoplw", staffId);
|
|
|
formData.put("dateField_mmk1vzvt", dateToTimestamp(data.get("startDateTime")));
|
|
|
- formData.put("dateField_mmk1vzvu", dateToEndTimestamp(data.get("stopDateTime")));
|
|
|
+ formData.put("dateField_mmk1vzvu", normalizeEndTime(data.get("stopDateTime")));
|
|
|
formData.put("numberField_mmk1vzvv", toStringValue(data.get("businessDuration")));
|
|
|
formData.put("numberField_mmlsurjx", toStringValue(data.get("dayValOfDuration")));
|
|
|
break;
|
|
|
@@ -318,7 +321,7 @@ public class BSDataSyncService {
|
|
|
formData.put("textField_mmk1vzvo", toStringValue(data.get("vacationType")));
|
|
|
|
|
|
formData.put("dateField_mmk1vzvt", dateToTimestamp(data.get("vacationStartDateTime")));
|
|
|
- formData.put("dateField_mmk1vzvu", dateToEndTimestamp(data.get("vacationStopDateTime")));
|
|
|
+ formData.put("dateField_mmk1vzvu", normalizeEndTime(data.get("vacationStopDateTime")));
|
|
|
formData.put("numberField_mmk1vzvv", toStringValue(data.get("dayValueOfDuration")));
|
|
|
|
|
|
break;
|
|
|
@@ -368,24 +371,8 @@ public class BSDataSyncService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * // prd 北森结束时间为当天 00:00:00 时按当天结束处理,避免日期边界歧义。
|
|
|
- */
|
|
|
- Long dateToEndTimestamp(Object dateObj) {
|
|
|
- Long timestamp = dateToTimestamp(dateObj);
|
|
|
- if (timestamp == null) {
|
|
|
- return null;
|
|
|
- }
|
|
|
- ZonedDateTime dateTime = Instant.ofEpochMilli(timestamp).atZone(ZoneId.systemDefault());
|
|
|
- if (dateTime.toLocalTime().equals(java.time.LocalTime.MIDNIGHT)) {
|
|
|
- return dateTime.withHour(23)
|
|
|
- .withMinute(59)
|
|
|
- .withSecond(59)
|
|
|
- .withNano(0)
|
|
|
- .toInstant()
|
|
|
- .toEpochMilli();
|
|
|
- }
|
|
|
- return timestamp;
|
|
|
+ private Long normalizeEndTime(Object dateObj) {
|
|
|
+ return beisenEndTimeNormalizer.normalize(dateToTimestamp(dateObj));
|
|
|
}
|
|
|
|
|
|
private String SXW(long timestamp) {
|