Browse Source

招标提问的相关问题处理

hejq 7 years ago
parent
commit
e7d5fb487e

+ 61 - 35
src/main/java/com/uas/platform/b2b/controller/SaleTenderQuestionController.java

@@ -1,17 +1,18 @@
 package com.uas.platform.b2b.controller;
 
+import com.alibaba.dubbo.common.utils.StringUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.FileUpload;
 import com.uas.platform.b2b.model.PurchaseTenderAnswer;
 import com.uas.platform.b2b.model.SaleTenderQuestion;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.search.SearchService;
-import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.PurchaseTenderService;
 import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
 import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.model.Status;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
@@ -42,9 +43,6 @@ public class SaleTenderQuestionController {
     @Autowired
     private SearchService searchService;
 
-    @Autowired
-    private AttachService attachService;
-
     @Autowired
     private UserService userService;
 
@@ -118,19 +116,23 @@ public class SaleTenderQuestionController {
         if (logger != null) {
             logger.log("招标提问单", "查看发出的招标提问(全部)");
         }
-        JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-        String keyword = jsonObject.getString("keyword");
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        PageInfo pageInfo = new PageInfo(params);
+        if (StringUtils.isEmpty(filter.getKeyword())) {
+            pageInfo.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());
+            return purchaseTenderService.findByPageInfo(pageInfo, filter);
+        }
         com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
         // 判断当前用户是否被客户分配
-        SearchFilter filter = userService.distribute();
-        if (filter != null && filter.getDistribute() == null) {
+        SearchFilter distribute = userService.distribute();
+        if (distribute != null && distribute.getDistribute() == null) {
             return null;
         }
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("stq_id", false, Sort.Type.LONG, 1L));
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         pageParams.getFilters().put("stq_venduu", SystemSession.getUser().getEnterprise().getUu());
-        return searchService.searchSaleTenderQuestion(keyword, pageParams);
+        return searchService.searchSaleTenderQuestion(filter.getKeyword(), pageParams);
     }
 
     /**
@@ -145,12 +147,17 @@ public class SaleTenderQuestionController {
         if (logger != null) {
             logger.log("招标提问单", "查看发出的招标提问(已回复)");
         }
-        JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-        String keyword = jsonObject.getString("keyword");
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        PageInfo pageInfo = new PageInfo(params);
+        if (StringUtils.isEmpty(filter.getKeyword())) {
+            pageInfo.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());
+            pageInfo.filter("status", Status.REPLIED.value());
+            return purchaseTenderService.findByPageInfo(pageInfo, filter);
+        }
         com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
         // 判断当前用户是否被客户分配
-        SearchFilter filter = userService.distribute();
-        if (filter != null && filter.getDistribute() == null) {
+        SearchFilter distribute = userService.distribute();
+        if (distribute != null && distribute.getDistribute() == null) {
             return null;
         }
         List<Sort> sortList = new ArrayList<>();
@@ -158,7 +165,7 @@ public class SaleTenderQuestionController {
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         pageParams.getFilters().put("stq_venduu", SystemSession.getUser().getEnterprise().getUu());
         pageParams.getFilters().put("stq_status", Status.REPLIED.value());
-        return searchService.searchSaleTenderQuestion(keyword, pageParams);
+        return searchService.searchSaleTenderQuestion(filter.getKeyword(), pageParams);
     }
 
     /**
@@ -173,12 +180,17 @@ public class SaleTenderQuestionController {
         if (logger != null) {
             logger.log("招标提问单", "查看发出的招标提问(未回复)");
         }
-        JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-        String keyword = jsonObject.getString("keyword");
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        PageInfo pageInfo = new PageInfo(params);
+        if (StringUtils.isEmpty(filter.getKeyword())) {
+            pageInfo.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());
+            pageInfo.filter("satatus", Status.NOT_REPLY.value());
+            return purchaseTenderService.findByPageInfo(pageInfo, filter);
+        }
         com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
         // 判断当前用户是否被客户分配
-        SearchFilter filter = userService.distribute();
-        if (filter != null && filter.getDistribute() == null) {
+        SearchFilter distribute = userService.distribute();
+        if (distribute != null && distribute.getDistribute() == null) {
             return null;
         }
         List<Sort> sortList = new ArrayList<>();
@@ -186,7 +198,7 @@ public class SaleTenderQuestionController {
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         pageParams.getFilters().put("stq_venduu", SystemSession.getUser().getEnterprise().getUu());
         pageParams.getFilters().put("stq_status", Status.NOT_REPLY.value());
-        return searchService.searchSaleTenderQuestion(keyword, pageParams);
+        return searchService.searchSaleTenderQuestion(filter.getKeyword(), pageParams);
     }
 
     /**
@@ -201,19 +213,23 @@ public class SaleTenderQuestionController {
         if (logger != null) {
             logger.log("招标提问单", "查看收到的招标提问(全部)");
         }
-        JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-        String keyword = jsonObject.getString("keyword");
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        PageInfo pageInfo = new PageInfo(params);
+        if (StringUtils.isEmpty(filter.getKeyword())) {
+            pageInfo.filter("saleTender.enUU", SystemSession.getUser().getEnterprise().getUu());
+            return purchaseTenderService.findByPageInfo(pageInfo, filter);
+        }
         com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
         // 判断当前用户是否被客户分配
-        SearchFilter filter = userService.distribute();
-        if (filter != null && filter.getDistribute() == null) {
+        SearchFilter distribute = userService.distribute();
+        if (distribute != null && distribute.getDistribute() == null) {
             return null;
         }
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("stq_id", false, Sort.Type.LONG, 1L));
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         pageParams.getFilters().put("stq_ptaid", SystemSession.getUser().getEnterprise().getUu());
-        return searchService.searchSaleTenderQuestion(keyword, pageParams);
+        return searchService.searchSaleTenderQuestion(filter.getKeyword(), pageParams);
     }
 
     /**
@@ -228,19 +244,24 @@ public class SaleTenderQuestionController {
         if (logger != null) {
             logger.log("招标提问单", "查看收到的招标提问(已回复)");
         }
-        JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-        String keyword = jsonObject.getString("keyword");
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        PageInfo pageInfo = new PageInfo(params);
+        if (StringUtils.isEmpty(filter.getKeyword())) {
+            pageInfo.filter("saleTender.enUU", SystemSession.getUser().getEnterprise().getUu());
+            pageInfo.filter("status", Status.REPLIED.value());
+            return purchaseTenderService.findByPageInfo(pageInfo, filter);
+        }
         com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
         // 判断当前用户是否被客户分配
-        SearchFilter filter = userService.distribute();
-        if (filter != null && filter.getDistribute() == null) {
+        SearchFilter distribute = userService.distribute();
+        if (distribute != null && distribute.getDistribute() == null) {
             return null;
         }
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("stq_id", false, Sort.Type.LONG, 1L));
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         pageParams.getFilters().put("stq_ptaid", SystemSession.getUser().getEnterprise().getUu());
-        return searchService.searchSaleTenderQuestion(keyword, pageParams);
+        return searchService.searchSaleTenderQuestion(filter.getKeyword(), pageParams);
     }
 
     /**
@@ -255,18 +276,23 @@ public class SaleTenderQuestionController {
         if (logger != null) {
             logger.log("招标提问单", "查看收到的招标提问(未回复)");
         }
-        JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-        String keyword = jsonObject.getString("keyword");
-        com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        PageInfo pageInfo = new PageInfo(params);
         // 判断当前用户是否被客户分配
-        SearchFilter filter = userService.distribute();
-        if (filter != null && filter.getDistribute() == null) {
+        SearchFilter distribute = userService.distribute();
+        if (distribute != null && distribute.getDistribute() == null) {
             return null;
         }
+        if (StringUtils.isEmpty(filter.getKeyword())) {
+            pageInfo.filter("saleTender.enUU", SystemSession.getUser().getEnterprise().getUu());
+            pageInfo.filter("status", Status.NOT_REPLY.value());
+            return purchaseTenderService.findByPageInfo(pageInfo, filter);
+        }
+        com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("stq_id", false, Sort.Type.LONG, 1L));
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         pageParams.getFilters().put("stq_ptaid", SystemSession.getUser().getEnterprise().getUu());
-        return searchService.searchSaleTenderQuestion(keyword, pageParams);
+        return searchService.searchSaleTenderQuestion(filter.getKeyword(), pageParams);
     }
 }

+ 9 - 48
src/main/java/com/uas/platform/b2b/service/PurchaseTenderService.java

@@ -17,22 +17,6 @@ import java.util.Map;
  */
 public interface PurchaseTenderService {
 
-//    /**
-//     * 保存招标单
-//     *
-//     * @param tender
-//     * @return
-//     */
-//    void save(PurchaseTender tender, List<Long> vendUUs);
-//
-//    /**
-//     * 发布招标单
-//     *
-//     * @param tender
-//     * @return
-//     */
-//    void publish(PurchaseTender tender, List<Long> vendUUs);
-
     /**
      * 投标
      *
@@ -41,15 +25,6 @@ public interface PurchaseTenderService {
      */
     void reply(SaleTenderErp saleTender);
 
-//    /**
-//     * 根据id获取投标单
-//     *
-//     * @param bidId
-//     * @return
-//     */
-//    SaleTender findByItemId(Long bidId);
-
-
     /**
      * 采购方定标操作
      *
@@ -66,29 +41,6 @@ public interface PurchaseTenderService {
      */
     PurchaseTender findById(Long bidId);
 
-//    /**
-//     *  根据id获取评标单
-//     * @param id
-//     * @return
-//     */
-//    List<SaleTender> getItemsByTenderId(Long id);
-
-//    /**
-//     *  根据id和enuu获取客户投标单
-//     * @param vendUU
-//     * @param id
-//     * @return
-//     */
-//    SaleTender findByEnUUAndId(Long vendUU, Long id);
-
-
-//    void publishOpen(PurchaseTender purchaseTender);
-//    /**
-//     *  保存公开招标单
-//     * @param purchaseTender
-//     */
-//    void saveOpen(PurchaseTender purchaseTender);
-
     Attach addTenderAttaches(FileUpload uploadItem) throws Exception;
 
     Attach addTenderItemAttaches(FileUpload uploadItem) throws Exception;
@@ -215,4 +167,13 @@ public interface PurchaseTenderService {
     PurchaseTenderAnswer getAnswerDetail(Long id);
 
     PurchaseTenderAnswer sendAnswer(PurchaseTenderAnswer answer, FileUpload uploadItem);
+
+    /**
+     * 通过分页条件查询供应商招标问题
+     *
+     * @param pageInfo 分页参数
+     * @param filter 过滤条件
+     * @return
+     */
+    SPage<SaleTenderQuestion> findByPageInfo(PageInfo pageInfo, SearchFilter filter);
 }

+ 26 - 4
src/main/java/com/uas/platform/b2b/service/impl/PurchaseTenderServiceImpl.java

@@ -13,6 +13,7 @@ import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.PurchaseTenderService;
+import com.uas.platform.b2b.support.SPageUtils;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.temporary.model.PurcTenderProd;
 import com.uas.platform.b2b.temporary.model.TenderContactInfo;
@@ -51,9 +52,6 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
     @Autowired
     private PurchaseTenderDao purchaseTenderDao;
 
-    @Autowired
-    private PurchaseTenderInfoDao purchaseTenderInfoDao;
-
     @Autowired
     private PurchaseTenderProdDao purchaseTenderProdDao;
 
@@ -983,7 +981,6 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
                 SaleTenderAnswer answer = saleTenderAnswerDao.findByEnUUAndTenderCode(saleTender.getEnUU(), saleTender.getCode());
                 if (null == answer) {
                     answer = new SaleTenderAnswer(saleTender);
-//                    answer.setCode("A" + sdf.format(new Date()));
                     answer.setStatus((short) Status.NOT_REPLY.value());
                     answer = saleTenderAnswerDao.save(answer);
                 }
@@ -1020,6 +1017,31 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         return null;
     }
 
+    /**
+     * 通过分页条件查询供应商招标问题
+     *
+     * @param pageInfo 分页参数
+     * @param filter   过滤条件
+     * @return
+     */
+    @Override
+    public SPage<SaleTenderQuestion> findByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
+        if (filter.getFromDate() != null) {
+            pageInfo.expression(PredicateUtils.gte("inDate", new Date(filter.getFromDate()), false));
+        }
+        if (filter.getEndDate() != null) {
+            pageInfo.expression(PredicateUtils.lte("inDate", new Date(filter.getEndDate()), false));
+        }
+        Page<SaleTenderQuestion> questionPage = saleTenderQuestionDao.findAll(new Specification<SaleTenderQuestion>() {
+            @Override
+            public Predicate toPredicate(Root<SaleTenderQuestion> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+                query.where(pageInfo.getPredicates(root, query, cb));
+                return null;
+            }
+        }, pageInfo);
+        return SPageUtils.covertSPage(questionPage);
+    }
+
     @Override
     public SaleTenderQuestion getQuestionDetail(Long id) {
         return saleTenderQuestionDao.findOne(id);