Browse Source

询价单更细物料信息

hejq 7 years ago
parent
commit
db571cfb03

+ 5 - 3
src/main/java/com/uas/platform/b2b/erp/controller/QuotationController.java

@@ -51,7 +51,7 @@ public class QuotationController {
 	 */
 	@RequestMapping(method = RequestMethod.POST)
 	@ResponseBody
-	public List<Map<String, Object>> saveQuotations(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public List<Map<String, Object>> saveQuotations(@RequestParam("data") String data) throws Exception {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<Quotation> quotations = FlexJsonUtils.fromJsonArray(jsonStr, Quotation.class);
 		Map<String, List<SaleQuotationItem>> convertQuotation = quotationService.convertQuotation(quotations);
@@ -64,8 +64,10 @@ public class QuotationController {
 		if(!CollectionUtils.isEmpty(res)) {
 			for (SaleQuotationItem item : res) {
 				Map<String, Object> error= new HashMap<String, Object>();
-				error.put("code", item.getQuotation().getCode());//获得主动报价单的单号
-				error.put("detno", item.getNumber());//获取报价单明细表哪一行出错。
+				//获得主动报价单的单号
+				error.put("code", item.getQuotation().getCode());
+				//获取报价单明细表哪一行出错。
+				error.put("detno", item.getNumber());
 				response.add(error);
 			}
 		}

+ 3 - 17
src/main/java/com/uas/platform/b2b/model/PurcInquiryItem.java

@@ -14,7 +14,7 @@ import java.util.*;
  */
 @Entity
 @Table(name = "purc$puinquiryitems")
-public class PurcInquiryItem {
+public class PurcInquiryItem extends AbstractOrderProduct {
 
 	@Id
 	@GeneratedValue(strategy = GenerationType.AUTO)
@@ -40,13 +40,6 @@ public class PurcInquiryItem {
 	@Column(name = "id_useruu")
 	private Long userUU;
 
-	/**
-	 * 产品
-	 */
-	@OneToOne(cascade = { CascadeType.REFRESH })
-	@JoinColumn(name = "id_prid", insertable = false, updatable = false)
-	private Product product;
-
 	@Column(name = "id_prid")
 	private Long productId;
 
@@ -309,18 +302,12 @@ public class PurcInquiryItem {
 		this.userUU = userUU;
 	}
 
-	public Product getProduct() {
-		return product;
-	}
-
-	public void setProduct(Product product) {
-		this.product = product;
-	}
-
+	@Override
 	public Long getProductId() {
 		return productId;
 	}
 
+	@Override
 	public void setProductId(Long productId) {
 		this.productId = productId;
 	}
@@ -624,7 +611,6 @@ public class PurcInquiryItem {
 				", number=" + number +
 				", inquiry=" + inquiry +
 				", userUU=" + userUU +
-				", product=" + product +
 				", productId=" + productId +
 				", prodCode='" + prodCode + '\'' +
 				", prodTitle='" + prodTitle + '\'' +

+ 24 - 11
src/main/java/com/uas/platform/b2b/service/impl/PurcInquiryServiceImpl.java

@@ -6,6 +6,7 @@ import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.event.PurchaseInquiryItemDecideReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseInquiryItemSaveReleaseEvent;
 import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.model.ProductInfo;
 import com.uas.platform.b2b.ps.InquiryUtils;
 import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.service.AttachService;
@@ -133,24 +134,27 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
                     if (!CollectionUtils.isEmpty(inquiryInfo.getInquiryItems())) {
                         for (PurcInquiryItem purcitem : inquiryInfo.getInquiryItems()) {
                             PurcInquiryItem item = new PurcInquiryItem();
-                            Product product = new Product();
+                            ProductInfo productInfo = new ProductInfo();
                             Enterprise vendorEn = enterpriseDao.findEnterpriseByUu(contact.getEnuu());
                             // 点击选择出来的,一般带有id
                             if (purcitem.getProductId() != null) {
-                                product = productDao.findOne(purcitem.getProductId());
-                                item.setProduct(product);
+                                Product product = productDao.findOne(purcitem.getProductId());
+                                BeanUtils.copyProperties(product, productInfo, ProductInfo.class);
+                                item.setProduct(productInfo);
                                 item.setProductId(product.getId());
                                 // 导入或手动输入的一般不带有id
                             } else {
                                 List<Product> products = productDao.findByEnUUAndPcmpcodeAndPbrand(
                                         SystemSession.getUser().getEnterprise().getUu(), purcitem.getCmpCode(), purcitem.getBrand());
+                                Product product = new Product();
                                 if (products.size() > 0) {
                                     product = products.get(0);
                                 }
                                 // 存在直接选择
                                 if (product.getId() != null) {
-                                    item.setProduct(product);
-                                    item.setProductId(product.getId());
+                                    BeanUtils.copyProperties(product, productInfo, ProductInfo.class);
+                                    item.setProduct(productInfo);
+                                    item.setProductId(productInfo.getId());
                                 } else { // 不存在,插入物料
                                     product = new Product();
                                     product.setBrand(purcitem.getInbrand());
@@ -166,6 +170,8 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
                                     product.setSpec(purcitem.getProdTitle());
                                     product.setCreateTime(new Date(System.currentTimeMillis()));
                                     Long proId = ProductUtils.updateOne(product);
+                                    BeanUtils.copyProperties(product, productInfo, ProductInfo.class);
+                                    item.setProduct(productInfo);
                                     item.setProductId(proId);
                                 }
                             }
@@ -475,18 +481,23 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
                     for (PurcInquiryItem purcitem : inquiryInfo.getInquiryItems()) {
                         PurcInquiryItem item = new PurcInquiryItem();
                         Product product = new Product();
-                        if (purcitem.getProductId() != null) {// 点击选择出来的,一般带有id
+                        ProductInfo productInfo = new ProductInfo();
+                        // 点击选择出来的,一般带有id
+                        if (purcitem.getProductId() != null) {
                             product = productDao.findOne(purcitem.getProductId());
-                            item.setProduct(product);
-                            item.setProductId(product.getId());
+                            BeanUtils.copyProperties(product, productInfo, ProductInfo.class);
+                            item.setProduct(productInfo);
+                            item.setProductId(productInfo.getId());
                         } else {// 导入或手动输入的一般不带有id
                             List<Product> productList = productDao.findByEnUUAndPcmpcodeAndPbrand(
                                     SystemSession.getUser().getEnterprise().getUu(), purcitem.getCmpCode(),
                                     purcitem.getInbrand());
                             product = CollectionUtils.isEmpty(productList) ? null : productList.get(0);
-                            if (product != null) {// 存在直接选择
-                                item.setProduct(product);
-                                item.setProductId(product.getId());
+                            // 存在直接选择
+                            if (product != null) {
+                                BeanUtils.copyProperties(product, productInfo, ProductInfo.class);
+                                item.setProduct(productInfo);
+                                item.setProductId(productInfo.getId());
                             } else { // 不存在,插入物料
                                 product = new Product();
                                 product.setBrand(purcitem.getInbrand());
@@ -507,6 +518,8 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
                                 item.setCmpCode(purcitem.getCmpCode());
                                 item.setInbrand(purcitem.getInbrand());
                                 if (null != product) {
+                                    BeanUtils.copyProperties(product, productInfo, ProductInfo.class);
+                                    item.setProduct(productInfo);
                                     item.setProductId(proId);
                                 }
                             }

+ 10 - 5
src/main/java/com/uas/platform/b2b/temporary/model/PurcInquiryInfo.java

@@ -1,13 +1,18 @@
 package com.uas.platform.b2b.temporary.model;
 
-import java.util.Date;
-import java.util.List;
-
-import javax.persistence.Id;
-
 import com.uas.platform.b2b.model.Attach;
 import com.uas.platform.b2b.model.PurcInquiryItem;
 
+import javax.persistence.Id;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 询价信息
+ * 
+ * @author hejq
+ * @date 2018-07-23 18:12
+ */
 public class PurcInquiryInfo {
 
 	@Id