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

index 56db81f214aac1cecf6b5651143b6f1bda13cbf5..bfccf8dd302b27198aff54525731ee70395d8a09 100644 (file)
@@ -1,11 +1,14 @@
-<?
+<?php
+
+global $whereInProductsId, $orderStoresArrayRelation_in, $date_start_division, $data_up;
+
 $day_sales=7*4;
-$data2=$db::getRows("SELECT i.product_id, s.store_id_1c as store_id,sum(if(s.operation='Продажа',i.quantity,0)) as sale_cnt, sum(if(s.operation='Возврат',i.quantity,0)) as vozvr_cnt
+$data2=$db::getRows("SELECT i.product_id, s.store_id_1c as store_id,sum(CASE WHEN s.operation='Продажа' THEN i.quantity ELSE 0 END) as sale_cnt, sum(CASE WHEN s.operation='Возврат' THEN i.quantity ELSE 0 END) as vozvr_cnt
 FROM sales as s, sales_products as i 
 WHERE s.id=i.check_id AND  i.product_id  $whereInProductsId
 
 AND store_id $orderStoresArrayRelation_in
-AND s.date<='$date_start_division 00:00:00' AND s.date>='$date_start_division' -interval $day_sales day group BY i.product_id, s.store_id ");    
+AND s.date<='$date_start_division 00:00:00' AND s.date>='$date_start_division' -interval '$day_sales day' group BY i.product_id, s.store_id ");
   foreach($data2 as $row2) { 
    $cnt=round(($row2["sale_cnt"]-$row2["vozvr_cnt"])/4);
     if(!empty($cnt)) {
index d9fb2adefc1b8966c6464901caca06503459435e..951cf52396d5b2a3d24f9ce2e367b139d3dc5566 100644 (file)
@@ -525,9 +525,9 @@ $value=$FiledsData[$field_name][$productId][$storeId][$color]??'';
   }  
    
   
-$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] ?? 0;
+if(empty($value_title)) $value_title=$FiledsData["title__".$field_name][$productId][$storeId]["NULL"] ?? 0;
+if(empty($value_title)) $value_title=$FiledsData["title__".$field_name][$productId]["NULL"]["NULL"] ?? 0;
 //$value_title=" $field_name $productId $storeId $color ";
   
 if($tip!="string" and $tip!="double" ) $value=round($value);
index 973b56f727280437ff258afa1e738ef5488b567b..0283450eb51575844fe7d6649f6f755906985c81 100644 (file)
@@ -76,7 +76,7 @@ if(!empty($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) ";
-$sql="SELECT id,name_eng,name,name_full FROM store_orders_fields";
+$sql="SELECT id,name_eng,name,name_full FROM store_orders_fields"; // TODO: реализовать сортировку на postgresql
 //var_dump($sql); die;
 $data=$db::getRows($sql);
  // получаем массив с данными по полям из таблицы store_orders_fields_data
@@ -206,7 +206,7 @@ $dostup=$dostup_fields[$row["id"]] ?? '';
 if($dostup=="edit" or $dostup=="show") {   
  $s="";   
 if($fieldsRows[$row["name_eng"]]["row_type_sum"]=="amount")   $s=$rowArraySum[$row["id"]]; 
-if($fieldsRows[$row["name_eng"]]["row_type_sum"]=="avg")   $s=round($rowArraySum[$row["id"]]/$rowArraySum["cnt__".$row["id"]]); 
+if((($rowArraySum["cnt__".$row["id"]] ?? 0) > 0) && $fieldsRows[$row["name_eng"]]["row_type_sum"]=="avg")   $s=round($rowArraySum[$row["id"]]/$rowArraySum["cnt__".$row["id"]]);
   
 echo'<td class="text-center '.$bg.'"><b>'.$s.'</b></td>';
 }