Browse Source

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

administrator 11 years ago
parent
commit
e39f6d72ea

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryItemDao.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.PurchaseInquiryItem;
+
+@Repository
+public interface PurchaseInquiryItemDao extends JpaSpecificationExecutor<PurchaseInquiryItem>, JpaRepository<PurchaseInquiryItem, Long> {
+
+}

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

@@ -1,7 +1,11 @@
 package com.uas.platform.b2b.dao;
 package com.uas.platform.b2b.dao;
 
 
+import java.util.List;
+
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
 
 
 import com.uas.platform.b2b.model.PurchaseInquiryReply;
 import com.uas.platform.b2b.model.PurchaseInquiryReply;
@@ -9,4 +13,14 @@ import com.uas.platform.b2b.model.PurchaseInquiryReply;
 @Repository
 @Repository
 public interface PurchaseInquiryReplyDao extends JpaSpecificationExecutor<PurchaseInquiryReply>, JpaRepository<PurchaseInquiryReply, Long> {
 public interface PurchaseInquiryReplyDao extends JpaSpecificationExecutor<PurchaseInquiryReply>, JpaRepository<PurchaseInquiryReply, Long> {
 
 
+	/**
+	 * 按询价方企业ID和询价明细状态查找关联的报价信息
+	 * 
+	 * @param enUU
+	 * @param status
+	 * @return
+	 */
+	@Query("from PurchaseInquiryReply r where r.inquiryItem.inquiry.enUU = :enUU and r.inquiryItem.status = :status")
+	List<PurchaseInquiryReply> findByEnUUAndItemStatus(@Param("enUU") long enUU, @Param("status") short status);
+
 }
 }

+ 7 - 4
src/main/java/com/uas/platform/b2b/erp/controller/InquiryController.java

@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 
 import com.uas.platform.b2b.erp.model.Inquiry;
 import com.uas.platform.b2b.erp.model.Inquiry;
+import com.uas.platform.b2b.erp.model.InquiryDecide;
 import com.uas.platform.b2b.erp.model.InquiryDetailDet;
 import com.uas.platform.b2b.erp.model.InquiryDetailDet;
 import com.uas.platform.b2b.erp.service.InquiryService;
 import com.uas.platform.b2b.erp.service.InquiryService;
 import com.uas.platform.b2b.service.PurchaseInquiryService;
 import com.uas.platform.b2b.service.PurchaseInquiryService;
@@ -48,7 +49,7 @@ public class InquiryController {
 		List<Inquiry> inquiries = FlexJsonUtils.fromJsonArray(jsonStr, Inquiry.class);
 		List<Inquiry> inquiries = FlexJsonUtils.fromJsonArray(jsonStr, Inquiry.class);
 		purchaseInquiryService.save(inquiryService.convertInquiry(inquiries));
 		purchaseInquiryService.save(inquiryService.convertInquiry(inquiries));
 	}
 	}
-	
+
 	/**
 	/**
 	 * 买家ERP获取平台的报价信息
 	 * 买家ERP获取平台的报价信息
 	 * 
 	 * 
@@ -59,7 +60,7 @@ public class InquiryController {
 	public List<InquiryDetailDet> getReply() {
 	public List<InquiryDetailDet> getReply() {
 		return inquiryService.convertPurchaseInquiryReply(purchaseInquiryService.findNotUploadReply());
 		return inquiryService.convertPurchaseInquiryReply(purchaseInquiryService.findNotUploadReply());
 	}
 	}
-	
+
 	/**
 	/**
 	 * 平台的报价信息传到买家ERP之后,修改平台里面的询价单明细的上传状态
 	 * 平台的报价信息传到买家ERP之后,修改平台里面的询价单明细的上传状态
 	 * 
 	 * 
@@ -71,7 +72,7 @@ public class InquiryController {
 	public void onReplySuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
 	public void onReplySuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
 		purchaseInquiryService.onReplyUploadSuccess(URLDecoder.decode(data, "UTF-8").split(","));
 		purchaseInquiryService.onReplyUploadSuccess(URLDecoder.decode(data, "UTF-8").split(","));
 	}
 	}
-	
+
 	/**
 	/**
 	 * 买家ERP(不)采纳了价格之后,修改平台里面的报价信息的状态
 	 * 买家ERP(不)采纳了价格之后,修改平台里面的报价信息的状态
 	 * 
 	 * 
@@ -81,7 +82,9 @@ public class InquiryController {
 	@RequestMapping(value = "/reply/decide", method = RequestMethod.POST)
 	@RequestMapping(value = "/reply/decide", method = RequestMethod.POST)
 	@ResponseBody
 	@ResponseBody
 	public void onReplyDecide(@RequestParam("data") String data) throws UnsupportedEncodingException {
 	public void onReplyDecide(@RequestParam("data") String data) throws UnsupportedEncodingException {
-		
+		String jsonStr = URLDecoder.decode(data, "UTF-8");
+		List<InquiryDecide> decides = FlexJsonUtils.fromJsonArray(jsonStr, InquiryDecide.class);
+		purchaseInquiryService.onReplyDecide(inquiryService.convertInquiryDecide(decides));
 	}
 	}
 
 
 }
 }

+ 45 - 0
src/main/java/com/uas/platform/b2b/erp/model/InquiryDecide.java

@@ -0,0 +1,45 @@
+package com.uas.platform.b2b.erp.model;
+
+import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.core.model.Constant;
+
+/**
+ * 买家ERP系统对报价单的采纳结果
+ * 
+ * @author yingp
+ * 
+ */
+public class InquiryDecide {
+
+	private Long b2b_id_id;
+	private Short id_agreed;
+
+	public Long getB2b_id_id() {
+		return b2b_id_id;
+	}
+
+	public void setB2b_id_id(Long b2b_id_id) {
+		this.b2b_id_id = b2b_id_id;
+	}
+
+	public Short getId_agreed() {
+		return id_agreed == null ? Constant.NO : (short) Math.abs(id_agreed);
+	}
+
+	public void setId_agreed(Short id_agreed) {
+		this.id_agreed = id_agreed;
+	}
+
+	/**
+	 * 采纳结果转到平台的询价明细
+	 * 
+	 * @return
+	 */
+	public PurchaseInquiryItem convert() {
+		PurchaseInquiryItem item = new PurchaseInquiryItem();
+		item.setId(this.b2b_id_id);
+		item.setAgreed(this.getId_agreed());
+		return item;
+	}
+
+}

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

@@ -3,7 +3,9 @@ package com.uas.platform.b2b.erp.service;
 import java.util.List;
 import java.util.List;
 
 
 import com.uas.platform.b2b.erp.model.Inquiry;
 import com.uas.platform.b2b.erp.model.Inquiry;
+import com.uas.platform.b2b.erp.model.InquiryDecide;
 import com.uas.platform.b2b.erp.model.InquiryDetailDet;
 import com.uas.platform.b2b.erp.model.InquiryDetailDet;
+import com.uas.platform.b2b.model.PurchaseInquiryItem;
 import com.uas.platform.b2b.model.PurchaseInquiryReply;
 import com.uas.platform.b2b.model.PurchaseInquiryReply;
 
 
 public interface InquiryService {
 public interface InquiryService {
@@ -24,4 +26,12 @@ public interface InquiryService {
 	 */
 	 */
 	List<InquiryDetailDet> convertPurchaseInquiryReply(List<PurchaseInquiryReply> inquiryReplies);
 	List<InquiryDetailDet> convertPurchaseInquiryReply(List<PurchaseInquiryReply> inquiryReplies);
 
 
+	/**
+	 * 将买家ERP对报价信息的采纳结果,转到平台的询价明细里面
+	 * 
+	 * @param decides
+	 * @return
+	 */
+	List<PurchaseInquiryItem> convertInquiryDecide(List<InquiryDecide> decides);
+
 }
 }

+ 11 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java

@@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
 import com.uas.platform.b2b.dao.ProductDao;
 import com.uas.platform.b2b.dao.ProductDao;
 import com.uas.platform.b2b.dao.PurchaseInquiryDao;
 import com.uas.platform.b2b.dao.PurchaseInquiryDao;
 import com.uas.platform.b2b.erp.model.Inquiry;
 import com.uas.platform.b2b.erp.model.Inquiry;
+import com.uas.platform.b2b.erp.model.InquiryDecide;
 import com.uas.platform.b2b.erp.model.InquiryDetailDet;
 import com.uas.platform.b2b.erp.model.InquiryDetailDet;
 import com.uas.platform.b2b.erp.service.InquiryService;
 import com.uas.platform.b2b.erp.service.InquiryService;
 import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.Product;
@@ -69,4 +70,14 @@ public class InquiryServiceImpl implements InquiryService {
 		return dets;
 		return dets;
 	}
 	}
 
 
+	@Override
+	public List<PurchaseInquiryItem> convertInquiryDecide(List<InquiryDecide> decides) {
+		List<PurchaseInquiryItem> inquiryItems = new ArrayList<PurchaseInquiryItem>();
+		if (!CollectionUtils.isEmpty(decides)) {
+			for (InquiryDecide decide : decides)
+				inquiryItems.add(decide.convert());
+		}
+		return inquiryItems;
+	}
+
 }
 }

+ 42 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseInquiryItem.java

@@ -100,6 +100,24 @@ public class PurchaseInquiryItem {
 	@OneToMany(mappedBy = "inquiryItem", cascade = { CascadeType.REFRESH, CascadeType.PERSIST, CascadeType.REMOVE, CascadeType.MERGE }, fetch = FetchType.EAGER)
 	@OneToMany(mappedBy = "inquiryItem", cascade = { CascadeType.REFRESH, CascadeType.PERSIST, CascadeType.REMOVE, CascadeType.MERGE }, fetch = FetchType.EAGER)
 	@OrderBy("price")
 	@OrderBy("price")
 	private Set<PurchaseInquiryReply> replies;
 	private Set<PurchaseInquiryReply> replies;
+	
+	/**
+	 * (针对买家的)报价信息传输状态{待上传、已下载}
+	 */
+	@Column(name = "id_status")
+	private Short status;
+
+	/**
+	 * (针对卖家的)报价信息传输状态{待上传、已下载}
+	 */
+	@Column(name = "id_sendstatus")
+	private Short sendStatus;
+
+	/**
+	 * 是否采纳
+	 */
+	@Column(name = "id_agreed")
+	private Short agreed;
 
 
 	public Long getId() {
 	public Long getId() {
 		return id;
 		return id;
@@ -197,4 +215,28 @@ public class PurchaseInquiryItem {
 	public void setVendUserUU(Long vendUserUU) {
 	public void setVendUserUU(Long vendUserUU) {
 		this.vendUserUU = vendUserUU;
 		this.vendUserUU = vendUserUU;
 	}
 	}
+
+	public Short getAgreed() {
+		return agreed;
+	}
+
+	public void setAgreed(Short agreed) {
+		this.agreed = agreed;
+	}
+
+	public Short getStatus() {
+		return status;
+	}
+
+	public void setStatus(Short status) {
+		this.status = status;
+	}
+
+	public Short getSendStatus() {
+		return sendStatus;
+	}
+
+	public void setSendStatus(Short sendStatus) {
+		this.sendStatus = sendStatus;
+	}
 }
 }

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

@@ -112,24 +112,6 @@ public class PurchaseInquiryReply implements Serializable {
 	@Column(name = "ir_recorder")
 	@Column(name = "ir_recorder")
 	private String recorder;
 	private String recorder;
 
 
-	/**
-	 * 是否采纳
-	 */
-	@Column(name = "ir_agreed")
-	private Short agreed;
-
-	/**
-	 * (针对买家的)传输状态{待上传、已下载}
-	 */
-	@Column(name = "ir_status")
-	private Short status;
-
-	/**
-	 * (针对卖家的)传输状态{待上传、已下载}
-	 */
-	@Column(name = "ir_sendstatus")
-	private Short sendStatus;
-
 	public Long getId() {
 	public Long getId() {
 		return id;
 		return id;
 	}
 	}
@@ -236,28 +218,4 @@ public class PurchaseInquiryReply implements Serializable {
 		this.recorder = recorder;
 		this.recorder = recorder;
 	}
 	}
 
 
-	public Short getAgreed() {
-		return agreed;
-	}
-
-	public void setAgreed(Short agreed) {
-		this.agreed = agreed;
-	}
-
-	public Short getStatus() {
-		return status;
-	}
-
-	public void setStatus(Short status) {
-		this.status = status;
-	}
-
-	public Short getSendStatus() {
-		return sendStatus;
-	}
-
-	public void setSendStatus(Short sendStatus) {
-		this.sendStatus = sendStatus;
-	}
-
 }
 }

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

@@ -2,6 +2,7 @@ package com.uas.platform.b2b.service;
 
 
 import java.util.List;
 import java.util.List;
 
 
+import com.uas.platform.b2b.model.PurchaseInquiryItem;
 import com.uas.platform.b2b.model.PurchaseInquiryReply;
 import com.uas.platform.b2b.model.PurchaseInquiryReply;
 
 
 public interface PurchaseInquiryService {
 public interface PurchaseInquiryService {
@@ -28,5 +29,12 @@ public interface PurchaseInquiryService {
 	 * @param idArray
 	 * @param idArray
 	 */
 	 */
 	public void onReplyUploadSuccess(String[] idArray);
 	public void onReplyUploadSuccess(String[] idArray);
+	
+	/**
+	 * 报价信息(不)采纳之后,写到平台
+	 * 
+	 * @param idArray
+	 */
+	public void onReplyDecide(List<PurchaseInquiryItem> inquiryItems);
 
 
 }
 }

+ 20 - 3
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -7,12 +7,15 @@ import java.util.Set;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import com.uas.platform.b2b.dao.PurchaseInquiryItemDao;
 import com.uas.platform.b2b.dao.PurchaseInquiryReplyDao;
 import com.uas.platform.b2b.dao.PurchaseInquiryReplyDao;
 import com.uas.platform.b2b.model.PurchaseInquiry;
 import com.uas.platform.b2b.model.PurchaseInquiry;
 import com.uas.platform.b2b.model.PurchaseInquiryItem;
 import com.uas.platform.b2b.model.PurchaseInquiryItem;
 import com.uas.platform.b2b.model.PurchaseInquiryReply;
 import com.uas.platform.b2b.model.PurchaseInquiryReply;
 import com.uas.platform.b2b.service.PurchaseInquiryService;
 import com.uas.platform.b2b.service.PurchaseInquiryService;
+import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.XingePusher;
 import com.uas.platform.b2b.support.XingePusher;
+import com.uas.platform.core.model.Status;
 
 
 @Service
 @Service
 public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
@@ -20,6 +23,9 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 	@Autowired
 	@Autowired
 	private PurchaseInquiryReplyDao purchaseInquiryReplyDao;
 	private PurchaseInquiryReplyDao purchaseInquiryReplyDao;
 
 
+	@Autowired
+	private PurchaseInquiryItemDao purchaseInquiryItemDao;
+
 	@Override
 	@Override
 	public void save(List<PurchaseInquiryReply> inquiryReplies) {
 	public void save(List<PurchaseInquiryReply> inquiryReplies) {
 		purchaseInquiryReplyDao.save(inquiryReplies);
 		purchaseInquiryReplyDao.save(inquiryReplies);
@@ -44,13 +50,24 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 
 
 	@Override
 	@Override
 	public List<PurchaseInquiryReply> findNotUploadReply() {
 	public List<PurchaseInquiryReply> findNotUploadReply() {
-		
-		return null;
+		return purchaseInquiryReplyDao.findByEnUUAndItemStatus(SystemSession.getUser().getEnterprise().getUu(),
+				(short) Status.NOT_UPLOAD.value());
 	}
 	}
 
 
 	@Override
 	@Override
 	public void onReplyUploadSuccess(String[] idArray) {
 	public void onReplyUploadSuccess(String[] idArray) {
-		
+		for (String id : idArray) {
+			PurchaseInquiryItem item = purchaseInquiryItemDao.findOne(Long.parseLong(id));
+			if (item != null) {
+				item.setStatus((short) Status.DOWNLOADED.value());
+				purchaseInquiryItemDao.save(item);
+			}
+		}
+	}
+
+	@Override
+	public void onReplyDecide(List<PurchaseInquiryItem> inquiryItems) {
+		purchaseInquiryItemDao.save(inquiryItems);
 	}
 	}
 
 
 }
 }