Browse Source

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@381 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d

administrator 11 years ago
parent
commit
5298bb1f74

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryReplyDao.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseInquiryReply;
+
+@Repository
+public interface PurchaseInquiryReplyDao extends JpaSpecificationExecutor<PurchaseInquiryReply>, JpaRepository<PurchaseInquiryReply, Long> {
+
+}

+ 33 - 0
src/main/java/com/uas/platform/b2b/erp/model/InquiryDetail.java

@@ -1,7 +1,14 @@
 package com.uas.platform.b2b.erp.model;
 
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.commons.collections.CollectionUtils;
+
 import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.b2b.model.PurchaseInquiryReply;
 import com.uas.platform.b2b.support.SystemSession;
 
 /**
@@ -18,6 +25,8 @@ public class InquiryDetail {
 	private Float id_rate;
 	private Long id_venduu;
 	private String id_remark;
+	private Long id_id;
+	private List<InquiryDetailDet> dets;
 
 	public short getId_detno() {
 		return id_detno;
@@ -67,6 +76,22 @@ public class InquiryDetail {
 		this.id_remark = id_remark;
 	}
 
+	public Long getId_id() {
+		return id_id;
+	}
+
+	public void setId_id(Long id_id) {
+		this.id_id = id_id;
+	}
+
+	public List<InquiryDetailDet> getDets() {
+		return dets;
+	}
+
+	public void setDets(List<InquiryDetailDet> dets) {
+		this.dets = dets;
+	}
+
 	/**
 	 * 转为平台的采购询价明细
 	 * 
@@ -83,6 +108,14 @@ public class InquiryDetail {
 		product.setCode(this.id_prodcode);
 		product.setEnUU(SystemSession.getUser().getEnterprise().getUu());
 		inquiryItem.setProduct(product);
+		inquiryItem.setSourceId(this.id_id);
+		if (!CollectionUtils.isEmpty(this.dets)) {
+			Set<PurchaseInquiryReply> replies = new HashSet<PurchaseInquiryReply>();
+			for (InquiryDetailDet det : this.dets) {
+				replies.add(det.convert());
+			}
+			inquiryItem.setReplies(replies);
+		}
 		return inquiryItem;
 	}
 

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

@@ -3,7 +3,7 @@ package com.uas.platform.b2b.erp.service;
 import java.util.List;
 
 import com.uas.platform.b2b.erp.model.Inquiry;
-import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.b2b.model.PurchaseInquiryReply;
 
 public interface InquiryService {
 
@@ -13,6 +13,6 @@ public interface InquiryService {
 	 * @param inquiries
 	 * @return
 	 */
-	List<PurchaseInquiryItem> convertInquiry(List<Inquiry> inquiries);
+	List<PurchaseInquiryReply> convertInquiry(List<Inquiry> inquiries);
 
 }

+ 10 - 4
src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java

@@ -14,6 +14,7 @@ import com.uas.platform.b2b.erp.service.InquiryService;
 import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.PurchaseInquiry;
 import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.b2b.model.PurchaseInquiryReply;
 import com.uas.platform.b2b.support.SystemSession;
 
 @Service
@@ -26,8 +27,8 @@ public class InquiryServiceImpl implements InquiryService {
 	private PurchaseInquiryDao purchaseInquiryDao;
 
 	@Override
-	public List<PurchaseInquiryItem> convertInquiry(List<Inquiry> inquiries) {
-		List<PurchaseInquiryItem> inquiryItems = new ArrayList<PurchaseInquiryItem>();
+	public List<PurchaseInquiryReply> convertInquiry(List<Inquiry> inquiries) {
+		List<PurchaseInquiryReply> inquiryReplies = new ArrayList<PurchaseInquiryReply>();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		for (Inquiry inquiry : inquiries) {
 			// 先查看是否已存在
@@ -44,12 +45,17 @@ public class InquiryServiceImpl implements InquiryService {
 							item.setProduct(products.get(0));
 							item.setProductId(products.get(0).getId());
 						}
+						if (!CollectionUtils.isEmpty(item.getReplies())) {
+							for (PurchaseInquiryReply reply : item.getReplies()) {
+								reply.setInquiryItem(item);
+							}
+							inquiryReplies.addAll(item.getReplies());
+						}
 					}
-					inquiryItems.addAll(purchaseInquiry.getInquiryItems());
 				}
 			}
 		}
-		return inquiryItems;
+		return inquiryReplies;
 	}
 
 }

+ 35 - 1
src/main/java/com/uas/platform/b2b/model/PurchaseInquiryItem.java

@@ -1,14 +1,19 @@
 package com.uas.platform.b2b.model;
 
+import java.util.Set;
+
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.FetchType;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
+import javax.persistence.OrderBy;
 import javax.persistence.SequenceGenerator;
 import javax.persistence.Table;
 
@@ -29,7 +34,7 @@ public class PurchaseInquiryItem {
 	@SequenceGenerator(name = "purc$inquiryitems_gen", sequenceName = "purc$inquiryitems_seq", allocationSize = 1)
 	@Column(name = "id_id")
 	private Long id;
-	
+
 	/**
 	 * 来源(买家ERP采购询价明细)的ID
 	 */
@@ -83,6 +88,19 @@ public class PurchaseInquiryItem {
 	@Column(name = "id_venduu")
 	private Long vendUU;
 
+	/**
+	 * 供应商联系人UU
+	 */
+	@Column(name = "id_venduseruu")
+	private Long vendUserUU;
+
+	/**
+	 * 分段报价明细
+	 */
+	@OneToMany(mappedBy = "inquiryItem", cascade = { CascadeType.REFRESH, CascadeType.PERSIST, CascadeType.REMOVE, CascadeType.MERGE }, fetch = FetchType.EAGER)
+	@OrderBy("price")
+	private Set<PurchaseInquiryReply> replies;
+
 	public Long getId() {
 		return id;
 	}
@@ -163,4 +181,20 @@ public class PurchaseInquiryItem {
 	public void setVendUU(Long vendUU) {
 		this.vendUU = vendUU;
 	}
+
+	public Set<PurchaseInquiryReply> getReplies() {
+		return replies;
+	}
+
+	public void setReplies(Set<PurchaseInquiryReply> replies) {
+		this.replies = replies;
+	}
+
+	public Long getVendUserUU() {
+		return vendUserUU;
+	}
+
+	public void setVendUserUU(Long vendUserUU) {
+		this.vendUserUU = vendUserUU;
+	}
 }

+ 4 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseInquiryReply.java

@@ -15,6 +15,8 @@ import javax.persistence.OrderBy;
 import javax.persistence.SequenceGenerator;
 import javax.persistence.Table;
 
+import org.codehaus.jackson.annotate.JsonIgnore;
+
 /**
  * 采购询价单明细的报价记录
  * 
@@ -118,6 +120,7 @@ public class PurchaseInquiryReply implements Serializable {
 		this.id = id;
 	}
 
+	@JsonIgnore
 	public Long getSourceId() {
 		return sourceId;
 	}
@@ -134,6 +137,7 @@ public class PurchaseInquiryReply implements Serializable {
 		this.date = date;
 	}
 
+	@JsonIgnore
 	public PurchaseInquiryItem getInquiryItem() {
 		return inquiryItem;
 	}

+ 4 - 4
src/main/java/com/uas/platform/b2b/service/PurchaseInquiryService.java

@@ -2,17 +2,17 @@ package com.uas.platform.b2b.service;
 
 import java.util.List;
 
-import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.b2b.model.PurchaseInquiryReply;
 
 public interface PurchaseInquiryService {
 
 	/**
 	 * 批量保存、修改采购询价
 	 * 
-	 * @param items
-	 *            询价明细
+	 * @param inquiryReplies
+	 *            询价明细分段报价明细
 	 * @return
 	 */
-	public void save(List<PurchaseInquiryItem> items);
+	public void save(List<PurchaseInquiryReply> inquiryReplies);
 
 }

+ 30 - 4
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -1,19 +1,45 @@
 package com.uas.platform.b2b.service.impl;
 
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.uas.platform.b2b.dao.PurchaseInquiryReplyDao;
+import com.uas.platform.b2b.model.PurchaseInquiry;
 import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.b2b.model.PurchaseInquiryReply;
 import com.uas.platform.b2b.service.PurchaseInquiryService;
+import com.uas.platform.b2b.support.XingePusher;
 
 @Service
-public class PurchaseInquiryServiceImpl implements PurchaseInquiryService{
+public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
+
+	@Autowired
+	private PurchaseInquiryReplyDao purchaseInquiryReplyDao;
 
 	@Override
-	public void save(List<PurchaseInquiryItem> items) {
-		// TODO
-		
+	public void save(List<PurchaseInquiryReply> inquiryReplies) {
+		purchaseInquiryReplyDao.save(inquiryReplies);
+		// 将询价信息推送通知供应商联系人UU号
+		Set<Long> itemId = new HashSet<Long>();
+		for (PurchaseInquiryReply reply : inquiryReplies) {
+			if (!itemId.contains(reply.getInquiryItem().getId())) {
+				PurchaseInquiryItem inquiryItem = reply.getInquiryItem();
+				PurchaseInquiry inquiry = inquiryItem.getInquiry();
+				if (inquiryItem.getVendUserUU() != null) {
+					// Android
+					XingePusher.pushSingleAccountAndroid(inquiryItem.getVendUserUU().toString(), "新增一条客户询价-", "单号:" + inquiry.getCode()
+							+ ",客户:" + inquiry.getEnterprise().getEnName(), "com.sas.mobile.activity.PurchaseChangeActivity");
+					// IOS
+					XingePusher.pushSingleAccountIOS(inquiryItem.getVendUserUU().toString(), "新增一条客户询价-" + "单号:" + inquiry.getCode()
+							+ ",客户:" + inquiry.getEnterprise().getEnName());
+				}
+				itemId.add(inquiryItem.getId());
+			}
+		}
 	}
 
 }

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

@@ -51,7 +51,7 @@ public class PurchaseOrderChangeServiceImpl implements PurchaseOrderChangeServic
 	@Override
 	public void save(List<PurchaseOrderChangeItem> changeItems) {
 		purchaseOrderChangeItemDao.save(changeItems);
-		// 将采购变更单信息推送通知供应商管理员UU号
+		// 将采购变更单信息推送通知供应商联系人UU号
 		Set<Long> orderId = new HashSet<Long>();
 		for (PurchaseOrderChangeItem orderItem : changeItems) {
 			if (!orderId.contains(orderItem.getOrderChange().getId())) {

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

@@ -58,7 +58,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	public void save(List<PurchaseOrderAllItem> orderItems) {
 		purchaseOrderAllItemDao.save(orderItems);
-		// 将采购单信息推送通知供应商管理员UU号
+		// 将采购单信息推送通知供应商联系人UU号
 		Set<Long> orderId = new HashSet<Long>();
 		for (PurchaseOrderAllItem orderItem : orderItems) {
 			if (!orderId.contains(orderItem.getOrder().getId())) {