IPmDemandService.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. package com.ozs.pm.service;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.service.IService;
  4. import com.ozs.common.core.domain.AjaxResult;
  5. import com.ozs.base.domain.vo.BaseExpertVo;
  6. import com.ozs.pm.doman.PmDemand;
  7. import com.ozs.pm.doman.vo.requestVo.*;
  8. import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
  9. import com.ozs.pm.doman.vo.responseVo.PmFlowChartResVo;
  10. import com.ozs.pm.doman.vo.responseVo.StatisticalChartsResVo;
  11. import com.ozs.system.domain.SysFileRef;
  12. import java.util.List;
  13. import java.util.Map;
  14. /**
  15. * 采购需求Service接口
  16. *
  17. * @author ruoyi
  18. * @date 2023-01-16
  19. */
  20. public interface IPmDemandService extends IService<PmDemand> {
  21. /**
  22. * 查询采购需求
  23. *
  24. * @param demandId 采购需求主键
  25. * @return 采购需求
  26. */
  27. PmDemandResVo selectPmDemandByDemandId(Long demandId, String detailType);
  28. /**
  29. * 查询采购需求列表
  30. *
  31. * @param pmDemandReqVo 采购需求
  32. * @return 采购需求集合
  33. */
  34. IPage<PmDemandResVo> selectPmDemandList(PmDemandReqVo pmDemandReqVo, int reqType);
  35. /**
  36. * 需求建档
  37. *
  38. * @param pmBookBuildingReqVo 需求建档
  39. * @return 结果
  40. */
  41. boolean bookBuilding(PmBookBuildingReqVo pmBookBuildingReqVo) throws Exception;
  42. /**
  43. * 查看流程图
  44. *
  45. * @param demandId 采购需求主键
  46. * @return 采购需求
  47. */
  48. Object viewFlowChart(Long demandId);
  49. /**
  50. * 查看流程图
  51. *
  52. * @param demandId 采购需求主键
  53. * @return 采购需求
  54. */
  55. PmFlowChartResVo getModuleInfo(Long demandId, String moduleName);
  56. /**
  57. * 提交采购需求
  58. *
  59. * @param pmDemandReqVo
  60. * @return 结果
  61. */
  62. boolean commit(PmDemandReqVo pmDemandReqVo);
  63. /**
  64. * 审核采购需求通过
  65. *
  66. * @param pmDemandReqVo
  67. * @return 结果
  68. */
  69. boolean reviewTo(PmDemandReqVo pmDemandReqVo);
  70. /**
  71. * 审核采购需求退回
  72. *
  73. * @param pmDemandReqVo
  74. * @return 结果
  75. */
  76. boolean reviewReturn(PmDemandReqVo pmDemandReqVo);
  77. /**
  78. * 下达任务
  79. *
  80. * @param pmDemandReqVo
  81. * @return 结果
  82. */
  83. boolean releaseTask(PmDemandReqVo pmDemandReqVo);
  84. boolean uploadFile(Long redId, Integer fileType, List<SysFileRef> sysFileRefs, String upateBy);
  85. boolean insertPmReleaseAnnouncement(PmReleaseAnnouncementReqVo pmReleaseAnnouncementReqVo) throws Exception;
  86. boolean insertExpertBatch(PmBaseExpertFillReqVo pmBaseExpertFillReqVo) throws Exception;
  87. boolean extractExpertBatch(PmBaseExpertExtractReqVo pmBaseExpertExtractReqVo) throws Exception;
  88. boolean insertBidOpeningBatch(PmBidOpeningFillReqVo pmBidOpeningFillReqVo) throws Exception;
  89. boolean insertPmBidWinning(PmBidWinningReqVo pmBidWinningReqVo) throws Exception;
  90. boolean updatePmBidWinning(PmBidWinningReqVo pmBidWinningReqVo) throws Exception;
  91. boolean insertPmBidFailure(PmBidFailureReqVo pmBidFailureReqVo) throws Exception;
  92. boolean insertContractInfo(PmContractInfoReqVo pmContractInfoReqVo) throws Exception;
  93. boolean insertProjectConstruction(PmProjectConstructionReqVo pmProjectConstructionReqVo) throws Exception;
  94. /**
  95. * 通过需求ID列表 查询采购执行列表 sunhh
  96. *
  97. * @param demandIdList
  98. * @return
  99. */
  100. List<PmDemand> selectByDemandIdList(List<Integer> demandIdList);
  101. /**
  102. * 专家库--查询抽取专家列表 非必传条件:专家名称,开始结束时间 sunhh
  103. *
  104. * @param baseExpertVo
  105. * @return
  106. */
  107. List<PmDemand> selectExtractionExpert(BaseExpertVo baseExpertVo);
  108. /**
  109. * 查询需求单位首页待办事项(需求待提交)
  110. *
  111. * @return
  112. */
  113. List<PmDemandResVo> demandWaitCommit();
  114. /**
  115. * 查询需求单位首页待办事项(合同待填制)
  116. *
  117. * @return
  118. */
  119. List<PmDemandResVo> contractWaitFilled();
  120. /**
  121. * 查询需求单位首页待办事项(项目建设待完成)
  122. *
  123. * @return
  124. */
  125. List<PmDemandResVo> projectWaitFinish();
  126. /**
  127. * 采购管理部门首页待办事项(需求待审核)
  128. *
  129. * @return
  130. */
  131. List<PmDemandResVo> demandWaitExamine();
  132. /**
  133. * 采购管理部门首页待办事项(任务待下达)
  134. *
  135. * @return
  136. */
  137. List<PmDemandResVo> taskWaitRelease();
  138. /**
  139. * 采购管理部门首页待办事项(待选取代理)
  140. *
  141. * @return
  142. */
  143. List<PmDemandResVo> waitSelectAgent();
  144. /**
  145. * 采购管理部门首页待办事项(待上传招标文件)
  146. *
  147. * @return
  148. */
  149. List<PmDemandResVo> waitUpBidFile();
  150. /**
  151. * 采购管理部门首页待办事项(待发布公告)
  152. *
  153. * @return
  154. */
  155. List<PmDemandResVo> waitAnnouncement();
  156. /**
  157. * 采购管理部门首页待办事项(待开标)
  158. *
  159. * @return
  160. */
  161. List<PmDemandResVo> waitOpenBid();
  162. /**
  163. * 采购管理部门首页待办事项(待发布中标公告)
  164. *
  165. * @return
  166. */
  167. List<PmDemandResVo> waitBidAnnouncement();
  168. /**
  169. * 采购管理部门首页待办事项(中标公示中)
  170. *
  171. * @return
  172. */
  173. List<PmDemandResVo> biddingPublicity();
  174. /**
  175. * 采购管理部门首页待办事项(全部)
  176. *
  177. * @return
  178. */
  179. AjaxResult procurementOfficeWillManipulateTotal();
  180. /**
  181. * 统计分析-采购项目信息统计
  182. *
  183. * @param pmDemandReqVo
  184. * @return
  185. */
  186. Map<String, Integer> purchaseProjectStatistical(PmDemandReqVo pmDemandReqVo);
  187. /**
  188. * 统计分析-按照项目属性统计所有的项目
  189. *
  190. * @param
  191. * @return
  192. */
  193. List<StatisticalChartsResVo> countByProjectAttr();
  194. /**
  195. * 统计分析-按照概算金额统计所有的项目
  196. *
  197. * @param
  198. * @return
  199. */
  200. List<StatisticalChartsResVo> countByEvaluation();
  201. /**
  202. * 执行滞后采购项目情况
  203. *
  204. * @return
  205. */
  206. AjaxResult countProjectExceed();
  207. /**
  208. * 统计不同时间维度的逾期项目
  209. *
  210. * @return
  211. */
  212. AjaxResult exceedAnalysis();
  213. /**
  214. * 滞后项目时长分析
  215. *
  216. * @return
  217. */
  218. AjaxResult exceedMarketAnalysis();
  219. /**
  220. * 今年已完成数量
  221. *
  222. * @return
  223. */
  224. AjaxResult countMajorProject();
  225. /**
  226. * 任务数量趋势分析
  227. *
  228. * @return
  229. */
  230. AjaxResult taskQuantityAnalysis();
  231. /**
  232. * 新完成采购任务数量
  233. *
  234. * @return
  235. */
  236. AjaxResult newFinishPro();
  237. /**
  238. * 各阶段采购任务数量分布
  239. *
  240. * @return
  241. */
  242. AjaxResult countEveryStatusNum();
  243. /**
  244. * 通过计划ID查询项目
  245. * @param planId
  246. * @return
  247. */
  248. PmDemand selectByPlanId(Integer planId);
  249. }