/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

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