Browse Source

更新应付发票上传成功判断的方法

hejq 7 years ago
parent
commit
0e8f47c8c3

+ 12 - 4
src/main/java/com/uas/platform/b2b/dao/PurchaseApBillDao.java

@@ -1,8 +1,6 @@
 package com.uas.platform.b2b.dao;
 
-import java.util.Date;
-import java.util.List;
-
+import com.uas.platform.b2b.model.PurchaseApBill;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
@@ -10,7 +8,8 @@ import org.springframework.data.jpa.repository.query.Procedure;
 import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
-import com.uas.platform.b2b.model.PurchaseApBill;
+import java.util.Date;
+import java.util.List;
 
 @Repository
 public interface PurchaseApBillDao extends JpaSpecificationExecutor<PurchaseApBill>, JpaRepository<PurchaseApBill, Long> {
@@ -67,4 +66,13 @@ public interface PurchaseApBillDao extends JpaSpecificationExecutor<PurchaseApBi
 	 */
 	@Procedure(procedureName = "refreshamountandtaxsum")
     void refreshAmountAndTaxSum(Long uu, String inoutno);
+
+	/**
+	 * 通过企业UU和erpId查询单据是否存在
+	 *
+	 * @param enUU 企业UU
+	 * @param erpId erpId
+	 * @return
+	 */
+    List<PurchaseApBill> findByEnUUAndErpId(Long enUU, Long erpId);
 }

+ 12 - 12
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseAPBillController.java

@@ -1,16 +1,5 @@
 package com.uas.platform.b2b.erp.controller;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-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.ResponseBody;
-
 import com.uas.platform.b2b.erp.model.PurchaseAPBill;
 import com.uas.platform.b2b.erp.service.PurchaseAPBillService;
 import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
@@ -19,6 +8,16 @@ import com.uas.platform.b2b.service.ApbillAdjustmentService;
 import com.uas.platform.b2b.service.PurchaseApBillService;
 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.stereotype.Controller;
+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.ResponseBody;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.List;
 
 /**
  * 对买家ERP的数据接口<br>
@@ -51,11 +50,12 @@ public class PurchaseAPBillController {
 	 */
 	@RequestMapping(method = RequestMethod.POST)
 	@ResponseBody
-	public void saveApBills(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public List<PurchaseAPBill> saveApBills(@RequestParam("data") String data) throws UnsupportedEncodingException {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<PurchaseAPBill> purchaseAPBills = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseAPBill.class);
 		purchaseApBillService.save(purchaseAPBillService.convertApBills(purchaseAPBills));
 		logger.log("采购变更单", "上传采购变更单", purchaseAPBills.size());
+		return purchaseAPBillService.getB2bId(purchaseAPBills);
 	}
 
 	/**

+ 15 - 7
src/main/java/com/uas/platform/b2b/erp/model/PurchaseAPBill.java

@@ -1,17 +1,16 @@
 package com.uas.platform.b2b.erp.model;
 
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.springframework.util.CollectionUtils;
-
 import com.uas.platform.b2b.model.EnterpriseInfo;
 import com.uas.platform.b2b.model.PurchaseApBill;
 import com.uas.platform.b2b.model.PurchaseApBillItem;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.model.Status;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
 /**
  * 采购方角度ERP应付票据单
@@ -43,6 +42,7 @@ public class PurchaseAPBill {
 	private Double ab_differ;
 	private String ab_remark;
 	private List<PurchaseAPBillDetail> details;
+	private Long ab_b2bid;
 
 	public Long getAb_id() {
 		return ab_id;
@@ -212,6 +212,14 @@ public class PurchaseAPBill {
 		this.details = details;
 	}
 
+	public Long getAb_b2bid() {
+		return ab_b2bid;
+	}
+
+	public void setAb_b2bid(Long ab_b2bid) {
+		this.ab_b2bid = ab_b2bid;
+	}
+
 	public PurchaseApBill convert() {
 		PurchaseApBill apBill = new PurchaseApBill();
 		apBill.setErpId(ab_id);

+ 9 - 2
src/main/java/com/uas/platform/b2b/erp/service/PurchaseAPBillService.java

@@ -1,12 +1,12 @@
 package com.uas.platform.b2b.erp.service;
 
-import java.util.List;
-
 import com.uas.platform.b2b.erp.model.PurchaseAPBill;
 import com.uas.platform.b2b.model.ApbillAdjustment;
 import com.uas.platform.b2b.model.PurchaseApBill;
 import com.uas.platform.b2b.model.PurchaseApBillItem;
 
+import java.util.List;
+
 public interface PurchaseAPBillService {
 
 	/**
@@ -32,4 +32,11 @@ public interface PurchaseAPBillService {
 	 */
 	List<ApbillAdjustment> convertApbillAdjustment(List<PurchaseAPBill> apBills);
 
+	/**
+	 * 获取应付发票对应的平台的ID
+	 *
+	 * @param purchaseAPBills erp应付发票
+	 * @return
+	 */
+    List<PurchaseAPBill> getB2bId(List<PurchaseAPBill> purchaseAPBills);
 }

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

@@ -116,4 +116,20 @@ public class PurchaseAPBillServiceImpl implements PurchaseAPBillService {
 		return adjusts;
 	}
 
+	/**
+	 * 获取应付发票对应的平台的ID
+	 *
+	 * @param purchaseAPBills erp应付发票
+	 * @return
+	 */
+	@Override
+	public List<PurchaseAPBill> getB2bId(List<PurchaseAPBill> purchaseAPBills) {
+	    for (PurchaseAPBill apBill : purchaseAPBills) {
+	        List<PurchaseApBill> apBills = purchaseApBillDao.findByEnUUAndErpId(SystemSession.getUser().getEnterprise().getUu(), apBill.getAb_id());
+	        if (!CollectionUtils.isEmpty(apBills)) {
+	            apBill.setAb_b2bid(apBills.get(0).getId());
+            }
+        }
+		return purchaseAPBills;
+	}
 }