Procházet zdrojové kódy

UAS招标接口修改

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@10769 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw před 8 roky
rodič
revize
b8fdd8e3c0

+ 12 - 0
src/main/java/com/uas/platform/b2b/controller/PurchaseTenderController.java

@@ -149,6 +149,18 @@ public class PurchaseTenderController {
         return purchaseTenderService.findById(id);
     }
 
+    /**
+     * 查看投标单详情
+     *
+     * @param tenderId 招标单id
+     *
+     */
+    @RequestMapping(value = "/getSaleTenderDetail/{tenderId}", method = RequestMethod.GET)
+    @ResponseBody
+    public SaleTender getSaleTenderDetail(@PathVariable("tenderId") Long tenderId) {
+        return purchaseTenderService.findMySaleTenderDetailByTenderId(tenderId);
+    }
+
 
     /**
      * 公开招标转投标单

+ 5 - 3
src/main/java/com/uas/platform/b2b/dao/SaleTenderDao.java

@@ -1,14 +1,13 @@
 package com.uas.platform.b2b.dao;
 
-import java.util.List;
-
+import com.uas.platform.b2b.model.SaleTender;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
-import com.uas.platform.b2b.model.SaleTender;
+import java.util.List;
 
 /**
  * Created by dongbw on 17/03/07 14:10.
@@ -23,4 +22,7 @@ public interface SaleTenderDao extends JpaSpecificationExecutor<SaleTender>,JpaR
 
 	@Query("select t.ptId from SaleTender t where t.id in :ids and t.ptId is not null")
 	public List<Long> findByIds(@Param("ids") List<Long> ids);
+
+	@Query("select t from SaleTender t where t.ptId = :tenderId and t.vendUU = :vendUU")
+    SaleTender findByPtId(@Param("tenderId")Long tenderId, @Param("vendUU")Long vendUU);
 }

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

@@ -773,4 +773,11 @@ public class TenderController {
         return tenderService.getSaleTenderDetail(id);
     }
 
+    /**
+     * UAS审批招标单
+     */
+    @RequestMapping(value = "/auditTender", method = RequestMethod.POST)
+    public ModelMap aduitTender(Long id) {
+        return tenderService.publishTender(id);
+    }
 }

+ 7 - 0
src/main/java/com/uas/platform/b2b/erp/service/TenderService.java

@@ -172,4 +172,11 @@ public interface TenderService {
     ModelMap updateSavedOpen(PurchaseTender purchaseTender, List<Attach> attachList);
 
     List<VendorContact> getVendContacts(Long enuu, Long venduu);
+
+    /**
+     * UAS发布招标单审核通过
+     * @param id
+     * @return
+     */
+    ModelMap publishTender(Long id);
 }

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

@@ -472,6 +472,36 @@ public class TenderServiceImpl implements TenderService {
         return vendorContactDao.findByMyenuuAndVenduu(enuu, venduu);
     }
 
+    /**
+     * UAS发布招标单审核通过
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public ModelMap publishTender(Long id) {
+        ModelMap map = new ModelMap();
+        PurchaseTender tender = purchaseTenderDao.findOne(id);
+        if (null == tender) {
+            map.put("error", "根据id未找到对应招标单");
+            return map;
+        }
+        tender.setIsPublish(Constant.YES);
+        purchaseTenderDao.save(tender);
+        // 不开放的要同时把投标单发布状态修改
+        if (tender.getIfOpen() != Constant.YES) {
+            List<SaleTender> saleTenders = saleTenderDao.findByEnUUAndCode(tender.getEnUU(), tender.getCode());
+            List<SaleTender> saveList = new ArrayList<>();
+            for (SaleTender saleTender : saleTenders) {
+                saleTender.setIsPublish(Constant.YES);
+                saveList.add(saleTender);
+            }
+            saleTenderDao.save(saveList);
+        }
+        map.put("success", true);
+        return map;
+    }
+
     /**
      * 发布或保存方法(针对保存的单据)
      *
@@ -1034,8 +1064,17 @@ public class TenderServiceImpl implements TenderService {
             }
             saleTenderItemDao.save(items);
         }
+        Set<Long> saleTenderIds = new HashSet<>();
+        List<SaleTender> saleTenders = new ArrayList<>();
+        for (SaleTenderItem saleTenderItem : saleTenderItems) {
+            SaleTenderItem item = saleTenderItemDao.findOne(saleTenderItem.getId());
+            if (!saleTenderIds.contains(item.getSaleTender().getId())) {
+                saleTenderIds.add(item.getSaleTender().getId());
+                saleTenders.add(item.getSaleTender());
+            }
+        }
         // 定标时,给供应商产生消息
-        ContextUtils.publishEvent(new PurchaseTenderDecideReleaseEvent(SaleTenderItem.distinct(saleTenderItems)));
+        ContextUtils.publishEvent(new PurchaseTenderDecideReleaseEvent(saleTenders));
         ModelMap map = new ModelMap();
         map.put("success", true);
         return map;

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

@@ -211,7 +211,7 @@ public class SaleTender implements Serializable, Comparable<SaleTender> {
     /**
      * 投标企业基本信息
      */
-    @OneToOne(cascade = CascadeType.ALL)
+    @OneToOne(cascade = CascadeType.PERSIST)
     @JoinColumn(name = "st_venduu", insertable = false, updatable = false)
     private EnterpriseBaseInfo enterpriseBaseInfo;
 

+ 5 - 2
src/main/java/com/uas/platform/b2b/search/SearchServiceImpl.java

@@ -824,8 +824,11 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 	@Override
 	public SPage<PurchaseTender> searchSaleTenderIds(String keyword, PageParams pageParams) {
 		SPage<Long> idsPage = searchService.searchIds(keyword, Table_name.SALE$TENDER_B2B, pageParams);
-		List<Long> ids = saleTenderDao.findByIds(idsPage.getContent());
-		List<PurchaseTender> tenders = purchaseTenderDao.findAll(ids);
+		List<PurchaseTender> tenders = new ArrayList<>();
+		if (!CollectionUtils.isEmpty(idsPage.getContent())) {
+			List<Long> ids = saleTenderDao.findByIds(idsPage.getContent());
+			tenders = purchaseTenderDao.findAll(ids);
+		}
 		return toSPage(idsPage, tenders);
 	}
 

+ 2 - 0
src/main/java/com/uas/platform/b2b/service/PurchaseTenderService.java

@@ -203,4 +203,6 @@ public interface PurchaseTenderService {
     SPage<PurchaseTender> findAllByPageInfo(PageInfo pageInfo, SearchFilter filter);
 
     SPage<PurchaseTender> findAllBySaleTenderPageInfo(PageInfo pageInfo, SearchFilter filter);
+
+    SaleTender findMySaleTenderDetailByTenderId(Long tenderId);
 }

+ 6 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseTenderServiceImpl.java

@@ -839,5 +839,11 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         tenderSPage.setTotalPage(saleTenderPage.getTotalPages());
         return tenderSPage;
     }
+
+    @Override
+    public SaleTender findMySaleTenderDetailByTenderId(Long tenderId) {
+        Long vendUU = SystemSession.getUser().getEnterprise().getUu();
+        return saleTenderDao.findByPtId(tenderId, vendUU);
+    }
 }
 

+ 7 - 0
src/main/webapp/resources/js/index/services/Purc.js

@@ -525,6 +525,13 @@ define([ 'ngResource'], function() {
     				id: 'id'
 				}
 			},
+            getSaleTenderDetail: {
+                url: 'tender/getSaleTenderDetail/:tenderId',
+                method: 'GET',
+                params: {
+                    tenderId: 'tenderId'
+                }
+            },
             addItems: {
                 url: 'tender/addItems/:id',
                 method: 'POST',

+ 2 - 2
src/main/webapp/resources/tpl/index/sale/tenderlist.html

@@ -356,7 +356,7 @@
                 </td>
             </tr>
             </tbody>
-            <tbody class="not-done" ng-repeat="tender in $data" ng-show="active != 'end' && active != 'waiting'">
+            <tbody class="not-done" ng-repeat="tender in $data | orderBy:'-id'" ng-show="active != 'end' && active != 'waiting'">
             <tr>
                 <td class="list-notnum" width=300">
                     <div>
@@ -422,7 +422,7 @@
                 <th width="150">状态</th>
             </tr>
             </thead>
-            <tbody class="is-done" ng-repeat="tender in $data" ng-show="active == 'end' || active == 'waiting'">
+            <tbody class="is-done" ng-repeat="tender in $data  | orderBy:'-id'" ng-show="active == 'end' || active == 'waiting'">
             <tr class="pro-line-sty01">
                 <td class="list-notnum" width="350">
                     <div>招标标题:{{tender.title}}</div>