Browse Source

处理发货单关联物料的逻辑

yujia 7 years ago
parent
commit
47103c1d68

+ 1 - 0
src/main/java/com/uas/platform/b2c/logistics/model/InvoiceFOrderDetail.java

@@ -254,6 +254,7 @@ public class InvoiceFOrderDetail {
 		this.b2cMaxDelivery = detail.getB2cMaxDelivery();
 		this.remark = detail.getRemark();
 		this.spec = detail.getSpec();
+		this.productid = detail.getProductId();
 	}
 
 	/**

+ 3 - 25
src/main/java/com/uas/platform/b2c/logistics/model/InvoiceFPurchaseDetail.java

@@ -276,6 +276,7 @@ public class InvoiceFPurchaseDetail {
 		this.b2cMaxDelivery = puDetail.getB2cMaxDelivery();
 		this.remark = puDetail.getRemark();
 		this.goodsnumber = puDetail.getGoodsnumber();
+		this.productid = puDetail.getProductid();
 	}
 
 	/**
@@ -284,36 +285,13 @@ public class InvoiceFPurchaseDetail {
 	 * @param puDetail 采购单明细
 	 */
 	public InvoiceFPurchaseDetail(PurchaseDetail puDetail, Double qty) {
-		if (puDetail == null) {
-			throw new IllegalStatusException("采购单明细已失效");
-		}
-		this.pudetailid = puDetail.getId();
-		this.batchCode = puDetail.getBatchCode();
-		this.uuid = puDetail.getUuid();
-		this.original = puDetail.getOriginal();
-		this.cmpCode = puDetail.getCmpCode();
-		this.kiName = puDetail.getKiName();
-		this.kindUuid = puDetail.getKindUuid();
-		this.brName = puDetail.getBrName();
-		this.brandNameCn = puDetail.getBrandNameCn();
-		this.branduuid = puDetail.getBranduuid();
-		this.brandid = puDetail.getBrandid();
-		this.img = puDetail.getImg();
-		this.unitprice = puDetail.getUnitprice();
-		this.taxUnitPrice = puDetail.getTaxUnitPrice();
+		this(puDetail);
 		this.number = qty;
 		this.taxes = puDetail.getTaxes();
 		this.price = NumberUtil.mul(qty, this.taxUnitPrice);
 		this.ensurePrice = this.price;
 		this.transationPrice = this.price;
-		this.currencyName = puDetail.getCurrencyName();
-		this.tax = puDetail.getTax();
-		this.returnInWeek = puDetail.getReturnInWeek();
-		this.b2cMinDelivery = puDetail.getB2cMinDelivery();
-		this.b2cMaxDelivery = puDetail.getB2cMaxDelivery();
-		this.remark = puDetail.getRemark();
-		this.goodsnumber = puDetail.getGoodsnumber();
-		this.spec = puDetail.getSpec();
+
 	}
 
 	public Long getId() {

+ 0 - 3
src/main/java/com/uas/platform/b2c/logistics/service/impl/InvoiceFOrderServiceImpl.java

@@ -19,7 +19,6 @@ import com.uas.platform.b2c.logistics.service.InvoiceFOrderDetailService;
 import com.uas.platform.b2c.logistics.service.InvoiceFOrderService;
 import com.uas.platform.b2c.logistics.service.LogisticsPortService;
 import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
-import com.uas.platform.b2c.prod.commodity.model.Goods;
 import com.uas.platform.b2c.prod.commodity.model.InOutboundDetail;
 import com.uas.platform.b2c.prod.commodity.service.CommodityInOutboundService;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
@@ -487,8 +486,6 @@ public class InvoiceFOrderServiceImpl implements InvoiceFOrderService {
 			String detailId = EncodingRulesConstant.INVOICE_DETAIL_FROMORDER.replace("_TIMESTAP_NUMBER",
 					createNumberService.getTimeNumber("trade$invoice_fmor_dt", 9));
 			InvoiceFOrderDetail invoiceDetail = new InvoiceFOrderDetail(orDetail, detailId, qty);
-			Goods goodsByBatchCode = goodsService.findGoodsByBatchCode(orDetail.getBatchCode());
-			invoiceDetail.setProductid(goodsByBatchCode.getProductid());
 			invoiceDetail.setDetno(detno++);
 			taxes = DoubleArith.add(taxes, invoiceDetail.getTaxes());
 			prices = DoubleArith.add(prices, invoiceDetail.getPrice());

+ 0 - 1
src/main/java/com/uas/platform/b2c/logistics/service/impl/InvoiceFPurchaseServiceImpl.java

@@ -296,7 +296,6 @@ public class InvoiceFPurchaseServiceImpl implements InvoiceFPurchaseService {
 			String detailId = createNumberService.generateVoucherId(EncodingRulesConstant.INVOICE_DETAIL_FROMPURCHASE,
 					"trade$invoice_fmpu_dt", 9);
 			inFpuD.setDetailid(detailId);
-			inFpuD.setProductid(product.getId());
 			inFpuD.setDetno(detno++);
 			inFpuD.setInvoiceFPurchase(inFpu);
 			inFpuD.setStatus(Status.TOBESHIPPED.value());

+ 16 - 0
src/main/java/com/uas/platform/b2c/trade/order/model/OrderDetail.java

@@ -427,6 +427,12 @@ public class OrderDetail extends Document implements Serializable{
 	@Column(name = "go_storename")
 	private String storeName;
 
+	/**
+	 * 物料的id
+	 */
+	@Column(name = "detail_productid")
+	private Long productId;
+
 
 	/**
 	 * 库存数量
@@ -1724,6 +1730,7 @@ public class OrderDetail extends Document implements Serializable{
 		inForD.setEnsurePrice(this.ensurePrice);
 		inForD.setStatus(Status.TOBESHIPPED.value());
 		inForD.setOrdetailid(this.getId());
+		inForD.setProductid(this.productId);
 		this.infdetailid = detailid;
 		return inForD;
 	}
@@ -2050,4 +2057,13 @@ public class OrderDetail extends Document implements Serializable{
 	public void setShipQty(Double shipQty) {
 		this.shipQty = shipQty;
 	}
+
+	public Long getProductId() {
+		return productId;
+	}
+
+	public OrderDetail setProductId(Long productId) {
+		this.productId = productId;
+		return this;
+	}
 }

+ 17 - 1
src/main/java/com/uas/platform/b2c/trade/order/model/PurchaseDetail.java

@@ -306,6 +306,12 @@ public class PurchaseDetail extends Document {
 	@Column(name = "detail_storeid")
 	private String storeid;
 
+	/**
+	 * 物料id
+	 */
+	@Column(name = "detail_productid")
+	private Long productid;
+
 	/**
 	 * 明细的评论
 	 */
@@ -1144,6 +1150,7 @@ public class PurchaseDetail extends Document {
 		this.remark = oDetail.getRemark();
 		this.goodsnumber = oDetail.getGoodsnumber();
 		this.spec = oDetail.getSpec();
+		this.productid = oDetail.getProductId();
 	}
 
 	/**
@@ -1544,12 +1551,21 @@ public class PurchaseDetail extends Document {
 			map.put("orderid", this.purchase.getOrderid());
 			map.put("createtime", this.purchase.getCreatetime());
 			map.put("purchaseid", this.purchase.getPurchaseid());
-			map.put("inid", this.purchase.getInid());
+			map.put("inid", this.purchase.getInids());
 			return FastjsonUtils.toJson(map);
 		}
 		return null;
 	}
 
+	public Long getProductid() {
+		return productid;
+	}
+
+	public PurchaseDetail setProductid(Long productid) {
+		this.productid = productid;
+		return this;
+	}
+
 	public Double getShipQty() {
 		return shipQty;
 	}

+ 1 - 0
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderDetailServiceImpl.java

@@ -200,6 +200,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
 		orderDetail.setStoreName(goods.getStoreName());
 		orderDetail.setDeliveryTime(goods);
 		orderDetail.setSpec(goods.getSpec());
+		orderDetail.setProductId(goods.getProductid());
 		String detailid = EncodingRulesConstant.ORDER_DETAIL.replace("_TIMESTAP_NUMBER", createNumberService.getTimeNumber("trade$order_detail", 9));
 		orderDetail.setDetailid(detailid);
 		return orderDetail;

+ 0 - 19
src/main/java/com/uas/platform/b2c/trade/order/service/impl/PurchaseDetailServiceImpl.java

@@ -175,25 +175,6 @@ public class PurchaseDetailServiceImpl implements PurchaseDetailService {
 			pDetail = new PurchaseDetail(orderDetail);
 			pDetail.setDetno(detno++);
 
-            //List<GoodsQtyPrice> prices;
-			//List<GoodsQtyPrice> prices = goodsDao.findByBatchCode(orderDetail.getBatchCode()).getPrices();
-			//if(crName.equalsIgnoreCase("USD")) {
-			//	prices = orderDetail.getUsdPrices();
-			//	pDetail.setTax((short)0);//美金默认0
-			//}else {
-			//	prices = orderDetail.getRmbPrices();
-			//	pDetail.setTax((short)17);//美金默认17
-			//}
-
-			//for (GoodsQtyPrice goodsQtyPrice : prices) {
-			//	if(orderDetail.getNumber() <= goodsQtyPrice.getEnd()) {
-			//		pDetail.setTaxUnitPrice(goodsQtyPrice.getTaxPrice());
-			//		pDetail.setUnitprice(goodsQtyPrice.getPrice());
-			//		pDetail.setPrice(DoubleArith.mul(pDetail.getTaxUnitPrice(), orderDetail.getNumber()));
-			//		break;
-			//	}
-			//}
-
 			String detailid = EncodingRulesConstant.PURCHASE_DETAIL.replace("_TIMESTAP_NUMBER", createNumberService.getTimeNumber("trade$purchase_detail", 9));
 			pDetail.setDetailid(detailid);
 			pDetail.setPurchase(purchase);

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/order/service/impl/PurchaseServiceImpl.java

@@ -1100,7 +1100,7 @@ public class PurchaseServiceImpl implements PurchaseService {
 
 		// 采购单自动转卖家出货单
 		invoiceFPService.createInvoiceFPurchase(purchase.getId());
-		return purchase.getInid();
+		return purchase.getInids();
 	}
 
 	@Override