Skip to content

Commit 2009236

Browse files
committed
2 parents 39edebe + 2742ad8 commit 2009236

File tree

19 files changed

+275
-80
lines changed

19 files changed

+275
-80
lines changed

api/config/db/models/accidentes.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,23 @@ module.exports = (sequelize, DataTypes) => {
5656
})
5757
})
5858
}
59+
60+
define.BorrarPorPuestos = function ({ id }) {
61+
return new Promise((resolve, reject) => {
62+
this.destroy({
63+
where: {
64+
puestosId: id
65+
}})
66+
.then((rowDeleted) => {
67+
if (rowDeleted > 0) {
68+
resolve(true)
69+
} else {
70+
resolve(false)
71+
}
72+
}).catch((err) => {
73+
return reject(err)
74+
})
75+
})
76+
}
5977
return define
6078
}

api/config/db/models/areasPuestos.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,23 @@ module.exports = (sequelize, DataTypes) => {
3535
})
3636
})
3737
}
38+
39+
define.Borrar = function ({ id }) {
40+
return new Promise((resolve, reject) => {
41+
this.destroy({
42+
where: {
43+
id
44+
}})
45+
.then((rowDeleted) => {
46+
if (rowDeleted > 0) {
47+
resolve(true)
48+
} else {
49+
resolve(false)
50+
}
51+
}).catch((err) => {
52+
return reject(err)
53+
})
54+
})
55+
}
3856
return define
3957
}

api/config/db/models/novedades.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,5 +90,23 @@ module.exports = (sequelize, DataTypes) => {
9090
})
9191
})
9292
}
93+
94+
define.BorrarPorPuestos = function ({ id }) {
95+
return new Promise((resolve, reject) => {
96+
this.destroy({
97+
where: {
98+
puestosId: id
99+
}})
100+
.then((rowDeleted) => {
101+
if (rowDeleted > 0) {
102+
resolve(true)
103+
} else {
104+
resolve(false)
105+
}
106+
}).catch((err) => {
107+
return reject(err)
108+
})
109+
})
110+
}
93111
return define
94112
}

api/config/db/models/personasPuestos.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,23 @@ module.exports = (sequelize, DataTypes) => {
5353
})
5454
})
5555
}
56+
57+
define.Borrar = function ({ id }) {
58+
return new Promise((resolve, reject) => {
59+
this.destroy({
60+
where: {
61+
id
62+
}})
63+
.then((rowDeleted) => {
64+
if (rowDeleted > 0) {
65+
resolve(true)
66+
} else {
67+
resolve(false)
68+
}
69+
}).catch((err) => {
70+
return reject(err)
71+
})
72+
})
73+
}
5674
return define
5775
}

api/config/db/models/riesgos.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ module.exports = (sequelize, DataTypes) => {
3333
valoracion,
3434
valoracionLiteral,
3535
fecha,
36-
porcentajeRiesgo
36+
porcentajeRiesgo,
37+
puestosId
3738
}) {
3839
let datos = arguments['0']
3940
return new Promise((resolve, reject) => {
@@ -63,5 +64,23 @@ module.exports = (sequelize, DataTypes) => {
6364
})
6465
})
6566
}
67+
68+
define.BorrarPorPuestos = function ({ id }) {
69+
return new Promise((resolve, reject) => {
70+
this.destroy({
71+
where: {
72+
puestosId: id
73+
}})
74+
.then((rowDeleted) => {
75+
if (rowDeleted > 0) {
76+
resolve(true)
77+
} else {
78+
resolve(false)
79+
}
80+
}).catch((err) => {
81+
return reject(err)
82+
})
83+
})
84+
}
6685
return define
6786
}

api/web/puestos/puestos.controller.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// const _ = require('lodash')
12
module.exports = ({ responses, db }) => {
23
const proto = {
34
Crear (datos) {
@@ -50,14 +51,21 @@ module.exports = ({ responses, db }) => {
5051
},
5152
Borrar ({ id }) {
5253
return new Promise((resolve, reject) => {
53-
db.puestos.Borrar({ id })
54+
Promise.all([
55+
db.novedades.BorrarPorPuestos({ id }),
56+
db.riesgos.BorrarPorPuestos({ id }),
57+
db.accidentes.BorrarPorPuestos({ id }),
58+
db.puestos.Borrar({ id })
59+
])
5460
.then((resp) => {
55-
if (!resp) {
61+
// let valido = _.every(resp)
62+
if (!resp[3]) {
5663
resolve(responses.NO_OK('puesto con es id no existe'))
5764
} else {
58-
resolve(responses.OK(resp))
65+
resolve(responses.OK(resp[3]))
5966
}
6067
}).catch((err) => {
68+
console.log(err)
6169
console.error(err)
6270
return reject(responses.ERROR_SERVIDOR)
6371
})

api/web/puestos/test/puestos.router.test.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,15 @@ const API = require('./API_DOCS')
1313
const models = db.db
1414
let docs = []
1515
describe('Puestos', () => {
16-
let { puestos, areas } = dump
16+
let { puestos, areas, novedades, riesgos, accidentes } = dump
1717
let puesto = puestos.VALIDOS[0]
1818
let puesto2 = puestos.VALIDOS[1]
1919
let puesto3 = puestos.VALIDOS[6]
2020
let area = areas.VALIDOS[0]
2121
let area2 = areas.VALIDOS[1]
22+
let novedad = novedades.VALIDOS[0]
23+
let riesgo = riesgos.VALIDOS[0]
24+
let accidente = accidentes.VALIDOS[0]
2225
before('Limpiar la base de datos', async () => {
2326
await db.Limpiar()
2427
})
@@ -98,6 +101,10 @@ describe('Puestos', () => {
98101
let { API_5 } = API
99102
it('@CP5 OK', async () => {
100103
let puestosCreada = await models.puestos.Crear(puesto)
104+
let puestosId = puestosCreada['id']
105+
let novedadCreada = await models.novedades.Crear({ ...novedad, puestosId })
106+
let riesgoCreada = await models.riesgos.Crear({ ...riesgo, puestosId })
107+
let accidenteCreada = await models.accidentes.Crear({ ...accidente, puestosId })
101108
let res = await request(app).delete(`/api/web/puestos/${puestosCreada['id']}`)
102109
expect(res.body.codigoEstado).to.equal(200)
103110
expect(res.body.estado).to.equal(true)

app.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ const bodyParser = require('body-parser')
2323
const morgan = require('morgan')
2424
const app = express()
2525
const cors = require('cors')
26-
const path = require('path')
2726

2827
app.use(bodyParser.json())
2928
app.use(bodyParser.urlencoded({ extended: false }))
@@ -40,9 +39,8 @@ require('./api/server.api')(api)
4039
app.use('/api', api)
4140

4241
// montar cliente
43-
app.use('/', express.static(path.join(__dirname, 'client/dist')))
44-
// const client = express()
45-
// require('./client/client.server')(client)
46-
// app.use('/', client)
42+
const client = express()
43+
require('./client/client.server')(client)
44+
app.use('/', client)
4745

4846
module.exports = app

client/src/components/PuestoCrear.vue

Whitespace-only changes.

client/src/components/VerPuestos.vue

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,19 @@
2626
</v-card>
2727
</v-dialog>
2828
</v-card>
29+
<v-btn
30+
v-on:click="crearPuesto = true"
31+
>
32+
Agregar nuevo puesto
33+
</v-btn>
2934
<v-btn
3035
@click="dashboard"
3136
>
3237
Regresar
3338
</v-btn>
3439
</v-flex>
3540
</v-layout>
41+
3642
</div>
3743
<v-snackbar
3844
:timeout="3000"
@@ -43,19 +49,56 @@
4349
>
4450
{{mensajeSnackbar}}
4551
</v-snackbar>
52+
<v-layout row justify-center>
53+
<v-dialog v-model="crearPuesto" persistent max-width="600px">
54+
<v-card>
55+
<v-card-title>
56+
<span class="headline">Agregar nuevo puesto</span>
57+
</v-card-title>
58+
<v-card-text>
59+
<v-form v-model="valid">
60+
<v-text-field
61+
v-model = "nombre"
62+
label="Nombre" required
63+
:rules="[rules.required]"
64+
></v-text-field>
65+
<v-text-field
66+
v-model = "descripcion"
67+
label="Descripción" required
68+
:rules="[rules.required]"
69+
></v-text-field>
70+
</v-form>
71+
</v-card-text>
72+
<v-card-actions>
73+
<v-spacer></v-spacer>
74+
<v-btn color="blue darken-1" flat @click.native="crearPuesto = false">Cerrar</v-btn>
75+
<v-btn color="blue darken-1" flat :disabled="!valid" @click = "crear ()">Crear</v-btn>
76+
</v-card-actions>
77+
</v-card>
78+
</v-dialog>
79+
</v-layout>
4680
</main>
4781
</template>
4882

4983
<script>
5084
import router from '../router'
85+
5186
export default {
5287
data () {
5388
return {
89+
valid: false,
90+
crearPuesto: false,
5491
dialog: false,
5592
mensajeSnackbar: '',
5693
color: '',
5794
snackbar: false,
58-
id_eliminar: null
95+
id_eliminar: null,
96+
nombre: '',
97+
descripcion: '',
98+
rules: {
99+
required: (value) => !!value || 'Campo Requerido.',
100+
RUC: (value) => value.length <= 13 || 'Deben ser 13 caracteres'
101+
}
59102
}
60103
},
61104
methods: {
@@ -108,6 +151,32 @@ export default {
108151
.catch((err) => {
109152
console.log(err)
110153
})
154+
},
155+
crear () {
156+
let nombre = this.$data.nombre
157+
let descripcionLugar = this.$data.descripcion
158+
let areaId = this.$store.getters.areaSelected.id
159+
this.$store.dispatch('crearPuesto', { nombre, descripcionLugar, areaId })
160+
.then((resp) => {
161+
this.snackbar = true
162+
this.mensajeSnackbar = 'Puesto Creado.'
163+
this.color = 'success'
164+
this.$data.crearPuesto = false
165+
this.$store.dispatch('getPuestos', this.$store.getters.areaSelected.id)
166+
.then((resp) => {
167+
console.log('no error')
168+
router.push('puestos')
169+
})
170+
.catch((err) => {
171+
this.color = 'error'
172+
this.snackbar = true
173+
this.mensajeSnackbar = err
174+
console.log('error 1')
175+
})
176+
})
177+
.catch((err) => {
178+
console.log(err)
179+
})
111180
}
112181
}
113182
}

0 commit comments

Comments
 (0)