Browse Source

投标单审批时修改招标单状态

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@8586 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 9 years ago
parent
commit
80d86fc14b

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

@@ -234,7 +234,7 @@ public class TenderController {
         sortList.add(new Sort("st_id", false, Sort.Type.LONG, 1L));
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         HashMap<String, Object> map = new HashMap<>();
-        map.put("st_auditstatus", Constant.YES); // 非已提交状态
+        map.put("st_auditstatus", Constant.NO); // 非已提交状态
         map.put("st_ispublish", Constant.NO); // 已发布
         pageParams.setNotEqualFilters(map);
         pageParams.getFilters().put("st_venduu", SystemSession.getUser().getEnterprise().getUu()); // 投标单属于本企业
@@ -262,7 +262,7 @@ public class TenderController {
         sortList.add(new Sort("st_id", false, Sort.Type.LONG, 1L));
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         HashMap<String, Object> map = new HashMap<>();
-        map.put("st_auditstatus", Constant.YES); // 非已提交状态
+        map.put("st_auditstatus", Constant.NO); // 非已提交状态
         map.put("st_ispublish", Constant.NO); // 已发布
         pageParams.setNotEqualFilters(map);
         pageParams.getFilters().put("st_venduu", SystemSession.getUser().getEnterprise().getUu()); // 投标单属于本企业
@@ -291,7 +291,7 @@ public class TenderController {
         sortList.add(new Sort("st_id", false, Sort.Type.LONG, 1L));
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         HashMap<String, Object> map = new HashMap<>();
-        map.put("st_auditstatus", Constant.YES); // 非已提交状态
+        map.put("st_auditstatus", Constant.NO); // 非已提交状态
         map.put("st_ispublish", Constant.NO); // 已发布
         pageParams.setNotEqualFilters(map);
         pageParams.getFilters().put("st_venduu", SystemSession.getUser().getEnterprise().getUu()); // 投标单属于本企业
@@ -321,9 +321,9 @@ public class TenderController {
         sortList.add(new Sort("st_id", false, Sort.Type.LONG, 1L));
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         HashMap<String, Object> map = new HashMap<>();
-        map.put("st_auditstatus", Constant.YES); // 非已提交状态
+        map.put("st_auditstatus", Constant.NO); // 非已提交状态
+        map.put("st_ispublish", Constant.NO); // 已发布
         pageParams.setNotEqualFilters(map);
-        pageParams.getFilters().put("st_ispublish", Constant.YES); // 已发布
         pageParams.getFilters().put("st_venduu", SystemSession.getUser().getEnterprise().getUu()); // 投标单属于本企业
         pageParams.getFilters().put("st_status", "待投标");
         return searchService.erpSearchSaleTenderIds(keyword, pageParams);

+ 23 - 5
src/main/java/com/uas/platform/b2b/erp/service/impl/TenderServiceImpl.java

@@ -623,7 +623,7 @@ public class TenderServiceImpl implements TenderService {
             boolean hasBid = false; // 投标单是否投标
             boolean hasDecided = false; // 招标明细是否定标
             for (SaleTenderItem saleTenderItem : saleTender.getSaleTenderItems()) {
-                if (null != saleTenderItem.getPrice()) { // 存在有价格的就是已投标
+                if (null != saleTenderItem.getPrice()) { // 存在有价格且投标单状态不是已提交的就是已投标
                     hasBid = true;
                 }
                 if (Constant.YES == saleTenderItem.getApplyStatus()) { // 存在采纳的就是已结标
@@ -657,10 +657,28 @@ public class TenderServiceImpl implements TenderService {
         ModelMap map = new ModelMap();
         SaleTender saleTender = saleTenderDao.findOne(id);
         saleTender.setAuditStatus(auditStatus);
-        if (Constant.NO == auditStatus) {
-            saleTender.setStatus("待投标");
-        } else {
-            saleTender.setStatus("已投标");
+        List<PurchaseTender> purchaseTenders = purchaseTenderDao.findByEnUUAndCode(saleTender.getEnUU(), saleTender.getCode());
+        if (!CollectionUtils.isEmpty(purchaseTenders)) {
+            PurchaseTender tender = purchaseTenders.get(0);
+            if (Constant.NO == auditStatus) {
+                boolean hasBid = false; // 默认无供应商投标
+                saleTender.setStatus("待投标");
+                for (PurchaseTenderProd tenderProd : tender.getPurchaseTenderProds()) {
+                    for (SaleTenderItem item : tenderProd.getSaleTenderItems()) {
+                        if (null != item.getPrice() && Constant.NO != item.getSaleTender().getAuditStatus()) { // 投标明细存在价格,对应投标单单据不是已提交时,招标单为已投标
+                            hasBid = true;
+                        }
+                    }
+                }
+                if (!hasBid) {
+                    tender.setStatus("待投标");
+                    purchaseTenderDao.save(tender);
+                }
+            } else {
+                saleTender.setStatus("已投标");
+                tender.setStatus("待评标");
+                purchaseTenderDao.save(tender);
+            }
         }
         saleTenderDao.save(saleTender);
         map.put("success", true);