Преглед на файлове

采购询价单、采购订单上传状态增加检测同步的功能

hejq преди 8 години
родител
ревизия
cbf055c484

+ 9 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseOrderDao.java

@@ -77,4 +77,13 @@ public interface PurchaseOrderDao extends JpaSpecificationExecutor<PurchaseOrder
      */
 	@Query("select p.id from PurchaseOrderAll p where p.id in :ids and p.status=200 and nvl(p.end,0)=0")
 	List<Long> findNotReplyId(@Param("ids") List<Long> ids);
+
+	/**
+	 * 通过企业UU和来源id查询单据是否存在
+	 *
+	 * @param uu
+	 * @param id
+	 * @return
+	 */
+	List<PurchaseOrder> findByEnUUAndAndErpId(Long uu, Long id);
 }

+ 66 - 0
src/main/java/com/uas/platform/b2b/erp/controller/CheckTransController.java

@@ -0,0 +1,66 @@
+package com.uas.platform.b2b.erp.controller;
+
+import com.uas.platform.b2b.erp.model.Inquiry;
+import com.uas.platform.b2b.erp.model.Purchase;
+import com.uas.platform.b2b.erp.service.InquiryService;
+import com.uas.platform.b2b.erp.service.PurchaseService;
+import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.List;
+
+/**
+ * 针对每个数据传输进行数据传输验证(针对买家)
+ *
+ * Created by hejq on 2018-04-19.
+ */
+@RequestMapping("/erp/buyer")
+@RestController
+public class CheckTransController {
+
+    @Autowired
+    private InquiryService inquiryService;
+
+    @Autowired
+    private PurchaseService purchaseService;
+
+    private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
+
+    /**
+     * 通过上传的数据查询询价单在平台是否存在
+     *
+     * @param data 封装的上传的数据
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    @RequestMapping(value = "/inquiry", method = RequestMethod.POST)
+    public List<Inquiry> getInquiryB2bId(@RequestParam("data") String data) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<Inquiry> inquiryList = FlexJsonUtils.fromJsonArray(jsonStr, Inquiry.class);
+        logger.log("单据传输检测", "采购询价单", inquiryList.size());
+        return inquiryService.getB2bId(inquiryList);
+    }
+
+    /**
+     * 通过上传id查询平台采购单对应的id
+     *
+     * @param data 封装的id信息
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    @RequestMapping(value = "/purchase", method = RequestMethod.POST)
+    public List<Purchase> getPurchaseB2bId(@RequestParam("data") String data) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<Purchase> purchaseList = FlexJsonUtils.fromJsonArray(jsonStr, Purchase.class);
+        logger.log("单据传输检测", "采购订单", purchaseList.size());
+        return purchaseService.getB2bId(purchaseList);
+    }
+}

+ 9 - 0
src/main/java/com/uas/platform/b2b/erp/model/Inquiry.java

@@ -28,6 +28,7 @@ public class Inquiry {
 	private String in_pricetype;
 	private List<InquiryDetail> details;
 	private String in_kind; //询价类型
+	private Long in_b2bid; // b2b存储的id信息
 	/**
 	 * 主动报价时,平台的主动报价单SaleQuotation的ID
 	 */
@@ -163,6 +164,14 @@ public class Inquiry {
 		this.in_kind = in_kind;
 	}
 
+	public Long getIn_b2bid() {
+		return in_b2bid;
+	}
+
+	public void setIn_b2bid(Long in_b2bid) {
+		this.in_b2bid = in_b2bid;
+	}
+
 	/**
 	 * 转为平台的采购询价
 	 * 

+ 9 - 0
src/main/java/com/uas/platform/b2b/erp/model/Purchase.java

@@ -53,6 +53,7 @@ public class Purchase {
 	private String pu_custcode; // 客户编号,
 	private String pu_custname; // 客户名称。
 	private String pu_transport;
+	private Long pu_b2bid;// 查询平台的id号
 
 	public String getPu_code() {
 		return pu_code;
@@ -302,6 +303,14 @@ public class Purchase {
 		this.pu_transport = pu_transport;
 	}
 
+	public Long getPu_b2bid() {
+		return pu_b2bid;
+	}
+
+	public void setPu_b2bid(Long pu_b2bid) {
+		this.pu_b2bid = pu_b2bid;
+	}
+
 	/**
 	 * 转为平台的采购订单
 	 * 

+ 8 - 0
src/main/java/com/uas/platform/b2b/erp/service/InquiryService.java

@@ -58,4 +58,12 @@ public interface InquiryService {
      * @param details
      */
     void save(List<InquiryDetail> details);
+
+	/**
+	 * 通过ERP上传的数据查询平台存储的id
+	 *
+	 * @param inquiryList 询价信息
+	 * @return 获取结果的询价信息
+	 */
+	List<Inquiry> getB2bId(List<Inquiry> inquiryList);
 }

+ 7 - 0
src/main/java/com/uas/platform/b2b/erp/service/PurchaseService.java

@@ -53,4 +53,11 @@ public interface PurchaseService {
 	 */
 	List<MessageLog> convertMessageLog(List<PrintLog> printNotUploadReply);
 
+	/**
+	 * 通过上传id查询平台采购单对应的id
+     *
+	 * @param purchaseList purchase数组
+	 * @return
+	 */
+    List<Purchase> getB2bId(List<Purchase> purchaseList);
 }

+ 17 - 1
src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java

@@ -1,6 +1,5 @@
 package com.uas.platform.b2b.erp.service.impl;
 
-import com.uas.sso.util.AccountUtils;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.Inquiry;
@@ -297,4 +296,21 @@ public class InquiryServiceImpl implements InquiryService {
         List<Inquiry> inquiries = commonDao.getJdbcTemplate().query(sql, new BeanPropertyRowMapper<Inquiry>(Inquiry.class));
         return inquiries.size() > 0 ? inquiries.get(0) : null;
     }
+
+	/**
+	 * 通过ERP上传的数据查询平台存储的id
+	 *
+	 * @param inquiryList 询价信息
+	 * @return 获取结果的询价信息
+	 */
+	@Override
+	public List<Inquiry> getB2bId(List<Inquiry> inquiryList) {
+		for (Inquiry inquiry : inquiryList) {
+			List<PurchaseInquiry> inquiries = purchaseInquiryDao.findByEnUUAndSourceId(SystemSession.getUser().getEnterprise().getUu(), inquiry.getIn_id());
+			if (!CollectionUtils.isEmpty(inquiries)) {
+				inquiry.setIn_b2bid(inquiries.get(0).getId());
+			}
+		}
+		return inquiryList;
+	}
 }

+ 16 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseServiceImpl.java

@@ -246,4 +246,20 @@ public class PurchaseServiceImpl implements PurchaseService {
 		return messageLogs;
     }
 
+	/**
+	 * 通过上传id查询平台采购单对应的id
+	 *
+	 * @param purchaseList purchase数组
+	 * @return
+	 */
+	@Override
+	public List<Purchase> getB2bId(List<Purchase> purchaseList) {
+		for (Purchase purchase : purchaseList) {
+            List<PurchaseOrder> purchaseOrders = purchaseOrderDao.findByEnUUAndAndErpId(SystemSession.getUser().getEnterprise().getUu(), purchase.getPu_id());
+		    if (!CollectionUtils.isEmpty(purchaseOrders)) {
+		        purchase.setPu_b2bid(purchaseOrders.get(0).getId());
+            }
+		}
+		return purchaseList;
+	}
 }