yuj 7 лет назад
Родитель
Сommit
22d7a95dfb

+ 2 - 1
src/main/java/com/uas/platform/b2c/external/erp/order/api/PurchaseController.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
+import com.uas.platform.b2c.logistics.model.Invoice;
 import com.uas.platform.b2c.logistics.model.InvoiceFPurchase;
 import com.uas.platform.b2c.trade.order.model.Order;
 import com.uas.platform.b2c.trade.order.model.Purchase;
@@ -206,7 +207,7 @@ public class PurchaseController {
      * @return invoice f purchase
      */
     @RequestMapping(value = "/{invoiceid}/ensurereceipt", method = RequestMethod.PUT)
-	public InvoiceFPurchase ensureReceipt(@PathVariable String invoiceid) {
+	public Invoice ensureReceipt(@PathVariable String invoiceid) {
 		return purchaseService.ensuerAcceptInvoise(invoiceid);
 	}
 

+ 19 - 0
src/main/java/com/uas/platform/b2c/logistics/dao/InvoiceDetailDao.java

@@ -0,0 +1,19 @@
+package com.uas.platform.b2c.logistics.dao;
+
+import com.uas.platform.b2c.logistics.model.InvoiceDetail;
+import com.uas.platform.b2c.logistics.model.InvoiceFPurchaseDetail;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface InvoiceDetailDao extends JpaSpecificationExecutor<InvoiceDetail>, JpaRepository<InvoiceDetail, Long> {
+
+    /**
+     * 根据采购单明细获取InvoiceFPurchaseDetail对象
+     *
+     * @param pudetailid the pudetailid 采购单明细id
+     * @return InvoiceFPurchaseDetail 返回InvoiceFPurchaseDetail对象
+     */
+    InvoiceDetail findInvoiceFPurchaseDetailByPudetailid(Long pudetailid);
+}

+ 7 - 0
src/main/java/com/uas/platform/b2c/logistics/service/InvoiceService.java

@@ -25,6 +25,13 @@ public interface InvoiceService {
 
     ResultMap convert();
 
+    /**
+     * 批量发货单
+     * @param invoice
+     * @return
+     */
+    Invoice save(Invoice invoice);
+
     /**
      * 根据订单生成平台出货单及其明细信息,并保存出货单和修改订单状态信息
      * Created by huxz 2017-1-13 15:39:40

+ 15 - 0
src/main/java/com/uas/platform/b2c/logistics/service/impl/InvoiceServiceImpl.java

@@ -144,6 +144,21 @@ public class InvoiceServiceImpl implements InvoiceService {
         return ResultMap.success(invoices1.size());
     }
 
+    /**
+     * 批量发货单
+     *
+     * @param invoice
+     * @return
+     */
+    @Override
+    public Invoice save(Invoice invoice) {
+        if (invoice != null) {
+            return null;
+        } else {
+            return invoiceDao.save(invoice);
+        }
+    }
+
     @Override
     public Invoice sendInvoiceFOrder(String inid) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");

+ 2 - 1
src/main/java/com/uas/platform/b2c/trade/order/service/PurchaseService.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2c.trade.order.service;
 
 import com.alibaba.fastjson.JSONArray;
+import com.uas.platform.b2c.logistics.model.Invoice;
 import com.uas.platform.b2c.logistics.model.InvoiceFPurchase;
 import com.uas.platform.b2c.logistics.model.Logistics;
 import com.uas.platform.b2c.trade.order.model.Order;
@@ -113,7 +114,7 @@ public interface PurchaseService {
 	 * @param invoiceid the invoiceid
 	 * @return invoice f purchase
 	 */
-	InvoiceFPurchase ensuerAcceptInvoise(String invoiceid);
+	Invoice ensuerAcceptInvoise(String invoiceid);
 
 	/**
 	 * 平台批量确定收货

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

@@ -106,8 +106,6 @@ public class PurchaseServiceImpl implements PurchaseService {
 	@Autowired
 	private OrderDao orderDao;
 	@Autowired
-	private InvoiceFPurchaseDao invoiceFPurchaseDao;
-	@Autowired
 	private EnterpriseDao enterpriseDao;
 	// 这个只是为了粗暴拿到地址
 	@Autowired
@@ -117,8 +115,6 @@ public class PurchaseServiceImpl implements PurchaseService {
 	@Autowired
 	private BillInfoDao billInfoDao;
 	@Autowired
-	private InvoiceFPurchaseDetailDao invoiceFPurchaseDetailDao;
-	@Autowired
 	private ReceiptDetailDao receiptDetailDao;
 	@Autowired
 	private ReceiptDao receiptDao;
@@ -152,6 +148,8 @@ public class PurchaseServiceImpl implements PurchaseService {
 	private InstallmentService installmentService;
 	@Autowired
 	private BillSubmitService billSubmitService;
+	@Autowired
+	private InvoiceDetailDao invoiceDetailDao;
 
 	@Override
 	public Purchase save(Purchase purchase) {
@@ -526,22 +524,22 @@ public class PurchaseServiceImpl implements PurchaseService {
 		if (invoiceids != null) {
 			String[] inids = invoiceids.split(SplitChar.COMMA);
 			for (String invoiceid : inids) {
-				InvoiceFPurchase invoiceFp = invoiceFPurchaseDao.findByInvoiceid(invoiceid);
+				Invoice invoiceFp = invoiceService.getInvoice(invoiceid);
 				if (invoiceFp.getStatus() != Status.INBOUND.value()) {
 					throw new IllegalAccessError("出货单不为待收货状态,不能确认收货");
 				}
 				Long uu = SystemSession.getUser().getUserUU();
-				Purchase purchase = purchaseDao.findOne(invoiceFp.getPuid());
+				Purchase purchase = purchaseDao.findOne(invoiceFp.getPurchaseid());
 				purchase = StatusChangeUtil.updatePurchaseStatus(purchase, Status.INBOUND, Status.RECEIVED);
 				purchaseDao.save(purchase);
 				// 1、生成入库单
 				receiptService.createPreceipts(invoiceFp);
 				// 2、改写订单状态
-				orderService.setShipped(invoiceFp.getPuid());
+				orderService.setShipped(invoiceFp.getPurchaseid());
 				// 3、改写卖方出货单状态 (首先改成出货单已出货,再判断是否为现货,现货在直接保存为待收款)
 				invoiceFp.setStatusReceived(uu);
-				invoiceFPurchaseDao.save(invoiceFp);
-				invoiceService.setToReceiveMoney(invoiceFp.getPuid());
+				invoiceService.save(invoiceFp);
+				invoiceService.setToReceiveMoney(invoiceFp.getPurchaseid());
 			}
 			return "success";
 		}
@@ -550,14 +548,14 @@ public class PurchaseServiceImpl implements PurchaseService {
 
 	@Transactional
 	@Override
-	public InvoiceFPurchase ensuerAcceptInvoise(String invoiceid) {
-		InvoiceFPurchase invoiceFp = invoiceFPurchaseDao.findByInvoiceid(invoiceid);
+	public Invoice ensuerAcceptInvoise(String invoiceid) {
+		Invoice invoiceFp = invoiceService.getInvoice(invoiceid);
 		if (invoiceFp.getStatus().intValue() != Status.INBOUND.value()) {
 			throw new IllegalAccessError("出货单不为待收货状态,不能确认收货");
 		}
 		Long uu = SystemSession.getUser().getUserUU();
 		boolean allReceived = true;
-		Purchase purchase = purchaseDao.findOne(invoiceFp.getPuid());
+		Purchase purchase = purchaseDao.findOne(invoiceFp.getPurchaseid());
 		Set<PurchaseDetail> purchaseDetails = purchase.getPurchaseDetails();
 		for (PurchaseDetail purchaseDetail : purchaseDetails) {
 			if (purchaseDetail.getStatus().intValue() == Status.INBOUND.value() && (NumberUtil.compare(purchaseDetail.getShipQty(), purchaseDetail.getNumber()) == 0)) {
@@ -592,10 +590,10 @@ public class PurchaseServiceImpl implements PurchaseService {
 		}
 		// 3、改写卖方出货单状态 (首先改成出货单已出货,再判断是否为现货,现货在直接保存为待收款)
 		invoiceFp.setStatusReceived(uu);
-		for (InvoiceFPurchaseDetail invoiceF : invoiceFp.getInvoiceFPurchaseDetails()) {
+		for (InvoiceDetail invoiceF : invoiceFp.getInvoiceDetails()) {
 			invoiceF.setStatus(Status.RECEIVED.value());
 		}
-		InvoiceFPurchase thisinvoiceFp = invoiceFPurchaseDao.save(invoiceFp);
+		Invoice thisinvoiceFp = invoiceService.save(invoiceFp);
 		return thisinvoiceFp;
 	}
 
@@ -1020,7 +1018,7 @@ public class PurchaseServiceImpl implements PurchaseService {
 	 */
 // 传入已经修改为已收票状态的明细id
 	public void changeReceiptToReceivedBill(Long purchaseDetailId) {
-		InvoiceFPurchaseDetail invoiceFPurchaseDetail = invoiceFPurchaseDetailDao.findInvoiceFPurchaseDetailByPudetailid(purchaseDetailId);
+		InvoiceDetail invoiceFPurchaseDetail = invoiceDetailDao.findInvoiceFPurchaseDetailByPudetailid(purchaseDetailId);
 		List<ReceiptDetail> receiptDetails = receiptDetailDao.findReceiptDetailBySourceid(invoiceFPurchaseDetail.getDetailid());
 		if (receiptDetails == null || receiptDetails.size() == 0) {
 			System.out.println("出货单的明细对应不到入库单的明细行,出库单的明细行是:" + invoiceFPurchaseDetail.getDetailid());