Advertisement
Guest User

Untitled

a guest
Nov 27th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.24 KB | None | 0 0
  1. package helpers;
  2.  
  3. import org.apache.log4j.LogManager;
  4. import org.apache.log4j.Logger;
  5.  
  6. import java.math.BigInteger;
  7. import java.sql.*;
  8.  
  9. public class DbOperations {
  10.     public static final Logger logger = LogManager.getLogger(DbOperations.class);
  11.     private Statement statement;
  12.     private Connection connection;
  13.  
  14.  
  15.     public BigInteger getLastNotificationNumber() {
  16.         BigInteger lastNotificationNumber = null;
  17.         try {
  18.             connection = DriverManager.getConnection("jdbc:sqlserver://172.18.130.7;database=" + getStandName() + "_fks_tender;user=btcs;password=btcs;");
  19.         } catch (SQLException sqlException) {
  20.             logger.fatal(" Не могу подключится к базе!");
  21.             sqlException.printStackTrace();
  22.  
  23.         }
  24.  
  25.         try {
  26.             statement = connection.createStatement();
  27.             ResultSet resultSet = statement.executeQuery("SELECT TOP (1) [Id], [NotificationNumber] FROM [" + getStandName() + "_fks_tender].[dbo].[Trade]  WHERE NotificationNumber > '99999' ORDER BY id DESC");
  28.             String notificationNumber = null;
  29.             while (resultSet.next()) {
  30.                 notificationNumber = resultSet.getString("NotificationNumber");
  31.             }
  32.             if (notificationNumber == null) {
  33.                 logger.fatal(" Не удалось получить номер последнего извещения из БД");
  34.             }
  35.             assert notificationNumber != null;
  36.             lastNotificationNumber = new BigInteger(notificationNumber);
  37.             resultSet.close();
  38.             statement.close();
  39.             connection.close();
  40.         } catch (SQLException sqlException) {
  41.             logger.fatal(" Не могу выполнить запрос!");
  42.             sqlException.printStackTrace();
  43.         }
  44.         return lastNotificationNumber;
  45.     }
  46.  
  47.  
  48.     private String getStandName() {
  49.         String stand = ConfigContainer.getInstance().getSiteUrl();
  50.         if(stand.contains("servicing")) return "servicing";
  51.         else if(stand.contains("trunk")) return "trunk";
  52.         return "stable";
  53.     }
  54.  
  55.     public void setMoneySumByAccountNumber(String accountNumber, String value) {
  56.  
  57.         String standName = getStandName();
  58.  
  59.         try {
  60.             connection = DriverManager.getConnection("jdbc:sqlserver://172.18.130.7;database=" + standName + "_rts_finance;user=btcs;password=btcs;");
  61.             statement = connection.createStatement();
  62.             statement.executeQuery("UPDATE [" + standName + "_rts_finance].[dbo].[Accounts] SET Sum=" + value + " WHERE Number='" + accountNumber + "'");
  63.  
  64.         } catch (Exception e) {
  65.  
  66.             try {
  67.                 ResultSet rs = statement.executeQuery("SELECT Sum FROM [" + standName + "_rts_finance].[dbo].[Accounts] WHERE Number='" + accountNumber + "'");
  68.                 while (rs.next()) {
  69.                     logger.info("-----------------------");
  70.                     logger.info("Изменение счета прошло успешно! Текущая сумма на счете:");
  71.                     logger.info(rs.getString("Sum"));
  72.                     logger.info("-----------------------");
  73.                     logger.info(" ");
  74.                 }
  75.  
  76.                 rs.close();
  77.                 statement.close();
  78.                 connection.close();
  79.  
  80.             } catch (Exception q) {
  81.                 q.printStackTrace();
  82.             }
  83.         }
  84.     }
  85.  
  86.     public void setSecondPartConsiderationDateForTrade(String tradeNumber) {
  87.  
  88.         String standName = getStandName();
  89.         try {
  90.             connection = DriverManager.getConnection("jdbc:sqlserver://172.18.130.7;database=" + standName + "_fks_tender;user=btcs;password=btcs;");
  91.             statement = connection.createStatement();
  92.             statement.execute("update l set l.TenderSecondPartConsiderationDate=GETUTCDATE() from dbo.TradeLot l join Trade t on t.id=l.tradeid and t.NotificationNumber = '" + tradeNumber + "'");
  93.             logger.info(" Ускорение процедуры выполнено успешно!");
  94.         } catch (Exception e) {
  95.             logger.fatal(" Ошибка при ускорении процедуры!");
  96.             e.printStackTrace();
  97.         }
  98.     }
  99.  
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement