source: admin/WebConsole/gestores/gestor_trabajos.php @ dbc9bab

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since dbc9bab was 1b92629, checked in by ramon <ramongomez@…>, 16 years ago

Reorganización directorios OpenGNSys Admin.

git-svn-id: https://opengnsys.es/svn/trunk@455 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 13.7 KB
Line 
1<?
2// *************************************************************************************************************************************************
3// Aplicación WEB: Hidra
4// Copyright 2003-2005  José Manuel Alonso. Todos los derechos reservados.
5// Fecha Creación: Año 2003-2004
6// Fecha Última modificación: Marzo-2005
7// Nombre del fichero: gestor_trabajos.php
8// Descripción :
9//              Gestiona el mantenimiento de la tabla de trabajos
10// *************************************************************************************************************************************************
11include_once("../includes/ctrlacc.php");
12include_once("../clases/AdoPhp.php");
13include_once("../clases/XmlPhp.php");
14include_once("../clases/ArbolVistaXML.php");
15include_once("../clases/SockHidra.php");
16include_once("../includes/CreaComando.php");
17include_once("../includes/constantes.php");
18include_once("../includes/comunes.php");
19include_once("../includes/opciones.php");
20include_once("./relaciones/trabajos_eliminacion.php");
21//________________________________________________________________________________________________________
22$opcion=0; // Inicializa parametros
23
24$idtrabajo=0;
25$descripcion="";
26$comentarios="";
27$grupoid=0;
28$swc=0; // switch de cliente, esta pagina la llama el cliente a través del browser
29
30if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros
31
32if (isset($_GET["idtrabajo"])) $idtrabajo=$_GET["idtrabajo"];
33if (isset($_GET["descripcion"])) $descripcion=$_GET["descripcion"];
34if (isset($_GET["comentarios"])) $comentarios=$_GET["comentarios"];
35if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"];
36if (isset($_GET["identificador"])) $idtrabajo=$_GET["identificador"];
37if (isset($_GET["swc"])) $swc=$_GET["swc"];
38
39$tablanodo=""; // Arbol para nodos insertados
40
41$cmd=CreaComando($cadenaconexion); // Crea objeto comando
42$resul=false;
43if ($cmd){
44        $resul=Gestiona();
45        $cmd->Conexion->Cerrar();
46}
47// *************************************************************************************************************************************************
48?>
49<HTML>
50<HEAD>
51<BODY>
52<?
53        $literal="";
54        switch($opcion){
55                case $op_alta :
56                        $literal="resultado_insertar_trabajos";
57                        break;
58                case $op_modificacion:
59                        $literal="resultado_modificar_trabajos";
60                        break;
61                case $op_eliminacion :
62                        $literal="resultado_eliminar_trabajos";
63                        break;
64                case $op_movida :
65                        $literal="resultado_mover";
66                        break;
67                case $op_ejecucion :
68                        $literal="resultado_ejecutar_trabajos";
69                default:
70                        break;
71        }
72echo '<p><span id="arbol_nodo">'.$tablanodo.'</span></p>';
73if ($resul){
74        if(empty($swc)){
75                echo '<SCRIPT language="javascript">'.chr(13);
76                echo 'var oHTML'.chr(13);
77                echo 'var cTBODY=document.all.tags("TBODY");'.chr(13);
78                echo 'o=cTBODY.item(1);'.chr(13);
79                if ($opcion==$op_alta )
80                        echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ',".$idtrabajo.",o.innerHTML);".chr(13);
81                else
82                        echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ',".$idtrabajo.");".chr(13);
83                echo '</SCRIPT>';
84        }
85        else{
86                echo '<SCRIPT language="javascript">'.chr(13);
87                echo 'alert("El item se ha ejecutado correctamente");'.chr(13);
88                echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
89                echo '</SCRIPT>';
90        }
91}
92else{
93        if(empty($swc)){
94                echo '<SCRIPT language="javascript">';
95                echo "  window.parent.".$literal."(0,'".$cmd->DescripUltimoError()."',".$idtrabajo.")";
96                echo '</SCRIPT>';
97        }
98        else{
99                echo '<SCRIPT language="javascript">'.chr(13);
100                echo 'alert("***ATENCIÓN:El item NO se ha podido ejecutar");'.chr(13);
101                echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
102                echo '</SCRIPT>';
103        }
104}
105?>
106</BODY>
107</HTML>
108<?
109/**************************************************************************************************************************************************
110        Inserta, modifica o elimina datos en la tabla tareas
111________________________________________________________________________________________________________*/
112function Gestiona(){
113
114        global $EJECUCION_TRABAJO;
115
116        global  $cmd;
117        global  $opcion;
118
119        global  $idcentro;
120        global  $idtrabajo;
121        global  $descripcion;
122        global  $comentarios;
123        global  $grupoid;
124
125        global  $op_alta;
126        global  $op_modificacion;
127        global  $op_eliminacion;
128        global  $op_movida;
129        global  $op_ejecucion;
130
131        global  $tablanodo;
132
133        $cmd->CreaParametro("@idcentro",$idcentro,1);
134        $cmd->CreaParametro("@idtrabajo",$idtrabajo,1);
135        $cmd->CreaParametro("@descripcion",$descripcion,0);
136        $cmd->CreaParametro("@comentarios",$comentarios,0);
137        $cmd->CreaParametro("@grupoid",$grupoid,1);
138
139        switch($opcion){
140                case $op_alta :
141                        $cmd->texto="INSERT INTO trabajos (descripcion,comentarios,idcentro,grupoid) VALUES (@descripcion,@comentarios,@idcentro,@grupoid)";
142                        $resul=$cmd->Ejecutar();
143                        if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta
144                                $idtrabajo=$cmd->Autonumerico();
145                                $arbolXML=SubarbolXML_trabajos($idtrabajo,$descripcion,"");
146                                $baseurlimg="../images/signos"; // Url de las imagenes de signo
147                                $clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol
148                                $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault);
149                                $tablanodo=$arbol->CreaArbolVistaXML();
150                        }
151                        break;
152                case $op_modificacion:
153                        $cmd->texto="UPDATE trabajos SET descripcion=@descripcion,comentarios=@comentarios WHERE idtrabajo=@idtrabajo";
154                        $resul=$cmd->Ejecutar();
155                        break;
156                case $op_eliminacion :
157                        $resul=EliminaTrabajos($cmd,$idtrabajo,"idtrabajo");
158                        break;
159                case $op_movida :
160                        $cmd->texto="UPDATE trabajos SET  grupoid=@grupoid WHERE idtrabajo=@idtrabajo";
161                        $resul=$cmd->Ejecutar();
162                        break;
163                case $op_ejecucion :
164                        $resul=ejecutando_trabajos();
165                        break;
166                default:
167                        break;
168        }
169        return($resul);
170}
171/*________________________________________________________________________________________________________
172        Crea un arbol XML para el nuevo nodo insertado
173________________________________________________________________________________________________________*/
174function SubarbolXML_trabajos($idtrabajo,$descripcion,$urlimg){
175                global $LITAMBITO_TRABAJOS;
176                $cadenaXML='<TRABAJO';
177                // Atributos
178                if      ($urlimg!="")
179                        $cadenaXML.=' imagenodo="'.$urlimg;
180                else
181                        $cadenaXML.=' imagenodo="../images/iconos/trabajos.gif"';
182                $cadenaXML.=' infonodo="'.$descripcion;
183                $cadenaXML.=' nodoid='.$LITAMBITO_TRABAJOS.'-'.$idtrabajo;
184                $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_TRABAJOS."'" .')"';
185                $cadenaXML.='>';
186                $cadenaXML.='</TRABAJO>';
187                return($cadenaXML);
188}
189//________________________________________________________________________________________________________
190function ejecutando_trabajos(){
191        global $EJECUCION_COMANDO;
192        global $EJECUCION_TAREA;
193        global $EJECUCION_TRABAJO;
194       
195        global $PROCESOS;
196
197        global $ACCION_INICIADA;
198        global $ACCION_SINERRORES;
199
200        global $idcentro;
201        global $idtrabajo;
202        global $cmd;
203
204        $ambitrabajo="";
205        $paramtrabajo="tsk=";
206
207        $tbTareas="";
208        $tabla_tareas="";
209        $cont_tareas=0;
210
211        $rs=new Recordset;
212        // Recorre trabajos_tareas
213        $cmd->texto="SELECT trabajos_tareas.idtrabajotarea,trabajos_tareas.idtarea,trabajos_tareas.ambitskwrk FROM trabajos_tareas INNER JOIN tareas ON  trabajos_tareas.idtarea=tareas.idtarea WHERE trabajos_tareas.idtrabajo=".$idtrabajo;
214        $cmd->texto.=" ORDER BY trabajos_tareas.orden";
215
216        $rs->Comando=&$cmd;
217        if (!$rs->Abrir()) return(false); // Error al abrir recordset
218        if ($rs->EOF) return(true); // Error al abrir recordset
219        $rs->Primero();
220        // Recorre trabajos-tareas
221        while (!$rs->EOF){
222                        $tbTareas["idnotificador"]=$rs->campos["idtrabajotarea"];
223                        $tbTareas["idtarea"]=$rs->campos["idtarea"];
224                        $tabla_tareas[$cont_tareas]=$tbTareas;
225                        $cont_tareas++;
226
227                        $ambitrabajo.=$rs->campos["ambitskwrk"].";";
228                        $paramtrabajo.=$rs->campos["idtrabajotarea"].";";
229
230                        $rs->Siguiente();
231        }
232        $rs->Cerrar();
233
234        $ambitrabajo=substr($ambitrabajo,0,strlen($ambitrabajo)-1); // Quita la coma final
235        $paramtrabajo=substr($paramtrabajo,0,strlen($paramtrabajo)-1); // Quita la coma final
236
237        //Creación parametros para inserción  --------------------------------------------------------------------
238        $cmd->CreaParametro("@tipoaccion","",1);
239        $cmd->CreaParametro("@idtipoaccion",0,1);
240        $cmd->CreaParametro("@cateaccion",$PROCESOS,1);
241        $cmd->CreaParametro("@ambito",0,1);
242        $cmd->CreaParametro("@idambito",0,1);
243        $cmd->CreaParametro("@ambitskwrk","",0);
244        $cmd->CreaParametro("@fechahorareg","",0);
245        $cmd->CreaParametro("@estado",$ACCION_INICIADA,0);
246        $cmd->CreaParametro("@resultado",$ACCION_SINERRORES,0);
247        $cmd->CreaParametro("@idcentro",$idcentro,1);
248        $cmd->CreaParametro("@parametros","",0);       
249        $cmd->CreaParametro("@accionid",0,1);   
250        $cmd->CreaParametro("@idnotificador",0,1);     
251
252        // Insertar accion:trabajo --------------------------------------------------------------------
253        $cmd->ParamSetValor("@tipoaccion",$EJECUCION_TRABAJO);
254        $cmd->ParamSetValor("@idtipoaccion",$idtrabajo);
255        $cmd->ParamSetValor("@ambito",0);
256        $cmd->ParamSetValor("@idambito",0);
257        $cmd->ParamSetValor("@ambitskwrk",$ambitrabajo);
258        $cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s"));
259        $cmd->ParamSetValor("@parametros",$paramtrabajo);
260        $cmd->texto="INSERT INTO acciones (tipoaccion,idtipoaccion,cateaccion,ambito,idambito,ambitskwrk,fechahorareg,estado,resultado,idcentro,parametros,accionid,idnotificador) VALUES (@tipoaccion,@idtipoaccion,@cateaccion,@ambito,@idambito,@ambitskwrk,@fechahorareg,@estado,@resultado,@idcentro,@parametros,0,0)";
261        $resul=$cmd->Ejecutar();
262        if(!$resul) return(false);
263
264        $accionid=$cmd->Autonumerico(); // Toma identificador dela acción
265
266        // Insertar acciones:tareas --------------------------------------------------------------------
267        for ($i=0;$i<$cont_tareas;$i++){
268                $tbTareas=$tabla_tareas[$i];
269                $resul=EjecutandoTareas($tbTareas["idtarea"],$accionid,$tbTareas["idnotificador"]);
270                if(!$resul) return(false);
271        }
272        return(true);
273}
274//________________________________________________________________________________________________________
275function EjecutandoTareas($idtarea,$accionid,$idnotificador){
276
277        global $EJECUCION_COMANDO;
278        global $EJECUCION_TAREA;
279        global $PROCESOS;
280
281        global $ACCION_INICIADA;
282        global $ACCION_SINERRORES;
283
284        global $idcentro;
285        global $servidorhidra;
286        global $hidraport;
287        global $cmd;
288
289        $shidra=new SockHidra($servidorhidra,$hidraport);
290
291        $ambitarea="";
292        $paramtarea="cmd=";
293
294        $tbComandos="";
295        $tabla_comandos="";
296        $cont_comandos=0;
297
298        // Recorre tareas-comandos
299        $rs=new Recordset;
300        $cmd->texto="SELECT * FROM tareas_comandos WHERE idtarea=".$idtarea;
301        $cmd->texto.=" ORDER by tareas_comandos.orden";
302        $rs->Comando=&$cmd;
303        if (!$rs->Abrir()) return(false); // Error al abrir recordset
304        $rs->Primero();
305        while (!$rs->EOF){
306                        $tbComandos["idcomando"]=$rs->campos["idcomando"];
307                        $tbComandos["ambito"]=$rs->campos["ambito"];
308                        $tbComandos["idambito"]=$rs->campos["idambito"];
309                        $tbComandos["parametros"]=$rs->campos["parametros"];
310                        $tbComandos["idnotificador"]=$rs->campos["idtareacomando"];
311
312                        $tabla_comandos[$cont_comandos]=$tbComandos;
313                        $cont_comandos++;
314
315                        $ambitarea.=$rs->campos["ambito"].":".$rs->campos["idambito"].";";
316                        $paramtarea.=$rs->campos["idtareacomando"].";";
317
318                        $rs->Siguiente();
319        }
320        $rs->Cerrar();
321
322        $ambitarea=substr($ambitarea,0,strlen($ambitarea)-1); // Quita la coma final
323        $paramtarea=substr($paramtarea,0,strlen($paramtarea)-1); // Quita la coma final
324
325        // Insertar accion:tarea --------------------------------------------------------------------
326        $cmd->ParamSetValor("@tipoaccion",$EJECUCION_TAREA);
327        $cmd->ParamSetValor("@idtipoaccion",$idtarea);
328        $cmd->ParamSetValor("@ambito",0);
329        $cmd->ParamSetValor("@idambito",0);
330        $cmd->ParamSetValor("@ambitskwrk",$ambitarea);
331        $cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s"));
332        $cmd->ParamSetValor("@parametros",$paramtarea);
333        $cmd->ParamSetValor("@accionid",$accionid);
334        $cmd->ParamSetValor("@idnotificador",$idnotificador);
335
336        $cmd->texto="INSERT INTO acciones (tipoaccion,idtipoaccion,cateaccion,ambito,idambito,ambitskwrk,fechahorareg,estado,resultado,idcentro,parametros,accionid,idnotificador) VALUES (@tipoaccion,@idtipoaccion,@cateaccion,@ambito,@idambito,@ambitskwrk,@fechahorareg,@estado,@resultado,@idcentro,@parametros,@accionid,@idnotificador)";
337        $resul=$cmd->Ejecutar();
338        if(!$resul) return(false);
339
340        $accionid=$cmd->Autonumerico(); // Toma identificador dela acción
341        // Insertar acciones:comandos
342        $shidra=new SockHidra($servidorhidra,$hidraport);
343        for ($i=0;$i<$cont_comandos;$i++){
344                $tbComandos=$tabla_comandos[$i];
345                $cmd->ParamSetValor("@tipoaccion",$EJECUCION_COMANDO);
346                $cmd->ParamSetValor("@idtipoaccion",$tbComandos["idcomando"]);
347                $cmd->ParamSetValor("@ambito",$tbComandos["ambito"]);
348                $cmd->ParamSetValor("@idambito",$tbComandos["idambito"]);
349                $cmd->ParamSetValor("@ambitskwrk","");
350                $cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s"));
351                $cmd->ParamSetValor("@parametros",$tbComandos["parametros"]);
352                $cmd->ParamSetValor("@accionid",$accionid);
353                $cmd->ParamSetValor("@idnotificador",$tbComandos["idnotificador"]);
354
355                $cmd->texto="INSERT INTO acciones (tipoaccion,idtipoaccion,cateaccion,ambito,idambito,ambitskwrk,fechahorareg,estado,resultado,idcentro,parametros,accionid,idnotificador) VALUES (@tipoaccion,@idtipoaccion,@cateaccion,@ambito,@idambito,@ambitskwrk,@fechahorareg,@estado,@resultado,@idcentro,@parametros,@accionid,@idnotificador)";
356                $resul=$cmd->Ejecutar();
357                if(!$resul) return(false);
358                $tbComandos["parametros"].="ids=".$cmd->Autonumerico().chr(13);
359
360                if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra
361                        $shidra->envia_comando($tbComandos["parametros"]);
362                        $shidra->desconectar();
363                }
364        }
365        return(true);
366}
367?>
Note: See TracBrowser for help on using the repository browser.