feat: abc!000增加default password
This commit is contained in:
parent
1934768b88
commit
8916349240
|
@ -12,11 +12,13 @@ from dateutil import tz
|
|||
from django.utils import timezone
|
||||
from datetime import datetime, timedelta
|
||||
from django.db.models import Max, Min
|
||||
from apps.utils.constants import DEFAULT_PWD
|
||||
|
||||
|
||||
def sync_to_rep(ep: Employee):
|
||||
# 个人信息完善时同步到rep表
|
||||
Remployee.objects.filter(employee=ep).update(name=ep.name, phone=ep.phone, id_number=ep.id_number, photo=ep.photo)
|
||||
Remployee.objects.filter(employee=ep).update(
|
||||
name=ep.name, phone=ep.phone, id_number=ep.id_number, photo=ep.photo)
|
||||
if ep.user:
|
||||
rps = Rparty.objects.filter(admin=ep.user)
|
||||
# 如果是管理员账户
|
||||
|
@ -33,12 +35,13 @@ def sync_to_rep(ep: Employee):
|
|||
|
||||
def bind_rpj(ticket: Ticket, transition: Transition, new_ticket_data: dict):
|
||||
rpj = Rpj.objects.get(id=new_ticket_data['rpj'])
|
||||
if rpj.ticket and rpj.ticket.id!=ticket.id:
|
||||
if rpj.ticket and rpj.ticket.id != ticket.id:
|
||||
raise ParseError('重复创建工单')
|
||||
if not Rpjmember.objects.filter(rpj=rpj).exists():
|
||||
raise ParseError('请至少选择一位入厂人员')
|
||||
ticket_data = ticket.ticket_data
|
||||
ticket_data.update({'belong_dept': rpj.belong_dept.id if rpj.belong_dept else '0'})
|
||||
ticket_data.update(
|
||||
{'belong_dept': rpj.belong_dept.id if rpj.belong_dept else '0'})
|
||||
ticket.ticket_data = ticket_data
|
||||
ticket.belong_dept = rpj.belong_dept
|
||||
ticket.create_by = rpj.create_by
|
||||
|
@ -47,7 +50,7 @@ def bind_rpj(ticket: Ticket, transition: Transition, new_ticket_data: dict):
|
|||
rpj.ticket = ticket
|
||||
rpj.state = Rpj.RPJ_AUDIT
|
||||
rpj.save()
|
||||
|
||||
|
||||
|
||||
def rpj_member_leave(i: Rpjmember):
|
||||
"""人员离开项目
|
||||
|
@ -57,9 +60,11 @@ def rpj_member_leave(i: Rpjmember):
|
|||
ep = rep.employee
|
||||
|
||||
# 查找本人除此之外还在的项目
|
||||
rpj_qs = Rpj.objects.filter(remployees=rep, state__in = [Rpj.RPJ_WORKING, Rpj.RPJ_ENTER]).exclude(id=rpj.id)
|
||||
rpj_qs = Rpj.objects.filter(remployees=rep, state__in=[
|
||||
Rpj.RPJ_WORKING, Rpj.RPJ_ENTER]).exclude(id=rpj.id)
|
||||
if rpj_qs.exists():
|
||||
leave_time__max = rpj_qs.aggregate(Max('leave_time'))['leave_time__max']
|
||||
leave_time__max = rpj_qs.aggregate(Max('leave_time'))[
|
||||
'leave_time__max']
|
||||
come_time_min = rpj_qs.aggregate(Min('come_time'))['come_time__min']
|
||||
rpj_ = rpj_qs.order_by('-create_time').first()
|
||||
rep.rpj = rpj_ # 更新当前入厂项目
|
||||
|
@ -72,16 +77,19 @@ def rpj_member_leave(i: Rpjmember):
|
|||
ep.user.belong_dept = rpj_dept
|
||||
ep.user.save()
|
||||
# 同步至大华人员库并下发人脸
|
||||
HrmService.sync_dahua_employee(ep, ep.photo, come_time_min, leave_time__max)
|
||||
HrmService.sync_dahua_employee(
|
||||
ep, ep.photo, come_time_min, leave_time__max)
|
||||
else:
|
||||
if ep:
|
||||
ep.job_state = Employee.JOB_OFF
|
||||
ep.save()
|
||||
HrmService.sync_dahua_employee(ep, ep.photo, rpj.come_time, timezone.now() + timedelta(hours=8))
|
||||
HrmService.sync_dahua_employee(
|
||||
ep, ep.photo, rpj.come_time, timezone.now() + timedelta(hours=8))
|
||||
if ep.user:
|
||||
ep.user.is_deleted = True
|
||||
ep.user.save()
|
||||
|
||||
|
||||
def rpj_member_come(i: Rpjmember):
|
||||
"""人员入厂
|
||||
"""
|
||||
|
@ -91,8 +99,10 @@ def rpj_member_come(i: Rpjmember):
|
|||
rpj_dept = rpj.rparty.dept
|
||||
post = Post.objects.get(code='remployee')
|
||||
# 尝试找到人员
|
||||
ep = Employee.objects.get_queryset(all=True).filter(id_number=rep.id_number).first()
|
||||
ep2 = Employee.objects.get_queryset(all=True).filter(phone=rep.phone).first()
|
||||
ep = Employee.objects.get_queryset(all=True).filter(
|
||||
id_number=rep.id_number).first()
|
||||
ep2 = Employee.objects.get_queryset(
|
||||
all=True).filter(phone=rep.phone).first()
|
||||
if ep:
|
||||
pass
|
||||
elif ep2:
|
||||
|
@ -100,7 +110,7 @@ def rpj_member_come(i: Rpjmember):
|
|||
else:
|
||||
ep = Employee()
|
||||
ep.id_number = rep.id_number
|
||||
|
||||
|
||||
ep.name = rep.name
|
||||
ep.id_number = rep.id_number
|
||||
ep.gender = get_info_from_id(rep.id_number).get('gender', '男')
|
||||
|
@ -120,13 +130,14 @@ def rpj_member_come(i: Rpjmember):
|
|||
user_e.is_deleted = False
|
||||
user_e.save()
|
||||
else:
|
||||
user_e = User.objects.get_queryset(all=True).filter(phone=rep.phone).first() # 看看有没有存在的账户
|
||||
user_e = User.objects.get_queryset(all=True).filter(
|
||||
phone=rep.phone).first() # 看看有没有存在的账户
|
||||
if user_e:
|
||||
user_e.is_deleted = False
|
||||
else:
|
||||
user_e = User()
|
||||
user_e.username = 'RE_' + ranstr(6)
|
||||
user_e.password = make_password('0000')
|
||||
user_e.password = make_password(DEFAULT_PWD)
|
||||
user_e.name = rep.name
|
||||
user_e.phone = rep.phone
|
||||
user_e.type = 'remployee'
|
||||
|
@ -135,18 +146,18 @@ def rpj_member_come(i: Rpjmember):
|
|||
user_e.save()
|
||||
# 账号划给部门
|
||||
UserPost.objects.get_or_create(user=user_e, dept=rpj_dept,
|
||||
defaults={
|
||||
'user': user_e,
|
||||
'dept': rpj_dept,
|
||||
'post': post
|
||||
})
|
||||
defaults={
|
||||
'user': user_e,
|
||||
'dept': rpj_dept,
|
||||
'post': post
|
||||
})
|
||||
ep.user = user_e
|
||||
ep.save()
|
||||
# 回写
|
||||
rep.employee = ep
|
||||
rep.rpj = rpj # 更新当前入厂项目
|
||||
rep.save()
|
||||
|
||||
|
||||
# come_time = rpj.come_time
|
||||
# leave_time = rpj.leave_time
|
||||
# dh_face_card_start = ep.third_info.get('dh_face_card_start', None)
|
||||
|
@ -159,12 +170,14 @@ def rpj_member_come(i: Rpjmember):
|
|||
# dh_face_card_end = datetime.strptime(dh_face_card_end, "%Y-%m-%d %H:%M:%S").replace(tzinfo=tzinfo)
|
||||
# if dh_face_card_end > leave_time:
|
||||
# leave_time = dh_face_card_end
|
||||
rpj_qs = Rpj.objects.filter(remployees=rep, state__in = [Rpj.RPJ_WORKING, Rpj.RPJ_ENTER])|Rpj.objects.filter(id=rpj.id)
|
||||
rpj_qs = Rpj.objects.filter(remployees=rep, state__in=[
|
||||
Rpj.RPJ_WORKING, Rpj.RPJ_ENTER]) | Rpj.objects.filter(id=rpj.id)
|
||||
leave_time__max = rpj_qs.aggregate(Max('leave_time'))['leave_time__max']
|
||||
come_time__min = rpj_qs.aggregate(Min('come_time'))['come_time__min']
|
||||
# 同步至大华人员库并下发人脸
|
||||
HrmService.sync_dahua_employee(ep, old_photo, come_time__min, leave_time__max)
|
||||
|
||||
HrmService.sync_dahua_employee(
|
||||
ep, old_photo, come_time__min, leave_time__max)
|
||||
|
||||
|
||||
def rpj_certificate_in(rpjm: Rpjmember):
|
||||
for i in Rpjcertificate.objects.filter(rpj_member=rpjm):
|
||||
|
@ -185,6 +198,7 @@ def rpj_certificate_in(rpjm: Rpjmember):
|
|||
ct.file = i.file
|
||||
ct.save()
|
||||
|
||||
|
||||
def rpj_audit_end(ticket):
|
||||
rpj = Rpj.objects.get(ticket=ticket)
|
||||
# 更新入厂项目人员库
|
||||
|
@ -208,7 +222,8 @@ def rpj_audit_end(ticket):
|
|||
ct.save()
|
||||
# 更新相关方资料库后续可从资料库里选择
|
||||
for i in Rpjfile.objects.filter(rpj=rpj):
|
||||
rf = Rfile.objects.filter(file_cate=i.file_cate, rparty=i.rpj.rparty).first()
|
||||
rf = Rfile.objects.filter(
|
||||
file_cate=i.file_cate, rparty=i.rpj.rparty).first()
|
||||
if rf:
|
||||
pass
|
||||
else:
|
||||
|
@ -224,4 +239,5 @@ def rpj_audit_end(ticket):
|
|||
# 发送通知?
|
||||
phone = rpj.create_by.phone if rpj.create_by else None
|
||||
if phone:
|
||||
send_sms(phone=phone, template_code=1004, template_param={'name': '相关方项目'})
|
||||
send_sms(phone=phone, template_code=1004,
|
||||
template_param={'name': '相关方项目'})
|
||||
|
|
|
@ -18,6 +18,7 @@ from django.contrib.auth.hashers import make_password
|
|||
from django.db import transaction
|
||||
from rest_framework.exceptions import ParseError
|
||||
from django.db.models import Q
|
||||
from apps.utils.constants import DEFAULT_PWD
|
||||
|
||||
|
||||
# Create your views here.
|
||||
|
@ -69,7 +70,7 @@ class RpartyViewSet(CustomModelViewSet):
|
|||
serializer = UserCreateSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
ins = serializer.save(
|
||||
type='remployee', password=make_password('0000'))
|
||||
type='remployee', password=make_password(DEFAULT_PWD))
|
||||
obj.admin = ins
|
||||
obj.save()
|
||||
# 岗位设置为相关方岗位
|
||||
|
|
|
@ -16,6 +16,7 @@ from rest_framework.mixins import ListModelMixin, RetrieveModelMixin, CreateMode
|
|||
from django.contrib.auth.hashers import make_password
|
||||
from django.db import transaction
|
||||
from rest_framework.serializers import Serializer
|
||||
from apps.utils.constants import DEFAULT_PWD
|
||||
|
||||
from apps.vm.services import sync_to_visitor, visit_driver_end
|
||||
# Create your views here.
|
||||
|
@ -30,7 +31,7 @@ class VisitViewSet(CustomModelViewSet):
|
|||
retrieve_serializer_class = VisitDetailSerializer
|
||||
filterset_fields = ['state', 'create_by', 'purpose']
|
||||
select_related_fields = ['ticket', 'receptionist',
|
||||
'ticket__workflow', 'ticket__state']
|
||||
'ticket__workflow', 'ticket__state']
|
||||
|
||||
def get_queryset(self):
|
||||
user = self.request.user
|
||||
|
@ -102,7 +103,8 @@ class VisitorViewSet(CustomModelViewSet):
|
|||
check_phone_code(phone, code)
|
||||
# 查询是否已注册
|
||||
user = User.objects.filter(phone=phone).first()
|
||||
ep = Employee.objects.get_queryset(all=True).filter(phone=phone, user__isnull=False).first()
|
||||
ep = Employee.objects.get_queryset(all=True).filter(
|
||||
phone=phone, user__isnull=False).first()
|
||||
if user or ep:
|
||||
raise ParseError('该手机号已注册,请直接登录')
|
||||
# 访客/司机账户创建
|
||||
|
@ -113,11 +115,12 @@ class VisitorViewSet(CustomModelViewSet):
|
|||
user.name = name
|
||||
user.username = 'V_' + ranstr(10)
|
||||
user.phone = phone
|
||||
user.password = make_password('0000')
|
||||
user.password = make_password(DEFAULT_PWD)
|
||||
user.wx_openid = vdata.get('wx_openid', None)
|
||||
user.wxmp_openid = vdata.get('wxmp_openid', None)
|
||||
user.save()
|
||||
ep2 = Employee.objects.get_queryset(all=True).filter(phone=phone, user__isnull=True).first()
|
||||
ep2 = Employee.objects.get_queryset(all=True).filter(
|
||||
phone=phone, user__isnull=True).first()
|
||||
if ep2:
|
||||
ep2.user = user
|
||||
ep2.is_deleted = False
|
||||
|
|
Loading…
Reference in New Issue