|
@@ -52,7 +52,7 @@ class RepairOrder(models.Model):
|
|
editable=False)
|
|
editable=False)
|
|
name = models.CharField(max_length=11, verbose_name='报修人员')
|
|
name = models.CharField(max_length=11, verbose_name='报修人员')
|
|
tel = models.CharField(max_length=11, verbose_name='报修电话')
|
|
tel = models.CharField(max_length=11, verbose_name='报修电话')
|
|
- repair_users = models.ManyToManyField(settings.AUTH_USER_MODEL, verbose_name='维修人员', related_name='repair_users')
|
|
|
|
|
|
+ repair_users = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='维修人员', related_name='repair_users',on_delete=models.PROTECT,)
|
|
status = models.PositiveSmallIntegerField(choices=settings.REPAIR_STATUS_CHOICES, verbose_name=u'状态',
|
|
status = models.PositiveSmallIntegerField(choices=settings.REPAIR_STATUS_CHOICES, verbose_name=u'状态',
|
|
default=settings.NOT_CHECKED)
|
|
default=settings.NOT_CHECKED)
|
|
order_type = models.PositiveSmallIntegerField(choices=ORDER_TYPE, verbose_name=u'工单类型',
|
|
order_type = models.PositiveSmallIntegerField(choices=ORDER_TYPE, verbose_name=u'工单类型',
|
|
@@ -102,8 +102,7 @@ class RepairOrder(models.Model):
|
|
if not self.status == settings.DISPATCH:
|
|
if not self.status == settings.DISPATCH:
|
|
raise CustomError('当前报修工单不允许挂起!')
|
|
raise CustomError('当前报修工单不允许挂起!')
|
|
|
|
|
|
- user_ids = self.repair_users.all()
|
|
|
|
- if user not in user_ids:
|
|
|
|
|
|
+ if user != self.repair_users:
|
|
raise CustomError('非主修人员操作,禁止操作!')
|
|
raise CustomError('非主修人员操作,禁止操作!')
|
|
|
|
|
|
self.status = settings.HANG_UP
|
|
self.status = settings.HANG_UP
|
|
@@ -116,8 +115,7 @@ class RepairOrder(models.Model):
|
|
if not self.status == settings.HANG_UP:
|
|
if not self.status == settings.HANG_UP:
|
|
raise CustomError('当前报修工单非挂起状态!')
|
|
raise CustomError('当前报修工单非挂起状态!')
|
|
|
|
|
|
- user_ids = self.repair_users.all()
|
|
|
|
- if user not in user_ids:
|
|
|
|
|
|
+ if user != self.repair_users:
|
|
raise CustomError('非主修人员操作,禁止操作!')
|
|
raise CustomError('非主修人员操作,禁止操作!')
|
|
self.status = settings.DISPATCH
|
|
self.status = settings.DISPATCH
|
|
self.save()
|
|
self.save()
|
|
@@ -136,7 +134,7 @@ class RepairOrder(models.Model):
|
|
|
|
|
|
def dispatch_repair_order(self, user, dispacth_users):
|
|
def dispatch_repair_order(self, user, dispacth_users):
|
|
self.status = settings.DISPATCH
|
|
self.status = settings.DISPATCH
|
|
- self.repair_users.add(dispacth_users)
|
|
|
|
|
|
+ self.repair_users_id = dispacth_users
|
|
self.save()
|
|
self.save()
|
|
# 记录操作
|
|
# 记录操作
|
|
RepairOrderRecord.objects.create(repair_order=self, status=settings.DISPATCH, user=user,
|
|
RepairOrderRecord.objects.create(repair_order=self, status=settings.DISPATCH, user=user,
|
|
@@ -198,10 +196,9 @@ class RepairOrderRecord(models.Model):
|
|
elif self.status == settings.CHECKED:
|
|
elif self.status == settings.CHECKED:
|
|
dict['desc'] = u'审核人:{}'.format(user_name)
|
|
dict['desc'] = u'审核人:{}'.format(user_name)
|
|
elif self.status == settings.DISPATCH:
|
|
elif self.status == settings.DISPATCH:
|
|
- user_ids = self.repair_users.split(',') or []
|
|
|
|
- repair_users = User.objects.filter(id__in=user_ids).values('employee__name', 'employee__tel', )
|
|
|
|
|
|
+ repair_users = User.objects.filter(id=self.repair_users).values('employee__name', 'employee__tel', )
|
|
e_name = [u'{0}-{1}'.format(e['employee__name'], e['employee__tel']) for e in repair_users]
|
|
e_name = [u'{0}-{1}'.format(e['employee__name'], e['employee__tel']) for e in repair_users]
|
|
- if str(self.user.id) in user_ids:
|
|
|
|
|
|
+ if str(self.user.id) == self.repair_users:
|
|
desc = u'维修工【{0}】接单'.format(','.join(e_name))
|
|
desc = u'维修工【{0}】接单'.format(','.join(e_name))
|
|
if self.repair_order.order_type == RepairOrder.INSPECTION_ORDER:
|
|
if self.repair_order.order_type == RepairOrder.INSPECTION_ORDER:
|
|
desc = u'维修工【{0}】巡检转维修接单'.format(','.join(e_name))
|
|
desc = u'维修工【{0}】巡检转维修接单'.format(','.join(e_name))
|
|
@@ -239,8 +236,7 @@ class RepairOrderRecord(models.Model):
|
|
}
|
|
}
|
|
)
|
|
)
|
|
elif self.status == settings.TURN_EMPLOYEE:
|
|
elif self.status == settings.TURN_EMPLOYEE:
|
|
- user_ids = self.repair_users.split(',') or []
|
|
|
|
- e_name = User.objects.filter(id__in=user_ids).values('employee__name', 'employee__tel', )
|
|
|
|
|
|
+ e_name = User.objects.filter(id=self.repair_users).values('employee__name', 'employee__tel', )
|
|
e_name = [e['employee__name'] + '-' + e['employee__tel'] for e in e_name]
|
|
e_name = [e['employee__name'] + '-' + e['employee__tel'] for e in e_name]
|
|
desc = u'【{0}】转单给维修工【{1}】'.format(user_name, ','.join(e_name))
|
|
desc = u'【{0}】转单给维修工【{1}】'.format(user_name, ','.join(e_name))
|
|
dict['desc'] = desc
|
|
dict['desc'] = desc
|