diff --git a/server/apps/crm/migrations/__init__.py b/server/apps/crm/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/server/apps/crm/models.py b/server/apps/crm/models.py index 71a8362..090799f 100644 --- a/server/apps/crm/models.py +++ b/server/apps/crm/models.py @@ -1,3 +1,82 @@ from django.db import models - +from apps.system.models import CommonBModel, Dict # Create your models here. +class TEntBaseInfo(CommonBModel): + enterprise_id = models.CharField('企业Id', max_length=500) + factory_id = models.CharField('工厂编号', max_length=300) + factory_name = models.CharField('工厂名称',null=True, blank=True, max_length=1000) + factory_ename = models.CharField('工厂英文名称',null=True, blank=True, max_length=1000) + factory_type = models.ForeignKey(Dict, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='机构类型', related_name= 'tentbaseinfo_factory_type') + corporation = models.CharField('申请单位法人代表',null=True, blank=True, max_length=300) + address = models.CharField('生产地址',null=True, blank=True, max_length=1000) + eaddress = models.CharField('生产英文地址',null=True, blank=True, max_length=1000) + postcode = models.CharField('邮编',null=True, blank=True, max_length=100) + build_time = models.CharField('建厂时间',null=True, blank=True, max_length=200) + person_count = models.CharField('工厂人数',null=True, blank=True, max_length=100) + gcapability = models.CharField('陶瓷年产量',null=True, blank=True, max_length=100) + gassets = models.CharField('固定资产',null=True, blank=True, max_length=100) + linkman1_name = models.CharField('第1联系人',null=True, blank=True, max_length=300) + linkman1_duty = models.CharField('第1联系人职务',null=True, blank=True, max_length=300) + linkman1_email = models.CharField('第1联系人邮箱',null=True, blank=True, max_length=300) + linkman1_tel = models.CharField('第1联系人电话',null=True, blank=True, max_length=300) + linkman1_mobile = models.CharField('第1联系人手机',null=True, blank=True, max_length=300) + linkman1_fax = models.CharField('第1联系人传真',null=True, blank=True, max_length=300) + linkman2_name = models.CharField('备用联系人',null=True, blank=True, max_length=300) + linkman2_email = models.CharField('备用联系人邮箱',null=True, blank=True, max_length=300) + linkman2_tel = models.CharField('备用联系人电话',null=True, blank=True, max_length=300) + linkman2_duty = models.CharField('备用联系人职务',null=True, blank=True, max_length=300) + linkman2_mobile = models.CharField('备用联系人手机',null=True, blank=True, max_length=300) + linkman2_fax = models.CharField('备用联系人传真',null=True, blank=True, max_length=300) + country_code = models.ForeignKey(Dict, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='生产企业所在国家地区代码', related_name= 'tentbaseinfo_country_code') + organization_code = models.CharField('统一社会信用代码',null=True, blank=True, max_length=300) + post_name = models.CharField('通信公司',null=True, blank=True, max_length=1000) + post_ename = models.CharField('通信公司(英)',null=True, blank=True, max_length=1000) + post_address = models.CharField('通信地址',null=True, blank=True, max_length=1000) + post_eaddress = models.CharField('通信英文地址',null=True, blank=True, max_length=1000) + post_code = models.CharField('地址邮编',null=True, blank=True, max_length=300) + region = models.CharField('地区',null=True, blank=True, max_length=300) + region_code = models.ForeignKey(Dict, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='地区代码', related_name= 'tentbaseinfo_region_code') + isdeleted = models.CharField('是否删除' ,max_length=1000,default=1) + status = models.CharField('是否受理',null=True, blank=True, max_length=1000) + addoperate = models.CharField('创建人',null=True, blank=True, max_length=1000) + updateoper = models.CharField('修改人',null=True, blank=True, max_length=1000) + recordowner = models.CharField('操作人',null=True, blank=True, max_length=300) + addtime = models.CharField('创建时间',null=True, blank=True, max_length=300) + updatetime = models.CharField('修改时间',null=True, blank=True, max_length=300) + foreign_ent = models.CharField('',null=True, blank=True, max_length=1000) + cccd_ate = models.CharField('3C时间',null=True, blank=True, max_length=1000) + jd_date = models.CharField('3C监督时间',null=True, blank=True, max_length=1000) + bak1 = models.CharField('',null=True, blank=True, max_length=1000) + bak2 = models.CharField('',null=True, blank=True, max_length=1000) + bak3 = models.CharField('',null=True, blank=True, max_length=1000) + professional = models.ForeignKey(Dict, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='所属专业', related_name= 'tentbaseinfo_professional') + qms_person = models.CharField('QMS人数',null=True, blank=True, max_length=300) + ems_person = models.CharField('EMS人数',null=True, blank=True, max_length=300) + pcv_person = models.CharField('PCV人数',null=True, blank=True, max_length=300) + ohs_person = models.CharField('OHS人数',null=True, blank=True, max_length=1000) + all_person = models.CharField('组织员工数',null=True, blank=True, max_length=1000) + app_type = models.ForeignKey(Dict, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='机构类型', related_name= 'tentbaseinfo_app_type') + appecocalling = models.CharField('经济行业',null=True, blank=True, max_length=1000) + appecocalling_id = models.ForeignKey(Dict, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='经济行业Id', related_name= 'tentbaseinfo_appecocalling_id') + appecotype = models.CharField('经济类型',null=True, blank=True, max_length=1000) + appecotype_id =models.ForeignKey(Dict, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='经济类型Id', related_name= 'tentbaseinfo_appecotype_id') + appworkrange = models.CharField('经营范围',null=True, blank=True, max_length=1000) + credit = models.CharField('企业信誉级别',null=True, blank=True, max_length=300) + creditremark = models.CharField('企业信誉级别备注',null=True, blank=True, max_length=1000) + qms08 = models.CharField('标记质量体系版审核',null=True, blank=True,max_length=1000) + xinyu_oper = models.CharField('信誉法人',null=True, blank=True, max_length=1000) + xinyu_date = models.CharField('信誉时间',null=True, blank=True, max_length=1000) + query_code = models.CharField('组织查询码',null=True, blank=True, max_length=1000) + linkman3_name = models.CharField('ES联系人',null=True, blank=True, max_length=300) + linkman3_duty = models.CharField('ES联系人职务',null=True, blank=True, max_length=300) + linkman3_email = models.CharField('ES联系人邮箱',null=True, blank=True, max_length=300) + linkman3_tel = models.CharField('ES联系人电话',null=True, blank=True, max_length=300) + linkman3_mobile = models.CharField('ES联系人手机',null=True, blank=True, max_length=300) + linkman3_fax = models.CharField('ES联系人传真',null=True, blank=True, max_length=300) + Dept = models.CharField('所属部门',null=True, blank=True, max_length=1000) + class Meta: + verbose_name = '组织信息' + verbose_name_plural = verbose_name + + def __str__(self): + return self.name \ No newline at end of file diff --git a/server/apps/crm/urls.py b/server/apps/crm/urls.py new file mode 100644 index 0000000..6abad42 --- /dev/null +++ b/server/apps/crm/urls.py @@ -0,0 +1,10 @@ +from django.urls import path, include +from .views import EntBaseInfoViewSet +from rest_framework import routers + +router = routers.DefaultRouter() +router.register('EntBaseInfo', EntBaseInfoViewSet, basename="EntBaseInfo") + +urlpatterns = [ + path('', include(router.urls)) +] \ No newline at end of file diff --git a/server/apps/crm/views.py b/server/apps/crm/views.py index 91ea44a..e294013 100644 --- a/server/apps/crm/views.py +++ b/server/apps/crm/views.py @@ -1,3 +1,14 @@ from django.shortcuts import render +from rest_framework.viewsets import ModelViewSet +from .models import TEntBaseInfo +from .serializers import StandardSerializer, ImplementRuleSerializer, UnitTypeSerializer # Create your views here. +class EntBaseInfoViewSet(ModelViewSet): + perms_map = {'get': '*', 'post': 'standard_create', + 'put': 'standard_update', 'delete': 'standard_delete'} + queryset = Standard.objects + serializer_class = StandardSerializer + search_fields = ['name', 'code', 'status', 'implement_date'] + filterset_fields = ['status'] + ordering = ['-create_time'] diff --git a/server/celerybeat.pid b/server/celerybeat.pid new file mode 100644 index 0000000..63ee79d --- /dev/null +++ b/server/celerybeat.pid @@ -0,0 +1 @@ +186608