revert: restore develop to clean baseline 5132de36 (remove all AI changes)

This commit is contained in:
2026-05-28 09:43:49 +08:00
parent bdec44d6c5
commit 913a971ce4
481 changed files with 3036 additions and 26749 deletions

View File

@@ -1,32 +0,0 @@
package com.openhis.application.constants;
public enum LabOrderStatus {
SUBMITTED("0"),
PENDING_REVIEW("1"),
WITHDRAWN("2"),
FINISHED("3"),
DISPENSED("4"),
VERIFIED("5"),
CANCELLED("6"),
PENDING("7"),
COMPLETED("8");
private final String code;
LabOrderStatus(String code) {
this.code = code;
}
public String getCode() {
return code;
}
public static LabOrderStatus fromCode(String code) {
for (LabOrderStatus s : values()) {
if (s.code.equals(code)) {
return s;
}
}
throw new IllegalArgumentException("Unknown LabOrderStatus code: " + code);
}
}

View File

@@ -1,15 +0,0 @@
package com.openhis.application.constants;
/**
* 订单(挂号)状态常量
*/
public class OrderStatus {
public static final String RESERVED = "RESERVED"; // 已预约
public static final String WAITING = "WAITING"; // 待就诊
public static final String IN_PROGRESS = "IN_PROGRESS"; // 就诊中
public static final String COMPLETED = "COMPLETED"; // 已完成
public static final String CANCELLED = "CANCELLED"; // 已取消
public static final String REFUNDED = "REFUNDED"; // 已退号(诊前退款)
public static final String PAID = "PAID"; // 已支付
public static final String BOOKED = "BOOKED"; // 已预约
}

View File

@@ -1,9 +0,0 @@
package com.openhis.application.constants;
/**
* 退款状态常量
*/
public class RefundStatus {
public static final String SUCCESS = "SUCCESS";
public static final String FAILED = "FAILED";
}

View File

@@ -1,7 +0,0 @@
package com.openhis.application.constants;
public class RegistrationStatus {
public static final Integer RESERVED = 2;
public static final Integer SIGNED = 3;
public static final Integer CANCELLED = 4;
}

View File

@@ -1,12 +0,0 @@
package com.openhis.application.constants;
/**
* 号源 Pool 状态常量
*
* 新增AVAILABLE可预约对应 PRD 中的“可预约”状态
*/
public class SchedulePoolStatus {
public static final String BOOKED = "BOOKED"; // 已预约
public static final String AVAILABLE = "AVAILABLE"; // 可预约(退号后恢复)
public static final String CLOSED = "CLOSED"; // 已关闭
}

View File

@@ -1,39 +0,0 @@
package com.openhis.application.constants;
/**
* 门诊号源状态常量定义
*
* 修复 Bug #570移除冗余的“已锁定”状态统一预约流转状态机。
* 预约成功后直接流转至“已预约”,避免中间态导致前端查询过滤失效。
*/
public enum ScheduleSlotStatus {
AVAILABLE(0, "可预约"),
BOOKED(1, "已预约"),
VISITED(2, "已就诊"),
CANCELLED(3, "已取消");
private final int code;
private final String desc;
ScheduleSlotStatus(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static ScheduleSlotStatus fromCode(int code) {
for (ScheduleSlotStatus status : values()) {
if (status.code == code) {
return status;
}
}
throw new IllegalArgumentException("Unknown schedule slot status code: " + code);
}
}

View File

@@ -1,51 +0,0 @@
package com.openhis.application.controller;
import com.openhis.application.domain.entity.MedicalRecord;
import com.openhis.application.service.MedicalRecordService;
import com.openhis.application.vo.PageResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 门诊医生工作站 - 待写病历相关接口
*
* 修复 Bug #562原始实现在查询待写病历时一次性返回全部数据导致数据量大时响应时间超过 2 秒。
* 为提升性能新增分页参数page、size并在未传入时使用默认值page=1size=20
* 同时在 Service 层加入索引优化的查询方法,确保数据库只返回当前页的数据。
*/
@RestController
@RequestMapping("/api/medical-record")
public class MedicalRecordController {
@Autowired
private MedicalRecordService medicalRecordService;
/**
* 获取待写病历列表(分页)。
*
* @param page 当前页码,默认 1>=1
* @param size 每页记录数,默认 20最大 200
* @return 分页结果
*/
@GetMapping("/pending")
public PageResult<MedicalRecord> getPendingRecords(
@RequestParam(value = "page", required = false, defaultValue = "1") int page,
@RequestParam(value = "size", required = false, defaultValue = "20") int size) {
// 防止异常参数
if (page < 1) {
page = 1;
}
if (size < 1) {
size = 20;
}
if (size > 200) {
size = 200;
}
// 调用 Service 分页查询
return medicalRecordService.getPendingRecords(page, size);
}
}

View File

@@ -1,60 +0,0 @@
package com.openhis.application.controller;
import com.github.pagehelper.Page;
import com.openhis.application.domain.entity.OrderMain;
import com.openhis.application.exception.BusinessException;
import com.openhis.application.service.OrderService;
import com.openhis.application.constants.OrderStatus;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
/**
* 医嘱相关接口
*
* 新增历史排队查询接口,解决 Bug #544。
* 新增待写病历分页接口,解决 Bug #562 加载超时问题。
* 修复 Bug #505药品已发药后护士不可再退回医嘱。
*/
@RestController
@RequestMapping("/api/orders")
public class OrderController {
private final OrderService orderService;
public OrderController(OrderService orderService) {
this.orderService = orderService;
}
// ... 现有的 getQueue、getQueueHistory 等方法保持不变 ...
/**
* 医嘱退回(仅在未发药或未完成的情况下允许)。
*
* @param orderId 医嘱主表 ID
* @return 操作结果
*/
@PostMapping("/{orderId}/return")
public Map<String, Object> returnOrder(@PathVariable Long orderId) {
// 1. 查询医嘱主记录
OrderMain order = orderService.getOrderById(orderId);
if (order == null) {
throw new BusinessException("医嘱不存在");
}
// 2. 判断当前状态是否允许退回
// 只允许在 WAITING待诊或 IN_PROGRESS进行中状态退回
// 已发药DISPENSED及以后状态均不可退回。
if (order.getStatus() != OrderStatus.WAITING && order.getStatus() != OrderStatus.IN_PROGRESS) {
throw new BusinessException("医嘱已发药或已完成,不能退回");
}
// 3. 调用业务层执行退回
orderService.returnOrder(orderId);
Map<String, Object> result = new HashMap<>();
result.put("message", "医嘱退回成功");
return result;
}
}

View File

@@ -1,41 +0,0 @@
package com.openhis.application.controller;
import com.openhis.application.domain.entity.QueueInfo;
import com.openhis.application.service.QueueService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
/**
* 智能分诊排队接口
*
* 新增:
* - /api/queue/current 返回当前排队(包括完诊);
* - /api/queue/history 返回历史排队记录(完诊、已取消)。
*
* 修复 Bug #544。
*/
@RestController
public class QueueController {
private final QueueService queueService;
public QueueController(QueueService queueService) {
this.queueService = queueService;
}
@GetMapping("/api/queue/current")
public List<QueueInfo> getCurrentQueue(@RequestParam(required = false) Long departmentId) {
return queueService.getCurrentQueue(departmentId);
}
@GetMapping("/api/queue/history")
public List<QueueInfo> getHistoryQueue(@RequestParam(required = false) Long departmentId,
@RequestParam(required = false) Date startTime,
@RequestParam(required = false) Date endTime) {
return queueService.getHistoryQueue(departmentId, startTime, endTime);
}
}

View File

@@ -1,40 +0,0 @@
package com.openhis.application.controller;
import com.openhis.application.domain.dto.SurgeryApplyDTO;
import com.openhis.application.service.SurgeryApplyService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/inpatient/surgery/apply")
public class SurgeryApplyController {
private final SurgeryApplyService surgeryApplyService;
public SurgeryApplyController(SurgeryApplyService surgeryApplyService) {
this.surgeryApplyService = surgeryApplyService;
}
@GetMapping("/list")
public ResponseEntity<?> getList(@RequestParam(required = false) String patientId) {
return ResponseEntity.ok(surgeryApplyService.getListByPatient(patientId));
}
@PostMapping("/revoke/{id}")
public ResponseEntity<?> revoke(@PathVariable Long id) {
surgeryApplyService.revokeApply(id);
return ResponseEntity.ok("撤回成功");
}
@DeleteMapping("/{id}")
public ResponseEntity<?> delete(@PathVariable Long id) {
surgeryApplyService.deleteApply(id);
return ResponseEntity.ok("删除成功");
}
@PutMapping("/{id}")
public ResponseEntity<?> update(@PathVariable Long id, @RequestBody SurgeryApplyDTO dto) {
surgeryApplyService.updateApply(id, dto);
return ResponseEntity.ok("更新成功");
}
}

View File

@@ -1,35 +0,0 @@
package com.openhis.application.controller;
import com.github.pagehelper.PageInfo;
import com.openhis.application.domain.dto.TriageQueueQueryDTO;
import com.openhis.application.domain.entity.TriageQueueRecord;
import com.openhis.application.service.TriageQueueService;
import com.openhis.common.core.domain.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 智能分诊排队管理控制器
* 修复 Bug #544支持全状态查询及历史队列按时间检索
*/
@RestController
@RequestMapping("/api/triage/queue")
public class TriageQueueController {
private final TriageQueueService triageQueueService;
public TriageQueueController(TriageQueueService triageQueueService) {
this.triageQueueService = triageQueueService;
}
/**
* 获取排队队列列表
* @param query 查询条件(含科室、状态、起止时间)
* @return 分页队列数据
*/
@GetMapping("/list")
public R<PageInfo<TriageQueueRecord>> list(TriageQueueQueryDTO query) {
return R.ok(triageQueueService.getQueueList(query));
}
}

View File

@@ -1,27 +0,0 @@
package com.openhis.application.controller;
import com.openhis.application.domain.dto.VitalSignDto;
import com.openhis.application.service.VitalSignService;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/vitalSign")
public class VitalSignController {
private final VitalSignService vitalSignService;
public VitalSignController(VitalSignService vitalSignService) {
this.vitalSignService = vitalSignService;
}
/**
* 获取体温单图表数据
*
* 前端在渲染体温单时调用此接口,返回的 DTO 已经包含
* 按时间顺序的时间标签和体温数值数组,确保图表能够正常绘制。
*/
@GetMapping("/temperatureChart/{patientId}")
public VitalSignDto getTemperatureChart(@PathVariable Long patientId) {
return vitalSignService.getTemperatureChartData(patientId);
}
}

View File

@@ -1,31 +0,0 @@
package com.openhis.application.domain.dto;
import java.util.List;
import com.openhis.application.domain.entity.Diagnosis;
public class DiagnosisSaveDto {
private List<Diagnosis> diagnoses;
private Long patientId;
private String visitNo;
public List<Diagnosis> getDiagnoses() { return diagnoses; }
public void setDiagnoses(List<Diagnosis> diagnoses) { this.diagnoses = diagnoses; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public String getVisitNo() { return visitNo; }
public void setVisitNo(String visitNo) { this.visitNo = visitNo; }
private Long visitId;
private List<String> diagnosisCodes;
private String diagnosisType;
private String notes;
public Long getVisitId() { return visitId; }
public void setVisitId(Long visitId) { this.visitId = visitId; }
public List<String> getDiagnosisCodes() { return diagnosisCodes; }
public void setDiagnosisCodes(List<String> diagnosisCodes) { this.diagnosisCodes = diagnosisCodes; }
public String getDiagnosisType() { return diagnosisType; }
public void setDiagnosisType(String diagnosisType) { this.diagnosisType = diagnosisType; }
public String getNotes() { return notes; }
public void setNotes(String notes) { this.notes = notes; }
}

View File

@@ -1,19 +0,0 @@
package com.openhis.application.domain.dto;
import java.util.List;
public class DiagnosisSaveResultDto {
private Long diagnosisId;
private boolean success;
private String message;
private List<String> reportCardTypes;
public Long getDiagnosisId() { return diagnosisId; }
public void setDiagnosisId(Long diagnosisId) { this.diagnosisId = diagnosisId; }
public boolean isSuccess() { return success; }
public void setSuccess(boolean success) { this.success = success; }
public String getMessage() { return message; }
public void setMessage(String message) { this.message = message; }
public List<String> getReportCardTypes() { return reportCardTypes; }
public void setReportCardTypes(List<String> reportCardTypes) { this.reportCardTypes = reportCardTypes; }
}

View File

@@ -1,40 +0,0 @@
package com.openhis.application.domain.dto;
import java.util.Date;
public class InfectiousDiseaseReportDto {
private Long id;
private Long patientId;
private String diseaseCode;
private Date reportTime;
private Date diagnosisTime;
private String patientName;
private String patientIdCard;
private String gender;
private Date birthDate;
private String currentAddress;
private String occupation;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public String getDiseaseCode() { return diseaseCode; }
public void setDiseaseCode(String diseaseCode) { this.diseaseCode = diseaseCode; }
public Date getReportTime() { return reportTime; }
public void setReportTime(Date reportTime) { this.reportTime = reportTime; }
public Date getDiagnosisTime() { return diagnosisTime; }
public void setDiagnosisTime(Date diagnosisTime) { this.diagnosisTime = diagnosisTime; }
public String getPatientName() { return patientName; }
public void setPatientName(String patientName) { this.patientName = patientName; }
public String getPatientIdCard() { return patientIdCard; }
public void setPatientIdCard(String patientIdCard) { this.patientIdCard = patientIdCard; }
public String getGender() { return gender; }
public void setGender(String gender) { this.gender = gender; }
public Date getBirthDate() { return birthDate; }
public void setBirthDate(Date birthDate) { this.birthDate = birthDate; }
public String getCurrentAddress() { return currentAddress; }
public void setCurrentAddress(String currentAddress) { this.currentAddress = currentAddress; }
public String getOccupation() { return occupation; }
public void setOccupation(String occupation) { this.occupation = occupation; }
}

View File

@@ -1,10 +0,0 @@
package com.openhis.application.domain.dto;
public class LabOrderDto {
private Long id;
private String orderNo;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getOrderNo() { return orderNo; }
public void setOrderNo(String orderNo) { this.orderNo = orderNo; }
}

View File

@@ -1,40 +0,0 @@
package com.openhis.application.domain.dto;
import java.util.Date;
public class MedicalRecordDto {
private Long id;
private Long visitId;
private Long patientId;
private String patientName;
private Long doctorId;
private String chiefComplaint;
private String status;
private Date createTime;
private String visitNo;
private String departmentName;
private String diagnosis;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getVisitId() { return visitId; }
public void setVisitId(Long visitId) { this.visitId = visitId; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public String getPatientName() { return patientName; }
public void setPatientName(String patientName) { this.patientName = patientName; }
public Long getDoctorId() { return doctorId; }
public void setDoctorId(Long doctorId) { this.doctorId = doctorId; }
public String getChiefComplaint() { return chiefComplaint; }
public void setChiefComplaint(String chiefComplaint) { this.chiefComplaint = chiefComplaint; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public String getVisitNo() { return visitNo; }
public void setVisitNo(String visitNo) { this.visitNo = visitNo; }
public String getDepartmentName() { return departmentName; }
public void setDepartmentName(String departmentName) { this.departmentName = departmentName; }
public String getDiagnosis() { return diagnosis; }
public void setDiagnosis(String diagnosis) { this.diagnosis = diagnosis; }
}

View File

@@ -1,37 +0,0 @@
package com.openhis.application.domain.dto;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 医嘱明细 DTO
* 修复 Bug #595补充护士站校对所需的核心结构化字段确保与医生站要素一致。
*/
@Data
public class OrderDetailDto {
private Long id;
private Long mainId;
private String orderContent;
private String orderType;
private String status;
// 新增字段:满足三查七对与结构化核对需求
private Date startTime;
private String singleDose;
private String totalAmount;
private BigDecimal totalCost;
private String frequencyUsage;
private String orderingDoctor;
private Date stopTime;
private String stoppingDoctor;
private Boolean isInjection;
private String injectionDrug;
private String skinTestStatus; // 枚举值:需皮试/已皮试/无需皮试
private String diagnosis;
// 兼容原有字段
private String remark;
private Date createTime;
private Date updateTime;
}

View File

@@ -1,2 +0,0 @@
package com.openhis.application.domain.dto;
public class OrderVerificationDTO {}

View File

@@ -1,17 +0,0 @@
package com.openhis.application.domain.dto;
public class OrderVerifyDto {
private Long orderId;
private Long nurseId;
private String verifyStatus;
private String remark;
public Long getOrderId() { return orderId; }
public void setOrderId(Long orderId) { this.orderId = orderId; }
public Long getNurseId() { return nurseId; }
public void setNurseId(Long nurseId) { this.nurseId = nurseId; }
public String getVerifyStatus() { return verifyStatus; }
public void setVerifyStatus(String verifyStatus) { this.verifyStatus = verifyStatus; }
public String getRemark() { return remark; }
public void setRemark(String remark) { this.remark = remark; }
}

View File

@@ -1,20 +0,0 @@
package com.openhis.application.domain.dto;
public class QueuePatientDto {
private Long id;
private Long patientId;
private String patientName;
private String queueNumber;
private String status;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public String getPatientName() { return patientName; }
public void setPatientName(String patientName) { this.patientName = patientName; }
public String getQueueNumber() { return queueNumber; }
public void setQueueNumber(String queueNumber) { this.queueNumber = queueNumber; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
}

View File

@@ -1,20 +0,0 @@
package com.openhis.application.domain.dto;
import java.time.LocalDateTime;
public class QueueQueryDto {
private Integer pageNum;
private Integer pageSize;
private LocalDateTime startDate;
private LocalDateTime endDate;
public QueueQueryDto() {}
public Integer getPageNum() { return pageNum; }
public void setPageNum(Integer pageNum) { this.pageNum = pageNum; }
public Integer getPageSize() { return pageSize; }
public void setPageSize(Integer pageSize) { this.pageSize = pageSize; }
public LocalDateTime getStartDate() { return startDate; }
public void setStartDate(LocalDateTime startDate) { this.startDate = startDate; }
public LocalDateTime getEndDate() { return endDate; }
public void setEndDate(LocalDateTime endDate) { this.endDate = endDate; }
}

View File

@@ -1,25 +0,0 @@
package com.openhis.application.domain.dto;
import java.util.Date;
public class SurgeryApplyDTO {
private Long id;
private Long patientId;
private String surgeryName;
private Date scheduledDate;
private String status;
private String notes;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public String getSurgeryName() { return surgeryName; }
public void setSurgeryName(String surgeryName) { this.surgeryName = surgeryName; }
public Date getScheduledDate() { return scheduledDate; }
public void setScheduledDate(Date scheduledDate) { this.scheduledDate = scheduledDate; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public String getNotes() { return notes; }
public void setNotes(String notes) { this.notes = notes; }
}

View File

@@ -1,12 +0,0 @@
package com.openhis.application.domain.dto;
public class TriageQueueQueryDTO {
private Integer pageNum;
private Integer pageSize;
public TriageQueueQueryDTO() {}
public Integer getPageNum() { return pageNum; }
public void setPageNum(Integer pageNum) { this.pageNum = pageNum; }
public Integer getPageSize() { return pageSize; }
public void setPageSize(Integer pageSize) { this.pageSize = pageSize; }
}

View File

@@ -1,33 +0,0 @@
package com.openhis.application.domain.dto;
import lombok.Data;
import java.util.List;
/**
* 体征数据 DTO用于体温单图表渲染
*
* 修复 Bug #566体征数据已录入成功但在“体温单”图表区中未渲染显示数据点。
* 之前的接口只返回了原始体温记录的时间戳和数值,前端图表组件期望的是
* 按时间顺序的温度数值数组temperaturePoints以及对应的时间标签timeLabels
* 为了兼容旧接口并满足新图表的需求,新增了两个字段:
* 1. timeLabels 形如 "HH:mm" 的时间标签列表,顺序与 temperaturePoints 对应。
* 2. temperaturePoints 按时间顺序排列的体温数值列表。
*
* 前端在渲染 ECharts或其他图表库时直接使用这两个数组即可绘制折线图
* 从而解决数据点不显示的问题。
*/
@Data
public class VitalSignDto {
/** 患者 ID */
private Long patientId;
/** 体温记录的时间戳ISO8601 */
private List<String> timeLabels;
/** 对应时间点的体温数值(单位:℃) */
private List<Double> temperaturePoints;
/** 其它体征(血压、脉搏等)预留字段,保持向后兼容 */
private String rawDataJson;
}

View File

@@ -1,27 +0,0 @@
package com.openhis.application.domain.dto;
import java.util.Date;
public class VitalSignsDto {
private Long id;
private Long patientId;
private String recordTime;
private String temperature;
private String heartRate;
private String pulse;
public VitalSignsDto() {}
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public String getRecordTime() { return recordTime; }
public void setRecordTime(String recordTime) { this.recordTime = recordTime; }
public String getTemperature() { return temperature; }
public void setTemperature(String temperature) { this.temperature = temperature; }
public String getHeartRate() { return heartRate; }
public void setHeartRate(String heartRate) { this.heartRate = heartRate; }
public String getPulse() { return pulse; }
public void setPulse(String pulse) { this.pulse = pulse; }
}

View File

@@ -1,22 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class AdmScheduleSlot {
private Long id;
private Long schedulePoolId;
private Integer status;
private Date createTime;
private Date updateTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getSchedulePoolId() { return schedulePoolId; }
public void setSchedulePoolId(Long schedulePoolId) { this.schedulePoolId = schedulePoolId; }
public Integer getStatus() { return status; }
public void setStatus(Integer status) { this.status = status; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,59 +0,0 @@
package com.openhis.application.domain.entity;
import java.io.Serializable;
/**
* 药品目录项实体
*
* 该实体在查询药品目录时被 MyBatis/JPQL 等持久层框架使用。
* 之前的实现缺少 {@link Serializable} 接口实现以及无参构造函数,
* 在分页查询或缓存序列化时会抛出 {@link java.io.NotSerializableException}
* 或者导致框架在尝试实例化对象时进入无限递归,从而出现接口异常、页面卡死的现象。
*
* 为了兼容所有持久化框架并避免上述异常,做如下改动:
* 1. 实现 {@link Serializable} 接口;
* 2. 添加显式的无参构造函数;
* 3. 为所有属性提供完整的 getter / setter保持原有实现不变
* 4. 为类添加 {@code serialVersionUID},防止序列化版本冲突。
*/
public class CatalogItem implements Serializable {
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 药品编码 */
private String itemCode;
/** 药品名称 */
private String itemName;
/** 必须的无参构造函数,供框架反射实例化使用 */
public CatalogItem() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getItemCode() {
return itemCode;
}
public void setItemCode(String itemCode) {
this.itemCode = itemCode;
}
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
}

View File

@@ -1,43 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class Diagnosis {
private Long id;
private Long diseaseId;
private String code;
private String name;
private Long visitId;
private String diagnosisCode;
private String diagnosisName;
private String diagnosisType;
private Long doctorId;
private Date diagnosisTime;
private Date createTime;
private Date updateTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getDiseaseId() { return diseaseId; }
public void setDiseaseId(Long diseaseId) { this.diseaseId = diseaseId; }
public String getCode() { return code; }
public void setCode(String code) { this.code = code; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Long getVisitId() { return visitId; }
public void setVisitId(Long visitId) { this.visitId = visitId; }
public String getDiagnosisCode() { return diagnosisCode; }
public void setDiagnosisCode(String diagnosisCode) { this.diagnosisCode = diagnosisCode; }
public String getDiagnosisName() { return diagnosisName; }
public void setDiagnosisName(String diagnosisName) { this.diagnosisName = diagnosisName; }
public String getDiagnosisType() { return diagnosisType; }
public void setDiagnosisType(String diagnosisType) { this.diagnosisType = diagnosisType; }
public Long getDoctorId() { return doctorId; }
public void setDoctorId(Long doctorId) { this.doctorId = doctorId; }
public Date getDiagnosisTime() { return diagnosisTime; }
public void setDiagnosisTime(Date diagnosisTime) { this.diagnosisTime = diagnosisTime; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,31 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class DiseaseCatalog {
private Long id;
private String diseaseCode;
private String diseaseName;
private String icdCode;
private String category;
private String reportCardType;
private Date createTime;
private Date updateTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getDiseaseCode() { return diseaseCode; }
public void setDiseaseCode(String diseaseCode) { this.diseaseCode = diseaseCode; }
public String getDiseaseName() { return diseaseName; }
public void setDiseaseName(String diseaseName) { this.diseaseName = diseaseName; }
public String getIcdCode() { return icdCode; }
public void setIcdCode(String icdCode) { this.icdCode = icdCode; }
public String getCategory() { return category; }
public void setCategory(String category) { this.category = category; }
public String getReportCardType() { return reportCardType; }
public void setReportCardType(String reportCardType) { this.reportCardType = reportCardType; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,23 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class DispensingDetail {
private Long id;
private Integer applyStatus;
private Date createTime;
private Long orderId;
private Date updateTime;
public DispensingDetail() {}
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Integer getApplyStatus() { return applyStatus; }
public void setApplyStatus(Integer applyStatus) { this.applyStatus = applyStatus; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Long getOrderId() { return orderId; }
public void setOrderId(Long orderId) { this.orderId = orderId; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,20 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class DispensingSummary {
private Long id;
private Integer applyStatus;
private Date createTime;
private Date updateTime;
public DispensingSummary() {}
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Integer getApplyStatus() { return applyStatus; }
public void setApplyStatus(Integer applyStatus) { this.applyStatus = applyStatus; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,34 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class LabOrderDetail {
private Long id;
private Long labOrderMainId;
private String itemCode;
private String itemName;
private String status;
private Date createTime;
private Date updateTime;
private Date withdrawTime;
private String withdrawBy;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getLabOrderMainId() { return labOrderMainId; }
public void setLabOrderMainId(Long labOrderMainId) { this.labOrderMainId = labOrderMainId; }
public String getItemCode() { return itemCode; }
public void setItemCode(String itemCode) { this.itemCode = itemCode; }
public String getItemName() { return itemName; }
public void setItemName(String itemName) { this.itemName = itemName; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
public Date getWithdrawTime() { return withdrawTime; }
public void setWithdrawTime(Date withdrawTime) { this.withdrawTime = withdrawTime; }
public String getWithdrawBy() { return withdrawBy; }
public void setWithdrawBy(String withdrawBy) { this.withdrawBy = withdrawBy; }
}

View File

@@ -1,37 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class LabOrderMain {
private Long id;
private Long patientId;
private Long doctorId;
private String orderType;
private String status;
private String remark;
private Date createTime;
private Date updateTime;
private Date withdrawTime;
private String withdrawBy;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public Long getDoctorId() { return doctorId; }
public void setDoctorId(Long doctorId) { this.doctorId = doctorId; }
public String getOrderType() { return orderType; }
public void setOrderType(String orderType) { this.orderType = orderType; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public String getRemark() { return remark; }
public void setRemark(String remark) { this.remark = remark; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
public Date getWithdrawTime() { return withdrawTime; }
public void setWithdrawTime(Date withdrawTime) { this.withdrawTime = withdrawTime; }
public String getWithdrawBy() { return withdrawBy; }
public void setWithdrawBy(String withdrawBy) { this.withdrawBy = withdrawBy; }
}

View File

@@ -1,27 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
import java.util.List;
public class LabRequest {
private Long id;
private Long patientId;
private String requestNo;
private String status;
private Date createTime;
private List<LabRequestItem> items;
public LabRequest() {}
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public String getRequestNo() { return requestNo; }
public void setRequestNo(String requestNo) { this.requestNo = requestNo; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public List<LabRequestItem> getItems() { return items; }
public void setItems(List<LabRequestItem> items) { this.items = items; }
}

View File

@@ -1,16 +0,0 @@
package com.openhis.application.domain.entity;
public class LabRequestItem {
private Long id;
private Long labRequestId;
private String itemCode;
private String itemName;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getLabRequestId() { return labRequestId; }
public void setLabRequestId(Long labRequestId) { this.labRequestId = labRequestId; }
public String getItemCode() { return itemCode; }
public void setItemCode(String itemCode) { this.itemCode = itemCode; }
public String getItemName() { return itemName; }
public void setItemName(String itemName) { this.itemName = itemName; }
}

View File

@@ -1,34 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class MedicalRecord {
private Long id;
private Long visitId;
private String visitNo;
private Long doctorId;
private String patientName;
private String status;
private String chiefComplaint;
private Date createTime;
private Date updateTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getVisitId() { return visitId; }
public void setVisitId(Long visitId) { this.visitId = visitId; }
public String getVisitNo() { return visitNo; }
public void setVisitNo(String visitNo) { this.visitNo = visitNo; }
public Long getDoctorId() { return doctorId; }
public void setDoctorId(Long doctorId) { this.doctorId = doctorId; }
public String getPatientName() { return patientName; }
public void setPatientName(String patientName) { this.patientName = patientName; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public String getChiefComplaint() { return chiefComplaint; }
public void setChiefComplaint(String chiefComplaint) { this.chiefComplaint = chiefComplaint; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,90 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
/**
* 订单明细实体
*
* 为了支持退款业务,新增 scheduleSlotId 字段(对应数据库列 schedule_slot_id
* 修复 Bug #561新增 unit 字段用于承载诊疗目录配置的“使用单位”。
*/
public class OrderDetail {
private Long id;
private Long orderId;
private String itemCode;
private String status;
private Date createTime;
private Date updateTime;
/** 对应排班号主键 */
private Long scheduleSlotId;
/** 修复 Bug #561总量单位对应诊疗目录的使用单位 */
private String unit;
// getters & setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public String getItemCode() {
return itemCode;
}
public void setItemCode(String itemCode) {
this.itemCode = itemCode;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Long getScheduleSlotId() {
return scheduleSlotId;
}
public void setScheduleSlotId(Long scheduleSlotId) {
this.scheduleSlotId = scheduleSlotId;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
}

View File

@@ -1,55 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class OrderMain {
private Long id;
private Long patientId;
private Long doctorId;
private Long slotId;
private Long poolId;
private String orderType;
private String status;
private String remark;
private Date createTime;
private Date updateTime;
private String execStatus;
private String dispenseApplyStatus;
private String dispenseStatus;
private Integer payStatus;
private Date cancelTime;
private String cancelReason;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public Long getDoctorId() { return doctorId; }
public void setDoctorId(Long doctorId) { this.doctorId = doctorId; }
public Long getSlotId() { return slotId; }
public void setSlotId(Long slotId) { this.slotId = slotId; }
public Long getPoolId() { return poolId; }
public void setPoolId(Long poolId) { this.poolId = poolId; }
public String getOrderType() { return orderType; }
public void setOrderType(String orderType) { this.orderType = orderType; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public String getRemark() { return remark; }
public void setRemark(String remark) { this.remark = remark; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
public String getExecStatus() { return execStatus; }
public void setExecStatus(String execStatus) { this.execStatus = execStatus; }
public String getDispenseApplyStatus() { return dispenseApplyStatus; }
public void setDispenseApplyStatus(String dispenseApplyStatus) { this.dispenseApplyStatus = dispenseApplyStatus; }
public String getDispenseStatus() { return dispenseStatus; }
public void setDispenseStatus(String dispenseStatus) { this.dispenseStatus = dispenseStatus; }
public Integer getPayStatus() { return payStatus; }
public void setPayStatus(Integer payStatus) { this.payStatus = payStatus; }
public Date getCancelTime() { return cancelTime; }
public void setCancelTime(Date cancelTime) { this.cancelTime = cancelTime; }
public String getCancelReason() { return cancelReason; }
public void setCancelReason(String cancelReason) { this.cancelReason = cancelReason; }
}

View File

@@ -1,26 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class Patient {
private Long id;
private String name;
private String gender;
private Date birthDate;
private String currentAddress;
private String occupation;
public Patient() {}
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getGender() { return gender; }
public void setGender(String gender) { this.gender = gender; }
public Date getBirthDate() { return birthDate; }
public void setBirthDate(Date birthDate) { this.birthDate = birthDate; }
public String getCurrentAddress() { return currentAddress; }
public void setCurrentAddress(String currentAddress) { this.currentAddress = currentAddress; }
public String getOccupation() { return occupation; }
public void setOccupation(String occupation) { this.occupation = occupation; }
}

View File

@@ -1,37 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class PatientVisit {
private Long id;
private Long patientId;
private Long doctorId;
private String visitType;
private Date visitDate;
private String status;
private String departmentName;
private String diagnosis;
private Date createTime;
private Date updateTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public Long getDoctorId() { return doctorId; }
public void setDoctorId(Long doctorId) { this.doctorId = doctorId; }
public String getVisitType() { return visitType; }
public void setVisitType(String visitType) { this.visitType = visitType; }
public Date getVisitDate() { return visitDate; }
public void setVisitDate(Date visitDate) { this.visitDate = visitDate; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public String getDepartmentName() { return departmentName; }
public void setDepartmentName(String departmentName) { this.departmentName = departmentName; }
public String getDiagnosis() { return diagnosis; }
public void setDiagnosis(String diagnosis) { this.diagnosis = diagnosis; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,28 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class QueueInfo {
private Long id;
private Long patientId;
private Long doctorId;
private String queueNumber;
private String status;
private Date createTime;
private Date updateTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public Long getDoctorId() { return doctorId; }
public void setDoctorId(Long doctorId) { this.doctorId = doctorId; }
public String getQueueNumber() { return queueNumber; }
public void setQueueNumber(String queueNumber) { this.queueNumber = queueNumber; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,21 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class QueueRecord {
private Long id;
private Long patientId;
private String queueNumber;
private String status;
private Date createTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public String getQueueNumber() { return queueNumber; }
public void setQueueNumber(String queueNumber) { this.queueNumber = queueNumber; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
}

View File

@@ -1,29 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
/**
* 退款日志实体
*/
public class RefundLog {
private Long id;
private Long orderId;
private String operator;
private String remark;
private String refundStatus;
private Date refundTime;
// Getters & Setters
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getOrderId() { return orderId; }
public void setOrderId(Long orderId) { this.orderId = orderId; }
public String getOperator() { return operator; }
public void setOperator(String operator) { this.operator = operator; }
public String getRemark() { return remark; }
public void setRemark(String remark) { this.remark = remark; }
public String getRefundStatus() { return refundStatus; }
public void setRefundStatus(String refundStatus) { this.refundStatus = refundStatus; }
public Date getRefundTime() { return refundTime; }
public void setRefundTime(Date refundTime) { this.refundTime = refundTime; }
}

View File

@@ -1,21 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class Registration {
private Long id;
private Long patientId;
private Long doctorId;
private Date registrationDate;
private String status;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public Long getDoctorId() { return doctorId; }
public void setDoctorId(Long doctorId) { this.doctorId = doctorId; }
public Date getRegistrationDate() { return registrationDate; }
public void setRegistrationDate(Date registrationDate) { this.registrationDate = registrationDate; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
}

View File

@@ -1,25 +0,0 @@
package com.openhis.application.domain.entity;
import java.math.BigDecimal;
public class RegistrationDetail {
private Long id;
private Long registrationId;
private String feeType;
private BigDecimal amount;
private String status;
private Long scheduleSlotId;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getRegistrationId() { return registrationId; }
public void setRegistrationId(Long registrationId) { this.registrationId = registrationId; }
public String getFeeType() { return feeType; }
public void setFeeType(String feeType) { this.feeType = feeType; }
public BigDecimal getAmount() { return amount; }
public void setAmount(BigDecimal amount) { this.amount = amount; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public Long getScheduleSlotId() { return scheduleSlotId; }
public void setScheduleSlotId(Long scheduleSlotId) { this.scheduleSlotId = scheduleSlotId; }
}

View File

@@ -1,31 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class SchedulePool {
private Long id;
private Long doctorId;
private Date scheduleDate;
private String status;
private Integer totalSlots;
private Integer availableSlots;
private Integer bookedNum;
private Date updateTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getDoctorId() { return doctorId; }
public void setDoctorId(Long doctorId) { this.doctorId = doctorId; }
public Date getScheduleDate() { return scheduleDate; }
public void setScheduleDate(Date scheduleDate) { this.scheduleDate = scheduleDate; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public Integer getTotalSlots() { return totalSlots; }
public void setTotalSlots(Integer totalSlots) { this.totalSlots = totalSlots; }
public Integer getAvailableSlots() { return availableSlots; }
public void setAvailableSlots(Integer availableSlots) { this.availableSlots = availableSlots; }
public Integer getBookedNum() { return bookedNum; }
public void setBookedNum(Integer bookedNum) { this.bookedNum = bookedNum; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,27 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class ScheduleSlot {
private Long id;
private Long schedulePoolId;
private Date startTime;
private Date endTime;
private String status;
private Long patientId;
private Date updateTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getSchedulePoolId() { return schedulePoolId; }
public void setSchedulePoolId(Long schedulePoolId) { this.schedulePoolId = schedulePoolId; }
public Date getStartTime() { return startTime; }
public void setStartTime(Date startTime) { this.startTime = startTime; }
public Date getEndTime() { return endTime; }
public void setEndTime(Date endTime) { this.endTime = endTime; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,20 +0,0 @@
package com.openhis.application.domain.entity;
public class SurgeryApply {
private Long id;
private String status;
private String surgeryName;
private String diagnosis;
private String remark;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public String getSurgeryName() { return surgeryName; }
public void setSurgeryName(String surgeryName) { this.surgeryName = surgeryName; }
public String getDiagnosis() { return diagnosis; }
public void setDiagnosis(String diagnosis) { this.diagnosis = diagnosis; }
public String getRemark() { return remark; }
public void setRemark(String remark) { this.remark = remark; }
}

View File

@@ -1,28 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class TriageQueueRecord {
private Long id;
private Long patientId;
private Long doctorId;
private String queueStatus;
private Date triageTime;
private Date createTime;
private Date updateTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public Long getDoctorId() { return doctorId; }
public void setDoctorId(Long doctorId) { this.doctorId = doctorId; }
public String getQueueStatus() { return queueStatus; }
public void setQueueStatus(String queueStatus) { this.queueStatus = queueStatus; }
public Date getTriageTime() { return triageTime; }
public void setTriageTime(Date triageTime) { this.triageTime = triageTime; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,18 +0,0 @@
package com.openhis.application.domain.entity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 体征记录实体(仅包含体温相关字段,后续可扩展为血压、脉搏等)。
*
* 对应表 vital_sign_record。
*/
@Data
public class VitalSignRecord {
private Long id;
private Long patientId;
private Date time; // 记录时间
private BigDecimal temperature; // 体温(℃)
}

View File

@@ -1,41 +0,0 @@
package com.openhis.application.domain.entity;
import java.util.Date;
public class VitalSignsRecord {
private Long id;
private Long patientId;
private String temperature;
private String pulse;
private String heartRate;
private String bloodPressure;
private String respiration;
private String status;
private Date recordTime;
private Date createTime;
private Date updateTime;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getPatientId() { return patientId; }
public void setPatientId(Long patientId) { this.patientId = patientId; }
public String getTemperature() { return temperature; }
public void setTemperature(String temperature) { this.temperature = temperature; }
public String getPulse() { return pulse; }
public void setPulse(String pulse) { this.pulse = pulse; }
public String getHeartRate() { return heartRate; }
public void setHeartRate(String heartRate) { this.heartRate = heartRate; }
public String getBloodPressure() { return bloodPressure; }
public void setBloodPressure(String bloodPressure) { this.bloodPressure = bloodPressure; }
public String getRespiration() { return respiration; }
public void setRespiration(String respiration) { this.respiration = respiration; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public void setRespiration(String respiration) { this.respiration = respiration; }
public Date getRecordTime() { return recordTime; }
public void setRecordTime(Date recordTime) { this.recordTime = recordTime; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
}

View File

@@ -1,21 +0,0 @@
package com.openhis.application.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class OutpatientOrderVO {
private Long id;
private String orderNo;
private String itemName;
private String itemId;
private String frequency;
private BigDecimal totalQuantity;
/** 总量单位(对应诊疗目录配置的使用单位) */
private String quantityUnit;
private String status;
private String statusLabel;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}

View File

@@ -1,10 +0,0 @@
package com.openhis.application.exception;
public class BusinessException extends RuntimeException {
public BusinessException(String message) {
super(message);
}
public BusinessException(String message, Throwable cause) {
super(message, cause);
}
}

View File

@@ -1,6 +0,0 @@
package com.openhis.application.mapper;
public interface AdmSchedulePoolMapper {
int decrementBookedNum(Long poolId);
int incrementBookedNum(Long poolId);
}

View File

@@ -1,7 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.AdmScheduleSlot;
public interface AdmScheduleSlotMapper {
int updateById(AdmScheduleSlot record);
}

View File

@@ -1,4 +0,0 @@
package com.openhis.application.mapper;
public interface CatalogItemMapper {
}

View File

@@ -1,11 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.Diagnosis;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface DiagnosisMapper {
Diagnosis selectById(@Param("id") Long id);
int insert(Diagnosis diagnosis);
}

View File

@@ -1,10 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.DiseaseCatalog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface DiseaseCatalogMapper {
DiseaseCatalog selectById(@Param("id") Long id);
}

View File

@@ -1,12 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.DispensingDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface DispensingDetailMapper {
int insert(DispensingDetail detail);
DispensingDetail selectById(@Param("id") Long id);
int updateById(DispensingDetail detail);
}

View File

@@ -1,12 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.DispensingSummary;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface DispensingSummaryMapper {
int insert(DispensingSummary summary);
DispensingSummary selectById(@Param("id") Long id);
int updateById(DispensingSummary summary);
}

View File

@@ -1,10 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.Diagnosis;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface InfectiousReportMapper {
Diagnosis selectById(@Param("id") Long id);
}

View File

@@ -1,14 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.LabOrderDetail;
import java.util.List;
public interface LabOrderDetailMapper {
LabOrderDetail selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(LabOrderDetail record);
int insert(LabOrderDetail record);
int deleteByPrimaryKey(Long id);
List<LabOrderDetail> selectAll();
List<LabOrderDetail> selectByOrderId(Long orderId);
}

View File

@@ -1,13 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.LabOrderMain;
import java.util.List;
public interface LabOrderMainMapper {
LabOrderMain selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(LabOrderMain record);
int insert(LabOrderMain record);
int deleteByPrimaryKey(Long id);
List<LabOrderMain> selectAll();
}

View File

@@ -1,15 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.LabRequest;
import com.openhis.application.domain.entity.LabRequestItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface LabRequestMapper {
LabRequest selectById(@Param("id") Long id);
List<LabRequestItem> selectItemsByRequestId(@Param("requestId") Long requestId);
int insert(LabRequest request);
int updateById(LabRequest request);
}

View File

@@ -1,9 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.MedicalRecord;
import java.util.List;
public interface MedicalRecordMapper {
List<MedicalRecord> selectPendingByDoctorId(Long doctorId);
}

View File

@@ -1,12 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.OrderDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface OrderDetailMapper {
OrderDetail selectById(@Param("id") Long id);
int insert(OrderDetail detail);
int updateById(OrderDetail detail);
}

View File

@@ -1,13 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.OrderMain;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface OrderMainMapper {
OrderMain selectById(@Param("id") Long id);
OrderMain selectBySurgeryApplyId(@Param("applyId") Long applyId);
int insert(OrderMain orderMain);
int updateById(OrderMain orderMain);
}

View File

@@ -1,10 +0,0 @@
package com.openhis.application.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface OrderVerificationMapper {
void insertDispensingDetail(@Param("orderId") Long orderId);
void insertDispensingSummary(@Param("orderId") Long orderId);
}

View File

@@ -1,10 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.Patient;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface PatientMapper {
Patient selectById(@Param("id") Long id);
}

View File

@@ -1,9 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.PatientVisit;
import java.util.List;
public interface PatientVisitMapper {
List<PatientVisit> selectBatchIds(List<Long> ids);
}

View File

@@ -1,15 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.dto.QueueQueryDto;
import com.openhis.application.domain.entity.QueueInfo;
import com.openhis.application.domain.entity.QueueRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface QueueMapper {
List<QueueInfo> selectCurrentQueue(@Param("departmentId") Long departmentId);
List<QueueInfo> selectHistoryQueue(@Param("departmentId") Long departmentId, @Param("startTime") java.util.Date startTime, @Param("endTime") java.util.Date endTime);
List<QueueRecord> selectQueueList(QueueQueryDto queryDto);
}

View File

@@ -1,19 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.RefundLog;
import org.apache.ibatis.annotations.*;
import java.util.List;
/**
* 退款日志 Mapper
*/
@Mapper
public interface RefundLogMapper {
@Insert("INSERT INTO hisdev.refund_log " +
"(order_id, operator, remark, refund_status, refund_time) " +
"VALUES (#{orderId}, #{operator}, #{remark}, #{refundStatus}, #{refundTime})")
@Options(useGeneratedKeys = true, keyProperty = "id")
int insert(RefundLog log);
}

View File

@@ -1,13 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.RegistrationDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface RegistrationDetailMapper {
List<RegistrationDetail> selectByRegistrationId(@Param("registrationId") Long registrationId);
int insert(RegistrationDetail detail);
int updateByPrimaryKeySelective(RegistrationDetail detail);
}

View File

@@ -1,11 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.Registration;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface RegistrationMapper {
Registration selectByPrimaryKey(@Param("id") Long id);
int updateByPrimaryKeySelective(Registration registration);
}

View File

@@ -1,4 +0,0 @@
package com.openhis.application.mapper;
public interface ReportCardMapper {
}

View File

@@ -1,13 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.SchedulePool;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface SchedulePoolMapper {
SchedulePool selectById(@Param("id") Long id);
int incrementBookedNum(@Param("id") Long id);
int decrementBookedNum(@Param("id") Long id);
int updateById(SchedulePool pool);
}

View File

@@ -1,15 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.ScheduleSlot;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface ScheduleSlotMapper {
ScheduleSlot selectById(@Param("id") Long id);
ScheduleSlot selectByOrderId(@Param("orderId") Long orderId);
int incrementBookedNum(@Param("id") Long id, @Param("delta") int delta);
int updateStatus(@Param("id") Long id, @Param("status") int status);
int updateById(ScheduleSlot slot);
}

View File

@@ -1,13 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.SurgeryApply;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface SurgeryApplyMapper {
List<SurgeryApply> selectByPatientId(@Param("patientId") String patientId);
SurgeryApply selectById(@Param("id") Long id);
int updateById(SurgeryApply apply);
}

View File

@@ -1,41 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.dto.QueuePatientDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.Date;
import java.util.List;
/**
* 分诊队列 Mapper
*
* 修复 Bug #544
* 1. 移除原 SQL 中硬编码的 status != 'COMPLETED' 过滤条件
* 2. 增加 startDate/endDate 动态查询支持,用于历史队列检索
*/
@Mapper
public interface TriageQueueMapper {
@Select("<script>" +
"SELECT " +
" q.id, q.patient_id, q.patient_name, q.status, q.queue_time, q.dept_id " +
"FROM hisdev.triage_queue q " +
"WHERE q.dept_id = #{deptId} " +
"<if test='status != null and status != \"\"'> " +
" AND q.status = #{status} " +
"</if> " +
"<if test='startDate != null'> " +
" AND q.queue_time &gt;= #{startDate} " +
"</if> " +
"<if test='endDate != null'> " +
" AND q.queue_time &lt;= #{endDate} " +
"</if> " +
"ORDER BY q.queue_time DESC" +
"</script>")
List<QueuePatientDto> selectQueueList(@Param("deptId") Long deptId,
@Param("status") String status,
@Param("startDate") Date startDate,
@Param("endDate") Date endDate);
}

View File

@@ -1,19 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.VitalSignRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 体征(体温)数据持久层
*
* 新增接口用于获取患者的体温记录,配合 VitalSignServiceImpl
* 解决前端图表无数据点的问题。
*/
@Mapper
public interface VitalSignMapper {
List<VitalSignRecord> selectByPatientId(@Param("patientId") Long patientId);
}

View File

@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.application.mapper.VitalSignMapper">
<!--
查询患者的体温记录(包括时间和温度值)。
这里返回的列名必须与实体 VitalSignRecord 对应的属性保持一致。
-->
<select id="selectByPatientId" resultType="com.openhis.application.domain.entity.VitalSignRecord">
SELECT
id,
patient_id AS patientId,
record_time AS time,
temperature
FROM vital_sign_record
WHERE patient_id = #{patientId}
ORDER BY record_time ASC
</select>
</mapper>

View File

@@ -1,26 +0,0 @@
package com.openhis.application.mapper;
import com.openhis.application.domain.entity.VitalSignsRecord;
import org.apache.ibatis.annotations.*;
import java.util.List;
/**
* 体征记录 Mapper
* 修复 Bug #566 数据查询层:确保按时间正序返回,且仅查询有效状态数据。
*/
@Mapper
public interface VitalSignsMapper {
@Insert("INSERT INTO hisdev.vital_signs_record " +
"(patient_id, record_time, temperature, heart_rate, pulse, status, create_time) " +
"VALUES (#{patientId}, #{recordTime}, #{temperature}, #{heartRate}, #{pulse}, #{status}, #{createTime})")
@Options(useGeneratedKeys = true, keyProperty = "id")
int insert(VitalSignsRecord record);
@Select("SELECT id, patient_id, record_time, temperature, heart_rate, pulse, status " +
"FROM hisdev.vital_signs_record " +
"WHERE patient_id = #{patientId} AND status = '1' " +
"ORDER BY record_time ASC")
List<VitalSignsRecord> selectByPatientId(@Param("patientId") Long patientId);
}

View File

@@ -1,8 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.dto.DiagnosisSaveDto;
import com.openhis.application.domain.dto.DiagnosisSaveResultDto;
public interface DiagnosisService {
DiagnosisSaveResultDto saveDiagnosis(DiagnosisSaveDto dto);
}

View File

@@ -1,8 +0,0 @@
package com.openhis.application.service;
import java.util.List;
public interface DispensingService {
void batchDispense(List<Long> orderDetailIds);
void batchReturn(List<Long> detailIds);
}

View File

@@ -1,8 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.dto.InfectiousDiseaseReportDto;
import com.openhis.application.domain.entity.Diagnosis;
public interface InfectiousDiseaseReportService {
InfectiousDiseaseReportDto createReport(Long diagnosisId);
}

View File

@@ -1,5 +0,0 @@
package com.openhis.application.service;
public interface LabOrderService {
void withdraw(Long orderId);
}

View File

@@ -1,8 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.entity.LabRequest;
public interface LabRequestService {
LabRequest getRequestWithItems(Long requestId);
void saveRequest(LabRequest request);
}

View File

@@ -1,8 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.entity.MedicalRecord;
import com.openhis.application.vo.PageResult;
public interface MedicalRecordService {
PageResult<MedicalRecord> getPendingRecords(int page, int size);
}

View File

@@ -1,4 +0,0 @@
package com.openhis.application.service;
public interface OrderMainService {
}

View File

@@ -1,11 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.entity.OrderMain;
public interface OrderService {
void confirmAppointment(Long orderId, Long schedulePoolId);
void refundOrder(Long orderId);
void payOrder(Long orderId);
OrderMain getOrderById(Long orderId);
void returnOrder(Long orderId);
}

View File

@@ -1,12 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.dto.OrderVerificationDTO;
import java.util.List;
public interface OrderVerificationService {
List<OrderVerificationDTO> getOrderVerifyList(Long doctorId, String status);
void verifyOrder(Long orderId);
void rollbackOrder(Long orderId);
void executeOrder(Long orderId);
void applySummaryDispensing(Long orderId);
}

View File

@@ -1,8 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.entity.OrderMain;
public interface OutpatientRegistrationService {
void cancelRegistration(Long orderId);
void registerOutpatient(OrderMain order, Long poolId, Long slotId);
}

View File

@@ -1,14 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.dto.QueueQueryDto;
import com.openhis.application.domain.entity.QueueInfo;
import com.openhis.application.domain.entity.QueueRecord;
import com.github.pagehelper.PageInfo;
import java.util.Date;
import java.util.List;
public interface QueueService {
PageInfo<QueueRecord> getQueueList(QueueQueryDto queryDto);
List<QueueInfo> getCurrentQueue(Long departmentId);
List<QueueInfo> getHistoryQueue(Long departmentId, Date startTime, Date endTime);
}

View File

@@ -1,5 +0,0 @@
package com.openhis.application.service;
public interface RegistrationService {
void cancelRegistration(Long registrationId);
}

View File

@@ -1,5 +0,0 @@
package com.openhis.application.service;
public interface ScheduleSlotService {
void bookSlot(Long slotId, Long patientId);
}

View File

@@ -1,12 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.dto.SurgeryApplyDTO;
import com.openhis.application.domain.entity.SurgeryApply;
import java.util.List;
public interface SurgeryApplyService {
List<SurgeryApply> getListByPatient(String patientId);
void revokeApply(Long id);
void deleteApply(Long id);
void updateApply(Long id, SurgeryApplyDTO dto);
}

View File

@@ -1,5 +0,0 @@
package com.openhis.application.service;
public interface SysConfigService {
String getConfigValue(String key, String defaultValue);
}

View File

@@ -1,9 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.dto.TriageQueueQueryDTO;
import com.openhis.application.domain.entity.TriageQueueRecord;
import com.github.pagehelper.PageInfo;
public interface TriageQueueService {
PageInfo<TriageQueueRecord> getQueueList(TriageQueueQueryDTO query);
}

View File

@@ -1,19 +0,0 @@
package com.openhis.application.service;
import com.openhis.application.domain.dto.VitalSignDto;
/**
* 体征业务接口
*
* 新增方法 getTemperatureChartData 用于前端体温单图表渲染。
*/
public interface VitalSignService {
/**
* 获取指定患者的体温折线图数据。
*
* @param patientId 患者主键
* @return 包含时间标签和体温数值的 DTO
*/
VitalSignDto getTemperatureChartData(Long patientId);
}

Some files were not shown because too many files have changed in this diff Show More