This commit is contained in:
shilixia 2021-04-12 14:02:42 +08:00
commit ecc7cb5e73
3 changed files with 31 additions and 3 deletions

View File

@ -39,6 +39,7 @@ class SubInspectTask(CommonAModel):
""" """
name = models.CharField('子任务名', max_length=100) name = models.CharField('子任务名', max_length=100)
inspecttask = models.ForeignKey(InspectTask, on_delete=models.CASCADE, verbose_name='所属任务') inspecttask = models.ForeignKey(InspectTask, on_delete=models.CASCADE, verbose_name='所属任务')
leader = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='组长')
class Meta: class Meta:
verbose_name = '巡查子任务' verbose_name = '巡查子任务'
@ -60,7 +61,7 @@ class InspectTeam(CommonAModel):
verbose_name = '巡查组' verbose_name = '巡查组'
verbose_name_plural = verbose_name verbose_name_plural = verbose_name
class InspectOrg(CommonAModel): class InspectDept(CommonAModel):
""" """
受巡查组织 受巡查组织
""" """
@ -75,6 +76,18 @@ class InspectRecord(CommonAModel):
""" """
巡查记录 巡查记录
""" """
result_choices = (
('发现', '发现'),
('未发现', '未发现'),
('不适用', '不适用')
)
item = models.ForeignKey(InspectItem, on_delete=models.CASCADE, verbose_name='检查项') item = models.ForeignKey(InspectItem, on_delete=models.CASCADE, verbose_name='检查项')
dept = models.ForeignKey(Organization, on_delete=models.CASCADE, verbose_name='受检查单位') dept = models.ForeignKey(Organization, on_delete=models.CASCADE, verbose_name='受检查单位')
result = models.CharField('检查结果', max_length=50, choices=result_choices, null=True, blank=True)
note = models.TextField('检查说明', null=True, blank=True)
class Meta:
verbose_name = '巡查记录'
verbose_name_plural = verbose_name

View File

@ -17,7 +17,16 @@ class InspectItemSerializer(serializers.ModelSerializer):
class InspectTaskSerializer(serializers.ModelSerializer): class InspectTaskSerializer(serializers.ModelSerializer):
create_by_ = UserSimpleSerializer(source='create_by', read_only=True) create_by_ = UserSimpleSerializer(source='create_by', read_only=True)
dept_count = serializers.SerializerMethodField()
subtask_count = serializers.SerializerMethodField()
class Meta: class Meta:
model = InspectTask model = InspectTask
fields = '__all__' fields = '__all__'
def get_dept_count(obj):
return InspectDept.objects.filter(subtask__inspecttask=obj, is_deleted=True).count()
def get_subtask_count(obj):
return SubInspectTask.objects.filter(inspecttask=obj, is_deleted=True).count()

View File

@ -42,3 +42,9 @@ class InspectTaskViewSet(CreateUpdateCustomMixin, ModelViewSet):
serializer_class = InspectTaskSerializer serializer_class = InspectTaskSerializer
search_fields = ['name'] search_fields = ['name']
ordering = ['-create_time'] ordering = ['-create_time']
class SubtaskViewSet(ModelViewSet):
perms_map = {'get': '*', 'post': 'inspecttask_create',
'put': 'inspecttask_update', 'delete': 'inspecttask_delete'}
queryset = SubInspectTask.objects.all()
ordering = ['create_time']