Просмотр исходного кода

招标单不搜索查看单据直接从数据库获取;

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@10284 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 8 лет назад
Родитель
Сommit
d88822cfc3

+ 76 - 23
src/main/java/com/uas/platform/b2b/controller/PurchaseTenderController.java

@@ -1,30 +1,8 @@
 package com.uas.platform.b2b.controller;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.*;
-
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Controller;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.dubbo.common.utils.CollectionUtils;
 import com.alibaba.fastjson.JSONObject;
-import com.uas.platform.b2b.model.Attach;
-import com.uas.platform.b2b.model.EnterpriseBaseInfo;
-import com.uas.platform.b2b.model.FileUpload;
-import com.uas.platform.b2b.model.PurchaseTender;
-import com.uas.platform.b2b.model.SaleTenderItem;
-import com.uas.platform.b2b.model.SearchFilter;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PurchaseTenderService;
 import com.uas.platform.b2b.service.UserService;
@@ -43,6 +21,22 @@ import com.uas.search.b2b.model.MultiValue;
 import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.util.SearchConstants;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.*;
 
 /**
  * 招标单
@@ -582,6 +576,65 @@ public class PurchaseTenderController {
         return searchService.searchPurcTenderIds(keyword, pageParams);
     }
 
+    /**
+     * 作为采购方,查看发出的招标单(全部)-不搜索
+     *
+     * @param params 分页参数
+     * @return Spage
+     */
+    @RequestMapping(value = "/purc/info", method = RequestMethod.GET)
+    @ResponseBody
+    public SPage<PurchaseTender> getMyAllTendersInfo(PageParams params, String searchFilter) {
+        if (logger != null) {
+            logger.log("招标单", "查看发出的招标单(全部)");
+        }
+        PageInfo pageInfo = new PageInfo(params);
+        pageInfo.filter("isPublish", Constant.YES);
+        pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        return purchaseTenderService.findAllByPageInfo(pageInfo, filter);
+    }
+
+
+    /**
+     * 作为采购方,查看发出的招标单(待投标)-不搜索
+     *
+     * @param params 分页参数
+     * @return 招标单Spage
+     */
+    @RequestMapping(value = "/purc/info", params = RequestState.TODO, method = RequestMethod.GET)
+    @ResponseBody
+    public SPage<PurchaseTender> getMyTodoTendersInfo(PageParams params, String searchFilter) {
+        if (logger != null) {
+            logger.log("招标单", "查看发出的招标单(待投标)");
+        }
+        PageInfo pageInfo = new PageInfo(params);
+        pageInfo.filter("isPublish", Constant.YES);
+        pageInfo.filter("overdue", Constant.NO);
+        pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        return purchaseTenderService.findAllByPageInfo(pageInfo, filter);
+    }
+
+    /**
+     * 作为采购方,查看发出的招标单(待发布)-不搜索
+     *
+     * @param params 分页参数
+     * @return 招标单Spage
+     */
+    @RequestMapping(value = "/purc/info", params = RequestState.WAITING, method = RequestMethod.GET)
+    @ResponseBody
+    public SPage<PurchaseTender> getMyWaitingTendersInfo(PageParams params, String searchFilter) {
+        if (logger != null) {
+            logger.log("招标单", "查看发出的招标单(待发布)");
+        }
+        PageInfo pageInfo = new PageInfo(params);
+        pageInfo.filter("isPublish", Constant.NO);
+        pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        return purchaseTenderService.findAllByPageInfo(pageInfo, filter);
+    }
+
      /**
      * 招标附件上传
      *

+ 5 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseTender.java

@@ -1,6 +1,9 @@
 package com.uas.platform.b2b.model;
 
 
+import com.alibaba.fastjson.annotation.JSONField;
+import org.codehaus.jackson.annotate.JsonIgnore;
+
 import javax.persistence.*;
 import java.io.Serializable;
 import java.util.Date;
@@ -243,6 +246,8 @@ public class PurchaseTender implements Serializable {
         this.useruu = useruu;
     }
 
+    @JsonIgnore
+    @JSONField(serialize = false)
     public User getUserInfo() {
         return userInfo;
     }

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

@@ -352,6 +352,8 @@ public class SaleTender implements Serializable, Comparable<SaleTender> {
         this.useruu = useruu;
     }
 
+    @JsonIgnore
+    @JSONField(serialize = false)
     public User getUserInfo() {
         return userInfo;
     }

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

@@ -3,6 +3,7 @@ package com.uas.platform.b2b.service;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.temporary.model.TenderContactInfo;
 import com.uas.platform.core.model.PageInfo;
+import com.uas.search.b2b.model.SPage;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.data.domain.Page;
 import org.springframework.ui.ModelMap;
@@ -198,4 +199,6 @@ public interface PurchaseTenderService {
     List<Long> getUnreadIds(String category);
 
     void setReadByOrder(String category, Long[] sourceId);
+
+    SPage<PurchaseTender> findAllByPageInfo(PageInfo pageInfo, SearchFilter filter);
 }

+ 24 - 1
src/main/java/com/uas/platform/b2b/service/impl/PurchaseTenderServiceImpl.java

@@ -3,7 +3,6 @@ package com.uas.platform.b2b.service.impl;
 import com.uas.platform.b2b.core.util.ThreadTask;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.model.*;
-import com.uas.platform.b2b.openapi.model.Sale;
 import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.PurchaseTenderService;
 import com.uas.platform.b2b.support.SystemSession;
@@ -12,6 +11,8 @@ import com.uas.platform.b2b.temporary.model.TenderContactInfo;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.Status;
+import com.uas.platform.core.persistence.criteria.PredicateUtils;
+import com.uas.search.b2b.model.SPage;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -777,5 +778,27 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
     public void setReadByOrder(String category, Long[] sourceId) {
         userOrderDao.setReadStatus(SystemSession.getUser().getEnterprise().getUu(), SystemSession.getUser().getUserUU(), "v$purc$tender", category, (short) Status.READ.value(), sourceId);
     }
+
+    @Override
+    public SPage<PurchaseTender> findAllByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
+        SPage<PurchaseTender> tenderSPage = new SPage<>();
+        if (filter != null) {
+            if (filter.getFromDate() != null)
+                pageInfo.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
+            if (filter.getEndDate() != null)
+                pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
+        }
+        org.springframework.data.domain.Page<PurchaseTender> tenders = purchaseTenderDao.findAll(new Specification<PurchaseTender>() {
+            public Predicate toPredicate(Root<PurchaseTender> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+                return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
+            }
+        }, pageInfo);
+        tenderSPage.setContent(tenders.getContent());
+        tenderSPage.setPage(tenders.getNumber());
+        tenderSPage.setSize(tenders.getSize());
+        tenderSPage.setTotalElement(tenders.getTotalElements());
+        tenderSPage.setTotalPage(tenders.getTotalPages());
+        return tenderSPage;
+    }
 }
 

+ 17 - 13
src/main/webapp/resources/js/index/app.js

@@ -15113,13 +15113,15 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
     /**
      * 招标单
      */
-    app.controller('PurcTenderCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', function ($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope) {
+    app.controller('PurcTenderCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams',
+        '$modal', '$rootScope', 'PurcTenderInfo', function ($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope, PurcTenderInfo) {
         BaseService.scrollBackToTop();
+        $scope.searchStatus = false;
         if ($rootScope.tenderActive) {
             $scope.active = $rootScope.tenderActive;
             $rootScope.tenderActive = null;
         } else {
-            $scope.active = 'done';
+            $scope.active = 'todo';
         }
         $scope.dateZoneText = '不限';
         $scope.deliveryZoneText = '不限';
@@ -15176,19 +15178,20 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                     break;
             }
             return fn;
-        }
+        };
 
         var getService = function () {
-            return PurcTender;
+            if ($scope.searchStatus) {
+                return PurcTender;
+            }
+            return PurcTenderInfo;
         };
 
         $scope.tableParams = new ngTableParams({
             page: 1,
             count: 20,
             sorting: {
-                'tender.endDate': 'desc',
-                'tender.enterprise.enName': 'asc',
-                'tender.code': 'asc'
+                'id': 'desc'
             }
         }, {
             total: 0,
@@ -15202,7 +15205,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                     fromDate: getDateTime($scope.condition.dateFrom),
                     endDate: getDateTime($scope.condition.dateTo)
                 };
-                PurcTender[getTenderStatus($scope.active)].call(null, BaseService.parseParams(pageParams), function (page) {
+                getService()[getTenderStatus($scope.active)].call(null, BaseService.parseParams(pageParams), function (page) {
                     $scope.loading = false;
                     if (page) {
                         params.total(page.totalElement);
@@ -15281,6 +15284,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 
         // 搜索框回车
         $scope.onSearch = function () {
+            $scope.searchStatus = true;
             $scope.tableParams.page(1);
             $scope.tableParams.reload();
         };
@@ -16024,8 +16028,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                 if (isPublish) { // 发布
                     toaster.pop('info', '提示', '正在发布,请稍候');
                     PurcTender.publishSaved({tender: $scope.tender, enInfos: enInfos}, {}, function (data) {
-                        sleep(1500); //当前方法暂停1.5秒
-                        // $scope.loading = false;
+                        $scope.loading = false;
                         toaster.pop('success', '成功', '发布成功');
                         window.location.hash = '#/purc/tender';
                     }, function (response) {
@@ -16036,7 +16039,6 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                     toaster.pop('info', '提示', '正在保存,请稍候');
                     PurcTender.updateSaved({tender: $scope.tender, enInfos: enInfos}, {}, function (data) {
                         $scope.loading = false;
-                        // sleep(1500); //当前方法暂停1.5秒  给更新索引留点时间
                         toaster.pop('success', '成功', '保存成功');
                         window.location.reload();
                     }, function (response) {
@@ -16340,7 +16342,8 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
      *  客户招标
      *
      */
-    app.controller('SaleTenderCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', 'AccountEnterprise', function ($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope, AccountEnterprise) {
+    app.controller('SaleTenderCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', 'AccountEnterprise', 'PurcTenderInfo',
+        function ($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope, AccountEnterprise, PurcTenderInfo) {
         BaseService.scrollBackToTop();
         if ($rootScope.active) {
             $scope.active = $rootScope.active;
@@ -16348,6 +16351,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
         } else {
             $scope.active = 'todo';
         }
+        $scope.searchStatus = false;
 
         /**
          * 改变类型
@@ -16438,7 +16442,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                     $scope.loading = false;
                     $scope.currentEn = data;
                 });
-                PurcTender[getState($scope.active)].call(null, BaseService.parseParams(pageParams), function (page) {
+                getService()[getState($scope.active)].call(null, BaseService.parseParams(pageParams), function (page) {
                     $scope.loading = false;
                     if (page) {
                         params.total(page.totalElement);

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

@@ -346,6 +346,7 @@ define([ 'ngResource'], function() {
 				method: 'POST'
 			}
         });
+        // 数据库直接获取
     }]).factory('PurcInquiryInfo', ['$resource', function($resource) {
         return $resource('sale/inquiry/info', {}, {
             getAll: {
@@ -382,6 +383,34 @@ define([ 'ngResource'], function() {
                 }
 			}
         });
+        // 数据库直接获取
+    }]).factory('PurcTenderInfo', ['$resource', function($resource) {
+        return $resource('tender', {}, {
+            getMyAll: {
+                url: 'tender/purc/info'
+            },
+            getMyDone: {
+                url: 'tender/purc',
+                params: {
+                    _state: 'done'
+                }
+            },
+            getMyTodo: {
+                url: 'tender/purc/info',
+                params: {
+                    _state: 'todo'
+                }
+            },
+            getMyWaiting: {
+                url: 'tender/purc/info',
+                params: {
+                    _state: 'waiting'
+                }
+            },
+            getOpenAll: {
+                url: 'tender/open'
+            }
+        });
     }]).factory('PurcTender', ['$resource', function($resource) {
     	return $resource('tender', {}, {
             getMyAll: {

+ 2 - 4
src/main/webapp/resources/tpl/index/purc/tender.html

@@ -761,14 +761,12 @@ input[type="radio"], input[type="checkbox"] {
 <div class="ng-scope">
     <form name="tenderForm" id="tenderForm">
         <div class="purc-tender">
-            <!--<div class="com_title">服务>招标<font>>招标单</font></div>-->
-            <!--<div class="loading in" ng-class="{'in': loading}">
+            <div class="loading in" ng-class="{'in': loading}">
             <i></i>
-            </div>-->
+            </div>
             <div class="tender-label list-unstyled">
                 <div class="com_head">
                     <span>招标单</span>
-                    <!--<span class="fr"><em>录入人:张三</em><time>日期:2017-03-07  12:20</time></span>-->
                     <span class="fr"><em>录入人:{{user.userName}}</em><time>日期:{{time | date :'yyyy-MM-dd hh:MM:ss'}}</time></span>
             </div>
             </div>