Skip to content

Commit

Permalink
V2.0.0 Beta5
Browse files Browse the repository at this point in the history
*Fix Bug and add all data download to csv
  • Loading branch information
Singosgu committed Jan 17, 2021
1 parent 6d936ef commit 2302aa4
Show file tree
Hide file tree
Showing 727 changed files with 97,603 additions and 0 deletions.
Empty file added asn/__init__.py
Empty file.
5 changes: 5 additions & 0 deletions asn/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from django.contrib import admin
from . models import AsnListModel, AsnDetailModel

admin.site.register(AsnListModel)
admin.site.register(AsnDetailModel)
5 changes: 5 additions & 0 deletions asn/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from django.apps import AppConfig


class AsnConfig(AppConfig):
name = 'asn'
117 changes: 117 additions & 0 deletions asn/files.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
from rest_framework_csv.renderers import CSVStreamingRenderer

class FileListRenderCN(CSVStreamingRenderer):
header = [
'asn_code',
'asn_status',
'total_weight',
'total_volume',
'supplier',
'creater',
'create_time',
'update_time'
]
labels = dict([
('asn_code', u'ASN单号'),
('asn_status', u'ASN状态'),
('total_weight', u'总重量'),
('total_volume', u'总体积'),
('supplier', u'供应商'),
('creater', u'创建人'),
('create_time', u'创建时间'),
('update_time', u'更新时间'),
])

class FileListRenderEN(CSVStreamingRenderer):
header = [
'asn_code',
'asn_status',
'total_weight',
'total_volume',
'supplier',
'creater',
'create_time',
'update_time'
]
labels = dict([
('asn_code', u'ASN Code'),
('asn_status', u'ASN Status'),
('total_weight', u'Total Weight'),
('total_volume', u'Total Volume'),
('supplier', u'Supplier'),
('creater', u'Creater'),
('create_time', u'Create Time'),
('update_time', u'Update Time'),
])

class FileDetailRenderCN(CSVStreamingRenderer):
header = [
'asn_code',
'asn_status',
'supplier',
'goods_code',
'goods_qty',
'goods_actual_qty',
'sorted_qty',
'goods_shortage_qty',
'goods_more_qty',
'goods_damage_qty',
'goods_weight',
'goods_volume',
'creater',
'create_time',
'update_time'
]
labels = dict([
('asn_code', u'ASN单号'),
('asn_status', u'ASN状态'),
('supplier', u'供应商'),
('goods_code', u'商品编码'),
('goods_qty', u'订单数量'),
('goods_actual_qty', u'实际到货数量'),
('sorted_qty', u'已分拣数量'),
('goods_shortage_qty', u'少到货数量'),
('goods_more_qty', u'多到货数量'),
('goods_damage_qty', u'破损数量'),
('goods_weight', u'商品重量'),
('goods_volume', u'商品体积'),
('creater', u'创建人'),
('create_time', u'创建时间'),
('update_time', u'更新时间')
])

class FileDetailRenderEN(CSVStreamingRenderer):
header = [
'asn_code',
'asn_status',
'supplier',
'goods_code',
'goods_qty',
'goods_actual_qty',
'sorted_qty',
'goods_shortage_qty',
'goods_more_qty',
'goods_damage_qty',
'goods_weight',
'goods_volume',
'creater',
'create_time',
'update_time'
]
labels = dict([
('asn_code', u'ASN Code'),
('asn_status', u'ASN Status'),
('supplier', u'Supplier'),
('goods_code', u'Goods Code'),
('goods_qty', u'Goods Qty'),
('goods_actual_qty', u'Goods Actual Qty'),
('sorted_qty', u'Sorted Qty'),
('goods_shortage_qty', u'Goods Shortage Qty'),
('goods_more_qty', u'Goods More Qty'),
('goods_damage_qty', u'Goods Damage Qty'),
('goods_weight', u'Goods Weight'),
('goods_volume', u'Goods Volume'),
('creater', u'Creater'),
('create_time', u'Create Time'),
('update_time', u'Update Time')
])
25 changes: 25 additions & 0 deletions asn/filter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from django_filters import FilterSet
from .models import AsnListModel, AsnDetailModel

class AsnListFilter(FilterSet):
class Meta:
model = AsnListModel
fields = {
"id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
"create_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range'],
"update_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range']
}

class AsnDetailFilter(FilterSet):
class Meta:
model = AsnDetailModel
fields = {
"id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
"asn_code": ['exact', 'iexact', 'contains', 'icontains'],
"asn_status": ['exact', 'iexact'],
"goods_actual_qty": ['exact', 'iexact', 'gt', 'lt', 'gte', 'lte'],
"goods_shortage_qty": ['exact', 'iexact', 'gt', 'lt', 'gte', 'lte'],
"goods_more_qty": ['exact', 'iexact', 'gt', 'lt', 'gte', 'lte'],
"create_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range'],
"update_time": ['year', 'month', 'day', 'week_day', 'gt', 'gte', 'lt', 'lte', 'range']
}
66 changes: 66 additions & 0 deletions asn/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Generated by Django 3.1.4 on 2021-01-17 15:22

from django.db import migrations, models


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='AsnDetailModel',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('asn_code', models.CharField(max_length=255, verbose_name='ASN Code')),
('asn_status', models.IntegerField(default=1, verbose_name='ASN Status')),
('supplier', models.CharField(max_length=255, verbose_name='ASN Supplier')),
('goods_code', models.CharField(max_length=255, verbose_name='Goods Code')),
('goods_qty', models.IntegerField(default=0, verbose_name='Goods QTY')),
('goods_actual_qty', models.IntegerField(default=0, verbose_name='Goods Actual QTY')),
('sorted_qty', models.IntegerField(default=0, verbose_name='Sorted QTY')),
('goods_shortage_qty', models.IntegerField(default=0, verbose_name='Goods Shortage QTY')),
('goods_more_qty', models.IntegerField(default=0, verbose_name='Goods More QTY')),
('goods_damage_qty', models.IntegerField(default=0, verbose_name='Goods damage QTY')),
('goods_weight', models.FloatField(default=0, verbose_name='Goods Weight')),
('goods_volume', models.FloatField(default=0, verbose_name='Goods Volume')),
('creater', models.CharField(max_length=11, verbose_name='Who Created')),
('openid', models.CharField(max_length=255, verbose_name='Openid')),
('is_delete', models.BooleanField(default=False, verbose_name='Delete Label')),
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='Create Time')),
('update_time', models.DateTimeField(auto_now=True, null=True, verbose_name='Update Time')),
],
options={
'verbose_name': 'data id',
'verbose_name_plural': 'data id',
'db_table': 'asndetail',
'ordering': ['-id'],
},
),
migrations.CreateModel(
name='AsnListModel',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('asn_code', models.CharField(max_length=255, verbose_name='ASN Code')),
('asn_status', models.IntegerField(default=1, verbose_name='ASN Status')),
('total_weight', models.FloatField(default=0, verbose_name='Total Weight')),
('total_volume', models.FloatField(default=0, verbose_name='Total Volume')),
('supplier', models.CharField(max_length=255, verbose_name='ASN Supplier')),
('creater', models.CharField(max_length=255, verbose_name='Who Created')),
('openid', models.CharField(max_length=255, verbose_name='Openid')),
('transportation_fee', models.JSONField(default=dict, verbose_name='Transportation Fee')),
('is_delete', models.BooleanField(default=False, verbose_name='Delete Label')),
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='Create Time')),
('update_time', models.DateTimeField(auto_now=True, null=True, verbose_name='Update Time')),
],
options={
'verbose_name': 'data id',
'verbose_name_plural': 'data id',
'db_table': 'asnlist',
'ordering': ['-id'],
},
),
]
Empty file added asn/migrations/__init__.py
Empty file.
52 changes: 52 additions & 0 deletions asn/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
from django.db import models

class AsnListModel(models.Model):
asn_code = models.CharField(max_length=255, verbose_name="ASN Code")
asn_status = models.IntegerField(default=1, verbose_name="ASN Status")
total_weight = models.FloatField(default=0, verbose_name="Total Weight")
total_volume = models.FloatField(default=0, verbose_name="Total Volume")
supplier = models.CharField(max_length=255, verbose_name="ASN Supplier")
creater = models.CharField(max_length=255, verbose_name="Who Created")
openid = models.CharField(max_length=255, verbose_name="Openid")
transportation_fee = models.JSONField(default=dict, verbose_name="Transportation Fee")
is_delete = models.BooleanField(default=False, verbose_name='Delete Label')
create_time = models.DateTimeField(auto_now_add=True, verbose_name="Create Time")
update_time = models.DateTimeField(auto_now=True, blank=True, null=True, verbose_name="Update Time")

class Meta:
db_table = 'asnlist'
verbose_name = 'data id'
verbose_name_plural = "data id"
ordering = ['-id']

def __str__(self):
return self.pk

class AsnDetailModel(models.Model):
asn_code = models.CharField(max_length=255, verbose_name="ASN Code")
asn_status = models.IntegerField(default=1, verbose_name="ASN Status")
supplier = models.CharField(max_length=255, verbose_name="ASN Supplier")
goods_code = models.CharField(max_length=255, verbose_name="Goods Code")
goods_qty = models.IntegerField(default=0, verbose_name="Goods QTY")
goods_actual_qty = models.IntegerField(default=0, verbose_name="Goods Actual QTY")
sorted_qty = models.IntegerField(default=0, verbose_name="Sorted QTY")
goods_shortage_qty = models.IntegerField(default=0, verbose_name="Goods Shortage QTY")
goods_more_qty = models.IntegerField(default=0, verbose_name="Goods More QTY")
goods_damage_qty = models.IntegerField(default=0, verbose_name="Goods damage QTY")
goods_weight = models.FloatField(default=0, verbose_name="Goods Weight")
goods_volume = models.FloatField(default=0, verbose_name="Goods Volume")
creater = models.CharField(max_length=11, verbose_name="Who Created")
openid = models.CharField(max_length=255, verbose_name="Openid")
is_delete = models.BooleanField(default=False, verbose_name='Delete Label')
create_time = models.DateTimeField(auto_now_add=True, verbose_name="Create Time")
update_time = models.DateTimeField(auto_now=True, blank=True, null=True, verbose_name="Update Time")

class Meta:
db_table = 'asndetail'
verbose_name = 'data id'
verbose_name_plural = "data id"
ordering = ['-id']

def __str__(self):
return self.pk

23 changes: 23 additions & 0 deletions asn/page.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from collections import OrderedDict
from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Response
from supplier.models import ListModel as supplier

class MyPageNumberPaginationASNList(PageNumberPagination):
page_size = 30
page_size_query_param = "max_page"
max_page_size = 1000
page_query_param = 'page'

def get_paginated_response(self, data):
supplier_list_data = supplier.objects.filter(openid=self.request.auth.openid, is_delete=False)
supplier_list = []
for i in range(len(supplier_list_data)):
supplier_list.append(supplier_list_data[i].supplier_name)
return Response(OrderedDict([
('supplier_list', supplier_list),
('count', self.page.paginator.count),
('next', self.get_next_link()),
('previous', self.get_previous_link()),
('results', data)
]))
Loading

0 comments on commit 2302aa4

Please sign in to comment.