-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodels.py
310 lines (276 loc) · 18.3 KB
/
models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
# coding: UTF-8
import uuid, datetime
from const import *
from django.db import models
from backend.utility import make_uuid
from adminStaff.models import ProjectSingle
from const.models import AchivementTypeDict,StaticsTypeDict,StaticsDataTypeDict
from users.models import TeacherProfile
class ProgressReport(models.Model):
content_id = models.CharField(max_length=50,
primary_key=True, default=lambda: str(uuid.uuid4()),
verbose_name="进展报告唯一ID")
project_id = models.ForeignKey(ProjectSingle)
summary = models.TextField(blank=True, null=True,
verbose_name="项目建设成效")
year = models.IntegerField(blank=False, null=False, default=lambda: datetime.datetime.today().year, max_length=4, verbose_name="录入年份")
class Meta:
verbose_name = "项目进展报告"
verbose_name_plural = "项目进展报告"
def __unicode__(self):
return self.project_id.title + "(%d)" % self.year
class FinalSubmit(models.Model):
"""
inheribit table, which use ProjectSingle to show final-submit content
"""
content_id = models.CharField(max_length=50,
primary_key=True, default=lambda: str(uuid.uuid4()),
verbose_name="结题报告唯一ID")
project_id = models.OneToOneField(ProjectSingle)
project_keyword = models.CharField(max_length=100, blank=True, null=True,
verbose_name="关键词")
project_summary = models.CharField(max_length=500, blank=False, null=True,
verbose_name="项目摘要")
project_plan = models.TextField(blank=True, null=True,
verbose_name="研究计划要点及执行情况概述")
project_progress = models.TextField(blank=True, null=True,
verbose_name="研究工作主要进展和所取得的成果")
academic_exchange = models.TextField(blank=True, null=True,
verbose_name="国内外学术合作交流与人才培养情况")
existing_problems = models.TextField(blank=True, null=True,
verbose_name="存在的问题、建议")
class Meta:
verbose_name = "项目结题报告"
verbose_name_plural = "项目结题报告"
def __unicode__(self):
return self.project_id.title
class ProjectAchivement(models.Model):
"""
inheribit table, which use ProjectSingle to show final-submit content
"""
content_id = models.CharField(max_length=50,
primary_key=True, default=lambda: str(uuid.uuid4()),
verbose_name="研究成果唯一ID")
project_id = models.ForeignKey(ProjectSingle)
achivementtype = models.ForeignKey(AchivementTypeDict)
achivementtitle = models.CharField(max_length=100, blank=False, null=True,
verbose_name="成果或论文名称")
mainmember = models.CharField(max_length=500, blank=False, null=True,
verbose_name="主要完成者")
introduction = models.CharField(max_length=500, blank=False, null=True,
verbose_name="成果说明")
remarks = models.CharField(max_length=500, blank=True, null=True,
verbose_name="标注状况")
class Meta:
verbose_name = "研究成果"
verbose_name_plural = "研究成果"
def __unicode__(self):
return self.achivementtitle
class TeacherInfoSetting(models.Model):
teacher = models.OneToOneField(TeacherProfile)
name = models.CharField(max_length=100, blank=False, null=True, verbose_name="姓名")
card = models.CharField(max_length=100, blank=False, null=True, verbose_name="身份证号码")
sex = models.CharField(max_length=100, blank=False, null=True, choices=SEX_CHOICES, default=SEX_CHOICES[-1][0], verbose_name="性别")
birth = models.CharField(max_length=100, blank=False, null=True, verbose_name="出生年月")
base_name = models.CharField(max_length=100, blank=False, null=True, verbose_name="所在研究基地名称")
target_type = models.CharField(max_length=100, blank=False, null=True, choices=PROJECT_IDENTITY_CHOICES, default=PROJECT_IDENTITY_CHOICES[-1][0], verbose_name="支持对象")
degree = models.CharField(max_length=100, blank=False, null=True, choices=DEGREE_CHOICES, default=DEGREE_CHOICES[-1][0], verbose_name="学位")
title = models.CharField(max_length=100, blank=False, null=True, choices=PROFESSIONAL_TITLE_CHOICES, default=PROFESSIONAL_TITLE_CHOICES[-1][0], verbose_name="职称")
base_type = models.CharField(max_length=100, blank=False, null=True, choices=RESEARCH_BASES_TYPE_CHOICES, default=RESEARCH_BASES_TYPE_CHOICES[-1][0], verbose_name="所在研究基地类型")
position = models.CharField(max_length=100, blank=False, null=True, choices=EXECUTIVE_POSITION_CHOICES, default=EXECUTIVE_POSITION_CHOICES[-1][0], verbose_name="行政职务")
class Meta:
verbose_name = "注册信息"
verbose_name_plural = "注册信息"
def __unicode__(self):
return self.name
class ProjectStatistics(models.Model):
"""
inheribit table, which use ProjectSingle to show final-submit content
"""
content_id = models.CharField(max_length=50,
primary_key=True, default=lambda: str(uuid.uuid4()),
verbose_name="统计数据唯一ID")
project_id = models.ForeignKey(ProjectSingle)
staticstype = models.ForeignKey(StaticsTypeDict,blank=False, null=False, verbose_name=u"统计数据类别")
staticsdatatype = models.ForeignKey(StaticsDataTypeDict,blank=False, null=False, verbose_name=u"统计数据级别")
statics_num = models.CharField(max_length=100, blank=False, null=True,
verbose_name="数量")
class Meta:
verbose_name = "统计数据"
verbose_name_plural = "统计数据"
def __unicode__(self):
return self.staticsdatatype.__unicode__() + "(" +self.staticstype.__unicode__() + ")"
class ProjectFundSummary(models.Model):
content_id = models.CharField(max_length=50,primary_key=True, default=lambda: str(uuid.uuid4()),
verbose_name="经费决算表唯一ID")
serial_number = models.CharField(max_length=20,blank=True,verbose_name="经费决算表流水号")
project_id = models.OneToOneField(ProjectSingle)
remarkment = models.CharField(max_length=1500,blank=False,null=True,
verbose_name="经费决算说明")
finance_comment = models.CharField(max_length=100, blank=True, null=True,default="",
verbose_name="财务评审意见")
equcosts_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="设备费预算经费")
equcosts_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="设备费经费支出")
equcosts_remark = models.CharField(max_length=100, blank=True, null=True,
verbose_name="设备费说明")
equacquisition_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="设备购置费经费")
equacquisition_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="设备购置费支出")
equacquisition_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="设备购置费说明")
equtrial_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="试制改造费经费")
equtrial_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="试制改造费支出")
equtrial_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="试制改造费说明")
equrent_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="设备改造与租赁费预算经费")
equrent_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="设备改造与租赁费经费支出")
equrent_remark = models.CharField(max_length=100,blank=False, null=True,
verbose_name="设备改造与租赁费说明")
material_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="材料费预算经费")
material_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="材料费经费支出")
material_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="材料费说明")
testcosts_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="测试化验加工费预算经费")
testcosts_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="测试化验加工费经费支出")
testcosts_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="测试化验加工费说明")
fuelpower_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="燃料动力费预算经费")
fuelpower_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="燃料动力费经费支出")
fuelpower_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="燃料动力费说明")
travel_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="差旅费预算经费")
travel_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="差旅费经费支出")
travel_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="差旅费说明")
conference_budget = models.FloatField(blank=False, null=False,default="0",
verbose_name="会议费预算经费")
conference_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="会议费经费支出")
conference_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="会议费说明")
cooperation_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="国际合作与交流费预算经费")
cooperation_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="国际合作与交流费经费支出")
cooperation_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="国际合作与交流费说明")
publish_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="出版费预算经费")
publish_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="出版费经费支出")
publish_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="出版费说明")
laborcosts_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="劳务费预算经费")
laborcosts_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="劳务费经费支出")
laborcosts_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="劳务费说明")
expertadvice_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="专家咨询费预算经费")
expertadvice_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="专家咨询费经费支出")
expertadvice_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="专家咨询费说明")
total_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="合计预算经费")
total_expenditure = models.FloatField(blank=False, null=True,default="0",
verbose_name="合计经费支出")
total_remark = models.CharField(max_length=100, blank=True, null=True,
verbose_name="合计说明")
finance_account = models.CharField(max_length = 20,blank = False,null = True, verbose_name="财务账号")
finance_staff =models.CharField(max_length=20,blank=False,null=True,verbose_name="财务审核人")
finance_checktime=models.CharField(max_length=50,blank=False,null=True,verbose_name="审核时间")
class Meta:
verbose_name = "经费决算表"
verbose_name_plural = "经费决算表"
def __unicode__(self):
return self.project_id.__unicode__()
class ProjectFundBudget(models.Model):
content_id = models.CharField(max_length=50,
primary_key=True, default=lambda: str(uuid.uuid4()),
verbose_name="经费预算表唯一ID")
project_id = models.OneToOneField(ProjectSingle)
serial_number = models.CharField(max_length=20,blank=True,verbose_name="经费决算表流水号")
remarkment = models.CharField(max_length=1500,blank=False,null=True,
verbose_name="经费预算说明")
equcosts_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="设备费预算经费")
equcosts_remark = models.CharField(max_length=100, blank=True, null=True,
verbose_name="设备费说明")
equacquisition_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="设备购置费经费")
equacquisition_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="设备购置费说明")
equtrial_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="试制改造费经费")
equtrial_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="试制改造费说明")
equrent_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="设备改造与租赁费预算经费")
equrent_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="设备改造与租赁费说明")
material_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="材料费预算经费")
material_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="材料费说明")
testcosts_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="测试化验加工费预算经费")
testcosts_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="测试化验加工费说明")
fuelpower_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="燃料动力费预算经费")
fuelpower_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="燃料动力费说明")
travel_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="差旅费预算经费")
travel_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="差旅费说明")
conference_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="会议费预算经费")
conference_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="会议费说明")
cooperation_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="国际合作与交流费预算经费")
cooperation_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="国际合作与交流费说明")
publish_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="出版费预算经费")
publish_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="出版费说明")
laborcosts_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="劳务费预算经费")
laborcosts_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="劳务费说明")
expertadvice_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="专家咨询费预算经费")
expertadvice_remark = models.CharField(max_length=100, blank=False, null=True,
verbose_name="专家咨询费说明")
total_budget = models.FloatField(blank=False, null=True,default="0",
verbose_name="合计预算经费")
total_remark = models.CharField(max_length=100, blank=True, null=True,
verbose_name="合计说明")
finance_comment = models.CharField(max_length=100, blank=True, null=True,default="",
verbose_name="财务评审意见")
finance_staff =models.CharField(max_length=20,blank=False,null=True,verbose_name="财务审核人")
finance_checktime=models.CharField(max_length=50,blank=False,null=True,verbose_name="审核时间")
class Meta:
verbose_name = "经费预算表"
verbose_name_plural = "经费预算表"
def __unicode__(self):
return self.project_id.__unicode__()