stark писал(а):
И еще включите режим debug в log4j и тогда в логах при начислении будет что-то типа вот этого
Цитата:
Add cost cache cid: 354037; sid: 79; cost: 227016.77419354838709677419354838706
Покажите какой там cost . Скорее всего правильный .
Спасибо за наводку куда копать, я что то про дебаг и не подумал, надо было посмотреть шедулер - как он считает, да.
Обновился вчера под конец рабочего дня. Сейчас сделал откат и проверил. И в новой и в старой версии счиалось правильно.
07-06/17:27:43 DEBUG [pool-1-thread-1] Calculator - Add cost cache cid: 9734; sid: 1; cost: 1133822.66666666666666666666666666657
07-06/17:27:43 DEBUG [pool-1-thread-1] Calculator - Add detail amount cache cid: 9734; sid: 1; mid: 5; eid: 0; cost: 1133822.6666666667
А вот похоже проблема была с табличкой все-таки.
Сейчас:
Код:
contract_account | CREATE TABLE `contract_account` (
`yy` smallint(5) unsigned NOT NULL DEFAULT '0',
`mm` tinyint(3) unsigned NOT NULL DEFAULT '0',
`cid` int(10) unsigned NOT NULL DEFAULT '0',
`sid` int(10) unsigned NOT NULL DEFAULT '0',
`summa` decimal(15,5) DEFAULT NULL,
PRIMARY KEY (`yy`,`mm`,`cid`,`sid`),
KEY `cid` (`cid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 |
А было (откатился и проверил):
Код:
| contract_account | CREATE TABLE `contract_account` (
`yy` smallint(5) unsigned NOT NULL DEFAULT '0',
`mm` tinyint(3) unsigned NOT NULL DEFAULT '0',
`cid` int(10) unsigned NOT NULL DEFAULT '0',
`sid` int(10) unsigned NOT NULL DEFAULT '0',
`summa` float(15,5) DEFAULT NULL,
PRIMARY KEY (`yy`,`mm`,`cid`,`sid`),
KEY `cid` (`cid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 |
Поле сумма было флоат, а после обновления - децимал. Ошибку убрало.