Browse Source

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

administrator 11 years ago
parent
commit
83358c3aaf

+ 9 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryItemDao.java

@@ -32,4 +32,13 @@ public interface PurchaseInquiryItemDao extends JpaSpecificationExecutor<Purchas
 	 */
 	@Query("from PurchaseInquiryItem d where d.inquiry.enUU = :enUU and d.inquiry.code = :code and d.number = :number")
 	List<PurchaseInquiryItem> findByEnUUAndCodeAndNumber(@Param("enUU") long enUU, @Param("code") String code, @Param("number") short number);
+	
+	/**
+	 * 按卖家企业ID和询价明细的报价信息传到卖家ERP状态查找询价明细
+	 * 
+	 * @param vendUU
+	 * @param replySendStatus
+	 * @return
+	 */
+	List<PurchaseInquiryItem> findByVendUUAndReplySendStatus(long vendUU, short replySendStatus);
 }

+ 23 - 0
src/main/java/com/uas/platform/b2b/erp/controller/QuotationDownController.java

@@ -70,4 +70,27 @@ public class QuotationDownController {
 		purchaseInquiryService.reply(downs);
 	}
 
+	/**
+	 * 卖家ERP从平台获取在平台报价的记录
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/reply", method = RequestMethod.GET)
+	@ResponseBody
+	public List<QuotationDown> getReply() {
+		return quotationDownService.convertInquiryReply(purchaseInquiryService.findNotUploadInquiryReply());
+	}
+
+	/**
+	 * 平台的报价记录传到供应商ERP之后,修改平台里面的询价明细的报价记录上传状态
+	 * 
+	 * @return
+	 * @throws UnsupportedEncodingException
+	 */
+	@RequestMapping(value = "/reply/back", method = RequestMethod.POST)
+	@ResponseBody
+	public void onReplyDownSuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		purchaseInquiryService.onReplyDownSuccess(URLDecoder.decode(data, "UTF-8").split(","));
+	}
+
 }

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

@@ -11,6 +11,7 @@ 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;
+import com.uas.platform.core.model.Status;
 
 /**
  * 买家ERP系统的采购询价单明细
@@ -183,6 +184,7 @@ public class InquiryDetail {
 		product.setEnUU(SystemSession.getUser().getEnterprise().getUu());
 		inquiryItem.setProduct(product);
 		inquiryItem.setSourceId(this.id_id);
+		inquiryItem.setStatus((short) Status.NOT_REPLY.value());
 		if (!CollectionUtils.isEmpty(this.dets)) {
 			Set<PurchaseInquiryReply> replies = new HashSet<PurchaseInquiryReply>();
 			for (InquiryDetailDet det : this.dets) {

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

@@ -15,4 +15,12 @@ public interface QuotationDownService {
 	 */
 	List<QuotationDown> convertPurchaseInquiry(List<PurchaseInquiryItem> inquiryItems);
 
+	/**
+	 * 平台的客户询价单的报价信息,转为卖家ERP的客户询价单的报价信息
+	 * 
+	 * @param inquiryItems
+	 * @return
+	 */
+	List<QuotationDown> convertInquiryReply(List<PurchaseInquiryItem> inquiryItems);
+
 }

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

@@ -23,4 +23,14 @@ public class QuotationDownServiceImpl implements QuotationDownService {
 		return downs;
 	}
 
+	@Override
+	public List<QuotationDown> convertInquiryReply(List<PurchaseInquiryItem> inquiryItems) {
+		List<QuotationDown> downs = new ArrayList<QuotationDown>();
+		if (!CollectionUtils.isEmpty(inquiryItems)) {
+			for (PurchaseInquiryItem item : inquiryItems)
+				downs.add(new QuotationDown(item));
+		}
+		return downs;
+	}
+
 }

+ 30 - 2
src/main/java/com/uas/platform/b2b/model/PurchaseInquiryItem.java

@@ -139,16 +139,28 @@ public class PurchaseInquiryItem {
 	private Set<PurchaseInquiryReply> replies;
 	
 	/**
-	 * (针对买家的)报价信息传输状态{待上传、已下载}
+	 * {未回复、已回复}
 	 */
 	@Column(name = "id_status")
 	private Short status;
 
 	/**
-	 * (针对卖家的)报价信息传输状态{待上传、已下载}
+	 * (针对卖家的)询价传输状态{待上传、已下载}
 	 */
 	@Column(name = "id_sendstatus")
 	private Short sendStatus;
+	
+	/**
+	 * (针对买家的)报价信息传输状态{待上传、已下载}
+	 */
+	@Column(name = "id_backstatus")
+	private Short backStatus;
+
+	/**
+	 * (针对卖家的)报价信息传输状态{待上传、已下载}
+	 */
+	@Column(name = "id_replysendstatus")
+	private Short replySendStatus;
 
 	/**
 	 * 是否采纳
@@ -324,4 +336,20 @@ public class PurchaseInquiryItem {
 	public void setMinPackQty(Double minPackQty) {
 		this.minPackQty = minPackQty;
 	}
+
+	public Short getBackStatus() {
+		return backStatus;
+	}
+
+	public void setBackStatus(Short backStatus) {
+		this.backStatus = backStatus;
+	}
+
+	public Short getReplySendStatus() {
+		return replySendStatus;
+	}
+
+	public void setReplySendStatus(Short replySendStatus) {
+		this.replySendStatus = replySendStatus;
+	}
 }

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

@@ -45,6 +45,13 @@ public interface PurchaseInquiryService {
 	 */
 	List<PurchaseInquiryItem> findNotUploadInquiry();
 
+	/**
+	 * 查找所有待上传到卖家ERP的报价信息
+	 * 
+	 * @return
+	 */
+	List<PurchaseInquiryItem> findNotUploadInquiryReply();
+
 	/**
 	 * 平台的客户询价单传到供应商ERP之后,修改平台里面的询价单的上传状态
 	 * 
@@ -52,6 +59,13 @@ public interface PurchaseInquiryService {
 	 */
 	public void onQuotationDownSuccess(String[] idArray);
 
+	/**
+	 * 平台的客户询价单的报价信息传到供应商ERP之后,修改平台里面的询价单的报价信息上传状态
+	 * 
+	 * @param idArray
+	 */
+	public void onReplyDownSuccess(String[] idArray);
+
 	/**
 	 * 来自供应商ERP端的报价
 	 * 

+ 22 - 6
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -38,12 +38,11 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 				PurchaseInquiry inquiry = inquiryItem.getInquiry();
 				if (inquiryItem.getVendUserUU() != null) {
 					// Android
-					XingePusher.pushSingleAccountAndroid(inquiryItem.getVendUserUU().toString(), "新增一条客户询价-", "单号:"
-							+ inquiry.getCode() + ",客户:" + inquiry.getEnterprise().getEnName(),
-							"com.sas.mobile.activity.PurchaseChangeActivity");
+					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());
+					XingePusher.pushSingleAccountIOS(inquiryItem.getVendUserUU().toString(), "新增一条客户询价-" + "单号:" + inquiry.getCode()
+							+ ",客户:" + inquiry.getEnterprise().getEnName());
 				}
 				itemId.add(inquiryItem.getId());
 			}
@@ -91,7 +90,24 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 
 	@Override
 	public void reply(List<QuotationDown> downs) {
-		
+
+	}
+
+	@Override
+	public List<PurchaseInquiryItem> findNotUploadInquiryReply() {
+		return purchaseInquiryItemDao.findByVendUUAndReplySendStatus(SystemSession.getUser().getEnterprise().getUu(),
+				(short) Status.NOT_UPLOAD.value());
+	}
+
+	@Override
+	public void onReplyDownSuccess(String[] idArray) {
+		for (String id : idArray) {
+			PurchaseInquiryItem item = purchaseInquiryItemDao.findOne(Long.parseLong(id));
+			if (item != null) {
+				item.setReplySendStatus((short) Status.DOWNLOADED.value());
+				purchaseInquiryItemDao.save(item);
+			}
+		}
 	}
 
 }