files.py 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. from rest_framework_csv.renderers import CSVStreamingRenderer
  2. def file_headers_list():
  3. return [
  4. 'document_date',
  5. 'document_number',
  6. 'document_type',
  7. 'business_type',
  8. 'iout_type',
  9. 'department',
  10. 'warehouse_name',
  11. 'goods_code',
  12. 'goods_desc',
  13. 'goods_std',
  14. 'goods_batch',
  15. 'in_batch',
  16. 'out_batch',
  17. 'goods_in',
  18. 'goods_out',
  19. 'goods_notes',
  20. 'creator'
  21. ]
  22. def cn_data_header_list():
  23. return dict([
  24. ('document_date', '单据日期'),
  25. ('document_number', '单据编号'),
  26. ('document_type', '单据类型'),
  27. ('business_type', '业务类型'),
  28. ('iout_type', '出入库类型'),
  29. ('department', '部门'),
  30. ('warehouse_code', '仓库编码'),
  31. ('warehouse_name', '仓库名称'),
  32. ('goods_code', '商品编码'),
  33. ('goods_desc', '商品描述'),
  34. ('goods_std', '商品标准'),
  35. ('goods_batch', '商品批次'),
  36. ('in_batch', '入库批次'),
  37. ('out_batch', '出库批次'),
  38. ('goods_in', '入库数量'),
  39. ('goods_out', '出库数量'),
  40. ('goods_notes', '备注'),
  41. ('creator', '创建人')
  42. ])
  43. class FileFlowListRenderCN(CSVStreamingRenderer):
  44. header = file_headers_list()
  45. labels = cn_data_header_list()
  46. def BatchList_file_headers_list():
  47. return [
  48. 'id',
  49. 'bound_number',
  50. 'sourced_number',
  51. 'bound_batch_order',
  52. 'warehouse_name',
  53. 'goods_code',
  54. 'goods_desc',
  55. 'goods_std',
  56. 'goods_unit',
  57. 'goods_qty',
  58. 'goods_package',
  59. 'goods_in_qty',
  60. 'goods_in_location_qty',
  61. 'goods_out_qty',
  62. 'container_number',
  63. 'check_status'
  64. ]
  65. def BatchList_cn_data_header_list():
  66. return dict([
  67. ('id', '序号'),
  68. ('bound_number', '入库批次号'),
  69. ('goods_qty', '商品数量'),
  70. ('goods_in_qty', '组盘入库数量'),
  71. ('goods_in_location_qty', '当前在库数目'),
  72. ('goods_out_qty', '出库数量'),
  73. ('sourced_number', 'ERP下发批次号'),
  74. ('bound_batch_order', '批次顺序'),
  75. ('warehouse_name', '仓库名称'),
  76. ('goods_code', '商品编码'),
  77. ('goods_desc', '商品描述'),
  78. ('goods_std', '商品标准'),
  79. ('goods_unit', '商品单位'),
  80. ('goods_package', '商品包装'),
  81. ('container_number', '托盘数目'),
  82. ('check_status', '质检状态')
  83. ])
  84. class FileBatchListRenderCN(CSVStreamingRenderer):
  85. header = BatchList_file_headers_list()
  86. labels = BatchList_cn_data_header_list()
  87. def MaterialChangeHistory_file_headers_list():
  88. return [
  89. 'id',
  90. 'batch_log',
  91. 'goods_code',
  92. 'goods_desc',
  93. 'goods_std',
  94. 'goods_unit',
  95. 'change_time',
  96. 'in_quantity',
  97. 'out_quantity',
  98. 'change_type',
  99. 'opening_quantity',
  100. 'closing_quantity'
  101. ]
  102. def MaterialChangeHistory_cn_data_header_list():
  103. return dict([
  104. ('id', '序号'),
  105. ('batch_log', '批次日志'),
  106. ('goods_code', '货品编码'),
  107. ('goods_desc', '货品描述'),
  108. ('goods_std', '货品规格'),
  109. ('goods_unit', '货品单位'),
  110. ('change_time', '变动时间'),
  111. ('in_quantity', '入库数量'),
  112. ('out_quantity', '出库数量'),
  113. ('change_type', '变动类型'),
  114. ('opening_quantity', '期初数量'),
  115. ('closing_quantity', '期末数量')
  116. ])
  117. class MaterialChangeHistoryRenderCN(CSVStreamingRenderer):
  118. header = MaterialChangeHistory_file_headers_list()
  119. labels = MaterialChangeHistory_cn_data_header_list()
  120. def batchLog_file_headers_list():
  121. return [
  122. 'id',
  123. 'log_type',
  124. 'batch_code',
  125. 'goods_code',
  126. 'goods_desc',
  127. 'goods_std',
  128. 'goods_in_qty',
  129. 'goods_out_qty',
  130. 'goods_unit',
  131. 'check_status',
  132. 'create_time',
  133. 'detail_logs',
  134. ]
  135. def batchLog_cn_data_header_list():
  136. return dict([
  137. ('id', '序号'),
  138. ('bound', '绑定'),
  139. ('batch', '批次'),
  140. ('log_type', '日志类型'),
  141. ('goods_code', '货品编码'),
  142. ('goods_desc', '货品描述'),
  143. ('goods_std', '货品规格'),
  144. ('goods_unit', '货品单位'),
  145. ('goods_in_qty', '新入数量'),
  146. ('goods_out_qty', '新出数量'),
  147. ('detail_logs', '托盘日志'),
  148. ('create_time', '创建时间'),
  149. ('check_status', '质检状态(0:未质检,1:已质检,2:质检不合格)')
  150. ])
  151. class batchLogRenderCN(CSVStreamingRenderer):
  152. header = batchLog_file_headers_list()
  153. labels = batchLog_cn_data_header_list()
  154. def ContainerDetailLog_file_headers_list():
  155. return [
  156. 'id',
  157. 'batch',
  158. 'container_code',
  159. 'goods_code',
  160. 'goods_desc',
  161. 'detail_goods_qty',
  162. 'goods_qty',
  163. 'goods_out_qty',
  164. 'batch_goods_qty',
  165. 'batch_goods_in_qty',
  166. 'batch_goods_in_location_qty',
  167. 'batch_goods_out_qty',
  168. 'create_time',
  169. 'log_type',
  170. 'old_goods_qty',
  171. 'old_goods_out_qty',
  172. 'old_status',
  173. 'new_goods_qty',
  174. 'new_goods_out_qty',
  175. 'new_status',
  176. 'creater',
  177. 'tobatchlog',
  178. 'container_detail'
  179. ]
  180. def ContainerDetailLog_cn_data_header_list():
  181. return dict([
  182. ('id', '序号'),
  183. ('batch', '批次'),
  184. ('container_code', '托盘编码'),
  185. ('goods_code', '货品编码'),
  186. ('goods_desc', '货品描述'),
  187. ('detail_goods_qty', '托盘货品数量'),
  188. ('goods_qty', '货品数量'),
  189. ('goods_out_qty', '出库数量'),
  190. ('batch_goods_qty', '批次货品数量'),
  191. ('batch_goods_in_qty', '批次入库数量'),
  192. ('batch_goods_in_location_qty', '批次入库库位数量'),
  193. ('batch_goods_out_qty', '批次出库数量'),
  194. ('create_time', '创建时间'),
  195. ('log_type', '日志类型'),
  196. ('old_goods_qty', '原数量'),
  197. ('old_goods_out_qty', '原出库数量'),
  198. ('old_status', '原状态'),
  199. ('new_goods_qty', '新数量'),
  200. ('new_goods_out_qty', '新出库数量'),
  201. ('new_status', '新状态'),
  202. ('creater', '操作人'),
  203. ('tobatchlog', '是否转移到批次日志'),
  204. ('container_detail', '托盘明细')
  205. ])
  206. class ContainerDetailLogRenderCN(CSVStreamingRenderer):
  207. header = ContainerDetailLog_file_headers_list()
  208. labels = ContainerDetailLog_cn_data_header_list()