Browse Source

Merge remote-tracking branch 'origin/dev' into dev

hejq 8 years ago
parent
commit
7189b79eaa

+ 27 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -576,6 +576,31 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 		return purchaseInquiryItemDao.save(inquiryItem);
 	}
 
+	/**
+	 * 校验询价单回复记录
+	 *
+	 * @param current
+	 * @param origin
+	 */
+	private void checkInquiryItemReplies(PurchaseInquiryItem current, PurchaseInquiryItem origin) {
+		if (null != current.getReplies()) {
+			for (PurchaseInquiryReply reply : current.getReplies()) {
+				if (null == reply.getLapQty()) {
+					reply.setLapQty(0D);
+				}
+				if (null != origin.getReplies()) {
+					for (PurchaseInquiryReply originReply : origin.getReplies()) {
+						// 分段数量一致的情况下,通过PurchaseInquiryReply.id防重复
+						if (null != originReply.getLapQty() && originReply.getLapQty() == reply.getLapQty()) {
+							reply.setId(originReply.getId());
+							break;
+						}
+					}
+				}
+			}
+		}
+	}
+
 	@Override
 	@Transactional
 	public PurchaseInquiryItem reply(PurchaseInquiryItem inquiryItem) {
@@ -591,6 +616,8 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 		inquiryItem.setReplySendStatus((short) Status.NOT_UPLOAD.value());
 		// 将采纳状态设置成申请状态,方便过滤
 		inquiryItem.setDecideStatus((short) Status.UNAUDIT.value());
+		// 防回复记录重复
+		checkInquiryItemReplies(inquiryItem, item);
 		Long userUU = inquiryItem.getUserUU();
 		if (userUU == null) {
 			userUU = item.getInquiry().getRecorderUU();