Add decimals to items search result + fix reports

This commit is contained in:
jekkos
2019-06-20 18:37:20 +02:00
parent 54925b27a8
commit 8ca5449b79
6 changed files with 27 additions and 14 deletions

View File

@@ -1344,9 +1344,7 @@ class Reports extends Secure_Controller
$quantity_purchased .= ' [' . $this->Stock_location->get_location_name($drow['item_location']) . ']';
}
$attribute_values = (isset($drow['attribute_values'])) ? $drow['attribute_values'] : '';
$attribute_values = (isset($drow['attribute_dtvalues'])) ? $attribute_values . '|' . $drow['attribute_dtvalues'] : $attribute_values;
$attribute_values = expand_attribute_values($definition_names, $attribute_values);
$attribute_values = expand_attribute_values($definition_names, $drow);
$details_data[$row['sale_id']][] = $this->xss_clean(array_merge(array(
$drow['name'],
@@ -1462,10 +1460,7 @@ class Reports extends Secure_Controller
$quantity_purchased .= ' [' . $this->Stock_location->get_location_name($drow['item_location']) . ']';
}
$attribute_values = (isset($drow['attribute_values'])) ? $drow['attribute_values'] : '';
$attribute_values = (isset($drow['attribute_dtvalues'])) ? $attribute_values . '|' . $drow['attribute_dtvalues'] : $attribute_values;
$attribute_values = expand_attribute_values($definition_names, $attribute_values);
$attribute_values = expand_attribute_values($definition_names, $drow);
$details_data[$row['receiving_id']][] = $this->xss_clean(array_merge(array(
$drow['item_number'],

View File

@@ -450,10 +450,8 @@ function get_item_data_row($item)
)
);
$attribute_values = (property_exists($item, 'attribute_values')) ? $item->attribute_values : "";
$attribute_values = (property_exists($item, 'attribute_dtvalues')) ? $attribute_values . '|' . $item->attribute_dtvalues : $attribute_values;
return $columns + expand_attribute_values($definition_names, (array) $item) + $icons;
return $columns + expand_attribute_values($definition_names, $attribute_values) + $icons;
}
@@ -535,9 +533,18 @@ function get_item_kit_data_row($item_kit)
);
}
function expand_attribute_values($definition_names, $attribute_values)
function concat_attribute_value($columns, $row) {
$attribute_values = '';
foreach($columns as $column) {
$attribute_values .= (isset($row[$column])) ? $row[$column] : '';
}
return explode('|', $attribute_values);
}
function expand_attribute_values($definition_names, $row)
{
$values = explode('|', $attribute_values);
$values = concat_attribute_value(array('attribute_values', 'attribute_dtvalues', 'attribute_dvalues'), $row);
$indexed_values = array();
foreach($values as $attribute_value)

View File

@@ -550,6 +550,11 @@ class Attribute extends CI_Model
'item_id' => empty($item_id) ? NULL : $item_id,
'definition_id' => $definition_id));
}
else
{
$this->db->where('attribute_id', $attribute_id);
$this->db->update('attribute_values', array('attribute_value' => $attribute_value));
}
$this->db->trans_complete();

View File

@@ -195,6 +195,7 @@ class Item extends CI_Model
$format = $this->db->escape(dateformat_mysql());
$this->db->select('GROUP_CONCAT(DISTINCT CONCAT_WS(\'_\', definition_id, attribute_value) ORDER BY definition_id SEPARATOR \'|\') AS attribute_values');
$this->db->select("GROUP_CONCAT(DISTINCT CONCAT_WS('_', definition_id, DATE_FORMAT(attribute_date, $format)) SEPARATOR '|') AS attribute_dtvalues");
$this->db->select("GROUP_CONCAT(DISTINCT CONCAT_WS('_', definition_id, attribute_decimal) SEPARATOR '|') AS attribute_dvalues");
$this->db->join('attribute_links', 'attribute_links.item_id = items.item_id AND attribute_links.receiving_id IS NULL AND attribute_links.sale_id IS NULL AND definition_id IN (' . implode(',', $filters['definition_ids']) . ')', 'left');
$this->db->join('attribute_values', 'attribute_values.attribute_id = attribute_links.attribute_id', 'left');
}
@@ -281,6 +282,7 @@ class Item extends CI_Model
{
$this->db->select('items.*');
$this->db->select('GROUP_CONCAT(attribute_value SEPARATOR \'|\') AS attribute_values');
$this->db->select('GROUP_CONCAT(attribute_decimal SEPARATOR \'|\') AS attribute_dvalues');
$this->db->select('GROUP_CONCAT(attribute_date SEPARATOR \'|\') AS attribute_dtvalues');
$this->db->select('suppliers.company_name');
$this->db->from('items');
@@ -377,10 +379,12 @@ class Item extends CI_Model
*/
public function get_multiple_info($item_ids, $location_id)
{
$format = $this->db->escape(dateformat_mysql());
$this->db->select('items.*');
$this->db->select('company_name');
$this->db->select('GROUP_CONCAT(DISTINCT CONCAT_WS(\'_\', definition_id, attribute_value) ORDER BY definition_id SEPARATOR \'|\') AS attribute_values');
$this->db->select('GROUP_CONCAT(DISTINCT CONCAT_WS(\'_\', definition_id, attribute_date) ORDER BY definition_id SEPARATOR \'|\') AS attribute_dtvalues');
$this->db->select("GROUP_CONCAT(DISTINCT CONCAT_WS('_', definition_id, DATE_FORMAT(attribute_date, $format)) ORDER BY definition_id SEPARATOR '|') AS attribute_dtvalues");
$this->db->select('GROUP_CONCAT(DISTINCT CONCAT_WS(\'_\', definition_id, attribute_decimal) ORDER BY definition_id SEPARATOR \'|\') AS attribute_dvalues');
$this->db->select('quantity');
$this->db->from('items');
$this->db->join('suppliers', 'suppliers.person_id = items.supplier_id', 'left');

View File

@@ -105,6 +105,7 @@ class Detailed_receivings extends Report
$format = $this->db->escape(dateformat_mysql());
$this->db->select("GROUP_CONCAT(DISTINCT CONCAT_WS('_', definition_id, attribute_value) ORDER BY definition_id SEPARATOR '|') AS attribute_values");
$this->db->select("GROUP_CONCAT(DISTINCT CONCAT_WS('_', definition_id, DATE_FORMAT(attribute_date, $format)) SEPARATOR '|') AS attribute_dtvalues");
$this->db->select("GROUP_CONCAT(DISTINCT CONCAT_WS('_', definition_id, attribute_decimal SEPARATOR '|') AS attribute_dvalues");
$this->db->join('attribute_links', 'attribute_links.item_id = items.item_id AND attribute_links.receiving_id = receivings_items_temp.receiving_id AND definition_id IN (' . implode(',', $inputs['definition_ids']) . ')', 'left');
$this->db->join('attribute_values', 'attribute_values.attribute_id = attribute_links.attribute_id', 'left');
$this->db->group_by('receivings_items_temp.receiving_id, receivings_items_temp.item_id');

View File

@@ -151,8 +151,9 @@ class Detailed_sales extends Report
$format = $this->db->escape(dateformat_mysql());
$this->db->select("GROUP_CONCAT(DISTINCT CONCAT_WS('_', definition_id, attribute_value) ORDER BY definition_id SEPARATOR '|') AS attribute_values");
$this->db->select("GROUP_CONCAT(DISTINCT CONCAT_WS('_', definition_id, DATE_FORMAT(attribute_date, $format)) SEPARATOR '|') AS attribute_dtvalues");
$this->db->select("GROUP_CONCAT(DISTINCT CONCAT_WS('_', definition_id, attribute_decimal SEPARATOR '|') AS attribute_dvalues");
$this->db->join('attribute_links', 'attribute_links.item_id = sales_items_temp.item_id AND attribute_links.sale_id = sales_items_temp.sale_id AND definition_id IN (' . implode(',', $inputs['definition_ids']) . ')', 'left');
$this->db->join('attribute_values', 'attribute_values.attribute_id = attribute_links.attribute_id', 'left');
$this->db->join('attribute_values', 'attribute_values.attribute_id = attribute_links.attribute_id');
$this->db->group_by('sales_items_temp.sale_id, sales_items_temp.item_id');
}
$this->db->where('sales_items_temp.sale_id', $value['sale_id']);