PublicInquiryService.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. package com.uas.ps.inquiry.service;
  2. import com.uas.ps.inquiry.domain.IPage;
  3. import com.uas.ps.inquiry.entity.*;
  4. import com.uas.ps.inquiry.model.*;
  5. import com.uas.ps.inquiry.page.PageInfo;
  6. import com.uas.ps.inquiry.page.SearchFilter;
  7. import javassist.NotFoundException;
  8. import org.springframework.data.domain.Page;
  9. import org.springframework.ui.ModelMap;
  10. import java.util.List;
  11. import java.util.Map;
  12. /**
  13. * 公共询价接口
  14. * <p>
  15. * Created by hejq on 2018-01-13.
  16. */
  17. public interface PublicInquiryService {
  18. /**
  19. * 保存公共询价信息
  20. *
  21. * @param inquiries erp传入公共询价的信息
  22. * @param enuu 询价企业UU号
  23. * @param address 询价企业地址
  24. * @author hejq
  25. * @date 2018-01-14 11:45
  26. */
  27. void save(List<BatchInquiry> inquiries, Long enuu, String address) throws NotFoundException;
  28. /**
  29. * 将ERP传入的inquiry信息转成公共询价服务中心需要的信息
  30. *
  31. * @param inquiries 将ERP传入的inquiry信息
  32. * @param enuu 询价企业UU号
  33. * @return
  34. * @author hejq
  35. * @date 2018-01-14 11:45
  36. */
  37. List<PurcInquiry> covert(List<BatchInquiry> inquiries, Long enuu, String address) throws NotFoundException;
  38. /**
  39. * erp提交审核时,公共询价服务中心单据禁用报价功能
  40. *
  41. * @param inquiries erp询价信息
  42. * @param enuu 询价企业UU号
  43. * @author hejq
  44. * @date 2018-01-14 11:45
  45. */
  46. void updateStatus(List<BatchInquiry> inquiries, Long enuu);
  47. /**
  48. * 查询供应商的报价信息
  49. *
  50. * @param enuu 企业uu
  51. * @return
  52. * @author hejq
  53. * @date 2018-01-14 11:45
  54. */
  55. List<InquiryDetail> findNotUploadReply(Long enuu);
  56. /**
  57. * 将平台的公共询价转成ERP的对应的字段
  58. *
  59. * @param notUploadReply 未下载的供应商报价信息
  60. * @return
  61. * @author hejq
  62. * @date 2018-01-14 11:51
  63. */
  64. List<InquiryDetail> convertPublicInquiryReply(List<PublicInquiryItem> notUploadReply);
  65. /**
  66. * 下载完成后更新公共询价服务中心询价单明细的下载状态
  67. *
  68. * @param idArray 询价单明细id
  69. * @author hejq
  70. * @date 2018-01-14 12:12
  71. */
  72. void onReplyUploadSuccess(String[] idArray);
  73. /**
  74. * 下载成功之后,更新报价下载状态
  75. * @param idArray 报价单明细id
  76. */
  77. void onReplyDownLoadSuccess(String[] idArray);
  78. /**
  79. * ERP提交公共询价单之后,更新平台状态,让公共询价服务中心询价单不能进行报价操作
  80. *
  81. * @param inquiries 询价信息
  82. * @author hejq
  83. * @date 2018-01-14 12:20
  84. */
  85. void updateInquiryStatus(List<InquiryDetail> inquiries, Long enuu);
  86. /**
  87. * ERP对报价信息的采纳状态上传到公共询价服务中心
  88. *
  89. * @param decides 采纳信息
  90. * @author hejq
  91. * @date 2018-01-14 12:24
  92. */
  93. void onReplyDecide(List<InquiryDecide> decides, Long enuu);
  94. /**
  95. * 将ERP的报价采纳信息转为公共询价服务中心需要的信息
  96. *
  97. * @param decides erp报价采纳信息
  98. * @author hejq
  99. * @date 2018-01-14 12:26
  100. */
  101. List<PublicInquiryItem> convertInquiryDecide(List<InquiryDecide> decides);
  102. /**
  103. * 买家ERP作废询价单后,修改公共询价服务中心里面的状态
  104. *
  105. * @param inquiries 询价信息
  106. * @param enuu 企业UU
  107. * @author hejq
  108. * @date 2018-01-14 12:28
  109. */
  110. void onReplyInvalid(List<Inquiry> inquiries, Long enuu);
  111. /**
  112. * 将公共询价列表转成需要报价的询价单,类型是公共询价
  113. *
  114. * @param id 询价明细id
  115. * @param enuu 报价企业UU
  116. * @param useruu 报价人uu
  117. * @return
  118. * @author hejq
  119. * @date 2018-01-14 14:46
  120. */
  121. ModelMap transtoInquiry(Long id, Long enuu, Long useruu);
  122. /**
  123. * 通过分页参数和过滤条件查询报价信息
  124. *
  125. * @param info 分页参数
  126. * @param filter 过滤条件
  127. * @return
  128. * @author hejq
  129. * @date 2018-01-17 10:30
  130. */
  131. IPage<PublicInquiryItemInfo> findByPageInfo(PageInfo info, SearchFilter filter);
  132. /**
  133. * 通过id查询单个已转报价的信息
  134. *
  135. * @param id
  136. * @return
  137. */
  138. PublicInquiryItemInfo findOneInfo(Long id, Long enuu, Long useruu);
  139. /**
  140. * 商城获取采纳列表
  141. *
  142. * @param info
  143. * @param filter
  144. * @return
  145. */
  146. Page<PublicInquiryItemInfo> findListByPageInfo(PageInfo info, SearchFilter filter);
  147. /**
  148. * 通过分页参数和过滤条件查询公共询价价信息
  149. *
  150. * @param info
  151. * @param filter
  152. * @return
  153. * @author hejq
  154. * @date 2018-01-18 15:32
  155. */
  156. IPage<PurcInquiryItemInfo> findTodoByPageInfo(PageInfo info, SearchFilter filter);
  157. /**
  158. * 根据传入条件封装查询条件
  159. *
  160. * @param pageInfo 分页参数
  161. * @param state 过滤条件
  162. * @return
  163. */
  164. PageInfo covert(PageInfo pageInfo, String state, Short overdue);
  165. /**
  166. * 获取公共询价列表信息
  167. *
  168. * @param enuu 当前企业UU
  169. * @param size 大小
  170. * @return
  171. */
  172. List<InquiryMessage> getMessageList(Long enuu, Integer size);
  173. /**
  174. * 消息推送
  175. *
  176. * @param inquiryItems 询价明细
  177. * @param sourceApp 应用来源
  178. * @throws Exception
  179. */
  180. void notifyMessage(List<PurcInquiryItem> inquiryItems, String sourceApp) throws Exception;
  181. /**
  182. * 针对供应商,客户对报价采纳结果进行消息通知
  183. *
  184. * @param item 询价明细
  185. * @param sourceApp 来源
  186. */
  187. void notifyDecide(PublicInquiryItem item, String sourceApp);
  188. /**
  189. * 通过id查询询价信息
  190. *
  191. * @param id 公共询价主表id
  192. * @return
  193. */
  194. PurcInquiry findInquiryById(Long id);
  195. /**
  196. * 商城-采购排行榜
  197. *
  198. * @return
  199. */
  200. List<Map<String, Object>> findCodeRankingList();
  201. /**
  202. * 通过明细id查询询价详情
  203. *
  204. * @param itemId 明细id
  205. * @return
  206. */
  207. PurcInquiryItemInfo findItemByItemId(Long itemId, Long enuu);
  208. /**
  209. * 将推荐信息转成UU互联需要的数据
  210. *
  211. * @param content 推荐信息
  212. * @return
  213. */
  214. List<PurcInquiryItemInfo> covertRemindToInquiry(List<InquiryRemind> content);
  215. /**
  216. * 消息推送
  217. *
  218. * @param item 询价明细
  219. * @param sourceApp 应用来源
  220. * @return
  221. */
  222. Page<MessageModel> refuseMessage(PublicInquiryItem item, String sourceApp);
  223. /**
  224. * 消息推送
  225. *
  226. * @param item 询价明细
  227. * @param sourceApp 应用来源
  228. * @return
  229. */
  230. Page<MessageModel> adoptMessage(PublicInquiryItem item, String sourceApp);
  231. /**
  232. * 针对买家,通知买家供应商已报价
  233. *
  234. * @param
  235. * @param
  236. * @return
  237. */
  238. Page<MessageModel> ReceiveMessage(PublicInquiryItem item, String sourceApp);
  239. /**
  240. * 公共询价单明细总数
  241. *
  242. * @return
  243. */
  244. ModelMap getPurcInquiryItemCount();
  245. /**
  246. * 查询某年某月的询价明细总数
  247. *
  248. * @param month
  249. * @return
  250. */
  251. ModelMap countByMonth(Integer year, Integer month);
  252. /**
  253. * 根据年份和月份字符串获取条数
  254. *
  255. * @param year 年份
  256. * @param months 月份字符串 6,7,8
  257. * @return map
  258. */
  259. List<ModelMap> countByMonths(Integer year, String months);
  260. /**
  261. * 根据enUU获取已被采纳或拒绝的报价单明细
  262. * @param enUU 报价企业UU
  263. * @return
  264. */
  265. List<PublicInquiryItem> findDecideNotUploadReply(Long enUU);
  266. /**
  267. * 已被采纳或拒绝的报价单明细 上传买方UAS之后,回调
  268. * @param ids 报价单明细ids
  269. * @param enUU 报价企业UU
  270. * @return
  271. */
  272. ModelMap downloadDecideBack(List<Long> ids, Long enUU);
  273. /**
  274. * 将在b2c或者b2b报价的单据,上传到卖方UAS
  275. * @param enUU 企业UU
  276. * @return
  277. */
  278. List<PublicInquiryItem> findNotUploadToUas(Long enUU);
  279. /**
  280. * UAS获取商城账套下企业商机
  281. *
  282. * @param enUU 报价企业UU
  283. * @author dongbw
  284. * @return 待下载的企业商机
  285. */
  286. List<InquiryEnRemind> findNotUploadEnRemind(Long enUU);
  287. /**
  288. * UAS获取商城账套下企业商机之后 回调 修改状态
  289. *
  290. * @param enUU 报价企业UU
  291. * @param idArray 报价单明细id list
  292. */
  293. void downEnRemindSuccess(String[] idArray, Long enUU);
  294. /**
  295. * 获取当前月和上个月询价单数量
  296. * @return 数量map
  297. */
  298. ModelMap getCountOfLastAndThisMonth();
  299. /**
  300. * 查询单条bom询价单的报价情况
  301. * @param inquiry 询价单
  302. * @return 询价单
  303. */
  304. PurcInquiry getQuotedDetail(PurcInquiry inquiry);
  305. /**
  306. * 商城后台-统计询价产品和用户
  307. * @param startDate
  308. * @param endDate
  309. * @return
  310. */
  311. ModelMap getInquiryCountData(String startDate, String endDate);
  312. }