forum.bitel.ru http://forum.bitel.ru/ |
|
[6.2] Ошибка при удалении платежа http://forum.bitel.ru/viewtopic.php?f=22&t=10428 |
Страница 1 из 1 |
Автор: | krtvand [ 16 апр 2015, 17:18 ] |
Заголовок сообщения: | [6.2] Ошибка при удалении платежа |
При попытке удаления платежа возникает ошибка "BGException: java.sql.SQLException: Column count doesn't match value count at row 1" Код: server 04-16/13:40:17 ERROR [http-bio-0.0.0.0-8080-exec-7] AbstractJaxWsHandler - java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:101) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke0(AbstractJaxWsHandler.java:195) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.access$000(AbstractJaxWsHandler.java:47) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$1.run(AbstractJaxWsHandler.java:242) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke(AbstractJaxWsHandler.java:236) at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.invoke(JaxWsHandler.java:299) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1.invoke(AbstractJaxWsHandler.java:335) at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150) at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261) at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482) at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314) at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:608) at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:259) at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:162) at ru.bitel.bgbilling.kernel.container.ws.server.JaxWSAdapter.handle(JaxWSAdapter.java:288) at bitel.billing.server.Executer.doPost(SourceFile:163) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: ru.bitel.bgbilling.common.BGException: java.sql.SQLException: Column count doesn't match value count at row 1 at ru.bitel.common.dao.AbstractIdDao.delete(AbstractIdDao.java:59) at ru.bitel.bgbilling.kernel.contract.balance.server.PaymentServiceImpl.paymentDelete(PaymentServiceImpl.java:86) ... 45 more Caused by: java.sql.SQLException: Column count doesn't match value count at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1084) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4232) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4164) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615) at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1363) at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:829) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2334) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2262) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2246) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at ru.bitel.bgbilling.kernel.contract.balance.server.bean.PaymentDao.deleteImpl(PaymentDao.java:215) at ru.bitel.common.dao.AbstractIdDao.delete(AbstractIdDao.java:55) ... 46 more Код: Информация о версии:
Клиент: вер. 6.2.703 / 16.04.2015 15:39:23 os: Windows 8.1; java: Java HotSpot(TM) Client VM, v.1.8.0_40 Сервер: вер. 6.2.866 / 16.04.2015 15:39:28 os: Linux; java: Java HotSpot(TM) Server VM, v.1.8.0_40 card: вер. 6.2.13 / 31.03.2015 17:29:07 cerbercrypt: вер. 6.2.177 / 13.04.2015 16:30:55 dialup: вер. 6.2.298 / 31.03.2015 17:29:46 inet: вер. 6.2.497 / 16.04.2015 15:39:43 ipn: вер. 6.2.210 / 31.03.2015 17:29:53 npay: вер. 6.2.162 / 16.04.2015 15:39:44 reports: вер. 6.2.172 / 10.04.2015 20:08:20 rscm: вер. 6.2.158 / 16.04.2015 15:39:47 ru.bitel.bgbilling.plugins.documents: вер. 6.2.142 / 08.04.2015 14:53:37 |
Автор: | skn [ 16 апр 2015, 17:40 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
нужно сравнить столбцы из таблиц contract_payment_deleted и contract_payment Код: show create table `contract_payment`;
show create table `contract_payment_deleted`; |
Автор: | krtvand [ 16 апр 2015, 18:05 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
Код: Table;Create Table contract_payment;CREATE TABLE `contract_payment` ( `id` int(11) NOT NULL auto_increment, `dt` date NOT NULL default '0000-00-00', `cid` int(10) unsigned NOT NULL default '0', `pt` int(10) unsigned NOT NULL default '0', `uid` int(11) NOT NULL default '0', `summa` decimal(10,2) NOT NULL, `comment` varchar(200) NOT NULL default '', `lm` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `pt_dt` (`pt`,`dt`), KEY `dt_cid` (`dt`,`cid`), KEY `uid` (`uid`), KEY `cid_dt` (`cid`,`dt`) ) ENGINE=InnoDB AUTO_INCREMENT=58490 DEFAULT CHARSET=cp1251 Код: Table;Create Table
contract_payment_deleted;CREATE TABLE `contract_payment_deleted` ( `id` int(11) NOT NULL default '0', `dt` date NOT NULL default '0000-00-00', `cid` int(10) unsigned NOT NULL default '0', `pt` int(10) unsigned NOT NULL default '0', `uid` int(11) NOT NULL default '0', `summa` decimal(10,2) NOT NULL, `comment` varchar(200) character set utf8 collate utf8_unicode_ci NOT NULL default '', `lm` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `time_change` timestamp NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`), KEY `pt_dt` (`pt`,`dt`), KEY `dt_cid` (`dt`,`cid`), KEY `uid` (`uid`), KEY `cid_dt` (`cid`,`dt`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 |
Автор: | skn [ 16 апр 2015, 18:16 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
выполните Код: ALTER TABLE `contract_payment` DROP COLUMN `time_change`;
ALTER TABLE `contract_payment_deleted` DROP COLUMN `time_change`; |
Автор: | krtvand [ 16 апр 2015, 18:18 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
Спасибо за оперативный ответ! Проблема решена! |
Автор: | stark [ 16 апр 2015, 18:40 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
в следующем обновлении будет исправлено. |
Автор: | Phricker [ 16 апр 2015, 18:53 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
А будет добавлена дата/время удаления платежа? |
Автор: | skn [ 16 апр 2015, 18:58 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
Phricker писал(а): А будет добавлена дата/время удаления платежа? там платеж копируется в другую таблицу, в том числе копируется и поле lm а оно вроде как автоматически БД меняется на текущее, при изменениях (это теоретически ![]() |
Автор: | Phricker [ 16 апр 2015, 19:01 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
Код: mysql> select * from contract_payment where cid = 2;
+----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ | id | dt | cid | pt | uid | summa | comment | lm | time_change | +----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ | 6 | 2015-04-01 | 2 | 1 | 1 | 10.00 | | 2015-04-16 17:00:09 | 0000-00-00 00:00:00 | +----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ 1 row in set (0,00 sec) mysql> mysql> select * from contract_payment_deleted where cid = 2; +----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ | id | dt | cid | pt | uid | summa | comment | lm | time_change | +----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ | 6 | 2015-04-01 | 2 | 1 | 1 | 10.00 | | 2015-04-16 17:00:09 | 0000-00-00 00:00:00 | +----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ 1 row in set (0,00 sec) mysql> |
Автор: | Phricker [ 16 апр 2015, 19:04 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
И пользователя писать который удалил тоже думаю было бы труЪ. А то в примере ниже я занес под userId = 1, а удалил под userId = 2 А потом отдельную форму аля "Менеджер договоров" по просмотру удаленных платежей. Код: mysql> select * from contract_payment where cid = 8;
+----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ | id | dt | cid | pt | uid | summa | comment | lm | time_change | +----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ | 7 | 2015-04-16 | 8 | 1 | 1 | 15.00 | | 2015-04-16 17:02:31 | 0000-00-00 00:00:00 | +----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ 1 row in set (0,00 sec) mysql> select * from contract_payment_deleted where cid = 8; +----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ | id | dt | cid | pt | uid | summa | comment | lm | time_change | +----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ | 7 | 2015-04-16 | 8 | 1 | 1 | 15.00 | | 2015-04-16 17:02:31 | 0000-00-00 00:00:00 | +----+------------+-----+----+-----+-------+---------+---------------------+---------------------+ 1 row in set (0,00 sec) |
Автор: | Phricker [ 16 апр 2015, 19:04 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
![]() ![]() ![]() ![]() |
Автор: | skn [ 16 апр 2015, 19:11 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
печалька, придеться апдейтить поле дополнительным запросом |
Автор: | skn [ 17 апр 2015, 16:46 ] |
Заголовок сообщения: | Re: [6.2] Ошибка при удалении платежа |
добавил, 6.2+ |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |