summaryrefslogtreecommitdiffstats
path: root/sources
diff options
context:
space:
mode:
authoririna <irinagomez@us.es>2016-04-26 07:41:46 +0000
committeririna <irinagomez@us.es>2016-04-26 07:41:46 +0000
commit8712fd91b0510449a735000a65a56c015be97204 (patch)
treed35baf4098f3a551e9db7c49e7c3d35a2cceb2aa /sources
parent60bbc2598095cbfbc87c7bf497be064f0346da12 (diff)
#738 #713 Inventario de software: se muestra sistema operativo y se guarda en el perfil de software
git-svn-id: https://opengnsys.es/svn/branches/version1.1@4901 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'sources')
-rw-r--r--sources/ogAdmServer.cpp23
-rw-r--r--sources/ogAdmServer.h2
2 files changed, 18 insertions, 7 deletions
diff --git a/sources/ogAdmServer.cpp b/sources/ogAdmServer.cpp
index c76f63c..16e8ac3 100644
--- a/sources/ogAdmServer.cpp
+++ b/sources/ogAdmServer.cpp
@@ -3083,10 +3083,12 @@ BOOLEAN RESPUESTA_InventarioSoftware(SOCKET *socket_c, TRAMA* ptrTrama) {
// Devuelve:
// TRUE: Si el proceso es correcto
// FALSE: En caso de ocurrir algún error
+//
+// Versión 1.1.0: Se incluye el sistema operativo. Autora: Irina Gómez - ETSII Universidad Sevilla
// ________________________________________________________________________________________________________
BOOLEAN actualizaSoftware(Database db, Table tbl, char* sft, char* par,char* ido, char* npc, char* idc)
{
- int i, j, lon, aux, idperfilsoft;
+ int i, j, lon, aux, idperfilsoft, idnombreso;
bool retval;
char *wsft;
int tbidsoftware[MAXSOFTWARE];
@@ -3134,6 +3136,12 @@ BOOLEAN actualizaSoftware(Database db, Table tbl, char* sft, char* par,char* ido
lon = MAXSOFTWARE; // Limita el número de componentes software
for (i = 0; i < lon; i++) {
+ // Primera línea es el sistema operativo: se obtiene identificador
+ if (i == 0) {
+ idnombreso = checkDato(db, tbl, rTrim(tbSoftware[i]), "nombresos", "nombreso", "idnombreso");
+ continue;
+ }
+
sprintf(sqlstr,
"SELECT idsoftware FROM softwares WHERE descripcion ='%s'",
rTrim(tbSoftware[i]));
@@ -3202,7 +3210,7 @@ BOOLEAN actualizaSoftware(Database db, Table tbl, char* sft, char* par,char* ido
aux += sprintf(idsoftwares + aux, ",%d", tbidsoftware[i]);
// Comprueba existencia de perfil software y actualización de éste para el ordenador
- if (!cuestionPerfilSoftware(db, tbl, idc, ido, idperfilsoft, idsoftwares,
+ if (!cuestionPerfilSoftware(db, tbl, idc, ido, idperfilsoft, idnombreso, idsoftwares,
npc, par, tbidsoftware, lon)) {
errorLog(modulo, 83, FALSE);
errorInfo(modulo, msglog);
@@ -3223,6 +3231,7 @@ BOOLEAN actualizaSoftware(Database db, Table tbl, char* sft, char* par,char* ido
// - tbl: Objeto tabla
// - idcentro: Identificador del centro en la tabla
// - ido: Identificador del ordenador del cliente en la tabla
+// - idnombreso: Identificador del sistema operativo
// - idsoftwares: Cadena con los identificadores de componentes software separados por comas
// - npc: Nombre del ordenador del cliente
// - particion: Número de la partición
@@ -3231,9 +3240,11 @@ BOOLEAN actualizaSoftware(Database db, Table tbl, char* sft, char* par,char* ido
// Devuelve:
// TRUE: Si el proceso es correcto
// FALSE: En caso de ocurrir algún error
-//________________________________________________________________________________________________________/
+//
+// Versión 1.1.0: Se incluye el sistema operativo. Autora: Irina Gómez - ETSII Universidad Sevilla
+//_________________________________________________________________________________________________________
BOOLEAN cuestionPerfilSoftware(Database db, Table tbl, char* idc, char* ido,
- int idperfilsoftware, char *idsoftwares, char *npc, char *par,
+ int idperfilsoftware, int idnombreso, char *idsoftwares, char *npc, char *par,
int *tbidsoftware, int lon) {
char *sqlstr, msglog[LONSTD];
int i, nwidperfilsoft;
@@ -3261,8 +3272,8 @@ BOOLEAN cuestionPerfilSoftware(Database db, Table tbl, char* idc, char* ido,
return (false);
}
if (tbl.ISEOF()) { // No existe un perfil software con esos componentes de componentes software, lo crea
- sprintf(sqlstr, "INSERT perfilessoft (descripcion,idcentro,grupoid)"
- " VALUES('Perfil Software (%s, Part:%s) ',%s,0)", npc, par, idc);
+ sprintf(sqlstr, "INSERT perfilessoft (descripcion, idcentro, grupoid, idnombreso)"
+ " VALUES('Perfil Software (%s, Part:%s) ',%s,0,%i)", npc, par, idc,idnombreso);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
diff --git a/sources/ogAdmServer.h b/sources/ogAdmServer.h
index cf2930a..48f0be3 100644
--- a/sources/ogAdmServer.h
+++ b/sources/ogAdmServer.h
@@ -117,7 +117,7 @@ BOOLEAN RESPUESTA_InventarioHardware(SOCKET *,TRAMA *);
BOOLEAN actualizaHardware(Database, Table,char* ,char*,char*,char*);
BOOLEAN cuestionPerfilHardware(Database,Table,char*,char*,int,char*,char*,int *,int);
BOOLEAN actualizaSoftware(Database , Table , char* , char* , char*,char*,char*);
-BOOLEAN cuestionPerfilSoftware(Database, Table, char*, char*,int,char*,char*,char*,int *,int);
+BOOLEAN cuestionPerfilSoftware(Database, Table, char*, char*,int,int,char*,char*,char*,int *,int);
BOOLEAN enviaArchivo(SOCKET *, TRAMA *);
BOOLEAN recibeArchivo(SOCKET *, TRAMA *);