package com.ozs.pm.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ozs.base.domain.vo.BaseExpertVo; import com.ozs.pm.doman.PmDemand; import com.ozs.pm.doman.vo.requestVo.PmDemandReqVo; import com.ozs.pm.doman.vo.responseVo.StatisticalChartsResVo; import org.apache.ibatis.annotations.Param; import java.util.LinkedList; import java.util.List; import java.util.Map; /** * 采购需求Mapper接口 * * @author ruoyi * @date 2023-01-16 */ public interface PmDemandMapper extends BaseMapper { /** * 通过需求ID列表,查询采购执行列表 sunhh * * @param demandIdList * @return */ List selectByDemandIdList(@Param("demandIdList") List demandIdList); /** * 专家库--查询抽取专家列表 非必传条件:专家名称,开始结束时间 sunhh * * @param baseExpertVo * @return */ List selectExtractionExpert(BaseExpertVo baseExpertVo); /** * 统计分析-采购项目信息统计-查询项目总数量 * * @param pmDemandReqVo * @return */ Map purchaseProjectStatistical(PmDemandReqVo pmDemandReqVo); /** * 统计分析-采购项目信息统计-查询已完成项目数量,预算金额数量 * * @param pmDemandReqVo * @return */ Map purchaseProjectStatisticalYWC(PmDemandReqVo pmDemandReqVo); /** * 统计分析-采购项目信息统计-查询新创建项目数量,预算金额数量 * * @param pmDemandReqVo * @return */ Map purchaseProjectStatisticalXCJ(PmDemandReqVo pmDemandReqVo); /** * 统计分析-采购项目信息统计-查询去年完成项目数量,预算金额数量 * * @param pmDemandReqVo * @return */ Map purchaseProjectStatisticalQNWC(PmDemandReqVo pmDemandReqVo); /** * 按照项目属性统计所有的项目 * * @return */ List countByProjectAttr(); /** * 按照概算金额统计所有的项目 * * @return */ StatisticalChartsResVo countByEvaluationLt(Integer evaluation); StatisticalChartsResVo countByEvaluationBet(@Param("evaluation") Integer evaluation, @Param("evaluationEnd") Integer evaluationEnd); StatisticalChartsResVo countByEvaluationGt(Integer evaluation); /** * 本年度所有的逾期项目数 * * @return */ StatisticalChartsResVo countProjectExceed(); /** * 年度逾期项目数量 * * @return */ Integer countThisYear(); /** * 统计不同时间维度的逾期项目 * * @return */ LinkedList countProjectExceedYear(); /** * 统计不同时间维度的逾期项目 * * @return */ LinkedList countProjectExceedMonth(); /** * 统计不同时间维度的逾期项目 * * @return */ StatisticalChartsResVo countProjectExceedQuarter(@Param("quarter") Integer quarter, @Param("year") Integer year); /** * 所有滞后 * * @return */ List countProjectExceedAll(); /** * //***状态:指本年度正在进行中的项目属性为“重大规划”的项目数 * //预算金额:指本年度正在进行中的项目属性为“重大规划”的项目累加的预算金额 * * @param code * @return */ StatisticalChartsResVo majorProjectByStatus(String code); /** * //执行滞后数量:指本年度逾期项目中,项目属性为“重大规划”的项目数 * //预算金额:指本年度正在进行中的项目属性为“重大规划”的项目累加的预算金额 * * @return */ StatisticalChartsResVo countProjectExceedAndMajor(); /** * 查询本年度的**状态的重大规划项目 */ List taskQuantityYear(String code); /** * 查询上年度的**状态的重大规划项目 */ List taskQuantityLastYear(String code); /** * @return */ List countEveryStatusNum(); /** * 通过计划ID查询项目 * @param planId * @return */ PmDemand selectByPlanId(@Param("planId") Integer planId); /** * 项目执行进度统计--正常推进项目数量、预算金额 * @param pmDemandReqVo * @return */ Map purchaseProjectExecuteNormalPropulsion(PmDemandReqVo pmDemandReqVo); /** * 项目执行进度统计--未完成采购任务,预算金额 * @param pmDemandReqVo * @return */ Map purchaseProjectExecuteIncomplete(PmDemandReqVo pmDemandReqVo); /** * 查询数据库年份最小值 * @return */ Integer selectMinYear(); /** * 已完成项目数量统计 -- 年份 * @param pmDemandReqVo * @return */ List> selectpurchaseProjectCompleteNumberYear(PmDemandReqVo pmDemandReqVo); /** * 已完成项目数量统计 -- 季度 * @param pmDemandReqVo * @return */ List> selectpurchaseProjectCompleteNumberQuarter(PmDemandReqVo pmDemandReqVo); /** * 已完成项目数量统计 -- 月份 * @param pmDemandReqVo * @return */ List> selectpurchaseProjectCompleteNumberMonth(PmDemandReqVo pmDemandReqVo); List countProjectMajorByYear(); StatisticalChartsResVo countProjectMajorByQuarter(@Param("quarter") Integer quarter, @Param("year") Integer year); List countProjectMajorByMonth(); List countEveryStatusNumTwo(); StatisticalChartsResVo countMajorProjectExceed(); StatisticalChartsResVo countMajorProjectLastYear(); }