}
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
// достаем поля в массив
-$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"]];
// данные по закупке - достаем параметры закупки - дата старта продаж - от нее считаем продажи списания и закупки прошлой недели
-$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"];
}
//пробегаемся по провайдерам
$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"]."'";
//$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"];
// готовим массим со всеми данными по столбцам по каждому товару магазину и цвету Если 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";
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])) {
//показываем магазины если статус закупки подразумевает разбивку данных по магазинам
-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
-<?
-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
-include"modul/shipment/functionsShipment.php";
-
-include"templates/top.php";
+include_once(__DIR__. "/functionsShipment.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>';
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>';
$trCount=0;
-foreach($products as $pid =>$name) {
+foreach($products ?? [] as $pid =>$name) {
if($trCount==20) {
$trCount=0;
echo $head_td;
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>';
}
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"]];
<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")) {
$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"];
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>";
-$_CONFIG["jscss"] .="<script>
+$_CONFIG["jscss"] ="<script>
function ajaxUpdateStoreZakup(){
$('#modal-7 .modal-body').html('Считаем данные');
}
</script>';
-
-
-
-
-
-include"templates/bottom.php";
+include_once dirname(__DIR__, 2) . '/templates/bottom_light.php';
-<?
-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";
-$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");
-$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) {
<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';
$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"];
}
$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"];
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">
</a>
-<i>'.$rows["comment"].'</i>';
+<i>'.($rows["comment"]??'').'</i>';
//printStoreOrderFiles($rows["id"]);
echo'</div></div>';
}
}
-$_CONFIG["jscss"] .='<style>
+$_CONFIG["jscss"] ='<style>
.dt{color:#7175b1}
</style>';
-
-include"templates/bottom.php";
+
+include_once dirname(__DIR__, 2) . '/templates/bottom_light.php';
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/shipment/shipment.php';
\ No newline at end of file
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/shipment/storeOrders.php';
\ No newline at end of file