Browse Source

主动报价单更新已提交的数据,将客户待审批的数据放入已报价里面

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

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

@@ -21,6 +21,7 @@ import org.springframework.web.servlet.ModelAndView;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.SaleQuotationAll;
+import com.uas.platform.b2b.model.SaleQuotationDone;
 import com.uas.platform.b2b.model.SaleQuotationItem;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.search.SearchService;
@@ -104,7 +105,7 @@ public class SaleQuotationController {
 	 */
 	@RequestMapping(params = RequestState.DONE, method = RequestMethod.GET)
 	@ResponseBody
-	public SPage<SaleQuotationAll> getSubmitedQuotationItems(PageParams params, String searchFilter) {
+	public SPage<SaleQuotationDone> getSubmitedQuotationItems(PageParams params, String searchFilter) {
 		logger.log("主动报价单", "查看主动报价单-已提交");
 		JSONObject jsonObject = JSON.parseObject(searchFilter);
 		String keyword = jsonObject.getString("keyword");
@@ -129,7 +130,7 @@ public class SaleQuotationController {
 		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);
+		return searchService.searchSaleQuotationDoneIds(keyword, pageParams);
 	}
 
 	/**
@@ -310,7 +311,7 @@ public class SaleQuotationController {
 	 */
 	@RequestMapping(value = "/info", params = RequestState.DONE, method = RequestMethod.GET)
 	@ResponseBody
-	public SPage<SaleQuotationAll> getSalQuotationInfoDone(PageParams params, String searchFilter) {
+	public SPage<SaleQuotationDone> getSalQuotationInfoDone(PageParams params, String searchFilter) {
 		logger.log("主动报价单", "查看主动报价单-已提交");
 		// 当前登录企业作为供应商
 		SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
@@ -327,9 +328,8 @@ 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);
+		return saleQuotationService.findDoneByPageInfo(pageInfo, filter);
 	}
 
 	/**

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/SaleQuotationDoneDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.SaleQuotationDone;
+
+@Repository
+public interface SaleQuotationDoneDao
+		extends JpaRepository<SaleQuotationDone, Long>, JpaSpecificationExecutor<SaleQuotationDone> {
+
+}

+ 381 - 0
src/main/java/com/uas/platform/b2b/model/SaleQuotationDone.java

@@ -0,0 +1,381 @@
+package com.uas.platform.b2b.model;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Set;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
+import javax.persistence.OrderBy;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+import org.hibernate.annotations.Where;
+
+/**
+ * 平台里面,供应商发起的主动报价单<br>
+ * (以供应商的视角)
+ *  存在根据截止日期判断是否过期,所以采用视图
+ * 
+ * @author yingp
+ * 
+ */
+@Table(name = "v$sale$quotation")
+@Where(clause = "qu_status = 101 or qu_status = 311")
+@Entity
+public class SaleQuotationDone implements Serializable {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	@Id
+	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sale$quotation_gen")
+	@SequenceGenerator(name = "sale$quotation_gen", sequenceName = "sale$quotation_seq", allocationSize = 1)
+	@Column(name = "qu_id")
+	private Long id;
+
+	/**
+	 * 流水号
+	 */
+	@Column(name = "qu_code")
+	private String code;
+
+	/**
+	 * 所属企业(卖家)UU
+	 */
+	@Column(name = "qu_enuu")
+	private Long enUU;
+
+	@Column(name = "qu_environment")
+	private String environment;
+
+	/**
+	 * 所属用户(卖家)UU
+	 */
+	@Column(name = "qu_useruu")
+	private Long userUU;
+
+	/**
+	 * 所属用户(卖家)=录入人
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = "qu_useruu", insertable = false, updatable = false)
+	private UserBaseInfo user;
+
+	/**
+	 * 客户UU
+	 */
+	@Column(name = "qu_custuu")
+	private Long custUU;
+
+	/**
+	 * 客户企业
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = "qu_custuu", insertable = false, updatable = false)
+	private EnterpriseInfo cust;
+
+	/**
+	 * 客户联系人UU
+	 */
+	@Column(name = "qu_custuseruu")
+	private Long custUserUU;
+
+	/**
+	 * 客户联系人
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = "qu_custuseruu", insertable = false, updatable = false)
+	private UserBaseInfo custUser;
+
+	/**
+	 * 录入日期(有效开始日期)
+	 */
+	@Column(name = "qu_date")
+	private Date date;
+
+	/**
+	 * 有效截止日期
+	 */
+	@Column(name = "qu_enddate")
+	private Date endDate;
+
+	/**
+	 * 币种
+	 */
+	@Column(name = "qu_currency")
+	private String currency;
+
+	/**
+	 * 汇率
+	 */
+	@Column(name = "qu_rate")
+	private Float rate;
+
+	/**
+	 * 税率
+	 */
+	@Column(name = "qu_taxrate")
+	private Float taxrate;
+
+	/**
+	 * 备注
+	 */
+	@Column(name = "qu_remark")
+	private String remark;
+
+	/**
+	 * (对买家)传输状态
+	 */
+	@Column(name = "qu_sendstatus")
+	private Short sendStatus;
+
+	/**
+	 * 报价明细
+	 */
+	@OneToMany(mappedBy = "quotation", cascade = { CascadeType.REFRESH, CascadeType.PERSIST, CascadeType.REMOVE,
+			CascadeType.MERGE }, fetch = FetchType.EAGER)
+	@OrderBy("number")
+	private Set<SaleQuotationItemAll> quotationItems;
+
+	/**
+	 * 单据状态(在录入100, 已提交101, 已作废314)
+	 */
+	@Column(name = "qu_status")
+	private Short status;
+
+	/**
+	 * (对卖家)传输状态
+	 */
+	@Column(name = "qu_backstatus")
+	private Short backStatus;
+
+	/**
+	 * 是否过期(1为是,0为否)
+	 *
+	 * @return
+	 */
+	@Column(name = "qu_overdue")
+	private Short overdue;
+
+	/**
+	 * 是否同意<br>
+	 * 1. 同意<br>
+	 * 0. 不同意
+	 */
+	@Column(name = "qu_agreed")
+	private Short agreed;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getEnvironment() {
+		return environment;
+	}
+
+	public void setEnvironment(String environment) {
+		this.environment = environment;
+	}
+
+	public Long getEnUU() {
+		return enUU;
+	}
+
+	public void setEnUU(Long enUU) {
+		this.enUU = enUU;
+	}
+
+	public Date getDate() {
+		return date;
+	}
+
+	public void setDate(Date date) {
+		this.date = date;
+	}
+
+	public Date getEndDate() {
+		return endDate;
+	}
+
+	public void setEndDate(Date endDate) {
+		this.endDate = endDate;
+	}
+
+	public String getCurrency() {
+		return currency;
+	}
+
+	public void setCurrency(String currency) {
+		this.currency = currency;
+	}
+
+	public Float getRate() {
+		return rate;
+	}
+
+	public void setRate(Float rate) {
+		this.rate = rate;
+	}
+
+	public Float getTaxrate() {
+		return taxrate;
+	}
+
+	public void setTaxrate(Float taxrate) {
+		this.taxrate = taxrate;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public Long getCustUU() {
+		return custUU;
+	}
+
+	public void setCustUU(Long custUU) {
+		this.custUU = custUU;
+	}
+
+	public Long getCustUserUU() {
+		return custUserUU;
+	}
+
+	public void setCustUserUU(Long custUserUU) {
+		this.custUserUU = custUserUU;
+	}
+
+	public Short getSendStatus() {
+		return sendStatus;
+	}
+
+	public void setSendStatus(Short sendStatus) {
+		this.sendStatus = sendStatus;
+	}
+
+	public Long getUserUU() {
+		return userUU;
+	}
+
+	public void setUserUU(Long userUU) {
+		this.userUU = userUU;
+	}
+
+	public Set<SaleQuotationItemAll> getQuotationItems() {
+		return quotationItems;
+	}
+
+	public void setQuotationItems(Set<SaleQuotationItemAll> quotationItems) {
+		this.quotationItems = quotationItems;
+	}
+
+	public UserBaseInfo getUser() {
+		return user;
+	}
+
+	public void setUser(UserBaseInfo user) {
+		this.user = user;
+	}
+
+	public EnterpriseInfo getCust() {
+		return cust;
+	}
+
+	public void setCust(EnterpriseInfo cust) {
+		this.cust = cust;
+	}
+
+	public UserBaseInfo getCustUser() {
+		return custUser;
+	}
+
+	public void setCustUser(UserBaseInfo custUser) {
+		this.custUser = custUser;
+	}
+
+	public Short getStatus() {
+		return status;
+	}
+
+	public void setStatus(Short status) {
+		this.status = status;
+	}
+
+	public Short getBackStatus() {
+		return backStatus;
+	}
+
+	public void setBackStatus(Short backStatus) {
+		this.backStatus = backStatus;
+	}
+
+	public Short getOverdue() {
+		return overdue;
+	}
+
+	public void setOverdue(Short overdue) {
+		this.overdue = overdue;
+	}
+
+	public Short getAgreed() {
+		return agreed;
+	}
+
+	public void setAgreed(Short agreed) {
+		this.agreed = agreed;
+	}
+
+	@Override
+	public String toString() {
+		return "SaleQuotationAll{" +
+				"id=" + id +
+				", code='" + code + '\'' +
+				", enUU=" + enUU +
+				", environment='" + environment + '\'' +
+				", userUU=" + userUU +
+				", user=" + user +
+				", custUU=" + custUU +
+				", cust=" + cust +
+				", custUserUU=" + custUserUU +
+				", custUser=" + custUser +
+				", date=" + date +
+				", endDate=" + endDate +
+				", currency='" + currency + '\'' +
+				", rate=" + rate +
+				", taxrate=" + taxrate +
+				", remark='" + remark + '\'' +
+				", sendStatus=" + sendStatus +
+				", quotationItems=" + quotationItems +
+				", status=" + status +
+				", backStatus=" + backStatus +
+				", overdue=" + overdue +
+				'}';
+	}
+}

+ 51 - 1
src/main/java/com/uas/platform/b2b/search/SearchService.java

@@ -8,7 +8,48 @@ import com.uas.account.support.Page;
 import com.uas.platform.b2b.erp.model.B2BCustomer;
 import com.uas.platform.b2b.erp.model.B2BVendor;
 import com.uas.platform.b2b.erp.model.SaleTenderErp;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.model.Cart;
+import com.uas.platform.b2b.model.Component;
+import com.uas.platform.b2b.model.DeputyOrder;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.InvitationRecord;
+import com.uas.platform.b2b.model.Kind;
+import com.uas.platform.b2b.model.MakeAccept;
+import com.uas.platform.b2b.model.MakeOrder;
+import com.uas.platform.b2b.model.MakeOrderChangeItem;
+import com.uas.platform.b2b.model.MakeReturn;
+import com.uas.platform.b2b.model.PagingReleaseDetail;
+import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.PurcInquiry;
+import com.uas.platform.b2b.model.PurcInquiryItemInfo;
+import com.uas.platform.b2b.model.PurchaseAccept;
+import com.uas.platform.b2b.model.PurchaseApBill;
+import com.uas.platform.b2b.model.PurchaseApBillOut;
+import com.uas.platform.b2b.model.PurchaseApCheck;
+import com.uas.platform.b2b.model.PurchaseBadIn;
+import com.uas.platform.b2b.model.PurchaseBadOut;
+import com.uas.platform.b2b.model.PurchaseForecastAll;
+import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.b2b.model.PurchaseInquiryMould;
+import com.uas.platform.b2b.model.PurchaseMRB;
+import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.PurchaseOrderAll;
+import com.uas.platform.b2b.model.PurchaseOrderChange;
+import com.uas.platform.b2b.model.PurchaseOrderDone;
+import com.uas.platform.b2b.model.PurchaseOrderEnd;
+import com.uas.platform.b2b.model.PurchaseOrderReceived;
+import com.uas.platform.b2b.model.PurchaseOrderTodo;
+import com.uas.platform.b2b.model.PurchaseOrderWaiting;
+import com.uas.platform.b2b.model.PurchaseProofingApproval;
+import com.uas.platform.b2b.model.PurchaseProofingItem;
+import com.uas.platform.b2b.model.PurchaseProofingSend;
+import com.uas.platform.b2b.model.PurchaseReturn;
+import com.uas.platform.b2b.model.PurchaseTender;
+import com.uas.platform.b2b.model.SaleARCheck;
+import com.uas.platform.b2b.model.SaleQuotationAll;
+import com.uas.platform.b2b.model.SaleQuotationDone;
+import com.uas.platform.b2b.model.SaleSendAll;
+import com.uas.platform.b2b.model.Vendor;
 import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
 
@@ -497,4 +538,13 @@ public interface SearchService {
 	 * @return
 	 */
 	public SPage<PurchaseApBillOut> searchPurchaseApBillOutIds(String keyword, PageParams pageParams);
+
+	/**
+	 * 主动报价单已提交单据
+	 * 
+	 * @param keyword
+	 * @param pageParams
+	 * @return
+	 */
+	public SPage<SaleQuotationDone> searchSaleQuotationDoneIds(String keyword, PageParams pageParams);
 }

+ 79 - 15
src/main/java/com/uas/platform/b2b/search/SearchServiceImpl.java

@@ -1,5 +1,27 @@
 package com.uas.platform.b2b.search;
 
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
 import com.alibaba.fastjson.JSONObject;
 import com.uas.account.entity.UserSpaceDetail;
 import com.uas.account.support.Page;
@@ -21,6 +43,7 @@ import com.uas.platform.b2b.dao.PurcInquiryDao;
 import com.uas.platform.b2b.dao.PurcInquiryItemInfoDao;
 import com.uas.platform.b2b.dao.PurchaseAcceptDao;
 import com.uas.platform.b2b.dao.PurchaseApBillDao;
+import com.uas.platform.b2b.dao.PurchaseApBillOutDao;
 import com.uas.platform.b2b.dao.PurchaseApCheckDao;
 import com.uas.platform.b2b.dao.PurchaseBadInDao;
 import com.uas.platform.b2b.dao.PurchaseBadOutDao;
@@ -43,16 +66,59 @@ import com.uas.platform.b2b.dao.PurchaseReturnDao;
 import com.uas.platform.b2b.dao.PurchaseTenderDao;
 import com.uas.platform.b2b.dao.SaleARCheckDao;
 import com.uas.platform.b2b.dao.SaleQuotationAllDao;
+import com.uas.platform.b2b.dao.SaleQuotationDoneDao;
 import com.uas.platform.b2b.dao.SaleSendAllDao;
 import com.uas.platform.b2b.dao.SaleTenderDao;
 import com.uas.platform.b2b.dao.SaleTenderErpDao;
 import com.uas.platform.b2b.dao.VendorDao;
-import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.B2BCustomer;
 import com.uas.platform.b2b.erp.model.B2BVendor;
 import com.uas.platform.b2b.erp.model.SaleTenderErp;
 import com.uas.platform.b2b.erp.model.SaleTenderItemErp;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.model.Brand;
+import com.uas.platform.b2b.model.Cart;
+import com.uas.platform.b2b.model.Component;
+import com.uas.platform.b2b.model.DeputyOrder;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.InvitationRecord;
+import com.uas.platform.b2b.model.Kind;
+import com.uas.platform.b2b.model.MakeAccept;
+import com.uas.platform.b2b.model.MakeOrder;
+import com.uas.platform.b2b.model.MakeOrderChangeItem;
+import com.uas.platform.b2b.model.MakeReturn;
+import com.uas.platform.b2b.model.PagingReleaseDetail;
+import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.PurcInquiry;
+import com.uas.platform.b2b.model.PurcInquiryItemInfo;
+import com.uas.platform.b2b.model.PurchaseAccept;
+import com.uas.platform.b2b.model.PurchaseApBill;
+import com.uas.platform.b2b.model.PurchaseApBillOut;
+import com.uas.platform.b2b.model.PurchaseApCheck;
+import com.uas.platform.b2b.model.PurchaseBadIn;
+import com.uas.platform.b2b.model.PurchaseBadOut;
+import com.uas.platform.b2b.model.PurchaseForecastAll;
+import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.b2b.model.PurchaseInquiryMould;
+import com.uas.platform.b2b.model.PurchaseMRB;
+import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.PurchaseOrderAll;
+import com.uas.platform.b2b.model.PurchaseOrderChange;
+import com.uas.platform.b2b.model.PurchaseOrderDone;
+import com.uas.platform.b2b.model.PurchaseOrderEnd;
+import com.uas.platform.b2b.model.PurchaseOrderReceived;
+import com.uas.platform.b2b.model.PurchaseOrderTodo;
+import com.uas.platform.b2b.model.PurchaseOrderWaiting;
+import com.uas.platform.b2b.model.PurchaseProofingApproval;
+import com.uas.platform.b2b.model.PurchaseProofingItem;
+import com.uas.platform.b2b.model.PurchaseProofingSend;
+import com.uas.platform.b2b.model.PurchaseReturn;
+import com.uas.platform.b2b.model.PurchaseTender;
+import com.uas.platform.b2b.model.PurchaseTenderProd;
+import com.uas.platform.b2b.model.SaleARCheck;
+import com.uas.platform.b2b.model.SaleQuotationAll;
+import com.uas.platform.b2b.model.SaleQuotationDone;
+import com.uas.platform.b2b.model.SaleSendAll;
+import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.persistence.criteria.PredicateFactory;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
@@ -60,19 +126,6 @@ import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.service.SearchService.Table_name;
 import com.uas.search.b2b.util.SearchConstants;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import java.lang.reflect.Field;
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * 搜索实现
@@ -222,6 +275,9 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 	@Autowired
 	private PurchaseApBillOutDao purchaseApBillOutDao;
 
+	@Autowired
+	private SaleQuotationDoneDao saleQuotationDoneDao;
+
 	/**
 	 * 联想词size
 	 */
@@ -1410,4 +1466,12 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 		return toSPage(idsPage, content);
 	}
 
+	@Override
+	public SPage<SaleQuotationDone> searchSaleQuotationDoneIds(String keyword, PageParams pageParams) {
+		SPage<Long> idsPage = searchService.searchIds(keyword, Table_name.SALE$QUOTATION, pageParams);
+		List<SaleQuotationDone> content = saleQuotationDoneDao.findAll(idsPage.getContent());
+		sortByProperty(content, SaleQuotationDone.class, "id", idsPage.getContent());
+		return toSPage(idsPage, content);
+	}
+
 }

+ 10 - 0
src/main/java/com/uas/platform/b2b/service/SaleQuotationService.java

@@ -5,6 +5,7 @@ import java.util.List;
 import com.uas.platform.b2b.erp.model.Inquiry;
 import com.uas.platform.b2b.model.SaleQuotation;
 import com.uas.platform.b2b.model.SaleQuotationAll;
+import com.uas.platform.b2b.model.SaleQuotationDone;
 import com.uas.platform.b2b.model.SaleQuotationItem;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.core.model.PageInfo;
@@ -119,4 +120,13 @@ public interface SaleQuotationService {
 	 * @param ids
 	 */
 	public void check(Long[] ids);
+
+	/**
+	 * 重新处理已提交的单据,将待审批的归纳到已提交里面
+	 * 
+	 * @param pageInfo
+	 * @param filter
+	 * @return
+	 */
+	public SPage<SaleQuotationDone> findDoneByPageInfo(PageInfo pageInfo, SearchFilter filter);
 }

+ 30 - 0
src/main/java/com/uas/platform/b2b/service/impl/SaleQuotationServiceImpl.java

@@ -20,6 +20,7 @@ import com.uas.platform.b2b.dao.CommonDao;
 import com.uas.platform.b2b.dao.PagingReleaseCountDao;
 import com.uas.platform.b2b.dao.SaleQuotationAllDao;
 import com.uas.platform.b2b.dao.SaleQuotationDao;
+import com.uas.platform.b2b.dao.SaleQuotationDoneDao;
 import com.uas.platform.b2b.dao.SaleQuotationItemDao;
 import com.uas.platform.b2b.erp.model.Inquiry;
 import com.uas.platform.b2b.event.SaleQuotationDecideReleaseEvent;
@@ -27,6 +28,7 @@ import com.uas.platform.b2b.event.SaleQuotationInvalidReleaseEvent;
 import com.uas.platform.b2b.event.SaleQuotationSaveEvent;
 import com.uas.platform.b2b.model.SaleQuotation;
 import com.uas.platform.b2b.model.SaleQuotationAll;
+import com.uas.platform.b2b.model.SaleQuotationDone;
 import com.uas.platform.b2b.model.SaleQuotationItem;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.service.SaleQuotationService;
@@ -54,6 +56,9 @@ public class SaleQuotationServiceImpl implements SaleQuotationService {
 	@Autowired
 	private PagingReleaseCountDao pagingReleaseCountDao;
 
+	@Autowired
+	private SaleQuotationDoneDao saleQuotationDoneDao;
+
 	@Override
 	public void save(List<SaleQuotationItem> items) {
 		List<SaleQuotationItem> newItems = saleQuotationItemDao.save(items);
@@ -249,4 +254,29 @@ public class SaleQuotationServiceImpl implements SaleQuotationService {
 			}
 		}
 	}
+
+	@Override
+	public SPage<SaleQuotationDone> findDoneByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
+		SPage<SaleQuotationDone> quos = new SPage<SaleQuotationDone>();
+		if (filter != null) {
+			if (!CollectionUtils.isEmpty(filter.getDistribute()))
+				pageInfo.expression(PredicateUtils.in("custUU", filter.getDistribute(), false));
+			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));
+		}
+		Page<SaleQuotationDone> quotations = saleQuotationDoneDao.findAll(new Specification<SaleQuotationDone>() {
+			public Predicate toPredicate(Root<SaleQuotationDone> root, CriteriaQuery<?> query,
+					CriteriaBuilder builder) {
+				return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
+			}
+		}, pageInfo);
+		quos.setContent(quotations.getContent());
+		quos.setPage(quotations.getNumber());
+		quos.setSize(quotations.getSize());
+		quos.setTotalElement(quotations.getTotalElements());
+		quos.setTotalPage(quotations.getTotalPages());
+		return quos;
+	}
 }