]> gitweb.erp-flowers.ru Git - yii-erp24/.git/commitdiff
shipment shipment
authorAlexander Smirnov <fredeom@mail.ru>
Thu, 18 Apr 2024 10:10:54 +0000 (13:10 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Thu, 18 Apr 2024 10:10:54 +0000 (13:10 +0300)
erp24/modul/shipment/divisionStore.php
erp24/modul/shipment/functionsShipment.php
erp24/modul/shipment/shipment.php

index ff202f2a4302d8292548aff576f5fd369a8fd017..9457b522e45bc9f662f2bc5659f318bb335af11f 100644 (file)
@@ -4,6 +4,8 @@ include_once(dirname(__DIR__, 2) . "/inc/db.php");
 include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
 include_once(dirname(__DIR__, 2) . "/inc/design_new.php");
 
+global $orderId;
+
 if(!empty($_REQUEST["id"])) {
 $orderId=(int)$_REQUEST["id"];
 
@@ -30,14 +32,14 @@ if(($OrderData["status"] ?? 0) ==6) {
 ]; 
 
 
-$dateup=$db::getRow("SELECT extract(epoch from date_update) as date_update,   date_update as date_update2
+$sql = "SELECT extract(epoch from date_update) as date_update,   date_update as date_update2
  FROM store_orders_fields_data WHERE 
 order_id=? AND field_name IN ('quantity_zakup_new','division_store_ratio','division_store','division_store_hand','division_store_summ','storehouse_balance_store')
-AND value!=0 order by date_update DESC LIMIT 1",[$orderId]);
-
+AND value!=0 order by date_update DESC LIMIT 1";
+$dateup=$db::getRow($sql,[$orderId]);
 
 
-if($dateup["date_update"] > $_SESSION["date_update_$orderId"])  { 
+if(($dateup["date_update"] ?? 0) > ($_SESSION["date_update_$orderId"] ?? 1))  {
     
 echo"<br> date_update = {$dateup["date_update"]} {$dateup["date_update2"]} последний раз ".$_SESSION["date_update_$orderId"]."";
 echo" пересчет";
@@ -158,7 +160,7 @@ echo"<th>Товар</th>
   foreach($products as $productId=>$nameProduct){
       
       
-  if($FiledsData["quantity_warehouseman_fact"][$productId]["NULL"]["NULL"]>0) {      
+  if(($FiledsData["quantity_warehouseman_fact"][$productId]["NULL"]["NULL"] ?? 0)>0) {
   
    echo'<tr id="tr__'.$productId.'" class="trproduct">
     <td class="td_product producted">
@@ -166,10 +168,10 @@ echo"<th>Товар</th>
     
     <a class="btn btn-sm btn-info" href="/shipment/productStoresSort/?product_id='.$productId.'" target=new>s</a>
     </td>
-    <td class="tdinf0">'.intval($FiledsData["min_lot"][$productId]["NULL"]["NULL"]).'</td>
-     <td class="tdinf0">'.intval($FiledsData["quantity_zakup_new"][$productId]["NULL"]["NULL"]).'</td>  
+    <td class="tdinf0">'.intval($FiledsData["min_lot"][$productId]["NULL"]["NULL"] ?? 0).'</td>
+     <td class="tdinf0">'.intval($FiledsData["quantity_zakup_new"][$productId]["NULL"]["NULL"] ?? 0).'</td>  
      <td class="tdinf0 tdinf_fact">'.intval($FiledsData["quantity_warehouseman_fact"][$productId]["NULL"]["NULL"]).'</td>  
-     <td class="tdinf0">'.round($FiledsData["division_store_ratio"][$productId]["NULL"]["NULL"],2).'</td>   
+     <td class="tdinf0">'.round($FiledsData["division_store_ratio"][$productId]["NULL"]["NULL"] ?? 0,2).'</td>   
     
     ';    
 $divisionCnt=0;    
@@ -211,28 +213,28 @@ $divisionCnt=0;
 <span class="btn btn-sm btn-info" onclick="ajaxDivisionAutoHandStart(\''.$productId.'\')">@</span></td><td>'.intval($divisionCnt).'</td>';
     echo'<td>'.intval($FiledsData["quantity_warehouseman_fact"][$productId]["NULL"]["NULL"]).'</td>';
      $r2=$FiledsData["quantity_warehouseman_fact"][$productId]["NULL"]["NULL"]-$divisionCnt;
-    echo'<td '; if($r2!=0) echo' class="bg-danger"'; echo'>'.(int)$FiledsData["storehouse_balance_store"][$productId]["NULL"]["NULL"].'</td>';
+    echo'<td '; if($r2!=0) echo' class="bg-danger"'; echo'>'.(int)($FiledsData["storehouse_balance_store"][$productId]["NULL"]["NULL"] ?? 0).'</td>';
      
  echo" </tr>";
    $colorsCnt=0;
 
 
     $colorAllSumm=0;  $colorAllFact=0;
-     foreach($productsColorsArray[$productId] as $color) {
+     foreach($productsColorsArray[$productId] ?? [] as $color) {
           $divisionCnt=0;  
           
           
-         if($FiledsData["quantity_warehouseman_fact"][$productId]["NULL"][$color]>0) {
+         if(($FiledsData["quantity_warehouseman_fact"][$productId]["NULL"][$color] ?? 0)>0) {
           $colorsCnt++;
-              $colorAllSumm +=(int)$FiledsData["quantity_zakup_new"][$productId]["NULL"][$color];
-              $colorAllFact +=(int)$FiledsData["quantity_warehouseman_fact"][$productId]["NULL"][$color];
+              $colorAllSumm +=(int)($FiledsData["quantity_zakup_new"][$productId]["NULL"][$color] ?? 0);
+              $colorAllFact +=(int)($FiledsData["quantity_warehouseman_fact"][$productId]["NULL"][$color] ?? 0);
            echo'<tr id="tr__'.$productId.'_color_'.md5($color).'" class="tr_product">
         <td class="td_color">
        '.$color.'</td>
-       <td class="tdinf">'.intval($FiledsData["min_lot"][$productId]["NULL"]["NULL"]).'</td>
-    <td class="tdinf">'.intval($FiledsData["quantity_zakup_new"][$productId]["NULL"][$color]).'</td>   
-    <td class="tdinf tdinf_fact">'.intval($FiledsData["quantity_warehouseman_fact"][$productId]["NULL"][$color]).'</td>  
-    <td class="tdinf">'.round($FiledsData["division_store_ratio"][$productId]["NULL"][$color],2).'</td>   ';     
+       <td class="tdinf">'.intval($FiledsData["min_lot"][$productId]["NULL"]["NULL"] ?? 0).'</td>
+    <td class="tdinf">'.intval($FiledsData["quantity_zakup_new"][$productId]["NULL"][$color] ?? 0).'</td>   
+    <td class="tdinf tdinf_fact">'.intval($FiledsData["quantity_warehouseman_fact"][$productId]["NULL"][$color] ?? 0).'</td>  
+    <td class="tdinf">'.round($FiledsData["division_store_ratio"][$productId]["NULL"][$color] ?? 0,2).'</td>   ';
         foreach($storeOrderArray as $storeId=>$namestore){
             
       // $newColorInt=$colorData[$productId][$storeId][$colorName]-abs($newHand[$storeId]);
@@ -266,7 +268,7 @@ $divisionCnt=0;
      $r2=$FiledsData["quantity_warehouseman_fact"][$productId]["NULL"][$color]-$divisionCnt;
     echo'<td '; if($r2!=0) echo' class="bg-danger"'; echo'>
         
-        '.(int)$FiledsData["storehouse_balance_store"][$productId]["NULL"][$color].' </td>';      
+        '.(int)($FiledsData["storehouse_balance_store"][$productId]["NULL"][$color] ?? 0).' </td>';
        // ('.(int)$FiledsData["quantity_warehouseman_fact"][$productId]["NULL"][$color].' - '.(int)$FiledsData["division_store_summ"][$productId]["NULL"][$color].'   ( '.(int)$FiledsData["division_store"][$productId]["NULL"][$color].' + '.(int)$FiledsData["division_store_hand"][$productId]["NULL"][$color].')
        
  
@@ -279,10 +281,10 @@ $divisionCnt=0;
      echo'<tr>
         <td class="td_product producted">
        остаток по цветам</td>
-       <td>'.intval($FiledsData["min_lot"][$productId]["NULL"]["NULL"]).'</td>';
+       <td>'.intval($FiledsData["min_lot"][$productId]["NULL"]["NULL"] ?? 0).'</td>';
        
-              $ostcolor=$FiledsData["quantity_zakup_new"][$productId]["NULL"]["NULL"]-$colorAllSumm;
-              $ostf=$FiledsData["quantity_warehouseman_fact"][$productId]["NULL"]["NULL"]-$colorAllFact;
+              $ostcolor=($FiledsData["quantity_zakup_new"][$productId]["NULL"]["NULL"] ?? 0)-$colorAllSumm;
+              $ostf=($FiledsData["quantity_warehouseman_fact"][$productId]["NULL"]["NULL"] ?? 0)-$colorAllFact;
        echo'<td class="';
  if($ostcolor==0) echo'bg-success';
  elseif($ostcolor>0) echo'bg-indigo'; 
@@ -323,7 +325,7 @@ $divisionCnt=0;
 echo"</tbody></table></div>";
 
 
-$_CONFIG["jscss"] .='
+$_CONFIG["jscss"] ='
 <script>';
 
 
@@ -481,10 +483,10 @@ input.editColor{width:auto;max-width:70px;}
 
   } else mess("Статус не деление");
  } else mess("Укажите ID закупки");
 
-include"templates/bottom.php"; 
+
+
+
+include_once dirname(__DIR__, 2) . '/templates/bottom_light.php';
 
 
index a7362e2997cf9465e580f6d43fc46cc390c1ca01..d9fb2adefc1b8966c6464901caca06503459435e 100644 (file)
@@ -157,10 +157,14 @@ $k=0;
 foreach($providersIdInThisOrder ?? [] as $pid) { if($k!=0) $whereProvidersId .=","; $whereProvidersId .="'$pid'"; $k++; }
 
 $whereInProductsId=" in (";
-$z = "SELECT p.id, p.name, o.provider_id, o.price_zakup, p.parent_id, o.shipments_group_id FROM products_1c_options as o INNER JOIN products_1c as p 
+if (!empty($whereProvidersId)) {
+    $z = "SELECT p.id, p.name, o.provider_id, o.price_zakup, p.parent_id, o.shipments_group_id FROM products_1c_options as o INNER JOIN products_1c as p 
 ON o.provider_id in($whereProvidersId) AND p.id=o.id order by o.provider_id ASC, p.name ASC";
-//var_dump($z); die;
-$data2 = $db::getRows($z);
+//    var_dump($whereProvidersId);    die;
+    $data2 = $db::getRows($z);
+} else {
+    $data2 = [];
+}
 
 $k=0;
  foreach($data2 as $row) { 
@@ -509,7 +513,7 @@ global $FiledsData, $fieldsRows, $orderId;
  ) {$storeId="NULL"; $color=$colorFirst;  }
   
 
- $value=$FiledsData[$field_name][$productId][$storeId][$color];  
+$value=$FiledsData[$field_name][$productId][$storeId][$color]??'';
  
 //$value=$field_name;
  $tip=$fieldsRows[$field_name]["tip"];  
@@ -521,9 +525,9 @@ global $FiledsData, $fieldsRows, $orderId;
   }  
    
   
-$value_title=$FiledsData["title__".$field_name][$productId][$storeId][$color];
-if(empty($value_title)) $value_title=$FiledsData["title__".$field_name][$productId][$storeId]["NULL"];
-if(empty($value_title)) $value_title=$FiledsData["title__".$field_name][$productId]["NULL"]["NULL"];
+$value_title=$FiledsData["title__".$field_name][$productId][$storeId][$color] ?? '';
+if(empty($value_title)) $value_title=$FiledsData["title__".$field_name][$productId][$storeId]["NULL"] ?? '';
+if(empty($value_title)) $value_title=$FiledsData["title__".$field_name][$productId]["NULL"]["NULL"] ?? '';
 //$value_title=" $field_name $productId $storeId $color ";
   
 if($tip!="string" and $tip!="double" ) $value=round($value);
@@ -641,9 +645,9 @@ if($dostup=="edit" or $dostup=="show") {
      $value_title=$valueArray["title"]; 
 
 if(empty($color)) {
-if($fieldsRows[$fieldName]["row_type_sum"]=="sum") $rowArraySum[$fieldId] +=$value;
-if($fieldsRows[$fieldName]["row_type_sum"]=="avg") { $rowArraySum[$fieldId] +=$value; $rowArraySum["cnt__".$fieldId]++;  }
-if($fieldsRows[$fieldName]["row_type_sum"]=="amount") { $rowArraySum[$fieldId] +=$value;   }
+if($fieldsRows[$fieldName]["row_type_sum"]=="sum") $rowArraySum[$fieldId] = ($rowArraySum[$fieldId] ?? 0) + $value;
+if($fieldsRows[$fieldName]["row_type_sum"]=="avg") { $rowArraySum[$fieldId] = ($rowArraySum[$fieldId] ?? 0) + $value; @$rowArraySum["cnt__".$fieldId]++;  }
+if($fieldsRows[$fieldName]["row_type_sum"]=="amount") { $rowArraySum[$fieldId] = ($rowArraySum[$fieldId] ?? 0) + $value;   }
 }
  
 
index 6a0c515e6c4edc92290c6e36c24c25e417c18a7c..973b56f727280437ff258afa1e738ef5488b567b 100644 (file)
@@ -4,6 +4,9 @@ include_once(dirname(__DIR__, 2) . "/inc/db.php");
 include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
 include_once(dirname(__DIR__, 2) . "/inc/design_new.php");
 
+global $orderId, $act;
+
+$act = 'shipment';
 
 $time = strtotime('this week monday, 00:00');  // текущий понедельник  в формате unixtimestamp
 $date2=date('Y-m-d 23:59:59', $time);  // текущий понедельник
@@ -72,8 +75,10 @@ if(!empty($group_id)) {
 //$sort=$db::getValue("SELECT fields_sort FROM store_orders_fields_sort WHERE group_id=?",[$group_id]);
 
 $sort=$db::getValue("SELECT fields_sort FROM store_orders_statuses WHERE id=?",[$status_order_id]);
-if(!empty($sort)) $sort="ORDER BY      FIELD(`id`, $sort) ";
-$data=$db::getRows("SELECT id,name_eng,name,name_full FROM store_orders_fields  $sort");
+if(!empty($sort)) $sort="ORDER BY      FIELD(`id`, $sort) ";
+$sql="SELECT id,name_eng,name,name_full FROM store_orders_fields";
+//var_dump($sql); die;
+$data=$db::getRows($sql);
  // получаем массив с данными по полям из таблицы store_orders_fields_data
 $FiledsData=getDataFiledsData($orderId);
  
@@ -141,12 +146,12 @@ if(!$ProductsOptions[$pid]["shipments_group_id"]) echo"*";
 //узнаем категорибю товара
 $categoryId=$ProductsOptions[$pid]["parent_id"];
 // по категории узнаем тип товара горшечка или упаковка
-$tip=$products_class[$categoryId];
+$tip=$products_class[$categoryId] ?? '';
 
 
 
-if(count($productsColorsArray[$pid])>0) echo'<span onclick="$(\'.trcolors_'.$pid.'\').toggle();" class="btn btn-sm btn-success">+ цвета</span>';
-echo'<input type=hidden name=provider_id['.$pid.'] value="'.$prov[$pid].'">';
+if(count($productsColorsArray[$pid] ?? [])>0) echo'<span onclick="$(\'.trcolors_'.$pid.'\').toggle();" class="btn btn-sm btn-success">+ цвета</span>';
+echo'<input type=hidden name=provider_id['.$pid.'] value="'.($prov[$pid]??'').'">';
 echo'</td>';
 
 foreach($data as $row)   printFieldTd($row["name_eng"],$pid,$store_id); 
@@ -156,7 +161,7 @@ echo'</tr>';
 
 //begin colors
 
-foreach($productsColorsArray[$pid] as $color) {
+foreach($productsColorsArray[$pid] ?? [] as $color) {
   $color=trim($color);    
    if(!empty($color))  { 
       echo'<tr class="trcolors trcolors_'.$pid.' bg-gray-300" style="display:none;">