/codes/thientan/grails-app/controllers/com/thientan/controller/GiaoPhieuThuController.groovy

http://thientan-022012.googlecode.com/ · Groovy · 80 lines · 63 code · 15 blank · 2 comment · 0 complexity · 23a08b0ab03a109ba61ea08605e3d43d MD5 · raw file

  1. package com.thientan.controller
  2. import java.text.SimpleDateFormat
  3. import org.hibernate.transform.AliasToBeanResultTransformer
  4. import grails.converters.JSON
  5. import com.thientan.model.HopDong
  6. import com.thientan.model.NhanVien
  7. import com.thientan.model.enums.LoaiNhanVien
  8. import com.thientan.model.enums.TrangThaiHopDong
  9. import com.thientan.service.GiaoPhieuThuService
  10. import com.thientan.utils.Constants
  11. import com.thientan.utils.Utility
  12. class GiaoPhieuThuController extends AbstractBaseController{
  13. GiaoPhieuThuService giaoPhieuThuService
  14. @Override
  15. Class getDomainClass(){
  16. null // Because we don't save on this screen
  17. }
  18. @Override
  19. Object getDomainService(){
  20. giaoPhieuThuService
  21. }
  22. @Override
  23. public String getDomainName() {
  24. null
  25. }
  26. @Override
  27. public String getDisplayFieldName() {
  28. null
  29. }
  30. def loadListOfThuNgan() {
  31. Map result = ["success" : true]
  32. List nhanViens = NhanVien.findAllWhere("kichHoat" : true, "loaiNhanVien" : LoaiNhanVien.THU_NGAN)
  33. result.putAt("thuNgan", extractPropertiesAsMaps(nhanViens, ["id", "maNv"]))
  34. render result as JSON
  35. }
  36. @Override
  37. protected Map buildExportData(Map exportParams){
  38. Long thuNganId = params['id'] as Long
  39. // Query data
  40. List listOfHopDong = HopDong.withCriteria {
  41. eq('nvThuNgan.id', thuNganId)
  42. eq('trangThai', TrangThaiHopDong.DANG_TRA_GOP)
  43. isNotNull("daGiaoPhieu")
  44. projections {
  45. property('maHd', 'maHd')
  46. property('tienConLai', 'tienConLai')
  47. }
  48. resultTransformer(new AliasToBeanResultTransformer(HopDong.class))
  49. }
  50. // Prepare data for export
  51. return ['data' : extractPropertiesAsMapsWithOrderNumber(listOfHopDong, ['maHd', 'tienConLai'], false),
  52. 'thuNgan' : NhanVien.findById(thuNganId).hoTen,
  53. 'ngayBanGiao' : printedCurrentDay,
  54. 'tongSoHopDong' : listOfHopDong.size().toString(),
  55. 'tongSoTienConLai' : Utility.moneyFormat(listOfHopDong.sum(0, {it.tienConLai ?: 0}))]
  56. }
  57. @Override
  58. protected String getExportFileName(){
  59. "PhieuBanGiaoPT"
  60. }
  61. @Override
  62. protected String getAdditionalExportName() {
  63. "_${params.maNv}_"
  64. }
  65. }