packageController.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package controller
  2. import (
  3. "bswas/utilities"
  4. "strconv"
  5. )
  6. func PackageFormat(data []map[string]string) ([]interface{}, [][]interface{}) {
  7. row := []interface{}{
  8. "货主","快递单号","发货单号","波次号","波次规则","操作时间","收件人","收件人电话","承运商","设备",
  9. "重量(KG)","长(CM)","宽(CM)","高(CM)","体积(CM³)","纸箱","状态",
  10. }
  11. column := map[string]int{
  12. "owner_name" : 0,
  13. "logistic_number" : 1,
  14. "delivery_number" : 2,
  15. "batch_number" : 3,
  16. "batch_rule" : 4,
  17. "created_at" : 5,
  18. "recipient" : 6,
  19. "recipient_mobile" : 7,
  20. "logistic_name" : 8,
  21. "measuring_machine_name" : 9,
  22. "weight" : 10,
  23. "length" : 11,
  24. "width" : 12,
  25. "height" : 13,
  26. "bulk" : 14,
  27. "paper_box_name" : 15,
  28. "status" : 16,
  29. }
  30. list := make([][]interface{},len(data))
  31. for k,v := range data{
  32. line := make([]interface{},len(row))
  33. for key,value := range column {
  34. line[value] = v[key]
  35. }
  36. list[k] = line
  37. }
  38. return row,list
  39. }
  40. func PackageCreateExceptionFormat(data []map[string]string) ([]interface{}, [][]interface{}) {
  41. row := []interface{}{
  42. "快递单号","承运商","设备","称重时间","重(KG)","长(CM)","宽(CM)","高(CM)","体积(CM³)",
  43. "纸箱","异常类型",
  44. }
  45. column := map[string]int{
  46. "logistic_number" : 0,
  47. "logistic_name" : 1,
  48. "measuring_machine_name" : 2,
  49. "weigh_time" : 3,
  50. "weight" : 4,
  51. "length" : 5,
  52. "width" : 6,
  53. "height" : 7,
  54. "bulk" : 8,
  55. "paper_box_name" : 9,
  56. "status" : 10,
  57. }
  58. list := make([][]interface{},len(data))
  59. for k,v := range data{
  60. line := make([]interface{},len(row))
  61. for key,value := range column {
  62. line[value] = v[key]
  63. }
  64. list[k] = line
  65. }
  66. return row,list
  67. }
  68. func PackageIssuedExceptionFormat(data []map[string]string) ([]interface{}, [][]interface{}) {
  69. row := []interface{}{
  70. "快递单号","下发时间","发货单号","波次号","波次规则","收件人","收件人电话","承运商","异常类型",
  71. }
  72. column := map[string]int{
  73. "logistic_number" : 0,
  74. "created_at" : 1,
  75. "delivery_number" : 2,
  76. "batch_number" : 3,
  77. "batch_rule" : 4,
  78. "recipient" : 5,
  79. "recipient_mobile" : 6,
  80. "logistic_name" : 7,
  81. "status" : 8,
  82. }
  83. list := make([][]interface{},len(data))
  84. for k,v := range data{
  85. line := make([]interface{},len(row))
  86. for key,value := range column {
  87. if key == "created_at"{
  88. line[value] = utilities.DateFormat(v[key])
  89. continue
  90. }
  91. line[value] = v[key]
  92. }
  93. list[k] = line
  94. }
  95. return row,list
  96. }
  97. func PackageStatisticFormat(ROW []interface{},LIST []map[int]string) ([]interface{}, [][]interface{}) {
  98. list := make([][]interface{},len(LIST))
  99. for k,v := range LIST {
  100. line := make([]interface{},len(ROW))
  101. amount := 0
  102. for index,_ := range ROW {
  103. _,sign := v[index]
  104. if sign {
  105. if index > 1 {
  106. number,_ := strconv.Atoi(v[index])
  107. amount += number
  108. }
  109. line[index] = v[index]
  110. }else{
  111. line[index] = "0"
  112. }
  113. }
  114. line[1] = amount
  115. list[k] = line
  116. }
  117. return ROW,list
  118. }