refactor(consultation): 重构会诊模块包结构和日期时间处理
- 将ConsultationRequest相关类从web包移动到consultation包 - 替换java.util.Date为java.time.LocalDateTime进行日期时间处理 - 统一日期时间格式化方式,使用DateTimeFormatter替代SimpleDateFormat - 优化年龄计算逻辑,使用Java 8时间API替代Calendar - 在ConsultationRequest实体上添加MyBatis别名注解 - 更新MyBatis映射文件中的命名空间和类型引用 - 调整数据库字段映射,移除无效字段并添加新字段
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<ConsultationRequest> {
|
||||
|
||||
}
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.consultation.mapper.ConsultationRequestMapper">
|
||||
<mapper namespace="com.openhis.consultation.mapper.ConsultationRequestMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.openhis.web.consultation.domain.ConsultationRequest">
|
||||
<resultMap id="BaseResultMap" type="com.openhis.consultation.domain.ConsultationRequest">
|
||||
<id column="id" property="id" />
|
||||
<result column="consultation_id" property="consultationId" />
|
||||
<result column="patient_id" property="patientId" />
|
||||
@@ -22,8 +22,6 @@
|
||||
<result column="requesting_physician_id" property="requestingPhysicianId" />
|
||||
<result column="consultation_request_date" property="consultationRequestDate" />
|
||||
<result column="invited_object" property="invitedObject" />
|
||||
<result column="invited_department_id" property="invitedDepartmentId" />
|
||||
<result column="invited_physician_id" property="invitedPhysicianId" />
|
||||
<result column="consultation_date" property="consultationDate" />
|
||||
<result column="consultation_purpose" property="consultationPurpose" />
|
||||
<result column="provisional_diagnosis" property="provisionalDiagnosis" />
|
||||
@@ -45,6 +43,11 @@
|
||||
<result column="tenant_id" property="tenantId" />
|
||||
<result column="is_deleted" property="isDeleted" />
|
||||
<result column="remark" property="remark" />
|
||||
<result column="consultation_activity_id" property="consultationActivityId" />
|
||||
<result column="consultation_activity_name" property="consultationActivityName" />
|
||||
<result column="confirming_physician_name" property="confirmingPhysicianName" />
|
||||
<result column="confirming_department_name" property="confirmingDepartmentName" />
|
||||
<result column="confirming_physician_participation" property="confirmingPhysicianParticipation" />
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user