危急值、阳性统计
Some checks are pending
Java CI with Maven / build (11) (push) Waiting to run
Java CI with Maven / build (17) (push) Waiting to run
Java CI with Maven / build (8) (push) Waiting to run
yudao-ui-admin CI / build (14.x) (push) Waiting to run
yudao-ui-admin CI / build (16.x) (push) Waiting to run

This commit is contained in:
旺仔 2024-12-17 16:53:43 +08:00
parent 2415356c6b
commit 7c905f710c
12 changed files with 118 additions and 8 deletions

View File

@ -163,6 +163,13 @@ public class WarningController {
return success(BeanUtils.toBean(pageResult, WarningRespVO.class));
}
@GetMapping("/warningListbyPatient")
@Operation(summary = "获得危急值记录")
public CommonResult<List<WarningDO>> getWarningListbyPatient(@Valid WarningPatientReqVO reqVO) {
List<WarningDO> warnings = warningService.getWarningListbyPatient(reqVO);
return success(warnings);
}
@GetMapping("/export-excel")
@Operation(summary = "导出危急值记录 Excel")
@PreAuthorize("@ss.hasPermission('system:warning:export')")

View File

@ -0,0 +1,19 @@
package cn.iocoder.yudao.module.system.controller.admin.warning.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
@Schema(description = "管理后台 - WarningPatientReqVO")
@Data
@ToString(callSuper = true)
public class WarningPatientReqVO {
@Schema(description = "机构ID", example = "29289")
private String orgId;
@Schema(description = "登记单号")
private String regId;
@Schema(description = "检查ID体检编号、住院号、门诊号等", example = "26467")
private String examId;
}

View File

@ -1,9 +1,11 @@
package cn.iocoder.yudao.module.system.dal.dataobject.warning;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
@ -19,12 +21,12 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WarningDO {
public class WarningDO {
/**
* 主键
*/
@TableId(type = IdType.INPUT)
@TableId(value = "ID", type = IdType.INPUT)
private String id;
/**
* 机构ID
@ -37,19 +39,19 @@ public class WarningDO {
@TableField("examId")
private String examId;
/**
* 登记ID :patientid
* 登记ID :patientid
*/
@TableField("regId")
private String regId;
/**
* 上报机构id
*/
@TableField(value ="reportOrgId")
@TableField(value = "reportOrgId")
private String reportOrgId;
/**
* 上报机构名称
*/
@TableField(value ="reportorgName")
@TableField(value = "reportorgName")
private String reportorgName;
/**
* 上报医生
@ -102,8 +104,8 @@ public class WarningDO {
@TableField("receiptDateTime")
private LocalDateTime receiptDateTime;
/*
* 检查端确认备注
* */
* 检查端确认备注
* */
@TableField("readremark")
private String readremark;

View File

@ -37,4 +37,11 @@ public interface WarningMapper extends BaseMapperX<WarningDO> {
.orderByDesc(WarningDO::getId));
}
//WarningPatientReqVO列表
default List<WarningDO> selectList(WarningPatientReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<WarningDO>()
.eqIfPresent(WarningDO::getOrgId, reqVO.getOrgId())
.likeIfPresent(WarningDO::getRegId, reqVO.getRegId())
.likeIfPresent(WarningDO::getExamId, reqVO.getExamId()));
}
}

View File

@ -55,6 +55,10 @@ public interface WarningService {
* 通过检查ID和机构ID查询患者信息
* */
WarningDO getexmidororgiddata(String examid,String orgid);
/**
* 查询WarningDO
*/
List<WarningDO> getWarningListbyPatient(WarningPatientReqVO reqVO);
/**
* 获得危急值记录分页
*

View File

@ -89,4 +89,8 @@ public class WarningServiceImpl implements WarningService {
return warningMapper.selectPage(pageReqVO);
}
@Override
public List<WarningDO> getWarningListbyPatient(WarningPatientReqVO reqVO) {
return warningMapper.selectList(reqVO);
}
}

View File

@ -229,6 +229,13 @@ public class PatientexamlistController {
return success(result);
}
@GetMapping("/warningStatisticsReport")
@Operation(summary = "危急报告统计")
@PreAuthorize("@ss.hasPermission('tblist:patientexamlist:query')")
public CommonResult<PageResult<PatientexamlistDO>> getWarningStatisticsReport(@Valid WarningStatisticsReportReqVO reqVO) {
PageResult<PatientexamlistDO> pageResult = patientexamlistService.getWarningStatisticsReport(reqVO);
return success(pageResult);
}
@GetMapping("/dicomDataSync")
@Operation(summary = "dicom数据同步")

View File

@ -0,0 +1,32 @@
package cn.iocoder.yudao.module.tblist.controller.admin.patientexamlist.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - WarningStatisticsReportReqVO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class WarningStatisticsReportReqVO extends PageParam {
@Schema(description = "机构ID", example = "29289")
private String orgId;
@Schema(description = "登记单号")
private String regId;
@Schema(description = "下诊断开始日期:年月日时分秒")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime diagDate_ge;
@Schema(description = "下诊断结束日期:年月日时分秒")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime diagDate_le;
}

View File

@ -65,7 +65,7 @@ public interface EcganalysisparasMapper extends BaseMapperX<EcganalysisparasDO>
StringBuilder sql = new StringBuilder();
sql.append(" SELECT t1.doctorDiagResult,t2.* ").append(System.lineSeparator());
sql.append(" FROM tb_ecganalysisparas t1 ").append(System.lineSeparator());
sql.append(" LEFT JOIN tb_patientexamlist t2 ON t1.regId=t2.regId AND t1.examId=t2.examId ").append(System.lineSeparator());
sql.append(" inner JOIN tb_patientexamlist t2 ON t1.regId=t2.regId AND t1.examId=t2.examId ").append(System.lineSeparator());
sql.append(" WHERE 1=1 ").append(System.lineSeparator());
sql.append(" AND t1.orgId='" + orgId.trim() + "' ").append(System.lineSeparator());
if (doctorDiagTimeStart != null)

View File

@ -57,6 +57,18 @@ public interface PatientexamlistMapper extends BaseMapperX<PatientexamlistDO> {
.orderByDesc(PatientexamlistDO::getExamDate));
}
//WarningStatisticsReportReqVO分页
default PageResult<PatientexamlistDO> selectPage(WarningStatisticsReportReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PatientexamlistDO>()
.eqIfPresent(PatientexamlistDO::getOrgId, reqVO.getOrgId())
.likeIfPresent(PatientexamlistDO::getRegId, reqVO.getRegId())
.geIfPresent(PatientexamlistDO::getDiagDate, reqVO.getDiagDate_ge())
.leIfPresent(PatientexamlistDO::getDiagDate, reqVO.getDiagDate_le())
.isNotNull(PatientexamlistDO::getDiagDate)
.eq(PatientexamlistDO::getWarning, "1")
.orderByDesc(PatientexamlistDO::getExamDate));
}
//PatientexamlistPageReqVO分页
default PageResult<PatientexamlistDO> selectPage(PatientexamlistPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PatientexamlistDO>()

View File

@ -91,6 +91,13 @@ public interface PatientexamlistService extends IService<PatientexamlistDO> {
*/
List<Map<String, Object>> getPositiveStatistics(PositiveStatisticsReqVO reqVO);
/**
* 危急报告统计
*
* @param pageReqVO 分页查询
* @return PACS检查列表分页
*/
PageResult<PatientexamlistDO> getWarningStatisticsReport(WarningStatisticsReportReqVO pageReqVO);
/**
* 同步dicom数据至tb_patientexamlist

View File

@ -164,6 +164,15 @@ public class PatientexamlistServiceImpl extends ServiceImpl<PatientexamlistMappe
return Collections.emptyList();
}
@Override
public PageResult<PatientexamlistDO> getWarningStatisticsReport(WarningStatisticsReportReqVO pageReqVO) {
if (pageReqVO != null) {
pageReqVO.setOrgId(null);
if (pageReqVO.getDiagDate_le() != null)
pageReqVO.setDiagDate_le(pageReqVO.getDiagDate_le().plusDays(1));
}
return patientexamlistMapper.selectPage(pageReqVO);
}
@Override
public List<String> dicomDataSync() {