From 1ed6dd5f36a8a9d36a6660f36d1ef49601c53488 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期一, 12 八月 2024 14:13:26 +0800 Subject: [PATCH] 新增 排队 查看功能 --- jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java | 3 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java | 95 +++++++++ jh-server/src/main/resources/application-local.yaml | 12 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueRespVO.java | 67 ++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/queueDO.java | 75 +++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java | 75 +++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueSaveReqVO.java | 58 +++++ sql/mysql/jh.sql | 7 jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/queue/queueMapper.xml | 12 + jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java | 37 +++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queuePageReqVO.java | 55 +++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java | 56 +++++ 12 files changed, 541 insertions(+), 11 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java index 970d307..98827aa 100644 --- a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java +++ b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java @@ -10,5 +10,6 @@ public interface ErrorCodeConstants { ErrorCode APPOINTMENT_NOT_EXISTS = new ErrorCode(1_010_000_000, "棰勭害涓嶅瓨鍦�"); - ErrorCode ROOM_NOT_EXISTS = new ErrorCode(1_010_000_001, "璇婂鍜岃瘖鐤楀簥涓嶅瓨鍦�"); + ErrorCode ROOM_NOT_EXISTS = new ErrorCode(1_010_001_000, "璇婂鍜岃瘖鐤楀簥涓嶅瓨鍦�"); + ErrorCode QUEUE_NOT_EXISTS = new ErrorCode(1_010_002_000, "鎺掗槦涓嶅瓨鍦�"); } diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java new file mode 100644 index 0000000..70dede7 --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java @@ -0,0 +1,95 @@ +package cn.lihu.jh.module.ecg.controller.admin.queue; + +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.lihu.jh.framework.common.pojo.PageParam; +import cn.lihu.jh.framework.common.pojo.PageResult; +import cn.lihu.jh.framework.common.pojo.CommonResult; +import cn.lihu.jh.framework.common.util.object.BeanUtils; +import static cn.lihu.jh.framework.common.pojo.CommonResult.success; + +import cn.lihu.jh.framework.excel.core.util.ExcelUtils; + +import cn.lihu.jh.framework.apilog.core.annotation.ApiAccessLog; +import static cn.lihu.jh.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*; +import cn.lihu.jh.module.ecg.dal.dataobject.queue.queueDO; +import cn.lihu.jh.module.ecg.service.queue.queueService; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import javax.annotation.Resource; + +@Tag(name = "绠$悊鍚庡彴 - 鎺掗槦") +@RestController +@RequestMapping("/ecg/queue") +@Validated +public class queueController { + + @Resource + private queueService queueService; + + @PostMapping("/create") + @Operation(summary = "鍒涘缓鎺掗槦") + @PreAuthorize("@ss.hasPermission('ecg:queue:create')") + public CommonResult<Integer> createqueue(@Valid @RequestBody queueSaveReqVO createReqVO) { + return success(queueService.createqueue(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "鏇存柊鎺掗槦") + @PreAuthorize("@ss.hasPermission('ecg:queue:update')") + public CommonResult<Boolean> updatequeue(@Valid @RequestBody queueSaveReqVO updateReqVO) { + queueService.updatequeue(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "鍒犻櫎鎺掗槦") + @Parameter(name = "id", description = "缂栧彿", required = true) + @PreAuthorize("@ss.hasPermission('ecg:queue:delete')") + public CommonResult<Boolean> deletequeue(@RequestParam("id") Integer id) { + queueService.deletequeue(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "鑾峰緱鎺掗槦") + @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('ecg:queue:query')") + public CommonResult<queueRespVO> getqueue(@RequestParam("id") Integer id) { + queueDO queue = queueService.getqueue(id); + return success(BeanUtils.toBean(queue, queueRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "鑾峰緱鎺掗槦鍒嗛〉") + @PreAuthorize("@ss.hasPermission('ecg:queue:query')") + public CommonResult<PageResult<queueRespVO>> getqueuePage(@Valid queuePageReqVO pageReqVO) { + PageResult<queueDO> pageResult = queueService.getqueuePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, queueRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "瀵煎嚭鎺掗槦 Excel") + @PreAuthorize("@ss.hasPermission('ecg:queue:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportqueueExcel(@Valid queuePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List<queueDO> list = queueService.getqueuePage(pageReqVO).getList(); + // 瀵煎嚭 Excel + ExcelUtils.write(response, "鎺掗槦.xls", "鏁版嵁", queueRespVO.class, + BeanUtils.toBean(list, queueRespVO.class)); + } + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queuePageReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queuePageReqVO.java new file mode 100644 index 0000000..1a2c529 --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queuePageReqVO.java @@ -0,0 +1,55 @@ +package cn.lihu.jh.module.ecg.controller.admin.queue.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.lihu.jh.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.lihu.jh.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "绠$悊鍚庡彴 - 鎺掗槦鍒嗛〉 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class queuePageReqVO extends PageParam { + + @Schema(description = "鎮h�呯紪鍙�", example = "30473") + private String patId; + + @Schema(description = "鎮h�呭鍚�", example = "鑺嬭壙") + private String patName; + + @Schema(description = "鎮h�呮�у埆") + private Boolean patGender; + + @Schema(description = "棰勭害鏃堕棿娈�") + private Integer bookTimeslot; + + @Schema(description = "棰勭害妫�鏌ョ被鍨�", example = "1") + private Boolean bookCheckType; + + @Schema(description = "鎺掗槦搴忓彿") + private Integer seqNum; + + @Schema(description = "10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡", example = "1") + private Boolean status; + + @Schema(description = "杩囧彿鏍囪") + private Boolean passed; + + @Schema(description = "棰勭害杩囨湡鏍囪") + private Boolean expired; + + @Schema(description = "璇婂缂栧彿") + private String roomNum; + + @Schema(description = "璇婄枟搴婄紪鍙�") + private String bedNum; + + @Schema(description = "鍒涘缓鏃堕棿") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueRespVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueRespVO.java new file mode 100644 index 0000000..a6c75da --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueRespVO.java @@ -0,0 +1,67 @@ +package cn.lihu.jh.module.ecg.controller.admin.queue.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 queueRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21320") + @ExcelProperty("id") + private Integer id; + + @Schema(description = "鎮h�呯紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED, example = "30473") + @ExcelProperty("鎮h�呯紪鍙�") + private String patId; + + @Schema(description = "鎮h�呭鍚�", requiredMode = Schema.RequiredMode.REQUIRED, example = "鑺嬭壙") + @ExcelProperty("鎮h�呭鍚�") + private String patName; + + @Schema(description = "鎮h�呮�у埆") + @ExcelProperty("鎮h�呮�у埆") + private Boolean patGender; + + @Schema(description = "棰勭害鏃堕棿娈�", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("棰勭害鏃堕棿娈�") + private Integer bookTimeslot; + + @Schema(description = "棰勭害妫�鏌ョ被鍨�", example = "1") + @ExcelProperty("棰勭害妫�鏌ョ被鍨�") + private Boolean bookCheckType; + + @Schema(description = "鎺掗槦搴忓彿", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("鎺掗槦搴忓彿") + private Integer seqNum; + + @Schema(description = "10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡") + private Boolean status; + + @Schema(description = "杩囧彿鏍囪", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("杩囧彿鏍囪") + private Boolean passed; + + @Schema(description = "棰勭害杩囨湡鏍囪", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("棰勭害杩囨湡鏍囪") + private Boolean expired; + + @Schema(description = "璇婂缂栧彿") + @ExcelProperty("璇婂缂栧彿") + private String roomNum; + + @Schema(description = "璇婄枟搴婄紪鍙�") + @ExcelProperty("璇婄枟搴婄紪鍙�") + private String bedNum; + + @Schema(description = "鍒涘缓鏃堕棿", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("鍒涘缓鏃堕棿") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueSaveReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueSaveReqVO.java new file mode 100644 index 0000000..91eedcc --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueSaveReqVO.java @@ -0,0 +1,58 @@ +package cn.lihu.jh.module.ecg.controller.admin.queue.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.*; + + +@Schema(description = "绠$悊鍚庡彴 - 鎺掗槦鏂板/淇敼 Request VO") +@Data +public class queueSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21320") + private Integer id; + + @Schema(description = "鎮h�呯紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED, example = "30473") + @NotEmpty(message = "鎮h�呯紪鍙蜂笉鑳戒负绌�") + private String patId; + + @Schema(description = "鎮h�呭鍚�", requiredMode = Schema.RequiredMode.REQUIRED, example = "鑺嬭壙") + @NotEmpty(message = "鎮h�呭鍚嶄笉鑳戒负绌�") + private String patName; + + @Schema(description = "鎮h�呮�у埆") + private Boolean patGender; + + @Schema(description = "棰勭害鏃堕棿娈�", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "棰勭害鏃堕棿娈典笉鑳戒负绌�") + private Integer bookTimeslot; + + @Schema(description = "棰勭害妫�鏌ョ被鍨�", example = "1") + private Boolean bookCheckType; + + @Schema(description = "鎺掗槦搴忓彿", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "鎺掗槦搴忓彿涓嶈兘涓虹┖") + private Integer seqNum; + + @Schema(description = "10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡涓嶈兘涓虹┖") + private Boolean status; + + @Schema(description = "杩囧彿鏍囪", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "杩囧彿鏍囪涓嶈兘涓虹┖") + private Boolean passed; + + @Schema(description = "棰勭害杩囨湡鏍囪", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "棰勭害杩囨湡鏍囪涓嶈兘涓虹┖") + private Boolean expired; + + @Schema(description = "璇婂缂栧彿") + private String roomNum; + + @Schema(description = "璇婄枟搴婄紪鍙�") + private String bedNum; + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/queueDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/queueDO.java new file mode 100644 index 0000000..183d4ac --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/queueDO.java @@ -0,0 +1,75 @@ +package cn.lihu.jh.module.ecg.dal.dataobject.queue; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO; + +/** + * 鎺掗槦 DO + * + * @author 鑺嬮亾婧愮爜 + */ +@TableName("queue") +@KeySequence("queue_seq") // 鐢ㄤ簬 Oracle銆丳ostgreSQL銆並ingbase銆丏B2銆丠2 鏁版嵁搴撶殑涓婚敭鑷銆傚鏋滄槸 MySQL 绛夋暟鎹簱锛屽彲涓嶅啓銆� +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class queueDO extends BaseDO { + + /** + * id + */ + @TableId + private Integer id; + /** + * 鎮h�呯紪鍙� + */ + private String patId; + /** + * 鎮h�呭鍚� + */ + private String patName; + /** + * 鎮h�呮�у埆 + */ + private Boolean patGender; + /** + * 棰勭害鏃堕棿娈� + */ + private Integer bookTimeslot; + /** + * 棰勭害妫�鏌ョ被鍨� + */ + private Boolean bookCheckType; + /** + * 鎺掗槦搴忓彿 + */ + private Integer seqNum; + /** + * 10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡 + */ + private Boolean status; + /** + * 杩囧彿鏍囪 + */ + private Boolean passed; + /** + * 棰勭害杩囨湡鏍囪 + */ + private Boolean expired; + /** + * 璇婂缂栧彿 + */ + private String roomNum; + /** + * 璇婄枟搴婄紪鍙� + */ + private String bedNum; + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java new file mode 100644 index 0000000..19a33bc --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java @@ -0,0 +1,37 @@ +package cn.lihu.jh.module.ecg.dal.mysql.queue; + +import java.util.*; + +import cn.lihu.jh.framework.common.pojo.PageResult; +import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.lihu.jh.framework.mybatis.core.mapper.BaseMapperX; +import cn.lihu.jh.module.ecg.dal.dataobject.queue.queueDO; +import org.apache.ibatis.annotations.Mapper; +import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*; + +/** + * 鎺掗槦 Mapper + * + * @author 鑺嬮亾婧愮爜 + */ +@Mapper +public interface queueMapper extends BaseMapperX<queueDO> { + + default PageResult<queueDO> selectPage(queuePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX<queueDO>() + .eqIfPresent(queueDO::getPatId, reqVO.getPatId()) + .likeIfPresent(queueDO::getPatName, reqVO.getPatName()) + .eqIfPresent(queueDO::getPatGender, reqVO.getPatGender()) + .eqIfPresent(queueDO::getBookTimeslot, reqVO.getBookTimeslot()) + .eqIfPresent(queueDO::getBookCheckType, reqVO.getBookCheckType()) + .eqIfPresent(queueDO::getSeqNum, reqVO.getSeqNum()) + .eqIfPresent(queueDO::getStatus, reqVO.getStatus()) + .eqIfPresent(queueDO::getPassed, reqVO.getPassed()) + .eqIfPresent(queueDO::getExpired, reqVO.getExpired()) + .eqIfPresent(queueDO::getRoomNum, reqVO.getRoomNum()) + .eqIfPresent(queueDO::getBedNum, reqVO.getBedNum()) + .betweenIfPresent(queueDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(queueDO::getId)); + } + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java new file mode 100644 index 0000000..92afb62 --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java @@ -0,0 +1,56 @@ +package cn.lihu.jh.module.ecg.service.queue; + +import java.util.*; +import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*; +import cn.lihu.jh.module.ecg.dal.dataobject.queue.queueDO; +import cn.lihu.jh.framework.common.pojo.PageResult; +import cn.lihu.jh.framework.common.pojo.PageParam; + +import javax.validation.Valid; + +/** + * 鎺掗槦 Service 鎺ュ彛 + * + * @author 鑺嬮亾婧愮爜 + */ +public interface queueService { + + /** + * 鍒涘缓鎺掗槦 + * + * @param createReqVO 鍒涘缓淇℃伅 + * @return 缂栧彿 + */ + Integer createqueue(@Valid queueSaveReqVO createReqVO); + + /** + * 鏇存柊鎺掗槦 + * + * @param updateReqVO 鏇存柊淇℃伅 + */ + void updatequeue(@Valid queueSaveReqVO updateReqVO); + + /** + * 鍒犻櫎鎺掗槦 + * + * @param id 缂栧彿 + */ + void deletequeue(Integer id); + + /** + * 鑾峰緱鎺掗槦 + * + * @param id 缂栧彿 + * @return 鎺掗槦 + */ + queueDO getqueue(Integer id); + + /** + * 鑾峰緱鎺掗槦鍒嗛〉 + * + * @param pageReqVO 鍒嗛〉鏌ヨ + * @return 鎺掗槦鍒嗛〉 + */ + PageResult<queueDO> getqueuePage(queuePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java new file mode 100644 index 0000000..defd969 --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java @@ -0,0 +1,75 @@ +package cn.lihu.jh.module.ecg.service.queue; + +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*; +import cn.lihu.jh.module.ecg.dal.dataobject.queue.queueDO; +import cn.lihu.jh.framework.common.pojo.PageResult; +import cn.lihu.jh.framework.common.pojo.PageParam; +import cn.lihu.jh.framework.common.util.object.BeanUtils; + +import cn.lihu.jh.module.ecg.dal.mysql.queue.queueMapper; + +import javax.annotation.Resource; + +import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*; + +/** + * 鎺掗槦 Service 瀹炵幇绫� + * + * @author 鑺嬮亾婧愮爜 + */ +@Service +@Validated +public class queueServiceImpl implements queueService { + + @Resource + private queueMapper queueMapper; + + @Override + public Integer createqueue(queueSaveReqVO createReqVO) { + // 鎻掑叆 + queueDO queue = BeanUtils.toBean(createReqVO, queueDO.class); + queueMapper.insert(queue); + // 杩斿洖 + return queue.getId(); + } + + @Override + public void updatequeue(queueSaveReqVO updateReqVO) { + // 鏍¢獙瀛樺湪 + validatequeueExists(updateReqVO.getId()); + // 鏇存柊 + queueDO updateObj = BeanUtils.toBean(updateReqVO, queueDO.class); + queueMapper.updateById(updateObj); + } + + @Override + public void deletequeue(Integer id) { + // 鏍¢獙瀛樺湪 + validatequeueExists(id); + // 鍒犻櫎 + queueMapper.deleteById(id); + } + + private void validatequeueExists(Integer id) { + if (queueMapper.selectById(id) == null) { + throw exception(QUEUE_NOT_EXISTS); + } + } + + @Override + public queueDO getqueue(Integer id) { + return queueMapper.selectById(id); + } + + @Override + public PageResult<queueDO> getqueuePage(queuePageReqVO pageReqVO) { + return queueMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/queue/queueMapper.xml b/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/queue/queueMapper.xml new file mode 100644 index 0000000..278805f --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/queue/queueMapper.xml @@ -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.lihu.jh.module.ecg.dal.mysql.queue.queueMapper"> + + <!-- + 涓�鑸儏鍐典笅锛屽敖鍙兘浣跨敤 Mapper 杩涜 CRUD 澧炲垹鏀规煡鍗冲彲銆� + 鏃犳硶婊¤冻鐨勫満鏅紝渚嬪璇村琛ㄥ叧鑱旀煡璇紝鎵嶄娇鐢� XML 缂栧啓 SQL銆� + 浠g爜鐢熸垚鍣ㄦ殏鏃跺彧鐢熸垚 Mapper XML 鏂囦欢鏈韩锛屾洿澶氭帹鑽� MybatisX 蹇�熷紑鍙戞彃浠舵潵鐢熸垚鏌ヨ銆� + 鏂囨。鍙锛歨ttps://www.iocoder.cn/MyBatis/x-plugins/ + --> + +</mapper> \ No newline at end of file diff --git a/jh-server/src/main/resources/application-local.yaml b/jh-server/src/main/resources/application-local.yaml index 970b71c..ac5815c 100644 --- a/jh-server/src/main/resources/application-local.yaml +++ b/jh-server/src/main/resources/application-local.yaml @@ -50,7 +50,7 @@ primary: master datasource: master: - url: jdbc:mysql://rm-cn-lbj3spkaz000cx2o.rwlb.rds.aliyuncs.com:3306/lihu?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 杩炴帴鐨勭ず渚� + url: jdbc:mysql://116.62.18.175:6002/lihu?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 杩炴帴鐨勭ず渚� @@ -58,8 +58,8 @@ # url: jdbc:dm://127.0.0.1:5236?schema=RUOYI_VUE_PRO # DM 杩炴帴鐨勭ず渚� # url: jdbc:kingbase8://127.0.0.1:54321/test # 浜哄ぇ閲戜粨 KingbaseES 杩炴帴鐨勭ず渚� # url: jdbc:postgresql://127.0.0.1:5432/postgres # OpenGauss 杩炴帴鐨勭ず渚� - username: yinyu - password: Root@yinyu + username: hxsoft + password: Hxerp2000 # username: sa # SQL Server 杩炴帴鐨勭ず渚� # password: Jh@2024 # SQL Server 杩炴帴鐨勭ず渚� # username: SYSDBA # DM 杩炴帴鐨勭ず渚� @@ -68,9 +68,9 @@ # password: Jh@2024 # OpenGauss 杩炴帴鐨勭ず渚� slave: # 妯℃嫙浠庡簱锛屽彲鏍规嵁鑷繁闇�瑕佷慨鏀� lazy: true # 寮�鍚噿鍔犺浇锛屼繚璇佸惎鍔ㄩ�熷害 - url: jdbc:mysql://rm-cn-lbj3spkaz000cx2o.rwlb.rds.aliyuncs.com:3306/lihu?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 杩炴帴鐨勭ず渚� - username: yinyu - password: Root@yinyu + url: jdbc:mysql://116.62.18.175:6002/lihu?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 杩炴帴鐨勭ず渚� + username: hxsoft + password: Hxerp2000 # Redis 閰嶇疆銆俁edisson 榛樿鐨勯厤缃冻澶熶娇鐢紝涓�鑸笉闇�瑕佽繘琛岃皟浼� redis: diff --git a/sql/mysql/jh.sql b/sql/mysql/jh.sql index 61ccf03..eb88b04 100644 --- a/sql/mysql/jh.sql +++ b/sql/mysql/jh.sql @@ -47,10 +47,9 @@ `pat_id` varchar(30) NOT NULL COMMENT '鎮h�呯紪鍙�', `pat_name` varchar(10) NOT NULL COMMENT '鎮h�呭鍚�', `pat_gender` bit(1) DEFAULT NULL COMMENT '鎮h�呮�у埆', - `book_period_start` datetime NOT NULL COMMENT '棰勭害妫�鏌ユ椂闂存', - `book_period_end` datetime NOT NULL COMMENT '棰勭害妫�鏌ユ椂闂存', + `book_timeslot` int NOT NULL COMMENT '棰勭害鏃堕棿娈�', `book_check_type` tinyint(1) DEFAULT NULL COMMENT '棰勭害妫�鏌ョ被鍨�', - `seq_id` int NOT NULL COMMENT '鎺掗槦搴忓彿', + `seq_num` int NOT NULL COMMENT '鎺掗槦搴忓彿', `status` tinyint(1) NOT NULL COMMENT '10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡', `passed` tinyint(1) NOT NULL COMMENT '杩囧彿鏍囪', `expired` tinyint(1) NOT NULL COMMENT '棰勭害杩囨湡鏍囪', @@ -63,7 +62,7 @@ `update_time` datetime NOT NULL COMMENT '鏇存柊鏃堕棿', `deleted` bit(1) DEFAULT 0 COMMENT '鍒犻櫎鏍囪', PRIMARY KEY (`id`), - UNIQUE KEY `idx_seq_id` (`seq_id`) + UNIQUE KEY `idx_seq_id` (`seq_num`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='鎺掗槦琛�'; -- Gitblit v1.9.3