diff --git a/src/main/java/com/budwk/app/zhgh/activity/culture/models/ActivityTissue.java b/src/main/java/com/budwk/app/zhgh/activity/culture/models/ActivityTissue.java index ba1f77e0..187c59df 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/culture/models/ActivityTissue.java +++ b/src/main/java/com/budwk/app/zhgh/activity/culture/models/ActivityTissue.java @@ -268,6 +268,16 @@ public class ActivityTissue extends BaseModel implements Serializable, SysHomeCo private String username; private String loginname; + /** + * 兼容历史数据中缺少秒的报名时间,统一补齐后再交给 DateUtil.parseDateTime 解析。 + */ + private String normalizeDateTimeSecond(String dateTime) { + if (Lang.isNotEmpty(dateTime) && dateTime.length() == 16) { + return dateTime + ":00"; + } + return dateTime; + } + @Override public Sys_home_activity covertToSysHomeActivity() { Sys_home_activity sysHomeActivity = new Sys_home_activity(); @@ -283,8 +293,8 @@ public class ActivityTissue extends BaseModel implements Serializable, SysHomeCo } sysHomeActivity.setH5Url("/platform/h5/activity/culture/signUp?id=" + this.getId()); if (Lang.isNotEmpty(this.getApplyStartTime())) { - sysHomeActivity.setStartDate(DateUtil.parseDateTime(this.getApplyStartTime())); - sysHomeActivity.setEndDate(DateUtil.parseDateTime(this.getApplyEndTime())); + sysHomeActivity.setStartDate(DateUtil.parseDateTime(normalizeDateTimeSecond(this.getApplyStartTime()))); + sysHomeActivity.setEndDate(DateUtil.parseDateTime(normalizeDateTimeSecond(this.getApplyEndTime()))); } sysHomeActivity.setAllowUserGroupId(this.getGroupId()); sysHomeActivity.setEnable(this.getIsUnseal()); diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/mutualInsurance/controller/MutualInsuranceRosterController.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/mutualInsurance/controller/MutualInsuranceRosterController.java index 4f4e12fa..75c1cb17 100644 --- a/src/main/java/com/budwk/app/zhgh/staffbenefit/mutualInsurance/controller/MutualInsuranceRosterController.java +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/mutualInsurance/controller/MutualInsuranceRosterController.java @@ -5,7 +5,6 @@ import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; @@ -14,7 +13,6 @@ import com.budwk.app.base.model.ExcelImportRes; import com.budwk.app.base.param.PageForm; import com.budwk.app.base.result.Result; import com.budwk.app.base.utils.CommonDownloadUtil; -import com.budwk.app.web.commons.auth.utils.AuthUtil; import com.budwk.app.web.commons.auth.utils.SecurityUtil; import com.budwk.app.zhgh.staffbenefit.mutualInsurance.model.MutualInsuranceProject; import com.budwk.app.zhgh.staffbenefit.mutualInsurance.param.MutualInsuranceRosterUserPageForm; @@ -154,6 +152,7 @@ public class MutualInsuranceRosterController { entities.add(new ExcelExportEntity("工号", "loginName", 20)); entities.add(new ExcelExportEntity("姓名", "userName", 20)); entities.add(new ExcelExportEntity("证件类型", "idCardType", 20)); + entities.add(new ExcelExportEntity("手机号", "mobile", 20)); ExportParams exportParams = new ExportParams(); exportParams.setType(ExcelType.XSSF); Workbook workbook = ExcelExportUtil.exportExcel(exportParams, entities, Collections.emptyList()); diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/mutualInsurance/service/impl/MutualInsuranceRosterUserServiceImpl.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/mutualInsurance/service/impl/MutualInsuranceRosterUserServiceImpl.java index 57e994b5..0891741f 100644 --- a/src/main/java/com/budwk/app/zhgh/staffbenefit/mutualInsurance/service/impl/MutualInsuranceRosterUserServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/mutualInsurance/service/impl/MutualInsuranceRosterUserServiceImpl.java @@ -32,10 +32,13 @@ import java.io.File; import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.regex.Pattern; import java.util.stream.Collectors; @IocBean(args = {"refer:dao"}) public class MutualInsuranceRosterUserServiceImpl extends BaseServiceImpl implements MutualInsuranceRosterUserService { + private static final Pattern MOBILE_PATTERN = Pattern.compile("^1[3456789]\\d{9}$"); + public MutualInsuranceRosterUserServiceImpl(Dao dao) { super(dao); } @@ -100,6 +103,10 @@ public class MutualInsuranceRosterUserServiceImpl extends BaseServiceImpl loginName.equals(item.getLoginname())) .findFirst() @@ -108,7 +115,7 @@ public class MutualInsuranceRosterUserServiceImpl extends BaseServiceImpl + format="yyyy-MM-dd HH:mm" + value-format="yyyy-MM-dd HH:mm:ss"> @@ -627,6 +628,13 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = { const resp = await this.$axios.post("/platform/club/examine/apply/getClubsByRole") return resp.data }, + // 兼容历史分钟级时间,提交给后端统一补齐秒,避免首页活动同步解析失败。 + normalizeDateTimeSecond(dateTime) { + if (dateTime && dateTime.length === 16) { + return dateTime + ":00" + } + return dateTime + }, // 保存 onSave() { this.$confirm("您确定保存吗?", "提示", { @@ -638,8 +646,8 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = { formData.activity_type = this.activity_type const {time, applyTime2, plannedDate} = formData if (applyTime2 && applyTime2.length) { - formData.applyStartTime = applyTime2[0] - formData.applyEndTime = applyTime2[1] + formData.applyStartTime = this.normalizeDateTimeSecond(applyTime2[0]) + formData.applyEndTime = this.normalizeDateTimeSecond(applyTime2[1]) formData.applyTime2 = null } if (time && time.length) { @@ -684,8 +692,8 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = { formData.activity_type = this.activity_type const {time, applyTime2, plannedDate} = formData if (applyTime2 && applyTime2.length) { - formData.applyStartTime = applyTime2[0] - formData.applyEndTime = applyTime2[1] + formData.applyStartTime = this.normalizeDateTimeSecond(applyTime2[0]) + formData.applyEndTime = this.normalizeDateTimeSecond(applyTime2[1]) formData.applyTime2 = null } if (time && time.length) { @@ -729,8 +737,8 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = { formData.activity_type = this.activity_type const {time, applyTime2, plannedDate} = formData if (applyTime2 && applyTime2.length) { - formData.applyStartTime = applyTime2[0] - formData.applyEndTime = applyTime2[1] + formData.applyStartTime = this.normalizeDateTimeSecond(applyTime2[0]) + formData.applyEndTime = this.normalizeDateTimeSecond(applyTime2[1]) formData.applyTime2 = null } if (time && time.length) { @@ -807,8 +815,8 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = { formData.activity_type = this.activity_type const {time, applyTime2, plannedDate} = formData if (applyTime2 && applyTime2.length) { - formData.applyStartTime = applyTime2[0] - formData.applyEndTime = applyTime2[1] + formData.applyStartTime = this.normalizeDateTimeSecond(applyTime2[0]) + formData.applyEndTime = this.normalizeDateTimeSecond(applyTime2[1]) formData.applyTime2 = null } if (time && time.length) { @@ -963,7 +971,7 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = { if (data.billFiles && data.billFiles.length > 0) data.billFiles = JSON.parse(data.billFiles) if (data.photoFiles && data.photoFiles.length > 0) data.photoFiles = JSON.parse(data.photoFiles) if (data.otherFiles && data.otherFiles.length > 0) data.otherFiles = JSON.parse(data.otherFiles) - if (data.applyStartTime) data.applyTime2 = [data.applyStartTime, data.applyEndTime] + if (data.applyStartTime) data.applyTime2 = [this.normalizeDateTimeSecond(data.applyStartTime), this.normalizeDateTimeSecond(data.applyEndTime)] if (data.startTime) data.time = [data.startTime, data.endTime] if (data.startPlannedDate) data.plannedDate = [data.startPlannedDate, data.endPlannedDate] this.userData = clone(data.tissuePersonList)