Compare commits
2 Commits
f3e8e8d3c2
...
36df498e08
| Author | SHA1 | Date |
|---|---|---|
|
|
36df498e08 | |
|
|
5be3f6fbe5 |
|
|
@ -0,0 +1,126 @@
|
|||
# Generated by Django 3.2.12 on 2025-11-27 08:00
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('system', '0006_auto_20241213_1249'),
|
||||
('srm', '0011_auto_20251125_1637'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='platstanding',
|
||||
name='achieve',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='platstanding',
|
||||
name='completion',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='platstanding',
|
||||
name='finished',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='platstanding',
|
||||
name='number',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='platstanding',
|
||||
name='org',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='platstanding',
|
||||
name='p_type',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='platstanding',
|
||||
name='period',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='platstanding',
|
||||
name='plat_amount',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='platstanding',
|
||||
name='son_pro',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='acceptance_status',
|
||||
field=models.TextField(blank=True, null=True, verbose_name='项目验收情况'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='belong_dept',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='platstanding_belong_dept', to='system.dept', verbose_name='所属部门'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='const',
|
||||
field=models.CharField(blank=True, max_length=100, null=True, verbose_name='建设期'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='mid_term_status',
|
||||
field=models.TextField(blank=True, null=True, verbose_name='项目中期情况'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='milestone',
|
||||
field=models.TextField(blank=True, null=True, verbose_name='里程碑节点'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='name',
|
||||
field=models.CharField(blank=True, max_length=200, null=True, verbose_name='名称'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='project_funding',
|
||||
field=models.DecimalField(blank=True, decimal_places=2, max_digits=15, null=True, verbose_name='项目资金(财政与自筹)'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='project_members',
|
||||
field=models.TextField(blank=True, null=True, verbose_name='项目人员'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='project_source',
|
||||
field=models.CharField(blank=True, max_length=100, null=True, verbose_name='项目来源'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='project_type',
|
||||
field=models.CharField(blank=True, max_length=100, null=True, verbose_name='项目类型'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='red_head_doc_no',
|
||||
field=models.CharField(blank=True, max_length=100, null=True, verbose_name='红头发文号/公示页'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='responsible_person',
|
||||
field=models.CharField(blank=True, max_length=50, null=True, verbose_name='负责人'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='sci_tech_achievements',
|
||||
field=models.TextField(blank=True, null=True, verbose_name='科技成果'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='support_period',
|
||||
field=models.CharField(blank=True, max_length=100, null=True, verbose_name='项目支持期'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='platstanding',
|
||||
name='undertaking_unit',
|
||||
field=models.CharField(blank=True, max_length=200, null=True, verbose_name='承担单位'),
|
||||
),
|
||||
]
|
||||
|
|
@ -131,54 +131,25 @@ class Platform(CommonADModel):
|
|||
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)
|
||||
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)
|
||||
platinfo = models.ForeignKey('Platform', verbose_name="平台信息", on_delete=models.CASCADE, related_name='platstanding',null=True, blank=True)
|
||||
|
||||
class Platstanding(CommonBDModel):
|
||||
"""TN: 项目信息表
|
||||
|
||||
"""
|
||||
red_head_doc_no = models.CharField("红头发文号/公示页", max_length=100, null=True, blank=True)
|
||||
name = models.CharField("名称", max_length=200, null=True, blank=True)
|
||||
project_type = models.CharField("项目类型", max_length=100, 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: 立项审批表"""
|
||||
# project_start_date = models.DateField("立项日期", null=True, blank=True)
|
||||
# is_self_initiated = models.BooleanField("自立项目", default=False)
|
||||
# is_city_level = models.BooleanField("市级项目", default=False)
|
||||
# is_province_level = models.BooleanField("省级项目", default=False)
|
||||
# construction_period = models.CharField("建设期", max_length=100, null=True, blank=True)
|
||||
# project_members = models.TextField("项目组员", null=True, blank=True)
|
||||
# project_budget = models.DecimalField("项目预算(万元)", max_digits=12, decimal_places=2, null=True, blank=True)
|
||||
# project_description = models.TextField("项目基本情况", null=True, blank=True)
|
||||
# project_performance = models.TextField("目标绩效", null=True, blank=True)
|
||||
|
||||
|
||||
# class ProjectInfo(CommonBDModel):
|
||||
# """TN: 项目信息表
|
||||
|
||||
# """
|
||||
# serial_number = models.CharField("序号", max_length=50, null=True, blank=True)
|
||||
# red_head_doc_no = models.CharField("红头发文号/公示页", max_length=100, null=True, blank=True)
|
||||
# name = models.CharField("名称", max_length=200, null=True, blank=True)
|
||||
# project_type = models.CharField("项目类型", max_length=100, null=True, blank=True)
|
||||
# platform = models.CharField("所属平台", max_length=100, null=True, blank=True)
|
||||
# project_source = models.CharField("项目来源", max_length=100, null=True, blank=True)
|
||||
# construction_period = models.CharField("建设期", max_length=100, null=True, blank=True)
|
||||
# project_funding = models.DecimalField("项目资金(财政与自筹)", max_digits=15, decimal_places=2, null=True, blank=True)
|
||||
# support_period = models.CharField("项目支持期", max_length=100, null=True, blank=True)
|
||||
# undertaking_unit = models.CharField("承担单位", max_length=200, null=True, blank=True)
|
||||
# responsible_person = models.CharField("负责人", max_length=50, null=True, blank=True)
|
||||
|
||||
# project_members = models.TextField("项目人员", null=True, blank=True)
|
||||
# milestone = models.TextField("里程碑节点", null=True, blank=True)
|
||||
# mid_term_status = models.TextField("项目中期情况", null=True, blank=True)
|
||||
# acceptance_status = models.TextField("项目验收情况", null=True, blank=True)
|
||||
# sci_tech_achievements = models.TextField("科技成果", null=True, blank=True)
|
||||
project_source = models.CharField("项目来源", max_length=100, null=True, blank=True)
|
||||
const = models.CharField("建设期", max_length=100, null=True, blank=True)
|
||||
platinfo = models.ForeignKey('Platform', verbose_name="平台信息", on_delete=models.CASCADE, related_name='platstanding',null=True, blank=True)
|
||||
project_funding = models.DecimalField("项目资金(财政与自筹)", max_digits=15, decimal_places=2, null=True, blank=True)
|
||||
support_period = models.CharField("项目支持期", max_length=100, null=True, blank=True)
|
||||
undertaking_unit = models.CharField("承担单位", max_length=200, null=True, blank=True)
|
||||
responsible_person = models.CharField("负责人", max_length=50, null=True, blank=True)
|
||||
project_members = models.TextField("项目人员", null=True, blank=True)
|
||||
milestone = models.TextField("里程碑节点", null=True, blank=True)
|
||||
mid_term_status = models.TextField("项目中期情况", null=True, blank=True)
|
||||
acceptance_status = models.TextField("项目验收情况", null=True, blank=True)
|
||||
sci_tech_achievements = models.TextField("科技成果", null=True, blank=True)
|
||||
|
|
@ -61,52 +61,3 @@ class PlatstandingSerializer(CustomModelSerializer):
|
|||
fields = '__all__'
|
||||
read_only_fields = EXCLUDE_FIELDS
|
||||
|
||||
|
||||
# class ProjectSerializer(serializers.ModelSerializer):
|
||||
# class Meta:
|
||||
# model = Project
|
||||
# fields = ['id', 'name']
|
||||
|
||||
|
||||
# class ProjectMemberSerializer(CustomModelSerializer):
|
||||
# affiliated_platforms = serializers.PrimaryKeyRelatedField(
|
||||
# many=True,
|
||||
# queryset=Platform.objects.all(),
|
||||
# write_only=True
|
||||
# )
|
||||
# affiliated_platforms_detail = PlatformSerializer(
|
||||
# source='affiliated_platforms', many=True, read_only=True
|
||||
# )
|
||||
|
||||
# affiliated_projects = serializers.PrimaryKeyRelatedField(
|
||||
# many=True,
|
||||
# queryset=Project.objects.all(),
|
||||
# write_only=True
|
||||
# )
|
||||
# affiliated_projects_detail = ProjectSerializer(
|
||||
# source='affiliated_projects', many=True, read_only=True
|
||||
# )
|
||||
# class Meta:
|
||||
# model = PatentRecord
|
||||
# fields = '__all__'
|
||||
|
||||
|
||||
# class PaperRecordSerializer(CustomModelSerializer):
|
||||
# class Meta:
|
||||
# model = PaperRecord
|
||||
# fields = '__all__'
|
||||
# read_only_fields = EXCLUDE_FIELDS
|
||||
|
||||
|
||||
# class ProjectApprovalSerializer(CustomModelSerializer):
|
||||
# class Meta:
|
||||
# model = ProjectApproval
|
||||
# fields = '__all__'
|
||||
# read_only_fields = EXCLUDE_FIELDS
|
||||
|
||||
|
||||
# class ProjectInfoSerializer(CustomModelSerializer):
|
||||
# class Meta:
|
||||
# model = ProjectInfo
|
||||
# fields = '__all__'
|
||||
# read_only_fields = EXCLUDE_FIELDS
|
||||
|
|
@ -187,7 +187,13 @@ class WfService(object):
|
|||
dpt_attrs = state.filter_dept.split('.') # 通过反向查询得到可能有多层
|
||||
expr = ticket
|
||||
for i in dpt_attrs:
|
||||
expr = getattr(expr, i)
|
||||
try:
|
||||
expr = getattr(expr, i)
|
||||
except AttributeError as e:
|
||||
if "'RelatedManager' object has no attribute" in str(e):
|
||||
expr = getattr(expr.first(), i)
|
||||
else:
|
||||
raise
|
||||
dpts = Dept.objects.filter(id=expr.id)
|
||||
user_queryset = user_queryset.filter(depts__in=dpts)
|
||||
# if state.filter_policy == 1:
|
||||
|
|
|
|||
Loading…
Reference in New Issue