Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package helpers;
- import org.apache.log4j.LogManager;
- import org.apache.log4j.Logger;
- import java.math.BigInteger;
- import java.sql.*;
- public class DbOperations {
- public static final Logger logger = LogManager.getLogger(DbOperations.class);
- private Statement statement;
- private Connection connection;
- public BigInteger getLastNotificationNumber() {
- BigInteger lastNotificationNumber = null;
- try {
- connection = DriverManager.getConnection("jdbc:sqlserver://172.18.130.7;database=" + getStandName() + "_fks_tender;user=btcs;password=btcs;");
- } catch (SQLException sqlException) {
- logger.fatal(" Не могу подключится к базе!");
- sqlException.printStackTrace();
- }
- try {
- statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery("SELECT TOP (1) [Id], [NotificationNumber] FROM [" + getStandName() + "_fks_tender].[dbo].[Trade] WHERE NotificationNumber > '99999' ORDER BY id DESC");
- String notificationNumber = null;
- while (resultSet.next()) {
- notificationNumber = resultSet.getString("NotificationNumber");
- }
- if (notificationNumber == null) {
- logger.fatal(" Не удалось получить номер последнего извещения из БД");
- }
- assert notificationNumber != null;
- lastNotificationNumber = new BigInteger(notificationNumber);
- resultSet.close();
- statement.close();
- connection.close();
- } catch (SQLException sqlException) {
- logger.fatal(" Не могу выполнить запрос!");
- sqlException.printStackTrace();
- }
- return lastNotificationNumber;
- }
- private String getStandName() {
- String stand = ConfigContainer.getInstance().getSiteUrl();
- if(stand.contains("servicing")) return "servicing";
- else if(stand.contains("trunk")) return "trunk";
- return "stable";
- }
- public void setMoneySumByAccountNumber(String accountNumber, String value) {
- String standName = getStandName();
- try {
- connection = DriverManager.getConnection("jdbc:sqlserver://172.18.130.7;database=" + standName + "_rts_finance;user=btcs;password=btcs;");
- statement = connection.createStatement();
- statement.executeQuery("UPDATE [" + standName + "_rts_finance].[dbo].[Accounts] SET Sum=" + value + " WHERE Number='" + accountNumber + "'");
- } catch (Exception e) {
- try {
- ResultSet rs = statement.executeQuery("SELECT Sum FROM [" + standName + "_rts_finance].[dbo].[Accounts] WHERE Number='" + accountNumber + "'");
- while (rs.next()) {
- logger.info("-----------------------");
- logger.info("Изменение счета прошло успешно! Текущая сумма на счете:");
- logger.info(rs.getString("Sum"));
- logger.info("-----------------------");
- logger.info(" ");
- }
- rs.close();
- statement.close();
- connection.close();
- } catch (Exception q) {
- q.printStackTrace();
- }
- }
- }
- public void setSecondPartConsiderationDateForTrade(String tradeNumber) {
- String standName = getStandName();
- try {
- connection = DriverManager.getConnection("jdbc:sqlserver://172.18.130.7;database=" + standName + "_fks_tender;user=btcs;password=btcs;");
- statement = connection.createStatement();
- statement.execute("update l set l.TenderSecondPartConsiderationDate=GETUTCDATE() from dbo.TradeLot l join Trade t on t.id=l.tradeid and t.NotificationNumber = '" + tradeNumber + "'");
- logger.info(" Ускорение процедуры выполнено успешно!");
- } catch (Exception e) {
- logger.fatal(" Ошибка при ускорении процедуры!");
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement