Browse Source

主动报价单获取数据方法更新,增加客户已同意和不同意分类

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@10518 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 8 years ago
parent
commit
75b847546d

+ 139 - 1
src/main/java/com/uas/platform/b2b/controller/SaleQuotationController.java

@@ -123,7 +123,7 @@ public class SaleQuotationController {
 			pageParams.getFilters().put("qu_custuu", new MultiValue(list, true));
 		}
 		HashMap<String, Object> map = new HashMap<>();
-		map.put("qu_overdue", Constant.YES); // 未过报价截至有效期
+		map.put("qu_overdue", Constant.NO); // 未过报价截至有效期
 		pageParams.setNotEqualFilters(map);
 		pageParams.getFilters().put("qu_status", Status.SUBMITTED.value());
 		List<Sort> sortList = new ArrayList<>();
@@ -132,6 +132,80 @@ public class SaleQuotationController {
 		return searchService.searchSaleQuotationIds(keyword, pageParams);
 	}
 
+	/**
+	 * 作为卖家,查看自己的主动报价(已同意)
+	 * 
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(params = RequestState.AGREED, method = RequestMethod.GET)
+	@ResponseBody
+	public SPage<SaleQuotationAll> getAgreedQuotationItems(PageParams params, String searchFilter) {
+		logger.log("主动报价单", "查看主动报价单-已同意");
+		JSONObject jsonObject = JSON.parseObject(searchFilter);
+		String keyword = jsonObject.getString("keyword");
+		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
+		// 当前登录企业作为供应商
+		pageParams.getFilters().put("qu_enuu", SystemSession.getUser().getEnterprise().getUu());
+		SearchFilter filter = userService.distribute();
+		if (filter != null && filter.getDistribute() == null) {
+			return null;
+		}
+		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+			List<Object> list = new ArrayList<>();
+			for (Object object : filter.getDistribute()) {
+				list.add(object);
+			}
+			pageParams.getFilters().put("qu_custuu", new MultiValue(list, true));
+		}
+		HashMap<String, Object> map = new HashMap<>();
+		map.put("qu_overdue", Constant.NO); // 未过报价截至有效期
+		pageParams.setNotEqualFilters(map);
+		pageParams.getFilters().put("qu_status", Status.SUBMITTED.value());
+		pageParams.getFilters().put("qu_agreed", Constant.YES);
+		List<Sort> sortList = new ArrayList<>();
+		sortList.add(new Sort("qu_id", false, Type.LONG, new Long(1)));
+		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		return searchService.searchSaleQuotationIds(keyword, pageParams);
+	}
+
+	/**
+	 * 作为卖家,查看自己的主动报价(不同意)
+	 * 
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(params = RequestState.REFUSED, method = RequestMethod.GET)
+	@ResponseBody
+	public SPage<SaleQuotationAll> getRefusedQuotationItems(PageParams params, String searchFilter) {
+		logger.log("主动报价单", "查看主动报价单-不同意");
+		JSONObject jsonObject = JSON.parseObject(searchFilter);
+		String keyword = jsonObject.getString("keyword");
+		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
+		// 当前登录企业作为供应商
+		pageParams.getFilters().put("qu_enuu", SystemSession.getUser().getEnterprise().getUu());
+		SearchFilter filter = userService.distribute();
+		if (filter != null && filter.getDistribute() == null) {
+			return null;
+		}
+		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+			List<Object> list = new ArrayList<>();
+			for (Object object : filter.getDistribute()) {
+				list.add(object);
+			}
+			pageParams.getFilters().put("qu_custuu", new MultiValue(list, true));
+		}
+		HashMap<String, Object> map = new HashMap<>();
+		map.put("qu_overdue", Constant.NO); // 未过报价截至有效期
+		pageParams.setNotEqualFilters(map);
+		pageParams.getFilters().put("qu_status", Status.SUBMITTED.value());
+		pageParams.getFilters().put("qu_agreed", Constant.NO);
+		List<Sort> sortList = new ArrayList<>();
+		sortList.add(new Sort("qu_id", false, Type.LONG, new Long(1)));
+		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		return searchService.searchSaleQuotationIds(keyword, pageParams);
+	}
+
 	/**
 	 * 作为卖家,查看自己的主动报价(未提交)
 	 * 
@@ -254,6 +328,69 @@ public class SaleQuotationController {
 		PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
 		pageInfo.filter("status", Status.SUBMITTED.value());
+		pageInfo.filter("overdue", Constant.NO);
+		return saleQuotationService.findAllDetailByPageInfo(pageInfo, null, filter);
+	}
+
+	/**
+	 * 作为卖家,查看自己的主动报价单(已同意)
+	 * 
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(value = "/info", params = RequestState.AGREED, method = RequestMethod.GET)
+	@ResponseBody
+	public SPage<SaleQuotationAll> getSalQuotationInfoAgreed(PageParams params, String searchFilter) {
+		logger.log("主动报价单", "查看主动报价单-已同意");
+		// 当前登录企业作为供应商
+		SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+		SearchFilter disfilter = userService.distribute();
+		if (disfilter != null && disfilter.getDistribute() == null) {
+			return null;
+		}
+		if (disfilter != null && !CollectionUtils.isEmpty(disfilter.getDistribute())) {
+			List<Object> list = new ArrayList<>();
+			for (Object object : disfilter.getDistribute()) {
+				list.add(object);
+			}
+			filter.setDistribute(list);
+		}
+		PageInfo pageInfo = new PageInfo(params);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("status", Status.SUBMITTED.value());
+		pageInfo.filter("agreed", Constant.YES);
+		pageInfo.filter("overdue", Constant.NO);
+		return saleQuotationService.findAllDetailByPageInfo(pageInfo, null, filter);
+	}
+
+	/**
+	 * 作为卖家,查看自己的主动报价单(不同意)
+	 * 
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(value = "/info", params = RequestState.REFUSED, method = RequestMethod.GET)
+	@ResponseBody
+	public SPage<SaleQuotationAll> getSalQuotationInfoRefused(PageParams params, String searchFilter) {
+		logger.log("主动报价单", "查看主动报价单-已同意");
+		// 当前登录企业作为供应商
+		SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+		SearchFilter disfilter = userService.distribute();
+		if (disfilter != null && disfilter.getDistribute() == null) {
+			return null;
+		}
+		if (disfilter != null && !CollectionUtils.isEmpty(disfilter.getDistribute())) {
+			List<Object> list = new ArrayList<>();
+			for (Object object : disfilter.getDistribute()) {
+				list.add(object);
+			}
+			filter.setDistribute(list);
+		}
+		PageInfo pageInfo = new PageInfo(params);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("status", Status.SUBMITTED.value());
+		pageInfo.filter("agreed", Constant.NO);
+		pageInfo.filter("overdue", Constant.NO);
 		return saleQuotationService.findAllDetailByPageInfo(pageInfo, null, filter);
 	}
 
@@ -287,6 +424,7 @@ public class SaleQuotationController {
 		return saleQuotationService.findAllDetailByPageInfo(pageInfo, null, filter);
 	}
 
+
 	/**
 	 * 作为卖家,查看自己的主动报价单(全部)
 	 * 

+ 9 - 0
src/main/java/com/uas/platform/b2b/dao/SaleQuotationAllDao.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2b.dao;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.query.Procedure;
 import org.springframework.stereotype.Repository;
 
 import com.uas.platform.b2b.model.SaleQuotationAll;
@@ -10,4 +11,12 @@ import com.uas.platform.b2b.model.SaleQuotationAll;
 public interface SaleQuotationAllDao
 		extends JpaSpecificationExecutor<SaleQuotationAll>, JpaRepository<SaleQuotationAll, Long> {
 
+	/**
+	 * 更新主表同意(不同意)状态<br>
+	 * 主动报价单只有一条明细,而且为了和询价单对应,客户的同意状态存在从表,所以每次查询客户审核状态时要先更新主表的状态
+	 * 
+	 * @param enuu
+	 */
+	@Procedure(procedureName = "sale$quotation_agreed_update")
+	public void updateAgreedStatus(Long enuu);
 }

+ 16 - 0
src/main/java/com/uas/platform/b2b/model/SaleQuotationAll.java

@@ -165,6 +165,14 @@ public class SaleQuotationAll implements Serializable {
 	@Column(name = "qu_overdue")
 	private Short overdue;
 
+	/**
+	 * 是否同意<br>
+	 * 1. 同意<br>
+	 * 0. 不同意
+	 */
+	@Column(name = "qu_agreed")
+	private Short agreed;
+
 	public Long getId() {
 		return id;
 	}
@@ -333,6 +341,14 @@ public class SaleQuotationAll implements Serializable {
 		this.overdue = overdue;
 	}
 
+	public Short getAgreed() {
+		return agreed;
+	}
+
+	public void setAgreed(Short agreed) {
+		this.agreed = agreed;
+	}
+
 	@Override
 	public String toString() {
 		return "SaleQuotationAll{" +