Browse Source

卖家进行报价或买家多报价单进行操作时,更新推荐单中的相关状态

hejq 7 years ago
parent
commit
85a5928548

+ 26 - 0
src/main/java/com/uas/ps/inquiry/dao/InquiryRemindDao.java

@@ -3,11 +3,37 @@ package com.uas.ps.inquiry.dao;
 import com.uas.ps.inquiry.model.InquiryRemind;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
+import javax.transaction.Transactional;
+
 /**
+ * 询价推荐表数据库操作
+ *
  * Created by hejq on 2018-01-31.
  */
 @Repository
 public interface InquiryRemindDao extends JpaRepository<InquiryRemind, Long>, JpaSpecificationExecutor<InquiryRemind> {
+
+    /**
+     * 通过vendUU和公共询价明细id更新该单据的状态
+     *
+     * @param sourceId 公共询价明细id
+     * @param value 单据状态
+     *              <note>
+     *                  {@code 100 在录入}
+     *                  {@code 101 已提交}
+     *                  {@code 102 已审核}
+     *                  {@code 103 未通过}
+     *                  {@code 104 已通过}
+     *              </note>
+     * @param vendUU 被推荐的企业
+     */
+    @Transactional
+    @Modifying
+    @Query("update InquiryRemind set status = :value where itemId = :sourceId and vendUU = :vendUU")
+    void updateStatus(@Param("sourceId") Long sourceId, @Param("value") int value, @Param("vendUU") Long vendUU);
 }

+ 2 - 0
src/main/java/com/uas/ps/inquiry/service/impl/InquiryForSaleServiceImpl.java

@@ -231,6 +231,8 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
         List<PublicInquiryItem> purcitems = infoDao.save(items);
         // 更新原表的报价条数
         purcInquiryItemDao.updateAmount(purcitems.get(0).getSourceId(), purcitems.size());
+        // 更新推荐表中的相关信息
+        remindDao.updateStatus(inquiryItem.getSourceId(), Status.SUBMITTED.value(), inquiryItem.getVendUU());
         if (purcitems.get(0).getId() != null) {
             return purcitems.get(0);
         } else {

+ 9 - 1
src/main/java/com/uas/ps/inquiry/service/impl/InquiryServiceImpl.java

@@ -22,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
-import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
 
 import javax.persistence.criteria.CriteriaBuilder;
@@ -60,6 +59,9 @@ public class InquiryServiceImpl implements InquiryService {
     @Autowired
     private PublicInquiryService inquiryService;
 
+    @Autowired
+    private InquiryRemindDao inquiryRemindDao;
+
     /**
      * 查询公共询价列表信息
      *
@@ -183,6 +185,12 @@ public class InquiryServiceImpl implements InquiryService {
         PublicInquiryItem item = itemDao.findOne(id);
         item.setAgreed(status);
         itemDao.save(item);
+        // 更新询价推荐表相关信息
+        if (status.equals(Constant.YES)) {
+            inquiryRemindDao.updateStatus(item.getSourceId(), Status.ALLOW.value(), item.getVendUU());
+        } else if (status.equals(Constant.NO)) {
+            inquiryRemindDao.updateStatus(item.getSourceId(), Status.NOTALLOW.value(), item.getVendUU());
+        }
     }
 
     /**