Browse Source

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

administrator 11 years ago
parent
commit
737e64a29d

+ 3 - 2
src/main/java/com/uas/platform/b2b/controller/SaleOrderController.java

@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import com.uas.platform.b2b.model.PurchaseOrder;
+import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.b2b.service.PurchaseOrderService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.model.PageInfo;
@@ -43,10 +44,10 @@ public class SaleOrderController {
 	 */
 	@RequestMapping(value = "/orders/items", method = RequestMethod.POST)
 	@ResponseBody
-	public Page<PurchaseOrder> getReceivedPurchaseOrderItems(@RequestBody String json) {
+	public Page<PurchaseOrderAll> getReceivedPurchaseOrderItems(@RequestBody String json) {
 		PageInfo info = new PageInfo(json);
 		// 我作为卖家,把我的企业ID作为供应商ID传入
 		info.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());
-		return purchaseOrderService.findAllByPageInfo(info);
+		return purchaseOrderService.findAllDetailByPageInfo(info);
 	}
 }

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseOrderAllDao.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.PurchaseOrderAll;
+
+@Repository
+public interface PurchaseOrderAllDao extends JpaSpecificationExecutor<PurchaseOrderAll>, JpaRepository<PurchaseOrderAll, Long> {
+
+}

+ 1 - 7
src/main/java/com/uas/platform/b2b/model/Product.java

@@ -1,6 +1,5 @@
 package com.uas.platform.b2b.model;
 
-import java.io.Serializable;
 import java.sql.Clob;
 import java.util.Date;
 
@@ -25,12 +24,7 @@ import com.uas.platform.core.persistence.UserUU;
 @Entity
 @Table(name = "products")
 @Logger
-public class Product implements Serializable {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1L;
+public class Product {
 
 	@Id
 	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "products_gen")

+ 237 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderAll.java

@@ -0,0 +1,237 @@
+package com.uas.platform.b2b.model;
+
+import java.sql.Date;
+import java.util.Set;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
+import javax.persistence.OrderBy;
+import javax.persistence.Table;
+
+/**
+ * 以供应商的角度来查看采购订单 <br>
+ * 级联采购明细
+ * 
+ * @author yingp
+ *
+ */
+@Table(name = "purc$orders")
+@Entity
+public class PurchaseOrderAll {
+
+	@Id
+	@Column(name = "pu_id")
+	private Long id;
+
+	/**
+	 * 采购企业
+	 */
+	@OneToOne(cascade = { CascadeType.ALL })
+	@JoinColumn(name = "pu_enuu", insertable = false, updatable = false)
+	private Enterprise enterprise;
+
+	/**
+	 * 采购单所属采购员UU
+	 */
+	@Column(name = "pu_useruu")
+	private Long userUU;
+
+	/**
+	 * 采购单号
+	 */
+	@Column(name = "pu_code")
+	private String code;
+
+	/**
+	 * 采购类型
+	 */
+	@Column(name = "pu_type")
+	private String type;
+
+	/**
+	 * 单据归属日期
+	 */
+	@Column(name = "pu_date")
+	private Date date;
+
+	/**
+	 * 录单人员UU
+	 */
+	@Column(name = "pu_recorderuu")
+	private Long recorderUU;
+
+	/**
+	 * 供应商UU
+	 */
+	@Column(name = "pu_venduu")
+	private Long vendUU;
+
+	/**
+	 * 供应商联系人UU
+	 */
+	@Column(name = "pu_venduseruu")
+	private Long vendUserUU;
+
+	/**
+	 * 收货地址
+	 */
+	@Column(name = "pu_shipaddress")
+	private String shipAddress;
+
+	/**
+	 * 备注
+	 */
+	@Column(name = "pu_remark")
+	private String remark;
+
+	/**
+	 * 付款币种
+	 */
+	@Column(name = "pu_currency")
+	private String currency;
+
+	/**
+	 * 付款方式
+	 */
+	@Column(name = "pu_payments")
+	private String payments;
+
+	/**
+	 * 采购单状态
+	 */
+	@Column(name = "pu_status")
+	private Integer status;
+
+	/**
+	 * 采购单明细
+	 */
+	@OneToMany(mappedBy = "order", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+	@OrderBy("pd_number")
+	private Set<PurchaseOrderAllItem> orderItems;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Enterprise getEnterprise() {
+		return enterprise;
+	}
+
+	public void setEnterprise(Enterprise enterprise) {
+		this.enterprise = enterprise;
+	}
+
+	public Long getUserUU() {
+		return userUU;
+	}
+
+	public void setUserUU(Long userUU) {
+		this.userUU = userUU;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public Date getDate() {
+		return date;
+	}
+
+	public void setDate(Date date) {
+		this.date = date;
+	}
+
+	public Long getRecorderUU() {
+		return recorderUU;
+	}
+
+	public void setRecorderUU(Long recorderUU) {
+		this.recorderUU = recorderUU;
+	}
+
+	public Long getVendUU() {
+		return vendUU;
+	}
+
+	public void setVendUU(Long vendUU) {
+		this.vendUU = vendUU;
+	}
+
+	public Long getVendUserUU() {
+		return vendUserUU;
+	}
+
+	public void setVendUserUU(Long vendUserUU) {
+		this.vendUserUU = vendUserUU;
+	}
+
+	public String getShipAddress() {
+		return shipAddress;
+	}
+
+	public void setShipAddress(String shipAddress) {
+		this.shipAddress = shipAddress;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getCurrency() {
+		return currency;
+	}
+
+	public void setCurrency(String currency) {
+		this.currency = currency;
+	}
+
+	public String getPayments() {
+		return payments;
+	}
+
+	public void setPayments(String payments) {
+		this.payments = payments;
+	}
+
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
+	public Set<PurchaseOrderAllItem> getOrderItems() {
+		return orderItems;
+	}
+
+	public void setOrderItems(Set<PurchaseOrderAllItem> orderItems) {
+		this.orderItems = orderItems;
+	}
+}

+ 210 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderAllItem.java

@@ -0,0 +1,210 @@
+package com.uas.platform.b2b.model;
+
+import java.sql.Date;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+@Table(name = "purc$orderitems")
+@Entity
+public class PurchaseOrderAllItem {
+
+	@Id
+	@Column(name = "pd_id")
+	private Long id;
+
+	/**
+	 * 序号
+	 */
+	@Column(name = "pd_number")
+	private Short number;
+
+	/**
+	 * 采购订单
+	 */
+	@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
+	@JoinColumn(name = "pd_puid")
+	private PurchaseOrderAll order;
+
+	/**
+	 * 产品ID
+	 */
+	@Column(name = "pd_prid")
+	private Long productId;
+
+	/**
+	 * 产品
+	 */
+	@OneToOne(cascade = { CascadeType.ALL })
+	@JoinColumn(name = "pd_prid", insertable = false, updatable = false)
+	private Product product;
+
+	/**
+	 * 数量
+	 */
+	@Column(name = "pd_qty")
+	private Double qty;
+
+	/**
+	 * 备注
+	 */
+	@Column(name = "pd_remark")
+	private String remark;
+
+	/**
+	 * 含税单价
+	 */
+	@Column(name = "pd_price")
+	private Double price;
+
+	/**
+	 * 税率
+	 */
+	@Column(name = "pd_taxrate")
+	private Float taxrate;
+
+	/**
+	 * 含税金额
+	 */
+	@Column(name = "pd_amount", insertable = false, updatable = false)
+	private Double amount;
+
+	/**
+	 * 不含税单价
+	 */
+	@Column(name = "pd_notaxprice", insertable = false, updatable = false)
+	private Double noTaxPrice;
+
+	/**
+	 * 不含税金额
+	 */
+	@Column(name = "pd_notaxamount", insertable = false, updatable = false)
+	private Double noTaxAmount;
+
+	/**
+	 * 交货日期
+	 */
+	@Column(name = "pd_delivery")
+	private Date delivery;
+
+	private Short isok;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Short getNumber() {
+		return number;
+	}
+
+	public void setNumber(Short number) {
+		this.number = number;
+	}
+
+//	public PurchaseOrderAll getOrder() {
+//		return order;
+//	}
+//
+//	public void setOrder(PurchaseOrderAll order) {
+//		this.order = order;
+//	}
+
+	public Long getProductId() {
+		return productId;
+	}
+
+	public void setProductId(Long productId) {
+		this.productId = productId;
+	}
+
+	public Product getProduct() {
+		return product;
+	}
+
+	public void setProduct(Product product) {
+		this.product = product;
+	}
+
+	public Double getQty() {
+		return qty;
+	}
+
+	public void setQty(Double qty) {
+		this.qty = qty;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public Double getPrice() {
+		return price;
+	}
+
+	public void setPrice(Double price) {
+		this.price = price;
+	}
+
+	public Float getTaxrate() {
+		return taxrate;
+	}
+
+	public void setTaxrate(Float taxrate) {
+		this.taxrate = taxrate;
+	}
+
+	public Double getAmount() {
+		return amount;
+	}
+
+	public void setAmount(Double amount) {
+		this.amount = amount;
+	}
+
+	public Double getNoTaxPrice() {
+		return noTaxPrice;
+	}
+
+	public void setNoTaxPrice(Double noTaxPrice) {
+		this.noTaxPrice = noTaxPrice;
+	}
+
+	public Double getNoTaxAmount() {
+		return noTaxAmount;
+	}
+
+	public void setNoTaxAmount(Double noTaxAmount) {
+		this.noTaxAmount = noTaxAmount;
+	}
+
+	public Short getIsok() {
+		return isok;
+	}
+
+	public void setIsok(Short isok) {
+		this.isok = isok;
+	}
+
+	public Date getDelivery() {
+		return delivery;
+	}
+
+	public void setDelivery(Date delivery) {
+		this.delivery = delivery;
+	}
+}

+ 1 - 7
src/main/java/com/uas/platform/b2b/model/PurchaseOrderItem.java

@@ -1,6 +1,5 @@
 package com.uas.platform.b2b.model;
 
-import java.io.Serializable;
 import java.sql.Date;
 
 import javax.persistence.CascadeType;
@@ -17,12 +16,7 @@ import javax.persistence.Table;
 
 @Table(name = "purc$orderitems")
 @Entity
-public class PurchaseOrderItem implements Serializable {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1L;
+public class PurchaseOrderItem {
 
 	@Id
 	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "purc$orderitems_gen")

+ 2 - 1
src/main/java/com/uas/platform/b2b/service/PurchaseOrderService.java

@@ -3,12 +3,13 @@ package com.uas.platform.b2b.service;
 import org.springframework.data.domain.Page;
 
 import com.uas.platform.b2b.model.PurchaseOrder;
+import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.core.model.PageInfo;
 
 public interface PurchaseOrderService {
 
 	public Page<PurchaseOrder> findAllByPageInfo(PageInfo pageInfo);
 	
-	public Page<PurchaseOrder> findAllDetailByPageInfo(PageInfo pageInfo);
+	public Page<PurchaseOrderAll> findAllDetailByPageInfo(PageInfo pageInfo);
 
 }

+ 15 - 4
src/main/java/com/uas/platform/b2b/service/impl/PurchaseOrderServiceImpl.java

@@ -10,8 +10,10 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 
+import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
 import com.uas.platform.b2b.dao.PurchaseOrderDao;
 import com.uas.platform.b2b.model.PurchaseOrder;
+import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.b2b.service.PurchaseOrderService;
 import com.uas.platform.core.model.PageInfo;
 
@@ -21,19 +23,28 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService{
 	@Autowired
 	private PurchaseOrderDao purchaseOrderDao;
 	
-	public Page<PurchaseOrder> findAllByPageInfo(PageInfo pageInfo) {
+	@Autowired
+	private PurchaseOrderAllDao purchaseOrderAllDao;
+	
+	public Page<PurchaseOrder> findAllByPageInfo(final PageInfo pageInfo) {
 		return purchaseOrderDao.findAll(new Specification<PurchaseOrder>() {
 
 			public Predicate toPredicate(Root<PurchaseOrder> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				query.where(pageInfo.getPredicates(root, builder));
 				return null;
 			}
 		}, pageInfo);
 	}
 
 	@Override
-	public Page<PurchaseOrder> findAllDetailByPageInfo(PageInfo pageInfo) {
-		
-		return null;
+	public Page<PurchaseOrderAll> findAllDetailByPageInfo(final PageInfo pageInfo) {
+		return purchaseOrderAllDao.findAll(new Specification<PurchaseOrderAll>() {
+
+			public Predicate toPredicate(Root<PurchaseOrderAll> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				query.where(pageInfo.getPredicates(root, builder));
+				return null;
+			}
+		}, pageInfo);
 	}
 
 }

+ 1 - 1
src/main/webapp/resources/js/index/app.js

@@ -295,7 +295,7 @@ define([ 'toaster', 'charts', 'ngTable', 'services', 'ui.router', 'ui.bootstrap'
 		}, {
 			total : 0, 
 			getData : function($defer, params) {
-				$http.post('sale/orders', parseParams(params.url())).success(function(page){
+				$http.post('sale/orders/items', parseParams(params.url())).success(function(page){
 					if(page) {
 						params.total(page.totalElements);
 						$defer.resolve(page.content);