IPmDemandService.java 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  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.StatisticalChartsResVo;
  10. import com.ozs.system.domain.SysFileRef;
  11. import java.util.List;
  12. import java.util.Map;
  13. /**
  14. * 采购需求Service接口
  15. *
  16. * @author ruoyi
  17. * @date 2023-01-16
  18. */
  19. public interface IPmDemandService extends IService<PmDemand> {
  20. /**
  21. * 查询采购需求
  22. *
  23. * @param demandId 采购需求主键
  24. * @return 采购需求
  25. */
  26. PmDemandResVo selectPmDemandByDemandId(Long demandId, String detailType);
  27. /**
  28. * 查询采购需求列表
  29. *
  30. * @param pmDemandReqVo 采购需求
  31. * @return 采购需求集合
  32. */
  33. IPage<PmDemandResVo> selectPmDemandList(PmDemandReqVo pmDemandReqVo, int reqType);
  34. /**
  35. * 需求建档
  36. *
  37. * @param pmBookBuildingReqVo 需求建档
  38. * @return 结果
  39. */
  40. boolean bookBuilding(PmBookBuildingReqVo pmBookBuildingReqVo) throws Exception;
  41. /**
  42. * 提交采购需求
  43. *
  44. * @param pmDemandReqVo
  45. * @return 结果
  46. */
  47. boolean commit(PmDemandReqVo pmDemandReqVo);
  48. /**
  49. * 查看流程图
  50. *
  51. * @param demandId 采购需求主键
  52. * @return 采购需求
  53. */
  54. Object viewFlowChart(Long demandId);
  55. /**
  56. * 审核采购需求通过
  57. *
  58. * @param pmDemandReqVo
  59. * @return 结果
  60. */
  61. boolean reviewTo(PmDemandReqVo pmDemandReqVo);
  62. /**
  63. * 审核采购需求退回
  64. *
  65. * @param pmDemandReqVo
  66. * @return 结果
  67. */
  68. boolean reviewReturn(PmDemandReqVo pmDemandReqVo);
  69. /**
  70. * 下达任务
  71. *
  72. * @param pmDemandReqVo
  73. * @return 结果
  74. */
  75. boolean releaseTask(PmDemandReqVo pmDemandReqVo);
  76. boolean uploadFile(Long redId, Integer fileType, List<SysFileRef> sysFileRefs, String upateBy, boolean delOld);
  77. boolean uploadFile(Long redId, Integer fileType, List<SysFileRef> sysFileRefs, String upateBy);
  78. boolean insertPmReleaseAnnouncement(PmReleaseAnnouncementReqVo pmReleaseAnnouncementReqVo) throws Exception;
  79. boolean insertExpertBatch(PmBaseExpertFillReqVo pmBaseExpertFillReqVo) throws Exception;
  80. boolean extractExpertBatch(PmBaseExpertExtractReqVo pmBaseExpertExtractReqVo) throws Exception;
  81. boolean insertBidOpeningBatch(PmBidOpeningFillReqVo pmBidOpeningFillReqVo) throws Exception;
  82. boolean insertPmBidWinning(PmBidWinningReqVo pmBidWinningReqVo) throws Exception;
  83. boolean updatePmBidWinning(PmBidWinningReqVo pmBidWinningReqVo) throws Exception;
  84. boolean insertPmBidFailure(PmBidFailureReqVo pmBidFailureReqVo) throws Exception;
  85. boolean insertContractInfo(PmContractInfoReqVo pmContractInfoReqVo) throws Exception;
  86. boolean insertProjectConstruction(PmProjectConstructionReqVo pmProjectConstructionReqVo) throws Exception;
  87. /**
  88. * 更新需求预警状态
  89. *
  90. * @param demnadId
  91. * @return
  92. */
  93. void updateDemandWarnStatus(Long demnadId);
  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. List<PmDemandResVo> purchaseDemandDocking();
  139. List<PmDemandResVo> expertFeedback();
  140. List<PmDemandResVo> procurementDocumentsReview();
  141. List<PmDemandResVo> procurementAnnouncement();
  142. List<PmDemandResVo> preBidQuery();
  143. List<PmDemandResVo> waitOpenBid();
  144. List<PmDemandResVo> bidResultAnnouncement();
  145. List<PmDemandResVo> wasteBidHandle();
  146. List<PmDemandResVo> postBidQuery();
  147. /**
  148. * 采购管理部门首页待办事项(全部)
  149. *
  150. * @return
  151. */
  152. AjaxResult procurementOfficeWillManipulateTotal();
  153. /**
  154. * 统计分析-采购项目信息统计
  155. *
  156. * @param pmDemandReqVo
  157. * @return
  158. */
  159. Map<String, Integer> purchaseProjectStatistical(PmDemandReqVo pmDemandReqVo);
  160. /**
  161. * 统计分析-按照项目属性统计所有的项目
  162. *
  163. * @param
  164. * @return
  165. */
  166. List<StatisticalChartsResVo> countByProjectAttr(PmDemandReqVo pmDemandReqVo);
  167. /**
  168. * 统计分析-按照采购方式统计所有的项目
  169. *
  170. * @param
  171. * @return
  172. */
  173. List<StatisticalChartsResVo> countByPurchaseMode(PmDemandReqVo pmDemandReqVo);
  174. /**
  175. * 统计分析-按照概算金额统计所有的项目
  176. *
  177. * @param
  178. * @return
  179. */
  180. List<StatisticalChartsResVo> countByEvaluation(PmDemandReqVo pmDemandReqVo);
  181. /**
  182. * 执行滞后采购项目情况
  183. *
  184. * @return
  185. */
  186. AjaxResult countProjectExceed(PmDemandReqVo pmDemandReqVo);
  187. /**
  188. * 统计不同时间维度的逾期项目
  189. *
  190. * @return
  191. */
  192. AjaxResult exceedAnalysis(PmDemandReqVo pmDemandReqVo);
  193. /**
  194. * 滞后项目时长分析
  195. *
  196. * @return
  197. */
  198. AjaxResult exceedMarketAnalysis(PmDemandReqVo pmDemandReqVo);
  199. /**
  200. * 重大规划采购任务专项计划管理情况
  201. *
  202. * @return
  203. */
  204. AjaxResult countMajorProject(PmDemandReqVo pmDemandReqVo);
  205. /**
  206. * 重大规划采购任务专项计划管理情况(采购办)
  207. *
  208. * @return
  209. */
  210. AjaxResult countMajorProjectCGB(PmDemandReqVo pmDemandReqVo);
  211. /**
  212. * 任务数量趋势分析
  213. *
  214. * @return
  215. */
  216. AjaxResult taskQuantityAnalysis(PmDemandReqVo pmDemandReqVo);
  217. /**
  218. * 各阶段采购任务数量分布
  219. *
  220. * @return
  221. */
  222. AjaxResult countEveryStatusNum(PmDemandReqVo pmDemandReqVo);
  223. /**
  224. * 通过计划ID查询项目
  225. *
  226. * @param planId
  227. * @return
  228. */
  229. PmDemand selectByPlanId(Long planId);
  230. /**
  231. * 项目执行进度统计
  232. *
  233. * @param pmDemandReqVo
  234. * @return
  235. */
  236. List<StatisticalChartsResVo> purchaseProjectExecute(PmDemandReqVo pmDemandReqVo);
  237. /**
  238. * 已完成项目数量统计
  239. *
  240. * @param pmDemandReqVo
  241. * @return
  242. */
  243. List<Map<String, Integer>> purchaseProjectCompleteNumber(PmDemandReqVo pmDemandReqVo);
  244. /**
  245. * 已完成采购任务数量统计
  246. *
  247. * @param pmDemandReqVo
  248. * @return
  249. */
  250. List<Map<String, Integer>> purchaseTaskFinish(PmDemandReqVo pmDemandReqVo);
  251. /**
  252. * 项目数量分析
  253. *
  254. * @param pmDemandReqVo
  255. * @return
  256. */
  257. List<Map<String, String>> purchaseProjectNumberAnalysis(PmDemandReqVo pmDemandReqVo);
  258. /**
  259. * 需求提报情况
  260. *
  261. * @param pmDemandReqVo
  262. * @return
  263. */
  264. List<StatisticalChartsResVo> demandSubCount(PmDemandReqVo pmDemandReqVo);
  265. /**
  266. * 项目类型情况统计
  267. *
  268. * @param pmDemandReqVo
  269. * @return
  270. */
  271. List<StatisticalChartsResVo> countByProjectType(PmDemandReqVo pmDemandReqVo);
  272. /**
  273. * 需采转化情况统计
  274. *
  275. * @param pmDemandReqVo
  276. * @return
  277. */
  278. List<StatisticalChartsResVo> countByPurchaseChange(PmDemandReqVo pmDemandReqVo);
  279. /**
  280. * 滞后主要直接原因
  281. *
  282. * @param pmDemandReqVo
  283. * @return
  284. */
  285. AjaxResult exceedReason(PmDemandReqVo pmDemandReqVo);
  286. /**
  287. * 滞后直接原因
  288. *
  289. * @param pmDemandReqVo
  290. * @return
  291. */
  292. AjaxResult exceedReasonZj(PmDemandReqVo pmDemandReqVo);
  293. /**
  294. * 所属采购服务站数量
  295. *
  296. * @param pmDemandReqVo
  297. * @return
  298. */
  299. AjaxResult countPurTask(PmDemandReqVo pmDemandReqVo);
  300. /**
  301. * 新增执行滞后采购任务数量分析
  302. *
  303. * @param pmDemandReqVo
  304. * @return
  305. */
  306. AjaxResult countMajorProjectNumCGB(PmDemandReqVo pmDemandReqVo);
  307. /**
  308. * 滞留环节
  309. *
  310. * @param pmDemandReqVo
  311. * @return
  312. */
  313. AjaxResult exceedLink(PmDemandReqVo pmDemandReqVo);
  314. }