Browse Source

fix:处理未上传明细异常

Hu Jie 6 years ago
parent
commit
5075644e4c

+ 1 - 1
src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java

@@ -259,7 +259,7 @@ public class InquiryServiceImpl implements InquiryService {
                     List<InquiryDetail> inquiryDetails = commonDao.query("select * from purc$inquiryitems where id_inid = " + inquiry.getIn_id() + " and id_sourceid = " + detail.getId_id(), InquiryDetail.class);
                     if(inquiryDetails.size() == 0) {
                         //查询对应平台的物料信息
-                        List<Product> products = ProductUtils.findByEnUUAndCode(SystemSession.getUser().getEnterprise().getUu(), detail.getId_prodcode());
+                        List<ProductInfo> products = ProductUtils.findByEnUUAndCode(SystemSession.getUser().getEnterprise().getUu(), detail.getId_prodcode());
                         if(products.size() > 0) {
                             Long prodId = products.get(0).getId();
                             Long id = commonDao.getJdbcTemplate().queryForLong("select purc$inquiryitems_seq.nextval from dual");

+ 2 - 1
src/main/java/com/uas/platform/b2b/erp/service/impl/ProdServiceImpl.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2b.erp.service.impl;
 import com.uas.platform.b2b.erp.model.Prod;
 import com.uas.platform.b2b.erp.service.ProdService;
 import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.ProductInfo;
 import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.support.SystemSession;
 import org.springframework.stereotype.Service;
@@ -30,7 +31,7 @@ public class ProdServiceImpl implements ProdService {
 			if (prod.getPr_orispeccode() == null) {
 				prod.setPr_orispeccode(prod.getPr_spec());
 			}
-			List<Product> prodResult = ProductUtils.findByEnUUAndCode(enUU, prod.getPr_code());
+			List<ProductInfo> prodResult = ProductUtils.findByEnUUAndCode(enUU, prod.getPr_code());
 			if (CollectionUtils.isEmpty(prodResult)) {
 				// 平台上不存在的新上传上来的物料,新增
 				products.add(prod.convert());

+ 1 - 1
src/main/java/com/uas/platform/b2b/erp/service/impl/QuotationServiceImpl.java

@@ -88,7 +88,7 @@ public class QuotationServiceImpl implements QuotationService {
 							// 取平台的产品ID
 							ProductInfo product = item.getProduct();
 							// 查找客户是否存在对应的物料号。
-							List<Product> productList = ProductUtils.findByEnUUAndCode(vendor.getMyEnUU(),
+							List<ProductInfo> productList = ProductUtils.findByEnUUAndCode(vendor.getMyEnUU(),
 									product.getCode());
 							if (productList.size() > 0) {
 								item.setProductId(productList.get(0).getId());

+ 1 - 1
src/main/java/com/uas/platform/b2b/model/SaleOrderItem.java

@@ -14,7 +14,7 @@ import java.util.*;
 @Entity
 @OptimisticLocking(type = OptimisticLockType.ALL)
 @DynamicUpdate(value = true)
-public class SaleOrderItem {
+public class SaleOrderItem extends AbstractOrderProduct{
 
 	@Id
 	@Column(name = "pd_id")

+ 3 - 3
src/main/java/com/uas/platform/b2b/ps/ProductUtils.java

@@ -426,18 +426,18 @@ public class ProductUtils {
      * @param code 物料code
      * @return
      */
-    public static List<Product> findByEnUUAndCode(Long enUU, String code) {
+    public static List<ProductInfo> findByEnUUAndCode(Long enUU, String code) {
         Response res = null;
         try {
             HashMap<String, Object> map = new HashMap<>(2);
             map.put("enUU", enUU);
-            map.put("code", URLEncoder.encode(code, HTTP.UTF_8));
+            map.put("code", code);
             res = HttpUtil.sendGetRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/get/findByEnUUAndCode", map);
         } catch (Exception e) {
             e.printStackTrace();
         }
         if (null != res && HttpStatus.OK.value() == res.getStatusCode()) {
-            return JSONObject.parseArray(res.getResponseText(), Product.class);
+            return JSONObject.parseArray(res.getResponseText(), ProductInfo.class);
         } else {
             String resultCode = null != res ? String.valueOf(res.getStatusCode()) : "access error";
             logger.error("findByEnUUAndCode http response status error: " + resultCode);

+ 1 - 1
src/main/java/com/uas/platform/b2b/service/impl/BaseInfoServiceImpl.java

@@ -335,7 +335,7 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 				prodInfo.setAttachment(attach.getPath());
 			}
 		}
-		List<Product> products = ProductUtils.findByEnUUAndCode(SystemSession.getUser().getEnterprise().getUu(),
+		List<ProductInfo> products = ProductUtils.findByEnUUAndCode(SystemSession.getUser().getEnterprise().getUu(),
 				prodInfo.getCode());
 		if (!CollectionUtils.isEmpty(products)) {
 			map.put("error", "物料已存在");

+ 2 - 12
src/main/java/com/uas/platform/b2b/service/impl/PurchaseApBillServiceImpl.java

@@ -9,17 +9,7 @@ import com.uas.platform.b2b.dao.PurchaseApBillItemDao;
 import com.uas.platform.b2b.dao.VendorDao;
 import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
 import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
-import com.uas.platform.b2b.model.ApcheckKeyWord;
-import com.uas.platform.b2b.model.DateFilter;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.ErpProdIODetail;
-import com.uas.platform.b2b.model.ErpProdIo;
-import com.uas.platform.b2b.model.Product;
-import com.uas.platform.b2b.model.PurchaseApBill;
-import com.uas.platform.b2b.model.PurchaseApBillItem;
-import com.uas.platform.b2b.model.PurchaseApCheckItemInfo;
-import com.uas.platform.b2b.model.SearchFilter;
-import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.ErpProdIODetailService;
@@ -208,7 +198,7 @@ public class PurchaseApBillServiceImpl implements PurchaseApBillService {
 		if (!CollectionUtils.isEmpty(prodInOuts)) {
 			for (ProdInOutRefreshPrice prod : prodInOuts) {
 				// 只更新一条数据,这里只能用物料编号去判断,采购单序号等无法判断
-				List<Product> prods = ProductUtils.findByEnUUAndCode(enuu, prod.getPd_prodcode());
+				List<ProductInfo> prods = ProductUtils.findByEnUUAndCode(enuu, prod.getPd_prodcode());
 				if (!CollectionUtils.isEmpty(prods)) {
 					// 更新明细单价、税率
 					String sql = " update purc$apbillitem i,purc$apbill a set i.papi_price = " + prod.getPbu_orderprice() + ", i.papi_apamount = i.papi_thisvoqty * "

+ 2 - 15
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -23,20 +23,7 @@ import com.uas.platform.b2b.event.PurchaseInquiryItemDecideReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseInquiryItemInvalidReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseInquiryItemReplyReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseInquiryItemSaveReleaseEvent;
-import com.uas.platform.b2b.model.Attach;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.FileUpload;
-import com.uas.platform.b2b.model.OrderRedDotAll;
-import com.uas.platform.b2b.model.OrderType;
-import com.uas.platform.b2b.model.Product;
-import com.uas.platform.b2b.model.PurchaseInquiry;
-import com.uas.platform.b2b.model.PurchaseInquiryItem;
-import com.uas.platform.b2b.model.PurchaseInquiryItemTemp;
-import com.uas.platform.b2b.model.PurchaseInquiryReply;
-import com.uas.platform.b2b.model.PurchaseInquiryTemp;
-import com.uas.platform.b2b.model.SearchFilter;
-import com.uas.platform.b2b.model.User;
-import com.uas.platform.b2b.model.UserBaseInfo;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.ps.InquiryUtils;
 import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.ps.service.PersonalProductService;
@@ -206,7 +193,7 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 		Product originProduct = ProductUtils.findById(prid);
 		if (null != originProduct && null != originProduct.getCode()) {
 		    Long enUU = SystemSession.getUser().getEnterprise().getUu();
-			List<Product> productList = ProductUtils.findByEnUUAndCode(enUU, originProduct.getCode());
+			List<ProductInfo> productList = ProductUtils.findByEnUUAndCode(enUU, originProduct.getCode());
 			if (!CollectionUtils.isEmpty(productList)) {
                 PageInfo pageInfo = new PageInfo(1, 1);
                 pageInfo.filter("inquiry.enUU", enUU);

+ 3 - 23
src/main/java/com/uas/platform/b2b/service/impl/PurchaseTenderServiceImpl.java

@@ -23,27 +23,7 @@ import com.uas.platform.b2b.erp.model.SaleTenderErp;
 import com.uas.platform.b2b.erp.model.SaleTenderItemErp;
 import com.uas.platform.b2b.event.PurchaseTenderDecideReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseTenderSaveReleaseEvent;
-import com.uas.platform.b2b.model.Attach;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.EnterpriseBaseInfo;
-import com.uas.platform.b2b.model.FileUpload;
-import com.uas.platform.b2b.model.OrderRedDotAll;
-import com.uas.platform.b2b.model.OrderType;
-import com.uas.platform.b2b.model.Product;
-import com.uas.platform.b2b.model.PurchaseTender;
-import com.uas.platform.b2b.model.PurchaseTenderAnswer;
-import com.uas.platform.b2b.model.PurchaseTenderInfo;
-import com.uas.platform.b2b.model.PurchaseTenderProd;
-import com.uas.platform.b2b.model.PurchaseTenderProdInfo;
-import com.uas.platform.b2b.model.PurchaseTenderSave;
-import com.uas.platform.b2b.model.SaleTender;
-import com.uas.platform.b2b.model.SaleTenderAnswer;
-import com.uas.platform.b2b.model.SaleTenderItem;
-import com.uas.platform.b2b.model.SaleTenderItemSave;
-import com.uas.platform.b2b.model.SaleTenderQuestion;
-import com.uas.platform.b2b.model.SaleTenderSave;
-import com.uas.platform.b2b.model.SearchFilter;
-import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.OrderRedDotService;
@@ -195,7 +175,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         if (!CollectionUtils.isEmpty(tenderProds)) {
             for (PurchaseTenderProd tenderProd : tenderProds) {
                 // 将不在物料库的产品信息添加进去
-                List<Product> oldProducts = ProductUtils.findByEnUUAndCode(currentEnUU, tenderProd.getProdCode());
+                List<ProductInfo> oldProducts = ProductUtils.findByEnUUAndCode(currentEnUU, tenderProd.getProdCode());
                 if (CollectionUtils.isEmpty(oldProducts)) {
                     Product newProduct = new Product(tenderProd, currentEnUU);
                     ProductUtils.updateOne(newProduct);
@@ -257,7 +237,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         Set<PurchaseTenderProd> tenderProds = tender.getPurchaseTenderProds();
         for (PurchaseTenderProd tenderProd : tenderProds) {
             // 将不在物料库的产品信息添加进去
-            List<Product> oldProducts = ProductUtils.findByEnUUAndCode(currentEnUU, tenderProd.getProdCode());
+            List<ProductInfo> oldProducts = ProductUtils.findByEnUUAndCode(currentEnUU, tenderProd.getProdCode());
             if (CollectionUtils.isEmpty(oldProducts)) {
                 Product newProduct = new Product(tenderProd, currentEnUU);
                 ProductUtils.updateOne(newProduct);

+ 2 - 1
src/main/java/com/uas/platform/b2b/service/impl/SaleOrderItemServiceImpl.java

@@ -123,9 +123,10 @@ public class SaleOrderItemServiceImpl implements SaleOrderItemService {
             }
             item.setAttachs(b2bAttaches);
         }
-        List<Product> products = ProductUtils.findByEnUUAndCode(enUU, detail.getPd_prodcode());
+        List<ProductInfo> products = ProductUtils.findByEnUUAndCode(enUU, detail.getPd_prodcode());
         if (!CollectionUtils.isEmpty(products)) {
             item.setProductId(products.get(0).getId());
+            item.setProduct(products.get(0));
             return item;
         }  else {
             List<NotExistProduct> productList = new ArrayList<>();