Merge branch 'master' of https://e.coding.net/ctcdevteam/safesite
This commit is contained in:
commit
48cb98b203
|
@ -60,6 +60,8 @@ class Partment(models.Model):
|
|||
def __str__(self):
|
||||
return self.partname
|
||||
|
||||
|
||||
|
||||
class MySchedule(models.Model):
|
||||
name = models.CharField('名称', max_length=200)
|
||||
typeset = models.CharField('类型', default=1,max_length=10)
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
import time
|
||||
import hashlib
|
||||
import json
|
||||
def md5(st):
|
||||
h1 = hashlib.md5()
|
||||
h1.update(st.encode(encoding = 'utf-8'))
|
||||
return h1.hexdigest()
|
||||
|
||||
data = {'user_id': 1, 'company_id': 1, 'expire': time.time() + 3600}
|
||||
print(md5(json.dumps(data)))
|
|
@ -269,4 +269,6 @@ urlpatterns = [
|
|||
path('mgt/',include('safesite.mgt.urls')),
|
||||
|
||||
path('miniprogram/<str:module>', views.miniprogram),
|
||||
path('api/auth/token/', viewsdrf.AuthToken.as_view()),
|
||||
path('api-o/trouble/', viewsdrf.TroubleListView.as_view())
|
||||
]
|
||||
|
|
|
@ -8379,7 +8379,7 @@ def apiriskacttask(req):
|
|||
'taskdo', 'state', 'user__ubelongpart__partname', 'user__name', 'taskdo', 'istask')
|
||||
return HttpResponse(transjson(total, objs), content_type="application/json")
|
||||
elif a == 'listalltodo': # 全厂待办任务
|
||||
objs = RiskActTask.objects.filter(istask=1, taskdo=None, usable=1)
|
||||
objs = RiskActTask.objects.filter(istask=1, taskdo=None, usable=1, user__usecomp__partid=companyid)
|
||||
objs = objs.filter(riskact__table_type=req.GET.get('table_type', 1))
|
||||
total = objs.count()
|
||||
startnum, endnum = fenye(req)
|
||||
|
|
|
@ -75,3 +75,77 @@ class EquipmentCheckFormDetailView(generics.RetrieveUpdateDestroyAPIView):
|
|||
obj.save()
|
||||
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
from django.contrib.auth.hashers import check_password
|
||||
import time
|
||||
import hashlib
|
||||
import json
|
||||
from django.core.cache import cache
|
||||
import random
|
||||
import string
|
||||
|
||||
def ranstr(num):
|
||||
salt = ''.join(random.sample(string.ascii_lowercase + string.digits, num))
|
||||
return salt
|
||||
|
||||
def md5(st):
|
||||
h1 = hashlib.md5()
|
||||
h1.update(st.encode(encoding = 'utf-8'))
|
||||
return h1.hexdigest()
|
||||
|
||||
class AuthToken(APIView):
|
||||
|
||||
def post(self, request):
|
||||
"""获取token
|
||||
|
||||
获取token
|
||||
"""
|
||||
data = request.data
|
||||
user = User.objects.filter(username=data['username'], deletemark=1, usecomp__enabled=True).first()
|
||||
if user:
|
||||
if check_password(data['password'], user.epassword):
|
||||
data = {'user_id': user.userid, 'company_id': user.usecomp.partid}
|
||||
token = ranstr(12)
|
||||
cache.set(token, data, 1800)
|
||||
return Response({'code': 200, 'data': {'token': token}, 'msg': None})
|
||||
return Response({'code': 400, 'msg': '用户不存在或已禁用', 'data': None})
|
||||
|
||||
from django.db.models import F
|
||||
# from django.utils import timezone
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
class TroubleListSerializer(serializers.ModelSerializer):
|
||||
id = serializers.CharField(source='troubleid')
|
||||
fxr_name = serializers.CharField(source='fxr.name', read_only=True)
|
||||
fxbm_name = serializers.CharField(source='fxbm.partname', read_only=True)
|
||||
yhlb_name = serializers.CharField(source='yhlb.dickeyname', read_only=True)
|
||||
zgr_name = serializers.CharField(source='zgr.name', read_only=True)
|
||||
yhpg_name = serializers.CharField(source='yhpg.dickeyname', read_only=True)
|
||||
yhdj_name = serializers.CharField(source='yhdj.dickeyname', read_only=True)
|
||||
zgbm_name = serializers.CharField(source='zgbm.partname', read_only=True)
|
||||
jclx_name = serializers.CharField(source='jclx.dickeyname', read_only=True)
|
||||
class Meta:
|
||||
model = Trouble
|
||||
fields = ['yhms', 'yhzt', 'fxsj', 'tbsj', 'yhnum', 'zgqx', 'zgsj', 'id',
|
||||
'fxr_name', 'fxbm_name', 'yhlb_name', 'zgr_name', 'yhpg_name', 'yhdj_name', 'zgbm_name', 'jclx_name']
|
||||
class TroubleListView(APIView):
|
||||
|
||||
|
||||
def post(self, request):
|
||||
# 查询某一天的隐患, 默认是当天
|
||||
data = request.data
|
||||
if 'token' not in data:
|
||||
return Response({'code': 400, 'msg': '请提供token', 'data': None})
|
||||
user_data = cache.get(data['token'], None)
|
||||
if user_data is None:
|
||||
return Response({'code': 400, 'msg': '无效token', 'data': None})
|
||||
company_id = user_data['company_id']
|
||||
day = datetime.now().date()
|
||||
if 'date' in data:
|
||||
day = datetime.strptime(data['date'],'%Y-%m-%d').date()
|
||||
objs = Trouble.objects.filter(usecomp__partid=company_id).exclude(deletemark=0)
|
||||
if data.get('type', 1) == 2: # 当时整改的
|
||||
objs = objs.filter(zgsj__year=day.year, zgsj__month=day.month, zgsj__day=day.day)
|
||||
else:
|
||||
objs = objs.filter(fxsj__year=day.year, fxsj__month=day.month, fxsj__day=day.day)
|
||||
serializer = TroubleListSerializer(instance=objs, many=True)
|
||||
return Response({'code': 200, 'data': serializer.data, 'msg': None})
|
||||
|
|
Loading…
Reference in New Issue