| | |
| | | package cn.lihu.jh.module.ecg.controller.admin.jobrecord; |
| | | |
| | | import cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordStatisticDO; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | |
| | | BeanUtils.toBean(list, JobRecordRespVO.class)); |
| | | } |
| | | |
| | | @GetMapping("/job-statistic") |
| | | @Operation(summary = "å·¥ä½éç»è®¡") |
| | | @PreAuthorize("@ss.hasPermission('ecg:job-record:statistic')") |
| | | public CommonResult<List<JobRecordStatisticVO>> getJobStatistic(@Valid JobRecordPageReqVO pageReqVO) { |
| | | List<JobRecordStatisticDO> statisticDOList = jobRecordService.getJobStatistic(pageReqVO.getJobTime()[0], pageReqVO.getJobTime()[1]); |
| | | return success(BeanUtils.toBean(statisticDOList, JobRecordStatisticVO.class)); |
| | | } |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Schema(description = "管çåå° - å·¥ä½ç»è®¡ Response VO") |
| | | @Data |
| | | @ExcelIgnoreUnannotated |
| | | public class JobRecordStatisticVO { |
| | | |
| | | @Schema(description = "ä½ä¸ç±»å", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| | | @ExcelProperty("ä½ä¸ç±»å") |
| | | private Integer jobType; |
| | | |
| | | @Schema(description = "å»çç¼å·", requiredMode = Schema.RequiredMode.REQUIRED, example = "24197") |
| | | @ExcelProperty("å»çç¼å·") |
| | | private Long docId; |
| | | |
| | | @Schema(description = "å»çåç§°", example = "èµµå
") |
| | | @ExcelProperty("å»çåç§°") |
| | | private String docName; |
| | | |
| | | @Schema(description = "å计", example = "9") |
| | | @ExcelProperty("æ°é") |
| | | private Integer jobCount; |
| | | |
| | | @Schema(description = "年度", example = "2024") |
| | | @ExcelProperty("年度") |
| | | private Integer year; |
| | | |
| | | @Schema(description = "æä»½", example = "9") |
| | | @ExcelProperty("æä»½") |
| | | private Integer month; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package cn.lihu.jh.module.ecg.dal.dataobject.jobrecord; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class JobRecordStatisticDO { |
| | | |
| | | private Integer jobType; |
| | | |
| | | private Long docId; |
| | | |
| | | private String docName; |
| | | |
| | | private Integer jobCount; |
| | | |
| | | private Integer year; |
| | | |
| | | private Integer month; |
| | | } |
| | |
| | | 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.jobrecord.JobRecordDO; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordStatisticDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.*; |
| | | import org.apache.ibatis.annotations.Param; |
| | |
| | | |
| | | @Select("SELECT count(1) FROM lihu.job_record where pat_id=#{patId} and TO_DAYS(job_time)=TO_DAYS(#{jobTime}) and job_type=#{jobType} ") |
| | | Integer getPatientJobNum(@Param("patId") String patId, @Param("jobTime") LocalDateTime jobTime, @Param("jobType") Integer jobType ); |
| | | |
| | | @Select("select year(job_time) as year, month(job_time) as month, doc_id, doc_name, job_type, count(1) as job_count from lihu.job_record " + |
| | | "where job_time >= #{jobTimeFrom} and job_time < #{jobTimeTo} \n" + |
| | | "group by year(job_time), month(job_time), doc_id, job_type;") |
| | | List<JobRecordStatisticDO> getJobStatistic(@Param("jobTimeFrom") LocalDateTime jobTimeFrom, @Param("jobTimeTo") LocalDateTime jobTimeTo); |
| | | } |
| | |
| | | package cn.lihu.jh.module.ecg.service.jobrecord; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.*; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordDO; |
| | | import cn.lihu.jh.framework.common.pojo.PageResult; |
| | | import cn.lihu.jh.framework.common.pojo.PageParam; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordStatisticDO; |
| | | |
| | | import javax.validation.Valid; |
| | | |
| | |
| | | */ |
| | | PageResult<JobRecordDO> getJobRecordPage(JobRecordPageReqVO pageReqVO); |
| | | |
| | | /** |
| | | * ä½ä¸ç»è®¡ |
| | | * @param jobTimeFrom |
| | | * @param jobTimeTo |
| | | * @return |
| | | */ |
| | | List<JobRecordStatisticDO> getJobStatistic(LocalDateTime jobTimeFrom, LocalDateTime jobTimeTo); |
| | | } |
| | |
| | | package cn.lihu.jh.module.ecg.service.jobrecord; |
| | | |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordStatisticDO; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.*; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordDO; |
| | |
| | | return jobRecordMapper.selectPage(pageReqVO); |
| | | } |
| | | |
| | | @Override |
| | | public List<JobRecordStatisticDO> getJobStatistic(LocalDateTime jobTimeFrom, LocalDateTime jobTimeTo) { |
| | | |
| | | return jobRecordMapper.getJobStatistic(jobTimeFrom, jobTimeTo); |
| | | } |
| | | |
| | | } |