新增pacs列表查询模块
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:
lxd 2024-07-09 20:16:30 +08:00
parent 3a0ea58865
commit 5720851f20
17 changed files with 930 additions and 12 deletions

View File

@ -15,6 +15,7 @@
<!-- 各种 module 拓展 -->
<module>yudao-module-system</module>
<module>yudao-module-infra</module>
<module>yudao-module-tblist</module>
<!-- <module>yudao-module-member</module>-->
<!-- <module>yudao-module-bpm</module>-->
<!-- <module>yudao-module-report</module>-->

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao</artifactId>
<version>${revision}</version>
</parent>
<artifactId>yudao-module-tblist</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<description> <!-- 4. 新增 description 为该模块的描述 -->
demo 模块,主要实现 XXX、YYY、ZZZ 等功能。
</description>
<modules>
<module>yudao-module-tblist-api</module>
<module>yudao-module-tblist-biz</module>
</modules>
</project>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-tblist</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-module-tblist-api</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>
system 模块 API暴露给其它模块调用
</description>
<dependencies>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-common</artifactId>
</dependency>
<!-- 参数校验 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-tblist</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-module-tblist-biz</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>
system 模块下,我们放通用业务,支撑上层的核心业务。
例如说:用户、部门、权限、数据字典等等
</description>
<dependencies>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-tblist-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-infra-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 业务组件 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-biz-data-permission</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-biz-ip</artifactId>
</dependency>
<!-- Web 相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- DB 相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-mybatis</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-redis</artifactId>
</dependency>
<!-- Job 定时任务相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-job</artifactId>
</dependency>
<!-- 消息队列相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-mq</artifactId>
</dependency>
<!-- 工具类相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-excel</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<!-- 三方云服务相关 -->
<dependency>
<groupId>com.xingyuv</groupId>
<artifactId>spring-boot-starter-justauth</artifactId> <!-- 社交登陆(例如说,个人微信、企业微信等等) -->
</dependency>
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>wx-java-mp-spring-boot-starter</artifactId> <!-- 微信登录(公众号) -->
</dependency>
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>wx-java-miniapp-spring-boot-starter</artifactId> <!-- 微信登录(小程序) -->
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId> <!-- 短信(阿里云) -->
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId> <!-- 短信(阿里云) -->
</dependency>
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java-sms</artifactId> <!-- 短信(腾讯云) -->
</dependency>
<dependency>
<groupId>com.xingyuv</groupId>
<artifactId>spring-boot-starter-captcha-plus</artifactId> <!-- 验证码,一般用于登录使用 -->
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,97 @@
package cn.iocoder.yudao.module.tblist.controller.admin.patientexamlist;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.tblist.controller.admin.patientexamlist.vo.*;
import cn.iocoder.yudao.module.tblist.dal.dataobject.patientexamlist.PatientexamlistDO;
import cn.iocoder.yudao.module.tblist.service.patientexamlist.PatientexamlistService;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
@Tag(name = "管理后台 - PACS检查列表")
@RestController
@RequestMapping("/tblist/patientexamlist")
@Validated
public class PatientexamlistController {
@Resource
private PatientexamlistService patientexamlistService;
@PostMapping("/create")
@Operation(summary = "创建PACS检查列表")
@PreAuthorize("@ss.hasPermission('tblist:patientexamlist:create')")
public CommonResult<String> createPatientexamlist(@Valid @RequestBody PatientexamlistSaveReqVO createReqVO) {
return success(patientexamlistService.createPatientexamlist(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新PACS检查列表")
@PreAuthorize("@ss.hasPermission('tblist:patientexamlist:update')")
public CommonResult<Boolean> updatePatientexamlist(@Valid @RequestBody PatientexamlistSaveReqVO updateReqVO) {
patientexamlistService.updatePatientexamlist(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除PACS检查列表")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('tblist:patientexamlist:delete')")
public CommonResult<Boolean> deletePatientexamlist(@RequestParam("id") String id) {
patientexamlistService.deletePatientexamlist(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得PACS检查列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('tblist:patientexamlist:query')")
public CommonResult<PatientexamlistRespVO> getPatientexamlist(@RequestParam("id") String id) {
PatientexamlistDO patientexamlist = patientexamlistService.getPatientexamlist(id);
return success(BeanUtils.toBean(patientexamlist, PatientexamlistRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得PACS检查列表分页")
@PreAuthorize("@ss.hasPermission('tblist:patientexamlist:query')")
public CommonResult<PageResult<PatientexamlistRespVO>> getPatientexamlistPage(@Valid PatientexamlistPageReqVO pageReqVO) {
PageResult<PatientexamlistDO> pageResult = patientexamlistService.getPatientexamlistPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, PatientexamlistRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出PACS检查列表 Excel")
@PreAuthorize("@ss.hasPermission('tblist:patientexamlist:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportPatientexamlistExcel(@Valid PatientexamlistPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<PatientexamlistDO> list = patientexamlistService.getPatientexamlistPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "PACS检查列表.xls", "数据", PatientexamlistRespVO.class,
BeanUtils.toBean(list, PatientexamlistRespVO.class));
}
}

View File

@ -0,0 +1,94 @@
package cn.iocoder.yudao.module.tblist.controller.admin.patientexamlist.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
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 = "管理后台 - PACS检查列表分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PatientexamlistPageReqVO extends PageParam {
@Schema(description = "检查ID体检编号、住院号、门诊号等", example = "26467")
private String examId;
@Schema(description = "患者姓名", example = "赵六")
private String pName;
@Schema(description = "性别")
private String gender;
@Schema(description = "出生日期")
private Date birthday;
@Schema(description = "检查日期:年月日时分秒")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] examDate;
@Schema(description = "设备类型CT DR MR B超 彩超等", example = "2")
private String deviceType;
@Schema(description = "seri_dicomCount:序列数量/dicom数量")
private String seDc;
@Schema(description = "检查项目名称", example = "张三")
private String examItemName;
@Schema(description = "报告状态", example = "1")
private String reportstatus;
@Schema(description = "申请日期:年月日时分秒")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] applicationDate;
@Schema(description = "dicom文件上传时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] uploadDate;
@Schema(description = "机构名称", example = "芋艿")
private String orgName;
@Schema(description = "机构ID", example = "29289")
private String orgId;
@Schema(description = "上级判读机构id列表orgid1,orgid2,orgid3", example = "26015")
private String highLevelOrgId;
@Schema(description = "创建时间:年月日时分秒")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createDate;
@Schema(description = "检查所见", example = "随便")
private String examDescription;
@Schema(description = "诊断结论")
private String diagResults;
@Schema(description = "下诊断结论的时间:年月日时分秒")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] diagDate;
@Schema(description = "诊断医生")
private String diagDoctor;
@Schema(description = "审核医生")
private String reviewDoctor;
@Schema(description = "审核日期:年月日时分秒")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reviewDate;
@Schema(description = "缩略图oss url, httP:oss url", example = "https://www.iocoder.cn")
private String thumbnailImgUrl;
@Schema(description = "框架需要:创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,112 @@
package cn.iocoder.yudao.module.tblist.controller.admin.patientexamlist.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - PACS检查列表 Response VO")
@Data
@ExcelIgnoreUnannotated
public class PatientexamlistRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "23598")
@ExcelProperty("主键")
private String id;
@Schema(description = "检查ID体检编号、住院号、门诊号等", example = "26467")
@ExcelProperty("检查ID体检编号、住院号、门诊号等")
private String examId;
@Schema(description = "患者姓名", example = "赵六")
@ExcelProperty("患者姓名")
private String pName;
@Schema(description = "性别")
@ExcelProperty("性别")
private String gender;
@Schema(description = "出生日期")
@ExcelProperty("出生日期")
private Date birthday;
@Schema(description = "检查日期:年月日时分秒")
@ExcelProperty("检查日期:年月日时分秒")
private LocalDateTime examDate;
@Schema(description = "设备类型CT DR MR B超 彩超等", example = "2")
@ExcelProperty("设备类型CT DR MR B超 彩超等")
private String deviceType;
@Schema(description = "seri_dicomCount:序列数量/dicom数量")
@ExcelProperty("seri_dicomCount:序列数量/dicom数量")
private String seDc;
@Schema(description = "检查项目名称", example = "张三")
@ExcelProperty("检查项目名称")
private String examItemName;
@Schema(description = "报告状态", example = "1")
@ExcelProperty("报告状态")
private String reportstatus;
@Schema(description = "申请日期:年月日时分秒")
@ExcelProperty("申请日期:年月日时分秒")
private LocalDateTime applicationDate;
@Schema(description = "dicom文件上传时间")
@ExcelProperty("dicom文件上传时间")
private LocalDateTime uploadDate;
@Schema(description = "机构名称", example = "芋艿")
@ExcelProperty("机构名称")
private String orgName;
@Schema(description = "机构ID", example = "29289")
@ExcelProperty("机构ID")
private String orgId;
@Schema(description = "上级判读机构id列表orgid1,orgid2,orgid3", example = "26015")
@ExcelProperty("上级判读机构id列表orgid1,orgid2,orgid3")
private String highLevelOrgId;
@Schema(description = "创建时间:年月日时分秒")
@ExcelProperty("创建时间:年月日时分秒")
private LocalDateTime createDate;
@Schema(description = "检查所见", example = "随便")
@ExcelProperty("检查所见")
private String examDescription;
@Schema(description = "诊断结论")
@ExcelProperty("诊断结论")
private String diagResults;
@Schema(description = "下诊断结论的时间:年月日时分秒")
@ExcelProperty("下诊断结论的时间:年月日时分秒")
private LocalDateTime diagDate;
@Schema(description = "诊断医生")
@ExcelProperty("诊断医生")
private String diagDoctor;
@Schema(description = "审核医生")
@ExcelProperty("审核医生")
private String reviewDoctor;
@Schema(description = "审核日期:年月日时分秒")
@ExcelProperty("审核日期:年月日时分秒")
private LocalDateTime reviewDate;
@Schema(description = "缩略图oss url, httP:oss url", example = "https://www.iocoder.cn")
@ExcelProperty("缩略图oss url, httP:oss url")
private String thumbnailImgUrl;
@Schema(description = "框架需要:创建时间")
@ExcelProperty("框架需要:创建时间")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,82 @@
package cn.iocoder.yudao.module.tblist.controller.admin.patientexamlist.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - PACS检查列表新增/修改 Request VO")
@Data
public class PatientexamlistSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "23598")
private String id;
@Schema(description = "检查ID体检编号、住院号、门诊号等", example = "26467")
private String examId;
@Schema(description = "患者姓名", example = "赵六")
private String pName;
@Schema(description = "性别")
private String gender;
@Schema(description = "出生日期")
private Date birthday;
@Schema(description = "检查日期:年月日时分秒")
private LocalDateTime examDate;
@Schema(description = "设备类型CT DR MR B超 彩超等", example = "2")
private String deviceType;
@Schema(description = "seri_dicomCount:序列数量/dicom数量")
private String seDc;
@Schema(description = "检查项目名称", example = "张三")
private String examItemName;
@Schema(description = "报告状态", example = "1")
private String reportstatus;
@Schema(description = "申请日期:年月日时分秒")
private LocalDateTime applicationDate;
@Schema(description = "dicom文件上传时间")
private LocalDateTime uploadDate;
@Schema(description = "机构名称", example = "芋艿")
private String orgName;
@Schema(description = "机构ID", example = "29289")
private String orgId;
@Schema(description = "上级判读机构id列表orgid1,orgid2,orgid3", example = "26015")
private String highLevelOrgId;
@Schema(description = "创建时间:年月日时分秒")
private LocalDateTime createDate;
@Schema(description = "检查所见", example = "随便")
private String examDescription;
@Schema(description = "诊断结论")
private String diagResults;
@Schema(description = "下诊断结论的时间:年月日时分秒")
private LocalDateTime diagDate;
@Schema(description = "诊断医生")
private String diagDoctor;
@Schema(description = "审核医生")
private String reviewDoctor;
@Schema(description = "审核日期:年月日时分秒")
private LocalDateTime reviewDate;
@Schema(description = "缩略图oss url, httP:oss url", example = "https://www.iocoder.cn")
private String thumbnailImgUrl;
}

View File

@ -0,0 +1,149 @@
package cn.iocoder.yudao.module.tblist.dal.dataobject.patientexamlist;
import lombok.*;
import java.time.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* PACS检查列表 DO
*
* @author 李晓东
*/
@TableName("tb_patientexamlist")
@KeySequence("tb_patientexamlist_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PatientexamlistDO extends BaseDO {
/**
* 主键
*/
@TableId(type = IdType.INPUT)
private String id;
/**
* 检查ID体检编号住院号门诊号等
*/
@TableField("examId")
private String examId;
/**
* 患者姓名
*/
@TableField("pName")
private String pName;
/**
*
* 性别
*/
@TableField("gender")
private String gender;
/**
* 出生日期
*/
@TableField("birthday")
private Date birthday;
/**
* 检查日期:年月日时分秒
*/
@TableField("examDate")
private LocalDateTime examDate;
/**
* 设备类型CT DR MR B超 彩超等
*/
@TableField("deviceType")
private String deviceType;
/**
* seri_dicomCount:序列数量/dicom数量
*/
@TableField("se_Dc")
private String seDc;
/**
* 检查项目名称
*/
@TableField("examItemName")
private String examItemName;
/**
* 报告状态
*/
@TableField(value = "reportstatus")
private String reportstatus;
/**
* 申请日期年月日时分秒
*/
@TableField(value = "applicationDate")
private LocalDateTime applicationDate;
/**
* dicom文件上传时间
*/
@TableField(value = "uploadDate")
private LocalDateTime uploadDate;
/**
* 机构名称
*/
@TableField(value = "orgName")
private String orgName;
/**
* 机构ID
*/
@TableField(value = "orgId")
private String orgId;
/**
* 上级判读机构id列表orgid1,orgid2,orgid3
*/
@TableField(value = "highLevelOrgId")
private String highLevelOrgId;
/**
* 创建时间年月日时分秒
*/
@TableField(value = "createDate")
private LocalDateTime createDate;
/**
* 检查所见
*/
@TableField(value = "examDescription")
private String examDescription;
/**
* 诊断结论
*/
@TableField(value = "diagResults")
private String diagResults;
/**
* 下诊断结论的时间年月日时分秒
*/
@TableField(value = "diagDate")
private LocalDateTime diagDate;
/**
* 诊断医生
*/
@TableField(value = "diagDoctor")
private String diagDoctor;
/**
* 审核医生
*/
@TableField(value = "reviewDoctor")
private String reviewDoctor;
/**
* 审核日期年月日时分秒
*/
@TableField(value = "reviewDate")
private LocalDateTime reviewDate;
/**
* 缩略图oss url, httP:oss url
*/
@TableField(value = "thumbnailImgUrl")
private String thumbnailImgUrl;
}

View File

@ -0,0 +1,48 @@
package cn.iocoder.yudao.module.tblist.dal.mysql.patientexamlist;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.tblist.dal.dataobject.patientexamlist.PatientexamlistDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.tblist.controller.admin.patientexamlist.vo.*;
/**
* PACS检查列表 Mapper
*
* @author 李晓东
*/
@Mapper
public interface PatientexamlistMapper extends BaseMapperX<PatientexamlistDO> {
default PageResult<PatientexamlistDO> selectPage(PatientexamlistPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PatientexamlistDO>()
.eqIfPresent(PatientexamlistDO::getExamId, reqVO.getExamId())
.likeIfPresent(PatientexamlistDO::getPName, reqVO.getPName())
.eqIfPresent(PatientexamlistDO::getGender, reqVO.getGender())
.eqIfPresent(PatientexamlistDO::getBirthday, reqVO.getBirthday())
.betweenIfPresent(PatientexamlistDO::getExamDate, reqVO.getExamDate())
.eqIfPresent(PatientexamlistDO::getDeviceType, reqVO.getDeviceType())
.eqIfPresent(PatientexamlistDO::getSeDc, reqVO.getSeDc())
.likeIfPresent(PatientexamlistDO::getExamItemName, reqVO.getExamItemName())
.eqIfPresent(PatientexamlistDO::getReportstatus, reqVO.getReportstatus())
.betweenIfPresent(PatientexamlistDO::getApplicationDate, reqVO.getApplicationDate())
.betweenIfPresent(PatientexamlistDO::getUploadDate, reqVO.getUploadDate())
.likeIfPresent(PatientexamlistDO::getOrgName, reqVO.getOrgName())
.eqIfPresent(PatientexamlistDO::getOrgId, reqVO.getOrgId())
.eqIfPresent(PatientexamlistDO::getHighLevelOrgId, reqVO.getHighLevelOrgId())
.betweenIfPresent(PatientexamlistDO::getCreateDate, reqVO.getCreateDate())
.eqIfPresent(PatientexamlistDO::getExamDescription, reqVO.getExamDescription())
.eqIfPresent(PatientexamlistDO::getDiagResults, reqVO.getDiagResults())
.betweenIfPresent(PatientexamlistDO::getDiagDate, reqVO.getDiagDate())
.eqIfPresent(PatientexamlistDO::getDiagDoctor, reqVO.getDiagDoctor())
.eqIfPresent(PatientexamlistDO::getReviewDoctor, reqVO.getReviewDoctor())
.betweenIfPresent(PatientexamlistDO::getReviewDate, reqVO.getReviewDate())
.eqIfPresent(PatientexamlistDO::getThumbnailImgUrl, reqVO.getThumbnailImgUrl())
.betweenIfPresent(PatientexamlistDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(PatientexamlistDO::getId));
}
}

View File

@ -0,0 +1,57 @@
package cn.iocoder.yudao.module.tblist.service.patientexamlist;
import java.util.*;
import cn.iocoder.yudao.module.tblist.controller.admin.patientexamlist.vo.*;
import cn.iocoder.yudao.module.tblist.dal.dataobject.patientexamlist.PatientexamlistDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import javax.validation.Valid;
/**
* PACS检查列表 Service 接口
*
* @author 李晓东
*/
public interface PatientexamlistService {
/**
* 创建PACS检查列表
*
* @param createReqVO 创建信息
* @return 编号
*/
String createPatientexamlist(@Valid PatientexamlistSaveReqVO createReqVO);
/**
* 更新PACS检查列表
*
* @param updateReqVO 更新信息
*/
void updatePatientexamlist(@Valid PatientexamlistSaveReqVO updateReqVO);
/**
* 删除PACS检查列表
*
* @param id 编号
*/
void deletePatientexamlist(String id);
/**
* 获得PACS检查列表
*
* @param id 编号
* @return PACS检查列表
*/
PatientexamlistDO getPatientexamlist(String id);
/**
* 获得PACS检查列表分页
*
* @param pageReqVO 分页查询
* @return PACS检查列表分页
*/
PageResult<PatientexamlistDO> getPatientexamlistPage(PatientexamlistPageReqVO pageReqVO);
}

View File

@ -0,0 +1,77 @@
package cn.iocoder.yudao.module.tblist.service.patientexamlist;
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.tblist.controller.admin.patientexamlist.vo.*;
import cn.iocoder.yudao.module.tblist.dal.dataobject.patientexamlist.PatientexamlistDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.tblist.dal.mysql.patientexamlist.PatientexamlistMapper;
import javax.annotation.Resource;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
/**
* PACS检查列表 Service 实现类
*
* @author 李晓东
*/
@Service
@Validated
public class PatientexamlistServiceImpl implements PatientexamlistService {
@Resource
private PatientexamlistMapper patientexamlistMapper;
@Override
public String createPatientexamlist(PatientexamlistSaveReqVO createReqVO) {
// 插入
PatientexamlistDO patientexamlist = BeanUtils.toBean(createReqVO, PatientexamlistDO.class);
patientexamlistMapper.insert(patientexamlist);
// 返回
return patientexamlist.getId();
}
@Override
public void updatePatientexamlist(PatientexamlistSaveReqVO updateReqVO) {
// 校验存在
validatePatientexamlistExists(updateReqVO.getId());
// 更新
PatientexamlistDO updateObj = BeanUtils.toBean(updateReqVO, PatientexamlistDO.class);
patientexamlistMapper.updateById(updateObj);
}
@Override
public void deletePatientexamlist(String id) {
// 校验存在
validatePatientexamlistExists(id);
// 删除
patientexamlistMapper.deleteById(id);
}
private void validatePatientexamlistExists(String id) {
if (patientexamlistMapper.selectById(id) == null) {
throw exception(new ErrorCode(101,"查询不到列表"));
}
}
@Override
public PatientexamlistDO getPatientexamlist(String id) {
return patientexamlistMapper.selectById(id);
}
@Override
public PageResult<PatientexamlistDO> getPatientexamlistPage(PatientexamlistPageReqVO pageReqVO) {
return patientexamlistMapper.selectPage(pageReqVO);
}
}

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.tblist.dal.mysql.patientexamlist.PatientexamlistMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -21,6 +21,11 @@
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<dependencies>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-tblist-biz</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-system-biz</artifactId>

View File

@ -45,14 +45,14 @@ spring:
primary: master
datasource:
master:
url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
username: root
password: 1234
url: jdbc:mysql://114.55.171.231:3306/cloudpacs?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
username: admin
password: flowadmin
slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改
lazy: true # 开启懒加载,保证启动速度
url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
username: root
password: 1234
url: jdbc:mysql://114.55.171.231:3306/cloudpacs?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
username: admin
password: flowadmin
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
redis:

View File

@ -47,23 +47,23 @@ spring:
primary: master
datasource:
master:
url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
url: jdbc:mysql://114.55.171.231:3306/cloudpacs?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
# url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=true&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # MySQL Connector/J 5.X 连接的示例
# url: jdbc:postgresql://127.0.0.1:5432/ruoyi-vue-pro # PostgreSQL 连接的示例
# url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例
# url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=ruoyi-vue-pro;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true;useUnicode=true;characterEncoding=utf-8 # SQLServer 连接的示例
# url: jdbc:dm://127.0.0.1:5236?schema=RUOYI_VUE_PRO # DM 连接的示例
username: root
password: 1234
username: admin
password: flowadmin
# username: sa # SQL Server 连接的示例
# password: Yudao@2024 # SQL Server 连接的示例
# username: SYSDBA # DM 连接的示例
# password: SYSDBA001 # DM 连接的示例
slave: # 模拟从库,可根据自己需要修改
lazy: true # 开启懒加载,保证启动速度
url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
username: root
password: 1234
url: jdbc:mysql://114.55.171.231:3306/cloudpacs?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
username: admin
password: flowadmin
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
redis: