Browse Source

订单关联验收、验退数量

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@896 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg 11 years ago
parent
commit
b71aaee3e8

+ 28 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderAllItem.java

@@ -135,6 +135,18 @@ public class PurchaseOrderAllItem {
 	 */
 	@Column(name = "pd_end")
 	private Short end;
+	
+	/**
+	 * 客户已验收数量
+	 */
+	@Column(name = "pd_acceptqty")
+	private Double acceptQty;
+
+	/**
+	 * 客户验退数量
+	 */
+	@Column(name = "pd_returnqty")
+	private Double returnQty;
 
 	public Long getId() {
 		return id;
@@ -282,6 +294,22 @@ public class PurchaseOrderAllItem {
 		this.end = end;
 	}
 
+	public Double getAcceptQty() {
+		return acceptQty;
+	}
+
+	public void setAcceptQty(Double acceptQty) {
+		this.acceptQty = acceptQty;
+	}
+
+	public Double getReturnQty() {
+		return returnQty;
+	}
+
+	public void setReturnQty(Double returnQty) {
+		this.returnQty = returnQty;
+	}
+
 	public static List<PurchaseOrderAll> distinct(List<PurchaseOrderAllItem> items) {
 		List<PurchaseOrderAll> orders = new ArrayList<PurchaseOrderAll>();
 		Set<Long> keys = new HashSet<Long>();

+ 28 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderItem.java

@@ -134,6 +134,18 @@ public class PurchaseOrderItem {
 	 */
 	@Column(name = "pd_end")
 	private Short end;
+	
+	/**
+	 * 客户已验收数量
+	 */
+	@Column(name = "pd_acceptqty")
+	private Double acceptQty;
+
+	/**
+	 * 客户验退数量
+	 */
+	@Column(name = "pd_returnqty")
+	private Double returnQty;
 
 	/**
 	 * 结案状态是否已传输到卖家ERP的情况
@@ -293,4 +305,20 @@ public class PurchaseOrderItem {
 		this.endStatus = endStatus;
 	}
 
+	public Double getAcceptQty() {
+		return acceptQty;
+	}
+
+	public void setAcceptQty(Double acceptQty) {
+		this.acceptQty = acceptQty;
+	}
+
+	public Double getReturnQty() {
+		return returnQty;
+	}
+
+	public void setReturnQty(Double returnQty) {
+		this.returnQty = returnQty;
+	}
+
 }

+ 15 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseAcceptServiceImpl.java

@@ -19,9 +19,11 @@ import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.dao.PurchaseAcceptDao;
 import com.uas.platform.b2b.dao.PurchaseAcceptIndexDao;
 import com.uas.platform.b2b.dao.PurchaseAcceptItemDao;
+import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
 import com.uas.platform.b2b.event.PurchaseAcceptSaveEvent;
 import com.uas.platform.b2b.model.PurchaseAccept;
 import com.uas.platform.b2b.model.PurchaseAcceptItem;
+import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.service.PurchaseAcceptService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.XingePusher;
@@ -40,11 +42,24 @@ public class PurchaseAcceptServiceImpl implements PurchaseAcceptService {
 
 	@Autowired
 	private PurchaseAcceptIndexDao purchaseAcceptIndexDao;
+	
+	@Autowired
+	private PurchaseOrderItemDao purchaseOrderItemDao;
 
 	@Override
 	public void save(List<PurchaseAcceptItem> acceptItems) {
 		acceptItems = purchaseAcceptItemDao.save(acceptItems);
 		ContextUtils.publishEvent(new PurchaseAcceptSaveEvent(PurchaseAcceptItem.distinct(acceptItems)));
+		//关联订单的验收数量
+		for(PurchaseAcceptItem acceptItem : acceptItems) {
+			List<PurchaseOrderItem> orderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(acceptItem.getOrderItem().getOrder().getEnUU(), 
+					acceptItem.getOrderItem().getOrder().getCode(), acceptItem.getOrderItem().getNumber());
+			if(orderItems.size() > 0) {
+				PurchaseOrderItem orderItem = orderItems.get(0);
+				orderItem.setAcceptQty((orderItem.getAcceptQty() == null ? 0 : orderItems.get(0).getAcceptQty()) + acceptItem.getQty());
+				purchaseOrderItemDao.save(orderItem);
+			}
+		}
 		// 发送推送消息
 		Set<Long> productId = new HashSet<Long>();
 		for (PurchaseAcceptItem acceptItem : acceptItems) {

+ 15 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseReturnServiceImpl.java

@@ -16,10 +16,12 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
 import com.uas.platform.b2b.core.util.ContextUtils;
+import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
 import com.uas.platform.b2b.dao.PurchaseReturnDao;
 import com.uas.platform.b2b.dao.PurchaseReturnIndexDao;
 import com.uas.platform.b2b.dao.PurchaseReturnItemDao;
 import com.uas.platform.b2b.event.PurchaseReturnSaveEvent;
+import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.model.PurchaseReturn;
 import com.uas.platform.b2b.model.PurchaseReturnItem;
 import com.uas.platform.b2b.service.PurchaseReturnService;
@@ -40,11 +42,24 @@ public class PurchaseReturnServiceImpl implements PurchaseReturnService {
 
 	@Autowired
 	private PurchaseReturnIndexDao purchaseReturnIndexDao;
+	
+	@Autowired
+	private PurchaseOrderItemDao purchaseOrderItemDao;
 
 	@Override
 	public void save(List<PurchaseReturnItem> returnItems) {
 		returnItems = purchaseReturnItemDao.save(returnItems);
 		ContextUtils.publishEvent(new PurchaseReturnSaveEvent(PurchaseReturnItem.distinct(returnItems)));
+		//关联订单的验退数量
+		for(PurchaseReturnItem returnItem : returnItems) {
+			List<PurchaseOrderItem> orderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(returnItem.getOrderItem().getOrder().getEnUU(), 
+					returnItem.getOrderItem().getOrder().getCode(), returnItem.getOrderItem().getNumber());
+			if(orderItems.size() > 0) {
+				PurchaseOrderItem orderItem = orderItems.get(0);
+				orderItem.setReturnQty((orderItem.getReturnQty() == null ? 0 : orderItems.get(0).getReturnQty()) + returnItem.getQty());
+				purchaseOrderItemDao.save(orderItem);
+			}
+		}
 		// 发送推送消息
 		Set<Long> productId = new HashSet<Long>();
 		for (PurchaseReturnItem returnItem : returnItems) {