Code=$code; $ret->Type=''; $query=''; switch($action) { // Grabar linea del inventario case 0: { if($fix && !$dividir){ $query = 'DELETE FROM inventariostemp WHERE COD_INVENTARIO='.$picode.' AND COD_ARTICULO='.$pcode; mysqli_query($link,$query); } $query = 'SELECT IFNULL(LPAD(CAST(MAX(CUENTA) AS UNSIGNED)+1,3,"0"),"001") FROM inventariostemp WHERE COD_INVENTARIO='.$picode.' AND COD_ARTICULO='.$pcode; $max_cuenta = SelectReg($link,$query); if($max_cuenta === '001'){ $query = 'INSERT INTO inventariostemp(COD_INVENTARIO,COD_ARTICULO,CUENTA,FECHA,ESTADO,UBICACION,CANTIDAD,FIFO)VALUES'. '('.$picode.','.$pcode.',"'.$max_cuenta.'",NOW(),"'.$quality.'","",'.$value.',"'.$pfifo.'")'; mysqli_query($link,$query); } else{ $fifo_act = json_decode($fifo,true); $fifo_ant = SelectReg($link,'SELECT SUBSTR(FIFO,2,LENGTH(FIFO)-2)AS FIFO FROM inventariostemp WHERE COD_INVENTARIO='.$picode.' AND COD_ARTICULO='.$pcode); $fifo_ant = json_decode($fifo_ant, true); $fifo_sumado = array_merge($fifo_ant, $fifo_act); $fifo_sumado = json_encode($fifo_sumado); $sql_suma = 'SELECT CANTIDAD FROM inventariostemp WHERE COD_INVENTARIO='.$picode.' AND COD_ARTICULO='.$pcode; $suma_ant = SelectReg($link, $sql_suma); $suma_act = $suma_ant + $value; if(!$dividir) $query = 'UPDATE inventariostemp SET FECHA=NOW(), CANTIDAD='.$suma_act.', FIFO=CONCAT("\'",\''.$fifo_sumado.'\',"\'") WHERE COD_INVENTARIO='.$picode.' AND COD_ARTICULO='.$pcode; else $query = 'INSERT INTO inventariostemp(COD_INVENTARIO,COD_ARTICULO,CUENTA,FECHA,ESTADO,UBICACION,CANTIDAD,FIFO)VALUES'. '('.$picode.','.$pcode.',"'.$max_cuenta.'",NOW(),"'.$quality.'","",'.$value.',"'.$pfifo.'")'; mysqli_query($link, $query); } $ret->Type='Action '.$action; $ret->Affected=mysqli_affected_rows($link); $ret->Caption=$ret->Affected>=1?$icode.'|'.$code.'|'.$max_cuenta:''; break; } case 1: { // Impresión de etiquetas break; } default: { $ret=new IError(); $ret->Code=$code; $ret->Type='set'; $ret->Error='Action '.$action.' not Found'; break; } } CloseDB($link); } else { if($action==-1 && $icode!='') { // Listar las acciones $ret=array(); $r=new Ret(); $r->Code=0; $r->Type='Action'; $r->Caption='OK'; $r->Affected=1; $ret[]=$r; $r=new Ret(); $r->Code=1; $r->Type='Action'; $r->Caption='ET'; $r->Affected=0; $ret[]=$r; } else { $ret=new IError(); $ret->Code=$code; $ret->Type='set'; $ret->Error=$code==''?'ARTICULO NO ENCONTRADO':'GRUPO NO ENCONTRADO'; } } if(is_a($ret,'IError')) echo json_encode(array('Type'=>'Error','Group'=>$icode,'Data'=>$ret)); else { if(is_a($ret,'Ret')) echo json_encode(array('Type'=>'Ret' ,'Group'=>$icode,'Data'=>$ret)); else echo json_encode(array('Type'=>'Ret[]' ,'Group'=>$icode,'Data'=>$ret)); }