public DeliveryOrder createDeliveryOrder(List<PurchaseOrderDetail> purchaseOrderDetailList) throws IllegalAccessException, InvocationTargetException { DeliveryOrder deliveryOrder = null; PurchaseOrder purchaseOrder = null; for (int i = 0; i < purchaseOrderDetailList.size(); i++) { PurchaseOrderDetail purchaseOrderDetail = purchaseOrderDetailList.get(i); if (deliveryOrder == null) { purchaseOrder = purchaseOrderDetail.getPurchaseOrder(); deliveryOrder = new DeliveryOrder(); BeanUtils.copyProperties(deliveryOrder, purchaseOrder); deliveryOrder.setDoNo( this.numberControlManager.generateNumber( purchaseOrder.getPlantSupplier().getDoNoPrefix(), 10)); deliveryOrder.setExternalDoNo(deliveryOrder.getDoNo()); deliveryOrder.setCreateDate(new Date()); deliveryOrder.setIsExport(false); deliveryOrder.setIsPrint(false); deliveryOrder.setIsRead(false); deliveryOrder.setStatus("Create"); } DeliveryOrderDetail deliveryOrderDetail = new DeliveryOrderDetail(); BeanUtils.copyProperties(deliveryOrderDetail, purchaseOrderDetail); deliveryOrderDetail.setDeliveryOrder(deliveryOrder); deliveryOrderDetail.setUnitCount(purchaseOrderDetail.getItem().getUnitCount()); deliveryOrderDetail.setQty(purchaseOrderDetail.getCurrentShipQty()); // deliveryOrderDetail.setOrderQty(purchaseOrderDetail.getQty()); deliveryOrderDetail.setReferenceOrderNo(purchaseOrderDetail.getPurchaseOrder().getPoNo()); deliveryOrderDetail.setReferenceSequence(purchaseOrderDetail.getSequence()); deliveryOrderDetail.setPurchaseOrderDetail(purchaseOrderDetail); deliveryOrder.addDeliveryOrderDetail(deliveryOrderDetail); // if (purchaseOrderDetail.getShipQty() == null) { // purchaseOrderDetail.setShipQty(BigDecimal.ZERO); // } // // purchaseOrderDetail.setShipQty(purchaseOrderDetail.getShipQty().add(purchaseOrderDetail.getCurrentShipQty())); this.purchaseOrderDetailManager.save(purchaseOrderDetail); } // this.purchaseOrderManager.tryClosePurchaseOrder(purchaseOrder.getPoNo()); this.save(deliveryOrder); return deliveryOrder; }