eight
2024-11-07 e36c1e2363e36a69a3cc8ccbc00d28b16f926abd
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java
@@ -1,16 +1,17 @@
package cn.lihu.jh.module.ecg.dal.mysql.jobrecord;
import java.time.LocalDateTime;
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.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;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
/**
 * 工作记录 Mapper
@@ -22,7 +23,8 @@
    default PageResult<JobRecordDO> selectPage(JobRecordPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<JobRecordDO>()
                .eqIfPresent(JobRecordDO::getJobType, reqVO.getJobType())
                //.eqIfPresent(JobRecordDO::getJobType, reqVO.getJobType())
                .inIfPresent(JobRecordDO::getJobType, reqVO.getJobType())
                .eqIfPresent(JobRecordDO::getDocId, reqVO.getDocId())
                .likeIfPresent(JobRecordDO::getDocName, reqVO.getDocName())
                .eqIfPresent(JobRecordDO::getDevId, reqVO.getDevId())
@@ -36,6 +38,21 @@
                .orderByDesc(JobRecordDO::getId));
    }
    @Select("SELECT * FROM lihu.job_record where rent_id=#{rentId} and job_type=#{jobType} and doc_id=#{docId} limit 1")
    JobRecordDO selectByRentIdJobTypeDocId(@Param("rentId") Long rentId, @Param("jobType") Integer jobType, @Param("docId") Long docId );
}
    @Select("<script> " +
            "SELECT * FROM lihu.job_record " +
            " where rent_id=#{rentId} and doc_id=#{docId} and job_type in (" +
                    " <foreach collection='jobTypeList' separator=',' item='jobType'>" +
                    "  #{jobType} " +
                    " </foreach> )" +
            " limit 1;" +
            " </script>")
    JobRecordDO selectByRentIdDocId(@Param("rentId") Long rentId, @Param("docId") Long docId, @Param("jobTypeList") List<Integer> jobTypeList );
    @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);
}