package cn.besteam.modules.medical.mapper; import cn.besteam.modules.medical.dto.ApiStatisticsDTO; import cn.besteam.modules.medical.dto.MwCollectRecordOpsDTO; import cn.besteam.modules.medical.entity.MwCollectRecord; import cn.besteam.modules.medical.vo.*; import cn.besteam.modules.report.dto.DisposalMonthlyReportSumDto; import cn.besteam.modules.report.dto.DisposalMonthlyReportVoItemDto; import cn.besteam.modules.report.vo.RankStatisticsVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; /** * @Description: APP-版本表 * @author: besteam * @date: 2020-04-25 * @version: V1.0 */ public interface MwCollectRecordMapper extends BaseMapper { /** * 收集记录、医废追溯 * * @param page * @param dto * @return */ IPage queryPageCollectList(Page page, @Param("dto") MwCollectRecordOpsDTO dto); List queryPageCollectList( @Param("dto") MwCollectRecordOpsDTO dto); /** * 入库记录 * * @param page * @param dto * @return */ IPage queryPageStoreList(Page page, @Param("dto") MwCollectRecordOpsDTO dto); List queryPageStoreList( @Param("dto") MwCollectRecordOpsDTO dto); /** * 出库记录 * * @param page * @param dto * @return */ IPage queryPageCheckoutList(Page page, @Param("dto") MwCollectRecordOpsDTO dto); List queryPageCheckoutList( @Param("dto") MwCollectRecordOpsDTO dto); /** * 补录记录 * * @param page * @param dto * @return */ IPage queryPageSupplyList(Page page, @Param("dto") MwCollectRecordOpsDTO dto); List queryPageSupplyList(@Param("dto") MwCollectRecordOpsDTO dto); /** * 数据恢复 * * @param page * @param dto * @return */ IPage queryPageDeleteList(Page page, @Param("dto") MwCollectRecordOpsDTO dto); List queryPageDeleteList( @Param("dto") MwCollectRecordOpsDTO dto); /** * 获取记录详情 * * @param id * @return */ MwCollectRecordVO getRecordDetail(@Param("id") Integer id); /** * 获取此次出库操作医废收集类型统计 * * @param idList * @param wasteTypeStr * @param status * @param delFlag * @param auditStatus * @return */ ApiMedicalStatisticsVO getStatistic(@Param("idList") List idList, @Param("wasteTypeStr") String wasteTypeStr, @Param("status") Integer status, @Param("delFlag") Integer delFlag, @Param("auditStatus") Integer auditStatus); /** * 获取所有科室数量和重量 * * @param dto * @param wasteTypeStrSet * @param departmentName * @param userId * @param delFlag * @param auditStatus * @return */ List getNumberAndWeightStatistics(@Param("param") ApiStatisticsDTO dto, @Param("wasteTypeStrSet") Set wasteTypeStrSet, @Param("departmentName") String departmentName, @Param("userId") Integer userId, @Param("delFlag") Integer delFlag, @Param("auditStatus") Integer auditStatus); /** * 获取当前登陆用户所有医废类型数量和重量统计 * * @param dto * @param wasteTypeStrSet * @param userId * @param delFlag * @param auditStatus * @return */ List getWasteNumberAndWeightStatistics(@Param("param") ApiStatisticsDTO dto, @Param("wasteTypeStrSet") Set wasteTypeStrSet, @Param("userId") Integer userId, @Param("delFlag") Integer delFlag, @Param("auditStatus") Integer auditStatus); /** * 入库统计 * * @param dto * @param wasteTypeStrSet * @param userId * @param delFlag * @param auditStatus * @return */ List getStoreStatistics(@Param("hospitalId")Integer hospitalId,@Param("param") ApiStatisticsDTO dto, @Param("wasteTypeStrSet") Set wasteTypeStrSet, @Param("userId") Integer userId, @Param("delFlag") Integer delFlag, @Param("auditStatus") Integer auditStatus); /** * 出库统计 * * @param dto * @param wasteTypeStrSet * @param userId * @param delFlag * @param auditStatus * @return */ List getCheckoutStatistics(@Param("hospitalId")Integer hospitalId,@Param("param") ApiStatisticsDTO dto, @Param("wasteTypeStrSet") Set wasteTypeStrSet, @Param("userId") Integer userId, @Param("delFlag") Integer delFlag, @Param("auditStatus") Integer auditStatus); /** * 获取未装箱清单列表 * * @param warehouseId * @param userId * @return */ List getUnBoxingList(@Param("warehouseId") Integer warehouseId, @Param("userId") Integer userId); List getUnBoxingListNew(@Param("warehouseId") Integer warehouseId, @Param("userId") Integer userId, @Param("hospitalId")Integer hospitalId); /** * 获取未装箱清单列表(箱装) * @param warehouseId * @param userId * @param hospitalId * @return */ List getUnBoxingListTotal(@Param("warehouseId") Integer warehouseId, @Param("userId") Integer userId, @Param("hospitalId")Integer hospitalId); /** * 产废排行统计 * * @param page * @param departmentIdList * @param startTime * @param endTime * @return */ IPage getRankStatisticsList(Page page, @Param("departmentIdList") List departmentIdList, @Param("startTime") Date startTime, @Param("endTime") Date endTime,@Param("typeName")String typeName); /** * 区域产废排行统计 * * @param page * @param departmentIdList * @param startTime * @param endTime * @return */ IPage getRegionStatisticsList(Page page, @Param("departmentIdList") List departmentIdList, @Param("startTime") Date startTime, @Param("endTime") Date endTime); /** * 未出医废定时器使用-获取科室最后收集时间 * * @return */ List getDepartmentLastCollectList(); /** * 未出医废定时器使用-获取医院最后收集时间 * * @return */ List getHospitalLastCollectList(); /** * 关联科室查看最后一次产废数据 * @param officeIds * @return */ NonCollectMedicalWasteVO getDepartmentLastCollect(@Param("officeIds") String officeIds); /** * 获取科室产废排行榜 * * @param departmentIdList * @param startTime * @param endTime * @return */ List getOfficeRankStatistics(@Param("departmentIdList") List departmentIdList, @Param("startTime") Date startTime, @Param("endTime") Date endTime); /** * 获取收集轨迹 * @param dto * @return */ List getCollectTrajectory( @Param("pageNo")Integer pageNo, @Param("pageSize")Integer pageSize, @Param("dto") MwCollectCollectTrajectoryParamVO dto); /** * 获取收集轨迹 总条数 * @param dto * @return */ int getCollectTrajectoryCount(@Param("dto") MwCollectCollectTrajectoryParamVO dto); /** * 获取医废排行榜(小程序端) * @param dto * @return */ List> getMedicalStatistics(@Param("dto") MwCollectCollectTrajectoryParamVO dto); /** * 获取出库运输信息 * @param hospitalIds * @return */ List getTransitInfoList(@Param("hospitalIds")List hospitalIds); /** * 获取匹配的医院数据 * @param departmentId * @param startTime * @param endTime * @param keyWord * @param dictTypeId * @return */ List getDisposalMonthlyReport(@Param("departmentId") Integer departmentId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("keyWord") List keyWord, @Param("dictTypeId") List dictTypeId,@Param("hospitalIds") List hospitalIds); List getDisposalMonthlyReportSum(@Param("hospitalIds") List hospitalIds, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("status") Integer status, @Param("dictTypeId") Integer dictTypeId); Double getTotalNonCheckout(@Param("departmentIdList") List departmentIdList, @Param("wasteTypes") List wasteTypes); }