query ( "DELETE FROM ecmproductcomponents WHERE ecmproduct_id='$prod_id'" ); // save new positions $res = array (); $pos = 0; foreach ( $items as $i ) { $q = "INSERT INTO ecmproductcomponents VALUES ( '" . create_guid () . "', NOW(), NOW(), '" . $current_user->id . "', '" . $current_user->id . "', '" . $current_user->id . "', '0', '$prod_id', '" . $i->product_id . "', '$pos', '" . $i->product_code . "', '" . $i->name . "', '" . $i->quantity . "', '', '" . $i->divider. "', '" . $i->quantity_recipe. "' );"; $pos ++; echo $q; $db->query ( $q ); } return true; } function getItemsComponents($prod_id) { $db = $GLOBALS ['db']; global $app_list_strings; $res = $db->query ( "SELECT ecmcomponent_id, quantity,divider,quantity_recipe FROM ecmproductcomponents WHERE ecmproduct_id='$prod_id' AND deleted='0' order by position" ); $result = array (); while ( $row = $db->fetchByAssoc ( $res ) ) { // get component info $p = $db->fetchByAssoc ( $db->query ( "SELECT code, name, unit_id, ems_price FROM ecmproducts WHERE id='" . $row ['ecmcomponent_id'] . "'" ) ); $tmp = array (); $tmp ['product_id'] = $row ['ecmcomponent_id']; $tmp ['product_code'] = $p ['code']; $tmp ['quantity'] = $row ['quantity']; $tmp ['divider'] = $row ['divider']; $tmp ['quantity_recipe'] = $row ['quantity_recipe']; $tmp ['name'] = $p ['name']; $tmp ['product_link'] = '' . $p ['code'] . ''; $tmp ['unit'] = $app_list_strings ['ecmproducts_unit_dom'] [$p ['unit_id']]; // get avg purchase price // get ems price $tmp ['purchase_price'] = $p ['ems_price']; if (! $p || $p ['ems_price'] == 0) { $pz = $db->fetchByAssoc ( $db->query ( " SELECT price, parent_name FROM ecmstockoperations WHERE product_id= '" . $tmp ['product_id'] . "' AND parent_type = 'EcmStockDocIns' ORDER BY date_entered DESC LIMIT 0,1 " ) ); $tmp ['purchase_price'] = $pz['parent_name'];//$pz ['price']; $tmp['purchase_price_document'] = $pz['parent_name']; } //var_dump($tmp); $tmp['total'] = $tmp['purchase_price'] * $tmp['quantity']; $result [] = $tmp; } echo json_encode ( $result ); return; } function searchComponents($st) { $db = $GLOBALS ['db']; $res = $db->query ( " SELECT id, code, name, unit_id, ems_price FROM ecmproducts WHERE (code LIKE '%$st%' OR name LIKE '%$st%') AND deleted='0' " ); $result = array (); global $app_list_strings; while ( $row = $db->fetchByAssoc ( $res ) ) { $item = array (); $item ['value'] = "" . $row ['code'] . "   " . $row ['name']; $tmp = array (); $tmp ['product_code'] = $row ['code']; $tmp ['product_link'] = '' . $row ['code'] . ''; $tmp ['name'] = $row ['name']; $tmp ['product_id'] = $row ['id']; $tmp ['unit'] = $app_list_strings ['ecmproducts_unit_dom'] [$row ['unit_id']]; $tmp ['quantity'] = 1; $tmp ['divider'] = 1; $tmp ['quantity_recipe'] =1; // get avg purchase price // get ems price $tmp ['purchase_price'] = $row ['ems_price']; if (! $row ['ems_price'] || $row ['ems_price'] == 0) { $pz = $db->fetchByAssoc ( $db->query ( " SELECT price FROM ecmstockoperations WHERE product_id= '" . $tmp ['product_id'] . "' AND parent_type = 'EcmStockDocIns' ORDER BY date_entered DESC LIMIT 0,1 " ) ); $tmp ['purchase_price'] = $pz ['price']; } $item ['fields'] = json_encode ( $tmp ); $result [] = $item; } echo json_encode ( $result ); return; } function saveItemsActions($items, $prod_id) { $items = json_decode ( base64_decode ( $items ) ); $db = $GLOBALS ['db']; global $current_user; // delete old positions $db->query ( "DELETE FROM ecmproductactions WHERE ecmproduct_id='$prod_id'" ); // save new positions $res = array (); $pos = 0; foreach ( $items as $i ) { $q = "INSERT INTO ecmproductactions VALUES ( '" . create_guid () . "', '" . $current_user->id . "', NOW(), '$prod_id', '" . $i->action_id . "', '" . $i->quantity . "', '$pos' );"; $pos ++; $db->query ( $q ); } return true; } function getItemsActions($prod_id) { $db = $GLOBALS ['db']; global $app_list_strings; $res = $db->query ( "SELECT ecmaction_id, quantity FROM ecmproductactions WHERE ecmproduct_id='$prod_id' order by position" ); $result = array (); while ( $row = $db->fetchByAssoc ( $res ) ) { // get action info $p = $db->fetchByAssoc ( $db->query ( "SELECT indeks, name, cost_action, cost_other FROM ecmactions WHERE id='" . $row ['ecmaction_id'] . "'" ) ); $tmp = array (); $tmp ['action_id'] = $row ['ecmaction_id']; $tmp ['action_code'] = $p ['indeks']; $tmp ['quantity'] = $row ['quantity']; $tmp ['name'] = $p ['name']; $tmp ['action_link'] = '' . $p ['indeks'] . ''; $tmp ['price_netto'] = $p ['cost_other']; $tmp ['price_brutto'] = $p ['cost_action']; $tmp['total_netto'] = $tmp['quantity'] * $tmp['price_netto']; $tmp['total_brutto'] = $tmp['quantity'] * $tmp['price_brutto']; $result [] = $tmp; } echo json_encode ( $result ); return; } function searchActions($st) { $db = $GLOBALS ['db']; $res = $db->query ( " SELECT id, indeks, name, time, cost_action, cost_other FROM ecmactions WHERE (indeks LIKE '%$st%' OR name LIKE '%$st%') AND deleted='0' " ); $result = array (); global $app_list_strings; while ( $row = $db->fetchByAssoc ( $res ) ) { $item = array (); $item ['value'] = "" . $row ['indeks'] . "   " . $row ['name'].' ('.$row['cost_other'].')'; $tmp = array (); $tmp ['action_code'] = $row ['indeks']; $tmp ['action_link'] = '' . $row ['indeks'] . ''; $tmp ['name'] = $row ['name']; $tmp ['action_id'] = $row ['id']; $tmp ['quantity'] = 1; $tmp ['price_brutto'] = $row ['cost_action']; $tmp ['price_netto'] = $row ['cost_other']; $item ['fields'] = json_encode ( $tmp ); $result [] = $item; } echo json_encode ( $result ); return; } function searchProduct($st) { $db = $GLOBALS ['db']; $res = $db->query ( " SELECT id, code FROM ecmproducts WHERE (code LIKE '%$st%' OR name LIKE '%$st%') AND deleted='0' " ); $result = array (); global $app_list_strings; while ( $row = $db->fetchByAssoc ( $res ) ) { $item = array (); $item ['value'] = "" . $row ['code'] . ""; $tmp = array (); $tmp ['product_code'] = $row ['code']; $tmp ['product_id'] = $row['id']; $item ['fields'] = json_encode ( $tmp ); $result [] = $item; } echo json_encode ( $result ); return; }