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

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 dc00c0f was 902e3b6, checked in by alonso <alonso@…>, 15 years ago

primeros archivos de administración

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

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