示例#1
0
 function C_REPORT(&$My_POST, &$DB, $XML_Variants, $grup)
 {
     global $lang;
     global $translate;
     if ($lang != "RUS") {
         $lang = "LAT";
     }
     $this->XML_Variants = $XML_Variants;
     $this->sugas = gAtskaite::$sugas;
     $this->MyPOST = $My_POST;
     $this->grup = $grup;
     if (strrpos($this->MyPOST['pavadzime'], "KRVII") === false) {
         $this->braki = gAtskaite::$VIKA_braki;
         gAtskaite::$LVM_braki = gAtskaite::$VIKA_LVM_braki;
     } else {
         $this->braki = gAtskaite::$braki;
     }
     $this->XMLVARS();
     $this->SetParam();
     $this->mtipi['auto'] = $translate['auto_nr2'][$lang];
     $this->mtipi['brakis'] = $translate['brakis'][$lang];
     $this->mtipi['cenu_matrica'] = $translate['cenu_matrica2'][$lang];
     $this->mtipi['kad_piegad'] = $translate['datums2'][$lang];
     $this->mtipi['mind_pirms_red'] = $translate['diametrs2'][$lang];
     $this->mtipi['fsc'] = $translate['fsc2'][$lang];
     $this->mtipi['garums'] = $translate['garums2'][$lang];
     $this->mtipi['kravas_id'] = $translate['kravas_id2'][$lang];
     $this->mtipi['pavadzime.pavadzime'] = $translate['pavadzime2'][$lang];
     $this->mtipi['piegad_kods'] = $translate['piegadatajs2'][$lang];
     $this->mtipi['soferis'] = $translate['soferis2'][$lang];
     $this->mtipi['suga'] = $translate['suga2'][$lang];
     $this->mtipi['skira'] = $translate['skira2'][$lang];
     $this->mtipi['iecirknis'] = $translate['iecirknis2'][$lang];
     if ($_SERVER['REQUEST_METHOD'] == 'POST' && $this->XML_Variants) {
         if (trim($this->MyPOST['pieg_lig_num']) == '') {
             $this->ERRORS .= "Nav norādīts PIEGĀDES LĪGUMA numurs!<br><br>";
         }
         if (trim($this->MyPOST['pavadzime']) != '') {
             if (!GetFromPavadzime($this->MyPOST['pavadzime'], 'pavadzime')) {
                 $this->ERRORS .= "Norādīts NEEKSISTĒJOŠS PAVADZĪMES numurs!<br><br>";
             }
         } else {
             $this->ERRORS .= "Nav norādīts PAVADZĪMES numurs!<br><br>";
         }
     }
     if ($this->MyPOST[subm] && !$this->ERRORS) {
         // --------------------cik grup??anas l?me?i izmantoti ----------------------------
         $this->lsk = 0;
         while ($this->MyPOST["gtype" . $this->grup . ($this->lsk + 1)] != '') {
             $this->lsk++;
         }
         // --------------------cik grup??anas l?me?i izmantoti ----------------------------
         // Pārbauda vai nav vairāku pavazdīmju ar šādu numuru
         if ($this->MyPOST['pavadzime'] && !$this->MyPOST[pavadzime_id]) {
             $pav_test_query = "select count(*) as x from pavadzime where pavadzime = '" . trim($this->MyPOST['pavadzime']) . "'";
             if ($this->MyPOST[datums_no] != '') {
                 $pav_test_query = $pav_test_query . " and kad_piegad >= '" . $this->MyPOST[datums_no] . "' ";
             }
             if ($this->MyPOST[datums_lidz] != '') {
                 $pav_test_query = $pav_test_query . " and kad_piegad <= '" . $this->MyPOST[datums_lidz] . "' ";
             }
             $r = mysql_query($pav_test_query);
             if ($m = mysql_fetch_array($r)) {
                 if ($m[x] > 1) {
                     $this->ERRORS .= "<font color=red>Eksistē " . $m[x] . " pavadzīmes ar numuru " . $this->MyPOST['pavadzime'] . "!</font><br><br>";
                 }
             }
         }
         //$query = " from balkis,pavadzime where balkis.pavadzime = pavadzime.id ";
         if ($this->MyPOST[datums_no_diena] != '' || $this->MyPOST[pavadzime_id]) {
             //
             $query = " from balkis_temp INNER JOIN pavadzime ON balkis_temp.pavadzime = pavadzime.id WHERE 1=1 ";
         } else {
             $query = " from balkis INNER JOIN pavadzime ON balkis.pavadzime = pavadzime.id WHERE 1=1 ";
         }
         // nosac?jumi
         if ($this->MyPOST[datums_no_diena] != '') {
             $query = $query . " and kad_piegad >= '" . $this->MyPOST[datums_no_gads] . "-" . $this->MyPOST[datums_no_menesis] . "-" . $this->MyPOST[datums_no_diena] . "' ";
         }
         if ($this->MyPOST[datums_lidz_diena] != '') {
             $query = $query . " and kad_piegad <= '" . $this->MyPOST[datums_lidz_gads] . "-" . $this->MyPOST[datums_lidz_menesis] . "-" . $this->MyPOST[datums_lidz_diena] . "' ";
         }
         if ($this->MyPOST[piegad_grupa]) {
             $query = $query . " and pavadzime.piegad_grupa like '" . $this->MyPOST[piegad_grupa] . "%'";
         }
         if ($this->MyPOST[piegadataju_kods]) {
             $query = $query . " and pavadzime.piegadataju_kods = " . $this->MyPOST[piegadataju_kods];
         }
         if ($this->MyPOST[pavadzime]) {
             $query = $query . " and pavadzime.pavadzime = '" . $this->MyPOST[pavadzime] . "'";
         }
         if ($this->MyPOST[pavadzime_id]) {
             $query = $query . " and pavadzime.id = '" . $this->MyPOST[pavadzime_id] . "'";
         }
         if ($this->MyPOST[suga] != '') {
             $query = $query . " and suga = '" . $this->MyPOST[suga] . "'";
         }
         if ($this->MyPOST[cirsmas_kods] != '') {
             $query = $query . " and cirsmas_kods like '" . $this->MyPOST[cirsmas_kods] . "'";
         }
         if ($this->MyPOST[brakis] != '') {
             $query = $query . " and brakis = '" . $this->MyPOST[brakis] . "'";
         }
         if ($this->MyPOST[fsc] != '') {
             $query = $query . " and fsc = '" . $this->MyPOST[fsc] . "'";
         }
         if ($this->MyPOST[kravas_id]) {
             $query = $query . " and kravas_id = '" . $this->MyPOST[kravas_id] . "'";
         }
         if ($this->MyPOST[auto]) {
             $query = $query . " and auto = '" . $this->MyPOST[auto] . "'";
         }
         if ($this->MyPOST[soferis]) {
             $query = $query . " and soferis = '" . $this->MyPOST[soferis] . "'";
         }
         if ($this->MyPOST[cenu_matrica]) {
             $query = $query . " and cenu_matrica = '" . $this->MyPOST[cenu_matrica] . "'";
         }
         if ($this->MyPOST[skira]) {
             $query = $query . " and skira = '" . $this->MyPOST[skira] . "'";
         }
         if (trim($this->MyPOST['batch_fails']) != '') {
             $query = $query . " and batch_fails in(" . $this->MyPOST[batch_fails] . ")";
         }
         if (trim($this->MyPOST['iecirknis_pieg']) != '') {
             $query = $query . " and LOWER(iecirknis_pieg)=LOWER('" . trim($this->MyPOST['iecirknis_pieg']) . "')";
         }
         $query2 = str_replace("balkis_temp", "balkis", $query);
         if ($this->MyPOST[datums_no_diena] != '') {
             mysql_query("DELETE FROM balkis_temp");
             mysql_query("INSERT INTO balkis_temp (SELECT balkis.* " . $query2 . ")");
             $query = " from balkis_temp INNER JOIN pavadzime ON balkis_temp.pavadzime = pavadzime.id WHERE 1=1 ";
         }
         if ($this->MyPOST[pavadzime]) {
             mysql_query("DELETE FROM balkis_temp");
             mysql_query("INSERT INTO balkis_temp (SELECT balkis.* " . $query2 . ")");
             $query = " from balkis_temp INNER JOIN pavadzime ON balkis_temp.pavadzime = pavadzime.id WHERE 1=1 ";
         }
         $rtest = mysql_query("select count(*) as x " . $query);
         if ($m = mysql_fetch_array($rtest)) {
             if ($m[x] > 1) {
                 $correct_count = $m[x];
             } else {
                 $correct_count = 0;
             }
         }
         $this->arr[-1] = array();
         // izejas masīva headeri
         if ($this->XML_Variants) {
             $diam__ = false;
             // p?rbaudei vai vajadz?g?s grup??anas XML atskaitei iesl?gtas
             $gar__ = false;
         }
         // pirmās kolonnas atskaitei ko izvēlējies lietotājs
         //var_dump($this->MyPOST);
         //print_r($this->MyPOST);
         for ($i = 0; $i < $this->lsk; $i++) {
             $this->arr[-1][$i] = $this->mtipi[$this->MyPOST["gtype" . $this->grup . ($i + 1)]];
             if ($this->XML_Variants) {
                 //echo "<br>gtype".($i+1)." gvalues".($i+1)." gvalues".($i+1)."_1"." gvalues".($i+1)."_2";
                 $this->arr[-1][$i] = $this->MyPOST["gtype" . $this->grup . ($i + 1)];
                 if ($this->MyPOST["gtype" . $this->grup . ($i + 1)] == 'mind_pirms_red') {
                     //echo '****************mind_pirms_red*************';
                     $this->MyPOST["gvalues" . $this->grup . ($i + 1)] = LVM_distribution($this->MyPOST["gvalues" . $this->grup . ($i + 1)]);
                     $this->MyPOST["gvalues" . $this->grup . ($i + 1) . "_1"] = LVM_distribution($this->MyPOST["gvalues" . $this->grup . ($i + 1) . "_1"], 1);
                     $this->MyPOST["gvalues" . $this->grup . ($i + 1) . "_2"] = LVM_distribution($this->MyPOST["gvalues" . $this->grup . ($i + 1) . "_2"], 2);
                     //echo "<br> IN mind_pirms_red "."gtype".($i+1)."invalue [".(($this->MyPOST["gvalues".($i+1)]) || ($this->MyPOST["gvalues".($i+1)."_1"]) || ($this->MyPOST["gvalues".($i+1)."_2]"]))."]";
                     if ($this->MyPOST["gvalues" . $this->grup . ($i + 1)] || $this->MyPOST["gvalues" . $this->grup . ($i + 1) . "_1"] || $this->MyPOST["gvalues" . $this->grup . ($i + 1) . "_2"]) {
                         //echo "<br> IN "."gvalues".($i+1);
                         $diam__ = true;
                     }
                 }
                 if ($this->MyPOST["gtype" . $this->grup . ($i + 1)] == 'garums') {
                     $gar__ = true;
                 }
                 if ($this->MyPOST["gtype" . $this->grup . ($i + 1)] == 'brakis') {
                     $brak__ = true;
                 }
             } else {
                 if ($this->MyPOST["gtype" . $this->grup . ($i + 1)] == "pavadzime.pavadzime") {
                     $this->arr[-1][$i] = $this->mtipi['pavadzime.pavadzime'];
                 }
                 //kaut k?ds exception
             }
         }
         //print_r($this->MyPOST);
         // pēdējās kolonnas kas visām atskaitēm vienādas
         $this->arr[-1][$i] = $translate['skaits'][$lang];
         $i++;
         $this->arr[-1][$i] = $translate['bruto'][$lang] . " m3";
         $i++;
         $this->arr[-1][$i] = $translate['virsmers'][$lang] . " m3";
         $i++;
         $this->arr[-1][$i] = $translate['redukcija'][$lang] . " m3";
         $i++;
         $this->arr[-1][$i] = $translate['brakis'][$lang] . " m3";
         $i++;
         $this->arr[-1][$i] = $translate['neto'][$lang] . " m3";
         $i++;
         // $i - tagad kolonnu skaits //
         //$this->arr[-1] - kolonnu nosaukumi un izvad?m? inform?cija atskait? v?l?k.
         $this->rowclosed = true;
         $summa = new CSumma();
         $this->arr_index = 0;
         // $query - satur nosac?jumus,kas jaliek gala katram selektam, nosacijumi izveidoti no formas Nosacijumiem
         if (!$this->ERRORS) {
             // rekurs?v?s funkcijas izsaukums
             $this->print_level($query, $summa, false, 0, '');
         }
         // kopsumma
         ++$this->arr_index;
         $this->arr[$this->arr_index] = array();
         $this->arr[$this->arr_index][-1] = $translate['v_kopa'][$lang];
         $this->arr[$this->arr_index][summa] = $summa;
         if ($this->XML_Variants) {
             if (!$gar__) {
                 $this->ERRORS .= "Kļūda! Netiek izmantota grupēšana pēc GARUMA!<br><br>";
             }
             if (!$diam__) {
                 $this->ERRORS .= "Kļūda! Netiek izmantota grupēšana pēc DIAMETRA vai arī garuma intervālu robežas neatbilst standartam!<br><br>";
             }
             if (!$brak__) {
                 $this->ERRORS .= "Kļūda! Netiek izmantota grupēšana pēc BRĀĶA!<br><br>";
             }
             //labots sakarā ar vairākām grupēšanām XML atskaitē
             $this->arr[$this->arr_index][correct_count] = $correct_count;
             //if ($correct_count != $summa->skaits) $this->ERRORS.= "Kļūda grupēšanā! Sagrupēti ".(int)$summa->skaits." baļķi no $correct_count.<br><br>";
         }
     }
     //$this->ErrorCheck(); //
     if ($this->ERRORS) {
         return false;
     }
 }