|
|
@@ -7,20 +7,24 @@ import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import com.uas.platform.b2b.dao.EnterpriseDao;
|
|
|
import com.uas.platform.b2b.dao.ProductDao;
|
|
|
import com.uas.platform.b2b.dao.PurchaseInquiryDao;
|
|
|
import com.uas.platform.b2b.dao.PurchaseInquiryItemDao;
|
|
|
import com.uas.platform.b2b.dao.SaleQuotationItemDao;
|
|
|
+import com.uas.platform.b2b.dao.UserDao;
|
|
|
import com.uas.platform.b2b.dao.VendorDao;
|
|
|
import com.uas.platform.b2b.erp.model.Inquiry;
|
|
|
import com.uas.platform.b2b.erp.model.InquiryDecide;
|
|
|
import com.uas.platform.b2b.erp.model.InquiryDetail;
|
|
|
import com.uas.platform.b2b.erp.service.InquiryService;
|
|
|
+import com.uas.platform.b2b.model.Enterprise;
|
|
|
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.SaleQuotation;
|
|
|
import com.uas.platform.b2b.model.SaleQuotationItem;
|
|
|
+import com.uas.platform.b2b.model.User;
|
|
|
import com.uas.platform.b2b.model.Vendor;
|
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
|
import com.uas.platform.core.model.Status;
|
|
|
@@ -42,6 +46,12 @@ public class InquiryServiceImpl implements InquiryService {
|
|
|
|
|
|
@Autowired
|
|
|
private SaleQuotationItemDao saleQuotationItemDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private EnterpriseDao enterpriseDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private UserDao userDao;
|
|
|
|
|
|
@Override
|
|
|
public List<PurchaseInquiryItem> convertInquiry(List<Inquiry> inquiries) {
|
|
|
@@ -54,22 +64,30 @@ public class InquiryServiceImpl implements InquiryService {
|
|
|
PurchaseInquiry purchaseInquiry = inquiry.convert();
|
|
|
if (!CollectionUtils.isEmpty(purchaseInquiry.getInquiryItems())) {
|
|
|
for (PurchaseInquiryItem item : purchaseInquiry.getInquiryItems()) {
|
|
|
- // 如果询价单明细行没有指定供应商联系人,取平台中供应商资料中的联系人
|
|
|
- if (item.getVendUserUU() == null || item.getVendUserUU() == 0) {
|
|
|
- List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(purchaseInquiry.getEnUU(), item.getVendUU());
|
|
|
- if (vendors.size() > 0)
|
|
|
- item.setVendUserUU(vendors.get(0).getVendUserUU());
|
|
|
+ Vendor vendor = null;
|
|
|
+ List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(purchaseInquiry.getEnUU(), item.getVendUU());
|
|
|
+ if(vendors.size() > 0) {
|
|
|
+ vendor = vendors.get(0);
|
|
|
+ // 如果询价单明细行没有指定供应商联系人,取平台中供应商资料中的联系人
|
|
|
+ if (item.getVendUserUU() == null || item.getVendUserUU() == 0) {
|
|
|
+ item.setVendUserUU(vendor.getVendUserUU());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ vendor = addVendor(item);
|
|
|
}
|
|
|
- item.setInquiry(purchaseInquiry);
|
|
|
- // 取平台的产品ID
|
|
|
- Product product = item.getProduct();
|
|
|
- List<Product> products = productDao.findByEnUUAndCode(product.getEnUU(), product.getCode());
|
|
|
- if (products.size() > 0) {
|
|
|
- item.setProduct(products.get(0));
|
|
|
- item.setProductId(products.get(0).getId());
|
|
|
+ if (vendor != null) {
|
|
|
+ item.setInquiry(purchaseInquiry);
|
|
|
+ // 取平台的产品ID
|
|
|
+ Product product = item.getProduct();
|
|
|
+ List<Product> products = productDao.findByEnUUAndCode(product.getEnUU(), product.getCode());
|
|
|
+ if (products.size() > 0) {
|
|
|
+ item.setProduct(products.get(0));
|
|
|
+ item.setProductId(products.get(0).getId());
|
|
|
+ }
|
|
|
+ inquiryItems.add(item);
|
|
|
}
|
|
|
}
|
|
|
- inquiryItems.addAll(purchaseInquiry.getInquiryItems());
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -135,4 +153,40 @@ public class InquiryServiceImpl implements InquiryService {
|
|
|
return quotationItems;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 添加供应商资料
|
|
|
+ *
|
|
|
+ * @param order
|
|
|
+ */
|
|
|
+ private Vendor addVendor(PurchaseInquiryItem inquiryItem) {
|
|
|
+ Vendor vendor = new Vendor();
|
|
|
+ vendor.setMyEnUU(inquiryItem.getInquiry().getEnUU());
|
|
|
+ if(inquiryItem.getUserUU() != null || inquiryItem.getUserUU() != 0) {
|
|
|
+ vendor.setMyUserUU(inquiryItem.getUserUU());
|
|
|
+ } else {
|
|
|
+ vendor.setMyUserUU(SystemSession.getUser().getUserUU());
|
|
|
+ }
|
|
|
+ vendor.setMyUserUU(SystemSession.getUser().getUserUU());
|
|
|
+ Enterprise vendEnterprise = enterpriseDao.findOne(inquiryItem.getVendUU());
|
|
|
+ if (vendEnterprise != null) {
|
|
|
+ vendor.setVendorEnterprise(vendEnterprise);
|
|
|
+ vendor.setVendEnUU(inquiryItem.getVendUU());
|
|
|
+ if (inquiryItem.getVendUserUU() != null) {
|
|
|
+ List<User> users = userDao.findByEnUUAndUserUU(vendEnterprise.getUu(), inquiryItem.getVendUserUU());
|
|
|
+ if (users.size() > 0) {
|
|
|
+ vendor.setVendorUser(users.get(0));
|
|
|
+ vendor.setVendUserUU(inquiryItem.getVendUserUU());
|
|
|
+ } else {
|
|
|
+ vendor.setVendUserUU(vendEnterprise.getEnAdminuu());
|
|
|
+ inquiryItem.setVendUserUU(vendEnterprise.getEnAdminuu());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ vendor.setVendUserUU(vendEnterprise.getEnAdminuu());
|
|
|
+ inquiryItem.setVendUserUU(vendEnterprise.getEnAdminuu());
|
|
|
+ }
|
|
|
+ return vendorDao.save(vendor);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
}
|