Browse Source

uas作废单据传到b2b之后,会传到saas。修改采购单回复报错问题。

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@8379 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 9 years ago
parent
commit
d4560a171c

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

@@ -156,4 +156,13 @@ public interface PurchaseInquiryItemDao extends JpaSpecificationExecutor<Purchas
 	 * @return
 	 */
 	public PurchaseInquiryItem findByVendUUAndSourceId(Long enuu, Long sourceId);
+
+	/**
+	 * 按卖家企业ID和询价明细的报价信息的作废处理传到卖家ERP的状态查找询价明细
+	 *
+	 * @param uu
+	 * @param value
+	 * @return
+	 */
+    List<PurchaseInquiryItem> findByVendUUAndInvalidStatus(Long uu, short value);
 }

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

@@ -128,4 +128,29 @@ public class QuotationDownController {
 		purchaseInquiryService.onReplyDecideDownSuccess(URLDecoder.decode(data, "UTF-8").split(","));
 	}
 
+	/**
+	 * 卖家ERP从平台获取报价信息的作废
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/reply/invalid", method = RequestMethod.GET)
+	@ResponseBody
+	public List<QuotationDown> getReplyInvalid() {
+		List<QuotationDown> downs = quotationDownService.convertInquiryReply(purchaseInquiryService.findNotUploadInquiryReplyInvalid());
+		logger.log("客户询价单", "下载客户对客户询价单报价信息的作废处理", downs.size());
+		return downs;
+	}
+
+	/**
+	 * 平台的报价信息作废信息传到供应商ERP之后,修改平台里面的作废信息上传状态
+	 *
+	 * @return
+	 * @throws UnsupportedEncodingException
+	 */
+	@RequestMapping(value = "/reply/invalid/back", method = RequestMethod.POST)
+	@ResponseBody
+	public void onReplyInvalidDownSuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		purchaseInquiryService.onReplyInvalidDownSuccess(URLDecoder.decode(data, "UTF-8").split(","));
+	}
+
 }

+ 0 - 5
src/main/java/com/uas/platform/b2b/erp/service/impl/TenderServiceImpl.java

@@ -95,7 +95,6 @@ public class TenderServiceImpl implements TenderService {
         }
         ModelMap map = new ModelMap();
         map.put("id", tender.getId());
-        map.put("code", tender.getCode());
         return map;
     }
 
@@ -112,7 +111,6 @@ public class TenderServiceImpl implements TenderService {
         }
         ModelMap map = new ModelMap();
         map.put("id", tender.getId());
-        map.put("code", tender.getCode());
         return map;
     }
 
@@ -129,7 +127,6 @@ public class TenderServiceImpl implements TenderService {
         }
         ModelMap map = new ModelMap();
         map.put("id", tender.getId());
-        map.put("code", tender.getCode());
         return map;
     }
 
@@ -348,7 +345,6 @@ public class TenderServiceImpl implements TenderService {
         purchaseTenderDao.save(tender);
         ModelMap map = new ModelMap();
         map.put("id", saleTender.getId());
-        map.put("code", saleTender.getCode());
         return map;
     }
 
@@ -465,7 +461,6 @@ public class TenderServiceImpl implements TenderService {
                 }
             }
             map.put("id", oldTender.getId());
-            map.put("code", oldTender.getCode());
             return map;
         }
         map.put("success", false);

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

@@ -215,6 +215,12 @@ public class PurchaseInquiryItem {
 	@Column(name = "id_decidestatus")
 	private Short decideStatus;
 
+	/**
+	 * (针对卖家的)作废信息传输状态{待上传、已下载}
+	 */
+	@Column(name = "id_invalidstatus")
+	private Short invalidStatus;
+
 	/**
 	 * 是否买家已设置分段数
 	 */
@@ -502,6 +508,14 @@ public class PurchaseInquiryItem {
 		this.enterprise = enterprise;
 	}
 
+	public Short getInvalidStatus() {
+		return invalidStatus;
+	}
+
+	public void setInvalidStatus(Short invalidStatus) {
+		this.invalidStatus = invalidStatus;
+	}
+
 	/**
 	 * 回复记录的描述
 	 * 

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

@@ -141,6 +141,12 @@ public interface PurchaseInquiryService {
 	 */
 	public void onReplyDecideDownSuccess(String[] idArray);
 
+	/**
+	 * 平台的客户询价单的报价信息的作废处理传到供应商ERP之后,修改平台里面的作废处理上传状态
+	 *
+	 */
+	void onReplyInvalidDownSuccess(String[] split);
+
 	/**
 	 * 获取待报价的客户询价单条数
 	 * 
@@ -205,4 +211,12 @@ public interface PurchaseInquiryService {
 	 * @param inquiries
 	 */
     void onReplyInvalid(List<Inquiry> inquiries);
+
+	/**
+	 * 查找所有待上传到卖家ERP的报价信息的作废决定
+	 *
+	 * @return
+	 */
+    List<PurchaseInquiryItem> findNotUploadInquiryReplyInvalid();
+
 }

+ 35 - 41
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -1,51 +1,13 @@
 package com.uas.platform.b2b.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.core.util.ThreadUtils;
-import com.uas.platform.b2b.dao.AttachDao;
-import com.uas.platform.b2b.dao.CommonDao;
-import com.uas.platform.b2b.dao.ProductDao;
-import com.uas.platform.b2b.dao.PurcInquiryItemDao;
-import com.uas.platform.b2b.dao.PurchaseInquiryDao;
-import com.uas.platform.b2b.dao.PurchaseInquiryItemDao;
-import com.uas.platform.b2b.dao.PurchaseInquiryReplyDao;
-import com.uas.platform.b2b.dao.UserBaseInfoDao;
+import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.Inquiry;
 import com.uas.platform.b2b.erp.model.QuotationDown;
 import com.uas.platform.b2b.erp.model.QuotationDownDetail;
-import com.uas.platform.b2b.event.PurchaseInquiryItemDecideReleaseEvent;
-import com.uas.platform.b2b.event.PurchaseInquiryItemInvalidReleaseEvent;
-import com.uas.platform.b2b.event.PurchaseInquiryItemReplyReleaseEvent;
-import com.uas.platform.b2b.event.PurchaseInquiryItemSaveEvent;
-import com.uas.platform.b2b.event.PurchaseInquiryItemSaveReleaseEvent;
-import com.uas.platform.b2b.model.Attach;
-import com.uas.platform.b2b.model.Product;
-import com.uas.platform.b2b.model.PurcInquiryItem;
-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.model.SearchFilter;
-import com.uas.platform.b2b.model.UserBaseInfo;
+import com.uas.platform.b2b.event.*;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PurchaseInquiryService;
 import com.uas.platform.b2b.support.SystemSession;
@@ -59,6 +21,20 @@ import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.Status;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.search.b2b.model.PageParams;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.*;
 
 @Service
 public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
@@ -212,6 +188,23 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 		}
 	}
 
+	@Override
+	public List<PurchaseInquiryItem> findNotUploadInquiryReplyInvalid() {
+		return purchaseInquiryItemDao.findByVendUUAndInvalidStatus(SystemSession.getUser().getEnterprise().getUu(),
+				(short) Status.NOT_UPLOAD.value());
+	}
+
+	@Override
+	public void onReplyInvalidDownSuccess(String[] idArray) {
+		for (String id : idArray) {
+			PurchaseInquiryItem item = purchaseInquiryItemDao.findOne(Long.parseLong(id));
+			if (item != null) {
+				item.setInvalidStatus((short) Status.DOWNLOADED.value());
+				purchaseInquiryItemDao.save(item);
+			}
+		}
+	}
+
 	@Override
 	public Page<PurchaseInquiryItem> findAllByPageInfo(final PageInfo pageInfo, final String keyword, final SearchFilter filter) {
 		return purchaseInquiryItemDao.findAll(new Specification<PurchaseInquiryItem>() {
@@ -396,6 +389,7 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 					PurchaseInquiry purchaseInquiry = purchaseInquiries.get(0);
 					for (PurchaseInquiryItem item : purchaseInquiry.getInquiryItems()) {
 						item.setStatus((short) Status.DISABLED.value());
+						item.setInvalidStatus((short) Status.NOT_UPLOAD.value()); // 获取作废信息时,更新作废上传状态为 待上传
 						synchronized (newInquiryItems) {
 							newInquiryItems.add(item);
 						}

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

@@ -230,7 +230,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 				XingePusher.pushByUser(user, "新增采购单回复", "单号:" + order.getCode() + ",供应商:" + vendor.getEnName(), "", "");
 			}
 		}
-		if (!reply.getRemark().equals("批量回复")) { // 不是批量回复时触发事件
+		if (!"批量回复".equals(reply.getRemark())) { // 不是批量回复时触发事件
             List<PurchaseOrderItem> newOrderItems = new ArrayList<>();
             newOrderItems.add(reply.getOrderItem());
             ContextUtils.publishEvent(new PurchaseOrderReplyReleaseEvent(PurchaseOrderItem.distinct(newOrderItems)));