From 177699fb4177c56ab9dff27f706c0a402d9037cd Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 2 Sep 2021 16:20:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=93=E5=BA=93=E4=BF=A1=E6=81=AF=E5=A2=9E?= =?UTF-8?q?=E5=88=A0=E6=94=B9=E6=9F=A5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/inm/__init__.py | 0 hb_server/apps/inm/admin.py | 3 +++ hb_server/apps/inm/apps.py | 7 +++++++ hb_server/apps/inm/models.py | 23 +++++++++++++++++++++++ hb_server/apps/inm/serializers.py | 16 ++++++++++++++++ hb_server/apps/inm/tests.py | 3 +++ hb_server/apps/inm/urls.py | 12 ++++++++++++ hb_server/apps/inm/views.py | 25 +++++++++++++++++++++++++ hb_server/server/settings.py | 3 ++- hb_server/server/urls.py | 1 + 10 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 hb_server/apps/inm/__init__.py create mode 100644 hb_server/apps/inm/admin.py create mode 100644 hb_server/apps/inm/apps.py create mode 100644 hb_server/apps/inm/models.py create mode 100644 hb_server/apps/inm/serializers.py create mode 100644 hb_server/apps/inm/tests.py create mode 100644 hb_server/apps/inm/urls.py create mode 100644 hb_server/apps/inm/views.py diff --git a/hb_server/apps/inm/__init__.py b/hb_server/apps/inm/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/hb_server/apps/inm/admin.py b/hb_server/apps/inm/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/hb_server/apps/inm/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/hb_server/apps/inm/apps.py b/hb_server/apps/inm/apps.py new file mode 100644 index 0000000..d3d3680 --- /dev/null +++ b/hb_server/apps/inm/apps.py @@ -0,0 +1,7 @@ +from django.apps import AppConfig + +class InmConfig(AppConfig): + name = 'apps.inm' + verbose_name = '库存管理' + + diff --git a/hb_server/apps/inm/models.py b/hb_server/apps/inm/models.py new file mode 100644 index 0000000..246fd5d --- /dev/null +++ b/hb_server/apps/inm/models.py @@ -0,0 +1,23 @@ +from django.db import models +from django.db.models.base import Model +import django.utils.timezone as timezone +from django.db.models.query import QuerySet +from apps.system.models import CommonAModel, CommonBModel, Organization, User, Dict, File +from utils.model import SoftModel, BaseModel +from simple_history.models import HistoricalRecords + + + +class WareHouse(CommonAModel): + """ + 仓库信息 + """ + number = models.CharField('仓库编号', max_length=20, unique=True) + name = models.CharField('仓库名称', max_length=20, unique=True) + place = models.CharField('具体地点', max_length=50) + class Meta: + verbose_name = '仓库信息' + verbose_name_plural = verbose_name + + def __str__(self): + return self.name \ No newline at end of file diff --git a/hb_server/apps/inm/serializers.py b/hb_server/apps/inm/serializers.py new file mode 100644 index 0000000..06607f1 --- /dev/null +++ b/hb_server/apps/inm/serializers.py @@ -0,0 +1,16 @@ +from rest_framework import serializers + +from apps.inm.models import WareHouse + +from apps.system.serializers import UserSimpleSerializer + +class WareHouseSerializer(serializers. ModelSerializer): + create_by_=UserSimpleSerializer('create_by', read_only=True) + class Meta: + model = WareHouse + fields = '__all__' + +class WareHouseCreateUpdateSerializer(serializers.ModelSerializer): + class Meta: + model = WareHouse + fields = ['name', 'number', 'place'] \ No newline at end of file diff --git a/hb_server/apps/inm/tests.py b/hb_server/apps/inm/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/hb_server/apps/inm/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/hb_server/apps/inm/urls.py b/hb_server/apps/inm/urls.py new file mode 100644 index 0000000..4faa6f3 --- /dev/null +++ b/hb_server/apps/inm/urls.py @@ -0,0 +1,12 @@ +from django.db.models import base +from rest_framework import urlpatterns +from apps.inm.views import WarehouseViewSet +from django.urls import path, include +from rest_framework.routers import DefaultRouter + +router = DefaultRouter() +router.register('warehouse', WarehouseViewSet, basename='warehouse') +urlpatterns = [ + path('', include(router.urls)), +] + diff --git a/hb_server/apps/inm/views.py b/hb_server/apps/inm/views.py new file mode 100644 index 0000000..62ae7ac --- /dev/null +++ b/hb_server/apps/inm/views.py @@ -0,0 +1,25 @@ +from django.shortcuts import render +from rest_framework.viewsets import ModelViewSet + +from apps.inm.models import WareHouse +from apps.inm.serializers import WareHouseSerializer, WareHouseCreateUpdateSerializer +from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin + + +# Create your views here. +class WarehouseViewSet(CreateUpdateModelAMixin, ModelViewSet): + """ + 仓库-增删改查 + """ + perms_map = {'*': '*'} + queryset = WareHouse.objects.select_related('create_by').all() + serializer_class = WareHouseSerializer + search_fields = ['name', 'number', 'place'] + filterset_fields = [] + ordering_fields = ['create_time'] + ordering = ['-create_time'] + + def get_serializer_class(self): + if self.action in ['create', 'update']: + return WareHouseCreateUpdateSerializer + return WareHouseSerializer diff --git a/hb_server/server/settings.py b/hb_server/server/settings.py index 79f7089..8e52283 100644 --- a/hb_server/server/settings.py +++ b/hb_server/server/settings.py @@ -51,7 +51,8 @@ INSTALLED_APPS = [ 'apps.em', 'apps.hrm', 'apps.wf', - 'apps.mtm' + 'apps.mtm', + 'apps.inm', ] MIDDLEWARE = [ diff --git a/hb_server/server/urls.py b/hb_server/server/urls.py index 1e6b935..8fe9aa2 100644 --- a/hb_server/server/urls.py +++ b/hb_server/server/urls.py @@ -64,6 +64,7 @@ urlpatterns = [ path('api/hrm/', include('apps.hrm.urls')), path('api/wf/', include('apps.wf.urls')), path('api/mtm/', include('apps.mtm.urls')), + path('api/inm/', include('apps.inm.urls')), # 工具 path('api/utils/signature/', GenSignature.as_view()),