feat: srm -add models 平台审批表
This commit is contained in:
parent
c5110d3361
commit
b6a2a6a8d7
|
|
@ -0,0 +1,66 @@
|
|||
# Generated by Django 3.2.12 on 2025-11-04 07:08
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('wf', '0004_workflow_view_path2'),
|
||||
('srm', '0004_alter_paperrecord_pa_type'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Platstanding',
|
||||
fields=[
|
||||
('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
|
||||
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||
('number', models.CharField(blank=True, max_length=50, null=True, verbose_name='发文号')),
|
||||
('name', models.CharField(blank=True, max_length=50, null=True, verbose_name='名称')),
|
||||
('p_type', models.CharField(blank=True, max_length=50, null=True, verbose_name='平台类型')),
|
||||
('org', models.CharField(blank=True, max_length=100, null=True, verbose_name='单位')),
|
||||
('period', models.CharField(blank=True, max_length=200, null=True, verbose_name='建设期')),
|
||||
('city_p', models.BooleanField(default=False, verbose_name='市级平台')),
|
||||
('province_p', models.BooleanField(default=False, verbose_name='省级平台')),
|
||||
('plat_amount', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='平台资金(元)')),
|
||||
('son_pro', models.CharField(blank=True, max_length=200, null=True, verbose_name='子项目')),
|
||||
('achieve', models.CharField(blank=True, max_length=200, null=True, verbose_name='成果')),
|
||||
('finished', models.CharField(blank=True, max_length=200, null=True, verbose_name='完成情况')),
|
||||
('completion', models.CharField(blank=True, max_length=200, null=True, verbose_name='建成绩效完成情况')),
|
||||
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='platstanding_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='platstanding_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Platform',
|
||||
fields=[
|
||||
('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
|
||||
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||
('p_date', models.DateField(blank=True, null=True, verbose_name='日期')),
|
||||
('p_dept', models.CharField(blank=True, max_length=200, null=True, verbose_name='归口部门')),
|
||||
('city_p', models.BooleanField(default=False, verbose_name='市级平台')),
|
||||
('province_p', models.BooleanField(default=False, verbose_name='省级平台')),
|
||||
('const', models.CharField(blank=True, max_length=50, null=True, verbose_name='建设期')),
|
||||
('charge', models.CharField(blank=True, max_length=50, null=True, verbose_name='负责人')),
|
||||
('condition', models.TextField(blank=True, max_length=200, null=True, verbose_name='平台基本情况与目标绩效')),
|
||||
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='platform_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||
('ticket', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='plat_ticket', to='wf.ticket', verbose_name='关联工单')),
|
||||
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='platform_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
},
|
||||
),
|
||||
]
|
||||
|
|
@ -113,6 +113,33 @@ class PaperRecord(CommonADModel):
|
|||
award_info = models.TextField(null=True, blank=True, verbose_name="报奖情况")
|
||||
bonus_amount = models.DecimalField(max_digits=10,decimal_places=2, null=True,blank=True,verbose_name="奖金金额(元)")
|
||||
|
||||
class Platform(CommonADModel):
|
||||
"""TN: 平台信息表"""
|
||||
p_date = models.DateField(null=True, blank=True, verbose_name="日期")
|
||||
p_dept = models.CharField("归口部门", max_length=200, null=True, blank=True)
|
||||
city_p = models.BooleanField("市级平台", default=False)
|
||||
province_p = models.BooleanField("省级平台", default=False)
|
||||
const = models.CharField("建设期", max_length=50, null=True, blank=True)
|
||||
charge = models.CharField("负责人", max_length=50, null=True, blank=True)
|
||||
condition = models.TextField("平台基本情况与目标绩效", max_length=200, null=True, blank=True)
|
||||
ticket = models.ForeignKey('wf.ticket', verbose_name='关联工单',
|
||||
on_delete=models.SET_NULL, related_name='plat_ticket', null=True, blank=True, db_constraint=False)
|
||||
|
||||
class Platstanding(CommonADModel):
|
||||
"""TN: 平台台账登记"""
|
||||
number = models.CharField("发文号", max_length=50, null=True, blank=True)
|
||||
name = models.CharField("名称", max_length=50, null=True, blank=True)
|
||||
p_type = models.CharField("平台类型", max_length=50, null=True, blank=True)
|
||||
org = models.CharField("单位", max_length=100, null=True, blank=True)
|
||||
period = models.CharField("建设期", max_length=200, null=True, blank=True)
|
||||
city_p = models.BooleanField("市级平台", default=False)
|
||||
province_p = models.BooleanField("省级平台", default=False)
|
||||
plat_amount = models.DecimalField(max_digits=10,decimal_places=2, null=True,blank=True,verbose_name="平台资金(元)")
|
||||
son_pro= models.CharField("子项目", max_length=200, null=True, blank=True)
|
||||
achieve = models.CharField("成果", max_length=200, null=True, blank=True)
|
||||
finished = models.CharField("完成情况", max_length=200, null=True, blank=True)
|
||||
completion = models.CharField("建成绩效完成情况", max_length=200, null=True, blank=True)
|
||||
|
||||
|
||||
# class ProjectApproval(CommonBDModel):
|
||||
# """TN: 立项审批表"""
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from .models import (PatentInfo, Papersecret, PatentRecord, PaperRecord)
|
||||
from .models import PatentInfo, Papersecret, PatentRecord, PaperRecord, Platform, Platstanding
|
||||
from apps.utils.serializers import CustomModelSerializer
|
||||
from rest_framework import serializers
|
||||
from django.db import transaction
|
||||
|
|
@ -44,11 +44,21 @@ class PaperRecordSerializer(CustomModelSerializer):
|
|||
fields = '__all__'
|
||||
read_only_fields = EXCLUDE_FIELDS
|
||||
|
||||
# class PlatformSerializer(serializers.ModelSerializer):
|
||||
# class Meta:
|
||||
# model = Platform
|
||||
# fields = ['id', 'name']
|
||||
class PlatformSerializer(serializers.ModelSerializer):
|
||||
create_by_name = serializers.CharField(source='create_by.name', read_only=True)
|
||||
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)
|
||||
class Meta:
|
||||
model = Platform
|
||||
fields = '__all__'
|
||||
read_only_fields = EXCLUDE_FIELDS
|
||||
|
||||
class PlatstandingSerializer(serializers.ModelSerializer):
|
||||
create_by_name = serializers.CharField(source='create_by.name', read_only=True)
|
||||
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)
|
||||
class Meta:
|
||||
model = Platstanding
|
||||
fields = '__all__'
|
||||
read_only_fields = EXCLUDE_FIELDS
|
||||
|
||||
# class ProjectSerializer(serializers.ModelSerializer):
|
||||
# class Meta:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from django.urls import path, include
|
||||
from rest_framework.routers import DefaultRouter
|
||||
from apps.srm.views import PatentInfoViewSet, PapersecretViewSet, PatentRecordViewSet, PaperRecordViewSet
|
||||
from apps.srm.views import PatentInfoViewSet, PapersecretViewSet, PatentRecordViewSet, PaperRecordViewSet, PlatformViewSet, PlatstandingViewSet
|
||||
|
||||
|
||||
API_BASE_URL = 'api/srm/'
|
||||
|
|
@ -11,6 +11,8 @@ router.register('patentinfo', PatentInfoViewSet, basename='patentinfo')
|
|||
router.register('paperse', PapersecretViewSet, basename='PaperSe')
|
||||
router.register('patentrecord', PatentRecordViewSet, basename='patentrecord')
|
||||
router.register('paperrecord', PaperRecordViewSet, basename='paperrecord')
|
||||
router.register('pf', PlatformViewSet, basename='pf')
|
||||
router.register('ps', PlatstandingViewSet, basename='ps')
|
||||
|
||||
urlpatterns = [
|
||||
path(API_BASE_URL, include(router.urls)),
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ from django.shortcuts import render
|
|||
# Create your views here.
|
||||
from django.shortcuts import render
|
||||
from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet
|
||||
from .models import PatentInfo, Papersecret, PatentRecord, PaperRecord
|
||||
from .serializers import PatentInfoSerializer, PaperSeSerializer, PatentRecordSerializer, PaperRecordSerializer
|
||||
from .models import PatentInfo, Papersecret, PatentRecord, PaperRecord, Platform, Platstanding
|
||||
from .serializers import PatentInfoSerializer, PaperSeSerializer, PatentRecordSerializer, PaperRecordSerializer, PlatformSerializer, PlatstandingSerializer
|
||||
|
||||
from rest_framework.exceptions import ParseError
|
||||
from rest_framework.response import Response
|
||||
|
|
@ -20,7 +20,6 @@ class PatentInfoViewSet(CustomModelViewSet):
|
|||
filterset_fields = ["name", "author", "type"]
|
||||
ordering = ["-create_time", "name", "author", "type"]
|
||||
|
||||
|
||||
class PapersecretViewSet(CustomModelViewSet):
|
||||
"""list: 论文申密审批
|
||||
|
||||
|
|
@ -31,7 +30,6 @@ class PapersecretViewSet(CustomModelViewSet):
|
|||
filterset_fields = ["paper_name", "author"]
|
||||
ordering = ["-create_time", "paper_name"]
|
||||
|
||||
|
||||
class PatentRecordViewSet(CustomModelViewSet):
|
||||
"""list: 专利台账登记
|
||||
|
||||
|
|
@ -62,7 +60,6 @@ class PatentRecordViewSet(CustomModelViewSet):
|
|||
patents = [{'id': patent.id, 'name': patent.name} for patent in queryset]
|
||||
return Response(patents)
|
||||
|
||||
|
||||
class PaperRecordViewSet(CustomModelViewSet):
|
||||
"""list: 论文台账登记
|
||||
|
||||
|
|
@ -92,3 +89,24 @@ class PaperRecordViewSet(CustomModelViewSet):
|
|||
queryset = queryset.filter(paper_name__icontains=search)
|
||||
papers = [{'id': paper.id, 'name': paper.paper_name} for paper in queryset]
|
||||
return Response(papers)
|
||||
|
||||
class PlatformViewSet(CustomModelViewSet):
|
||||
"""list: 平台审批
|
||||
|
||||
平台审批
|
||||
"""
|
||||
queryset = Platform.objects.all()
|
||||
serializer_class = PlatformSerializer
|
||||
filterset_fields = ["p_dept"]
|
||||
ordering = ["-create_time", "p_dept"]
|
||||
|
||||
|
||||
class PlatstandingViewSet(CustomModelViewSet):
|
||||
"""list: 平台审批
|
||||
|
||||
平台审批
|
||||
"""
|
||||
queryset = Platstanding.objects.all()
|
||||
serializer_class = PlatstandingSerializer
|
||||
filterset_fields = ["name", "city_p", "province_p"]
|
||||
ordering = ["-create_time", "name"]
|
||||
Loading…
Reference in New Issue