serializers.py 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. from rest_framework import serializers
  2. from .models import AsnListModel, AsnDetailModel
  3. from utils import datasolve
  4. class ASNListGetSerializer(serializers.ModelSerializer):
  5. asn_code = serializers.CharField(read_only=True, required=False)
  6. asn_status = serializers.IntegerField(read_only=True, required=False)
  7. supplier = serializers.CharField(read_only=True, required=False)
  8. bar_code = serializers.CharField(read_only=True, required=False)
  9. creater = serializers.CharField(read_only=True, required=False)
  10. create_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  11. update_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  12. class Meta:
  13. model = AsnListModel
  14. exclude = ['openid', 'is_delete', ]
  15. read_only_fields = ['id', 'openid', ]
  16. class ASNListPostSerializer(serializers.ModelSerializer):
  17. openid = serializers.CharField(read_only=False, required=False, validators=[datasolve.openid_validate])
  18. asn_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.asn_data_validate])
  19. supplier = serializers.CharField(read_only=False, required=False)
  20. bar_code = serializers.CharField(read_only=False, required=True)
  21. creater = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  22. class Meta:
  23. model = AsnListModel
  24. exclude = ['is_delete', ]
  25. read_only_fields = ['id', 'create_time', 'update_time', ]
  26. class ASNListPartialUpdateSerializer(serializers.ModelSerializer):
  27. asn_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.asn_data_validate])
  28. class Meta:
  29. model = AsnListModel
  30. exclude = ['is_delete', ]
  31. read_only_fields = ['id', 'create_time', 'update_time', ]
  32. class ASNListUpdateSerializer(serializers.ModelSerializer):
  33. asn_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.asn_data_validate])
  34. class Meta:
  35. model = AsnListModel
  36. exclude = ['is_delete', ]
  37. read_only_fields = ['id', 'create_time', 'update_time', ]
  38. class ASNDetailGetSerializer(serializers.ModelSerializer):
  39. asn_code = serializers.CharField(read_only=True, required=False)
  40. supplier = serializers.CharField(read_only=True, required=False)
  41. goods_code = serializers.CharField(read_only=True, required=False)
  42. goods_desc = serializers.CharField(read_only=True, required=False)
  43. goods_qty = serializers.IntegerField(read_only=True, required=False)
  44. goods_actual_qty = serializers.IntegerField(read_only=True, required=False)
  45. sorted_qty = serializers.IntegerField(read_only=True, required=False)
  46. goods_shortage_qty = serializers.IntegerField(read_only=True, required=False)
  47. goods_more_qty = serializers.IntegerField(read_only=True, required=False)
  48. goods_damage_qty = serializers.IntegerField(read_only=True, required=False)
  49. creater = serializers.CharField(read_only=True, required=False)
  50. create_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  51. update_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  52. class Meta:
  53. model = AsnDetailModel
  54. exclude = ['openid', 'is_delete', ]
  55. read_only_fields = ['id', 'openid']
  56. class ASNDetailPostSerializer(serializers.ModelSerializer):
  57. openid = serializers.CharField(read_only=False, required=False, validators=[datasolve.openid_validate])
  58. asn_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  59. supplier = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  60. goods_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  61. goods_desc = serializers.CharField(read_only=False, required=False)
  62. goods_qty = serializers.IntegerField(read_only=False, required=True, validators=[datasolve.qty_0_data_validate])
  63. creater = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  64. class Meta:
  65. model = AsnDetailModel
  66. exclude = ['is_delete', ]
  67. read_only_fields = ['id', 'create_time', 'update_time', ]
  68. class ASNSortedPostSerializer(serializers.ModelSerializer):
  69. openid = serializers.CharField(read_only=False, required=False, validators=[datasolve.openid_validate])
  70. asn_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  71. supplier = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  72. goods_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  73. goods_desc = serializers.CharField(read_only=False, required=False)
  74. goods_qty = serializers.IntegerField(read_only=False, required=True, validators=[datasolve.qty_data_validate])
  75. creater = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  76. class Meta:
  77. model = AsnDetailModel
  78. exclude = ['is_delete', ]
  79. read_only_fields = ['id', 'create_time', 'update_time', ]
  80. class ASNDetailUpdateSerializer(serializers.ModelSerializer):
  81. asn_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  82. supplier = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  83. goods_code = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  84. goods_desc = serializers.CharField(read_only=False, required=False)
  85. goods_qty = serializers.IntegerField(read_only=False, required=True, validators=[datasolve.qty_0_data_validate])
  86. creater = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  87. class Meta:
  88. model = AsnDetailModel
  89. exclude = ['openid', 'is_delete', ]
  90. read_only_fields = ['id', 'create_time', 'update_time', ]
  91. class ASNDetailPartialUpdateSerializer(serializers.ModelSerializer):
  92. asn_code = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  93. supplier = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  94. goods_code = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  95. goods_desc = serializers.CharField(read_only=False, required=False)
  96. goods_qty = serializers.IntegerField(read_only=False, required=False, validators=[datasolve.qty_0_data_validate])
  97. creater = serializers.CharField(read_only=False, required=False, validators=[datasolve.data_validate])
  98. class Meta:
  99. model = AsnDetailModel
  100. exclude = ['openid', 'is_delete', ]
  101. read_only_fields = ['id', 'create_time', 'update_time', ]
  102. class MoveToBinSerializer(serializers.ModelSerializer):
  103. bin_name = serializers.CharField(read_only=False, required=True, validators=[datasolve.data_validate])
  104. qty = serializers.IntegerField(read_only=False, required=True, validators=[datasolve.qty_0_data_validate])
  105. class Meta:
  106. model = AsnDetailModel
  107. ref_name = 'AsnMoveToBin'
  108. exclude = ['openid', 'is_delete', ]
  109. read_only_fields = ['id', 'create_time', 'update_time', ]
  110. class FileListRenderSerializer(serializers.ModelSerializer):
  111. asn_code = serializers.CharField(read_only=False, required=False)
  112. asn_status = serializers.IntegerField(read_only=False, required=False)
  113. total_weight = serializers.FloatField(read_only=False, required=False)
  114. total_volume = serializers.FloatField(read_only=False, required=False)
  115. total_cost = serializers.FloatField(read_only=False, required=False)
  116. supplier = serializers.CharField(read_only=False, required=False)
  117. creater = serializers.CharField(read_only=False, required=False)
  118. transportation_fee = serializers.JSONField(read_only=False, required=False)
  119. create_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  120. update_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  121. class Meta:
  122. model = AsnListModel
  123. ref_name = 'ASNFileListRenderSerializer'
  124. exclude = ['openid', 'is_delete', ]
  125. class FileDetailRenderSerializer(serializers.ModelSerializer):
  126. asn_code = serializers.CharField(read_only=False, required=False)
  127. asn_status = serializers.IntegerField(read_only=False, required=False)
  128. goods_code = serializers.CharField(read_only=False, required=False)
  129. goods_desc = serializers.CharField(read_only=False, required=False)
  130. goods_qty = serializers.IntegerField(read_only=False, required=False)
  131. goods_actual_qty = serializers.IntegerField(read_only=False, required=False)
  132. sorted_qty = serializers.IntegerField(read_only=False, required=False)
  133. goods_shortage_qty = serializers.IntegerField(read_only=False, required=False)
  134. goods_more_qty = serializers.IntegerField(read_only=False, required=False)
  135. goods_damage_qty = serializers.IntegerField(read_only=False, required=False)
  136. goods_weight = serializers.FloatField(read_only=False, required=False)
  137. goods_volume = serializers.FloatField(read_only=False, required=False)
  138. goods_cost = serializers.FloatField(read_only=False, required=False)
  139. supplier = serializers.CharField(read_only=False, required=False)
  140. creater = serializers.CharField(read_only=False, required=False)
  141. create_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  142. update_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M:%S')
  143. class Meta:
  144. model = AsnDetailModel
  145. ref_name = 'ASNFileDetailRenderSerializer'
  146. exclude = ['openid', 'is_delete', ]