From d9e1a1327d2d75e138f12e61c5faa155752be955 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期五, 13 九月 2024 18:13:14 +0800 Subject: [PATCH] 作业统计 完成 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/jobrecord/JobRecordServiceImpl.java | 8 ++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/JobRecordController.java | 11 +++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/jobrecord/JobRecordService.java | 9 ++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordStatisticVO.java | 38 +++++++++++++++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java | 8 +++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordStatisticDO.java | 22 +++++++++++ 6 files changed, 94 insertions(+), 2 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/JobRecordController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/JobRecordController.java index 2830e19..e4a17eb 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/JobRecordController.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/JobRecordController.java @@ -1,6 +1,7 @@ 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; @@ -105,4 +106,12 @@ BeanUtils.toBean(list, JobRecordRespVO.class)); } -} \ No newline at end of file + @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)); + } +} + diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordStatisticVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordStatisticVO.java new file mode 100644 index 0000000..f56f48a --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordStatisticVO.java @@ -0,0 +1,38 @@ +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; +} diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordStatisticDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordStatisticDO.java new file mode 100644 index 0000000..dcb5efc --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordStatisticDO.java @@ -0,0 +1,22 @@ +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; +} diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java index 26afeeb..0536dff 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java @@ -7,6 +7,7 @@ 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; @@ -42,4 +43,9 @@ @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 ); -} \ No newline at end of file + + @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); +} diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/jobrecord/JobRecordService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/jobrecord/JobRecordService.java index 95ea801..55af757 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/jobrecord/JobRecordService.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/jobrecord/JobRecordService.java @@ -1,10 +1,12 @@ 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; @@ -53,4 +55,11 @@ */ PageResult<JobRecordDO> getJobRecordPage(JobRecordPageReqVO pageReqVO); + /** + * 浣滀笟缁熻 + * @param jobTimeFrom + * @param jobTimeTo + * @return + */ + List<JobRecordStatisticDO> getJobStatistic(LocalDateTime jobTimeFrom, LocalDateTime jobTimeTo); } \ 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/jobrecord/JobRecordServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/jobrecord/JobRecordServiceImpl.java index 5da1ab8..a04aeb5 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/jobrecord/JobRecordServiceImpl.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/jobrecord/JobRecordServiceImpl.java @@ -1,9 +1,11 @@ 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; @@ -72,4 +74,10 @@ return jobRecordMapper.selectPage(pageReqVO); } + @Override + public List<JobRecordStatisticDO> getJobStatistic(LocalDateTime jobTimeFrom, LocalDateTime jobTimeTo) { + + return jobRecordMapper.getJobStatistic(jobTimeFrom, jobTimeTo); + } + } \ No newline at end of file -- Gitblit v1.9.3