|
|
@@ -7,6 +7,7 @@ import com.uas.platform.b2b.erp.service.PurchaseSampleService;
|
|
|
import com.uas.platform.b2b.erp.service.VendorService;
|
|
|
import com.uas.platform.b2b.model.*;
|
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
|
+import com.uas.platform.core.exception.NotFoundException;
|
|
|
import com.uas.platform.core.model.Constant;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -45,50 +46,54 @@ public class PurchaseSampleServiceImpl implements PurchaseSampleService {
|
|
|
for (ProductSample sample : samples) {
|
|
|
List<PurchaseProofing> proofingList = purchaseProofingDao.findByEnUUAndCode(enUU, sample.getPs_code());
|
|
|
List<Product> products = productDao.findByEnUUAndCode(enUU, sample.getPs_prodcode());
|
|
|
- if (proofingList.size() == 0 && products.size() > 0) {// 平台中不存在的单据&&物料已经上传到平台
|
|
|
- PurchaseProofing proofing = sample.convert();
|
|
|
- if (!CollectionUtils.isEmpty(proofing.getProofingItems())) {
|
|
|
- Long userUU = proofing.getUserUU();
|
|
|
- if (userUU != null) {
|
|
|
- List<User> users = userDao.findByEnUUAndUserUU(enUU, userUU);
|
|
|
- if (users.size() > 0)
|
|
|
- userUU = users.get(0).getUserUU();
|
|
|
- else
|
|
|
+ if (!CollectionUtils.isEmpty(products)) {
|
|
|
+ if (proofingList.size() == 0) {// 平台中不存在的单据&&物料已经上传到平台
|
|
|
+ PurchaseProofing proofing = sample.convert();
|
|
|
+ if (!CollectionUtils.isEmpty(proofing.getProofingItems())) {
|
|
|
+ Long userUU = proofing.getUserUU();
|
|
|
+ if (userUU != null) {
|
|
|
+ List<User> users = userDao.findByEnUUAndUserUU(enUU, userUU);
|
|
|
+ if (users.size() > 0)
|
|
|
+ userUU = users.get(0).getUserUU();
|
|
|
+ else
|
|
|
+ userUU = SystemSession.getUser().getUserUU();
|
|
|
+ } else
|
|
|
userUU = SystemSession.getUser().getUserUU();
|
|
|
- } else
|
|
|
- userUU = SystemSession.getUser().getUserUU();
|
|
|
- // 单据中能获取到申请人的uu号,并且有效则为申请人,否则为企业管理员
|
|
|
- proofing.setUserUU(userUU);
|
|
|
- proofing.setUser(null);
|
|
|
- proofing.setProduct(products.get(0));
|
|
|
- proofing.setProductId(products.get(0).getId());
|
|
|
- for (PurchaseProofingItem proofingItem : proofing.getProofingItems()) {// 对明细遍历
|
|
|
- proofingItem.setProofing(proofing);
|
|
|
- List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(enUU, proofingItem.getVendUU());
|
|
|
- Vendor vendor = null;
|
|
|
- if (vendors.size() == 0) {// 供应商列表中不存在供应商关系
|
|
|
- vendor = addVendor(proofingItem);// 增加供应商关系
|
|
|
- if (null != vendor) {
|
|
|
- vendorService.addPartnerShipRecord(vendor, appId);
|
|
|
+ // 单据中能获取到申请人的uu号,并且有效则为申请人,否则为企业管理员
|
|
|
+ proofing.setUserUU(userUU);
|
|
|
+ proofing.setUser(null);
|
|
|
+ proofing.setProduct(products.get(0));
|
|
|
+ proofing.setProductId(products.get(0).getId());
|
|
|
+ for (PurchaseProofingItem proofingItem : proofing.getProofingItems()) {// 对明细遍历
|
|
|
+ proofingItem.setProofing(proofing);
|
|
|
+ List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(enUU, proofingItem.getVendUU());
|
|
|
+ Vendor vendor = null;
|
|
|
+ if (vendors.size() == 0) {// 供应商列表中不存在供应商关系
|
|
|
+ vendor = addVendor(proofingItem);// 增加供应商关系
|
|
|
+ if (null != vendor) {
|
|
|
+ vendorService.addPartnerShipRecord(vendor, appId);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ vendor = vendors.get(0);
|
|
|
}
|
|
|
- } else {
|
|
|
- vendor = vendors.get(0);
|
|
|
- }
|
|
|
- if (vendor != null) {// 供应商uu号不为非法的值
|
|
|
- // 如果明细中客户联系人UU号为空或者UU号不存在对应的用户,则设为供应商资料中的供应商联系人(可能为空)
|
|
|
- if (proofingItem.getVendUserUU() != null) {
|
|
|
- List<User> vendUsers = userDao.findByEnUUAndUserUU(vendor.getVendEnUU(),
|
|
|
- proofingItem.getVendUserUU());
|
|
|
- if (vendUsers.size() == 0)
|
|
|
+ if (vendor != null) {// 供应商uu号不为非法的值
|
|
|
+ // 如果明细中客户联系人UU号为空或者UU号不存在对应的用户,则设为供应商资料中的供应商联系人(可能为空)
|
|
|
+ if (proofingItem.getVendUserUU() != null) {
|
|
|
+ List<User> vendUsers = userDao.findByEnUUAndUserUU(vendor.getVendEnUU(),
|
|
|
+ proofingItem.getVendUserUU());
|
|
|
+ if (vendUsers.size() == 0)
|
|
|
+ proofingItem.setVendUserUU(vendor.getVendUserUU());
|
|
|
+ } else
|
|
|
proofingItem.setVendUserUU(vendor.getVendUserUU());
|
|
|
- } else
|
|
|
- proofingItem.setVendUserUU(vendor.getVendUserUU());
|
|
|
- proofingItem.setErpDate(new Date(System.currentTimeMillis()));
|
|
|
- proofingItem.setDate(new Date(System.currentTimeMillis()));
|
|
|
- proofingItems.add(proofingItem);
|
|
|
+ proofingItem.setErpDate(new Date(System.currentTimeMillis()));
|
|
|
+ proofingItem.setDate(new Date(System.currentTimeMillis()));
|
|
|
+ proofingItems.add(proofingItem);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ } else {
|
|
|
+ throw new NotFoundException(sample.getPs_prodcode() + ",物料不存在,企业UU:" + SystemSession.getUser().getEnterprise().getUu());
|
|
|
}
|
|
|
|
|
|
}
|