|
|
@@ -0,0 +1,238 @@
|
|
|
+package com.uas.ps.inquiry.controller;
|
|
|
+
|
|
|
+import com.uas.ps.core.logging.BufferedLoggerManager;
|
|
|
+import com.uas.ps.httplog.annotation.HttpLog;
|
|
|
+import com.uas.ps.inquiry.entity.*;
|
|
|
+import com.uas.ps.inquiry.model.PublicInquiryItem;
|
|
|
+import com.uas.ps.inquiry.service.AttachService;
|
|
|
+import com.uas.ps.inquiry.service.InquiryForSaleService;
|
|
|
+import com.uas.ps.inquiry.service.PublicInquiryService;
|
|
|
+import com.uas.ps.inquiry.support.InquiryBufferedLogger;
|
|
|
+import javassist.NotFoundException;
|
|
|
+import org.apache.log4j.Logger;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.ui.ModelMap;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
+import java.net.URLDecoder;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * Erp从公共服务下载数据接口
|
|
|
+ *
|
|
|
+ * 便于将之前PublicInquiryController中的Erp相关方法整理到这个Controller,当前Controller路径与之相同。
|
|
|
+ * @author dongbw
|
|
|
+ * @version 2018年7月3日 14:27:25
|
|
|
+ */
|
|
|
+@RestController
|
|
|
+@RequestMapping("/inquiry/public")
|
|
|
+public class ErpDownloadController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PublicInquiryService publicInquiryService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AttachService attachService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private InquiryForSaleService saleService;
|
|
|
+
|
|
|
+ private final static InquiryBufferedLogger logger = BufferedLoggerManager.getLogger(InquiryBufferedLogger.class);
|
|
|
+
|
|
|
+ private final static Logger log = Logger.getLogger(Logger.class);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将买家ERP的公共询价写到公共询价服务中心
|
|
|
+ *
|
|
|
+ * @param inquiries 公共询价信息
|
|
|
+ * @param enuu 询价企业UU
|
|
|
+ * @param address 询价企业地址信息
|
|
|
+ * @return
|
|
|
+ * @throws UnsupportedEncodingException
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(method = RequestMethod.POST)
|
|
|
+ public void saveInquiries(@RequestBody List<BatchInquiry> inquiries, Long enuu, String address) throws NotFoundException, UnsupportedEncodingException {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ publicInquiryService.save(inquiries, enuu, URLDecoder.decode(address, "UTF-8"));
|
|
|
+ log.info("/inquiry/public post 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ logger.log("公共询价", "ERP上传公共询价", "size: " + inquiries.size(), Constant.UU, enuu, InquirySource.ERP.name());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * erp的公共询价单提交待审核时,更新公共询价服务中心的单据设置为不能报价
|
|
|
+ *
|
|
|
+ * @param inquiries 封装的数据信息
|
|
|
+ * @param enuu 询价企业UU
|
|
|
+ * @throws UnsupportedEncodingException
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(value = "/check", method = RequestMethod.POST)
|
|
|
+ public void updateInquiryStatus(@RequestBody List<BatchInquiry> inquiries, Long enuu) throws UnsupportedEncodingException {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ publicInquiryService.updateStatus(inquiries, enuu);
|
|
|
+ log.info("/inquiry/public/check post 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ logger.log("公共询价", "ERP设置公共询价不能报价", "size: " + inquiries.size(), Constant.UU, enuu, InquirySource.ERP.name());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * (针对客户)获取公共询价服务中心供应商的报价信息
|
|
|
+ *
|
|
|
+ * @param enuu 询价企业UU
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-14 15:20
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(value = "/quotation", method = RequestMethod.GET)
|
|
|
+ public List<InquiryDetail> getReply(Long enuu) {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ List<InquiryDetail> details = publicInquiryService.findNotUploadReply(enuu);
|
|
|
+ log.info("/inquiry/public/quotation 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ logger.log("公共询价", "ERP获取供应商报价信息", "size: " + details.size(), Constant.UU, enuu, InquirySource.ERP.name());
|
|
|
+ return details;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 公共询价服务中心的报价信息传到买家ERP之后,修改公共询价服务中心里面的询价单明细的上传状态
|
|
|
+ *
|
|
|
+ * @param data 传回的id串
|
|
|
+ * @return
|
|
|
+ * @throws UnsupportedEncodingException
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(value = "/reply/back", method = RequestMethod.POST)
|
|
|
+ public void onReplySuccess(@RequestBody String data, Long enuu) throws UnsupportedEncodingException {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ String[] idArray = URLDecoder.decode(data, "UTF-8").split(",");
|
|
|
+ logger.log("公共询价", "ERP获取报价信息返回id", "id: " + idArray, Constant.UU, enuu, InquirySource.ERP.name());
|
|
|
+ publicInquiryService.onReplyUploadSuccess(idArray);
|
|
|
+ log.info("/inquiry/public/reply/back post 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 买家在收到报价信息后,点击提交按钮后,状态传至公共询价服务中心,至此公共询价服务中心的供应商不能再对这张询价单进行报价
|
|
|
+ *
|
|
|
+ * @param details 封装的data信息
|
|
|
+ * @throws UnsupportedEncodingException
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(value = "/checking", method = RequestMethod.POST)
|
|
|
+ public void checkInquiry(@RequestBody List<InquiryDetail> details , Long enuu) throws UnsupportedEncodingException {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ logger.log("公共询价", "ERP提交报价信息应用禁止报价", "size: " + details.size(), Constant.UU, enuu, InquirySource.ERP.name());
|
|
|
+ publicInquiryService.updateInquiryStatus(details, enuu);
|
|
|
+ log.info("/inquiry/public/checking post 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 买家ERP(不)采纳了价格之后,修改公共询价服务中心里面的报价信息的状态
|
|
|
+ *
|
|
|
+ * @return 封装的data信息
|
|
|
+ * @throws UnsupportedEncodingException
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(value = "/reply/decide", method = RequestMethod.POST)
|
|
|
+ public void onReplyDecide(@RequestBody List<InquiryDecide> decides, Long enuu) throws UnsupportedEncodingException {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ logger.log("公共询价", "ERP针对供应报价信息进行(不)采纳操作", "size: " + decides.size(), Constant.UU, enuu, InquirySource.ERP.name());
|
|
|
+ publicInquiryService.onReplyDecide(decides, enuu);
|
|
|
+ log.info("/inquiry/public/reply/decide post 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 买家ERP作废询价单后,修改公共询价服务中心里面的状态
|
|
|
+ *
|
|
|
+ * @param inquiries 封装的询价信息
|
|
|
+ * @return
|
|
|
+ * @throws UnsupportedEncodingException
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(value = "/invalid", method = RequestMethod.POST)
|
|
|
+ public void onReplyInvalid(@RequestBody List<Inquiry> inquiries, Long enuu) throws UnsupportedEncodingException {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ logger.log("公共询价", "ERP作废公共询价单返回数据到公共服务", "size: " + inquiries.size(), Constant.UU, enuu, InquirySource.ERP.name());
|
|
|
+ publicInquiryService.onReplyInvalid(inquiries, enuu);
|
|
|
+ log.info("/inquiry/public/invalid post 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 买家采纳或拒绝之后,上传到报价方UAS
|
|
|
+ *
|
|
|
+ * @param enUU 报价企业UU
|
|
|
+ * @author dongbw
|
|
|
+ * @date 2018年7月3日 15:49:11
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(value = "/down/decide", method = RequestMethod.GET)
|
|
|
+ public List<PublicInquiryItem> downloadDecide(Long enUU) {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ List<PublicInquiryItem> items = publicInquiryService.findDecideNotUploadReply(enUU);
|
|
|
+ log.info("/inquiry/public/down/decide 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ logger.log("公共询价", "买家采纳或拒绝之后,上传到报价方UAS", "size: " + items.size(), Constant.UU, enUU, InquirySource.ERP.name());
|
|
|
+ return items;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 买家采纳或拒绝之后,上传到报价方UAS 之后,UAS回调 修改状态
|
|
|
+ *
|
|
|
+ * @param ids 采纳或拒绝的报价单明细id list
|
|
|
+ * @param enUU 报价方企业UU
|
|
|
+ * @author dongbw
|
|
|
+ * @date 2018年7月3日 15:49:11
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(value = "/down/decide/back", method = RequestMethod.POST)
|
|
|
+ public ModelMap downloadDecideBack(String ids, Long enUU) throws UnsupportedEncodingException {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ String[] idArray = URLDecoder.decode(ids, "UTF-8").split(",");
|
|
|
+ List<Long> idList = new ArrayList<>();
|
|
|
+ for (String id : idArray) {
|
|
|
+ idList.add(Long.valueOf(id));
|
|
|
+ }
|
|
|
+ ModelMap map = publicInquiryService.downloadDecideBack(idList, enUU);
|
|
|
+ log.info("/inquiry/public/down/decide/back 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ logger.log("公共询价", "买家采纳或拒绝之后,上传到报价方UAS的回调", "size: " + idList.size(), Constant.UU, enUU, InquirySource.ERP.name());
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将报价方在商城报价的单据同步到报价方UAS
|
|
|
+ *
|
|
|
+ * @param enUU 报价企业UU
|
|
|
+ * @author dongbw
|
|
|
+ * @date 2018年7月3日 16:21
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(value = "/down/reply", method = RequestMethod.GET)
|
|
|
+ public List<PublicInquiryItem> downReply(Long enUU) {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ List<PublicInquiryItem> details = publicInquiryService.findNotUploadToUas(enUU);
|
|
|
+ log.info("/inquiry/public/quotation 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ logger.log("公共询价", "ERP获取供应商报价信息", "size: " + details.size(), Constant.UU, enUU, InquirySource.ERP.name());
|
|
|
+ return details;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将报价方在商城报价的单据同步到报价方UAS 之后 回调 修改状态
|
|
|
+ *
|
|
|
+ * @param enUU 报价企业UU
|
|
|
+ * @param ids 报价单明细id list
|
|
|
+ * @author dongbw
|
|
|
+ * @date 2018年7月3日 16:21
|
|
|
+ */
|
|
|
+ @HttpLog
|
|
|
+ @RequestMapping(value = "/down/reply/back", method = RequestMethod.POST)
|
|
|
+ public void onReplyDownSuccess(String ids, Long enUU) throws UnsupportedEncodingException {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ String[] idArray = URLDecoder.decode(ids, "UTF-8").split(",");
|
|
|
+ logger.log("公共询价", "将报价方在商城报价的单据同步到报价方UAS 之后 回调 修改状态", "id: " + idArray, Constant.UU, enUU, InquirySource.ERP.name());
|
|
|
+ publicInquiryService.onReplyDownLoadSuccess(idArray);
|
|
|
+ log.info("/inquiry/public/down/reply/back post 耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ }
|
|
|
+}
|