Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. function wybierz_zamowienia(zlecenia_page) {
  4.     $('#tabela_body_zamowienia').html('<tr><td colspan="10"><img align="center" src="images/ikony/loading11.gif" /></td></tr>');
  5.     var wartosc_typ_samochodu = $('#zlecenia_typ_samochodu').val();
  6.     var wartosc_typ_licencji = $('#zlecenia_typ_licencji').val();
  7.     var wartosc_zysk_min = $('#zlecenia_zysk_min').val();
  8.     var wartosc_kara_max = $('#zlecenia_kara_max').val();
  9.     var wartosc_odleglosc_max = $('#zlecenia_odleglosc_max').val();
  10.     var wartosc_garaz_docelowy = $('#zlecenia_garaz_docelowy').val();
  11.     var wartosc_miasto_docelowe = $('#zlecenia_miasto_docelowe').val();
  12.     $.post("ajax/1/zlecenia_szukaj.php", {
  13.         samochod: wartosc_typ_samochodu,
  14.         licencja: wartosc_typ_licencji,
  15.         zysk_min: wartosc_zysk_min,
  16.         kara_max: wartosc_kara_max,
  17.         odleglosc_max: wartosc_odleglosc_max,
  18.         miasto_docelowe: wartosc_miasto_docelowe,
  19.         garaz_docelowy: wartosc_garaz_docelowy,
  20.         page: zlecenia_page
  21.     }, function(data) {
  22.         $('#tabela_body_zamowienia').html(data);
  23.         bierzZamowienia()
  24.     }, "html");
  25.  
  26. }
  27. var bierzZamowienia = (() => {
  28.     let limitIlosci
  29.     let aktualnieZebrane = 0
  30.     let czyZbierac = true
  31.     let wybraneDrewno
  32.  
  33.     const RODZAJE_DREWNA = [
  34.         'Bale dębowe',
  35.         'Bale sosnowe',
  36.         'Deski sosnowe',
  37.         'Dluzyca',
  38.         'Drzewo mieszane',
  39.         'Kłody brzozowe',
  40.         'Kłody dębowe',
  41.         'Kłody jesionowe',
  42.         'Kłody sosnowe',
  43.         'Kłody topolowe',
  44.         'Papierowka',
  45.         'Tarcica',
  46.     ]
  47.  
  48.     const modal = document.createElement('div')
  49.  
  50.     const selektorDrewna = document.createElement('select')
  51.     RODZAJE_DREWNA.forEach(rodzaj => {
  52.         const opcjaWyboruDrewna = document.createElement('option')
  53.         opcjaWyboruDrewna.value = rodzaj + ' '
  54.         opcjaWyboruDrewna.innerHTML = rodzaj
  55.         selektorDrewna.appendChild(opcjaWyboruDrewna)
  56.     })
  57.     const labelSelektoruDrewna = document.createElement('h2')
  58.     labelSelektoruDrewna.innerHTML = 'Wybierz tryb drewna'
  59.  
  60.     const przyciskSubmit = document.createElement('button')
  61.     przyciskSubmit.onclick = zapiszDaneOdUzytkownika
  62.     przyciskSubmit.innerHTML = 'Uruchom skrypt Tirówex 2000'
  63.  
  64.     const labelIlosci = document.createElement('h2')
  65.     labelIlosci.innerHTML = 'Wybierz ilość drewna'
  66.  
  67.     const wprowadzLimitIlosci = document.createElement('input')
  68.     wprowadzLimitIlosci.value = 100000
  69.  
  70.  
  71.     modal.appendChild(labelSelektoruDrewna)
  72.     modal.appendChild(selektorDrewna)
  73.     modal.appendChild(labelIlosci)
  74.     modal.appendChild(wprowadzLimitIlosci)
  75.     modal.appendChild(document.createElement('hr'))
  76.     modal.appendChild(przyciskSubmit)
  77.     modal.style.cssText = 'position:absolute; background-color:white; z-index:100000; left:50%; margin-left:-25px;'
  78.  
  79.  
  80.     function zapiszDaneOdUzytkownika() {
  81.         limitIlosci = wprowadzLimitIlosci.value
  82.         wybraneDrewno = selektorDrewna.value
  83.         modal.style.cssText = 'display: none;'
  84.  
  85.         setInterval(() => {
  86.             if (!czyZbierac) return
  87.             console.log('Odświeżanie')
  88.             odswiezZamowienia()
  89.         }, 1000)
  90.     }
  91.  
  92.     function wezIlosc(wiersz) {
  93.         return +Array.from(wiersz)[4].innerHTML.replace(/ /g, '')
  94.     }
  95.    
  96.     function wezZaplata(wiersz) {
  97.         return +Array.from(wiersz)[5].innerHTML.replace(/ /g, '')
  98.     }
  99.    
  100.     function wezPrzycisk(wiersz) {
  101.         return wiersz[10].children[0]
  102.     }
  103.  
  104.     function wezTypDrewna(wiersz) {
  105.         return wiersz[1].children[0]
  106.     }
  107.  
  108.     function czyTypDrewnaSieZgadza(typDrewna) {
  109.         return typDrewna === wybraneDrewno
  110.     }
  111.  
  112.     function czyWziac(stosunek, typDrewna) {
  113.         const ilosc = stosunek[0]
  114.         const zaplata = stosunek[1]
  115.         return (zaplata * 2 > ilosc) && czyTypDrewnaSieZgadza(typDrewna)
  116.     }
  117.    
  118.     function bierzZamowienia() {
  119.         const zamowienia = Array.from(document.getElementById('tabela_body_zamowienia').children)
  120.         const wierszeZamowien = Array.from(zamowienia.map(zamowienie => zamowienie.children))
  121.         const komorkiWierszyZamowien = wierszeZamowien.map(wiersz => Array.from(wiersz))
  122.         const stosunkiIlosciDoZaplat = komorkiWierszyZamowien.map(wiersz => {
  123.             return {
  124.                 ilosc: wezIlosc(wiersz),
  125.                 zaplata: wezZaplata(wiersz),
  126.                 czyOK: czyWziac([wezIlosc(wiersz), wezZaplata(wiersz)], wezTypDrewna(wiersz)),
  127.                 przycisk: wezPrzycisk(wiersz)
  128.             }
  129.         })
  130.        
  131.         const listaBanglujacychZamowien = stosunkiIlosciDoZaplat.filter(stosunek => stosunek.czyOK)
  132.        
  133.         listaBanglujacychZamowien.forEach(zamowienie => {
  134.             if ((aktualnieZebrane + zamowienie.ilosc) > LIMIT_ILOSCI ) {
  135.                 alert('Zebrano planowaną ilość zamówień')
  136.                 czyZbierac = false
  137.             }
  138.             aktualnieZebrane += zamowienie.ilosc
  139.             zamowienie.przycisk.click()
  140.         })
  141.     }
  142.    
  143.     function odswiezZamowienia() {
  144.         document.getElementById('tabela_body_zamowienia').parentElement.children[0].children[0].children[0].children[0].click()
  145.     }
  146.  
  147.     return bierzZamowienia
  148. })()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement