]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
move shipment shipment from old to new
authorAlexander Smirnov <fredeom@mail.ru>
Tue, 16 Apr 2024 14:31:05 +0000 (17:31 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Tue, 16 Apr 2024 14:31:05 +0000 (17:31 +0300)
erp24/controllers/ShipmentController.php
erp24/modul/shipment/functionsShipment.php
erp24/modul/shipment/shipment.php
erp24/modul/shipment/storeOrders.php
erp24/views/shipment/shipment.php [new file with mode: 0644]
erp24/views/shipment/store-orders.php [new file with mode: 0644]

index 1419c53e2b452db846fcd458738f82d92069f146..62a22a31b89ef3d6fdbfdd01431098242e463bc8 100755 (executable)
@@ -13,4 +13,7 @@ class ShipmentController extends Controller
     }
 
     public function actionIndex() { return $this->render('index'); }
+
+    public function actionStoreOrders() { return $this->render('store-orders'); }
+    public function actionShipment() { return $this->render('shipment'); }
 }
\ No newline at end of file
index 5413558a9bdfaee191e8a4385ce6ba95e50afe77..435d20daa07b0dc62c3a41441459f14c3a15b59a 100644 (file)
@@ -93,7 +93,7 @@ $status_edit_dostup[$row["id"]]=json_decode($row["status_edit_dostup"],true,512,
 
 
  // достаем поля в массив
-$data=$db::getRows("SELECT * FROM store_orders_fields WHERE 1 order by position ASC"); 
+$data=$db::getRows("SELECT * FROM store_orders_fields WHERE 1=1 order by position ASC");
 foreach($data as $row) { 
     $fieldsRows[$row["name_eng"]]=$row;
    // $fieldsRows[$row["name_eng"]]["property"]=$fieldsPropertyArray[$row["id"]];   
@@ -105,20 +105,21 @@ foreach($data as $row) {
 
 
 // данные по закупке - достаем параметры закупки - дата старта продаж - от нее считаем продажи списания и закупки прошлой недели
-$OrderData=$db::getRow("SELECT *, DATE_FORMAT(date_start, '%Y-%m-%d') as date_start,    DATE_FORMAT(date_add, '%Y-%m-%d') as date_add, 
-DATE_FORMAT(division_date, '%Y-%m-%d') as division_date, extract(epoch FROM  date_update) as date_update FROM store_orders WHERE id=?",[$orderId]);
-$providersIdInThisOrder=explode(",",$OrderData["providers_arr"]);
-$status_order_id=$OrderData["status"];
-$date_start_sale=$OrderData["date_start"]; 
-$date_update=$OrderData["date_update"]; 
-$date_start_division=$OrderData["division_date"]; 
-$order_date_add=$OrderData["date_add"]; 
-$orderCityId=$OrderData["city_id"]; 
-$related_order_id=$OrderData["related_order_id"]; 
-
+$OrderData=$db::getRow("SELECT *, TO_CHAR(date_start, 'YYYY-MM-DD') as date_start,    TO_CHAR(date_add, 'YYYY-MM-DD') as date_add, 
+TO_CHAR(division_date, 'YYYY-MM-DD') as division_date, extract(epoch from date_update) as date_update FROM store_orders WHERE id=?",[$orderId]);
+if ($OrderData) {
+    $providersIdInThisOrder = explode(",", $OrderData["providers_arr"]);
+    $status_order_id = $OrderData["status"];
+    $date_start_sale = $OrderData["date_start"];
+    $date_update = $OrderData["date_update"];
+    $date_start_division = $OrderData["division_date"];
+    $order_date_add = $OrderData["date_add"];
+    $orderCityId = $OrderData["city_id"];
+    $related_order_id = $OrderData["related_order_id"];
+}
 
 
-foreach($statuses_dostup[$status_order_id][$group_id] as $fieldid => $arrs) {
+foreach($statuses_dostup[$status_order_id][$group_id] ?? [] as $fieldid => $arrs) {
  $dostup_fields[$fieldid]=$arrs["dostup"];
  $bg_fields[$fieldid]=$arrs["bg"];   
 }
@@ -150,12 +151,16 @@ global $db,$providersIdInThisOrder,$ProductsOptions,$products;
  //пробегаемся по провайдерам    
 $whereProvidersId="";
 $k=0;
-foreach($providersIdInThisOrder as $pid) { if($k!=0) $whereProvidersId .=","; $whereProvidersId .="'$pid'"; $k++; }
-    
+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, 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 
 WHERE o.provider_id in($whereProvidersId) AND p.id=o.id order by o.provider_id ASC, p.name ASC";
-$data2=$db::getRows($z);
+    $data2 = $db::getRows($z);
+} else {
+    $data2 = [];
+}
 $k=0;
  foreach($data2 as $row) { 
   if($k!=0) $whereInProductsId .=","; $whereInProductsId .="'".$row["id"]."'";
@@ -206,9 +211,12 @@ return $productGroupArray;
 //$productGroupArray=getProductGroupArray($products);
 
 
-
-$data2=$db::getRows("SELECT p.id, p.name, o.provider_id, o.colors FROM products_1c_options as o, products_1c as p 
+if ($whereInProductsId != " in ()") {
+    $data2 = $db::getRows("SELECT p.id, p.name, o.provider_id, o.colors FROM products_1c_options as o, products_1c as p 
 WHERE p.id $whereInProductsId AND p.id=o.id order by o.provider_id ASC, p.name ASC");
+} else {
+    $data2 = [];
+}
 $k=0;
 foreach($data2 as $row) { 
 $providers_products[$row["provider_id"]][]=$row["id"];
@@ -241,6 +249,7 @@ global $db;
 // готовим массим со всеми данными по столбцам по каждому товару магазину и цвету Если NULL - то это сумма по магазинам и по цветам
 $dataF=$db::getRows("SELECT field_name,product_id,store_id,if(value_text!='',value_text,value) as value,color FROM store_orders_fields_data
 WHERE order_id=?",[$orderId]);
+$FiledsData = [];
 foreach($dataF as $row) { 
  if(empty($row["store_id"])) $row["store_id"]="NULL";
  if(empty($row["color"])) $row["color"]="NULL";
@@ -273,7 +282,7 @@ global $db, $related_order_id, $status_order_id, $status_edit_dostup, $orderCity
 
 
 echo'<form method=post action="/shipment/'.$act.'/?id='.$orderId.'">
-<table><td>Статус:</td><td><span class="tag">'. $store_orders_statuses[$status_order_id] .' </span> </td>';
+<table><td>Статус:</td><td><span class="tag">'. ($store_orders_statuses[$status_order_id] ?? '') .' </span> </td>';
  
  
 if(!empty($status_edit_dostup[$status_order_id][$group_id])) { 
@@ -311,9 +320,11 @@ $orderStoresArrayRelation_in .=")";
 
 
 //показываем магазины если статус закупки подразумевает разбивку данных по магазинам
-if($statuses_stores_show[$status_order_id])  { 
+if($statuses_stores_show[$status_order_id] ?? false)  {
 
 $stores_arr=$db::mapping("SELECT name,id FROM products_1c WHERE tip='city_store' AND view='1' AND id $orderStoresArrayRelation_in  order by name ASC");
+
+//print_r($stores_arr);
 $stores_cnt=count($stores_arr);
 
 $vnesli=$db::getValue("SELECT count(*) as cnt FROM store_order_status 
index 06c533ce41f02a1a935eaf80b1a66ea0f54449e9..6a0c515e6c4edc92290c6e36c24c25e417c18a7c 100644 (file)
@@ -1,8 +1,8 @@
-<?
-include_once("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
-include_once("inc/design_new.php");
+<?php
+include_once(dirname(__DIR__, 2) . "/startup.php");
+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");
 
 
 $time = strtotime('this week monday, 00:00');  // текущий понедельник  в формате unixtimestamp
@@ -24,9 +24,7 @@ mess("Статус изменен");
 
 
 
-include"modul/shipment/functionsShipment.php";
-
-include"templates/top.php";
+include_once(__DIR__. "/functionsShipment.php");
 
 
 
@@ -35,8 +33,8 @@ include"templates/top.php";
 //$data=$db::mapping("SELECT id,name FROM admin_group WHERE id in ('1','10','7','51','9','17','70','50')");
 echo'<h3 class="page-title mb-0 text-primary">
 <a href="/shipment/" class="btn me-2 btn-light">❮ назад в закупки</a>
-Заказ товара '.$OrderData["name"].' id='.$orderId.'</h3>
-<p> ваша роль <b>'.$users_group[$_SESSION["group_id"]].'</b>
+Заказ товара '.($OrderData["name"] ?? '').' id='.$orderId.'</h3>
+<p> ваша роль <b>'. ($users_group[$_SESSION["group_id"]] ?? '').'</b>
 <span onclick="deleteAll();" class="btn btn-danger btn-sm me-2">очистить данные у этой закупки</span>
 </p>';
 
@@ -81,8 +79,8 @@ $FiledsData=getDataFiledsData($orderId);
  
 
 foreach($data as $row) {
-$dostup=$dostup_fields[$row["id"]];
-$bg=$bg_fields[$row["id"]];
+$dostup=$dostup_fields[$row["id"]] ?? '';
+$bg=$bg_fields[$row["id"]] ?? '';
 if($dostup=="edit" or $dostup=="show") {
 $html ='<th class="text-center" data-bs-placement="top" data-bs-toggle="tooltip" data-bs-original-title="'.$row["name_full"].' '.$row["name_eng"].'"  onclick="ajaxFieldInfo('.$row["id"].');" style="max-width:110px;">
 <b>'.$row["name"].'</b></th>';
@@ -111,7 +109,7 @@ foreach($data3 as $row2) $products_class[$row2["category_id"]]=$row2["tip"];
 
 
 $trCount=0;
-foreach($products as $pid =>$name) {
+foreach($products ?? [] as $pid =>$name) {
 if($trCount==20) {    
   $trCount=0;   
   echo  $head_td; 
@@ -190,8 +188,8 @@ echo'</div>';
 
 echo'<tr class="bg-success zg"><td class="text-right"></td>';
 foreach($data as $row) {
-$dostup=$dostup_fields[$row["id"]];
-$bg=$bg_fields[$row["id"]];
+$dostup=$dostup_fields[$row["id"]] ?? '';
+$bg=$bg_fields[$row["id"]] ?? '';
 if($dostup=="edit" or $dostup=="show") {      
 echo'<td class="text-center" title="'.$row["name_full"].' '.$row["name_eng"].'"><b>'.$row["name"].' ('.$fieldsRows[$row["name_eng"]]["row_type_sum"].')</b></td>';
 }
@@ -199,7 +197,7 @@ echo'<td class="text-center" title="'.$row["name_full"].' '.$row["name_eng"].'">
 echo'</tr>
 <tr class="bg-success"><td class="text-right">итого</td>';
 foreach($data as $row) {
-$dostup=$dostup_fields[$row["id"]];
+$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"]]; 
@@ -223,10 +221,10 @@ echo'<h3 class="text-center mt-2">Итого сумма по столбцам</h
 <table class="table-stripped width-auto">
 <tbody><tr>';
 foreach($data as $row) {
-$dostup=$dostup_fields[$row["id"]];
-$bg=$bg_fields[$row["id"]];
+$dostup=$dostup_fields[$row["id"]] ?? '';
+$bg=$bg_fields[$row["id"]] ?? '';
 $s="";   
-if($fieldsRows[$row["name_eng"]]["row_type_sum"]=="amount")   $s=$rowArraySum[$row["id"]]
+if($fieldsRows[$row["name_eng"]]["row_type_sum"]=="amount")   $s=$rowArraySum[$row["id"]] ?? 0;
 
 if($fieldsRows[$row["name_eng"]]["summ"]==1 and !empty($s) and ($dostup=="edit" or $dostup=="show")) {  
 
@@ -254,9 +252,10 @@ $shipments_group_products=$db::mapping("SELECT id,name FROM universal_catalog_it
 $field_stats_array=["sales_cnt","sales_4weeks_sum","sales_4weeks_cnt","write_offs_sum","write_downs","write_offs_4week_sum","write_offs_4week_cnt_avg","order_supplier_sum"];
 $field_stats_array_in=implode("','",$field_stats_array);
 $data_field=[];
-  $data=$db::getRows("SELECT field_name, sum(value) as value,product_id FROM store_orders_fields_data WHERE 
+$sql = "SELECT field_name, sum(value) as value,product_id FROM store_orders_fields_data WHERE 
   field_name in('$field_stats_array_in') AND value>0
-  AND order_id='$orderId' AND color='' AND store_id!='' group by product_id,field_name");
+  AND order_id=". ($orderId ?? 0) . " AND color='' AND store_id!='' group by product_id,field_name";
+$data=$db::getRows($sql);
      foreach($data as $row) {
             $shipments_group_id=$ProductsOptions[$row["product_id"]]["shipments_group_id"];
             $data_field[$row["field_name"]][$shipments_group_id] +=$row["value"];
@@ -267,13 +266,13 @@ $data_field=[];
   echo"<div class=\"table-responsive mt-3\"><table class=\"table\">
      <thead class=\"table-darck\"><tr class=\"zg\"><th>категория</th>";
    foreach($field_stats_array as $fieldN) {
-    echo"<th style=\"max-width:120px;\"><b>".$fieldsRows[$fieldN]["name"]."</b></th>";
+    echo"<th style=\"max-width:120px;\"><b>".($fieldsRows[$fieldN]["name"] ?? '') ."</b></th>";
    }
 
 
   echo"</tr></thead><tbody>";
    foreach($shipments_group_products as $shipments_group_id => $name) {
-      if($data_field["sales_4weeks_cnt"][$shipments_group_id]) {
+      if($data_field["sales_4weeks_cnt"][$shipments_group_id] ?? false) {
      echo"<tr><td>$name</td>";
       foreach($field_stats_array as $fieldN)   echo"<td>".$data_field[$fieldN][$shipments_group_id]."</td>"; 
     echo"</tr>";
@@ -286,7 +285,7 @@ $data_field=[];
 
 
  
-$_CONFIG["jscss"] .="<script>
+$_CONFIG["jscss"] ="<script>
 
 function ajaxUpdateStoreZakup(){
  $('#modal-7 .modal-body').html('Считаем данные');
@@ -471,17 +470,12 @@ $.ajax({
 }
 
 </script>';
-
-
-
-
-include"templates/bottom.php";
 
 
 
 
 
+include_once dirname(__DIR__, 2) . '/templates/bottom_light.php';
        
 
 
index eb6c53ae85a7ea1df94c225c284abadd394e0aa6..bdaa124d7ea5e7f0e816c06b8473fe72f2a5edaf 100644 (file)
@@ -1,9 +1,10 @@
-<?
-include_once("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
-include_once("inc/shipment.php");
-include_once("templates/top.php");
+<?php
+include_once(dirname(__DIR__, 2) . "/startup.php");
+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");
+include_once(dirname(__DIR__, 2) . "/inc/shipment.php");
+
 $modul="shipment";
 
 
@@ -27,8 +28,8 @@ echo'<h3 class="mt-2">Список закупок для магазинов</h3>
 
 
 
-$data=$db::getRows("SELECT *, DATE_FORMAT(date_add,'%d.%m.%Y') as date_add, DATE_FORMAT(date_start,'%d.%m.%Y') as date_start
-FROM store_orders WHERE parent_id!=0 AND date_start>=NOW() - INTERVAL 70 DAY
+$data=$db::getRows("SELECT *, TO_CHAR(date_add,'DD.MM.YYYY') as date_add, TO_CHAR(date_start,'DD.MM.YYYY') as date_start
+FROM store_orders WHERE parent_id!=0 AND date_start>=NOW() - INTERVAL '70 DAY'
 
 AND status in ('1','2')
 order by delivery_date   DESC LIMIT 330");
@@ -36,8 +37,8 @@ foreach($data as $row) $dozakupka[$row["parent_id"]][]=$row;
    
 
 
-$data=$db::getRows("SELECT *, DATE_FORMAT(date_add,'%d.%m.%Y') as date_add, DATE_FORMAT(date_start,'%d.%m.%Y') as date_start 
-FROM store_orders WHERE parent_id=0 AND date_start>=NOW() - INTERVAL 70 DAY 
+$data=$db::getRows("SELECT *, TO_CHAR(date_add,'DD.MM.YYYY') as date_add, TO_CHAR(date_start,'DD.MM.YYYY') as date_start 
+FROM store_orders WHERE parent_id=0 AND date_start>=NOW() - INTERVAL '70 DAY' 
 AND status in ('1','2') 
 order by delivery_date  DESC LIMIT 30");
 foreach($data as $row) {
@@ -54,7 +55,7 @@ echo'
 <span class="btn btn-warning btn-sm me-2">'.$store_orders_statuses[$row["status"]].'</span>
 '.$row["name"].'</a>
 
-<span class="dt">дата продаж: '.$row["date_start"].', создано '.$row["date_add"].'  <i>'.$row["comment"].'</i></span>
+<span class="dt">дата продаж: '.$row["date_start"].', создано '.$row["date_add"].'  <i>'.($row["comment"]??'').'</i></span>
 </div> 
 
 <div class="expanel-body m-0 p-0';
@@ -75,14 +76,14 @@ foreach($in as $pid) { if($k!=0) $w .=", ";  $w .="'$pid'"; $k++; }
 
 $k=0;
 $wnere="";
-foreach($dozakupka[$row["id"]] as $rows) {
+foreach($dozakupka[$row["id"]]??[] as $rows) {
 if($k!=0) $wnere .=",";  $wnere .="'".$rows["id"]."'"; $k++;    
 }    
 
 
 if(!empty($wnere)) $wnere ="'".$row["id"]."', $wnere"; else $wnere="'".$row["id"]."'";
  
-foreach($data6 as $row6) { 
+foreach($data6 ?? [] as $row6) {
  $data_values["quantity_purchase"] = $sum_p+$row6["quantity_purchase"];
 }
 
@@ -90,7 +91,7 @@ foreach($data6 as $row6) {
 $q_all=0;
 $s_all=0;
  
-foreach($data5 as $row55) { 
+foreach($data5 ?? [] as $row55) {
  $data_values["quantity_zakup"] +=$row55["quantity_zakup"];
  $data_values["quantity_purchase_summ"] +=$row55["quantity_purchase_summ"]; 
  $data_values["quantity_zakup_fact"] +=$row55["quantity_zakup_fact"];
@@ -103,7 +104,7 @@ foreach($data5 as $row55) {
 
 
 echo'<div class="row">';
-foreach($dozakupka[$row["id"]] as $rows) {
+foreach($dozakupka[$row["id"]] ?? [] as $rows) {
 echo'<div class="col-12">
 <div class="ml-4">
  <a href=/'.$modul.'/shipment/?id='.$rows["id"].' class="btn btn-white fs-6 me-3">
@@ -114,7 +115,7 @@ echo'<div class="col-12">
 </a>
 
 
-<i>'.$rows["comment"].'</i>';
+<i>'.($rows["comment"]??'').'</i>';
 //printStoreOrderFiles($rows["id"]);
 echo'</div></div>'; 
     }
@@ -128,15 +129,15 @@ echo'</div>
 }
 
 
-$_CONFIG["jscss"] .='<style>
+$_CONFIG["jscss"] ='<style>
 
 .dt{color:#7175b1}
 
 
 </style>';
-       
 
-include"templates/bottom.php"; 
+
+include_once dirname(__DIR__, 2) . '/templates/bottom_light.php';
        
 
 
diff --git a/erp24/views/shipment/shipment.php b/erp24/views/shipment/shipment.php
new file mode 100644 (file)
index 0000000..1b9d55e
--- /dev/null
@@ -0,0 +1,5 @@
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/shipment/shipment.php';
\ No newline at end of file
diff --git a/erp24/views/shipment/store-orders.php b/erp24/views/shipment/store-orders.php
new file mode 100644 (file)
index 0000000..0e665b6
--- /dev/null
@@ -0,0 +1,5 @@
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/shipment/storeOrders.php';
\ No newline at end of file