jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java
@@ -4,6 +4,7 @@ import cn.lihu.jh.framework.common.enums.CommonStatusEnum; import cn.lihu.jh.module.ecg.controller.admin.queue.vo.QueueSaveReqVO; import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO; import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueStatisticDO; import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomStatisticsDO; import cn.lihu.jh.module.ecg.feign.RemoteDataService; import cn.lihu.jh.module.ecg.feign.RestApiReqBodyVo; @@ -215,6 +216,12 @@ List<RoomStatisticsDO> roomStatisticsList = roomService.roomStatistics(); roomStatisticsList.size(); List statusList = new ArrayList<Byte>(); statusList.add((byte)20); statusList.add((byte)30); List<QueueStatisticDO> queueStatisticDOList = queueService.queueStatistics(statusList); queueStatisticDOList.size(); return success("hello"); } } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/QueueStatisticDO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package cn.lihu.jh.module.ecg.dal.dataobject.queue; import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; /** * æé DO * * @author èéæºç */ @Data public class QueueStatisticDO { private Byte status; private Integer totalInStatus; } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java
@@ -4,8 +4,14 @@ 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 cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueStatisticDO; import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomStatisticsDO; import org.apache.ibatis.annotations.Mapper; import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; /** * æé Mapper @@ -32,4 +38,13 @@ .orderByDesc(QueueDO::getId)); } @Select("<script>" + "SELECT status, count(1) as total_in_status FROM lihu.queue where status in (" + " <foreach collection='statusList' separator=',' item='status'>" + " #{status} " + " </foreach> )" + " group by status; " +"</script>") List<QueueStatisticDO> queueStatistic(@Param("statusList")List<Byte> statusList); } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java
@@ -3,8 +3,11 @@ 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.module.ecg.dal.dataobject.queue.QueueStatisticDO; import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomStatisticsDO; import javax.validation.Valid; import java.util.List; /** * æé Service æ¥å£ @@ -51,4 +54,6 @@ */ PageResult<QueueDO> getqueuePage(QueuePageReqVO pageReqVO); List<QueueStatisticDO> queueStatistics(List<Byte> statusList); } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java
@@ -1,5 +1,6 @@ package cn.lihu.jh.module.ecg.service.queue; import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueStatisticDO; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -11,6 +12,8 @@ import cn.lihu.jh.module.ecg.dal.mysql.queue.queueMapper; import javax.annotation.Resource; import java.util.List; import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*; @@ -69,4 +72,9 @@ return queueMapper.selectPage(pageReqVO); } @Override public List<QueueStatisticDO> queueStatistics(List<Byte> statusList) { return queueMapper.queueStatistic(statusList); } } sql/mysql/jh.sql
@@ -61,8 +61,7 @@ `updater` varchar(10) DEFAULT '' COMMENT 'æ´æ°è ', `update_time` datetime NOT NULL COMMENT 'æ´æ°æ¶é´', `deleted` bit(1) DEFAULT 0 COMMENT 'å 餿 è®°', PRIMARY KEY (`id`), UNIQUE KEY `idx_seq_id` (`seq_num`) PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='æé表';