Package com.centraview.sale.proposal

Examples of com.centraview.sale.proposal.ItemLines


   */
  public ProposalVO calculateProposalItems(int userId, ProposalVO proposalVO, String newItemID) {
    StringTokenizer st;
    String token;

    ItemLines itemLines = proposalVO.getItemLines();

    if (itemLines == null) {
      itemLines = new ItemLines();
    } // end of if statement (itemLines == null)

    int counter = itemLines.size();
    if (counter != 0) {
      Set s = itemLines.keySet();
      Iterator itr = s.iterator();
      while (itr.hasNext()) {
        float taxRate = 0.0f;
        // ItemElement ie = (ItemElement)itr.next();
        ItemElement ie = (ItemElement) itemLines.get(itr.next());
        int id = ((Integer) ((IntMember) ie.get("ItemId")).getMemberValue()).intValue();
        try {
          InitialContext ic = CVUtility.getInitialContext();
          ItemLocalHome home = (ItemLocalHome) ic.lookup("local/Item");
          ItemLocal itemLocal = home.create();
          itemLocal.setDataSource(this.dataSource);

          ItemVO item = itemLocal.getItem(userId, id);

          int taxClassId = item.getTaxClassId();
          int taxJurisdictionId = 0;
          int shipToId = 0;

          if (proposalVO.getShippingaddressid() != null) {
            shipToId = Integer.parseInt(proposalVO.getShippingaddressid());
          }

          if (shipToId != 0) {
            AccountHelperHome hm = (AccountHelperHome) ic.lookup("local/AccountHelper");
            AccountHelper accHelper = hm.create();
            accHelper.setDataSource(this.dataSource);

            ContactHelperLocalHome home1 = (ContactHelperLocalHome) ic.lookup("local/ContactHelper");
            ContactHelperLocal contactHelperLocal = home1.create();
            contactHelperLocal.setDataSource(this.dataSource);

            if (taxJurisdictionId != 0) {
              taxRate = accHelper.getTax(taxClassId, taxJurisdictionId);
            } // end if (taxJurisdictionId != 0)
          } // end if (shipToId != 0)

          ((FloatMember) ie.get("UnitTaxrate")).setMemberValue(taxRate);

        } // end try block
        catch (Exception e) {
          ((FloatMember) ie.get("UnitTaxrate")).setMemberValue(0.0f);
        } // end of catch block (Exception)
      } // end of while loop (itr.hasNext())
    } // end of if statement (counter != 0)

    if (newItemID != null && !newItemID.equals("")) {
      st = new StringTokenizer(newItemID, ",");

      while (st.hasMoreTokens()) {
        try {
          float taxRate = 0.0f;
          token = st.nextToken();
          int intToken = Integer.parseInt(token);
          InitialContext ic = CVUtility.getInitialContext();

          float promotionPrice = 0.0f;

          CVDal dl = new CVDal(this.dataSource);
          dl.setSqlQueryToNull();
          dl.setSql("promotion.getpromotionitem");
          dl.setInt(1, intToken);
          Collection col = dl.executeQuery();

          if (col != null && col.size() != 0) {
            Iterator it = col.iterator();
            HashMap hm = (HashMap) it.next();
            if (hm != null) {
              promotionPrice = ((Number) hm.get("Price")).floatValue();
              // FIXME promotions broken here!
              Date promotionStartdate = ((Date) hm.get("Startdate"));
              Date promotionEnddate = ((Date) hm.get("Enddate"));
            }
          }

          dl.clearParameters();
          dl.destroy();

          ItemLocalHome home = (ItemLocalHome) ic.lookup("local/Item");
          ItemLocal itemLocal = home.create();
          itemLocal.setDataSource(this.dataSource);
          ItemVO item = itemLocal.getItem(userId, intToken);

          // Get the Required Fields from the Item VO
          String name = item.getItemName();
          String sku = item.getSku();
          float price = 0.0f;
          if (promotionPrice != 0.0f) {
            price = promotionPrice;
            name = name + " / " + item.getItemDesc() + " (Reflects Promotional Pricing) ";
          } else {
            price = (float) item.getPrice();
            name = name + " / " + item.getItemDesc();
          }

          int id = item.getItemId();
          int taxClassId = item.getTaxClassId();
          int taxJurisdictionId = 0;
          int shipToId = 0;

          if (proposalVO.getShippingaddressid() != null) {
            shipToId = Integer.parseInt(proposalVO.getShippingaddressid());
          } // end of if statement (proposalVO.getShippingaddressid() != null)

          if (shipToId != 0) {
            try {
              AccountHelperHome hm = (AccountHelperHome) ic.lookup("local/AccountHelper");
              AccountHelper accHelper = hm.create();
              accHelper.setDataSource(this.dataSource);

              ContactHelperLocalHome home2 = (ContactHelperLocalHome) ic.lookup("local/ContactHelper");
              ContactHelperLocal contactHelperLocal = home2.create();
              contactHelperLocal.setDataSource(this.dataSource);
              AddressVO addVO = contactHelperLocal.getAddress(shipToId);
              // FIXME I assume the addVO is gotten here so the taxJurisdictionId can be
              // found, unfortunately that doesn't happen.
              if (taxJurisdictionId != 0) {
                taxRate = accHelper.getTax(taxClassId, taxJurisdictionId);
              }// if (taxJurisdictionId !=0)
            } catch (Exception e) {
              System.out.println("[Exception]: SaleHelperEJB.calculateProposalItems: " + e.toString());
              e.printStackTrace();
            }
          } // end of if statement (shipToId != 0)

          // Form the ItemLines
          counter += 1;
          IntMember LineId = new IntMember("LineId", counter, 'D', "", 'T', false, 20);
          IntMember ItemId = new IntMember("ItemId", id, 'D', "", 'T', false, 20);
          StringMember SKU = new StringMember("SKU", sku, 'D', "", 'T', false);
          StringMember Description = new StringMember("Description", name, 'D', "", 'T', false);
          FloatMember Quantity = new FloatMember("Quantity", new Float(1.0f), 'D', "", 'T', false, 20);
          FloatMember PriceEach = new FloatMember("PriceEach", new Float(price), 'D', "", 'T', false, 20);
          FloatMember PriceExtended = new FloatMember("PriceExtended", new Float(0.0f), 'D', "", 'T', false, 20);
          FloatMember UnitTax = new FloatMember("UnitTax", new Float(0.0f), 'D', "", 'T', false, 20);
          FloatMember TaxRate = new FloatMember("UnitTaxrate", new Float(taxRate), 'D', "", 'T', false, 20);
          FloatMember OrderQuantity = new FloatMember("OrderQuantity", new Float(1.0f), 'D', "", 'T', false, 20);
          FloatMember PendingQuantity = new FloatMember("PendingQuantity", new Float(0.0f), 'D', "", 'T', false, 20);

          ItemElement ie = new ItemElement(counter);
          ie.put("LineId", LineId);
          ie.put("ItemId", ItemId);
          ie.put("SKU", SKU);
          ie.put("Description", Description);
          ie.put("Quantity", Quantity);
          ie.put("PriceEach", PriceEach);
          ie.put("PriceExtended", PriceExtended);
          ie.put("UnitTax", UnitTax);
          ie.put("UnitTaxrate", TaxRate);
          ie.put("OrderQuantity", OrderQuantity);
          ie.put("PendingQuantity", PendingQuantity);

          ie.setLineStatus("New");

          itemLines.put(new Integer(counter), ie);
        } // end of try block
        catch (Exception e) {
          System.out.println("[Exception]: SaleHelperEJB.calculateProposalItems: " + e.toString());
          e.printStackTrace();
        } // end of catch block (Exception)
      } // end of while loop (st.hasMoreTokens())
    } // end of if statement (newItemID != null && !newItemID.equals(""))

    itemLines.calculate();
    proposalVO.setItemLines(itemLines);
    return proposalVO;
  } // end of calculateProposalItems method
View Full Code Here

TOP

Related Classes of com.centraview.sale.proposal.ItemLines

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.