diff --git a/pom.xml b/pom.xml
index 3f19cfe42..9507c2b43 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,6 +15,7 @@
yudao-module-system
yudao-module-infra
+ yudao-module-tblist
diff --git a/yudao-module-tblist/pom.xml b/yudao-module-tblist/pom.xml
new file mode 100644
index 000000000..85db40292
--- /dev/null
+++ b/yudao-module-tblist/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ cn.iocoder.boot
+ yudao
+ ${revision}
+
+
+ yudao-module-tblist
+ pom
+
+ ${project.artifactId}
+
+
+ demo 模块,主要实现 XXX、YYY、ZZZ 等功能。
+
+
+ yudao-module-tblist-api
+ yudao-module-tblist-biz
+
+
+
+
\ No newline at end of file
diff --git a/yudao-module-tblist/yudao-module-tblist-api/pom.xml b/yudao-module-tblist/yudao-module-tblist-api/pom.xml
new file mode 100644
index 000000000..db119e321
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-api/pom.xml
@@ -0,0 +1,33 @@
+
+
+
+ cn.iocoder.boot
+ yudao-module-tblist
+ ${revision}
+
+ 4.0.0
+ yudao-module-tblist-api
+ jar
+
+ ${project.artifactId}
+
+ system 模块 API,暴露给其它模块调用
+
+
+
+
+ cn.iocoder.boot
+ yudao-common
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+ true
+
+
+
+
diff --git a/yudao-module-tblist/yudao-module-tblist-api/src/main/java/cn/iocoder/yudao/module/tblist/enums/ErrorCodeConstants_手动操作.java b/yudao-module-tblist/yudao-module-tblist-api/src/main/java/cn/iocoder/yudao/module/tblist/enums/ErrorCodeConstants_手动操作.java
new file mode 100644
index 000000000..e69de29bb
diff --git a/yudao-module-tblist/yudao-module-tblist-biz/pom.xml b/yudao-module-tblist/yudao-module-tblist-biz/pom.xml
new file mode 100644
index 000000000..0c95f4b70
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-biz/pom.xml
@@ -0,0 +1,125 @@
+
+
+
+ cn.iocoder.boot
+ yudao-module-tblist
+ ${revision}
+
+ 4.0.0
+ yudao-module-tblist-biz
+ jar
+
+ ${project.artifactId}
+
+ system 模块下,我们放通用业务,支撑上层的核心业务。
+ 例如说:用户、部门、权限、数据字典等等
+
+
+
+
+ cn.iocoder.boot
+ yudao-module-tblist-api
+ ${revision}
+
+
+ cn.iocoder.boot
+ yudao-module-infra-api
+ ${revision}
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-biz-data-permission
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-biz-tenant
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-biz-ip
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-security
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-mybatis
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-redis
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-job
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-mq
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-excel
+
+
+
+ org.springframework.boot
+ spring-boot-starter-mail
+
+
+
+
+ com.xingyuv
+ spring-boot-starter-justauth
+
+
+
+ com.github.binarywang
+ wx-java-mp-spring-boot-starter
+
+
+ com.github.binarywang
+ wx-java-miniapp-spring-boot-starter
+
+
+
+ com.aliyun
+ aliyun-java-sdk-core
+
+
+ com.aliyun
+ aliyun-java-sdk-dysmsapi
+
+
+ com.tencentcloudapi
+ tencentcloud-sdk-java-sms
+
+
+
+ com.xingyuv
+ spring-boot-starter-captcha-plus
+
+
+
+
diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/PatientexamlistController.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/PatientexamlistController.java
new file mode 100644
index 000000000..e39bdb382
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/PatientexamlistController.java
@@ -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 createPatientexamlist(@Valid @RequestBody PatientexamlistSaveReqVO createReqVO) {
+ return success(patientexamlistService.createPatientexamlist(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新PACS检查列表")
+ @PreAuthorize("@ss.hasPermission('tblist:patientexamlist:update')")
+ public CommonResult 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 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 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> getPatientexamlistPage(@Valid PatientexamlistPageReqVO pageReqVO) {
+ PageResult 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 list = patientexamlistService.getPatientexamlistPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "PACS检查列表.xls", "数据", PatientexamlistRespVO.class,
+ BeanUtils.toBean(list, PatientexamlistRespVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistPageReqVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistPageReqVO.java
new file mode 100644
index 000000000..760903955
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistPageReqVO.java
@@ -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;
+
+}
\ No newline at end of file
diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistRespVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistRespVO.java
new file mode 100644
index 000000000..125aed557
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistRespVO.java
@@ -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;
+
+}
\ No newline at end of file
diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistSaveReqVO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistSaveReqVO.java
new file mode 100644
index 000000000..282e61ad5
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/controller/admin/patientexamlist/vo/PatientexamlistSaveReqVO.java
@@ -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;
+
+}
\ No newline at end of file
diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/patientexamlist/PatientexamlistDO.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/patientexamlist/PatientexamlistDO.java
new file mode 100644
index 000000000..f5dee51b3
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/dataobject/patientexamlist/PatientexamlistDO.java
@@ -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") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 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;
+
+}
\ No newline at end of file
diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/mysql/patientexamlist/PatientexamlistMapper.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/mysql/patientexamlist/PatientexamlistMapper.java
new file mode 100644
index 000000000..0dfd759a1
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/dal/mysql/patientexamlist/PatientexamlistMapper.java
@@ -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 {
+
+ default PageResult selectPage(PatientexamlistPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .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));
+ }
+
+}
\ No newline at end of file
diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/patientexamlist/PatientexamlistService.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/patientexamlist/PatientexamlistService.java
new file mode 100644
index 000000000..002c6c357
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/patientexamlist/PatientexamlistService.java
@@ -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 getPatientexamlistPage(PatientexamlistPageReqVO pageReqVO);
+
+}
\ No newline at end of file
diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/patientexamlist/PatientexamlistServiceImpl.java b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/patientexamlist/PatientexamlistServiceImpl.java
new file mode 100644
index 000000000..0ac248322
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/java/cn/iocoder/yudao/module/tblist/service/patientexamlist/PatientexamlistServiceImpl.java
@@ -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 getPatientexamlistPage(PatientexamlistPageReqVO pageReqVO) {
+ return patientexamlistMapper.selectPage(pageReqVO);
+ }
+
+}
\ No newline at end of file
diff --git a/yudao-module-tblist/yudao-module-tblist-biz/src/main/resources/mapper/patientexamlist/PatientexamlistMapper.xml b/yudao-module-tblist/yudao-module-tblist-biz/src/main/resources/mapper/patientexamlist/PatientexamlistMapper.xml
new file mode 100644
index 000000000..f1d383c54
--- /dev/null
+++ b/yudao-module-tblist/yudao-module-tblist-biz/src/main/resources/mapper/patientexamlist/PatientexamlistMapper.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yudao-server/pom.xml b/yudao-server/pom.xml
index bc850b590..352f1f1d2 100644
--- a/yudao-server/pom.xml
+++ b/yudao-server/pom.xml
@@ -21,6 +21,11 @@
https://github.com/YunaiV/ruoyi-vue-pro
+
+ cn.iocoder.boot
+ yudao-module-tblist-biz
+ ${revision}
+
cn.iocoder.boot
yudao-module-system-biz
diff --git a/yudao-server/src/main/resources/application-dev.yaml b/yudao-server/src/main/resources/application-dev.yaml
index 73abf4bc7..cf0fb10d6 100644
--- a/yudao-server/src/main/resources/application-dev.yaml
+++ b/yudao-server/src/main/resources/application-dev.yaml
@@ -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:
diff --git a/yudao-server/src/main/resources/application-local.yaml b/yudao-server/src/main/resources/application-local.yaml
index 873ccf29a..e23c1d097 100644
--- a/yudao-server/src/main/resources/application-local.yaml
+++ b/yudao-server/src/main/resources/application-local.yaml
@@ -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: