//вставляем данные в таблицу дашборда
function insert_store_orders_fields($massivSQL,$field_name,$massivTitle=[], $print=false) {
-global $db,$orderId,$storeIdToGuidArray,$fieldsRows,$FiledsData;
+ global $db,$orderId,$storeIdToGuidArray,$fieldsRows, $FiledsData;
-$field_id=$fieldsRows[$field_name]["id"];
-$type=$fieldsRows[$field_name]["type"];
+ $field_id=$fieldsRows[$field_name]["id"];
+ $type=$fieldsRows[$field_name]["type"];
-$divisionFieldsArray=["division_store","division_store_hand","division_store_summ"];
-
-if(in_array($field_name,$divisionFieldsArray)) {
-$db::sql("DELETE FROM store_orders_fields_data WHERE order_id=? AND field_name=? AND (store_id='' or value='0.000' ) ",[$orderId,$field_name]);
-}
-
-
-foreach($massivSQL as $productId =>$array) {
- foreach($array as $storeId =>$valueArr) {
- foreach($valueArr as $color =>$value) {
- // if(empty($color) or $storeId=="NULL") $color="";
- if($color=="NULL") $color="";
-
- if(is_numeric($storeId) and !empty($storeIdToGuidArray[$storeId]) and $storeId!='NULL') $storeId=$storeIdToGuidArray[$storeId];
- if(empty($storeId) or $storeId=="NULL") $storeId="";
-
- if($type=="string") {$value_text=$value; $value="";}
- else { $value_text=""; }
-
- try {
- if(empty($storeId)) $storeIdData="NULL"; else $storeIdData=$storeId;
- if(empty($color)) $colorData="NULL"; else $colorData=$color;
- $oldvalue=$FiledsData[$field_name][$productId][$storeIdData][$colorData] ?? '';
- // $oldtitle=$FiledsData["title__".$field_name][$productId][$storeIdData][$colorData];
-
- // if($print==true) echo"<br>!!!--------$field_name =$value oldtitle=$oldtitle $title";
-
- if(($type!="string") or ($type=="string" and $value_text!="")) {
-
-
- $title=$massivTitle[$productId][$storeIdData][$colorData] ?? '';
-
-
- // echo"<br> ++ productId = $productId order_id=$orderId field_name=$field_name storeId=$storeId value=$value";
- $Insert=true;
- // if(in_array($field_name,$divisionFieldsArray) and ($value==0 and empty($oldvalue))) $Insert=false;
-
-
-
- if($Insert) {
- $sql = "INSERT INTO store_orders_fields_data (product_id, order_id, store_id, field_name, field_id, value, value_text, color,hand,date_update, title)
- VALUES (?,?,?,?,?,?,?,?,'-1',NOW(),?) ON CONFLICT (order_id, product_id, store_id, field_id, field_name, color) DO UPDATE SET value=?, hand=0, value_text=?, date_update=NOW(), title=?";
- $sql2 = "INSERT INTO store_orders_fields_data (product_id, order_id, store_id, field_name, field_id, value, value_text, color,hand,date_update, title)
- VALUES ('$productId','$orderId','$storeId','$field_name','$field_id','$value','$value_text','$color','-1',NOW(),'$title') ON CONFLICT (order_id, product_id, store_id, field_id, field_name, color) DO UPDATE SET value='$value', hand=0, value_text='$value_text', date_update=NOW(), title='$title'";
- // var_dump($sql2); die;
- $db::sql($sql, [$productId, $orderId, $storeId, $field_name, $field_id, $value, $value_text, $color, $title, $value, $value_text , $title]);
- }
+ $divisionFieldsArray=["division_store","division_store_hand","division_store_summ"];
+ if(in_array($field_name,$divisionFieldsArray)) {
+ $db::sql("DELETE FROM store_orders_fields_data WHERE order_id=? AND field_name=? AND (store_id='' or value='0.000' ) ",[$orderId,$field_name]);
+ }
- }
-
-// if(($type!="string" and !empty($value) and $value!='0.000') or ($type=="string" and $value_text!="") ) {
-// if(($oldvalue==$value or $oldvalue=="$value.000") and $value_text=="") {
+ foreach($massivSQL as $productId =>$array) {
+ foreach($array as $storeId =>$valueArr) {
+ foreach($valueArr as $color =>$value) {
+ // if(empty($color) or $storeId=="NULL") $color="";
+ if ($color=="NULL" || $color == 0) {
+ $color="";
+ }
+ if (is_numeric($storeId) and !empty($storeIdToGuidArray[$storeId]) and $storeId!='NULL') {
+ $storeId = $storeIdToGuidArray[$storeId];
+ }
+ if (empty($storeId) or $storeId=="NULL") {
+ $storeId="";
+ }
+
+ if ($type=="string") {
+ $value_text = $value;
+ $value = "";
+ } else {
+ $value_text = "";
+ }
+
+ try {
+ $storeIdData = empty($storeId) ? "NULL" : $storeId;
+ $colorData = empty($color) ? "NULL" : $color;
+
+// $oldvalue=$FiledsData[$field_name][$productId][$storeIdData][$colorData] ?? '';
+// $oldtitle=$FiledsData["title__".$field_name][$productId][$storeIdData][$colorData];
+// if($print==true) echo"<br>!!!--------$field_name =$value oldtitle=$oldtitle $title";
+
+ if (($type!="string") or ($type=="string" and $value_text!="")) {
+ $title = $massivTitle[$productId][$storeIdData][$colorData] ?? '';
+// echo"<br> ++ productId = $productId order_id=$orderId field_name=$field_name storeId=$storeId value=$value";
+ $Insert=true;
+// if(in_array($field_name,$divisionFieldsArray) and ($value==0 and empty($oldvalue))) $Insert=false;
+ if($Insert) {
+ $sql = "INSERT INTO store_orders_fields_data (product_id, order_id, store_id, field_name, field_id, value, value_text, color,hand,date_update, title)
+ VALUES (?,?,?,?,?,?,?,?,'-1',NOW(),?) ON CONFLICT (order_id, product_id, store_id, field_id, field_name, color) DO UPDATE SET value=?, hand=0, value_text=?, date_update=NOW(), title=?";
+ $sql2 = "INSERT INTO store_orders_fields_data (product_id, order_id, store_id, field_name, field_id, value, value_text, color,hand,date_update, title)
+ VALUES ('$productId','$orderId','$storeId','$field_name','$field_id','$value','$value_text','$color','-1',NOW(),'$title') ON CONFLICT (order_id, product_id, store_id, field_id, field_name, color) DO UPDATE SET value='$value', hand=0, value_text='$value_text', date_update=NOW(), title='$title'";
+ // var_dump($sql2); die;
+ $db::sql($sql, [$productId, $orderId, $storeId, $field_name, $field_id, $value, $value_text, $color, $title, $value, $value_text , $title]);
+ }
+ }
+
+// if(($type!="string" and !empty($value) and $value!='0.000') or ($type=="string" and $value_text!="") ) {
+// if(($oldvalue==$value or $oldvalue=="$value.000") and $value_text=="") {
//
-// // echo"<br>По этому товару не обновляем так ка значение старое уже есть";
+// // echo"<br>По этому товару не обновляем так ка значение старое уже есть";
//
-// }
+// }
//
-// if(((empty($value) or $value=="0.000" or $oldvalue==$value or $oldvalue=="$value.000" or $oldtitle==$title ) and $type!="string") or ($type=="string" and $value_text=="")) {
+// if(((empty($value) or $value=="0.000" or $oldvalue==$value or $oldvalue=="$value.000" or $oldtitle==$title ) and $type!="string") or ($type=="string" and $value_text=="")) {
//
-// }
-// else {
-// // if($print==true) echo"<br>!!! $field_name =$value";
-// // $db::sql("INSERT IGNORE INTO store_orders_fields_data (product_id, order_id, store_id, field_name, field_id, value, value_text, color,hand,date_update, title) VALUES (?,?,?,?,?,?,?,?,'-1',NOW(),?) ON DUPLICATE KEY UPDATE value=?, hand=0, value_text=?, date_update=NOW(), title=?", [$productId, $orderId, $storeId, $field_name, $field_id, $value, $value_text, $color, $title, $value, $value_text , $title]);
-// }
+// }
+// else {
+// // if($print==true) echo"<br>!!! $field_name =$value";
+// // $db::sql("INSERT IGNORE INTO store_orders_fields_data (product_id, order_id, store_id, field_name, field_id, value, value_text, color,hand,date_update, title) VALUES (?,?,?,?,?,?,?,?,'-1',NOW(),?) ON DUPLICATE KEY UPDATE value=?, hand=0, value_text=?, date_update=NOW(), title=?", [$productId, $orderId, $storeId, $field_name, $field_id, $value, $value_text, $color, $title, $value, $value_text , $title]);
+// }
//
-// // if(empty($storeId)) $storeIdData="NULL"; else $storeIdData=$storeId;
-// //if(empty($color)) $colorData="NULL"; else $colorData=$color;
+// // if(empty($storeId)) $storeIdData="NULL"; else $storeIdData=$storeId;
+// //if(empty($color)) $colorData="NULL"; else $colorData=$color;
//
-// // echo"<br>$field_name pid=$productId color=$color =$value valuetext=$value_text ";
+// // echo"<br>$field_name pid=$productId color=$color =$value valuetext=$value_text ";
//
//
-// }
-
-
- } catch (Exception $e)
- {
- echo 'Ошибка вставки данных field_name='.$field_name.' '.print_r($param ?? '').' error='. $e->getMessage() . ' ' . $e->getFile() . ' ' . $e->getLine() . ' ' . $e->getTraceAsString();
- }
-
-
- }
- }
- }
+// }
+
+ } catch (Exception $e) {
+ echo 'Ошибка вставки данных field_name='.$field_name.' '.print_r($param ?? '').' error='. $e->getMessage() . ' ' . $e->getFile() . ' ' . $e->getLine() . ' ' . $e->getTraceAsString();
+ }
+ }
+ }
+ }
}