|  |  | 
 |  |  | package cn.lihu.jh.module.ecg.dal.mysql.devmanage; | 
 |  |  |  | 
 |  |  | import java.time.LocalDate; | 
 |  |  | 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.devmanage.DeviceDO; | 
 |  |  | import org.apache.ibatis.annotations.Mapper; | 
 |  |  | import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceStatisticDO; | 
 |  |  | import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordStatisticDO; | 
 |  |  | import org.apache.ibatis.annotations.*; | 
 |  |  | import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  | 
 |  |  |     default PageResult<DeviceDO> selectPage(DevicePageReqVO reqVO) { | 
 |  |  |         return selectPage(reqVO, new LambdaQueryWrapperX<DeviceDO>() | 
 |  |  |                 .eqIfPresent(DeviceDO::getDevId, reqVO.getDevId()) | 
 |  |  |                 .eqIfPresent(DeviceDO::getDevCodeIntrinsic, reqVO.getDevCodeIntrinsic()) | 
 |  |  |                 .eqIfPresent(DeviceDO::getDevCodeHosp, reqVO.getDevCodeHosp()) | 
 |  |  |                 .eqIfPresent(DeviceDO::getDevCodeDept, reqVO.getDevCodeDept()) | 
 |  |  |                 .inIfPresent(DeviceDO::getState, reqVO.getState()) | 
 |  |  |                 .eqIfPresent(DeviceDO::getCategory, reqVO.getCategory()) | 
 |  |  |                 .eqIfPresent(DeviceDO::getBrand, reqVO.getBrand()) | 
 |  |  |                 .eqIfPresent(DeviceDO::getModel, reqVO.getModel()) | 
 |  |  |                 .betweenIfPresent(DeviceDO::getPurchaseDate, reqVO.getPurchaseDate()) | 
 |  |  |                 .betweenIfPresent(DeviceDO::getCreateTime, reqVO.getCreateTime()) | 
 |  |  |                 .orderByDesc(DeviceDO::getId)); | 
 |  |  |                 .orderByAsc(DeviceDO::getDevId)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 |  |  |     @Select("select * from lihu.device where dev_id=#{devId}") | 
 |  |  |     @Results({ | 
 |  |  |             @Result(property = "patDetails", column = "pat_details", typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class) | 
 |  |  |     }) | 
 |  |  |     DeviceDO getDeviceByDevId(@Param("devId") String devId); | 
 |  |  |  | 
 |  |  |     @Update("update lihu.device set state=#{state}, state_date=#{stateDate}, comment=#{comment} where dev_id=#{devId}") | 
 |  |  |     Integer updateDevState(@Param("devId") String devId, @Param("state") Integer state, @Param("stateDate") LocalDate stateDate, @Param("comment") String comment); | 
 |  |  |  | 
 |  |  |     @Select("<script>" + | 
 |  |  |             "select category, state, count(1) as dev_count from lihu.device " + | 
 |  |  |             " <where> deleted = 0 " + | 
 |  |  |             "   <if test=\"category != null and category != ''\"> " + | 
 |  |  |             "     and category = #{category} " + | 
 |  |  |             "   </if> " + | 
 |  |  |             "   <if test=\"brand != null and brand != ''\"> " + | 
 |  |  |             "     and brand = #{brand} " + | 
 |  |  |             "   </if> " + | 
 |  |  |             "   <if test=\"model != null and model != ''\"> " + | 
 |  |  |             "     and model = #{model} " + | 
 |  |  |             "   </if> " + | 
 |  |  |             " </where> " + | 
 |  |  |             " group by category, state " + | 
 |  |  |             " order by category " + | 
 |  |  |             "</script>") | 
 |  |  |     List<DeviceStatisticDO> getDevStatistic(DevicePageReqVO pageReqVO); | 
 |  |  |  | 
 |  |  | } |