inventoryController.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package controller
  2. import (
  3. "bswas/utilities"
  4. )
  5. func InventoryFormat(data []map[string]string, requestType bool) ([]interface{}, [][]interface{}) {
  6. row := []interface{}{
  7. "货主","库位","产品编码","产品条码","商品名称","属性仓 ","质量状态","失效日期","批号",
  8. }
  9. if requestType == true {
  10. row = append(row,"移出数量","移入数量")
  11. }
  12. row = append(row,"在库数量","占用数量")
  13. list := make([][]interface{},len(data))
  14. for k,v := range data{
  15. line := make([]interface{},len(row))
  16. for index,column := range row {
  17. line[index] = v[column.(string)]
  18. }
  19. list[k] = line
  20. }
  21. return row, list
  22. }
  23. func InventoryDailyLogFormat(data []map[string]string) ([]interface{}, [][]interface{}) {
  24. row := []interface{}{
  25. "货主","日期","商品名称","商品编码","商品条码","在库数量","长","宽","高","体积","总占用体积",
  26. }
  27. column := map[string]int{
  28. "owner_name" : 0,
  29. "created_at" : 1,
  30. "commodity_name" : 2,
  31. "commodity_sku" : 3,
  32. "commodity_barcode_code" : 4,
  33. "amount" : 5,
  34. "commodity_length" : 6,
  35. "commodity_width" : 7,
  36. "commodity_height" : 8,
  37. "commodity_volumn" : 9,
  38. "volumn_occupied" : 10,
  39. }
  40. list := make([][]interface{},len(data))
  41. for k,v := range data{
  42. line := make([]interface{},len(row))
  43. for key,value := range column {
  44. if key == "created_at" {
  45. line[value] = utilities.DateFormat(v[key])
  46. continue
  47. }
  48. line[value] = v[key]
  49. }
  50. list[k] = line
  51. }
  52. return row, list
  53. }
  54. func InventoryAccountMissionFormat(data []map[string]string) ([]interface{}, [][]interface{}) {
  55. row := []interface{}{
  56. "库位","产品名","商品条码","商品编码","生产日期","失效日期","批号","盘点人","ERP属性仓","质量状态","库存数量",
  57. "可用数量","盘点数量","复盘数量","复盘差异","分配数量","状态",
  58. }
  59. column := map[string]int{
  60. "location" : 0,
  61. "commodity_name" : 1,
  62. "commodity_barcode" : 2,
  63. "commodity_sku" : 3,
  64. "produced_at" : 4,
  65. "valid_at" : 5,
  66. "batch_number" : 6,
  67. "stock_person" : 7,
  68. "erp_type_position" : 8,
  69. "quality" : 9,
  70. "stored_amount" : 10,
  71. "valid_amount" : 11,
  72. "verified_amount" : 12,
  73. "re_checked_amount" : 13,
  74. "difference_amount" : 14,
  75. "occupied_amount" : 15,
  76. "mark" : 16,
  77. }
  78. list := make([][]interface{},len(data))
  79. for k,v := range data{
  80. line := make([]interface{},len(row))
  81. for key,value := range column {
  82. if key == "produced_at"{
  83. line[value] = utilities.DateFormat(v[key])
  84. continue
  85. }
  86. if key == "valid_at"{
  87. line[value] = utilities.DateFormat(v[key])
  88. continue
  89. }
  90. line[value] = v[key]
  91. }
  92. list[k] = line
  93. }
  94. return row, list
  95. }
  96. func InventoryCompareFormat(data []map[string]string) ([]interface{}, [][]interface{}) {
  97. row := []interface{}{
  98. "货主","任务号","生产时间","商品名称","商品编码","商品条码","属性仓","质量状态","宝时库存","参考库存","差值",
  99. }
  100. column := map[string]int{
  101. "owner_name" : 0,
  102. "mission_code" : 1,
  103. "created_at" : 2,
  104. "commodity_name" : 3,
  105. "commodity_sku" : 4,
  106. "commodity_barcode_code" : 5,
  107. "custom_location" : 6,
  108. "quality" : 7,
  109. "amount_in_sys" : 8,
  110. "amount_in_compare" : 9,
  111. "differ" : 10,
  112. }
  113. list := make([][]interface{},len(data))
  114. for k,v := range data{
  115. line := make([]interface{},len(row))
  116. for key,value := range column {
  117. if key == "created_at" {
  118. line[value] = utilities.DateFormat(v[key])
  119. continue
  120. }
  121. line[value] = v[key]
  122. }
  123. list[k] = line
  124. }
  125. return row, list
  126. }