静态心电

This commit is contained in:
Flow 2025-07-21 17:30:59 +08:00
parent 96db73ade9
commit 05c2e0aeed
19 changed files with 1121 additions and 0 deletions

View File

@ -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<Long> createStaticdata(@Valid @RequestBody StaticdataSaveReqVO createReqVO) {
return success(staticdataService.createStaticdata(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新静态心电数据")
public CommonResult<Boolean> updateStaticdata(@Valid @RequestBody StaticdataSaveReqVO updateReqVO) {
staticdataService.updateStaticdata(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除静态心电数据")
@Parameter(name = "id", description = "编号", required = true)
public CommonResult<Boolean> deleteStaticdata(@RequestParam("id") Long id) {
staticdataService.deleteStaticdata(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除静态心电数据")
public CommonResult<Boolean> deleteStaticdataList(@RequestParam("ids") List<Long> ids) {
staticdataService.deleteStaticdataListByIds(ids);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得静态心电数据")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<StaticdataRespVO> getStaticdata(@RequestParam("id") Long id) {
StaticdataDO staticdata = staticdataService.getStaticdata(id);
return success(BeanUtils.toBean(staticdata, StaticdataRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得静态心电数据分页")
public CommonResult<PageResult<StaticdataRespVO>> getStaticdataPage(@Valid StaticdataPageReqVO pageReqVO) {
PageResult<StaticdataDO> 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<StaticdataDO> list = staticdataService.getStaticdataPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "静态心电数据.xls", "数据", StaticdataRespVO.class,
BeanUtils.toBean(list, StaticdataRespVO.class));
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<Long> createStaticecg(@Valid @RequestBody StaticecgSaveReqVO createReqVO) {
return success(staticecgService.createStaticecg(createReqVO));
}
@PostMapping("/insert-ecg-patient-data")
@Operation(summary = "批量新增ECG患者数据")
@ApiAccessLog(operateType = CREATE)
public CommonResult<Boolean> insertEcgPatientData(@Valid @RequestBody List<StaticecgSaveReqVO> createReqVOList) {
staticecgService.insertEcgPatientDataList(createReqVOList);
return success(true);
}
@PutMapping("/update")
@Operation(summary = "更新静态心电图数据")
public CommonResult<Boolean> updateStaticecg(@Valid @RequestBody StaticecgSaveReqVO updateReqVO) {
staticecgService.updateStaticecg(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除静态心电图数据")
@Parameter(name = "id", description = "编号", required = true)
public CommonResult<Boolean> deleteStaticecg(@RequestParam("id") Long id) {
staticecgService.deleteStaticecg(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除静态心电图数据")
public CommonResult<Boolean> deleteStaticecgList(@RequestParam("ids") List<Long> ids) {
staticecgService.deleteStaticecgListByIds(ids);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得静态心电图数据")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<StaticecgRespVO> getStaticecg(@RequestParam("id") Long id) {
StaticecgDO staticecg = staticecgService.getStaticecg(id);
return success(BeanUtils.toBean(staticecg, StaticecgRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得静态心电图数据分页")
public CommonResult<PageResult<StaticecgRespVO>> getStaticecgPage(@Valid StaticecgPageReqVO pageReqVO) {
PageResult<StaticecgDO> 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<StaticecgDO> list = staticecgService.getStaticecgPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "静态心电图数据.xls", "数据", StaticecgRespVO.class,
BeanUtils.toBean(list, StaticecgRespVO.class));
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 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;
}

View File

@ -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") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 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;
}

View File

@ -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<StaticdataDO> {
default PageResult<StaticdataDO> selectPage(StaticdataPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<StaticdataDO>()
.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));
}
}

View File

@ -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<StaticecgDO> {
default PageResult<StaticecgDO> selectPage(StaticecgPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<StaticecgDO>()
.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));
}
}

View File

@ -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<Long> ids);
/**
* 获得静态心电数据
*
* @param id 编号
* @return 静态心电数据
*/
StaticdataDO getStaticdata(Long id);
/**
* 获得静态心电数据分页
*
* @param pageReqVO 分页查询
* @return 静态心电数据分页
*/
PageResult<StaticdataDO> getStaticdataPage(StaticdataPageReqVO pageReqVO);
}

View File

@ -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<Long> ids) {
// 校验存在
validateStaticdataExists(ids);
// 删除
staticdataMapper.deleteByIds(ids);
}
private void validateStaticdataExists(List<Long> ids) {
List<StaticdataDO> 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<StaticdataDO> getStaticdataPage(StaticdataPageReqVO pageReqVO) {
return staticdataMapper.selectPage(pageReqVO);
}
}

View File

@ -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<Long> ids);
/**
* 获得静态心电图数据
*
* @param id 编号
* @return 静态心电图数据
*/
StaticecgDO getStaticecg(Long id);
/**
* 获得静态心电图数据分页
*
* @param pageReqVO 分页查询
* @return 静态心电图数据分页
*/
PageResult<StaticecgDO> getStaticecgPage(StaticecgPageReqVO pageReqVO);
/**
* 批量插入ECG患者数据
*
* @param createReqVOList 批量创建信息
*/
void insertEcgPatientDataList(List<StaticecgSaveReqVO> createReqVOList);
}

View File

@ -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<Long> ids) {
// 校验存在
validateStaticecgExists(ids);
// 删除
staticecgMapper.deleteByIds(ids);
}
private void validateStaticecgExists(List<Long> ids) {
List<StaticecgDO> 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<StaticecgDO> getStaticecgPage(StaticecgPageReqVO pageReqVO) {
return staticecgMapper.selectPage(pageReqVO);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void insertEcgPatientDataList(List<StaticecgSaveReqVO> createReqVOList) {
if (CollUtil.isEmpty(createReqVOList)) {
return;
}
// 批量转换为 DO 对象
List<StaticecgDO> 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);
}
}

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.system.dal.mysql.staticdata.StaticdataMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

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.system.dal.mysql.staticecg.StaticecgMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -285,6 +285,8 @@ yudao:
- ecgdyndata #忽略动态心电数据表
- tb_abpm #忽略abpm表
- tb_abpmdata #忽略abpmdata表
- tb_staticdata #忽略静态心电数据表
- tb_staticecg #忽略静态心电图数据表
ignore-caches:
- user_role_ids
- permission_menu_ids