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(PmDemandReqVo pmDemandReqVo); /** * 按照采购方式统计所有的项目 * * @return */ List countByPurchaseMode(PmDemandReqVo pmDemandReqVo); /** * 按照概算金额统计所有的项目 * * @return */ StatisticalChartsResVo countByEvaluationLt(PmDemandReqVo pmDemandReqVo); StatisticalChartsResVo countByEvaluationBet(PmDemandReqVo pmDemandReqVo); StatisticalChartsResVo countByEvaluationGt(PmDemandReqVo pmDemandReqVo); /** * 本年度所有的逾期项目数 * * @return */ StatisticalChartsResVo countProjectExceed(PmDemandReqVo pmDemandReqVo); /** * 年度逾期项目数量 * * @return */ Integer countThisYear(PmDemandReqVo pmDemandReqVo); /** * 统计不同时间维度的逾期项目 * * @return */ LinkedList countProjectExceedYear(PmDemandReqVo pmDemandReqVo); /** * 统计不同时间维度的逾期项目 * * @return */ StatisticalChartsResVo countProjectExceedMonth(PmDemandReqVo pmDemandReqVo); /** * 统计不同时间维度的逾期项目 * * @return */ StatisticalChartsResVo countProjectExceedQuarter(PmDemandReqVo pmDemandReqVo); /** * 所有滞后 * * @return */ List countProjectExceedAll(PmDemandReqVo pmDemandReqVo); /** * //***状态:指本年度正在进行中的项目属性为“重大规划”的项目数 * //预算金额:指本年度正在进行中的项目属性为“重大规划”的项目累加的预算金额 * * @param * @return */ StatisticalChartsResVo majorProjectByStatus(PmDemandReqVo pmDemandReqVo); /** * //执行滞后数量:指本年度逾期项目中,项目属性为“重大规划”的项目数 * //预算金额:指本年度正在进行中的项目属性为“重大规划”的项目累加的预算金额 * * @return */ StatisticalChartsResVo countProjectExceedAndMajor(); /** * 查询本年度的**状态的重大规划项目 */ List taskQuantityYear(String code); /** * 查询上年度的**状态的重大规划项目 */ List taskQuantityLastYear(String code); /** * @return */ List countEveryStatusNum(PmDemandReqVo pmDemandReqVo); /** * 通过计划ID查询项目 * * @param planId * @return */ PmDemand selectByPlanId(@Param("planId") Long 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); /** * 已完成采购任务数量统计 -- 年份 * * @param pmDemandReqVo * @return */ List> selectPurchaseTaskFinishYear(PmDemandReqVo pmDemandReqVo); /** * 已完成采购任务数量统计 -- 季度 * * @param pmDemandReqVo * @return */ List> selectPurchaseTaskFinishQuarter(PmDemandReqVo pmDemandReqVo); /** * 已完成采购任务数量统计 -- 月份 * * @param pmDemandReqVo * @return */ List> selectPurchaseTaskFinishMonth(PmDemandReqVo pmDemandReqVo); List countProjectMajorByYear(); StatisticalChartsResVo countProjectMajorByQuarter(PmDemandReqVo pmDemandReqVo); List countProjectMajorByMonth(PmDemandReqVo pmDemandReqVo); List countEveryStatusNumTwo(); StatisticalChartsResVo countMajorProjectExceed(PmDemandReqVo pmDemandReqVo); StatisticalChartsResVo countMajorProjectLastYear(PmDemandReqVo pmDemandReqVo); /** * 各阶段项目数量分布 * * @param pmDemandReqVo * @return */ Map purchaseProjectDistribution(PmDemandReqVo pmDemandReqVo); /** * 项目数量分析--年 * * @param pmDemandReqVo * @return */ List> purchaseProjectNumberAnalysisYear(PmDemandReqVo pmDemandReqVo); /** * 项目数量分析--季度 * * @param pmDemandReqVo * @return */ List> purchaseProjectNumberAnalysisQuarter(PmDemandReqVo pmDemandReqVo); /** * 项目数量分析--月份 * * @param pmDemandReqVo * @return */ List> purchaseProjectNumberAnalysisMonth(PmDemandReqVo pmDemandReqVo); /** * 项目数量分析--季度 去年数据 * * @param pmDemandReqVo * @return */ List> purchaseProjectNumberAnalysisOldYearQuarter(PmDemandReqVo pmDemandReqVo); /** * 项目数量分析--月份 去年数据 * * @param pmDemandReqVo * @return */ List> purchaseProjectNumberAnalysisOldYearMonth(PmDemandReqVo pmDemandReqVo); }