-
Notifications
You must be signed in to change notification settings - Fork 1
/
main.js
167 lines (105 loc) · 2.95 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
const electron = require('electron')
const {app, BrowserWindow, Menu} = electron
const path = require('path')
const url = require('url')
fs = require('fs');
//Referencia a libreria para mandar mensajes del main al renderer
const {ipcMain} = require('electron')
// hacemos referencia a la dependencia de MongoDB
var mongodb = require('mongodb');
// Puerto y server de mongo
var server = new mongodb.Server("127.0.0.1", 27017, {});
// Llamamos a nuestra base de datos
var db = new mongodb.Db('pruebas', server, {})
var totalRegistros = "";
var aggData = "";
// abrimos la base pasando el callback para cuando esté lista para usar
db.open(function (error, client) {
if (error) throw error;
//Obtenemos la coleccion
var collection = db.collection("prueba8");
collection.find({}).toArray(function(err, docs) {
//imprimimos en la consola el resultado
totalRegistros = docs.length;
console.log(totalRegistros);
});
collection.find().forEach(function(e,i) {
e.monto_presupuestado = e.monto_presupuestado.toString();
e.monto_presupuestado = e.monto_presupuestado.replace(",", ".");
e.monto_presupuestado = Number(e.monto_presupuestado);
collection.save(e);
});
setInterval(function(){
collection.aggregate([
{
$project: { "monto_presupuestado" : 1, "caracter": 1, _id: 0 }
},
{
$group:
{
_id:
{
"caracter": "$caracter",
"total": { $sum: "$monto_presupuestado" }
}
}
},
{
$sort: { "total": 1 }
}
]).toArray(function(err, docs) {
//imprimimos en la consola el resultado
aggData = docs;
console.log(aggData);
});
}, 3000);
});
ipcMain.on('mensaje', (event, arg) => {
event.sender.send('cantidadDocumentos', totalRegistros, totalLeyesNac)
})
let mainWindow
function createWindow () {
// Crea la ventana principal
mainWindow = new BrowserWindow({
width: 1280,
height: 720,
icon:__dirname+"/img/logo.png"
})
// Renderizando HTML
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file:',
slashes: true
}))
mainWindow.on('closed', () => {
mainWindow = null
})
}
electron.app.on('browser-window-created',function(e,window) {
//Cuando la ventana sea creada asegurate que no tenga menu y este en fullscreen
window.setMenu(null);
// Descomenta si queres que inicie en fullscreen.
//window.setFullScreen(true);
});
// Crea ventana al iniciar app
app.on('ready', () => {
createWindow()
electron.powerMonitor.on('on-ac', () => {
mainWindow.restore()
})
electron.powerMonitor.on('on-battery', () => {
mainWindow.minimize()
})
})
// Cierra app en ventanas cerradass
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
// Para MacOs
app.on('activate', () => {
if (mainWindow === null) {
createWindow()
}
})