Sfoglia il codice sorgente

拒收发货通知数量时更新发货提醒状态

hejq 7 anni fa
parent
commit
7e0faea251

+ 13 - 5
src/main/java/com/uas/platform/b2b/dao/PurchaseNoticeDao.java

@@ -1,9 +1,6 @@
 package com.uas.platform.b2b.dao;
 
-import java.util.Date;
-import java.util.List;
-
-import org.apache.log4j.lf5.viewer.configure.MRUFileManager;
+import com.uas.platform.b2b.model.PurchaseNotice;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Modifying;
@@ -12,7 +9,8 @@ import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.uas.platform.b2b.model.PurchaseNotice;
+import java.util.Date;
+import java.util.List;
 
 @Repository
 @Transactional
@@ -157,4 +155,14 @@ public interface PurchaseNoticeDao extends JpaSpecificationExecutor<PurchaseNoti
 	 */
 	@Query("select p.id from PurchaseNotice p where p.id in :ids and p.status=200 and (p.end is null or p.end = 0) and p.waiting=0")
 	List<Long> findNotReplyId(@Param("ids") List<Long> ids);
+
+	/**
+	 * 更新发货提醒发货状态
+	 *
+	 * @param noticeId 发货提醒id
+	 * @param status 状态
+	 */
+    @Modifying(clearAutomatically = true)
+	@Query("update PurchaseNotice set status = :status where id = :noticeId")
+	void updateStatus(@Param("noticeId") Long noticeId, @Param("status") int status);
 }

+ 4 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseNoticeServiceImpl.java

@@ -573,6 +573,10 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 			saleSendItemDao.updateByReply(item.getId(), item.getQty(), item.getReplyRemark());
 			if (item.getNoticeId() != null) {
 				purchaseNoticeDao.updateBySend(item.getNoticeId());
+                PurchaseNotice notice = purchaseNoticeDao.findOne(item.getNoticeId());
+                if (notice.getEndQty() < notice.getQty() && notice.getStatus().equals(Status.REPLIED.value())) {
+                    purchaseNoticeDao.updateStatus(item.getNoticeId(), Status.REPLIED.value());
+                }
 				ids.add(item.getNoticeId());
 			}
 		}