Browse Source

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@755 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d

administrator 11 years ago
parent
commit
53f3c6c533

+ 64 - 0
src/main/java/com/uas/platform/b2b/controller/SaleStatController.java

@@ -10,9 +10,13 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.uas.platform.b2b.model.CustSaleStatMonth;
+import com.uas.platform.b2b.model.CustSaleStatYear;
 import com.uas.platform.b2b.model.SaleStatDay;
 import com.uas.platform.b2b.model.SaleStatMonth;
 import com.uas.platform.b2b.model.SaleStatYear;
+import com.uas.platform.b2b.model.SellerSaleStatMonth;
+import com.uas.platform.b2b.model.SellerSaleStatYear;
 import com.uas.platform.b2b.service.SaleStatService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.model.PageInfo;
@@ -101,4 +105,64 @@ public class SaleStatController {
 		return saleStatService.findYearByPageInfo(info).getContent();
 	}
 
+	/**
+	 * 客户采购额(月线)
+	 * 
+	 * @param json
+	 * @return
+	 */
+	@RequestMapping(value = "/cust/month", method = RequestMethod.GET)
+	@ResponseBody
+	public List<CustSaleStatMonth> getCustMonthStat() {
+		PageInfo info = new PageInfo(1, 12, 0);
+		info.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		info.sorting(Direction.DESC, "year", "month");
+		return saleStatService.findCustMonthByPageInfo(info).getContent();
+	}
+
+	/**
+	 * 客户采购额(年线)
+	 * 
+	 * @param json
+	 * @return
+	 */
+	@RequestMapping(value = "/cust/year", method = RequestMethod.GET)
+	@ResponseBody
+	public List<CustSaleStatYear> getCustYearStat() {
+		PageInfo info = new PageInfo(1, 12, 0);
+		info.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		info.sorting(Direction.DESC, "year");
+		return saleStatService.findCustYearByPageInfo(info).getContent();
+	}
+
+	/**
+	 * 业务员销售额(月线)
+	 * 
+	 * @param json
+	 * @return
+	 */
+	@RequestMapping(value = "/seller/month", method = RequestMethod.GET)
+	@ResponseBody
+	public List<SellerSaleStatMonth> getSellerMonthStat() {
+		PageInfo info = new PageInfo(1, 12, 0);
+		info.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		info.sorting(Direction.DESC, "year", "month");
+		return saleStatService.findSellerMonthByPageInfo(info).getContent();
+	}
+
+	/**
+	 * 业务员销售额(年线)
+	 * 
+	 * @param json
+	 * @return
+	 */
+	@RequestMapping(value = "/seller/year", method = RequestMethod.GET)
+	@ResponseBody
+	public List<SellerSaleStatYear> getSellerYearStat() {
+		PageInfo info = new PageInfo(1, 12, 0);
+		info.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		info.sorting(Direction.DESC, "year");
+		return saleStatService.findSellerYearByPageInfo(info).getContent();
+	}
+
 }

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/CustSaleStatMonthDao.java

@@ -0,0 +1,12 @@
+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.CustSaleStatMonth;
+
+@Repository
+public interface CustSaleStatMonthDao  extends JpaSpecificationExecutor<CustSaleStatMonth>, JpaRepository<CustSaleStatMonth, Long>{
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/CustSaleStatYearDao.java

@@ -0,0 +1,12 @@
+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.CustSaleStatYear;
+
+@Repository
+public interface CustSaleStatYearDao  extends JpaSpecificationExecutor<CustSaleStatYear>, JpaRepository<CustSaleStatYear, Long>{
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/SellerSaleStatMonthDao.java

@@ -0,0 +1,12 @@
+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.SellerSaleStatMonth;
+
+@Repository
+public interface SellerSaleStatMonthDao  extends JpaSpecificationExecutor<SellerSaleStatMonth>, JpaRepository<SellerSaleStatMonth, Long>{
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/SellerSaleStatYearDao.java

@@ -0,0 +1,12 @@
+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.SellerSaleStatYear;
+
+@Repository
+public interface SellerSaleStatYearDao  extends JpaSpecificationExecutor<SellerSaleStatYear>, JpaRepository<SellerSaleStatYear, Long>{
+
+}

+ 98 - 0
src/main/java/com/uas/platform/b2b/model/CustSaleStatMonth.java

@@ -0,0 +1,98 @@
+package com.uas.platform.b2b.model;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+import org.hibernate.annotations.Index;
+
+/**
+ * 客户采购额统计(月)
+ * 
+ * @author yingp
+ *
+ */
+@Entity
+@Table(name = "sale$stat$month$cust")
+public class CustSaleStatMonth {
+
+	@Id
+	@Column(name = "ss_id")
+	private Long id;
+
+	/**
+	 * 企业UU
+	 */
+	@Column(name = "ss_enuu")
+	@Index(name = "sale$stat$m$c_enuu_idx")
+	private Long enUU;
+
+	/**
+	 * 客户企业
+	 */
+	@OneToOne(cascade = { CascadeType.MERGE })
+	@JoinColumn(name = "ss_custuu", insertable = false, updatable = false)
+	private Enterprise enterprise;
+
+	@Column(name = "ss_year")
+	private int year;
+
+	@Column(name = "ss_month")
+	private int month;
+
+	@Column(name = "ss_total")
+	private Double total;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getEnUU() {
+		return enUU;
+	}
+
+	public void setEnUU(Long enUU) {
+		this.enUU = enUU;
+	}
+
+	public int getYear() {
+		return year;
+	}
+
+	public void setYear(int year) {
+		this.year = year;
+	}
+
+	public int getMonth() {
+		return month;
+	}
+
+	public void setMonth(int month) {
+		this.month = month;
+	}
+
+	public Enterprise getEnterprise() {
+		return enterprise;
+	}
+
+	public void setEnterprise(Enterprise enterprise) {
+		this.enterprise = enterprise;
+	}
+
+	public Double getTotal() {
+		return total;
+	}
+
+	public void setTotal(Double total) {
+		this.total = total;
+	}
+
+}

+ 87 - 0
src/main/java/com/uas/platform/b2b/model/CustSaleStatYear.java

@@ -0,0 +1,87 @@
+package com.uas.platform.b2b.model;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+import org.hibernate.annotations.Index;
+
+/**
+ * 客户采购额统计(年)
+ * 
+ * @author yingp
+ *
+ */
+@Entity
+@Table(name = "sale$stat$year$cust")
+public class CustSaleStatYear {
+
+	@Id
+	@Column(name = "ss_id")
+	private Long id;
+
+	/**
+	 * 企业UU
+	 */
+	@Column(name = "ss_enuu")
+	@Index(name = "sale$stat$y$c_enuu_idx")
+	private Long enUU;
+
+	/**
+	 * 客户企业
+	 */
+	@OneToOne(cascade = { CascadeType.MERGE })
+	@JoinColumn(name = "ss_custuu", insertable = false, updatable = false)
+	private Enterprise enterprise;
+
+	@Column(name = "ss_year")
+	private int year;
+
+	@Column(name = "ss_total")
+	private Double total;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getEnUU() {
+		return enUU;
+	}
+
+	public void setEnUU(Long enUU) {
+		this.enUU = enUU;
+	}
+
+	public int getYear() {
+		return year;
+	}
+
+	public void setYear(int year) {
+		this.year = year;
+	}
+
+	public Enterprise getEnterprise() {
+		return enterprise;
+	}
+
+	public void setEnterprise(Enterprise enterprise) {
+		this.enterprise = enterprise;
+	}
+
+	public Double getTotal() {
+		return total;
+	}
+
+	public void setTotal(Double total) {
+		this.total = total;
+	}
+
+}

+ 98 - 0
src/main/java/com/uas/platform/b2b/model/SellerSaleStatMonth.java

@@ -0,0 +1,98 @@
+package com.uas.platform.b2b.model;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+import org.hibernate.annotations.Index;
+
+/**
+ * 业务员销售额统计(月)
+ * 
+ * @author yingp
+ *
+ */
+@Entity
+@Table(name = "sale$stat$month$seller")
+public class SellerSaleStatMonth {
+
+	@Id
+	@Column(name = "ss_id")
+	private Long id;
+
+	/**
+	 * 企业UU
+	 */
+	@Column(name = "ss_enuu")
+	@Index(name = "sale$stat$m$s_enuu_idx")
+	private Long enUU;
+
+	/**
+	 * 业务员
+	 */
+	@OneToOne(cascade = { CascadeType.MERGE })
+	@JoinColumn(name = "ss_useruu", insertable = false, updatable = false)
+	private User seller;
+
+	@Column(name = "ss_year")
+	private int year;
+
+	@Column(name = "ss_month")
+	private int month;
+
+	@Column(name = "ss_total")
+	private Double total;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getEnUU() {
+		return enUU;
+	}
+
+	public void setEnUU(Long enUU) {
+		this.enUU = enUU;
+	}
+
+	public User getSeller() {
+		return seller;
+	}
+
+	public void setSeller(User seller) {
+		this.seller = seller;
+	}
+
+	public int getYear() {
+		return year;
+	}
+
+	public void setYear(int year) {
+		this.year = year;
+	}
+
+	public int getMonth() {
+		return month;
+	}
+
+	public void setMonth(int month) {
+		this.month = month;
+	}
+
+	public Double getTotal() {
+		return total;
+	}
+
+	public void setTotal(Double total) {
+		this.total = total;
+	}
+
+}

+ 87 - 0
src/main/java/com/uas/platform/b2b/model/SellerSaleStatYear.java

@@ -0,0 +1,87 @@
+package com.uas.platform.b2b.model;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+import org.hibernate.annotations.Index;
+
+/**
+ * 业务员销售额统计(年)
+ * 
+ * @author yingp
+ *
+ */
+@Entity
+@Table(name = "sale$stat$year$seller")
+public class SellerSaleStatYear {
+
+	@Id
+	@Column(name = "ss_id")
+	private Long id;
+
+	/**
+	 * 企业UU
+	 */
+	@Column(name = "ss_enuu")
+	@Index(name = "sale$stat$y$s_enuu_idx")
+	private Long enUU;
+
+	/**
+	 * 业务员
+	 */
+	@OneToOne(cascade = { CascadeType.MERGE })
+	@JoinColumn(name = "ss_useruu", insertable = false, updatable = false)
+	private User seller;
+
+	@Column(name = "ss_year")
+	private int year;
+
+	@Column(name = "ss_total")
+	private Double total;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getEnUU() {
+		return enUU;
+	}
+
+	public void setEnUU(Long enUU) {
+		this.enUU = enUU;
+	}
+
+	public User getSeller() {
+		return seller;
+	}
+
+	public void setSeller(User seller) {
+		this.seller = seller;
+	}
+
+	public int getYear() {
+		return year;
+	}
+
+	public void setYear(int year) {
+		this.year = year;
+	}
+
+	public Double getTotal() {
+		return total;
+	}
+
+	public void setTotal(Double total) {
+		this.total = total;
+	}
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/service/SaleStatService.java

@@ -2,9 +2,13 @@ package com.uas.platform.b2b.service;
 
 import org.springframework.data.domain.Page;
 
+import com.uas.platform.b2b.model.CustSaleStatMonth;
+import com.uas.platform.b2b.model.CustSaleStatYear;
 import com.uas.platform.b2b.model.SaleStatDay;
 import com.uas.platform.b2b.model.SaleStatMonth;
 import com.uas.platform.b2b.model.SaleStatYear;
+import com.uas.platform.b2b.model.SellerSaleStatMonth;
+import com.uas.platform.b2b.model.SellerSaleStatYear;
 import com.uas.platform.core.model.PageInfo;
 
 public interface SaleStatService {
@@ -15,4 +19,12 @@ public interface SaleStatService {
 
 	public Page<SaleStatYear> findYearByPageInfo(PageInfo pageInfo);
 
+	public Page<CustSaleStatMonth> findCustMonthByPageInfo(PageInfo pageInfo);
+
+	public Page<CustSaleStatYear> findCustYearByPageInfo(PageInfo pageInfo);
+
+	public Page<SellerSaleStatMonth> findSellerMonthByPageInfo(PageInfo pageInfo);
+
+	public Page<SellerSaleStatYear> findSellerYearByPageInfo(PageInfo pageInfo);
+
 }

+ 64 - 0
src/main/java/com/uas/platform/b2b/service/impl/SaleStatServiceImpl.java

@@ -10,12 +10,20 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 
+import com.uas.platform.b2b.dao.CustSaleStatMonthDao;
+import com.uas.platform.b2b.dao.CustSaleStatYearDao;
 import com.uas.platform.b2b.dao.SaleStatDayDao;
 import com.uas.platform.b2b.dao.SaleStatMonthDao;
 import com.uas.platform.b2b.dao.SaleStatYearDao;
+import com.uas.platform.b2b.dao.SellerSaleStatMonthDao;
+import com.uas.platform.b2b.dao.SellerSaleStatYearDao;
+import com.uas.platform.b2b.model.CustSaleStatMonth;
+import com.uas.platform.b2b.model.CustSaleStatYear;
 import com.uas.platform.b2b.model.SaleStatDay;
 import com.uas.platform.b2b.model.SaleStatMonth;
 import com.uas.platform.b2b.model.SaleStatYear;
+import com.uas.platform.b2b.model.SellerSaleStatMonth;
+import com.uas.platform.b2b.model.SellerSaleStatYear;
 import com.uas.platform.b2b.service.SaleStatService;
 import com.uas.platform.core.model.PageInfo;
 
@@ -31,6 +39,18 @@ public class SaleStatServiceImpl implements SaleStatService {
 	@Autowired
 	private SaleStatYearDao saleStatYearDao;
 
+	@Autowired
+	private CustSaleStatMonthDao custSaleStatMonthDao;
+
+	@Autowired
+	private CustSaleStatYearDao custSaleStatYearDao;
+
+	@Autowired
+	private SellerSaleStatMonthDao sellerSaleStatMonthDao;
+
+	@Autowired
+	private SellerSaleStatYearDao sellerSaleStatYearDao;
+
 	@Override
 	public Page<SaleStatDay> findDayByPageInfo(final PageInfo pageInfo) {
 		return saleStatDayDao.findAll(new Specification<SaleStatDay>() {
@@ -64,4 +84,48 @@ public class SaleStatServiceImpl implements SaleStatService {
 		}, pageInfo);
 	}
 
+	@Override
+	public Page<CustSaleStatMonth> findCustMonthByPageInfo(final PageInfo pageInfo) {
+		return custSaleStatMonthDao.findAll(new Specification<CustSaleStatMonth>() {
+
+			public Predicate toPredicate(Root<CustSaleStatMonth> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				query.where(pageInfo.getPredicates(root, query, builder));
+				return null;
+			}
+		}, pageInfo);
+	}
+
+	@Override
+	public Page<CustSaleStatYear> findCustYearByPageInfo(final PageInfo pageInfo) {
+		return custSaleStatYearDao.findAll(new Specification<CustSaleStatYear>() {
+
+			public Predicate toPredicate(Root<CustSaleStatYear> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				query.where(pageInfo.getPredicates(root, query, builder));
+				return null;
+			}
+		}, pageInfo);
+	}
+
+	@Override
+	public Page<SellerSaleStatMonth> findSellerMonthByPageInfo(final PageInfo pageInfo) {
+		return sellerSaleStatMonthDao.findAll(new Specification<SellerSaleStatMonth>() {
+
+			public Predicate toPredicate(Root<SellerSaleStatMonth> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				query.where(pageInfo.getPredicates(root, query, builder));
+				return null;
+			}
+		}, pageInfo);
+	}
+
+	@Override
+	public Page<SellerSaleStatYear> findSellerYearByPageInfo(final PageInfo pageInfo) {
+		return sellerSaleStatYearDao.findAll(new Specification<SellerSaleStatYear>() {
+
+			public Predicate toPredicate(Root<SellerSaleStatYear> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				query.where(pageInfo.getPredicates(root, query, builder));
+				return null;
+			}
+		}, pageInfo);
+	}
+
 }