コード例 #1
0
  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;
  }