PublicInquiryController.java 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. package com.uas.ps.inquiry.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.uas.ps.inquiry.entity.BatchInquiry;
  4. import com.uas.ps.inquiry.entity.Inquiry;
  5. import com.uas.ps.inquiry.entity.InquiryDecide;
  6. import com.uas.ps.inquiry.entity.InquiryDetail;
  7. import com.uas.ps.inquiry.model.PublicInquiryItem;
  8. import com.uas.ps.inquiry.model.PublicInquiryItemInfo;
  9. import com.uas.ps.inquiry.model.PurcInquiryItemInfo;
  10. import com.uas.ps.inquiry.page.PageInfo;
  11. import com.uas.ps.inquiry.page.SearchFilter;
  12. import com.uas.ps.inquiry.page.exception.IllegalOperatorException;
  13. import com.uas.ps.inquiry.service.PublicInquiryService;
  14. import javassist.NotFoundException;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.data.domain.Page;
  17. import org.springframework.ui.ModelMap;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.io.UnsupportedEncodingException;
  20. import java.net.URLDecoder;
  21. import java.util.List;
  22. /**
  23. * 公共询价接口路径
  24. *
  25. * Created by hejq on 2018-01-13.
  26. */
  27. @RestController
  28. @RequestMapping("/inquiry/public")
  29. public class PublicInquiryController {
  30. @Autowired
  31. private PublicInquiryService publicInquiryService;
  32. /**
  33. * 将买家ERP的公共询价写到公共询价服务中心
  34. *
  35. * @param data 封装的data
  36. * @param enuu 询价企业UU
  37. * @param address 询价企业地址信息
  38. * @return
  39. * @throws UnsupportedEncodingException
  40. */
  41. @RequestMapping(method = RequestMethod.POST)
  42. public void saveInquiries(@RequestParam("data") String data, @RequestParam("enuu") Long enuu, @RequestParam("address") String address) throws NotFoundException, UnsupportedEncodingException {
  43. String jsonStr = URLDecoder.decode(data, "UTF-8");
  44. address = URLDecoder.decode(address, "UTF-8");
  45. List<BatchInquiry> inquiries = JSONObject.parseArray(jsonStr, BatchInquiry.class);
  46. publicInquiryService.save(inquiries, enuu, address);
  47. }
  48. /**
  49. * erp的公共询价单提交待审核时,更新公共询价服务中心的单据设置为不能报价
  50. *
  51. * @param data 封装的数据信息
  52. * @param enuu 询价企业UU
  53. * @throws UnsupportedEncodingException
  54. */
  55. @RequestMapping(value = "/check", method = RequestMethod.POST)
  56. public void updateInquiryStatus(@RequestParam("data") String data, @RequestParam("enuu") Long enuu) throws UnsupportedEncodingException {
  57. String jsonStr = URLDecoder.decode(data, "UTF-8");
  58. List<BatchInquiry> inquiries = JSONObject.parseArray(jsonStr, BatchInquiry.class);
  59. publicInquiryService.updateStatus(inquiries, enuu);
  60. }
  61. /**
  62. * (针对客户)获取公共询价服务中心供应商的报价信息
  63. *
  64. * @author hejq
  65. * @date 2018-01-14 15:20
  66. * @param enuu 询价企业UU
  67. */
  68. @RequestMapping(value = "/infos", method = RequestMethod.GET)
  69. public List<InquiryDetail> getReply(Long enuu) {
  70. List<InquiryDetail> details = publicInquiryService.findNotUploadReply(enuu);
  71. return details;
  72. }
  73. /**
  74. * 公共询价服务中心的报价信息传到买家ERP之后,修改公共询价服务中心里面的询价单明细的上传状态
  75. *
  76. * @param data 传回的id串
  77. * @return
  78. * @throws UnsupportedEncodingException
  79. */
  80. @RequestMapping(value = "/reply/back", method = RequestMethod.POST)
  81. public void onReplySuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
  82. String[] idArray = URLDecoder.decode(data, "UTF-8").split(",");
  83. publicInquiryService.onReplyUploadSuccess(idArray);
  84. }
  85. /**
  86. * 买家在收到报价信息后,点击提交按钮后,状态传至公共询价服务中心,至此公共询价服务中心的供应商不能再对这张询价单进行报价
  87. *
  88. * @param data 封装的data信息
  89. * @throws UnsupportedEncodingException
  90. */
  91. @RequestMapping(value = "/checking", method = RequestMethod.POST)
  92. public void checkInquiry(@RequestParam("data") String data) throws UnsupportedEncodingException {
  93. String jsonStr = URLDecoder.decode(data, "UTF-8");
  94. List<Inquiry> inquiries = JSONObject.parseArray(jsonStr, Inquiry.class);
  95. publicInquiryService.updateInquiryStatus(inquiries);
  96. }
  97. /**
  98. * 买家ERP(不)采纳了价格之后,修改公共询价服务中心里面的报价信息的状态
  99. *
  100. * @return 封装的data信息
  101. * @throws UnsupportedEncodingException
  102. */
  103. @RequestMapping(value = "/reply/decide", method = RequestMethod.POST)
  104. public void onReplyDecide(@RequestParam("data") String data, @RequestParam("enuu") Long enuu) throws UnsupportedEncodingException {
  105. String jsonStr = URLDecoder.decode(data, "UTF-8");
  106. List<InquiryDecide> decides = JSONObject.parseArray(jsonStr, InquiryDecide.class);
  107. publicInquiryService.onReplyDecide(decides, enuu);
  108. }
  109. /**
  110. * 买家ERP作废询价单后,修改公共询价服务中心里面的状态
  111. *
  112. * @param data 封装的询价信息
  113. * @return
  114. * @throws UnsupportedEncodingException
  115. */
  116. @RequestMapping(value = "/invalid", method = RequestMethod.POST)
  117. public void onReplyInvalid(@RequestParam("data") String data, @RequestParam("enuu") Long enuu) throws UnsupportedEncodingException {
  118. String jsonStr = URLDecoder.decode(data, "UTF-8");
  119. List<Inquiry> inquiries = JSONObject.parseArray(jsonStr, Inquiry.class);
  120. publicInquiryService.onReplyInvalid(inquiries, enuu);
  121. }
  122. /**
  123. * 将客户的公共询价列表中一条数据转成询价报价单数据
  124. *
  125. * @author hejq
  126. * @date 2018-01-14 15:20
  127. * @param id 公共询价明细id
  128. * @param enuu 报价企业UU
  129. * @param useruu 报价个人UU
  130. * @return
  131. */
  132. @RequestMapping(value = "/turntoInquiry", method = RequestMethod.POST)
  133. private ModelMap transtoInquiry(Long id, Long enuu, Long useruu) {
  134. return publicInquiryService.transtoInquiry(id, enuu, useruu);
  135. }
  136. /**
  137. * 通过分页参数和过滤条件查询公共询价列表信息
  138. *
  139. * @author hejq
  140. * @date 2018-01-17 10:27
  141. * @param info 分页参数
  142. * @param filter 过滤条件
  143. * @return
  144. */
  145. @RequestMapping(method = RequestMethod.GET)
  146. public Page<PurcInquiryItemInfo> getInquiry(PageInfo info, SearchFilter filter) {
  147. return publicInquiryService.findTodoByPageInfo(info, filter);
  148. }
  149. /**
  150. * 移动端查询公共询价列表
  151. *
  152. * @param pageSize 分页大小
  153. * @param pageNumber 页码
  154. * @param enuu enuu
  155. * @return
  156. */
  157. @RequestMapping(value = "/mobile", method = RequestMethod.GET)
  158. public Page<PurcInquiryItemInfo> publincInquiry(Integer pageSize, Integer pageNumber, Long enuu) {
  159. PageInfo pageInfo = new PageInfo();
  160. pageInfo.setPageNumber(pageNumber);
  161. pageInfo.setPageSize(pageSize);
  162. return publicInquiryService.findTodoByPageInfo(pageInfo, null);
  163. }
  164. /**
  165. * 通过分页信息和过滤条件查询已转报价的信息
  166. *
  167. * @author hejq
  168. * @date 2018-01-18 15:36
  169. * @param pageInfo 分页参数
  170. * @param searchFilter 过滤条件
  171. * @return
  172. */
  173. @RequestMapping(value = "/quotation/list", method = RequestMethod.GET)
  174. public Page<PublicInquiryItem> getQuotation(PageInfo pageInfo, SearchFilter searchFilter) {
  175. if (null != searchFilter.getVendUU()) {
  176. pageInfo.filter("vendUU", searchFilter.getVendUU());
  177. } else if (null != searchFilter.getEnUU()) {
  178. pageInfo.filter("inquiry.enUU", searchFilter.getVendUU());
  179. } else {
  180. throw new IllegalOperatorException("参数格式不对");
  181. }
  182. return publicInquiryService.findByPageInfo(pageInfo, searchFilter);
  183. }
  184. }