Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 6.86 KB | None | 0 0
  1. package tr.com.srdc.bi.random
  2.  
  3. import java.sql.Timestamp
  4. import java.util.Random
  5.  
  6. import tr.com.srdc.bi.random.BasvuruVaka.basvuruTable
  7. import tr.com.srdc.bi.random.db.PostgreConnector
  8. import tr.com.srdc.bi.random.util.{GeneralUtil, RandomUtil}
  9. import scala.collection.mutable.Map
  10. /**
  11.   * Created by Enes on 7/13/2017.
  12.   */
  13. object VakaIslem
  14. {
  15.   val BEGIN_INDEX = BasvuruVaka.BEGIN_INDEX + 1000
  16.   val END_INDEX = BasvuruVaka.END_INDEX + 10000
  17.  
  18.   var basvuruVakaTable : List[(String, Timestamp, Timestamp)] = GeneralUtil.getBasvuruVakaTable()
  19.   var basvuruIslemTableHizmet : List[(String, String, String)] = GeneralUtil.getBasvuruIslemTable("Hizmet")
  20.   var basvuruIslemTableIlac : List[(String, String, String)] = GeneralUtil.getBasvuruIslemTable("İlaç")
  21.   var basvuruIslemTableMalzeme : List[(String, String, String)] = GeneralUtil.getBasvuruIslemTable("Malzeme")
  22.  
  23.   // sut_kodu -> (islem_grubu, islem_adi)
  24.   var sutKoduMap = scala.collection.mutable.Map[String, (String, String)]()
  25.  
  26.   def randomIslemGrubu(index : Int) : String =
  27.   {
  28.     if ( index < 19) return "Tahlil"
  29.     if ( index >= 19 && index < 33) return "Diş"
  30.     if ( index >= 33 && index < 41) return "Patoloji"
  31.     if ( index >= 41 && index < 48) return "Radyoloji"
  32.     if ( index >= 48 && index < 66) return "Muayene"
  33.     if ( index >= 66 && index < 71) return "Ameliyat"
  34.     if ( index >= 71 && index < 76) return "Doğum"
  35.     if ( index >= 76 && index < 81) return "Diş Protez"
  36.     if ( index >= 81 && index < 91) return "Konsültasyon"
  37.     else return "Tanı"
  38.   }
  39.  
  40.   def randomVakaIslemTipi() : String =
  41.   {
  42.     val random = new Random().nextInt(basvuruIslemTableMalzeme.length +
  43.       basvuruIslemTableHizmet.length + basvuruIslemTableIlac.length)
  44.  
  45.     if ( random < basvuruIslemTableHizmet.length) return "Hizmet"
  46.     else if ( random < basvuruIslemTableHizmet.length + basvuruIslemTableIlac.length) return "İlaç"
  47.     else return "Malzeme"
  48.   }
  49.  
  50.   def main(args : Array[String]): Unit =
  51.   {
  52.     val connection = PostgreConnector.createConnection()
  53.     val statement  = connection.prepareStatement("INSERT INTO vaka_islem VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
  54.  
  55.  
  56.     (BEGIN_INDEX to END_INDEX).foreach { index =>
  57.  
  58.       println("vaka_islem no " + index + " added")
  59.       val vakaIslemTipi = randomVakaIslemTipi()
  60.  
  61.       statement.setString(1, index.toString)// vaka islem kodu
  62.  
  63.       val basvuru_vaka_kodu = (RandomUtil.randomBetween(BasvuruVaka.BEGIN_INDEX, BasvuruVaka.END_INDEX).toString)
  64.  
  65.       statement.setString(2, basvuru_vaka_kodu )
  66.       statement.setString(3, RandomUtil.randomBetween(101, 226).toString)     // random birim kodu
  67.       statement.setString(4, RandomUtil.randomBetween(9000, 10235).toString)  // random personel kodu
  68.       statement.setString(5, vakaIslemTipi)                                   // random islem tipi
  69.  
  70.       var basvuruVakaBaslangic : Timestamp = null ;
  71.  
  72.       for ( basvuruVaka <- basvuruVakaTable)
  73.       {
  74.         if ( basvuruVaka._1 == basvuru_vaka_kodu)
  75.           basvuruVakaBaslangic = basvuruVaka._2
  76.       }
  77.  
  78.       statement.setTimestamp(6, new Timestamp(basvuruVakaBaslangic.getTime + RandomUtil.randomBetween(600000, 3500000).toLong)) // islem_zamani
  79.  
  80.       var sutKodu : String = null;
  81.  
  82.       if (vakaIslemTipi == "Hizmet")
  83.       {
  84.         val islemHizmetTrio = basvuruIslemTableHizmet(RandomUtil.randomInt(basvuruIslemTableHizmet.length))
  85.  
  86.         if ( (index % 100 >= 19 && index % 100 < 33) || ( index % 100 >= 76 && index % 100 < 81) )
  87.         {
  88.           val sutKoduList = GeneralUtil.getSutKoduList(index)
  89.           sutKodu = sutKoduList(RandomUtil.randomInt(sutKoduList.length)).toString
  90.  
  91.           statement.setString(7, sutKodu.toString)     // sut kodu
  92.         }
  93.         else
  94.         {
  95.           sutKodu = islemHizmetTrio._1
  96.           statement.setString(7, sutKodu)               // sut kodu
  97.         }
  98.         statement.setString(8, "Null")                                                              // barkod
  99.  
  100.         if ( sutKoduMap isDefinedAt sutKodu)
  101.         {
  102.           statement.setString(11, sutKoduMap(sutKodu)._1)
  103.           statement.setString(12, sutKoduMap(sutKodu)._2)
  104.         }
  105.         else
  106.         {
  107.           sutKoduMap += (sutKodu -> (islemHizmetTrio._2, islemHizmetTrio._3))
  108.           statement.setString(11, islemHizmetTrio._2)
  109.           statement.setString(12, islemHizmetTrio._3)
  110.         }
  111.       }
  112.       else if (vakaIslemTipi == "Malzeme")
  113.       {
  114.         val islemMalzemeTrio = basvuruIslemTableMalzeme(RandomUtil.randomInt(basvuruIslemTableMalzeme.length))
  115.  
  116.         if ( (index % 100 >= 19 && index % 100 < 33) || ( index % 100 >= 76 && index % 100 < 81) )
  117.         {
  118.           val sutKoduList = GeneralUtil.getSutKoduList(index)
  119.           sutKodu = sutKoduList(RandomUtil.randomInt(sutKoduList.length)).toString
  120.           statement.setString(7, sutKodu)     // sut kodu
  121.         }
  122.         else
  123.         {
  124.           sutKodu = islemMalzemeTrio._1
  125.           statement.setString(7, islemMalzemeTrio._1)     // sut kodu
  126.         }
  127.         statement.setString(8, RandomUtil.randomBetween(10000000, 23445556).toString)   // barkod
  128.  
  129.  
  130.         if ( sutKoduMap isDefinedAt sutKodu)
  131.         {
  132.           statement.setString(11, sutKoduMap(sutKodu)._1)
  133.           statement.setString(12, sutKoduMap(sutKodu)._2)
  134.         }
  135.         else
  136.         {
  137.           sutKoduMap += (sutKodu -> (islemMalzemeTrio._2, islemMalzemeTrio._3))
  138.           statement.setString(11, islemMalzemeTrio._2)
  139.           statement.setString(12, islemMalzemeTrio._3)
  140.         }
  141.       }
  142.       else if (vakaIslemTipi == "İlaç")
  143.       {
  144.         val islemIlacTrio = basvuruIslemTableIlac(RandomUtil.randomInt(basvuruIslemTableIlac.length))
  145.  
  146.         statement.setString(7, "Null")                                                // sut kodu
  147.         statement.setString(8, RandomUtil.randomBetween(10000000, 23445556).toString) // barkod
  148.  
  149.         statement.setString(11, GeneralUtil.toCamel(islemIlacTrio._2))
  150.         statement.setString(12, GeneralUtil.toCamel(islemIlacTrio._3))
  151.       }
  152.  
  153.       statement.setString(9, RandomUtil.randomBetween(100000, 999999).toString)       // gil kodu
  154.       statement.setInt(10, RandomUtil.randomBetween(10, 101))                         // gil puani
  155.  
  156.       /*
  157.       statement.setString(11, "Islem: " + RandomUtil.randomBetween(1, 7).toString)    // islem adi
  158.       statement.setString(12, randomIslemGrubu(index % 100))                          // islem grubu
  159.       */
  160.       val birim_maliyeti = RandomUtil.randomBetween(10, 100000)
  161.       val adet = RandomUtil.randomBetween(1, 10)
  162.       statement.setInt(13, birim_maliyeti)          // birim maliyeti
  163.       statement.setInt(14, adet)                    // adet
  164.       statement.setInt(15, birim_maliyeti * adet)   // toplam maliyet
  165.  
  166.       statement.addBatch()
  167.     }
  168.  
  169.     statement.executeBatch()
  170.     statement.close()
  171.     connection.close()
  172.   }
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement