diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/StaticdataController.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/StaticdataController.java new file mode 100644 index 0000000..8bca44f --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/StaticdataController.java @@ -0,0 +1,97 @@ +package cn.iocoder.yudao.module.system.controller.admin.staticdata; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +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 javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +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.system.controller.admin.staticdata.vo.*; +import cn.iocoder.yudao.module.system.dal.dataobject.staticdata.StaticdataDO; +import cn.iocoder.yudao.module.system.service.staticdata.StaticdataService; + +@Tag(name = "管理后台 - 静态心电数据") +@RestController +@RequestMapping("/system/staticdata") +@Validated +public class StaticdataController { + + @Resource + private StaticdataService staticdataService; + + @PostMapping("/create") + @Operation(summary = "创建静态心电数据") + public CommonResult createStaticdata(@Valid @RequestBody StaticdataSaveReqVO createReqVO) { + return success(staticdataService.createStaticdata(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新静态心电数据") + public CommonResult updateStaticdata(@Valid @RequestBody StaticdataSaveReqVO updateReqVO) { + staticdataService.updateStaticdata(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除静态心电数据") + @Parameter(name = "id", description = "编号", required = true) + public CommonResult deleteStaticdata(@RequestParam("id") Long id) { + staticdataService.deleteStaticdata(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除静态心电数据") + public CommonResult deleteStaticdataList(@RequestParam("ids") List ids) { + staticdataService.deleteStaticdataListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得静态心电数据") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getStaticdata(@RequestParam("id") Long id) { + StaticdataDO staticdata = staticdataService.getStaticdata(id); + return success(BeanUtils.toBean(staticdata, StaticdataRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得静态心电数据分页") + public CommonResult> getStaticdataPage(@Valid StaticdataPageReqVO pageReqVO) { + PageResult pageResult = staticdataService.getStaticdataPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, StaticdataRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出静态心电数据 Excel") + @ApiAccessLog(operateType = EXPORT) + public void exportStaticdataExcel(@Valid StaticdataPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = staticdataService.getStaticdataPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "静态心电数据.xls", "数据", StaticdataRespVO.class, + BeanUtils.toBean(list, StaticdataRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/vo/StaticdataPageReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/vo/StaticdataPageReqVO.java new file mode 100644 index 0000000..d83272c --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/vo/StaticdataPageReqVO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.system.controller.admin.staticdata.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 = "管理后台 - 静态心电数据分页 Request VO") +@Data +public class StaticdataPageReqVO extends PageParam { + + @Schema(description = "患者注册ID", example = "20055") + private String regid; + + @Schema(description = "检查ID", example = "23132") + private String examid; + + @Schema(description = "采集时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] collecttime; + + @Schema(description = "设备ID", example = "16901") + private String deviceid; + + @Schema(description = "设备名称", example = "赵六") + private String devicename; + + @Schema(description = "心电数据") + private String ecgdata; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createtime; + + @Schema(description = "更新时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] updatedtime; + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/vo/StaticdataRespVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/vo/StaticdataRespVO.java new file mode 100644 index 0000000..0b83652 --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/vo/StaticdataRespVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.system.controller.admin.staticdata.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 静态心电数据 Response VO") +@Data +@ExcelIgnoreUnannotated +public class StaticdataRespVO { + + @Schema(description = "自增主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7806") + @ExcelProperty("自增主键ID") + private Long id; + + @Schema(description = "患者注册ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20055") + @ExcelProperty("患者注册ID") + private String regid; + + @Schema(description = "检查ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23132") + @ExcelProperty("检查ID") + private String examid; + + @Schema(description = "采集时间") + @ExcelProperty("采集时间") + private LocalDateTime collecttime; + + @Schema(description = "设备ID", example = "16901") + @ExcelProperty("设备ID") + private String deviceid; + + @Schema(description = "设备名称", example = "赵六") + @ExcelProperty("设备名称") + private String devicename; + + @Schema(description = "心电数据") + @ExcelProperty("心电数据") + private String ecgdata; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createtime; + + @Schema(description = "更新时间") + @ExcelProperty("更新时间") + private LocalDateTime updatedtime; + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/vo/StaticdataSaveReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/vo/StaticdataSaveReqVO.java new file mode 100644 index 0000000..41a7498 --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticdata/vo/StaticdataSaveReqVO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.system.controller.admin.staticdata.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 静态心电数据新增/修改 Request VO") +@Data +public class StaticdataSaveReqVO { + + @Schema(description = "自增主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7806") + private Long id; + + @Schema(description = "患者注册ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20055") + @NotEmpty(message = "患者注册ID不能为空") + private String regid; + + @Schema(description = "检查ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23132") + @NotEmpty(message = "检查ID不能为空") + private String examid; + + @Schema(description = "采集时间") + private LocalDateTime collecttime; + + @Schema(description = "设备ID", example = "16901") + private String deviceid; + + @Schema(description = "设备名称", example = "赵六") + private String devicename; + + @Schema(description = "心电数据") + private String ecgdata; + + @Schema(description = "创建时间") + private LocalDateTime createtime; + + @Schema(description = "更新时间") + private LocalDateTime updatedtime; + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/StaticecgController.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/StaticecgController.java new file mode 100644 index 0000000..b83c717 --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/StaticecgController.java @@ -0,0 +1,105 @@ +package cn.iocoder.yudao.module.system.controller.admin.staticecg; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +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 javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +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.system.controller.admin.staticecg.vo.*; +import cn.iocoder.yudao.module.system.dal.dataobject.staticecg.StaticecgDO; +import cn.iocoder.yudao.module.system.service.staticecg.StaticecgService; + +@Tag(name = "管理后台 - 静态心电图数据") +@RestController +@RequestMapping("/system/staticecg") +@Validated +public class StaticecgController { + + @Resource + private StaticecgService staticecgService; + + @PostMapping("/create") + @Operation(summary = "创建静态心电图数据") + public CommonResult createStaticecg(@Valid @RequestBody StaticecgSaveReqVO createReqVO) { + return success(staticecgService.createStaticecg(createReqVO)); + } + + @PostMapping("/insert-ecg-patient-data") + @Operation(summary = "批量新增ECG患者数据") + @ApiAccessLog(operateType = CREATE) + public CommonResult insertEcgPatientData(@Valid @RequestBody List createReqVOList) { + staticecgService.insertEcgPatientDataList(createReqVOList); + return success(true); + } + + @PutMapping("/update") + @Operation(summary = "更新静态心电图数据") + public CommonResult updateStaticecg(@Valid @RequestBody StaticecgSaveReqVO updateReqVO) { + staticecgService.updateStaticecg(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除静态心电图数据") + @Parameter(name = "id", description = "编号", required = true) + public CommonResult deleteStaticecg(@RequestParam("id") Long id) { + staticecgService.deleteStaticecg(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除静态心电图数据") + public CommonResult deleteStaticecgList(@RequestParam("ids") List ids) { + staticecgService.deleteStaticecgListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得静态心电图数据") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getStaticecg(@RequestParam("id") Long id) { + StaticecgDO staticecg = staticecgService.getStaticecg(id); + return success(BeanUtils.toBean(staticecg, StaticecgRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得静态心电图数据分页") + public CommonResult> getStaticecgPage(@Valid StaticecgPageReqVO pageReqVO) { + PageResult pageResult = staticecgService.getStaticecgPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, StaticecgRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出静态心电图数据 Excel") + @ApiAccessLog(operateType = EXPORT) + public void exportStaticecgExcel(@Valid StaticecgPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = staticecgService.getStaticecgPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "静态心电图数据.xls", "数据", StaticecgRespVO.class, + BeanUtils.toBean(list, StaticecgRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/vo/StaticecgPageReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/vo/StaticecgPageReqVO.java new file mode 100644 index 0000000..c717564 --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/vo/StaticecgPageReqVO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.system.controller.admin.staticecg.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 = "管理后台 - 静态心电图数据分页 Request VO") +@Data +public class StaticecgPageReqVO extends PageParam { + + @Schema(description = "检查ID", example = "32301") + private String examid; + + @Schema(description = "患者注册ID", example = "11304") + private String regid; + + @Schema(description = "姓名", example = "张三") + private String name; + + @Schema(description = "性别") + private String gender; + + @Schema(description = "年龄") + private String age; + + @Schema(description = "机构ID", example = "1419") + private String orgid; + + @Schema(description = "机构名称", example = "芋艿") + private String orgname; + + @Schema(description = "管理机构") + private String managerorg; + + @Schema(description = "设备ID", example = "1550") + private String deviceid; + + @Schema(description = "设备名称", example = "赵六") + private String devicename; + + @Schema(description = "状态:0未申请,1已申请", example = "1") + private Integer status; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createtime; + + @Schema(description = "更新时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] updatetime; + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/vo/StaticecgRespVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/vo/StaticecgRespVO.java new file mode 100644 index 0000000..514124c --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/vo/StaticecgRespVO.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.system.controller.admin.staticecg.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 静态心电图数据 Response VO") +@Data +@ExcelIgnoreUnannotated +public class StaticecgRespVO { + + @Schema(description = "自增主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21338") + @ExcelProperty("自增主键ID") + private Long id; + + @Schema(description = "检查ID", example = "32301") + @ExcelProperty("检查ID") + private String examid; + + @Schema(description = "患者注册ID", example = "11304") + @ExcelProperty("患者注册ID") + private String regid; + + @Schema(description = "姓名", example = "张三") + @ExcelProperty("姓名") + private String name; + + @Schema(description = "性别") + @ExcelProperty("性别") + private String gender; + + @Schema(description = "年龄") + @ExcelProperty("年龄") + private String age; + + @Schema(description = "机构ID", example = "1419") + @ExcelProperty("机构ID") + private String orgid; + + @Schema(description = "机构名称", example = "芋艿") + @ExcelProperty("机构名称") + private String orgname; + + @Schema(description = "管理机构") + @ExcelProperty("管理机构") + private String managerorg; + + @Schema(description = "设备ID", example = "1550") + @ExcelProperty("设备ID") + private String deviceid; + + @Schema(description = "设备名称", example = "赵六") + @ExcelProperty("设备名称") + private String devicename; + + @Schema(description = "状态:0未申请,1已申请", example = "1") + @ExcelProperty("状态:0未申请,1已申请") + private Integer status; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createtime; + + @Schema(description = "更新时间") + @ExcelProperty("更新时间") + private LocalDateTime updatetime; + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/vo/StaticecgSaveReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/vo/StaticecgSaveReqVO.java new file mode 100644 index 0000000..f31a128 --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/staticecg/vo/StaticecgSaveReqVO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.system.controller.admin.staticecg.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 静态心电图数据新增/修改 Request VO") +@Data +public class StaticecgSaveReqVO { + + @Schema(description = "自增主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21338") + private Long id; + + @Schema(description = "检查ID", example = "32301") + private String examid; + + @Schema(description = "患者注册ID", example = "11304") + private String regid; + + @Schema(description = "姓名", example = "张三") + private String name; + + @Schema(description = "性别") + private String gender; + + @Schema(description = "年龄") + private String age; + + @Schema(description = "机构ID", example = "1419") + private String orgid; + + @Schema(description = "机构名称", example = "芋艿") + private String orgname; + + @Schema(description = "管理机构") + private String managerorg; + + @Schema(description = "设备ID", example = "1550") + private String deviceid; + + @Schema(description = "设备名称", example = "赵六") + private String devicename; + + @Schema(description = "状态:0未申请,1已申请", example = "1") + private Integer status; + + @Schema(description = "创建时间") + private LocalDateTime createtime; + + @Schema(description = "更新时间") + private LocalDateTime updatetime; + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/staticdata/StaticdataDO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/staticdata/StaticdataDO.java new file mode 100644 index 0000000..5c24eb3 --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/staticdata/StaticdataDO.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.system.dal.staticdata; + +import lombok.*; +import java.util.*; +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; + +/** + * 静态心电数据 DO + * + * @author 艾康菲 + */ +@TableName("tb_staticdata") +@KeySequence("tb_staticdata_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class StaticdataDO{ + + /** + * 自增主键ID + */ + @TableId + private Long id; + /** + * 患者注册ID + */ + @TableField("regid") + private String regid; + /** + * 检查ID + */ + @TableField("examid") + private String examid; + /** + * 采集时间 + */ + @TableField("collecttime") + private LocalDateTime collecttime; + /** + * 设备ID + */ + @TableField("deviceid") + private String deviceid; + /** + * 设备名称 + */ + @TableField("devicename") + private String devicename; + /** + * 心电数据 + */ + @TableField("ecgdata") + private String ecgdata; + /** + * 创建时间 + */ + @TableField("createtime") + private LocalDateTime createtime; + /** + * 更新时间 + */ + @TableField("updatedtime") + private LocalDateTime updatedtime; + + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/staticecg/StaticecgDO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/staticecg/StaticecgDO.java new file mode 100644 index 0000000..3dc33e0 --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/staticecg/StaticecgDO.java @@ -0,0 +1,96 @@ +package cn.iocoder.yudao.module.system.dal.dataobject.staticecg; + +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; + +/** + * 静态心电图数据 DO + * + * @author 艾康菲 + */ +@TableName("tb_staticecg") +@KeySequence("tb_staticecg_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class StaticecgDO{ + + /** + * 自增主键ID + */ + @TableId + private Long id; + /** + * 检查ID + */ + @TableField("examid") + private String examid; + /** + * 患者注册ID + */ + @TableField("regid") + private String regid; + /** + * 姓名 + */ + @TableField("name") + private String name; + /** + * 性别 + */ + @TableField("gender") + private String gender; + /** + * 年龄 + */ + @TableField("age") + private String age; + /** + * 机构ID + */ + @TableField("orgid") + private String orgid; + /** + * 机构名称 + */ + @TableField("orgname") + private String orgname; + /** + * 管理机构 + */ + @TableField("managerorg") + private String managerorg; + /** + * 设备ID + */ + @TableField("deviceid") + private String deviceid; + /** + * 设备名称 + */ + @TableField("devicename") + private String devicename; + /** + * 状态:0未申请,1已申请 + */ + @TableField("status") + private Integer status; + /** + * 创建时间 + */ + @TableField("createtime") + private LocalDateTime createtime; + /** + * 更新时间 + */ + @TableField("updatetime") + private LocalDateTime updatetime; + + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/staticdata/StaticdataMapper.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/staticdata/StaticdataMapper.java new file mode 100644 index 0000000..bed21cf --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/staticdata/StaticdataMapper.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.system.dal.mysql.staticdata; + +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.system.dal.dataobject.staticdata.StaticdataDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.system.controller.admin.staticdata.vo.*; + +/** + * 静态心电数据 Mapper + * + * @author 艾康菲 + */ +@Mapper +public interface StaticdataMapper extends BaseMapperX { + + default PageResult selectPage(StaticdataPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(StaticdataDO::getRegid, reqVO.getRegid()) + .eqIfPresent(StaticdataDO::getExamid, reqVO.getExamid()) + .betweenIfPresent(StaticdataDO::getCollecttime, reqVO.getCollecttime()) + .eqIfPresent(StaticdataDO::getDeviceid, reqVO.getDeviceid()) + .likeIfPresent(StaticdataDO::getDevicename, reqVO.getDevicename()) + .eqIfPresent(StaticdataDO::getEcgdata, reqVO.getEcgdata()) + .betweenIfPresent(StaticdataDO::getCreatetime, reqVO.getCreatetime()) + .betweenIfPresent(StaticdataDO::getUpdatedtime, reqVO.getUpdatedtime()) + .orderByDesc(StaticdataDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/staticecg/StaticecgMapper.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/staticecg/StaticecgMapper.java new file mode 100644 index 0000000..0b31c2a --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/staticecg/StaticecgMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.system.dal.mysql.staticecg; + +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.system.dal.dataobject.staticecg.StaticecgDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.system.controller.admin.staticecg.vo.*; + +/** + * 静态心电图数据 Mapper + * + * @author 艾康菲 + */ +@Mapper +public interface StaticecgMapper extends BaseMapperX { + + default PageResult selectPage(StaticecgPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(StaticecgDO::getExamid, reqVO.getExamid()) + .eqIfPresent(StaticecgDO::getRegid, reqVO.getRegid()) + .likeIfPresent(StaticecgDO::getName, reqVO.getName()) + .eqIfPresent(StaticecgDO::getGender, reqVO.getGender()) + .eqIfPresent(StaticecgDO::getAge, reqVO.getAge()) + .eqIfPresent(StaticecgDO::getOrgid, reqVO.getOrgid()) + .likeIfPresent(StaticecgDO::getOrgname, reqVO.getOrgname()) + .eqIfPresent(StaticecgDO::getManagerorg, reqVO.getManagerorg()) + .eqIfPresent(StaticecgDO::getDeviceid, reqVO.getDeviceid()) + .likeIfPresent(StaticecgDO::getDevicename, reqVO.getDevicename()) + .eqIfPresent(StaticecgDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(StaticecgDO::getCreatetime, reqVO.getCreatetime()) + .betweenIfPresent(StaticecgDO::getUpdatetime, reqVO.getUpdatetime()) + .orderByDesc(StaticecgDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticdata/StaticdataService.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticdata/StaticdataService.java new file mode 100644 index 0000000..112de0d --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticdata/StaticdataService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.system.service.staticdata; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.system.controller.admin.staticdata.vo.*; +import cn.iocoder.yudao.module.system.dal.dataobject.staticdata.StaticdataDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 静态心电数据 Service 接口 + * + * @author 艾康菲 + */ +public interface StaticdataService { + + /** + * 创建静态心电数据 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createStaticdata(@Valid StaticdataSaveReqVO createReqVO); + + /** + * 更新静态心电数据 + * + * @param updateReqVO 更新信息 + */ + void updateStaticdata(@Valid StaticdataSaveReqVO updateReqVO); + + /** + * 删除静态心电数据 + * + * @param id 编号 + */ + void deleteStaticdata(Long id); + + /** + * 批量删除静态心电数据 + * + * @param ids 编号 + */ + void deleteStaticdataListByIds(List ids); + + /** + * 获得静态心电数据 + * + * @param id 编号 + * @return 静态心电数据 + */ + StaticdataDO getStaticdata(Long id); + + /** + * 获得静态心电数据分页 + * + * @param pageReqVO 分页查询 + * @return 静态心电数据分页 + */ + PageResult getStaticdataPage(StaticdataPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticdata/StaticdataServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticdata/StaticdataServiceImpl.java new file mode 100644 index 0000000..0f82452 --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticdata/StaticdataServiceImpl.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.system.service.staticdata; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.system.controller.admin.staticdata.vo.*; +import cn.iocoder.yudao.module.system.dal.dataobject.staticdata.StaticdataDO; +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.system.dal.mysql.staticdata.StaticdataMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; + +/** + * 静态心电数据 Service 实现类 + * + * @author 艾康菲 + */ +@Service +@Validated +public class StaticdataServiceImpl implements StaticdataService { + + @Resource + private StaticdataMapper staticdataMapper; + + @Override + public Long createStaticdata(StaticdataSaveReqVO createReqVO) { + // 插入 + StaticdataDO staticdata = BeanUtils.toBean(createReqVO, StaticdataDO.class); + staticdataMapper.insert(staticdata); + // 返回 + return staticdata.getId(); + } + + @Override + public void updateStaticdata(StaticdataSaveReqVO updateReqVO) { + // 校验存在 + validateStaticdataExists(updateReqVO.getId()); + // 更新 + StaticdataDO updateObj = BeanUtils.toBean(updateReqVO, StaticdataDO.class); + staticdataMapper.updateById(updateObj); + } + + @Override + public void deleteStaticdata(Long id) { + // 校验存在 + validateStaticdataExists(id); + // 删除 + staticdataMapper.deleteById(id); + } + + @Override + public void deleteStaticdataListByIds(List ids) { + // 校验存在 + validateStaticdataExists(ids); + // 删除 + staticdataMapper.deleteByIds(ids); + } + + private void validateStaticdataExists(List ids) { + List list = staticdataMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + } + } + + private void validateStaticdataExists(Long id) { + if (staticdataMapper.selectById(id) == null) { + } + } + + @Override + public StaticdataDO getStaticdata(Long id) { + return staticdataMapper.selectById(id); + } + + @Override + public PageResult getStaticdataPage(StaticdataPageReqVO pageReqVO) { + return staticdataMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgService.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgService.java new file mode 100644 index 0000000..7d93bec --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgService.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.system.service.staticecg; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.system.controller.admin.staticecg.vo.*; +import cn.iocoder.yudao.module.system.dal.dataobject.staticecg.StaticecgDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 静态心电图数据 Service 接口 + * + * @author 艾康菲 + */ +public interface StaticecgService { + + /** + * 创建静态心电图数据 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createStaticecg(@Valid StaticecgSaveReqVO createReqVO); + + /** + * 更新静态心电图数据 + * + * @param updateReqVO 更新信息 + */ + void updateStaticecg(@Valid StaticecgSaveReqVO updateReqVO); + + /** + * 删除静态心电图数据 + * + * @param id 编号 + */ + void deleteStaticecg(Long id); + + /** + * 批量删除静态心电图数据 + * + * @param ids 编号 + */ + void deleteStaticecgListByIds(List ids); + + /** + * 获得静态心电图数据 + * + * @param id 编号 + * @return 静态心电图数据 + */ + StaticecgDO getStaticecg(Long id); + + /** + * 获得静态心电图数据分页 + * + * @param pageReqVO 分页查询 + * @return 静态心电图数据分页 + */ + PageResult getStaticecgPage(StaticecgPageReqVO pageReqVO); + + /** + * 批量插入ECG患者数据 + * + * @param createReqVOList 批量创建信息 + */ + void insertEcgPatientDataList(List createReqVOList); + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgServiceImpl.java new file mode 100644 index 0000000..8b0ed29 --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/staticecg/StaticecgServiceImpl.java @@ -0,0 +1,112 @@ +package cn.iocoder.yudao.module.system.service.staticecg; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.system.controller.admin.staticecg.vo.*; +import cn.iocoder.yudao.module.system.dal.dataobject.staticecg.StaticecgDO; +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.system.dal.mysql.staticecg.StaticecgMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; + +/** + * 静态心电图数据 Service 实现类 + * + * @author 艾康菲 + */ +@Service +@Validated +public class StaticecgServiceImpl implements StaticecgService { + + @Resource + private StaticecgMapper staticecgMapper; + + @Override + public Long createStaticecg(StaticecgSaveReqVO createReqVO) { + // 插入 + StaticecgDO staticecg = BeanUtils.toBean(createReqVO, StaticecgDO.class); + staticecgMapper.insert(staticecg); + // 返回 + return staticecg.getId(); + } + + @Override + public void updateStaticecg(StaticecgSaveReqVO updateReqVO) { + // 校验存在 + validateStaticecgExists(updateReqVO.getId()); + // 更新 + StaticecgDO updateObj = BeanUtils.toBean(updateReqVO, StaticecgDO.class); + staticecgMapper.updateById(updateObj); + } + + @Override + public void deleteStaticecg(Long id) { + // 校验存在 + validateStaticecgExists(id); + // 删除 + staticecgMapper.deleteById(id); + } + + @Override + public void deleteStaticecgListByIds(List ids) { + // 校验存在 + validateStaticecgExists(ids); + // 删除 + staticecgMapper.deleteByIds(ids); + } + + private void validateStaticecgExists(List ids) { + List list = staticecgMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + } + } + + private void validateStaticecgExists(Long id) { + if (staticecgMapper.selectById(id) == null) { + } + } + + @Override + public StaticecgDO getStaticecg(Long id) { + return staticecgMapper.selectById(id); + } + + @Override + public PageResult getStaticecgPage(StaticecgPageReqVO pageReqVO) { + return staticecgMapper.selectPage(pageReqVO); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void insertEcgPatientDataList(List createReqVOList) { + if (CollUtil.isEmpty(createReqVOList)) { + return; + } + // 批量转换为 DO 对象 + List staticecgList = BeanUtils.toBean(createReqVOList, StaticecgDO.class); + + // 为每条记录设置默认值 + for (StaticecgDO staticecg : staticecgList) { + // 生成UUID作为examid,去除横线 + String examId = UUID.randomUUID().toString().replaceAll("-", ""); + staticecg.setExamid(examId); + // 设置默认状态:0未申请 + staticecg.setStatus(0); + } + + // 批量插入 + staticecgMapper.insertBatch(staticecgList); + } + +} \ No newline at end of file diff --git a/yudao-module-system/src/main/resources/mapper/staticdata/StaticdataMapper.xml b/yudao-module-system/src/main/resources/mapper/staticdata/StaticdataMapper.xml new file mode 100644 index 0000000..b3fa4dc --- /dev/null +++ b/yudao-module-system/src/main/resources/mapper/staticdata/StaticdataMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-system/src/main/resources/mapper/staticecg/StaticecgMapper.xml b/yudao-module-system/src/main/resources/mapper/staticecg/StaticecgMapper.xml new file mode 100644 index 0000000..21a6c45 --- /dev/null +++ b/yudao-module-system/src/main/resources/mapper/staticecg/StaticecgMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml index e73f695..ef2c9b4 100644 --- a/yudao-server/src/main/resources/application.yaml +++ b/yudao-server/src/main/resources/application.yaml @@ -285,6 +285,8 @@ yudao: - ecgdyndata #忽略动态心电数据表 - tb_abpm #忽略abpm表 - tb_abpmdata #忽略abpmdata表 + - tb_staticdata #忽略静态心电数据表 + - tb_staticecg #忽略静态心电图数据表 ignore-caches: - user_role_ids - permission_menu_ids