forum.bitel.ru
http://forum.bitel.ru/

мб есть у кого
http://forum.bitel.ru/viewtopic.php?f=19&t=8654
Страница 1 из 1

Автор:  skyb [ 04 ноя 2013, 14:19 ]
Заголовок сообщения:  мб есть у кого

собственно генерится счета, абонентом или в админке, как то его получить можно через api ?

Автор:  dimOn [ 04 ноя 2013, 14:39 ]
Заголовок сообщения:  Re: мб есть у кого

у меня дежавю
viewtopic.php?f=19&t=8620

Автор:  skyb [ 04 ноя 2013, 17:33 ]
Заголовок сообщения:  Re: мб есть у кого

та не, это уже созданные счета, тут вопрос как получить счет(в момент создания) и передать(это уже я сделаю) в стороннюю систему, а там уже созданные счета

Автор:  dimOn [ 04 ноя 2013, 23:30 ]
Заголовок сообщения:  Re: мб есть у кого

что передать то надо в стороннюю систему? сигнал? xml? дёрнуть запрос? pdf?

Автор:  skyb [ 05 ноя 2013, 12:12 ]
Заголовок сообщения:  Re: мб есть у кого

dimOn писал(а):
что передать то надо в стороннюю систему? сигнал? xml? дёрнуть запрос? pdf?

а все что в счете есть, название компании, позиция сумма и тд

Автор:  dimOn [ 05 ноя 2013, 12:35 ]
Заголовок сообщения:  Re: мб есть у кого

в каком виде? откуда передать или самому извне забрать?
в апи: BillManager.getBill например
это из bill_data_<mid> работается
можно напрямую оттуда брать через sql.
сам документ лежит в БД в виде xml так что надо парсить или так использовать

Автор:  skyb [ 06 ноя 2013, 10:02 ]
Заголовок сообщения:  Re: мб есть у кого

передать необходимо в String. Нужно просто те услуги которые выставляются в счете, их количество, сумму, с ндс, без, и полную сумму. Отдает это все биллинг.
мб есть примеры?

Автор:  skyb [ 12 ноя 2013, 17:30 ]
Заголовок сообщения:  Re: мб есть у кого

Решил распарсить xml который в базе, но не получается что то, подскажите что не так? Это не весь xml канеш, я на маленьком пытаюсь тестить

Код:
      String xmlRecords = "<?xml version=\"1.0\" encoding=\"windows-1251\"?><data><pos position_id=\"1\" name=\"Абонентская плата за предоставление доступа в интернет за октябрь\" summ=\"100.00\"></pos></data>";
      InputSource input = new InputSource(new StringReader(xmlRecords));
      DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
      DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();   
      Document doc = dBuilder.parse(input);
      doc.getDocumentElement().normalize();
      Element root = doc.getDocumentElement();

      print(root.getNodeName());

      NodeList nodeList = root.getElementsByTagName("data");

      for (int i = 0; i < nodeList.getLength(); i++) {
         print("DEBUG: Iteration");
         Node node = nodeList.item(i);
         print("DEBUG: Node Name :" + node.getNodeName());

         //Node node = nodeList.item(i).getFirstChild();
         //System.out.println(node.getNodeValue());
print (node.getNodeValue());
            if (node.getNodeType() == Node.ELEMENT_NODE) {

                Element eElement = (Element) node;
print ("Parameter is: " + eElement.getAttribute("pos"));
print ("Value is: "+ node.getTextContent());
}
}


Отрабатывает только первый принт print(root.getNodeName()); выводит data
Да, ещё, при создании счета, и отлавливании события создания счета, xml в базе то уже есть?

Автор:  skn [ 12 ноя 2013, 23:58 ]
Заголовок сообщения:  Re: мб есть у кого

так в root вроде нет ВЛОЖЕННЫХ элементов data

Автор:  skyb [ 13 ноя 2013, 05:52 ]
Заголовок сообщения:  Re: мб есть у кого

skn писал(а):
так в root вроде нет ВЛОЖЕННЫХ элементов data

не, получается data - это root элемент, ну да ладно, вроде получилось разобрать, получилось что то вида

Код:
String xmlRecords = "<?xml version=\"1.0\" encoding=\"windows-1251\"?><data><pos position_id=\"1\" name=\"Абонентская плата за предоставление доступа в интернет за октябрь\" summ=\"100.00\"></pos><pos position_id=\"2\" name=\"Предоставление статического ip адреса за октябрь\" summ=\"2.00\"></pos></data>";
      InputSource input = new InputSource(new StringReader(xmlRecords));
      DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
      DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();   
      Document doc = dBuilder.parse(input);
      doc.getDocumentElement().normalize();

      Element root = doc.getDocumentElement();

      print(root.getNodeName());

      NodeList nodeList = root.getChildNodes();
      for (int i = 0; i < nodeList.getLength(); i++) {

         print("DEBUG: Iteration");

         Node node = nodeList.item(i);

         print("DEBUG: Node Name :" + node.getNodeName());

                        NamedNodeMap attrs = node.getAttributes();

         print (attrs.getNamedItem("name").getNodeValue());
         print (attrs.getNamedItem("summ").getNodeValue());
      }


в выводе
Код:
DEBUG: Iteration
DEBUG: Node Name :pos
Абонентская плата за предоставление доступа в интернет за октябрь
100.00
DEBUG: Iteration
DEBUG: Node Name :pos
Предоставление статического ip адреса за октябрь
2.00

собственно что и нада. Но, возник другой вопрос, пытаюсь собрать простую конструкцию sql запросом в коде

Код:
      String query = " select xml from bill_data_2 "+
                  " where cid = 419 and mm = 10 and yy = 2013";

         PreparedStatement ps = con.prepareStatement(query);
         ResultSet rs = ps.executeQuery();
            while (rs.next())
            {
                 String xml = rs.getString(1);
               print (xml);
            }   
         rs.close();
         ps.close();

в выводе лишь выделенное место для памяти под эту String, обычным скулем она вытягивается, а тут я повешал на событие создание счета, и не вытягивается, я так понял вытянуть на это событие не получится?

Автор:  skn [ 13 ноя 2013, 12:04 ]
Заголовок сообщения:  Re: мб есть у кого

String xml = new String( rs.getBytes(1) );

Автор:  skyb [ 13 ноя 2013, 12:10 ]
Заголовок сообщения:  Re: мб есть у кого

skn писал(а):
String xml = new String( rs.getBytes(1) );

Онноче, пасиба

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/