PageRenderTime 389ms CodeModel.GetById 155ms app.highlight 82ms RepoModel.GetById 150ms app.codeStats 0ms

/grails-app/services/contabilidad/FolioService.groovy

http://github.com/jdmr/mateo
Groovy | 71 lines | 65 code | 6 blank | 0 comment | 6 complexity | 1ab2a25d2f94cb85365db3d246c32e62 MD5 | raw file
 1package contabilidad
 2
 3import general.Usuario
 4import java.text.*
 5
 6class FolioService {
 7    def springSecurityService
 8    static NumberFormat nf
 9
10    def temporal() {
11        def usuario = springSecurityService.currentUser
12        def codigos = Usuario.executeQuery("select new map(usuario.empresa.organizacion.codigo as organizacion, usuario.empresa.codigo as empresa) from Usuario usuario where usuario = ?", [usuario])
13        def folio = Folio.findByNombreAndEmpresa('TEMPORAL', usuario.empresa)
14        if (!folio) {
15            folio = new Folio(
16                nombre : 'TEMPORAL'
17                , empresa : usuario.empresa
18            )
19        }
20        folio.valor++
21        folio.save()
22        if (!nf) {
23            inicializaNumberFormat()
24        }
25        return "T-${codigos[0].organizacion}${codigos[0].empresa}${nf.format(folio.valor)}"
26    }
27
28    def poliza() {
29        def usuario = springSecurityService.currentUser
30        def codigos = Usuario.executeQuery("select new map(usuario.empresa.organizacion.codigo as organizacion, usuario.empresa.codigo as empresa) from Usuario usuario where usuario = ?", [usuario])
31        def folio = Folio.findByNombreAndEmpresa('POLIZA', usuario.empresa)
32        if (!folio) {
33            folio = new Folio(
34                nombre : 'POLIZA'
35                , empresa : usuario.empresa
36            )
37        }
38        folio.valor++
39        folio.save()
40        if (!nf) {
41            inicializaNumberFormat()
42        }
43        return "P-${codigos[0].organizacion}${codigos[0].empresa}${nf.format(folio.valor)}"
44    }
45
46    def transaccion() {
47        def usuario = springSecurityService.currentUser
48        def codigos = Usuario.executeQuery("select new map(usuario.empresa.organizacion.codigo as organizacion, usuario.empresa.codigo as empresa) from Usuario usuario where usuario = ?", [usuario])
49        def folio = Folio.findByNombreAndEmpresa('TRANSACCION', usuario.empresa)
50        if (!folio) {
51            folio = new Folio(
52                nombre : 'TRANSACCION'
53                , empresa : usuario.empresa
54            )
55        }
56        folio.valor++
57        folio.save()
58        if (!nf) {
59            inicializaNumberFormat()
60        }
61        return "M-${codigos[0].organizacion}${codigos[0].empresa}${nf.format(folio.valor)}"
62    }
63
64    def inicializaNumberFormat() {
65        nf = DecimalFormat.getInstance()
66        nf.setGroupingUsed(false)
67        nf.setMinimumIntegerDigits(9)
68        nf.setMaximumIntegerDigits(9)
69        nf.setMaximumFractionDigits(0)
70    }
71}