Browse Source

调整采购入库的确定收货的逻辑

suntg 7 years ago
parent
commit
f416126446

+ 3 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/model/Goods.java

@@ -1692,6 +1692,9 @@ public class Goods implements Serializable {
 		g.setPackaging(product.getPackaging());
 		g.setUuid(product.getCmpUuId());
         g.setSpec(product.getSpec());
+        g.setReserve(product.getErpReserve());
+        g.setMinPackQty(product.getMinPackQty());
+        g.setPackaging(product.getPackaging());
 		return g;
 	}
 

+ 9 - 0
src/main/java/com/uas/platform/b2c/trade/order/service/OrderService.java

@@ -700,4 +700,13 @@ public interface OrderService {
 	 * @return ResultMap
 	 */
 	ResultMap statisticsEnterpriseTradingVolume(Long enuu, Long starttime, Long endtime);
+
+
+	/**
+	 * 根据订单号和订单主键获取订单
+	 * @param id
+	 * @param orderid
+	 * @return
+	 */
+	Order getOrderByOrderIdOrId(Long id, String orderid);
 }

+ 9 - 0
src/main/java/com/uas/platform/b2c/trade/order/service/PurchaseService.java

@@ -423,4 +423,13 @@ public interface PurchaseService {
 	String release(String purchaseId, String reason);
 
 	Logistics modifyPurchaseLogistics(Long id);
+
+
+	/**
+	 * 根据订单号和订单主键获取订单
+	 * @param id
+	 * @param purchaseid
+	 * @return
+	 */
+	Purchase getPurchaseByPurchaseidOrId(Long id, String purchaseid);
 }

+ 28 - 2
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java

@@ -1732,10 +1732,26 @@ public class OrderServiceImpl implements OrderService {
     @Transactional
     @Override
     public ResultMap ensureOrderAccept(Long id, String invoiceId) {
+        if (id == null && StringUtils.isEmpty(invoiceId)) {
+            throw new IllegalOperatorException("传入的订单信息和出货单信息都为空");
+        }
+        Order order = null;
         if (id == null) {
-            return new ResultMap(CodeType.NO_INFO, "订单信息缺失");
+            Invoice invoice = invoiceService.getInvoice(invoiceId);
+            if (invoice == null){
+                throw new IllegalOperatorException("找不到指定的出货单信息");
+            }
+            order = getOrderByOrderIdOrId(invoice.getOrderId(), invoice.getOrid());
+            if (order == null) {
+                Purchase purchase = purchaseService.getPurchaseByPurchaseidOrId(invoice.getPurchaseid(), invoice.getPuid());
+                if (purchase == null){
+                    throw new IllegalOperatorException("找不到销售单信息");
+                }
+                order = getOrderByOrderIdOrId(null, purchase.getOrderid());
+            }
+        } else {
+            order = orderDao.findOne(id);
         }
-        Order order = orderDao.findOne(id);
         if (order == null) {
             return new ResultMap(CodeType.NO_INFO, "订单信息错误,找不到对应订单信息");
         }
@@ -3521,6 +3537,16 @@ public class OrderServiceImpl implements OrderService {
         return ResultMap.success(orderTotal);
     }
 
+    @Override
+    public Order getOrderByOrderIdOrId(Long id, String orderid) {
+        if (id != null){
+            return orderDao.findOne(id);
+        }
+        if (org.apache.commons.lang.StringUtils.isNotEmpty(orderid)) {
+            return orderDao.findByOrderid(orderid);
+        }
+        return null;
+    }
 
     /**
      * 统计订单的总金额

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

@@ -1734,4 +1734,15 @@ public class PurchaseServiceImpl implements PurchaseService {
 	public Logistics modifyPurchaseLogistics(Long id) {
 		return null;
 	}
+
+	@Override
+	public Purchase getPurchaseByPurchaseidOrId(Long id, String purchaseid) {
+		if (id != null){
+			return purchaseDao.findOne(id);
+		}
+		if (org.apache.commons.lang.StringUtils.isNotEmpty(purchaseid)) {
+			return purchaseDao.findByPurchaseid(purchaseid);
+		}
+		return null;
+	}
 }

BIN
src/main/resources/jxls-tpl/trade/products.xls


BIN
src/main/resources/jxls-tpl/trade/releaseByBatch-rmb.xls