Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
efernov
NOVODENTAL
Commits
dd0c3e6b
Commit
dd0c3e6b
authored
2 years ago
by
efernov
Browse files
Options
Download
Email Patches
Plain Diff
sacar en descripcion un string close
#19
parent
1f50b595
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
152 additions
and
77 deletions
+152
-77
frontend/.browserslistrc
frontend/.browserslistrc
+1
-1
frontend/src/app/ortodoncias/alambre/alambre.component.html
frontend/src/app/ortodoncias/alambre/alambre.component.html
+2
-17
frontend/src/app/ortodoncias/models/ortodoncia.ts
frontend/src/app/ortodoncias/models/ortodoncia.ts
+0
-1
frontend/src/app/ortodoncias/ortodoncia-form/ortodoncia-form.component.html
...rtodoncias/ortodoncia-form/ortodoncia-form.component.html
+3
-3
frontend/src/app/ortodoncias/tornillo/tornillo.component.html
...tend/src/app/ortodoncias/tornillo/tornillo.component.html
+3
-16
src/main/java/novodental/ConfiguracionPorJava.java
src/main/java/novodental/ConfiguracionPorJava.java
+1
-1
src/main/java/novodental/entidades/AlambreConId.java
src/main/java/novodental/entidades/AlambreConId.java
+4
-0
src/main/java/novodental/entidades/OrtodonciaConId.java
src/main/java/novodental/entidades/OrtodonciaConId.java
+23
-21
src/main/java/novodental/entidades/TornilloConId.java
src/main/java/novodental/entidades/TornilloConId.java
+3
-4
src/main/java/novodental/novodental/NovodentalApplication.java
...ain/java/novodental/novodental/NovodentalApplication.java
+3
-1
src/main/java/novodental/repositorios/AlambreConIdListener.java
...in/java/novodental/repositorios/AlambreConIdListener.java
+21
-0
src/main/java/novodental/repositorios/OrtodonciaConIdListener.java
...java/novodental/repositorios/OrtodonciaConIdListener.java
+37
-0
src/main/java/novodental/repositorios/TornilloConIdListener.java
...n/java/novodental/repositorios/TornilloConIdListener.java
+21
-0
src/main/java/novodental/rest/OrtodonciaController.java
src/main/java/novodental/rest/OrtodonciaController.java
+17
-1
src/main/resources/application.properties
src/main/resources/application.properties
+13
-11
No files found.
frontend/.browserslistrc
View file @
dd0c3e6b
...
...
@@ -8,8 +8,8 @@
# You can see what browsers were selected by your queries by running:
# npx browserslist
last 1 Chrome version
last 1 Firefox version
last 1 Chrome version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
...
...
This diff is collapsed.
Click to expand it.
frontend/src/app/ortodoncias/alambre/alambre.component.html
View file @
dd0c3e6b
...
...
@@ -23,7 +23,7 @@
</article>
<article
class=
"col-2"
>
<
select
class=
"form-select
"
<
input
type=
"number
"
[(ngModel)]=
"_alambre.precio"
name=
"precio"
required
...
...
@@ -33,15 +33,6 @@
[ngClass]=
"{
'is-invalid': precio.invalid && (precio.dirty || precio.touched),
'is-valid': !precio.invalid && precio.dirty && precio.value !=0}"
>
<option
value=
"0"
>
Seleccione un valor
</option>
<option
value=
"0.5"
>
0.5
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"1.5"
>
1.5
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"2.5"
>
2.5
</option>
<option
value=
"3"
>
3
</option>
<option
value=
"4"
>
4
</option>
</select>
<div
class=
"text-danger"
*ngIf=
"precio.invalid && (precio.dirty || precio.touched) || (precio.value ==0 && precio.dirty)"
>
...
...
@@ -101,7 +92,7 @@
</article>
<article
class=
"col-2"
>
<
select
class=
"form-select
"
<
input
type=
"number
"
[(ngModel)]=
"_alambre.cantidad"
name=
"cantidad"
required=
"required"
...
...
@@ -111,12 +102,6 @@
[ngClass]=
"{
'is-invalid': cantidad.invalid && (cantidad.dirty || cantidad.touched),
'is-valid': !cantidad.invalid && cantidad.dirty}"
>
<option
value=
"0"
>
Seleccione un valor
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
<option
value=
"4"
>
4
</option>
</select>
<div
class=
"text-danger"
*ngIf=
"cantidad.invalid && (cantidad.dirty || cantidad.touched) || (cantidad.value ==0 && cantidad.dirty)"
>
...
...
This diff is collapsed.
Click to expand it.
frontend/src/app/ortodoncias/models/ortodoncia.ts
View file @
dd0c3e6b
import
{
InstantiateExpr
}
from
"
@angular/compiler
"
;
export
interface
Ortodoncia
{
id
:
number
;
...
...
This diff is collapsed.
Click to expand it.
frontend/src/app/ortodoncias/ortodoncia-form/ortodoncia-form.component.html
View file @
dd0c3e6b
...
...
@@ -111,11 +111,11 @@
<td>
{{material.cantidad}}
</td>
<td>
{{material.precio}}
</td>
<td>
<button
(click)=
"editarMaterial(material)"
*ngIf=
"material.urlAlambre"
class=
"btn btn-info"
data-bs-toggle=
"modal"
data-bs-target=
"#alambre"
>
Editar
<fa-icon
[icon] =
"faPencil"
></fa-icon></button>
<button
(click)=
"editarMaterial(material)"
*ngIf=
"material.urlTornillo"
class=
"btn btn-info"
data-bs-toggle=
"modal"
data-bs-target=
"#tornillo"
>
Editar
<fa-icon
[icon] =
"faPencil"
></fa-icon></button>
<button
(click)=
"editarMaterial(material)"
*ngIf=
"material.urlAlambre"
class=
"btn btn-info"
data-bs-toggle=
"modal"
data-bs-target=
"#alambre"
><fa-icon
[icon] =
"faPencil"
></fa-icon></button>
<button
(click)=
"editarMaterial(material)"
*ngIf=
"material.urlTornillo"
class=
"btn btn-info"
data-bs-toggle=
"modal"
data-bs-target=
"#tornillo"
><fa-icon
[icon] =
"faPencil"
></fa-icon></button>
</td>
<td>
<button
class=
"btn btn-danger"
(click)=
"eliminarMaterial(material.id)"
>
Borrar
<fa-icon
[icon] =
"faBasura"
></fa-icon></button>
<button
class=
"btn btn-danger"
(click)=
"eliminarMaterial(material.id)"
><fa-icon
[icon] =
"faBasura"
></fa-icon></button>
</td>
</tr>
</tbody>
...
...
This diff is collapsed.
Click to expand it.
frontend/src/app/ortodoncias/tornillo/tornillo.component.html
View file @
dd0c3e6b
...
...
@@ -23,7 +23,7 @@
</article>
<article
class=
"col-2"
>
<
select
class=
"form-select
"
<
input
type=
"number
"
[(ngModel)]=
"_tornillo.precio"
name=
"precio"
required
...
...
@@ -33,14 +33,7 @@
[ngClass]=
"{
'is-invalid': precio.invalid && (precio.dirty || precio.touched),
'is-valid': !precio.invalid && precio.dirty && precio.value !=0}"
>
<option
value=
"0"
>
Seleccione un valor
</option>
<option
value=
"5"
>
5
</option>
<option
value=
"10"
>
10
</option>
<option
value=
"15"
>
15
</option>
<option
value=
"20"
>
20
</option>
<option
value=
"25"
>
25
</option>
<option
value=
"30"
>
30
</option>
</select>
<div
class=
"text-danger"
*ngIf=
"precio.invalid && (precio.dirty || precio.touched) || (precio.value ==0 && precio.dirty)"
>
...
...
@@ -105,7 +98,7 @@
</article>
<article
class=
"col-2"
>
<
select
class=
"form-select
"
aria-label=
""
<
input
type=
"number
"
aria-label=
""
[(ngModel)]=
"_tornillo.cantidad"
name=
"cantidad"
required
...
...
@@ -115,12 +108,6 @@
[ngClass]=
"{
'is-invalid': cantidad.invalid && (cantidad.dirty || cantidad.touched),
'is-valid': !cantidad.invalid && cantidad.dirty}"
>
<option
value=
"0"
>
Seleccione un valor
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
<option
value=
"4"
>
4
</option>
</select>
<div
class=
"text-danger"
*ngIf=
"cantidad.invalid && (cantidad.dirty || cantidad.touched) || (cantidad.value ==0 && cantidad.dirty)"
>
...
...
This diff is collapsed.
Click to expand it.
src/main/java/novodental/ConfiguracionPorJava.java
View file @
dd0c3e6b
...
...
@@ -32,7 +32,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import
com.fasterxml.jackson.databind.SerializationFeature
;
import
com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
;
import
novodental.entidades.OrtodonciaConId
;
//import rest.OrtodonciaController;
...
...
This diff is collapsed.
Click to expand it.
src/main/java/novodental/entidades/AlambreConId.java
View file @
dd0c3e6b
...
...
@@ -5,13 +5,17 @@ import javax.persistence.AccessType;
import
javax.persistence.Column
;
import
javax.persistence.DiscriminatorValue
;
import
javax.persistence.Entity
;
import
javax.persistence.EntityListeners
;
import
novodental.ortodoncia.Alambre
;
import
novodental.repositorios.AlambreConIdListener
;
@Entity
@EntityListeners
(
AlambreConIdListener
.
class
)
@Access
(
value
=
AccessType
.
FIELD
)
@DiscriminatorValue
(
"Alambre"
)
public
class
AlambreConId
extends
MaterialConId
implements
Alambre
{
...
...
This diff is collapsed.
Click to expand it.
src/main/java/novodental/entidades/OrtodonciaConId.java
View file @
dd0c3e6b
...
...
@@ -5,6 +5,7 @@ import java.util.List;
import
javax.persistence.CascadeType
;
import
javax.persistence.Entity
;
import
javax.persistence.EntityListeners
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
...
...
@@ -17,15 +18,17 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import
novodental.ortodoncia.Material
;
import
novodental.ortodoncia.Ortodoncia
;
import
novodental.repositorios.OrtodonciaConIdListener
;
@Entity
@EntityListeners
(
OrtodonciaConIdListener
.
class
)
@Table
(
name
=
"ORTODONCIAS"
)
@Inheritance
(
strategy
=
InheritanceType
.
SINGLE_TABLE
)
public
class
OrtodonciaConId
extends
Ortodoncia
{
public
static
final
String
FECHA_SALIDA
=
"fechaSalida"
;
public
static
final
String
MATERIALES
=
"materiales"
;
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
int
id
;
...
...
@@ -37,11 +40,11 @@ public class OrtodonciaConId extends Ortodoncia {
@JsonIgnore
@OneToMany
(
cascade
=
CascadeType
.
ALL
,
targetEntity
=
MaterialConId
.
class
,
mappedBy
=
"ortodoncia"
)
private
List
<
Material
>
materiales
;
public
OrtodonciaConId
()
{
super
();
}
public
int
getId
()
{
return
id
;
}
...
...
@@ -49,7 +52,7 @@ public class OrtodonciaConId extends Ortodoncia {
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
@Override
public
String
getTipoTrabajo
()
{
// TODO Auto-generated method stub
...
...
@@ -61,7 +64,7 @@ public class OrtodonciaConId extends Ortodoncia {
// TODO Auto-generated method stub
this
.
tipoTrabajo
=
tipoTrabajo
;
}
public
Instant
getFechaEntrada
()
{
return
fechaEntrada
;
}
...
...
@@ -78,7 +81,6 @@ public class OrtodonciaConId extends Ortodoncia {
this
.
fechaSalida
=
fechaSalida
;
}
public
float
getImporteOrtodoncia
()
{
return
importeOrtodoncia
;
}
...
...
@@ -101,19 +103,19 @@ public class OrtodonciaConId extends Ortodoncia {
+
", fechaSalida="
+
fechaSalida
+
", importeOrtodoncia="
+
importeOrtodoncia
+
", materiales="
+
materiales
+
"]"
;
}
/*public void add
Material
ConI
d(
M
aterial
ConId
material
) {
getMateriales().add(material);
material.setOrtodoncia(this);
}*/
// public float getImporte(
) {
//
f
loat resultado = 0;
// for (Material m
aterial
:
material
es) {
//
resultado += material.getPrecio();
//
}
//
return resultado;
//
}
/*
* public void addMaterialConId(MaterialConId material) {
* get
Material
es().ad
d(
m
aterial
);
material
.setOrtodoncia(this); }
*/
public
float
getImporte
()
{
float
resultado
=
0
;
if
(
materiales
!=
null
)
{
f
or
(
Material
material
:
materiales
)
{
resultado
+=
material
.
getPrecio
()
*
((
M
aterial
ConId
)
material
).
getCantidad
();
}
}
return
resultado
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/novodental/entidades/TornilloConId.java
View file @
dd0c3e6b
...
...
@@ -5,17 +5,16 @@ import javax.persistence.AccessType;
import
javax.persistence.Column
;
import
javax.persistence.DiscriminatorValue
;
import
javax.persistence.Entity
;
import
javax.persistence.FetchType
;
import
javax.persistence.JoinColumn
;
import
javax.persistence.ManyToOne
;
import
javax.persistence.EntityListeners
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
novodental.ortodoncia.Tornillo
;
import
novodental.repositorios.TornilloConIdListener
;
@Entity
@EntityListeners
(
TornilloConIdListener
.
class
)
@Access
(
value
=
AccessType
.
FIELD
)
@DiscriminatorValue
(
"Tornillo"
)
public
class
TornilloConId
extends
MaterialConId
implements
Tornillo
{
...
...
This diff is collapsed.
Click to expand it.
src/main/java/novodental/NovodentalApplication.java
→
src/main/java/novodental/
novodental/
NovodentalApplication.java
View file @
dd0c3e6b
package
novodental
;
package
novodental.
novodental
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.context.annotation.ImportResource
;
import
novodental.ConfiguracionPorJava
;
@SpringBootApplication
@Import
({
ConfiguracionPorJava
.
class
})
@ImportResource
({
"classpath:config/jpa-config.xml"
})
...
...
This diff is collapsed.
Click to expand it.
src/main/java/novodental/repositorios/AlambreConIdListener.java
0 → 100644
View file @
dd0c3e6b
package
novodental.repositorios
;
import
javax.persistence.PrePersist
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
novodental.entidades.AlambreConId
;
public
class
AlambreConIdListener
{
private
Logger
log
=
LoggerFactory
.
getLogger
(
AlambreConIdListener
.
class
);
@PrePersist
public
void
preGuardarAlambre
(
AlambreConId
alambre
)
{
log
.
warn
(
"Se va a guardar el alambre con id "
+
alambre
.
getId
());
}
}
This diff is collapsed.
Click to expand it.
src/main/java/novodental/repositorios/OrtodonciaConIdListener.java
0 → 100644
View file @
dd0c3e6b
package
novodental.repositorios
;
import
java.time.Instant
;
import
javax.persistence.PrePersist
;
import
javax.persistence.PreUpdate
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.server.ResponseStatusException
;
import
novodental.entidades.OrtodonciaConId
;
public
class
OrtodonciaConIdListener
{
private
Logger
log
=
LoggerFactory
.
getLogger
(
OrtodonciaConIdListener
.
class
);
@PrePersist
@PreUpdate
public
void
preGuardarOrtodoncia
(
OrtodonciaConId
ortodoncia
)
{
Instant
fe
=
ortodoncia
.
getFechaEntrada
();
Instant
fs
=
ortodoncia
.
getFechaSalida
();
if
(
fe
.
getEpochSecond
()
>
fs
.
getEpochSecond
())
{
log
.
warn
(
"Se ha intentado crear una ortodoncia con una fecha e entrada superior a la fecha de salida."
);
throw
new
ResponseStatusException
(
HttpStatus
.
BAD_REQUEST
,
"La fecha de salida debe ser mayor que la fecha de entrada."
);
}
float
importe
=
ortodoncia
.
getImporte
();
ortodoncia
.
setImporteOrtodoncia
(
importe
);
log
.
warn
(
"Se va a guardar la Ortodoncia con id "
+
ortodoncia
.
getId
()
+
" con un importe de "
+
importe
);
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/novodental/repositorios/TornilloConIdListener.java
0 → 100644
View file @
dd0c3e6b
package
novodental.repositorios
;
import
javax.persistence.PrePersist
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
novodental.entidades.TornilloConId
;
public
class
TornilloConIdListener
{
private
Logger
log
=
LoggerFactory
.
getLogger
(
TornilloConIdListener
.
class
);
@PrePersist
public
void
preGuardarTornillo
(
TornilloConId
tornillo
)
{
log
.
warn
(
"Se va a guardar el tornillo con id "
+
tornillo
.
getId
());
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/novodental/rest/OrtodonciaController.java
View file @
dd0c3e6b
package
novodental.rest
;
import
java.time.Instant
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
...
...
@@ -19,6 +18,7 @@ import novodental.entidades.AlambreConId;
import
novodental.entidades.OrtodonciaConId
;
import
novodental.entidades.TornilloConId
;
import
novodental.repositorios.AlambreDAO
;
import
novodental.repositorios.OrtodonciaDAO
;
import
novodental.repositorios.TornilloDAO
;
import
novodental.repositorios.specification.AlambreConIdSpecs
;
import
novodental.repositorios.specification.TornilloConIdSpecs
;
...
...
@@ -31,7 +31,23 @@ public class OrtodonciaController {
@Autowired
private
AlambreDAO
alambreDAO
;
@Autowired
private
OrtodonciaDAO
ortodonciaDAO
;
@GetMapping
(
"/ortodoncia/importe"
)
public
float
calcularImporteOrtodoncia
(
@RequestParam
(
"id"
)
int
id
)
{
OrtodonciaConId
ortodonciaConId
=
ortodonciaDAO
.
findById
(
id
).
get
();
float
importe
=
0
;
if
(
ortodonciaConId
!=
null
)
{
importe
=
ortodonciaConId
.
getImporte
();
ortodonciaConId
.
setImporteOrtodoncia
(
importe
);
ortodonciaDAO
.
save
(
ortodonciaConId
);
}
return
importe
;
}
@GetMapping
(
"/ortodoncias/search/con-fecha-salida-posterior-a/tornillo"
)
public
ResponseEntity
<
Set
<
OrtodonciaDTO
>>
getOrtodociasConFechaSalidaPosteriorTornillo
(
...
...
This diff is collapsed.
Click to expand it.
src/main/resources/application.properties
View file @
dd0c3e6b
#
spring.datasource.url=jdbc:h2:tcp://localhost/~/test
#
spring.datasource.username=sa
#
spring.datasource.password=
#
spring.datasource.driver-class-name=org.h2.Driver
#
#
hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.datasource.url
=
jdbc:h2:tcp://localhost/~/test
spring.datasource.username
=
sa
spring.datasource.password
=
spring.datasource.driver-class-name
=
org.h2.Driver
hibernate.dialect
=
org.hibernate.dialect.H2Dialect
spring.datasource.driver-class-name
=
org.postgresql.Driver
spring.datasource.url
=
jdbc:postgresql://tyke.db.elephantsql.com/ozilemqx
#spring.datasource.driver-class-name=org.postgresql.Driver
#spring.datasource.url=jdbc:postgresql://tyke.db.elephantsql.com/ozilemqx
#
#spring.datasource.username= ozilemqx
#spring.datasource.password=rvYv_EDIZt7U5uRlaOdUoWc4hHSRCLk1
#hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.datasource.username
=
ozilemqx
spring.datasource.password
=
rvYv_EDIZt7U5uRlaOdUoWc4hHSRCLk1
hibernate.dialect
=
org.hibernate.dialect.PostgreSQLDialect
es.lanyu.entities-package
=
novodental.entidades
es.lanyu.jpa-package
=
novodental.repositorios
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment