packageController.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package controller
  2. import (
  3. "bswas/utilities"
  4. "strconv"
  5. )
  6. func PackageCreateExceptionFormat(data []map[string]string) ([]interface{}, [][]interface{}) {
  7. row := []interface{}{
  8. "快递单号","承运商","设备","称重时间","重(KG)","长(CM)","宽(CM)","高(CM)","体积(CM³)",
  9. "纸箱","异常类型",
  10. }
  11. column := map[string]int{
  12. "logistic_number" : 0,
  13. "logistic_name" : 1,
  14. "measuring_machine_name" : 2,
  15. "weigh_time" : 3,
  16. "weight" : 4,
  17. "length" : 5,
  18. "width" : 6,
  19. "height" : 7,
  20. "bulk" : 8,
  21. "paper_box_name" : 9,
  22. "status" : 10,
  23. }
  24. list := make([][]interface{},len(data))
  25. for k,v := range data{
  26. line := make([]interface{},len(row))
  27. for key,value := range column {
  28. line[value] = v[key]
  29. }
  30. list[k] = line
  31. }
  32. return row,list
  33. }
  34. func PackageIssuedExceptionFormat(data []map[string]string) ([]interface{}, [][]interface{}) {
  35. row := []interface{}{
  36. "快递单号","下发时间","发货单号","波次号","波次规则","收件人","收件人电话","承运商","异常类型",
  37. }
  38. column := map[string]int{
  39. "logistic_number" : 0,
  40. "created_at" : 1,
  41. "delivery_number" : 2,
  42. "batch_number" : 3,
  43. "batch_rule" : 4,
  44. "recipient" : 5,
  45. "recipient_mobile" : 6,
  46. "logistic_name" : 7,
  47. "status" : 8,
  48. }
  49. list := make([][]interface{},len(data))
  50. for k,v := range data{
  51. line := make([]interface{},len(row))
  52. for key,value := range column {
  53. if key == "created_at"{
  54. line[value] = utilities.DateFormat(v[key],"2006-01-02T15:04:05Z")
  55. continue
  56. }
  57. line[value] = v[key]
  58. }
  59. list[k] = line
  60. }
  61. return row,list
  62. }
  63. func PackageStatisticFormat(ROW []interface{},LIST []map[int]string) ([]interface{}, [][]interface{}) {
  64. list := make([][]interface{},len(LIST))
  65. for k,v := range LIST {
  66. line := make([]interface{},len(ROW))
  67. amount := 0
  68. for index,_ := range ROW {
  69. _,sign := v[index]
  70. if sign {
  71. if index > 1 {
  72. number,_ := strconv.Atoi(v[index])
  73. amount += number
  74. }
  75. line[index] = v[index]
  76. }else{
  77. line[index] = "0"
  78. }
  79. }
  80. line[1] = amount
  81. list[k] = line
  82. }
  83. return ROW,list
  84. }