Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- public void create(
- PurchaseOrderData purchaseOrderData,
- PurchaseOrderType purchaseOrderType
- ) throws
- PurchaseOrderTypeNotFoundException,
- DocumentTypeNotFoundException,
- MissingDataException,
- TripNotFoundException
- {
- /*-------------------------------- VALIDACIONES --------------------------------*/
- validatorService.validatePurchaseOrderData(purchaseOrderData, purchaseOrderType);
- /*-------------------------------- VALIDACIONES --------------------------------*/
- /*--------------------------------- EXTRA DATA ---------------------------------*/
- /*
- * En el caso de ser una orden del tipo TRIP:
- * 1.- Ya se validó que tripId no fuera null
- * 2.- Con el método getExtraData() se rescatan:
- * 2.1.- userId según tripId
- * 2.2.- membershipId de ese userIds
- * */
- switch (purchaseOrderType){
- case TRIP_BY_DAY:
- case TRIP_BY_MINUTE:
- purchaseOrderData = getExtraData(purchaseOrderData);
- break;
- }
- /*--------------------------------- EXTRA DATA ---------------------------------*/
- /*--------------- Sacando los datos del objeto purchaseOrderData---------------*/
- final Double AMOUNT_WITHOUT_TAX = purchaseOrderData.getAmountWithoutTax();
- final Integer MEMBERSHIP_ID = purchaseOrderData.getMembershipId();
- final Integer TRIP_ID = purchaseOrderData.getTripId();
- final Integer USER_ID = purchaseOrderData.getUserId();
- final String DESCRIPTION = purchaseOrderData.getDescription();
- /*--------------- Sacando los datos del objeto purchaseOrderData---------------*/
- /*---------------- DATOS NECESARIOS PARA EL OBJETO awPurchaseOrder ----------------*/
- AwPurchaseOrderType awPurchaseOrderType = getPurchaseOrderType(purchaseOrderType);
- final Integer CHARGE_TYPE_ID = awPurchaseOrderType.getChargeTypeId();
- final Integer ORDER_TYPE_ID = awPurchaseOrderType.getId();
- final Integer INVOICE_STATUS_ID = awPurchaseOrderType.getInvoiceStatusId();
- final Double TAX = calculateTax(purchaseOrderType, AMOUNT_WITHOUT_TAX);
- /*---------------- DATOS NECESARIOS PARA EL OBJETO awPurchaseOrder ----------------*/
- /*------------------ CREACIÓN DE OBJETO DEL TIPO AwPurchaseOrder ------------------*/
- AwPurchaseOrder awPurchaseOrder = new AwPurchaseOrder();
- awPurchaseOrder.setInvoiceStatusId (INVOICE_STATUS_ID);
- awPurchaseOrder.setAmount (AMOUNT_WITHOUT_TAX);
- awPurchaseOrder.setChargeTypeId (CHARGE_TYPE_ID);
- awPurchaseOrder.setDescription (DESCRIPTION);
- awPurchaseOrder.setMembershipId (MEMBERSHIP_ID);
- awPurchaseOrder.setOrderTypeId (ORDER_TYPE_ID);
- awPurchaseOrder.setTax (TAX);
- awPurchaseOrder.setTripId (TRIP_ID);
- awPurchaseOrder.setUserId (USER_ID);
- /*------------------ CREACIÓN DE OBJETO DEL TIPO AwPurchaseOrder ------------------*/
- purchaseOrderRepository.save(awPurchaseOrder);
- // llamar a microservicio de pagos y generar una deuda --> mati en ms payments
- // afuera de este método
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement