From f685389455e6e5f8cbbb7f1f41d43012bdc973b5 Mon Sep 17 00:00:00 2001 From: Flow <958079825@qq.com> Date: Tue, 5 Aug 2025 16:12:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=B9=B4=E9=BE=84=E6=8F=92?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/util/number/NumberUtils.java | 32 ++++++++++++-- .../admin/ecgdata/vo/ecgdataPageReqVO.java | 2 +- .../admin/ecgdata/vo/ecgdataRespVO.java | 2 +- .../admin/ecgdata/vo/ecgdataSaveReqVO.java | 2 +- .../controller/admin/era/vo/EraRespVO.java | 2 +- .../admin/spo2info/vo/Spo2infoPageReqVO.java | 2 +- .../admin/spo2info/vo/Spo2infoRespVO.java | 2 +- .../admin/spo2info/vo/Spo2infoSaveReqVO.java | 2 +- .../admin/staticecg/StaticecgController.java | 5 ++- .../dal/dataobject/ecgdata/ecgdataDO.java | 2 +- .../system/dal/dataobject/era/EraDO.java | 2 +- .../dal/dataobject/spo2info/Spo2infoDO.java | 2 +- .../system/service/abpm/abpmServiceImpl.java | 8 ++++ .../service/arterial/arterialServiceImpl.java | 8 ++++ .../system/service/cgm/CgmServiceImpl.java | 8 ++++ .../service/ecgdata/ecgdataServiceImpl.java | 3 +- .../system/service/era/EraServiceImpl.java | 2 +- .../system/service/pft/PftServiceImpl.java | 8 ++++ .../service/spo2info/Spo2infoServiceImpl.java | 2 +- .../service/staticecg/StaticecgService.java | 5 ++- .../staticecg/StaticecgServiceImpl.java | 43 +++++++++++-------- .../src/main/resources/application.yaml | 2 +- 22 files changed, 106 insertions(+), 40 deletions(-) diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/number/NumberUtils.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/number/NumberUtils.java index 2085d0c..3e7d90d 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/number/NumberUtils.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/number/NumberUtils.java @@ -81,10 +81,34 @@ public class NumberUtils { * @param idCard 身份证号码 * @return 年龄 */ - public static Integer calculateAgeFromIdCard(String idCard) { - String yearStr = idCard.substring(6, 10); // 提取出生年份(假设为18位身份证) + public static String calculateAgeFromIdCard(String idCard) { + if (StrUtil.isBlank(idCard) || idCard.length() < 18) { + return null; + } + + // 提取出生年月日 + String yearStr = idCard.substring(6, 10); // 出生年份 + String monthStr = idCard.substring(10, 12); // 出生月份 + String dayStr = idCard.substring(12, 14); // 出生日期 + int birthYear = Integer.parseInt(yearStr); - int currentYear = Calendar.getInstance().get(Calendar.YEAR); - return currentYear - birthYear; + int birthMonth = Integer.parseInt(monthStr); + int birthDay = Integer.parseInt(dayStr); + + // 获取当前日期 + Calendar current = Calendar.getInstance(); + int currentYear = current.get(Calendar.YEAR); + int currentMonth = current.get(Calendar.MONTH) + 1; // Calendar.MONTH 从0开始 + int currentDay = current.get(Calendar.DAY_OF_MONTH); + + // 计算年龄 + int age = currentYear - birthYear; + + // 如果当前月份小于出生月份,或者当前月份等于出生月份但当前日期小于出生日期,年龄减1 + if (currentMonth < birthMonth || (currentMonth == birthMonth && currentDay < birthDay)) { + age--; + } + + return String.valueOf(age); } } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataPageReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataPageReqVO.java index 7ef61d5..39c3b45 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataPageReqVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataPageReqVO.java @@ -29,7 +29,7 @@ public class ecgdataPageReqVO extends PageParam { private String gender; @Schema(description = "年龄") - private Integer age; + private String age; @Schema(description = "佩戴开始时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataRespVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataRespVO.java index 6226c5e..3017dc5 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataRespVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataRespVO.java @@ -36,7 +36,7 @@ public class ecgdataRespVO { @Schema(description = "年龄") @ExcelProperty("年龄") - private Integer age; + private String age; @Schema(description = "佩戴开始时间") @ExcelProperty("佩戴开始时间") diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataSaveReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataSaveReqVO.java index 67153eb..bd5aaa1 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataSaveReqVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ecgdata/vo/ecgdataSaveReqVO.java @@ -29,7 +29,7 @@ public class ecgdataSaveReqVO { private String gender; @Schema(description = "年龄") - private Integer age; + private String age; @Schema(description = "佩戴开始时间") private LocalDateTime wearstarttime; diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/era/vo/EraRespVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/era/vo/EraRespVO.java index 20d240c..10445c8 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/era/vo/EraRespVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/era/vo/EraRespVO.java @@ -34,7 +34,7 @@ public class EraRespVO { @Schema(description = "年龄") @ExcelProperty("年龄") - private Integer age; + private String age; @Schema(description = "机构ID", example = "29370") @ExcelProperty("机构ID") diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoPageReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoPageReqVO.java index 449bb5b..55172a5 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoPageReqVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoPageReqVO.java @@ -27,7 +27,7 @@ public class Spo2infoPageReqVO extends PageParam { private String gender; @Schema(description = "年龄") - private Integer age; + private String age; @Schema(description = "佩戴时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoRespVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoRespVO.java index b78bcfa..5fe186a 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoRespVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoRespVO.java @@ -34,7 +34,7 @@ public class Spo2infoRespVO { @Schema(description = "年龄") @ExcelProperty("年龄") - private Integer age; + private String age; @Schema(description = "佩戴时间") @ExcelProperty("佩戴时间") diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoSaveReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoSaveReqVO.java index 9c9b202..6c2e819 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoSaveReqVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/spo2info/vo/Spo2infoSaveReqVO.java @@ -27,7 +27,7 @@ public class Spo2infoSaveReqVO { private String gender; @Schema(description = "年龄") - private Integer age; + private String age; @Schema(description = "佩戴时间") diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/StaticecgController.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/StaticecgController.java index b83c717..c3aa58a 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/StaticecgController.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/StaticecgController.java @@ -28,6 +28,7 @@ import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.system.controller.admin.staticecg.vo.*; import cn.iocoder.yudao.module.system.dal.dataobject.staticecg.StaticecgDO; import cn.iocoder.yudao.module.system.service.staticecg.StaticecgService; +import cn.iocoder.yudao.module.system.controller.admin.patientinfo.vo.patientinfoRespVO; @Tag(name = "管理后台 - 静态心电图数据") @RestController @@ -47,8 +48,8 @@ public class StaticecgController { @PostMapping("/insert-ecg-patient-data") @Operation(summary = "批量新增ECG患者数据") @ApiAccessLog(operateType = CREATE) - public CommonResult insertEcgPatientData(@Valid @RequestBody List createReqVOList) { - staticecgService.insertEcgPatientDataList(createReqVOList); + public CommonResult insertEcgPatientData(@Valid @RequestBody List patientInfoList) { + staticecgService.insertEcgPatientDataList(patientInfoList); return success(true); } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/ecgdata/ecgdataDO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/ecgdata/ecgdataDO.java index 793e3cf..d483e8d 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/ecgdata/ecgdataDO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/ecgdata/ecgdataDO.java @@ -53,7 +53,7 @@ public class ecgdataDO{ * 年龄 */ @TableField("age") - private Integer age; + private String age; /** * 佩戴开始时间 */ diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/era/EraDO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/era/EraDO.java index d66e9d2..d5155ee 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/era/EraDO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/era/EraDO.java @@ -51,7 +51,7 @@ public class EraDO { * 年龄 */ @TableField("age") - private Integer age; + private String age; /** * 机构ID */ diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/spo2info/Spo2infoDO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/spo2info/Spo2infoDO.java index ade264a..2b59890 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/spo2info/Spo2infoDO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/spo2info/Spo2infoDO.java @@ -52,7 +52,7 @@ public class Spo2infoDO { * 年龄 */ @TableField("age") - private Integer age; + private String age; /** * 佩戴时间 */ diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/abpm/abpmServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/abpm/abpmServiceImpl.java index 07c7465..6924fc7 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/abpm/abpmServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/abpm/abpmServiceImpl.java @@ -1,7 +1,9 @@ package cn.iocoder.yudao.module.system.service.abpm; import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.util.number.NumberUtils; import cn.iocoder.yudao.module.system.controller.admin.patientinfo.vo.patientinfoRespVO; +import com.alibaba.excel.util.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -100,6 +102,12 @@ public class abpmServiceImpl implements abpmService { abpm.setExamid(examId); abpm.setName(patientInfo.getName()); abpm.setGender(patientInfo.getGender()); + // 根据身份证号计算年龄 + String idCard = patientInfo.getIdcard(); + if (StringUtils.isNotBlank(idCard)) { + String age = NumberUtils.calculateAgeFromIdCard(idCard); + abpm.setAge(age); + } abpm.setOrgid(patientInfo.getOrgid()); abpm.setOrgname(patientInfo.getOrgname()); abpm.setStatus(0); // 默认状态:0未申请 diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/arterial/arterialServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/arterial/arterialServiceImpl.java index d632e8f..3a3157a 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/arterial/arterialServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/arterial/arterialServiceImpl.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.system.service.arterial; import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.util.number.NumberUtils; +import com.alibaba.excel.util.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -99,6 +101,12 @@ public class arterialServiceImpl implements arterialService { arterial.setExamid(examId); arterial.setName(patientInfo.getName()); arterial.setGender(patientInfo.getGender()); + // 根据身份证号计算年龄 + String idCard = patientInfo.getIdcard(); + if (StringUtils.isNotBlank(idCard)) { + String age = NumberUtils.calculateAgeFromIdCard(idCard); + arterial.setAge(age); + } arterial.setOrgid(patientInfo.getOrgid()); arterial.setOrgname(patientInfo.getOrgname()); arterial.setStatus(0); // 默认状态:0申请中 diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/cgm/CgmServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/cgm/CgmServiceImpl.java index bf9d540..d804088 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/cgm/CgmServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/cgm/CgmServiceImpl.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.system.service.cgm; import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.util.number.NumberUtils; +import com.alibaba.excel.util.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -101,6 +103,12 @@ public class CgmServiceImpl implements CgmService { cgm.setName(patientInfo.getName()); cgm.setGender(patientInfo.getGender()); cgm.setOrgid(patientInfo.getOrgid()); + // 根据身份证号计算年龄 + String idCard = patientInfo.getIdcard(); + if (StringUtils.isNotBlank(idCard)) { + String age = NumberUtils.calculateAgeFromIdCard(idCard); + cgm.setAge(age); + } cgm.setOrgname(patientInfo.getOrgname()); cgm.setStatus(0); // 默认状态:0申请中 cgmDataList.add(cgm); diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/ecgdata/ecgdataServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/ecgdata/ecgdataServiceImpl.java index 445634b..da5013f 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/ecgdata/ecgdataServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/ecgdata/ecgdataServiceImpl.java @@ -7,7 +7,6 @@ import com.alibaba.excel.util.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; - import java.time.LocalDateTime; import java.util.*; import cn.iocoder.yudao.module.system.controller.admin.ecgdata.vo.*; @@ -150,7 +149,7 @@ public class ecgdataServiceImpl implements ecgdataService { // 根据身份证号计算年龄 String idCard = patientInfo.getIdcard(); if (StringUtils.isNotBlank(idCard)) { - Integer age = NumberUtils.calculateAgeFromIdCard(idCard); + String age = NumberUtils.calculateAgeFromIdCard(idCard); ecgdata.setAge(age); } ecgdata.setOrgid(patientInfo.getOrgid()); diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/era/EraServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/era/EraServiceImpl.java index bcfce0c..9617196 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/era/EraServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/era/EraServiceImpl.java @@ -106,7 +106,7 @@ public class EraServiceImpl implements EraService { // 根据身份证号计算年龄 String idCard = patientInfo.getIdcard(); if (StringUtils.isNotBlank(idCard)) { - Integer age = NumberUtils.calculateAgeFromIdCard(idCard); + String age = NumberUtils.calculateAgeFromIdCard(idCard); eraDO.setAge(age); } eraDO.setOrgid(patientInfo.getOrgid()); diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/pft/PftServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/pft/PftServiceImpl.java index 9151561..9605319 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/pft/PftServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/pft/PftServiceImpl.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.system.service.pft; import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.util.number.NumberUtils; +import com.alibaba.excel.util.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -78,6 +80,12 @@ public class PftServiceImpl implements PftService { pft.setExamid(examId); pft.setName(patientInfo.getName()); pft.setGender(patientInfo.getGender()); + // 根据身份证号计算年龄 + String idCard = patientInfo.getIdcard(); + if (StringUtils.isNotBlank(idCard)) { + String age = NumberUtils.calculateAgeFromIdCard(idCard); + pft.setAge(age); + } pft.setOrgid(patientInfo.getOrgid()); pft.setOrgname(patientInfo.getOrgname()); pft.setStatus(0); // 默认状态:0申请中 diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/spo2info/Spo2infoServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/spo2info/Spo2infoServiceImpl.java index 45937af..80f0b77 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/spo2info/Spo2infoServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/spo2info/Spo2infoServiceImpl.java @@ -65,7 +65,7 @@ public class Spo2infoServiceImpl implements Spo2infoService { // 根据身份证号计算年龄 String idCard = patientInfo.getIdcard(); if (StringUtils.isNotBlank(idCard)) { - Integer age = NumberUtils.calculateAgeFromIdCard(idCard); + String age = NumberUtils.calculateAgeFromIdCard(idCard); spo2infoDO.setAge(age); } spo2infoDO.setOrgid(patientInfo.getOrgid()); diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgService.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgService.java index 7d93bec..6816103 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgService.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgService.java @@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.system.controller.admin.staticecg.vo.*; import cn.iocoder.yudao.module.system.dal.dataobject.staticecg.StaticecgDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.module.system.controller.admin.patientinfo.vo.patientinfoRespVO; /** * 静态心电图数据 Service 接口 @@ -62,8 +63,8 @@ public interface StaticecgService { /** * 批量插入ECG患者数据 * - * @param createReqVOList 批量创建信息 + * @param patientInfoList 患者信息列表 */ - void insertEcgPatientDataList(List createReqVOList); + void insertEcgPatientDataList(List patientInfoList); } \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgServiceImpl.java index 8b0ed29..af5e287 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgServiceImpl.java @@ -12,6 +12,9 @@ import cn.iocoder.yudao.module.system.dal.dataobject.staticecg.StaticecgDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.system.controller.admin.patientinfo.vo.patientinfoRespVO; +import cn.iocoder.yudao.framework.common.util.number.NumberUtils; +import com.alibaba.excel.util.StringUtils; import cn.iocoder.yudao.module.system.dal.mysql.staticecg.StaticecgMapper; @@ -89,24 +92,30 @@ public class StaticecgServiceImpl implements StaticecgService { @Override @Transactional(rollbackFor = Exception.class) - public void insertEcgPatientDataList(List createReqVOList) { - if (CollUtil.isEmpty(createReqVOList)) { - return; + public void insertEcgPatientDataList(List patientInfoList) { + if (CollUtil.isNotEmpty(patientInfoList)) { + List staticecgDOList = new ArrayList<>(); + for (patientinfoRespVO patientInfo : patientInfoList) { + StaticecgDO staticecgDO = new StaticecgDO(); + + staticecgDO.setRegid(patientInfo.getRegid()); + String examId = UUID.randomUUID().toString().replaceAll("-", ""); // 去除横线保持简洁 + staticecgDO.setExamid(examId); + staticecgDO.setName(patientInfo.getName()); + staticecgDO.setGender(patientInfo.getGender()); + // 根据身份证号计算年龄 + String idCard = patientInfo.getIdcard(); + if (StringUtils.isNotBlank(idCard)) { + String age = NumberUtils.calculateAgeFromIdCard(idCard); + staticecgDO.setAge(age); + } + staticecgDO.setOrgid(patientInfo.getOrgid()); + staticecgDO.setOrgname(patientInfo.getOrgname()); + staticecgDOList.add(staticecgDO); + } + // 批量插入ECG患者数据 + staticecgMapper.insertBatch(staticecgDOList); } - // 批量转换为 DO 对象 - List staticecgList = BeanUtils.toBean(createReqVOList, StaticecgDO.class); - - // 为每条记录设置默认值 - for (StaticecgDO staticecg : staticecgList) { - // 生成UUID作为examid,去除横线 - String examId = UUID.randomUUID().toString().replaceAll("-", ""); - staticecg.setExamid(examId); - // 设置默认状态:0未申请 - staticecg.setStatus(0); - } - - // 批量插入 - staticecgMapper.insertBatch(staticecgList); } } \ No newline at end of file diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml index efde79a..18a9a0c 100644 --- a/yudao-server/src/main/resources/application.yaml +++ b/yudao-server/src/main/resources/application.yaml @@ -108,7 +108,7 @@ aj: cache-number: 1000 # local 缓存的阈值,达到这个值,清除缓存 timing-clear: 180 # local定时清除过期缓存(单位秒),设置为0代表不执行 type: blockPuzzle # 验证码类型 default两种都实例化。 blockPuzzle 滑块拼图 clickWord 文字点选 - water-mark: 芋道源码 # 右下角水印文字(我的水印),可使用 https://tool.chinaz.com/tools/unicode.aspx 中文转 Unicode,Linux 可能需要转 unicode + water-mark: 艾康菲 # 右下角水印文字(我的水印),可使用 https://tool.chinaz.com/tools/unicode.aspx 中文转 Unicode,Linux 可能需要转 unicode interference-options: 0 # 滑动干扰项(0/1/2) req-frequency-limit-enable: false # 接口请求次数一分钟限制是否开启 true|false req-get-lock-limit: 5 # 验证失败 5 次,get接口锁定