Browse Source

采购验退单上传修改错误提示,方便查询问题

hejq 8 years ago
parent
commit
0b9e0cfb95

+ 2 - 0
src/main/java/com/uas/platform/b2b/erp/model/PurchaseProdInOutDetail.java

@@ -160,6 +160,8 @@ public class PurchaseProdInOutDetail {
 		returnItem.setTaxrate(this.pd_taxrate);
 		returnItem.setProdCode(this.pd_prodcode);
 		returnItem.setWhname(this.pd_whname);
+		returnItem.setOrderCode(this.pd_ordercode);
+        returnItem.setOrderDetno(this.pd_orderdetno);
 		if (StringUtils.hasText(this.pd_ordercode)) {
 			PurchaseOrder order = new PurchaseOrder();
 			order.setCode(this.pd_ordercode);

+ 38 - 20
src/main/java/com/uas/platform/b2b/model/PurchaseReturnItem.java

@@ -6,17 +6,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToOne;
-import javax.persistence.SequenceGenerator;
-import javax.persistence.Table;
+import javax.persistence.*;
 
 import org.codehaus.jackson.annotate.JsonIgnore;
 
@@ -125,6 +115,28 @@ public class PurchaseReturnItem {
 	@Column(name = "pri_erpdate")
 	private Date erpDate;
 
+	/**
+	 * 物料资料
+	 */
+	@OneToOne(optional = true, cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = "pri_prodid", insertable = false, updatable = false, nullable = true)
+	private Product product;
+
+	@Column(name = "pri_prodid")
+	private Long prodId;
+
+	/**
+	 * 采购单号,存在ERP上传的采购验退单没有采购单对应的情况,需要这里处理
+	 */
+	@Transient
+	private String orderCode;
+
+	/**
+	 * 采购单明细序号
+	 */
+	@Transient
+	private Short orderDetno;
+
 	public Long getId() {
 		return id;
 	}
@@ -235,13 +247,6 @@ public class PurchaseReturnItem {
 		return list;
 	}
 
-	/**
-	 * 物料资料
-	 */
-	@OneToOne(optional = true, cascade = { CascadeType.REFRESH })
-	@JoinColumn(name = "pri_prodid", insertable = false, updatable = false, nullable = true)
-	private Product product;
-
 	public Long getProdId() {
 		return prodId;
 	}
@@ -250,6 +255,19 @@ public class PurchaseReturnItem {
 		this.prodId = prodId;
 	}
 
-	@Column(name = "pri_prodid")
-	private Long prodId;
+	public String getOrderCode() {
+		return orderCode;
+	}
+
+	public void setOrderCode(String orderCode) {
+		this.orderCode = orderCode;
+	}
+
+	public Short getOrderDetno() {
+		return orderDetno;
+	}
+
+	public void setOrderDetno(Short orderDetno) {
+		this.orderDetno = orderDetno;
+	}
 }

+ 12 - 1
src/main/java/com/uas/platform/b2b/service/impl/PurchaseReturnServiceImpl.java

@@ -9,6 +9,7 @@ import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 
 import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
+import com.uas.platform.core.exception.NotFoundException;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -61,7 +62,17 @@ public class PurchaseReturnServiceImpl implements PurchaseReturnService {
 		for (PurchaseReturnItem item : returnItems) {
 			if (null == item.getOrderItemId()) {
 //				item.setOrderItem(null);
-				saveList.add(item);
+                if (null != item.getOrderCode() && null != item.getOrderDetno()) {
+                    List<PurchaseOrderItem> items = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(SystemSession.getUser().getEnterprise().getUu(), item.getOrderCode(), item.getOrderDetno());
+                    if (!CollectionUtils.isEmpty(items)) {
+                        item.setOrderItemId(items.get(0).getId());
+                        saveList.add(item);
+                    } else {
+                        throw new NotFoundException("与采购单号为“" + item.getOrderCode() + "”,序号为" + item.getOrderDetno() + "对应的采购明细");
+                    }
+                } else {
+                    throw new NotFoundException("与验退单号为“" + item.getPurchaseReturn().getCode() + "”,序号为" + item.getNumber() + "对应的采购明细");
+                }
 			}
 			if (null != item.getOrderItemId() && null != item.getOrderItem().getId()) {
 				PurchaseOrderItem orderItem = purchaseOrderItemDao.findOne(item.getOrderItemId());