Advertisement
pperez_awto

Método Create Purchase Order

Mar 26th, 2020
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.20 KB | None | 0 0
  1. @Override
  2. public void create(
  3.     PurchaseOrderData purchaseOrderData,
  4.     PurchaseOrderType purchaseOrderType
  5. ) throws
  6.     PurchaseOrderTypeNotFoundException,
  7.     DocumentTypeNotFoundException,
  8.     MissingDataException,
  9.     TripNotFoundException
  10. {
  11.     /*-------------------------------- VALIDACIONES --------------------------------*/
  12.     validatorService.validatePurchaseOrderData(purchaseOrderData, purchaseOrderType);
  13.     /*-------------------------------- VALIDACIONES --------------------------------*/
  14.  
  15.     /*--------------------------------- EXTRA DATA ---------------------------------*/
  16.     /*
  17.     * En el caso de ser una orden del tipo TRIP:
  18.     *   1.- Ya se validó que tripId no fuera null
  19.     *   2.- Con el método getExtraData() se rescatan:
  20.     *       2.1.- userId según tripId
  21.     *       2.2.- membershipId de ese userIds
  22.     * */
  23.     switch (purchaseOrderType){
  24.         case TRIP_BY_DAY:
  25.         case TRIP_BY_MINUTE:
  26.             purchaseOrderData = getExtraData(purchaseOrderData);
  27.             break;
  28.     }
  29.     /*--------------------------------- EXTRA DATA ---------------------------------*/
  30.  
  31.     /*--------------- Sacando los datos del objeto purchaseOrderData---------------*/
  32.     final Double  AMOUNT_WITHOUT_TAX    = purchaseOrderData.getAmountWithoutTax();
  33.     final Integer MEMBERSHIP_ID         = purchaseOrderData.getMembershipId();
  34.     final Integer TRIP_ID               = purchaseOrderData.getTripId();
  35.     final Integer USER_ID               = purchaseOrderData.getUserId();
  36.     final String  DESCRIPTION           = purchaseOrderData.getDescription();
  37.     /*--------------- Sacando los datos del objeto purchaseOrderData---------------*/
  38.  
  39.     /*---------------- DATOS NECESARIOS PARA EL OBJETO awPurchaseOrder ----------------*/
  40.     AwPurchaseOrderType awPurchaseOrderType = getPurchaseOrderType(purchaseOrderType);
  41.  
  42.     final Integer   CHARGE_TYPE_ID            = awPurchaseOrderType.getChargeTypeId();
  43.     final Integer   ORDER_TYPE_ID             = awPurchaseOrderType.getId();
  44.     final Integer   INVOICE_STATUS_ID         = awPurchaseOrderType.getInvoiceStatusId();
  45.     final Double    TAX                       = calculateTax(purchaseOrderType, AMOUNT_WITHOUT_TAX);
  46.     /*---------------- DATOS NECESARIOS PARA EL OBJETO awPurchaseOrder ----------------*/
  47.  
  48.  
  49.     /*------------------ CREACIÓN DE OBJETO DEL TIPO AwPurchaseOrder ------------------*/
  50.     AwPurchaseOrder awPurchaseOrder = new AwPurchaseOrder();
  51.  
  52.     awPurchaseOrder.setInvoiceStatusId  (INVOICE_STATUS_ID);
  53.     awPurchaseOrder.setAmount           (AMOUNT_WITHOUT_TAX);
  54.     awPurchaseOrder.setChargeTypeId     (CHARGE_TYPE_ID);
  55.     awPurchaseOrder.setDescription      (DESCRIPTION);
  56.     awPurchaseOrder.setMembershipId     (MEMBERSHIP_ID);
  57.     awPurchaseOrder.setOrderTypeId      (ORDER_TYPE_ID);
  58.     awPurchaseOrder.setTax              (TAX);
  59.     awPurchaseOrder.setTripId           (TRIP_ID);
  60.     awPurchaseOrder.setUserId           (USER_ID);
  61.     /*------------------ CREACIÓN DE OBJETO DEL TIPO AwPurchaseOrder ------------------*/
  62.  
  63.     purchaseOrderRepository.save(awPurchaseOrder);
  64.     // llamar a microservicio de pagos y generar una deuda --> mati en ms payments
  65.     // afuera de este método
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement