瀏覽代碼

发布错误处理。

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@8456 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 9 年之前
父節點
當前提交
24eaa79c7f
共有 1 個文件被更改,包括 34 次插入28 次删除
  1. 34 28
      src/main/java/com/uas/platform/b2b/erp/service/impl/TenderServiceImpl.java

+ 34 - 28
src/main/java/com/uas/platform/b2b/erp/service/impl/TenderServiceImpl.java

@@ -436,33 +436,37 @@ public class TenderServiceImpl implements TenderService {
             oldTender.setUserTel(purchaseTender.getUserTel());
             oldTender.setTenderAttaches(purchaseTender.getTenderAttaches());
             purchaseTenderDao.save(oldTender);
-            // 先清除掉所有存在的投标单
-            List<SaleTender> oldSaleTenders = saleTenderDao.findByEnUUAndCode(oldTender.getEnUU(), oldTender.getCode());
-            for (SaleTender saleTender : oldSaleTenders) {
-                for (SaleTenderItem saleTenderItem : saleTender.getSaleTenderItems()) {
-                    saleTenderItemDao.delete(saleTenderItem.getId());
+            if (!CollectionUtils.isEmpty(vendUUs)) { // 不为空时,是修改过供应商的。
+                // 先清除掉所有存在的投标单
+                List<SaleTender> oldSaleTenders = saleTenderDao.findByEnUUAndCode(oldTender.getEnUU(), oldTender.getCode());
+                for (SaleTender saleTender : oldSaleTenders) {
+                    for (SaleTenderItem saleTenderItem : saleTender.getSaleTenderItems()) {
+                        saleTenderItemDao.delete(saleTenderItem.getId());
+                    }
+                    saleTenderDao.delete(saleTender.getId());
                 }
-                saleTenderDao.delete(saleTender.getId());
             }
             // 新的招标产品明细
             Set<PurchaseTenderProd> tenderProds = purchaseTender.getPurchaseTenderProds();
-            for (PurchaseTenderProd tenderProd : tenderProds) {
-                if (tenderProd.getId() != null) { // 存在id的是修改的
-                    PurchaseTenderProd oldTenderProd = purchaseTenderProdDao.findOne(tenderProd.getId());
-                    oldTenderProd.setBrand(tenderProd.getBrand());
-                    oldTenderProd.setProdCode(tenderProd.getProdCode());
-                    oldTenderProd.setProdTitle(tenderProd.getProdTitle());
-                    oldTenderProd.setUnit(tenderProd.getUnit());
-                    oldTenderProd.setQty(tenderProd.getQty());
-                    Set<SaleTenderItem> saleTenderItems = new HashSet<>();
-                    oldTenderProd.setSaleTenderItems(saleTenderItems);
-                    purchaseTenderProdDao.save(oldTenderProd);
-                } else { // 新增的
-                    tenderProd.setTender(oldTender);
-                    purchaseTenderProdDao.save(tenderProd);
-                }
-                if (!ifOpen) { // 指定招标的增加招标单
-                    addSaleTender(oldTender, vendUUs, tenderProd);
+            if (!CollectionUtils.isEmpty(tenderProds)) { // 为空是产品明细未修改。
+                for (PurchaseTenderProd tenderProd : tenderProds) {
+                    if (tenderProd.getId() != null) { // 存在id的是修改的
+                        PurchaseTenderProd oldTenderProd = purchaseTenderProdDao.findOne(tenderProd.getId());
+                        oldTenderProd.setBrand(tenderProd.getBrand());
+                        oldTenderProd.setProdCode(tenderProd.getProdCode());
+                        oldTenderProd.setProdTitle(tenderProd.getProdTitle());
+                        oldTenderProd.setUnit(tenderProd.getUnit());
+                        oldTenderProd.setQty(tenderProd.getQty());
+                        Set<SaleTenderItem> saleTenderItems = new HashSet<>();
+                        oldTenderProd.setSaleTenderItems(saleTenderItems);
+                        purchaseTenderProdDao.save(oldTenderProd);
+                    } else { // 新增的
+                        tenderProd.setTender(oldTender);
+                        purchaseTenderProdDao.save(tenderProd);
+                    }
+                    if (!ifOpen) { // 指定招标的增加招标单
+                        addSaleTender(oldTender, vendUUs, tenderProd);
+                    }
                 }
             }
             map.put("id", oldTender.getId());
@@ -481,10 +485,12 @@ public class TenderServiceImpl implements TenderService {
      */
     private void addSaleTender(PurchaseTender tender, List<Long> vendUUs, PurchaseTenderProd tenderProd) {
         List<Enterprise> vendors = new ArrayList<>();
-        for (Long vendUU : vendUUs) {
-            Enterprise vendor = enterpriseDao.findOne(vendUU);
-            if (null != vendor) {
-                vendors.add(vendor);
+        if (!CollectionUtils.isEmpty(vendUUs)) {
+            for (Long vendUU : vendUUs) {
+                Enterprise vendor = enterpriseDao.findOne(vendUU);
+                if (null != vendor) {
+                    vendors.add(vendor);
+                }
             }
         }
         for (Enterprise enterprise : vendors) {
@@ -650,7 +656,7 @@ public class TenderServiceImpl implements TenderService {
      */
     @Override
     public ModelMap reply(List<SaleTenderItem> tenderItems, EnterpriseBaseInfo enBaseInfo, Long saleTenderId) {
-        if (!Objects.isNull(enBaseInfo) && null != enBaseInfo.getUu()) {
+        if (null != enBaseInfo && null != enBaseInfo.getUu()) {
             enterpriseBaseInfoDao.save(enBaseInfo);
         }
         SaleTender saleTender = saleTenderDao.findOne(saleTenderId);