diff --git a/apps/option/serializers.py b/apps/option/serializers.py index 1ae5b5c..adf6dd4 100644 --- a/apps/option/serializers.py +++ b/apps/option/serializers.py @@ -29,6 +29,13 @@ class WarehouseOptionSerializer(ModelSerializer): fields = ['id', 'number', 'name', 'is_locked'] +class ClientCategoryOptionSerializer(ModelSerializer): + + class Meta: + model = ClientCategory + fields = ['id', 'name'] + + class ClientOptionSerializer(ModelSerializer): class Meta: @@ -36,6 +43,13 @@ class ClientOptionSerializer(ModelSerializer): fields = ['id', 'number', 'name', 'level'] +class SupplierCategoryOptionSerializer(ModelSerializer): + + class Meta: + model = SupplierCategory + fields = ['id', 'name'] + + class SupplierOptionSerializer(ModelSerializer): class Meta: @@ -57,20 +71,7 @@ class ChargeItemOptionSerializer(ModelSerializer): fields = ['id', 'name'] -class ClientCategoryOptionSerializer(ModelSerializer): - - class Meta: - model = ClientCategory - fields = ['id', 'name'] - - -class SupplierCategoryOptionSerializer(ModelSerializer): - - class Meta: - model = SupplierCategory - fields = ['id', 'name'] - - +# Goods class GoodsCategoryOptionSerializer(ModelSerializer): class Meta: @@ -85,9 +86,8 @@ class GoodsUnitOptionSerializer(ModelSerializer): fields = ['id', 'name'] -# Goods class GoodsOptionSerializer(ModelSerializer): - + class Meta: model = Goods fields = ['id', 'number', 'name', 'barcode', 'enable_batch_control', 'shelf_life_days', @@ -104,8 +104,10 @@ class BatchOptionSerializer(ModelSerializer): __all__ = [ 'RoleOptionSerializer', 'UserOptionSerializer', - 'WarehouseOptionSerializer', 'ClientOptionSerializer', 'SupplierOptionSerializer', 'AccountOptionSerializer', - 'ChargeItemOptionSerializer', 'ClientCategoryOptionSerializer', 'SupplierCategoryOptionSerializer', - 'GoodsCategoryOptionSerializer', 'GoodsUnitOptionSerializer', - 'GoodsOptionSerializer', 'BatchOptionSerializer', + 'WarehouseOptionSerializer', + 'ClientCategoryOptionSerializer', 'ClientOptionSerializer', + 'SupplierCategoryOptionSerializer', 'SupplierOptionSerializer', + 'AccountOptionSerializer', 'ChargeItemOptionSerializer', + 'GoodsCategoryOptionSerializer', 'GoodsUnitOptionSerializer', 'GoodsOptionSerializer', + 'BatchOptionSerializer', ] diff --git a/apps/option/urls.py b/apps/option/urls.py index ab14be2..7958fbf 100644 --- a/apps/option/urls.py +++ b/apps/option/urls.py @@ -10,16 +10,16 @@ router.register('users/options', UserOptionViewSet, 'user_option') # Data router.register('warehouses/options', WarehouseOptionViewSet, 'warehouse_option') +router.register('client_categories/options', ClientCategoryOptionViewSet, 'client_category_option') router.register('clients/options', ClientOptionViewSet, 'client_option') +router.register('supplier_categories/options', SupplierCategoryOptionViewSet, 'supplier_category_option') router.register('suppliers/options', SupplierOptionViewSet, 'supplier_option') router.register('accounts/options', AccountOptionViewSet, 'account_option') router.register('charge_items/options', ChargeItemOptionViewSet, 'charge_item_option') -router.register('client_categories/options', ClientCategoryOptionViewSet, 'client_category_option') -router.register('supplier_categories/options', SupplierCategoryOptionViewSet, 'supplier_category_option') -router.register('goods_categories/options', GoodsCategoryOptionViewSet, 'goods_category_option') -router.register('goods_units/options', GoodsUnitOptionViewSet, 'goods_unit_option') # Goods +router.register('goods_categories/options', GoodsCategoryOptionViewSet, 'goods_category_option') +router.register('goods_units/options', GoodsUnitOptionViewSet, 'goods_unit_option') router.register('goods/options', GoodsOptionViewSet, 'goods_option') router.register('batchs/options', BatchOptionViewSet, 'batch_option') diff --git a/apps/option/views.py b/apps/option/views.py index b331880..f75276b 100644 --- a/apps/option/views.py +++ b/apps/option/views.py @@ -38,6 +38,13 @@ class WarehouseOptionViewSet(OptionViewSet): queryset = Warehouse.objects.filter(is_active=True) +class ClientCategoryOptionViewSet(OptionViewSet): + serializer_class = ClientCategoryOptionSerializer + permission_classes = [IsAuthenticated, ClientCategoryOptionPermission] + search_fields = ['name'] + queryset = ClientCategory.objects.all() + + class ClientOptionViewSet(OptionViewSet): serializer_class = ClientOptionSerializer permission_classes = [IsAuthenticated, ClientOptionPermission] @@ -48,6 +55,13 @@ class ClientOptionViewSet(OptionViewSet): queryset = Client.objects.filter(is_active=True) +class SupplierCategoryOptionViewSet(OptionViewSet): + serializer_class = SupplierCategoryOptionSerializer + permission_classes = [IsAuthenticated, SupplierCategoryOptionPermission] + search_fields = ['name'] + queryset = SupplierCategory.objects.all() + + class SupplierOptionViewSet(OptionViewSet): serializer_class = SupplierOptionSerializer permission_classes = [IsAuthenticated, SupplierOptionPermission] @@ -74,20 +88,7 @@ class ChargeItemOptionViewSet(OptionViewSet): queryset = ChargeItem.objects.all() -class ClientCategoryOptionViewSet(OptionViewSet): - serializer_class = ClientCategoryOptionSerializer - permission_classes = [IsAuthenticated, ClientCategoryOptionPermission] - search_fields = ['name'] - queryset = ClientCategory.objects.all() - - -class SupplierCategoryOptionViewSet(OptionViewSet): - serializer_class = SupplierCategoryOptionSerializer - permission_classes = [IsAuthenticated, SupplierCategoryOptionPermission] - search_fields = ['name'] - queryset = SupplierCategory.objects.all() - - +# Goods class GoodsCategoryOptionViewSet(OptionViewSet): serializer_class = GoodsCategoryOptionSerializer permission_classes = [IsAuthenticated, GoodsCategoryOptionPermission] @@ -102,7 +103,6 @@ class GoodsUnitOptionViewSet(OptionViewSet): queryset = GoodsUnit.objects.all() -# Goods class GoodsOptionViewSet(OptionViewSet): serializer_class = GoodsOptionSerializer permission_classes = [IsAuthenticated, GoodsOptionPermission] @@ -125,8 +125,10 @@ class BatchOptionViewSet(OptionViewSet): __all__ = [ 'RoleOptionViewSet', 'UserOptionViewSet', - 'WarehouseOptionViewSet', 'ClientOptionViewSet', 'SupplierOptionViewSet', 'AccountOptionViewSet', - 'ChargeItemOptionViewSet', 'ClientCategoryOptionViewSet', 'SupplierCategoryOptionViewSet', - 'GoodsCategoryOptionViewSet', 'GoodsUnitOptionViewSet', - 'GoodsOptionViewSet', 'BatchOptionViewSet', + 'WarehouseOptionViewSet', + 'ClientCategoryOptionViewSet', 'ClientOptionViewSet', + 'SupplierCategoryOptionViewSet', 'SupplierOptionViewSet', + 'AccountOptionViewSet', 'ChargeItemOptionViewSet', + 'GoodsCategoryOptionViewSet', 'GoodsUnitOptionViewSet', 'GoodsOptionViewSet', + 'BatchOptionViewSet', ] diff --git a/documents/项目文档/商品管理/商品信息.md b/documents/项目文档/商品管理/商品信息.md index 29afbc9..183c6db 100644 --- a/documents/项目文档/商品管理/商品信息.md +++ b/documents/项目文档/商品管理/商品信息.md @@ -9,6 +9,9 @@ - 编辑/删除商品: [/api/goods/{id}/] +- 获取商品编号: +[/api/goods/number/] + ## 其他接口 diff --git a/documents/项目文档/基础数据/仓库.md b/documents/项目文档/基础数据/仓库.md index 2cb7026..9375e6e 100644 --- a/documents/项目文档/基础数据/仓库.md +++ b/documents/项目文档/基础数据/仓库.md @@ -9,6 +9,9 @@ - 编辑/删除仓库: [/api/warehouses/{id}/] +- 获取仓库编号: +[/api/warehouses/number/] + ## 其他接口 diff --git a/documents/项目文档/基础数据/供应商.md b/documents/项目文档/基础数据/供应商.md index 65e9875..c87c28f 100644 --- a/documents/项目文档/基础数据/供应商.md +++ b/documents/项目文档/基础数据/供应商.md @@ -9,6 +9,9 @@ - 编辑/删除供应商: [/api/suppliers/{id}/] +- 获取供应商编号: +[/api/suppliers/number/] + ## 其他接口 diff --git a/documents/项目文档/基础数据/客户.md b/documents/项目文档/基础数据/客户.md index 883de54..0bc8bed 100644 --- a/documents/项目文档/基础数据/客户.md +++ b/documents/项目文档/基础数据/客户.md @@ -4,10 +4,13 @@ ## 功能 - 查询/创建客户: -[/api/suppliers/] +[/api/clients/] - 编辑/删除客户: -[/api/suppliers/{id}/] +[/api/clients/{id}/] + +- 获取客户编号: +[/api/clients/number/] ## 其他接口 diff --git a/documents/项目文档/基础数据/结算账户.md b/documents/项目文档/基础数据/结算账户.md index 2dd193e..a3254b6 100644 --- a/documents/项目文档/基础数据/结算账户.md +++ b/documents/项目文档/基础数据/结算账户.md @@ -9,5 +9,8 @@ - 编辑/删除结算账户: [/api/accounts/{id}/] +- 获取结算账户编号: +[/api/accounts/number/] + ## 其他接口 diff --git a/project/settings.py b/project/settings.py index cb16e91..9f9383b 100644 --- a/project/settings.py +++ b/project/settings.py @@ -51,7 +51,7 @@ INSTALLED_APPS = [ # 'apps.flow', # 'apps.finance', # 'apps.statistic', - # 'apps.option', + 'apps.option', ] MIDDLEWARE = [ diff --git a/project/urls.py b/project/urls.py index 5ffc6dd..16fb437 100644 --- a/project/urls.py +++ b/project/urls.py @@ -43,5 +43,5 @@ urlpatterns = [ # path('api/', include('apps.flow.urls')), # path('api/', include('apps.finance.urls')), # path('api/', include('apps.statistic.urls')), - # path('api/', include('apps.option.urls')), + path('api/', include('apps.option.urls')), ]