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/ |