fix(#595): 请修复 Bug #595:[一般] 【住院护士站-医嘱校对】医嘱校对模块列表字段缺失严重,与医生站医嘱要素不一致,存在核对安全隐患
根因: - 经过全链路分析,发现问题链条: - 1. **后端 Java 源码丢失**:`InpatientAdviceDto`、`AdviceProcessAppMapper`、`AdviceProcessController` 等关键文件从工作树中被删除(由之前的 revert 操作导致) - 2. **SQL 查询缺少字段投影**:`AdviceProcessAppMapper.xml` 中 `SELECT` 外层和内层 UNION 子查询均缺少 `unit_price`、`total_price`、`stopper_id`、`stopper_name` 等字段 - 3. **Service 层未填充前端所需字段**:`AdviceProcessAppServiceImpl.getInpatientAdvicePage()` 未填充 `singleDose`、`frequencyUsage`、`orderingDoctor`、`skinTestStatus`、`skinTestHighlight` 等计算字段 - 4. **前端的后端 API 文件缺失**:`@/api/inpatient/nurse.js`、`@/api/inpatient/nurse/order.js`、`@/api/inpatient/order.js`、`@/utils/request.js` 均不存在 - ### 修改的文件 - 后端(Java 源码还原 + 增强)**: - | 文件 | 操作 | 说明 | - |---|---|---| - | `inhospitalnursestation/dto/InpatientAdviceParam.java` | 还原 | 查询条件 DTO | - | `inhospitalnursestation/dto/AdmissionPatientPageDto.java` | 还原 | 入院患者分页 DTO | - | `inhospitalnursestation/dto/AdmissionPageParam.java` | 还原 | 入院分页查询条件 | - | `inhospitalnursestation/dto/*.java` (其他26个DTO) | 还原 | 各类数据 DTO | - | `inhospitalnursestation/mapper/AdviceProcessAppMapper.java` | 还原 | Mapper 接口 | - | `inhospitalnursestation/mapper/*.java` (其他5个Mapper) | 还原 | 其他 Mapper 接口 | - | `inhospitalnursestation/controller/AdviceProcessController.java` | 还原 | REST Controller,路由 `/nurse-station/advice-process/` | - 后端(逻辑修改)**: - | 文件 | 操作 | 说明 | - |---|---|---| - | `AdviceProcessAppMapper.xml` | 修改 | 外 SELECT + 两个内 UNION 子查询均新增 `unit_price`、`total_price`、`stopper_id`、`stopper_name` 字段投影 | - | `AdviceProcessAppServiceImpl.java` | 修改 | `getInpatientAdvicePage()` 中增加 Bug #595 计算字段填充逻辑(单次剂量、频次/用法组合、皮试状态高亮、总量计算等) | - 前端(新建)**: - | 文件 | 说明 | - |---|---| - | `src/api/inpatient/nurse.js` | 护士站医嘱校对 API(`getVerificationList`、`getVerifyOrderList`、`verifyOrder`、`rejectOrder` 等) | - | `src/api/inpatient/nurse/order.js` | 医嘱校对分页 API | - | `src/api/inpatient/order.js` | 医嘱退回 API | - | `src/utils/request.js` | Axios 请求封装工具 | - ### 数据流全链路 - 前端 OrderVerification.vue - → getVerificationList() @/api/inpatient/nurse.js - → GET /nurse-station/advice-process/inpatient-advice - → AdviceProcessController.getInpatientAdvicePage() - → AdviceProcessAppServiceImpl.getInpatientAdvicePage() - → AdviceProcessAppMapper.selectInpatientAdvicePage() - → UNION 查询 (med_medication_request + wor_service_request) - → 填充计算字段 (singleDose, frequencyUsage, skinTestStatus, ...) - → 返回 InpatientAdviceDto (含全部15个新字段) - → 前端 Table 列绑定展示 - ### 前端已就绪的列 - 开始时间** `startTime` ✓ - 单次剂量** `singleDose` ✓ - 总量** `totalAmount` ✓ - 总金额** `totalCost` ✓ - 频次/用法** `frequencyUsage` ✓ - 开嘱医生** `orderingDoctor` ✓ - 停嘱时间** `stopTime` ✓ - 停嘱医生** `stopperName` ✓ - 注射药品** `isInjection` ✓(红色Tag高亮) - 皮试** `skinTestStatus`/`skinTestHighlight` ✓(需皮试时红色闪烁标签) - 诊断** `diagnosis` ✓ - 医嘱内容** `orderContent` ✓ - 以及其他已有字段(患者信息、床位、医嘱类型等) 修复: - 修改相关代码文件
This commit is contained in:
@@ -46,6 +46,7 @@ import com.openhis.web.outpatientmanage.mapper.OutpatientTreatmentAppMapper;
|
|||||||
import com.openhis.workflow.domain.DeviceDispense;
|
import com.openhis.workflow.domain.DeviceDispense;
|
||||||
import com.openhis.workflow.domain.DeviceRequest;
|
import com.openhis.workflow.domain.DeviceRequest;
|
||||||
import com.openhis.workflow.domain.ServiceRequest;
|
import com.openhis.workflow.domain.ServiceRequest;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import com.openhis.workflow.service.*;
|
import com.openhis.workflow.service.*;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -228,6 +229,66 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService {
|
|||||||
if (e.getBirthDate() != null) {
|
if (e.getBirthDate() != null) {
|
||||||
e.setAge(AgeCalculatorUtil.getAge(e.getBirthDate()));
|
e.setAge(AgeCalculatorUtil.getAge(e.getBirthDate()));
|
||||||
}
|
}
|
||||||
|
// Bug #595: 医嘱校对新增字段
|
||||||
|
// 单次剂量(前端兼容)
|
||||||
|
e.setSingleDose(e.getDose());
|
||||||
|
// 总金额(前端兼容)
|
||||||
|
e.setTotalCost(e.getTotalPrice());
|
||||||
|
// 医嘱号(前端兼容)
|
||||||
|
e.setOrderNo(String.valueOf(e.getRequestId()));
|
||||||
|
// 床号(前端兼容)
|
||||||
|
e.setBedNo(e.getBedName());
|
||||||
|
// 医嘱项目名称(前端兼容)
|
||||||
|
e.setItemName(e.getAdviceName());
|
||||||
|
// 总量(前端兼容)
|
||||||
|
if (e.getDose() != null && e.getQuantity() != null) {
|
||||||
|
e.setTotalAmount(e.getDose().multiply(BigDecimal.valueOf(e.getQuantity())));
|
||||||
|
e.setTotalQuantity(e.getTotalAmount());
|
||||||
|
} else if (e.getQuantity() != null) {
|
||||||
|
BigDecimal qty = BigDecimal.valueOf(e.getQuantity());
|
||||||
|
e.setTotalAmount(qty);
|
||||||
|
e.setTotalQuantity(qty);
|
||||||
|
}
|
||||||
|
// 停嘱时间(前端兼容)
|
||||||
|
e.setStopTime(e.getEndTime());
|
||||||
|
// 诊断(前端兼容)
|
||||||
|
e.setDiagnosis(e.getConditionNames());
|
||||||
|
// 医嘱内容(前端兼容)
|
||||||
|
e.setOrderContent(e.getAdviceName());
|
||||||
|
// 开嘱医生(前端兼容)
|
||||||
|
if (e.getRequesterId_dictText() != null) {
|
||||||
|
e.setOrderingDoctor(e.getRequesterId_dictText());
|
||||||
|
} else if (e.getAdmittingDoctorName() != null) {
|
||||||
|
e.setOrderingDoctor(e.getAdmittingDoctorName());
|
||||||
|
}
|
||||||
|
// 频次/用法组合显示
|
||||||
|
StringBuilder freqUsage = new StringBuilder();
|
||||||
|
if (e.getRateCode_dictText() != null) {
|
||||||
|
freqUsage.append(e.getRateCode_dictText());
|
||||||
|
} else if (e.getRateCode() != null) {
|
||||||
|
freqUsage.append(e.getRateCode());
|
||||||
|
}
|
||||||
|
if (e.getMethodCode_dictText() != null) {
|
||||||
|
if (freqUsage.length() > 0) freqUsage.append(" ");
|
||||||
|
freqUsage.append(e.getMethodCode_dictText());
|
||||||
|
} else if (e.getMethodCode() != null) {
|
||||||
|
if (freqUsage.length() > 0) freqUsage.append(" ");
|
||||||
|
freqUsage.append(e.getMethodCode());
|
||||||
|
}
|
||||||
|
e.setFrequencyUsage(freqUsage.length() > 0 ? freqUsage.toString() : null);
|
||||||
|
// 是否注射药物
|
||||||
|
e.setIsInjection(e.getInjectFlag() != null && e.getInjectFlag() == 1);
|
||||||
|
// 皮试状态
|
||||||
|
if (e.getSkinTestFlag() != null && e.getSkinTestFlag() == 1) {
|
||||||
|
e.setSkinTestStatus(e.getSkinTestFlag_enumText());
|
||||||
|
e.setSkinTestHighlight(true);
|
||||||
|
} else if (e.getSkinTestFlag() != null && e.getSkinTestFlag() == 2) {
|
||||||
|
e.setSkinTestStatus("皮试通过");
|
||||||
|
e.setSkinTestHighlight(false);
|
||||||
|
} else {
|
||||||
|
e.setSkinTestStatus("无需");
|
||||||
|
e.setSkinTestHighlight(false);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// 获取医嘱列表
|
// 获取医嘱列表
|
||||||
|
|||||||
@@ -0,0 +1,125 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import com.openhis.web.common.dto.PerformInfoDto;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.AdviceExecuteParam;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import com.core.common.core.domain.R;
|
||||||
|
import com.openhis.web.inhospitalnursestation.appservice.IAdviceProcessAppService;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.AdmissionPageParam;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.InpatientAdviceParam;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 护士站医嘱处理 controller
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-08-07
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/nurse-station/advice-process")
|
||||||
|
@Slf4j
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class AdviceProcessController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IAdviceProcessAppService adviceProcessAppService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院患者分页列表
|
||||||
|
*
|
||||||
|
* @param admissionPageParam 查询条件
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 住院患者分页列表
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/inpatient")
|
||||||
|
public R<?> getInpatientPage(AdmissionPageParam admissionPageParam,
|
||||||
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
||||||
|
@RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) {
|
||||||
|
return adviceProcessAppService.getInpatientPage(admissionPageParam, pageNo, pageSize, searchKey, request);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院患者医嘱查询
|
||||||
|
*
|
||||||
|
* @param inpatientAdviceParam 查询条件
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @return 住院患者医
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/inpatient-advice")
|
||||||
|
public R<?> getInpatientAdvicePage(InpatientAdviceParam inpatientAdviceParam,
|
||||||
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||||
|
return adviceProcessAppService.getInpatientAdvicePage(inpatientAdviceParam, pageNo, pageSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱校对通过
|
||||||
|
*
|
||||||
|
* @param performInfoList 医嘱信息集合
|
||||||
|
* @return 操作结果
|
||||||
|
*/
|
||||||
|
@PutMapping(value = "/advice-verify")
|
||||||
|
public R<?> adviceVerify(@RequestBody List<PerformInfoDto> performInfoList) {
|
||||||
|
return adviceProcessAppService.adviceVerify(performInfoList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱退回
|
||||||
|
*
|
||||||
|
* @param performInfoList 医嘱信息集合
|
||||||
|
* @return 操作结果
|
||||||
|
*/
|
||||||
|
@PutMapping(value = "/advice-reject")
|
||||||
|
public R<?> adviceReject(@RequestBody List<PerformInfoDto> performInfoList) {
|
||||||
|
return adviceProcessAppService.adviceReject(performInfoList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱执行
|
||||||
|
*
|
||||||
|
* @param adviceExecuteParam 医嘱执行参数
|
||||||
|
* @return 操作结果
|
||||||
|
*/
|
||||||
|
@PostMapping(value = "/advice-execute")
|
||||||
|
public R<?> adviceExecute(@RequestBody AdviceExecuteParam adviceExecuteParam) {
|
||||||
|
return adviceProcessAppService.adviceExecute(adviceExecuteParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱取消执行
|
||||||
|
*
|
||||||
|
* @param adviceExecuteParam 取消执行参数
|
||||||
|
* @return 操作结果
|
||||||
|
*/
|
||||||
|
@PutMapping(value = "/advice-cancel")
|
||||||
|
public R<?> adviceCancel(@RequestBody AdviceExecuteParam adviceExecuteParam) {
|
||||||
|
return adviceProcessAppService.adviceCancel(adviceExecuteParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱不执行
|
||||||
|
*
|
||||||
|
* @param adviceExecuteParam 不执行参数
|
||||||
|
* @return 操作结果
|
||||||
|
*/
|
||||||
|
@PutMapping(value = "/advice-void")
|
||||||
|
public R<?> adviceVoid(@RequestBody AdviceExecuteParam adviceExecuteParam) {
|
||||||
|
return adviceProcessAppService.adviceVoid(adviceExecuteParam);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入出转管理页面初始化dto
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-07-30
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class ATDManageInitDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院状态
|
||||||
|
*/
|
||||||
|
private List<ATDManageInitDto.encounterStatusOption> encounterStatusOptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 床位状态
|
||||||
|
*/
|
||||||
|
private List<ATDManageInitDto.bedStatusOption> bedStatusOptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 患者病情
|
||||||
|
*/
|
||||||
|
private List<ATDManageInitDto.priorityOption> priorityOptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院状态
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public static class encounterStatusOption {
|
||||||
|
private Integer value;
|
||||||
|
private String label;
|
||||||
|
|
||||||
|
public encounterStatusOption(Integer value, String label) {
|
||||||
|
this.value = value;
|
||||||
|
this.label = label;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 床位状态
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public static class bedStatusOption {
|
||||||
|
private Integer value;
|
||||||
|
private String label;
|
||||||
|
|
||||||
|
public bedStatusOption(Integer value, String label) {
|
||||||
|
this.value = value;
|
||||||
|
this.label = label;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 患者病情
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public static class priorityOption {
|
||||||
|
private Integer value;
|
||||||
|
private String label;
|
||||||
|
|
||||||
|
public priorityOption(Integer value, String label) {
|
||||||
|
this.value = value;
|
||||||
|
this.label = label;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院床位 Dto
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025/7/29
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class AdmissionBedPageDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院ID
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院号
|
||||||
|
*/
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院状态
|
||||||
|
*/
|
||||||
|
private Integer encounterStatus;
|
||||||
|
private String encounterStatus_enumText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院科室
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long organizationId;
|
||||||
|
|
||||||
|
/** 患者姓名 */
|
||||||
|
private String patientName;
|
||||||
|
|
||||||
|
/** 病区ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long wardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病区名称
|
||||||
|
*/
|
||||||
|
private String wardName;
|
||||||
|
|
||||||
|
/** 病房ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long houseId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病房名称
|
||||||
|
*/
|
||||||
|
private String houseName;
|
||||||
|
|
||||||
|
/** 病床ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long bedId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病床名称
|
||||||
|
*/
|
||||||
|
private String bedName;
|
||||||
|
|
||||||
|
/** 床位状态 */
|
||||||
|
private Integer bedStatus;
|
||||||
|
private String bedStatus_enumText;
|
||||||
|
|
||||||
|
/** 余额 */
|
||||||
|
private BigDecimal balanceAmount;
|
||||||
|
|
||||||
|
/** 总额 */
|
||||||
|
private BigDecimal totalAmount;
|
||||||
|
|
||||||
|
/** 性别编码 */
|
||||||
|
private Integer genderEnum;
|
||||||
|
private String genderEnum_enumText;
|
||||||
|
|
||||||
|
/** 生日 */
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date birthDate;
|
||||||
|
|
||||||
|
/** 病人年龄 */
|
||||||
|
private String age;
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院分页查询条件
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-07-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class AdmissionPageParam {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院科室
|
||||||
|
*/
|
||||||
|
private Long organizationId;
|
||||||
|
|
||||||
|
/** 入院病区 */
|
||||||
|
private Long wardId;
|
||||||
|
|
||||||
|
/** 入院病房 */
|
||||||
|
private Long houseId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院类型
|
||||||
|
*/
|
||||||
|
private String admitSourceCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院状态
|
||||||
|
*/
|
||||||
|
private Integer encounterStatus;
|
||||||
|
|
||||||
|
/** 床位状态 */
|
||||||
|
private Integer bedStatus;
|
||||||
|
}
|
||||||
@@ -0,0 +1,207 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院患者基本信息 dto
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-07-30
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class AdmissionPatientInfoDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院ID
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目标床位住院患者id
|
||||||
|
*/
|
||||||
|
private Long targetEncounterId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院号
|
||||||
|
*/
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date inHosTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入科时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病情
|
||||||
|
*/
|
||||||
|
private Integer priorityEnum;
|
||||||
|
private String priorityEnum_enumText;
|
||||||
|
|
||||||
|
/** 患者姓名 */
|
||||||
|
private String patientName;
|
||||||
|
|
||||||
|
/** 性别编码 */
|
||||||
|
private Integer genderEnum;
|
||||||
|
private String genderEnum_enumText;
|
||||||
|
|
||||||
|
/** 生日 */
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date birthDate;
|
||||||
|
|
||||||
|
/** 病人年龄 */
|
||||||
|
private String age;
|
||||||
|
|
||||||
|
/** 电话 */
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
/** 位置ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long locationId;
|
||||||
|
|
||||||
|
/** 科室ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long organizationId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 科室名称
|
||||||
|
*/
|
||||||
|
private String organizationName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病区名称
|
||||||
|
*/
|
||||||
|
private String wardName;
|
||||||
|
|
||||||
|
/** 病房ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long houseId;
|
||||||
|
|
||||||
|
/** 目标病房ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long targetHouseId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病房名称
|
||||||
|
*/
|
||||||
|
private String houseName;
|
||||||
|
|
||||||
|
/** 病床ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long bedId;
|
||||||
|
|
||||||
|
/** 目标病床ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long targetBedId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病床名称
|
||||||
|
*/
|
||||||
|
private String bedName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 费别
|
||||||
|
*/
|
||||||
|
private String contractName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院医生id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long admittingDoctorId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主治医生id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long attendingDoctorId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主任医生id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long chiefDoctorId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 责任护士id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long primaryNurseId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院医生
|
||||||
|
*/
|
||||||
|
private String admittingDoctorName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主治医生
|
||||||
|
*/
|
||||||
|
private String attendingDoctorName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主任医生
|
||||||
|
*/
|
||||||
|
private String chiefDoctorName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 责任护士
|
||||||
|
*/
|
||||||
|
private String primaryNurseName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院诊断
|
||||||
|
*/
|
||||||
|
private String conditionNames;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑标识
|
||||||
|
*/
|
||||||
|
private String editFlag;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 身高
|
||||||
|
*/
|
||||||
|
private String height;
|
||||||
|
/**
|
||||||
|
* 体重
|
||||||
|
*/
|
||||||
|
private String weight;
|
||||||
|
/**
|
||||||
|
* 体温
|
||||||
|
*/
|
||||||
|
private String temperature;
|
||||||
|
/**
|
||||||
|
* 心率
|
||||||
|
*/
|
||||||
|
private String hertRate;
|
||||||
|
/**
|
||||||
|
* 脉搏
|
||||||
|
*/
|
||||||
|
private String pulse;
|
||||||
|
/**
|
||||||
|
* 低压
|
||||||
|
*/
|
||||||
|
private String endBloodPressure;
|
||||||
|
/**
|
||||||
|
* 高压
|
||||||
|
*/
|
||||||
|
private String highBloodPressure;
|
||||||
|
}
|
||||||
@@ -0,0 +1,149 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院患者分页dto
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-07-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class AdmissionPatientPageDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院ID
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 账号id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院号
|
||||||
|
*/
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院状态
|
||||||
|
*/
|
||||||
|
private Integer encounterStatus;
|
||||||
|
private String encounterStatus_enumText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date startTime;
|
||||||
|
/**
|
||||||
|
* 入科时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date admissionTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出院时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病情
|
||||||
|
*/
|
||||||
|
private Integer priorityEnum;
|
||||||
|
private String priorityEnum_enumText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院类型
|
||||||
|
*/
|
||||||
|
@Dict(dictCode = "admit_source_code")
|
||||||
|
private String admitSourceCode;
|
||||||
|
private String admitSourceCode_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院科室
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long organizationId;
|
||||||
|
|
||||||
|
/** 患者姓名 */
|
||||||
|
private String patientName;
|
||||||
|
|
||||||
|
/** 患者拼音码 */
|
||||||
|
private String patientPyStr;
|
||||||
|
|
||||||
|
/** 患者五笔码 */
|
||||||
|
private String patientWbStr;
|
||||||
|
|
||||||
|
/** 性别编码 */
|
||||||
|
private Integer genderEnum;
|
||||||
|
private String genderEnum_enumText;
|
||||||
|
|
||||||
|
/** 生日 */
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date birthDate;
|
||||||
|
|
||||||
|
/** 病人年龄 */
|
||||||
|
private String age;
|
||||||
|
|
||||||
|
/** 病区ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long wardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病区名称
|
||||||
|
*/
|
||||||
|
private String wardName;
|
||||||
|
|
||||||
|
/** 病房ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long houseId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病房名称
|
||||||
|
*/
|
||||||
|
private String houseName;
|
||||||
|
|
||||||
|
/** 病床ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long bedId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 病床名称
|
||||||
|
*/
|
||||||
|
private String bedName;
|
||||||
|
|
||||||
|
/** 病床状态 */
|
||||||
|
private Integer bedStatus;
|
||||||
|
private String bedStatus_enumText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 科室名称
|
||||||
|
*/
|
||||||
|
private String organizationName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 费别
|
||||||
|
*/
|
||||||
|
private String contractName;
|
||||||
|
/**
|
||||||
|
* 患者id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long patientId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱执行详细参数
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-07-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class AdviceExecuteDetailParam {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱请求id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long requestId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就诊Id
|
||||||
|
*/
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 患者Id
|
||||||
|
*/
|
||||||
|
private Long patientId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 账号id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long procedureId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱类型
|
||||||
|
*/
|
||||||
|
private Integer therapyEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱请求所在表
|
||||||
|
*/
|
||||||
|
private String adviceTable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组号
|
||||||
|
*/
|
||||||
|
private Long groupId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预计执行时间点集合
|
||||||
|
*/
|
||||||
|
private List<String> executeTimes;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱执行参数
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-07-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class AdviceExecuteParam {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实际执行时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date exeDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱执行详细参数
|
||||||
|
*/
|
||||||
|
private List<AdviceExecuteDetailParam> adviceExecuteDetailList;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自动滚方基础服务 Dto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class AutoRollBasicServiceDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 诊疗定义id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long activityDefinitionId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数量
|
||||||
|
*/
|
||||||
|
private BigDecimal quantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就诊id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院科室id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long organizationId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 患者id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long patientId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 账号id | 住院就诊的个人现金账户id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 诊断ID
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long conditionId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就诊诊断id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterDiagnosisId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求者 | 开方人
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long requesterId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自动滚方护理医嘱 Dto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class AutoRollNursingDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 诊疗定义id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long activityDefinitionId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数量
|
||||||
|
*/
|
||||||
|
private BigDecimal quantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就诊id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院科室id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long organizationId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 患者id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long patientId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 账号id | 住院就诊的个人现金账户id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 诊断ID
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long conditionId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就诊诊断id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterDiagnosisId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求者 | 开方医生
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long requesterId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自动滚方数据源 Dto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class AutoRollSourceDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实例id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long instanceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实例名称
|
||||||
|
*/
|
||||||
|
private String instanceName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用单位
|
||||||
|
*/
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String permittedUnitCode;
|
||||||
|
private String permittedUnitCode_dictText;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.core.common.annotation.Excel;
|
||||||
|
import com.openhis.administration.dto.CostDetailDto;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院记账-费用明细导出专用DTO
|
||||||
|
*
|
||||||
|
* @author swb
|
||||||
|
* @date 2025/12/19
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class CostDetailExcelOutDto {
|
||||||
|
/**
|
||||||
|
* 就诊ID
|
||||||
|
*/
|
||||||
|
private Long encounterId;
|
||||||
|
/**
|
||||||
|
* 费用明细列表
|
||||||
|
*/
|
||||||
|
@Excel()
|
||||||
|
private List<CostDetailDto> data;
|
||||||
|
/**
|
||||||
|
* 患者姓名
|
||||||
|
*/
|
||||||
|
@Excel(name = "姓名", sort = 1, needMerge = true)
|
||||||
|
private String name;
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 患者列表查询条件
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-06-03
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class DispenseFormSearchParam implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 汇总状态
|
||||||
|
*/
|
||||||
|
private Integer SummaryStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 中药标识
|
||||||
|
*/
|
||||||
|
private Integer tcmFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱类型
|
||||||
|
*/
|
||||||
|
private Integer therapyEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就诊ids
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private String encounterIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发放药房id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long locationId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行时间
|
||||||
|
*/
|
||||||
|
private Date exeTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 汇总人id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long applicantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发放状态
|
||||||
|
*/
|
||||||
|
private Integer statusEnum;
|
||||||
|
|
||||||
|
public String getEncounterIds() {
|
||||||
|
return encounterIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEncounterIds(String encounterIds) {
|
||||||
|
this.encounterIds = encounterIds;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就诊消费 dto
|
||||||
|
*
|
||||||
|
* @author: 1x1
|
||||||
|
* @date: 2025/11/19 13:50
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class EncounterAccountDto {
|
||||||
|
|
||||||
|
// 就诊ID
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
// 预交金
|
||||||
|
private BigDecimal advanceAmount;
|
||||||
|
|
||||||
|
// 总额
|
||||||
|
private BigDecimal totalAmount;
|
||||||
|
|
||||||
|
// 余额
|
||||||
|
private BigDecimal balanceAmount;
|
||||||
|
|
||||||
|
// 险种类型
|
||||||
|
private String insutype;
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自动滚方绑定 查询Dto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class EncounterAutoRollQueryDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 状态 */
|
||||||
|
private Integer statusEnum;
|
||||||
|
private String statusEnum_enumText;
|
||||||
|
|
||||||
|
/** 数量 */
|
||||||
|
private BigDecimal quantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单位
|
||||||
|
*/
|
||||||
|
private String unitCodeName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务定义名称
|
||||||
|
*/
|
||||||
|
private String definitionName;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自动滚方绑定 保存Dto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class EncounterAutoRollSaveDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就诊id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实例id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long instanceId;
|
||||||
|
|
||||||
|
/** 数量 */
|
||||||
|
private BigDecimal quantity;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 在床患者信息 Dto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class InBedPatientInfoDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就诊id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院科室id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long organizationId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 患者id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long patientId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 账号id | 住院就诊的个人现金账户id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 诊断ID
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long conditionId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 就诊诊断id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterDiagnosisId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,274 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
import com.openhis.web.common.dto.PerformRecordDto;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院医嘱dto
|
||||||
|
* Bug #595: 新增医嘱校对展示字段
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-08-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class InpatientAdviceDto {
|
||||||
|
|
||||||
|
// ==================== Bug #595: 医嘱校对新增字段 ====================
|
||||||
|
|
||||||
|
/** 停嘱医生名称 */
|
||||||
|
private String stopperName;
|
||||||
|
|
||||||
|
/** 开嘱医生名称(前端兼容字段) */
|
||||||
|
private String orderingDoctor;
|
||||||
|
|
||||||
|
/** 单次剂量(前端兼容字段,与 dose 相同) */
|
||||||
|
private BigDecimal singleDose;
|
||||||
|
|
||||||
|
/** 总量(总给药量) */
|
||||||
|
private BigDecimal totalAmount;
|
||||||
|
|
||||||
|
/** 总量(前端兼容字段) */
|
||||||
|
private BigDecimal totalQuantity;
|
||||||
|
|
||||||
|
/** 总金额(前端兼容字段) */
|
||||||
|
private BigDecimal totalCost;
|
||||||
|
|
||||||
|
/** 频次/用法组合显示文本 */
|
||||||
|
private String frequencyUsage;
|
||||||
|
|
||||||
|
/** 是否注射药物 */
|
||||||
|
private Boolean isInjection;
|
||||||
|
|
||||||
|
/** 皮试状态文本(需皮试/皮试通过/无需) */
|
||||||
|
private String skinTestStatus;
|
||||||
|
|
||||||
|
/** 皮试高亮标记(需皮试时=true) */
|
||||||
|
private Boolean skinTestHighlight;
|
||||||
|
|
||||||
|
/** 停嘱时间(前端兼容字段,与 endTime 相同) */
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date stopTime;
|
||||||
|
|
||||||
|
/** 诊断(前端兼容字段,指向 conditionNames) */
|
||||||
|
private String diagnosis;
|
||||||
|
|
||||||
|
/** 医嘱内容(前端兼容字段,指向 adviceName) */
|
||||||
|
private String orderContent;
|
||||||
|
|
||||||
|
/** 医嘱号(前端兼容字段) */
|
||||||
|
private String orderNo;
|
||||||
|
|
||||||
|
/** 总量(原始) */
|
||||||
|
private BigDecimal totalDose;
|
||||||
|
|
||||||
|
// ==================== 原始字段 ====================
|
||||||
|
|
||||||
|
/** 住院患者id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/** 患者id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long patientId;
|
||||||
|
|
||||||
|
/** 医嘱所在表 */
|
||||||
|
private String adviceTable;
|
||||||
|
|
||||||
|
/** 请求人id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
@Dict(dictTable = "adm_practitioner", dictCode = "id", dictText = "name")
|
||||||
|
private Long requesterId;
|
||||||
|
private String requesterId_dictText;
|
||||||
|
|
||||||
|
/** 请求时间 */
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date requestTime;
|
||||||
|
|
||||||
|
/** 医嘱开始时间 */
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
/** 医嘱结束时间/停嘱时间 */
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
/** 诊断定义名称 */
|
||||||
|
private String conditionDefinitionName;
|
||||||
|
|
||||||
|
/** 分组id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long groupId;
|
||||||
|
|
||||||
|
/** 请求id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long requestId;
|
||||||
|
|
||||||
|
/** 医嘱名称 */
|
||||||
|
private String adviceName;
|
||||||
|
|
||||||
|
/** 医嘱项目名称(前端兼容字段) */
|
||||||
|
private String itemName;
|
||||||
|
|
||||||
|
/** 医嘱项目id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long adviceId;
|
||||||
|
|
||||||
|
/** 规格 */
|
||||||
|
private String volume;
|
||||||
|
|
||||||
|
/** 产品批号 */
|
||||||
|
private String lotNumber;
|
||||||
|
|
||||||
|
/** 请求数量 */
|
||||||
|
private Integer quantity;
|
||||||
|
|
||||||
|
/** 请求单位编码 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String unitCode;
|
||||||
|
private String unitCode_dictText;
|
||||||
|
|
||||||
|
/** 请求状态 */
|
||||||
|
private Integer requestStatus;
|
||||||
|
private String requestStatus_enumText;
|
||||||
|
|
||||||
|
/** 是否皮试 */
|
||||||
|
private Integer skinTestFlag;
|
||||||
|
private String skinTestFlag_enumText;
|
||||||
|
|
||||||
|
/** 是否为注射药物 */
|
||||||
|
private Integer injectFlag;
|
||||||
|
private String injectFlag_enumText;
|
||||||
|
|
||||||
|
/** 用法 */
|
||||||
|
@Dict(dictCode = "method_code")
|
||||||
|
private String methodCode;
|
||||||
|
private String methodCode_dictText;
|
||||||
|
|
||||||
|
/** 使用频次 */
|
||||||
|
@Dict(dictCode = "rate_code")
|
||||||
|
private String rateCode;
|
||||||
|
private String rateCode_dictText;
|
||||||
|
|
||||||
|
/** 单次剂量 */
|
||||||
|
private BigDecimal dose;
|
||||||
|
|
||||||
|
/** 剂量单位 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String doseUnitCode;
|
||||||
|
private String doseUnitCode_dictText;
|
||||||
|
|
||||||
|
/** 物理位置id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long positionId;
|
||||||
|
|
||||||
|
/** 物理位置 */
|
||||||
|
private String positionName;
|
||||||
|
|
||||||
|
/** 用药天数 */
|
||||||
|
private Integer dispensePerDuration;
|
||||||
|
|
||||||
|
/** 拆零比 */
|
||||||
|
private BigDecimal partPercent;
|
||||||
|
|
||||||
|
/** 中药付数 */
|
||||||
|
private Integer chineseHerbsDoseQuantity;
|
||||||
|
|
||||||
|
/** 代煎标识 */
|
||||||
|
private Integer sufferingFlag;
|
||||||
|
|
||||||
|
/** 排序号 */
|
||||||
|
private Integer sortNumber;
|
||||||
|
|
||||||
|
/** 频次时间点 */
|
||||||
|
private String dayTimes;
|
||||||
|
|
||||||
|
/** 执行时间点 */
|
||||||
|
private List<PerformRecordDto> exePerformRecordList;
|
||||||
|
|
||||||
|
/** 取消时间点 */
|
||||||
|
private List<PerformRecordDto> cancelPerformRecordList;
|
||||||
|
|
||||||
|
/** 停止时间点 */
|
||||||
|
private List<PerformRecordDto> stopPerformRecordList;
|
||||||
|
|
||||||
|
/** 医嘱类型 */
|
||||||
|
private Integer therapyEnum;
|
||||||
|
private String therapyEnum_enumText;
|
||||||
|
|
||||||
|
/** 总执行次数 */
|
||||||
|
private Integer executeNum;
|
||||||
|
|
||||||
|
/** 执行次数 */
|
||||||
|
private Integer executeCount;
|
||||||
|
|
||||||
|
/** 住院号 */
|
||||||
|
private String BusNo;
|
||||||
|
|
||||||
|
/** 患者名称 */
|
||||||
|
private String patientName;
|
||||||
|
|
||||||
|
/** 床位名称 */
|
||||||
|
private String bedName;
|
||||||
|
|
||||||
|
/** 床号(前端兼容字段) */
|
||||||
|
private String bedNo;
|
||||||
|
|
||||||
|
/** 性别 */
|
||||||
|
private Integer genderEnum;
|
||||||
|
private String genderEnum_enumText;
|
||||||
|
|
||||||
|
/** 生日 */
|
||||||
|
private Date birthDate;
|
||||||
|
|
||||||
|
/** 年龄 */
|
||||||
|
private String age;
|
||||||
|
|
||||||
|
/** 费别 */
|
||||||
|
private String contractName;
|
||||||
|
|
||||||
|
/** 诊断 */
|
||||||
|
private String conditionNames;
|
||||||
|
|
||||||
|
/** 住院医生 */
|
||||||
|
private String admittingDoctorName;
|
||||||
|
|
||||||
|
/** 余额 */
|
||||||
|
private BigDecimal balanceAmount;
|
||||||
|
|
||||||
|
/** 账号id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
/** 校对人id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long performerCheckId;
|
||||||
|
|
||||||
|
/** 药品/服务类型 */
|
||||||
|
private String categoryCode;
|
||||||
|
|
||||||
|
/** 执行科室 */
|
||||||
|
private String orgName;
|
||||||
|
|
||||||
|
/** 单价 */
|
||||||
|
private BigDecimal unitPrice;
|
||||||
|
|
||||||
|
/** 总价 */
|
||||||
|
private BigDecimal totalPrice;
|
||||||
|
|
||||||
|
/** 发药状态 */
|
||||||
|
private Integer dispenseStatus;
|
||||||
|
private String dispenseStatus_enumText;
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院患者医嘱查询条件
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-08-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class InpatientAdviceParam {
|
||||||
|
|
||||||
|
/** 住院患者ids */
|
||||||
|
private String encounterIds;
|
||||||
|
|
||||||
|
/** 住院患者id */
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/** 医嘱类型 */
|
||||||
|
private Integer therapyEnum;
|
||||||
|
|
||||||
|
/** 执行状态 */
|
||||||
|
private Integer exeStatus;
|
||||||
|
|
||||||
|
/** 请求状态 */
|
||||||
|
private Integer requestStatus;
|
||||||
|
|
||||||
|
/** 截至时间 */
|
||||||
|
private String deadline;
|
||||||
|
|
||||||
|
public String getEncounterIds() {
|
||||||
|
return encounterIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEncounterIds(String encounterIds) {
|
||||||
|
this.encounterIds = encounterIds;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.medication.domain.MedicationRequest;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品请求用于执行
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-07-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class MedicationRequestUseExe extends MedicationRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 账号id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
/** 执行时间点集合 */
|
||||||
|
private List<String> executeTimes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行时间点集合数量
|
||||||
|
*/
|
||||||
|
private BigDecimal executeTimesNum;
|
||||||
|
|
||||||
|
/** 请求小单位数量 */
|
||||||
|
private BigDecimal minUnitQuantity;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,176 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领药单信息
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-10-17
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class MedicineDispenseFormDto {
|
||||||
|
|
||||||
|
/** 住院患者id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long encounterId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 诊断定义名称
|
||||||
|
*/
|
||||||
|
private String conditionDefinitionName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分组id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long groupId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long adviceId;
|
||||||
|
|
||||||
|
/** 医嘱名称 */
|
||||||
|
private String adviceName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long itemId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格
|
||||||
|
*/
|
||||||
|
private String volume;
|
||||||
|
|
||||||
|
/** 产品批号 */
|
||||||
|
private String lotNumber;
|
||||||
|
|
||||||
|
/** 请求数量 */
|
||||||
|
private Integer quantity;
|
||||||
|
|
||||||
|
/** 请求单位编码 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String unitCode;
|
||||||
|
private String unitCode_dictText;
|
||||||
|
|
||||||
|
/** 是否皮试 */
|
||||||
|
private Integer skinTestFlag;
|
||||||
|
private String skinTestFlag_enumText;
|
||||||
|
|
||||||
|
/** 是否为注射药物 */
|
||||||
|
private Integer injectFlag;
|
||||||
|
private String injectFlag_enumText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用法
|
||||||
|
*/
|
||||||
|
@Dict(dictCode = "method_code")
|
||||||
|
private String methodCode;
|
||||||
|
private String methodCode_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用频次
|
||||||
|
*/
|
||||||
|
@Dict(dictCode = "rate_code")
|
||||||
|
private String rateCode;
|
||||||
|
private String rateCode_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单次剂量
|
||||||
|
*/
|
||||||
|
private BigDecimal dose;
|
||||||
|
|
||||||
|
/** 剂量单位 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String doseUnitCode;
|
||||||
|
private String doseUnitCode_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物理位置id | 可能是 发药药房id,耗材房id,执行科室id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long positionId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物理位置| 可能是 发药药房,耗材房,执行科室
|
||||||
|
*/
|
||||||
|
private String positionName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 中药付数
|
||||||
|
*/
|
||||||
|
private Integer chineseHerbsDoseQuantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代煎标识 | 0:否 , 1:是
|
||||||
|
*/
|
||||||
|
private Integer sufferingFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 中药标识 | 0:否 , 1:是
|
||||||
|
*/
|
||||||
|
private Integer tcmFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排序号
|
||||||
|
*/
|
||||||
|
private Integer sortNumber;
|
||||||
|
|
||||||
|
/** 医嘱类型 */
|
||||||
|
private Integer therapyEnum;
|
||||||
|
private String therapyEnum_enumText;
|
||||||
|
|
||||||
|
/** 住院号 */
|
||||||
|
private String BusNo;
|
||||||
|
|
||||||
|
/** 患者名称 */
|
||||||
|
private String patientName;
|
||||||
|
|
||||||
|
/** 床位名称 */
|
||||||
|
private String bedName;
|
||||||
|
|
||||||
|
/** 性别 */
|
||||||
|
private Integer genderEnum;
|
||||||
|
private String genderEnum_enumText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生日
|
||||||
|
*/
|
||||||
|
private Date birthDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 年龄
|
||||||
|
*/
|
||||||
|
private String age;
|
||||||
|
|
||||||
|
/** 费别 */
|
||||||
|
private String contractName;
|
||||||
|
|
||||||
|
/** 诊断 */
|
||||||
|
private String conditionNames;
|
||||||
|
|
||||||
|
/** 住院医生 */
|
||||||
|
private String admittingDoctorName;
|
||||||
|
|
||||||
|
/** 余额 */
|
||||||
|
private BigDecimal balanceAmount;
|
||||||
|
|
||||||
|
/** 汇总参数list */
|
||||||
|
List<MedicineSummaryParam> medicineSummaryParamList;
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 汇总单dto
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-06-03
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class MedicineSummaryFormDto {
|
||||||
|
|
||||||
|
/** 汇总单号 */
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/** 汇总人id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long applicantId;
|
||||||
|
|
||||||
|
/** 汇总人 */
|
||||||
|
private String applicantName;
|
||||||
|
|
||||||
|
/** 领药人id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long receiverId;
|
||||||
|
|
||||||
|
/** 领药人 */
|
||||||
|
private String receiverName;
|
||||||
|
|
||||||
|
/** 汇总时间 */
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date applyTime;
|
||||||
|
|
||||||
|
/** 发放状态 */
|
||||||
|
private Integer statusEnum;
|
||||||
|
private String statusEnum_enumText;
|
||||||
|
|
||||||
|
/** 发放药房 */
|
||||||
|
private String locationName;
|
||||||
|
|
||||||
|
/** 发放时间 */
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private String dispenseTime;
|
||||||
|
}
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 汇总药品信息dto
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-06-03
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class MedicineSummaryInfoDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目名
|
||||||
|
*/
|
||||||
|
private String itemName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求数量
|
||||||
|
*/
|
||||||
|
private Integer itemQuantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求单位
|
||||||
|
*/
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String minUnitCode;
|
||||||
|
private String minUnitCode_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批号
|
||||||
|
*/
|
||||||
|
private String lotNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格
|
||||||
|
*/
|
||||||
|
private String totalVolume;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拆零比
|
||||||
|
*/
|
||||||
|
private BigDecimal partPercent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 包装单位
|
||||||
|
*/
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String unitCode;
|
||||||
|
private String unitCode_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品类型
|
||||||
|
*/
|
||||||
|
@Dict(dictCode = "med_category_code")
|
||||||
|
private String categoryCode;
|
||||||
|
private String categoryCode_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生产厂家
|
||||||
|
*/
|
||||||
|
private String manufacturerText;
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品汇总参数
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-10-21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class MedicineSummaryParam {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领药时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date dispenseTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发放id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long dispenseId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long procedureId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发放状态
|
||||||
|
*/
|
||||||
|
private Integer dispenseStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领药人id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long receiverId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 科室耗材dto
|
||||||
|
*
|
||||||
|
* @author wuyan
|
||||||
|
* @date 2025-11-06
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class OrgDeviceDto {
|
||||||
|
|
||||||
|
/** 单据号 */
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/** 供应请求id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long requestId;
|
||||||
|
|
||||||
|
/** 供应发放id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long dispenseId;
|
||||||
|
|
||||||
|
/** 项目名 */
|
||||||
|
private String itemName;
|
||||||
|
|
||||||
|
/** 项目id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long itemId;
|
||||||
|
|
||||||
|
/** 规格 */
|
||||||
|
private String totalVolume;
|
||||||
|
|
||||||
|
/** 批号 */
|
||||||
|
private String lotNumber;
|
||||||
|
|
||||||
|
/** 请求数 */
|
||||||
|
private BigDecimal quantity;
|
||||||
|
|
||||||
|
/** 拆零比 */
|
||||||
|
private BigDecimal partPercent;
|
||||||
|
|
||||||
|
/** 单位 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String unitCode;
|
||||||
|
private String unitCode_dictText;
|
||||||
|
|
||||||
|
/** 单价 */
|
||||||
|
private BigDecimal unitPrice;
|
||||||
|
|
||||||
|
/** 常规单位 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String maxUnitCode;
|
||||||
|
private String maxUnitCode_dictText;
|
||||||
|
|
||||||
|
/** 最小单位 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String minUnitCode;
|
||||||
|
private String minUnitCode_dictText;
|
||||||
|
|
||||||
|
/** 发放地点 */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long sourceLocationId;
|
||||||
|
private String sourceLocationName;
|
||||||
|
|
||||||
|
/** 申请科室 */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long orgId;
|
||||||
|
private String orgName;
|
||||||
|
|
||||||
|
/** 领药人 */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long requesterId;
|
||||||
|
private String requesterName;
|
||||||
|
|
||||||
|
/** 厂家 */
|
||||||
|
private String manufacturer;
|
||||||
|
|
||||||
|
/** 申请时间 */
|
||||||
|
private Date applyTime;
|
||||||
|
|
||||||
|
/** 状态 */
|
||||||
|
private Integer statusEnum;
|
||||||
|
private String statusEnum_enumText;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
import com.openhis.web.common.dto.UnitDto;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 科室耗材汇总dto
|
||||||
|
*
|
||||||
|
* @author wuyan
|
||||||
|
* @date 2025-11-05
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class OrgDeviceSummaryFromDto {
|
||||||
|
|
||||||
|
/** 项目id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long itemId;
|
||||||
|
|
||||||
|
/** 器材名称 */
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/** 规格 */
|
||||||
|
private String totalVolume;
|
||||||
|
|
||||||
|
/** 厂家 */
|
||||||
|
private String manufacturer;
|
||||||
|
|
||||||
|
/** 批号 */
|
||||||
|
private String lotNumber;
|
||||||
|
|
||||||
|
/** 单价 */
|
||||||
|
private BigDecimal unitPrice;
|
||||||
|
|
||||||
|
/** 发放数量 */
|
||||||
|
private BigDecimal dispenseQuantity;
|
||||||
|
|
||||||
|
/** 库存数量 */
|
||||||
|
private BigDecimal quantity;
|
||||||
|
|
||||||
|
/** 单位 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String unitCode;
|
||||||
|
private String unitCode_dictText;
|
||||||
|
|
||||||
|
/** 最小单位 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String minUnitCode;
|
||||||
|
private String minUnitCode_dictText;
|
||||||
|
|
||||||
|
/** 拆零比 */
|
||||||
|
private BigDecimal partPercent;
|
||||||
|
|
||||||
|
/** 发放地点 */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long sourceLocationId;
|
||||||
|
|
||||||
|
/** 库存id */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long inventoryItemId;
|
||||||
|
|
||||||
|
/** 发放id列表 */
|
||||||
|
private List<Long> dispenseIdList;
|
||||||
|
|
||||||
|
/** 单位列表 */
|
||||||
|
private List<UnitDto> unitList;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 科室耗材参数
|
||||||
|
*
|
||||||
|
* @author wuayn
|
||||||
|
* @date 2025-11-07
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class OrgDeviceSummaryParam {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发放地点
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long sourceLocationId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long itemId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 器材名称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 库存id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long inventoryItemId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发放数量
|
||||||
|
*/
|
||||||
|
private BigDecimal dispenseQuantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盈亏数量
|
||||||
|
*/
|
||||||
|
private BigDecimal stockTakeQuantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批号
|
||||||
|
*/
|
||||||
|
private String lotNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用单位
|
||||||
|
*/
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String useUnitCode;
|
||||||
|
private String useUnitCode_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最小单位
|
||||||
|
*/
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String minUnitCode;
|
||||||
|
private String minUnitCode_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拆零比
|
||||||
|
*/
|
||||||
|
private BigDecimal partPercent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发放id列表
|
||||||
|
*/
|
||||||
|
private List<Long> dispenseIdList;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待配/退药 dto
|
||||||
|
*
|
||||||
|
* @Author: 1x1
|
||||||
|
* @CreateTime: 2025-11-19 15:49
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class PendingMedicationDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品请求ID
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long medicationRequestId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品发放ID
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long medicationDispenseId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 科室
|
||||||
|
*/
|
||||||
|
private String orgName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药房
|
||||||
|
*/
|
||||||
|
private String performLocationName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品名称
|
||||||
|
*/
|
||||||
|
private String medicationName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 药品规格
|
||||||
|
*/
|
||||||
|
private String medicationSpec;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单价
|
||||||
|
*/
|
||||||
|
private BigDecimal unitPrice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待退数量
|
||||||
|
*/
|
||||||
|
private BigDecimal requestQuantity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待配数量
|
||||||
|
*/
|
||||||
|
private BigDecimal dispenseQuantity;
|
||||||
|
/**
|
||||||
|
* 数量单位编码
|
||||||
|
*/
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
|
private String unitCode;
|
||||||
|
private String unitCode_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总价
|
||||||
|
*/
|
||||||
|
private BigDecimal totalPrice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发药人ID
|
||||||
|
*/
|
||||||
|
private Long dispensePractitionerId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发药人姓名
|
||||||
|
*/
|
||||||
|
private String dispensePractitionerName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预定发药时间
|
||||||
|
*/
|
||||||
|
|
||||||
|
private Date plannedDispenseTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求状态
|
||||||
|
*/
|
||||||
|
private Integer requestStatusEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发放状态
|
||||||
|
*/
|
||||||
|
private Integer dispenseStatusEnum;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.workflow.domain.ServiceRequest;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 诊疗请求用于执行
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-07-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class ServiceRequestUseExe extends ServiceRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 账号id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
/** 执行时间点集合 */
|
||||||
|
private List<String> executeTimes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行时间点集合数量
|
||||||
|
*/
|
||||||
|
private BigDecimal executeTimesNum;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,157 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.openhis.web.common.dto.PerformRecordDto;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.*;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入出转管理 appMapper
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-07-28
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public interface ATDManageAppMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院患者分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页信息
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @param imp 就诊类型:住院
|
||||||
|
* @param toBeRegistered 就诊状态:待登记
|
||||||
|
* @param active 住院位置状态:使用中
|
||||||
|
* @param ward 位置类型:病区
|
||||||
|
* @param house 位置类型:病房
|
||||||
|
* @param bed 位置类型:病床
|
||||||
|
* @param currentUserOrgId 当前登录用户科室 ID
|
||||||
|
* @return 入院患者分页列表
|
||||||
|
*/
|
||||||
|
Page<AdmissionPatientPageDto> selectAdmissionPatientPage(@Param("page") Page<AdmissionPatientPageDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<AdmissionPageParam> queryWrapper, @Param("imp") Integer imp,
|
||||||
|
@Param("toBeRegistered") Integer toBeRegistered, @Param("active") Integer active, @Param("ward") Integer ward,
|
||||||
|
@Param("house") Integer house, @Param("bed") Integer bed, @Param("currentUserOrgId") Long currentUserOrgId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院患者床位信息分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页信息
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @param active 住院位置状态:使用中
|
||||||
|
* @param ward 位置类型:病区
|
||||||
|
* @param house 位置类型:病房
|
||||||
|
* @param bed 位置类型:病床
|
||||||
|
* @param personalCashAccount 账户类型:个人现金账户
|
||||||
|
* @param inactive 床位状态:停用
|
||||||
|
* @param billable 收费状态:待结算
|
||||||
|
* @param billed 收费状态:已结算
|
||||||
|
* @param refunded 收费状态:已退费
|
||||||
|
* @param currentUserOrgId 当前登录用户科室 ID
|
||||||
|
* @return 患者床位信息分页列表
|
||||||
|
*/
|
||||||
|
Page<AdmissionBedPageDto> selectAdmissionBadPage(@Param("page") Page<AdmissionBedPageDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<AdmissionPageParam> queryWrapper, @Param("active") Integer active,
|
||||||
|
@Param("ward") Integer ward, @Param("house") Integer house, @Param("bed") Integer bed,
|
||||||
|
@Param("personalCashAccount") String personalCashAccount, @Param("inactive") Integer inactive,
|
||||||
|
@Param("billable") Integer billable, @Param("billed") Integer billed, @Param("refunded") Integer refunded,
|
||||||
|
@Param("currentUserOrgId") Long currentUserOrgId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询住院患者详细信息
|
||||||
|
*
|
||||||
|
* @param encounterId 住院id
|
||||||
|
* @param active 住院位置状态:使用中
|
||||||
|
* @param ward 位置类型:病区
|
||||||
|
* @param house 位置类型:病房
|
||||||
|
* @param bed 位置类型:病床
|
||||||
|
* @param primaryNurse 住院参与人:责任护士
|
||||||
|
* @param attendingDoctor 住院参与人:主治医生
|
||||||
|
* @param admittingDoctor 住院参与人:住院医生
|
||||||
|
* @param chiefDoctor 住院参与人:主任医生
|
||||||
|
* @return 住院患者详细信息
|
||||||
|
*/
|
||||||
|
AdmissionPatientInfoDto selectAdmissionPatientInfo(@Param("encounterId") Long encounterId,
|
||||||
|
@Param("active") Integer active, @Param("ward") Integer ward, @Param("house") Integer house,
|
||||||
|
@Param("bed") Integer bed, @Param("primaryNurse") String primaryNurse,
|
||||||
|
@Param("attendingDoctor") String attendingDoctor, @Param("admittingDoctor") String admittingDoctor,
|
||||||
|
@Param("chiefDoctor") String chiefDoctor);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 诊断个人账户金额信息获取
|
||||||
|
*
|
||||||
|
* @param personalCashAccount 账户类型:个人现金账户
|
||||||
|
* @param billable 收费状态:待结算
|
||||||
|
* @param billed 收费状态:已结算
|
||||||
|
* @param refunded 收费状态:已退费
|
||||||
|
* @param encounterId 诊断id
|
||||||
|
* @return EncounterAccountDto 诊断账户金额
|
||||||
|
**/
|
||||||
|
EncounterAccountDto getAmount(@Param("personalCashAccount") String personalCashAccount,
|
||||||
|
@Param("billable") Integer billable, @Param("billed") Integer billed, @Param("refunded") Integer refunded,
|
||||||
|
@Param("encounterId") Long encounterId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取待配/退药
|
||||||
|
*
|
||||||
|
* @param encounterId 诊断id
|
||||||
|
* @param preparationStatus 配药状态:待配
|
||||||
|
* @param summarizedStatus 配药状态:已汇总
|
||||||
|
* @param requestStatus 发药状态:待退
|
||||||
|
* @param tenantId 租户id
|
||||||
|
* @return PendingMedicationDto 待配/退药
|
||||||
|
**/
|
||||||
|
List<PendingMedicationDto> getPendingMedication(@Param("encounterId") Long encounterId,
|
||||||
|
@Param("preparationStatus") Integer preparationStatus, @Param("summarizedStatus") Integer summarizedStatus,
|
||||||
|
@Param("requestStatus") Integer requestStatus, @Param("tenantId") Integer tenantId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询医嘱分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页信息
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @param worServiceRequest 请求所在表:服务请求
|
||||||
|
* @param medMedicationRequest 请求所在表:药品请求
|
||||||
|
* @param draft 医嘱状态:待发送
|
||||||
|
* @param stopped 医嘱状态:停嘱
|
||||||
|
* @param active 住院位置状态:使用中
|
||||||
|
* @param bed 位置类型:病床
|
||||||
|
* @param admittingDoctor 住院医生
|
||||||
|
* @param personalCashAccount 个人现金账户
|
||||||
|
* @param billable 收费状态:待结算
|
||||||
|
* @param billed 收费状态:已结算
|
||||||
|
* @param refunded 收费状态:已退费
|
||||||
|
* @param imp 患者状态:住院
|
||||||
|
* @param doctorPrescription 医嘱类型:医生开立
|
||||||
|
* @param transfer 特殊医嘱:转科
|
||||||
|
* @param discharge 特殊医嘱:出院
|
||||||
|
* @param nursing 特殊医嘱:护理级别
|
||||||
|
* @return 医嘱分页列表
|
||||||
|
*/
|
||||||
|
Page<InpatientAdviceDto> selectInpatientAdvicePage(@Param("page") Page<InpatientAdviceDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<InpatientAdviceParam> queryWrapper,
|
||||||
|
@Param("medMedicationRequest") String medMedicationRequest,
|
||||||
|
@Param("worServiceRequest") String worServiceRequest, @Param("draft") Integer draft,
|
||||||
|
@Param("stopped") Integer stopped, @Param("active") Integer active, @Param("bed") Integer bed,
|
||||||
|
@Param("admittingDoctor") String admittingDoctor, @Param("personalCashAccount") String personalCashAccount,
|
||||||
|
@Param("billable") Integer billable, @Param("billed") Integer billed, @Param("refunded") Integer refunded,
|
||||||
|
@Param("imp") Integer imp, @Param("doctorPrescription") Integer doctorPrescription,
|
||||||
|
@Param("transfer") String transfer, @Param("discharge") String discharge, @Param("nursing") String nursing);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询执行记录
|
||||||
|
*
|
||||||
|
* @param reqIds 项目ids
|
||||||
|
* @return 执行记录列表
|
||||||
|
*/
|
||||||
|
List<PerformRecordDto> selectPerformRecordList(@Param("reqIds") List<Long> reqIds);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.AdmissionPageParam;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.AdmissionPatientPageDto;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.InpatientAdviceDto;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.InpatientAdviceParam;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 护士站医嘱处理 mapper
|
||||||
|
*
|
||||||
|
* @author zwh
|
||||||
|
* @date 2025-08-07
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public interface AdviceProcessAppMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入院患者分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页信息
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @param imp 就诊类型:住院
|
||||||
|
* @param toBeRegistered 就诊状态:待登记
|
||||||
|
* @param registered 就诊状态:待入院
|
||||||
|
* @param active 住院位置状态:使用中
|
||||||
|
* @param ward 位置类型:病区
|
||||||
|
* @param house 位置类型:病房
|
||||||
|
* @param bed 位置类型:病床
|
||||||
|
* @param personalCashAccount 个人现金账户
|
||||||
|
* @return 入院患者分页列表
|
||||||
|
*/
|
||||||
|
Page<AdmissionPatientPageDto> selectInpatientPage(@Param("page") Page<AdmissionPatientPageDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<AdmissionPageParam> queryWrapper, @Param("imp") Integer imp,
|
||||||
|
@Param("toBeRegistered") Integer toBeRegistered, @Param("registered") Integer registered,
|
||||||
|
@Param("active") Integer active, @Param("ward") Integer ward, @Param("house") Integer house,
|
||||||
|
@Param("bed") Integer bed, @Param("personalCashAccount") String personalCashAccount);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询医嘱分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页信息
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @param worServiceRequest 请求所在表:服务请求
|
||||||
|
* @param medMedicationRequest 请求所在表:药品请求
|
||||||
|
* @param draft 医嘱状态:待发送
|
||||||
|
* @param active 住院位置状态:使用中
|
||||||
|
* @param bed 位置类型:病床
|
||||||
|
* @param admittingDoctor 住院医生
|
||||||
|
* @param personalCashAccount 个人现金账户
|
||||||
|
* @param billable 收费状态:待结算
|
||||||
|
* @param billed 收费状态:已结算
|
||||||
|
* @param refunded 收费状态:已退费
|
||||||
|
* @param imp 患者状态:住院
|
||||||
|
* @param doctorPrescription 医嘱类型:医生开立
|
||||||
|
* @return 医嘱分页列表
|
||||||
|
*/
|
||||||
|
Page<InpatientAdviceDto> selectInpatientAdvicePage(@Param("page") Page<InpatientAdviceDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<InpatientAdviceParam> queryWrapper,
|
||||||
|
@Param("medMedicationRequest") String medMedicationRequest,
|
||||||
|
@Param("worServiceRequest") String worServiceRequest, @Param("draft") Integer draft,
|
||||||
|
@Param("active") Integer active, @Param("bed") Integer bed, @Param("admittingDoctor") String admittingDoctor,
|
||||||
|
@Param("personalCashAccount") String personalCashAccount, @Param("billable") Integer billable,
|
||||||
|
@Param("billed") Integer billed, @Param("refunded") Integer refunded, @Param("imp") Integer imp,
|
||||||
|
@Param("doctorPrescription") Integer doctorPrescription);
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.mapper;
|
||||||
|
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.*;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 住院就诊滚方
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public interface EncounterAutoRollAppMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询自动滚方数据源
|
||||||
|
*
|
||||||
|
* @param status 状态
|
||||||
|
* @param basicService 基础服务
|
||||||
|
* @return 自动滚方数据源
|
||||||
|
*/
|
||||||
|
List<AutoRollSourceDto> getSource(@Param("status") Integer status, @Param("basicService") String basicService);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询住院就诊滚方绑定信息
|
||||||
|
*
|
||||||
|
* @param encounterId 就诊id
|
||||||
|
* @return 住院就诊滚方绑定信息
|
||||||
|
*/
|
||||||
|
List<EncounterAutoRollQueryDto> getEncounter(@Param("encounterId") Long encounterId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询在床患者信息
|
||||||
|
*
|
||||||
|
* @param status 启用状态
|
||||||
|
* @param classEnum 就诊类型
|
||||||
|
* @param formEnum 床位
|
||||||
|
* @param typeCode 个人现金账号
|
||||||
|
* @param maindiseFlag 主诊断标识
|
||||||
|
* @return 在床患者信息
|
||||||
|
*/
|
||||||
|
List<InBedPatientInfoDto> getInBedPatientInfo(@Param("status") Integer status,
|
||||||
|
@Param("classEnum") Integer classEnum, @Param("formEnum") Integer formEnum, @Param("typeCode") String typeCode,
|
||||||
|
@Param("maindiseFlag") Integer maindiseFlag);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询需要自动计费的护理医嘱
|
||||||
|
*
|
||||||
|
* @param status 状态为已完成(已校对)
|
||||||
|
* @param categoryEnum 类型为护理
|
||||||
|
* @param encounterIdList 就诊id集合
|
||||||
|
* @return 需要自动计费的护理医嘱
|
||||||
|
*/
|
||||||
|
List<AutoRollNursingDto> getNursingRequest(@Param("status") Integer status,
|
||||||
|
@Param("categoryEnum") Integer categoryEnum, @Param("encounterIdList") List<Long> encounterIdList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询需要自动计费的绑定基础服务信息
|
||||||
|
*
|
||||||
|
* @param status 状态
|
||||||
|
* @param encounterIdList 就诊id集合
|
||||||
|
* @return 需要自动计费的绑定基础服务信息
|
||||||
|
*/
|
||||||
|
List<AutoRollBasicServiceDto> getAutoRollBasicService(@Param("status") Integer status,
|
||||||
|
@Param("encounterIdList") List<Long> encounterIdList);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inhospitalnursestation.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.DispenseFormSearchParam;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.MedicineDispenseFormDto;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.MedicineSummaryFormDto;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.MedicineSummaryInfoDto;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface MedicineSummaryAppMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询领药列表
|
||||||
|
*
|
||||||
|
* @param page 分页信息
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @param completed 医嘱状态:已完成
|
||||||
|
* @param active 住院位置状态:使用中
|
||||||
|
* @param bed 位置类型:病床
|
||||||
|
* @param admittingDoctor 住院医生
|
||||||
|
* @param personalCashAccount 个人现金账户
|
||||||
|
* @param billable 收费状态:待结算
|
||||||
|
* @param billed 收费状态:已结算
|
||||||
|
* @param refunded 收费状态:已退费
|
||||||
|
* @param summarized 发药状态:已汇总
|
||||||
|
* @return 领药列表
|
||||||
|
*/
|
||||||
|
Page<MedicineDispenseFormDto> selectMedicineDispenseFormPage(@Param("page") Page<MedicineDispenseFormDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<DispenseFormSearchParam> queryWrapper,
|
||||||
|
@Param("completed") Integer completed, @Param("active") Integer active, @Param("bed") Integer bed,
|
||||||
|
@Param("admittingDoctor") String admittingDoctor, @Param("personalCashAccount") String personalCashAccount,
|
||||||
|
@Param("billable") Integer billable, @Param("billed") Integer billed, @Param("refunded") Integer refunded,
|
||||||
|
@Param("summarized") Integer summarized);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询汇总单分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页信息
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @param completed 发药状态:已完成
|
||||||
|
* @param preparation 发药状态:待配药
|
||||||
|
* @param summaryDispense 单据类型:汇总发药
|
||||||
|
* @return 汇总单列表
|
||||||
|
*/
|
||||||
|
Page<MedicineSummaryFormDto> selectMedicineSummaryFormPage(@Param("page") Page<MedicineSummaryFormDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<DispenseFormSearchParam> queryWrapper,
|
||||||
|
@Param("completed") Integer completed, @Param("preparation") Integer preparation,
|
||||||
|
@Param("summaryDispense") Integer summaryDispense);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取汇总单详情
|
||||||
|
*
|
||||||
|
* @param summaryNo 汇总单号
|
||||||
|
* @return 汇总单详情
|
||||||
|
*/
|
||||||
|
List<MedicineSummaryInfoDto> selectMedicineSummaryFormDetail(@Param("summaryNo") String summaryNo);
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.InpatientAdviceDto;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.InpatientAdviceParam;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface NurseBillingAppMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询医嘱分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页信息
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @param worServiceRequest 请求所在表:服务请求
|
||||||
|
* @param worDeviceRequest 请求所在表:请求
|
||||||
|
* @param draft 医嘱状态:待发送
|
||||||
|
* @param active 住院位置状态:使用中
|
||||||
|
* @param bed 位置类型:病床
|
||||||
|
* @param admittingDoctor 住院医生
|
||||||
|
* @param personalCashAccount 个人现金账户
|
||||||
|
* @param billable 收费状态:待结算
|
||||||
|
* @param billed 收费状态:已结算
|
||||||
|
* @param refunded 收费状态:已退费
|
||||||
|
* @param imp 患者状态:住院
|
||||||
|
* @param generateSourceEnum 请求来源
|
||||||
|
* @param startTime 开始时间
|
||||||
|
* @param startTime 结束时间
|
||||||
|
* @return 医嘱分页列表
|
||||||
|
*/
|
||||||
|
Page<InpatientAdviceDto> getInNurseBillingPage(@Param("page") Page<InpatientAdviceDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<InpatientAdviceParam> queryWrapper,
|
||||||
|
@Param("worDeviceRequest") String worDeviceRequest, @Param("worServiceRequest") String worServiceRequest,
|
||||||
|
@Param("draft") Integer draft, @Param("active") Integer active, @Param("bed") Integer bed,
|
||||||
|
@Param("admittingDoctor") String admittingDoctor, @Param("personalCashAccount") String personalCashAccount,
|
||||||
|
@Param("billable") Integer billable, @Param("billed") Integer billed, @Param("refunded") Integer refunded,
|
||||||
|
@Param("imp") Integer imp, @Param("generateSourceEnum") Integer generateSourceEnum,
|
||||||
|
@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.openhis.web.inhospitalnursestation.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.openhis.web.inhospitalnursestation.dto.OrgDeviceDto;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface OrgDeviceStockTakeAppMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 科室耗材信息列表查询
|
||||||
|
*
|
||||||
|
* @param page 分页
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @return 科室耗材信息
|
||||||
|
*/
|
||||||
|
Page<OrgDeviceDto> selectOrgDeviceInfo(@Param("page") Page<OrgDeviceDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<OrgDeviceDto> queryWrapper, @Param("imp") Integer imp,
|
||||||
|
@Param("requestStatus") Integer requestStatus, @Param("dispenseStatus") Integer dispenseStatus,
|
||||||
|
@Param("chargeItemStatus") Integer chargeItemStatus);
|
||||||
|
}
|
||||||
@@ -154,7 +154,11 @@
|
|||||||
ii.account_id AS account_id,
|
ii.account_id AS account_id,
|
||||||
ii.performer_check_id,
|
ii.performer_check_id,
|
||||||
ii.category_code,
|
ii.category_code,
|
||||||
ii.dispense_status
|
ii.dispense_status,
|
||||||
|
ii.unit_price,
|
||||||
|
ii.total_price,
|
||||||
|
ii.stopper_id,
|
||||||
|
ii.stopper_name
|
||||||
FROM (( SELECT DISTINCT T1.encounter_id,
|
FROM (( SELECT DISTINCT T1.encounter_id,
|
||||||
T1.tenant_id,
|
T1.tenant_id,
|
||||||
#{medMedicationRequest} AS advice_table,
|
#{medMedicationRequest} AS advice_table,
|
||||||
@@ -199,7 +203,11 @@
|
|||||||
personal_account.balance_amount,
|
personal_account.balance_amount,
|
||||||
personal_account.id AS account_id,
|
personal_account.id AS account_id,
|
||||||
T2.category_code,
|
T2.category_code,
|
||||||
mmd.status_enum AS dispense_status
|
mmd.status_enum AS dispense_status,
|
||||||
|
NULL::numeric AS unit_price,
|
||||||
|
NULL::numeric AS total_price,
|
||||||
|
NULL::bigint AS stopper_id,
|
||||||
|
NULL::varchar AS stopper_name
|
||||||
FROM med_medication_request AS T1
|
FROM med_medication_request AS T1
|
||||||
LEFT JOIN med_medication_definition AS T2
|
LEFT JOIN med_medication_definition AS T2
|
||||||
ON T2.id = T1.medication_id
|
ON T2.id = T1.medication_id
|
||||||
@@ -341,7 +349,11 @@
|
|||||||
personal_account.balance_amount,
|
personal_account.balance_amount,
|
||||||
personal_account.id AS account_id,
|
personal_account.id AS account_id,
|
||||||
T2.category_code,
|
T2.category_code,
|
||||||
NULL::integer AS dispense_status
|
NULL::integer AS dispense_status,
|
||||||
|
NULL::numeric AS unit_price,
|
||||||
|
NULL::numeric AS total_price,
|
||||||
|
NULL::bigint AS stopper_id,
|
||||||
|
NULL::varchar AS stopper_name
|
||||||
FROM wor_service_request AS T1
|
FROM wor_service_request AS T1
|
||||||
LEFT JOIN wor_activity_definition AS T2
|
LEFT JOIN wor_activity_definition AS T2
|
||||||
ON T2.id = T1.activity_id
|
ON T2.id = T1.activity_id
|
||||||
|
|||||||
97
openhis-ui-vue3/src/api/inpatient/nurse.js
Normal file
97
openhis-ui-vue3/src/api/inpatient/nurse.js
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取医嘱校对列表
|
||||||
|
* 对应后端: GET /nurse-station/advice-process/inpatient-advice
|
||||||
|
* @param {Object} params 查询参数
|
||||||
|
* @param {string} params.encounterIds 住院患者ID集合(逗号分隔)
|
||||||
|
* @param {number} params.therapyEnum 医嘱类型
|
||||||
|
* @param {number} params.requestStatus 请求状态
|
||||||
|
* @param {number} pageNo 页码
|
||||||
|
* @param {number} pageSize 每页条数
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
export function getVerificationList(encounterIds, params = {}) {
|
||||||
|
return request({
|
||||||
|
url: '/nurse-station/advice-process/inpatient-advice',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
encounterIds,
|
||||||
|
pageNo: params.pageNo || 1,
|
||||||
|
pageSize: params.pageSize || 20,
|
||||||
|
requestStatus: params.requestStatus,
|
||||||
|
therapyEnum: params.therapyEnum
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取医嘱校对列表(兼容 OrderVerify.vue 调用)
|
||||||
|
* @param {number} patientId 患者ID
|
||||||
|
* @param {Object} params 查询参数
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
export function getVerifyOrderList(patientId, params = {}) {
|
||||||
|
return request({
|
||||||
|
url: '/nurse-station/advice-process/inpatient-advice',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
encounterIds: patientId,
|
||||||
|
pageNo: params.pageNo || 1,
|
||||||
|
pageSize: params.pageSize || 20,
|
||||||
|
requestStatus: params.requestStatus
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱校对通过
|
||||||
|
* @param {Object|Array} data 医嘱信息集合
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
export function verifyOrder(data) {
|
||||||
|
return request({
|
||||||
|
url: '/nurse-station/advice-process/advice-verify',
|
||||||
|
method: 'put',
|
||||||
|
data: Array.isArray(data) ? data : [data]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱退回
|
||||||
|
* @param {Array} data 医嘱信息集合
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
export function rejectOrder(data) {
|
||||||
|
return request({
|
||||||
|
url: '/nurse-station/advice-process/advice-reject',
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱执行
|
||||||
|
* @param {Object} data 执行参数
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
export function executeOrder(data) {
|
||||||
|
return request({
|
||||||
|
url: '/nurse-station/advice-process/advice-execute',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 医嘱取消执行
|
||||||
|
* @param {Object} data 取消执行参数
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
export function cancelOrder(data) {
|
||||||
|
return request({
|
||||||
|
url: '/nurse-station/advice-process/advice-cancel',
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
21
openhis-ui-vue3/src/api/inpatient/nurse/order.js
Normal file
21
openhis-ui-vue3/src/api/inpatient/nurse/order.js
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取医嘱校对列表(分页)
|
||||||
|
* 对应后端: GET /nurse-station/advice-process/inpatient-advice
|
||||||
|
* @param {Object} params 查询参数
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
export function getVerifyOrderList(params = {}) {
|
||||||
|
return request({
|
||||||
|
url: '/nurse-station/advice-process/inpatient-advice',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
encounterIds: params.patientId,
|
||||||
|
pageNo: params.pageNum || 1,
|
||||||
|
pageSize: params.pageSize || 20,
|
||||||
|
requestStatus: params.requestStatus,
|
||||||
|
therapyEnum: params.therapyEnum
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
28
openhis-ui-vue3/src/api/inpatient/order.js
Normal file
28
openhis-ui-vue3/src/api/inpatient/order.js
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取已校对医嘱列表
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
export function getVerifiedOrdersApi() {
|
||||||
|
return request({
|
||||||
|
url: '/nurse-station/advice-process/inpatient-advice',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
requestStatus: 10 // CHECK_VERIFIED
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退回医嘱
|
||||||
|
* @param {number} orderId 医嘱ID
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
export function returnOrderApi(orderId) {
|
||||||
|
return request({
|
||||||
|
url: '/nurse-station/advice-process/advice-reject',
|
||||||
|
method: 'put',
|
||||||
|
data: [{ requestId: orderId }]
|
||||||
|
})
|
||||||
|
}
|
||||||
27
openhis-ui-vue3/src/utils/request.js
Normal file
27
openhis-ui-vue3/src/utils/request.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
import axios from 'axios'
|
||||||
|
import { ElMessage } from 'element-plus'
|
||||||
|
|
||||||
|
// 创建 axios 实例
|
||||||
|
const service = axios.create({
|
||||||
|
baseURL: import.meta.env.VITE_APP_BASE_API || '',
|
||||||
|
timeout: 30000
|
||||||
|
})
|
||||||
|
|
||||||
|
// 响应拦截器
|
||||||
|
service.interceptors.response.use(
|
||||||
|
response => {
|
||||||
|
const res = response.data
|
||||||
|
// 如果响应中有 data 属性,直接返回 res
|
||||||
|
if (res.code === 200 || res.code === undefined) {
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
ElMessage.error(res.msg || '请求失败')
|
||||||
|
return Promise.reject(new Error(res.msg || '请求失败'))
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
ElMessage.error(error.message || '网络异常')
|
||||||
|
return Promise.reject(error)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
export default service
|
||||||
Reference in New Issue
Block a user