Package org.sab.invsys.persistence.model.order.purchase

Examples of org.sab.invsys.persistence.model.order.purchase.PurchaseOrder


  private Logger logger = Logger.getLogger(ProductService.class);

  @Transactional
  public PurchaseOrderUI create(PurchaseOrderUI uiBean) {
    PurchaseOrder po = poMapper.toPersistenceBean(uiBean);
    Set<PurchaseOrderItems> items = po.getItems();
    po.setItems(null);

    User user = userRepository.findByUsername(uiBean.getUserName());
    po.setUser(user);

    long total = 0;
    if (items != null && items.size() > 0) {
      for (PurchaseOrderItems item : items) {
        total += item.getQuantity() * item.getUnitPrice() * ( 100 - item.getDiscount() ) / 100 ;
      }
    }
    po.setTotal(total);

   
    PurchaseOrder saved = poRepository.save(po);

    if (items != null && items.size() > 0) {
      for (PurchaseOrderItems item : items) {
        logger.debug("Item :: " + item);
        Product product = productRepository.findByProductName(item
            .getProduct().getProductName());
        item.setProduct(product);
        PurchaseOrder order = poRepository.findByOrderId(uiBean
            .getOrderId());
        item.setPo(order);
        logger.debug("Item :: " + item);
      }
      itemsRepository.save(items);
View Full Code Here


  public PurchaseOrderUI findByOrderId(String orderId) {
    return poMapper.toUIBean(poRepository.findByOrderId(orderId));
  }

  public List<PurchaseOrderItemsUI> findItemsByOrderId(int orderId) {
    return itemsMapper.toUIBean(itemsRepository.findByPo(new PurchaseOrder(
        new Long(orderId))));
  }
View Full Code Here

        new Long(orderId))));
  }

  @Transactional
  public PurchaseOrderUI update(PurchaseOrderUI uiBean) {
    PurchaseOrder po = poMapper.toPersistenceBean(uiBean);
    Set<PurchaseOrderItems> items = po.getItems();

    PurchaseOrder existing = poRepository
        .findByOrderId(uiBean.getOrderId());
    if (existing == null) {
      return null;
    }

    existing.setComments(po.getComments());
    existing.setDiscount(po.getDiscount());
    existing.setDueDate(po.getDueDate());
    existing.setOrderDate(po.getOrderDate());
    existing.setReferenceNumber(po.getReferenceNumber());

    User user = userRepository.findByUsername(uiBean.getUserName());
    existing.setUser(user);
    existing.setItems(null);

    PurchaseOrder saved = poRepository.save(existing);
   
    long total = 0;
    if (items != null && items.size() > 0) {
      List<PurchaseOrderItems> existingItems = itemsRepository
          .findByPo(saved);

      Map<String, PurchaseOrderItems> purchasedItemsMap = new HashMap<String, PurchaseOrderItems>();
      for (PurchaseOrderItems pim : items) {
        purchasedItemsMap.put(pim.getProduct().getProductName(), pim);
      }
      Map<String, PurchaseOrderItems> existingItemsMap = new HashMap<String, PurchaseOrderItems>();
      for (PurchaseOrderItems i : existingItems) {
        existingItemsMap.put(i.getProduct().getProductName(), i);
      }

      /* Delete Purchase Order Items */
      List<PurchaseOrderItems> deleteItems = new ArrayList<PurchaseOrderItems>();
      for (PurchaseOrderItems deleteItem : existingItems) {
        if (!purchasedItemsMap.containsKey(deleteItem.getProduct()
            .getProductName())) {
          deleteItems.add(deleteItem);
        }
      }
      itemsRepository.delete(deleteItems);

      /* Updating/Inserting Purchase Order Items */
      List<PurchaseOrderItems> toBeSavedItems = new ArrayList<PurchaseOrderItems>();
      for (PurchaseOrderItems item : items) {
        PurchaseOrderItems existingItem = existingItemsMap.get(item
            .getProduct().getProductName());
        Product product = productRepository.findByProductName(item
            .getProduct().getProductName());
        PurchaseOrder order = poRepository.findByOrderId(uiBean
            .getOrderId());
        if (existingItem != null) {
          existingItem.setQuantity(item.getQuantity());
          existingItem.setUnitPrice(item.getUnitPrice());
          existingItem.setDiscount(item.getDiscount());
View Full Code Here

      Pageable pageable) {
    return new PageImpl<PurchaseOrderUI>(toUIBean(data.getContent()));
  }

  public PurchaseOrder toPersistenceBean(PurchaseOrderUI ui) {
    PurchaseOrder data = new PurchaseOrder();

    if (ui != null) {
      data.setComments(ui.getComments());
      data.setCreateadBy(ui.getCreateadBy());
      data.setCreatedDate(ui.getCreatedDate());
      data.setDiscount(ui.getDiscount());
      data.setDueDate(ui.getDueDate());
      data.setId(ui.getId());
      data.setModifiedBy(ui.getModifiedBy());
      data.setModifiedDate(ui.getModifiedDate());
      data.setOrderDate(ui.getOrderDate());
      data.setOrderId(ui.getOrderId());
      data.setOrderType(ui.getOrderType());
      data.setReferenceNumber(ui.getReferenceNumber());

      User user = new User();
      user.setUsername(ui.getUserName());
      data.setUser(user);

      if (ui.getCharges() != null && ui.getCharges().size() > 0) {
        PurchaseOrderChargesMapper chargeMapper = new PurchaseOrderChargesMapper();
        Set<PurchaseOrderCharges> charges = new HashSet<PurchaseOrderCharges>(
            chargeMapper.toPersistenceBean(ui.getCharges()));
        data.setCharges(charges);
      }
      if (ui.getItems() != null && ui.getItems().size() > 0) {
        PurchaseOrderItemsMapper itemsMapper = new PurchaseOrderItemsMapper();
        List<PurchaseOrderItems> pItems = itemsMapper
            .toPersistenceBean(ui.getItems());
        Set<PurchaseOrderItems> items = new HashSet<PurchaseOrderItems>();
        if (pItems != null) {
          items.addAll(pItems);
        }
        data.setItems(items);
      }
      if (ui.getTaxes() != null && ui.getTaxes().size() > 0) {
        PurchaseOrderTaxesMapper taxMapper = new PurchaseOrderTaxesMapper();
        Set<PurchaseOrderTaxes> taxes = new HashSet<PurchaseOrderTaxes>(
            taxMapper.toPersistenceBean(ui.getTaxes()));
        data.setTaxes(taxes);
      }
    }

    return data;
  }
View Full Code Here

TOP

Related Classes of org.sab.invsys.persistence.model.order.purchase.PurchaseOrder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.