Browse Source

新增针对客户查询单个物料的报价信息

hejq 8 years ago
parent
commit
2faa632de2

+ 14 - 0
src/main/java/com/uas/ps/inquiry/controller/InquiryForBuyerController.java

@@ -2,6 +2,8 @@ package com.uas.ps.inquiry.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.uas.ps.inquiry.entity.InquiryDetailInfo;
+import com.uas.ps.inquiry.entity.InquiryProductInfo;
+import com.uas.ps.inquiry.model.PublicInquiryItem;
 import com.uas.ps.inquiry.model.PurcInquiry;
 import com.uas.ps.inquiry.model.PurcInquiryItemInfo;
 import com.uas.ps.inquiry.page.PageInfo;
@@ -116,4 +118,16 @@ public class InquiryForBuyerController {
         }
         return inquiryService.findTodoByPageInfo(pageInfo, searchFilter, state);
     }
+
+    /**
+     * 针对客户查询单个物料明细的报价情况
+     *
+     * @param id 来源id
+     * @param enuu 当前企业UU
+     * @return
+     */
+    @RequestMapping(value = "/product/detail", method = RequestMethod.GET)
+    public InquiryProductInfo findInquiryDetailById(Long id, Long enuu) {
+        return inquiryService.findInquiryDetailById(id, enuu);
+    }
 }

+ 8 - 0
src/main/java/com/uas/ps/inquiry/dao/PublicInquiryItemDao.java

@@ -76,4 +76,12 @@ public interface PublicInquiryItemDao extends JpaRepository<PublicInquiryItem, L
      */
     @Query("select count(1) from PublicInquiryItem i where i.inquiry.id = :id")
     Integer countByInquiryId(@Param("id") Long id);
+
+    /**
+     * 通过来源id查询报价信息
+     *
+     * @param sourceId
+     * @return
+     */
+    List<PublicInquiryItem> findBySourceId(Long sourceId);
 }

+ 28 - 0
src/main/java/com/uas/ps/inquiry/entity/InquiryProductInfo.java

@@ -38,6 +38,11 @@ public class InquiryProductInfo {
 	 */
 	private String unit;
 
+	/**
+	 * 原厂型号
+	 */
+	private String cmpCode;
+
 	/**
 	 * 询价详情
 	 */
@@ -92,6 +97,14 @@ public class InquiryProductInfo {
 		return unit;
 	}
 
+	public String getCmpCode() {
+		return cmpCode;
+	}
+
+	public void setCmpCode(String cmpCode) {
+		this.cmpCode = cmpCode;
+	}
+
 	public void setUnit(String unit) {
 		this.unit = unit;
 	}
@@ -111,4 +124,19 @@ public class InquiryProductInfo {
 	public void setPublicInquiryItemInfos(Set<PublicInquiryItemInfo> publicInquiryItemInfos) {
 		this.publicInquiryItemInfos = publicInquiryItemInfos;
 	}
+
+    @Override
+    public String toString() {
+        return "InquiryProductInfo{" +
+                "id=" + id +
+                ", title='" + title + '\'' +
+                ", code='" + code + '\'' +
+                ", spec='" + spec + '\'' +
+                ", brand='" + brand + '\'' +
+                ", unit='" + unit + '\'' +
+                ", cmpCode='" + cmpCode + '\'' +
+                ", inquiryItems=" + inquiryItems +
+                ", publicInquiryItemInfos=" + publicInquiryItemInfos +
+                '}';
+    }
 }

+ 10 - 0
src/main/java/com/uas/ps/inquiry/service/InquiryService.java

@@ -1,6 +1,7 @@
 package com.uas.ps.inquiry.service;
 
 import com.uas.ps.inquiry.entity.InquiryDetailInfo;
+import com.uas.ps.inquiry.entity.InquiryProductInfo;
 import com.uas.ps.inquiry.model.*;
 import com.uas.ps.inquiry.page.PageInfo;
 import com.uas.ps.inquiry.page.SearchFilter;
@@ -54,4 +55,13 @@ public interface InquiryService {
      * @return
      */
     Page<PurcInquiry> findByPageInfo(PageInfo pageInfo, SearchFilter searchFilter);
+
+    /**
+     * 针对客户,查询单个物料的报价情况
+     *
+     * @param id 明细id
+     * @param enuu 当前企业UU
+     * @return
+     */
+    InquiryProductInfo findInquiryDetailById(Long id, Long enuu);
 }

+ 25 - 0
src/main/java/com/uas/ps/inquiry/service/impl/InquiryServiceImpl.java

@@ -256,4 +256,29 @@ public class InquiryServiceImpl implements InquiryService {
             }
         }, info);
     }
+
+    /**
+     * 针对客户,查询单个物料的报价情况
+     *
+     * @param id   明细id
+     * @param enuu 当前企业UU
+     * @return
+     */
+    @Override
+    public InquiryProductInfo findInquiryDetailById(Long id, Long enuu) {
+        List<PublicInquiryItem> items = itemDao.findBySourceId(id);
+        InquiryProductInfo productInfo = new InquiryProductInfo();
+        if (!CollectionUtils.isEmpty(items)) {
+            Long prId = items.get(0).getProductId();
+            Product product = productDao.findOne(prId);
+            productInfo.setBrand(product.getBrand());
+            productInfo.setCode(product.getCode());
+            productInfo.setTitle(product.getTitle());
+            productInfo.setSpec(product.getSpec());
+            productInfo.setUnit(product.getUnit());
+            productInfo.setCmpCode(productInfo.getCmpCode());
+            productInfo.setInquiryItems(new HashSet<PublicInquiryItem>(items));
+        }
+        return productInfo;
+    }
 }