From fc32b83980fc7b0a1f71f821762080a6e57be473 Mon Sep 17 00:00:00 2001 From: chenqi Date: Fri, 6 Feb 2026 13:26:28 +0800 Subject: [PATCH] =?UTF-8?q?refactor(consultation):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E4=BC=9A=E8=AF=8A=E6=A8=A1=E5=9D=97=E5=8C=85=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E5=92=8C=E6=97=A5=E6=9C=9F=E6=97=B6=E9=97=B4=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将ConsultationRequest相关类从web包移动到consultation包 - 替换java.util.Date为java.time.LocalDateTime进行日期时间处理 - 统一日期时间格式化方式,使用DateTimeFormatter替代SimpleDateFormat - 优化年龄计算逻辑,使用Java 8时间API替代Calendar - 在ConsultationRequest实体上添加MyBatis别名注解 - 更新MyBatis映射文件中的命名空间和类型引用 - 调整数据库字段映射,移除无效字段并添加新字段 --- .../impl/ConsultationAppServiceImpl.java | 61 +++++++++---------- .../domain/ConsultationRequest.java | 4 +- .../mapper/ConsultationRequestMapper.java | 17 ------ .../ConsultationRequestMapper.xml | 11 ++-- 4 files changed, 40 insertions(+), 53 deletions(-) delete mode 100644 openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/mapper/ConsultationRequestMapper.java diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/appservice/impl/ConsultationAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/appservice/impl/ConsultationAppServiceImpl.java index e7857d5d..5e8d7a8f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/appservice/impl/ConsultationAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/appservice/impl/ConsultationAppServiceImpl.java @@ -28,9 +28,9 @@ import com.openhis.web.consultation.dto.ConsultationRequestDto; import com.openhis.web.consultation.dto.DepartmentTreeDto; import com.openhis.web.consultation.dto.InvitedObjectDto; import com.openhis.web.consultation.dto.PhysicianNodeDto; -import com.openhis.web.consultation.mapper.ConsultationRequestMapper; import com.openhis.web.consultation.mapper.ConsultationInvitedMapper; -import com.openhis.web.consultation.domain.ConsultationRequest; +import com.openhis.consultation.mapper.ConsultationRequestMapper; +import com.openhis.consultation.domain.ConsultationRequest; import com.openhis.web.consultation.domain.ConsultationInvited; import com.openhis.web.consultation.enums.ConsultationStatusEnum; import com.openhis.web.consultation.enums.InvitedStatusEnum; @@ -153,7 +153,7 @@ public class ConsultationAppServiceImpl implements IConsultationAppService { entity = new ConsultationRequest(); entity.setConsultationId(generateConsultationId()); entity.setTenantId(SecurityUtils.getLoginUser().getTenantId().longValue()); - entity.setConsultationRequestDate(new Date()); + entity.setConsultationRequestDate(LocalDateTime.now()); } // 复制基本属性(现在字段名已统一,可以直接复制) @@ -187,7 +187,7 @@ public class ConsultationAppServiceImpl implements IConsultationAppService { entity.setConsultationStatus(ConsultationStatusEnum.SUBMITTED.getCode()); entity.setConfirmingPhysician(SecurityUtils.getLoginUser().getUser().getNickName()); entity.setConfirmingPhysicianId(SecurityUtils.getLoginUser().getPractitionerId()); - entity.setConfirmingDate(new Date()); + entity.setConfirmingDate(LocalDateTime.now()); } else { entity.setConsultationStatus(ConsultationStatusEnum.NEW.getCode()); } @@ -262,7 +262,7 @@ public class ConsultationAppServiceImpl implements IConsultationAppService { // 设置提交会诊的医生信息 entity.setConfirmingPhysician(SecurityUtils.getLoginUser().getUser().getNickName()); entity.setConfirmingPhysicianId(SecurityUtils.getLoginUser().getPractitionerId()); - entity.setConfirmingDate(new Date()); + entity.setConfirmingDate(LocalDateTime.now()); consultationRequestMapper.updateById(entity); @@ -307,7 +307,7 @@ public class ConsultationAppServiceImpl implements IConsultationAppService { // 作废:将状态改为"已取消" entity.setConsultationStatus(ConsultationStatusEnum.CANCELLED.getCode()); entity.setCancelReason(cancelReason); - entity.setCancelNatureDate(new Date()); + entity.setCancelNatureDate(LocalDateTime.now()); consultationRequestMapper.updateById(entity); // 更新门诊医嘱表状态为已作废 @@ -622,8 +622,8 @@ public class ConsultationAppServiceImpl implements IConsultationAppService { sleepUntilNextSecond(nowMillis); continue; } - java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = sdf.format(new Date()); + java.time.format.DateTimeFormatter formatter = java.time.format.DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); + String dateTime = java.time.LocalDateTime.now().format(formatter); String sequenceStr = String.format("%04d", sequence); return "CS" + dateTime + sequenceStr; @@ -691,18 +691,17 @@ public class ConsultationAppServiceImpl implements IConsultationAppService { /** * 计算年龄 */ - private Integer calculateAge(Date birthDate) { + private Integer calculateAge(java.util.Date birthDate) { if (birthDate == null) { return null; } - java.util.Calendar now = java.util.Calendar.getInstance(); - java.util.Calendar birth = java.util.Calendar.getInstance(); - birth.setTime(birthDate); - - int age = now.get(java.util.Calendar.YEAR) - birth.get(java.util.Calendar.YEAR); - if (now.get(java.util.Calendar.DAY_OF_YEAR) < birth.get(java.util.Calendar.DAY_OF_YEAR)) { - age--; - } + + java.time.LocalDate birthLocalDate = birthDate.toInstant() + .atZone(java.time.ZoneId.systemDefault()) + .toLocalDate(); + java.time.LocalDate now = java.time.LocalDate.now(); + + int age = java.time.Period.between(birthLocalDate, now).getYears(); return age; } @@ -766,12 +765,12 @@ public class ConsultationAppServiceImpl implements IConsultationAppService { serviceRequest.setContentJson(JSON.toJSONString(contentMap)); // 时间信息 - serviceRequest.setAuthoredTime(new Date()); + serviceRequest.setAuthoredTime(new java.util.Date()); // 审计字段 serviceRequest.setTenantId(SecurityUtils.getLoginUser().getTenantId().intValue()); serviceRequest.setCreateBy(SecurityUtils.getUsername()); - serviceRequest.setCreateTime(new Date()); + serviceRequest.setCreateTime(new java.util.Date()); // 保存到数据库 iServiceRequestService.save(serviceRequest); @@ -829,12 +828,12 @@ public class ConsultationAppServiceImpl implements IConsultationAppService { // 开立信息 chargeItem.setEntererId(consultationRequest.getRequestingPhysicianId()); chargeItem.setRequestingOrgId(consultationRequest.getDepartmentId()); - chargeItem.setEnteredDate(new Date()); + chargeItem.setEnteredDate(new java.util.Date()); // 审计字段 chargeItem.setTenantId(SecurityUtils.getLoginUser().getTenantId()); chargeItem.setCreateBy(SecurityUtils.getUsername()); - chargeItem.setCreateTime(new Date()); + chargeItem.setCreateTime(new java.util.Date()); iChargeItemService.save(chargeItem); @@ -872,19 +871,19 @@ public class ConsultationAppServiceImpl implements IConsultationAppService { // 更新医嘱内容 serviceRequest.setContentJson(JSON.toJSONString(consultationRequest)); serviceRequest.setUpdateBy(SecurityUtils.getUsername()); - serviceRequest.setUpdateTime(new Date()); - + serviceRequest.setUpdateTime(new java.util.Date()); + iServiceRequestService.updateById(serviceRequest); - + } catch (Exception e) { log.error("更新会诊医嘱失败", e); throw new RuntimeException("更新会诊医嘱失败: " + e.getMessage()); } } - + /** * 更新门诊医嘱状态 - * + * * @param orderId 医嘱ID * @param status 新状态 */ @@ -894,19 +893,19 @@ public class ConsultationAppServiceImpl implements IConsultationAppService { log.warn("医嘱ID为空,跳过状态更新"); return; } - + ServiceRequest serviceRequest = iServiceRequestService.getById(orderId); if (serviceRequest == null) { log.warn("未找到医嘱记录,OrderId: {}", orderId); return; } - + serviceRequest.setStatusEnum(status); serviceRequest.setUpdateBy(SecurityUtils.getUsername()); - serviceRequest.setUpdateTime(new Date()); - + serviceRequest.setUpdateTime(new java.util.Date()); + iServiceRequestService.updateById(serviceRequest); - + } catch (Exception e) { log.error("更新医嘱状态失败", e); throw new RuntimeException("更新医嘱状态失败: " + e.getMessage()); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/domain/ConsultationRequest.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/domain/ConsultationRequest.java index c6adb80b..310677cc 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/domain/ConsultationRequest.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/domain/ConsultationRequest.java @@ -3,18 +3,20 @@ package com.openhis.web.consultation.domain; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import org.apache.ibatis.type.Alias; import java.io.Serializable; import java.util.Date; /** * 会诊申请单实体类 - * + * * @author system * @date 2026-01-29 */ @Data @TableName("consultation_request") +@Alias("webConsultationRequest") public class ConsultationRequest implements Serializable { private static final long serialVersionUID = 1L; diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/mapper/ConsultationRequestMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/mapper/ConsultationRequestMapper.java deleted file mode 100644 index cb7aaaa5..00000000 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/consultation/mapper/ConsultationRequestMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.openhis.web.consultation.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.openhis.web.consultation.domain.ConsultationRequest; -import org.apache.ibatis.annotations.Mapper; - -/** - * 会诊申请Mapper接口 - * - * @author system - * @date 2026-01-29 - */ -@Mapper -public interface ConsultationRequestMapper extends BaseMapper { - -} - diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/consultation/ConsultationRequestMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/consultation/ConsultationRequestMapper.xml index 8a104a29..3932f64e 100644 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/consultation/ConsultationRequestMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/consultation/ConsultationRequestMapper.xml @@ -2,10 +2,10 @@ - + - + @@ -22,8 +22,6 @@ - - @@ -45,6 +43,11 @@ + + + + +