예제 #1
0
    def get(self, ):
        uss = []
        comm = []
        dee = []
        result = []
        user = session.query(Companys).all()
        company = session.query(Users).all()
        department = session.query(Departments).all()
        for us in user:
            del us.__dict__['_sa_instance_state']
            uss.append(us.__dict__)
            # print(us.__dict__)
        for de in department:
            del de.__dict__['_sa_instance_state']
            dee.append(de.__dict__)
        for co in company:
            del co.__dict__['_sa_instance_state']
            comm.append(co.__dict__)
            # print(co.__dict__)

        for u in uss:
            for c in comm:
                if (u['id'] == c['uid']):
                    result.append(u)
                    result.append(c)

        # print(result)

        #计数器
        num = 0
        result1 = []
        for item in result:
            if (num % 2 == 0):
                result[num + 1]['company'] = item['name']
                result1.append(result[num + 1])
            num += 1

        result2 = []
        dic = {}
        for i in range(len(result1)):
            for dep in dee:
                if (dep['cid'] == result1[i]['uid']):
                    result1[i]['department'] = dep['name']
                    dic = result1[i]
            result2.append(dic)

        print('返回的', result2)
        return {'data': result2}
예제 #2
0
파일: run.py 프로젝트: uaif1907/dingai
def login():
    data = request.json
    data = dict(data)
    # username = data.get("username",None)
    # password = data.get("password",None)
    username = data['username']
    password = data['password']
    if username and password:
        user = session.query(Admins).filter(
            Admins.username == username).first()
        if user:
            if user.password == password:
                # 创建token
                # s = Serializer(app.config['SECRET_KEY'],expires_in=60*10)
                s = Serializer(app.config['SECRET_KEY'], expires_in=60 * 10)
                token = str(s.__dict__['secret_key']).replace("b'",
                                                              '').replace(
                                                                  "'", '')
                # print(s,s.__dict__['secret_key'])

                # 用户信息保留在 session 会话
                # 返回 {'code':200,'msg':'yes','token':''}

                return jsonify({
                    'code': 200,
                    'msg': 'yes',
                    'token': str(s.dumps({'id': user.id}))
                })

                # return jsonify({'code':200,'msg':'yes','token':s.dumps({'id':user.id})})
                return jsonify({'code': 200, 'msg': 'yes', 'token': token})

    return jsonify({'code': '300', 'msg': 'no'})
예제 #3
0
파일: AdminApi.py 프로젝트: uaif1907/dingai
    def get(self):
        """
        :return: 管理员
        """

        data= session.query(Admins).all()
        arr = [(marshal(item,admins_fields)) for item in data]

        return {"code":200,"data":arr}
예제 #4
0
    def get(self):
        """
        获取全部公司
        :return:返回全部公司

        """
        data = session.query(Companys).all()
        arr = [(marshal(item, companys_fields)) for item in data]
        return {"code": 200, "data": arr}
예제 #5
0
 def get(self):
     """
     获取公司对应部门
     :param cid:
     :return: 部门信息
     """
     data = session.query(Departments).all()
     arr = [(marshal(item,departments_fields)) for item in data]
     return {"code":200,"data":arr}
예제 #6
0
파일: UserApi.py 프로젝트: uaif1907/dingai
    def get(self, cid, did):
        """
        获取用户信息
        :param cid: 公司id
        :param did: 部门id
        :return:  返回此部门下所有的用户
        """
        data = session.query(Users).all()
        data = [marshal(item, user_fields) for item in data]

        return {"code": 200, "data": data}
예제 #7
0
    def get(self):
        """
        获取资产登记
        :return:返回全部资产登记
        """

        data = session.query(Propertys).all()
        for item in data:

            item.username = item.admin.username
            item.userperson = item.user.name
            item.companyname = item.company.name
            item.depname = item.department.name
        arr = [(marshal(item, propertys_fields)) for item in data]
        return {"code": 200, "data": arr}
예제 #8
0
    def post(self):
        dataBack = request.get_json(silent=True)
        if dataBack['edit']==1:
            data = session.query(Main).filter_by(id=dataBack['id']).first()


            #zt时间处理


            print('time1', dataBack['time1'])
            print('time2', dataBack['time2'])


            #报修时间处理
            try:
                c1 = time.mktime(time.strptime(dataBack['time1'], "%Y-%m-%d")) #未修改点击确认的格式
                t1 = datetime.datetime.fromtimestamp(c1)
                data.time1 = t1
            except:
                c1 = time.mktime(time.strptime(dataBack['time1'], "%Y-%m-%dT%H:%M:%S.000Z")) #修改后点击确认的格式
                t1 = datetime.datetime.fromtimestamp(c1)
                data.time1 = t1


            #维修时间处理
            try:
                c2 = time.mktime(time.strptime(dataBack['time2'], "%Y-%m-%d")) #未修改点击确认的格式
                t2 = datetime.datetime.fromtimestamp(c2)
                data.time1 = t2
            except:
                c2 = time.mktime(time.strptime(dataBack['time2'], "%Y-%m-%dT%H:%M:%S.000Z")) #修改后点击确认的格式
                t2 = datetime.datetime.fromtimestamp(c2)
                data.time1 = t2


            data.explain =dataBack['explain']
            data.explain2=dataBack['explain2']
            data.uid=dataBack['uid']
            data.price=dataBack['price'].replace('¥','')
            data.num=dataBack['num']
            data.pid =dataBack['pid']
            data.id=data.id
            session.commit()






        elif dataBack['edit']==0:

            add = Main(uid=dataBack['pop']['uid'],people='待定',pid=dataBack['pop']['did'],time1=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),explain=dataBack['collar_remarks'],price=0,time2=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),num=dataBack['handle_name'])
            session.add(add)
            session.commit()
            session.close()

            print(dataBack)
        elif dataBack['edit']==2:
            data = session.query(Main).filter_by(id=dataBack['id']).first()
            session.delete(data)
            session.commit()
            session.close()
        return 'success'
예제 #9
0
    def get(self):
        lis = []
        dic={}
        val = [] #链表存储
        val1 = []
        prop =[] #拼接的所需的资产名字
        result = [] #结果存储
        resultEnd = []#最终返回结果
        names = [] #姓名联合查询存储
        data0 =[]#资产表内容存储
        select = [] #下拉选择的资产名字
        selec = {} #资产下拉寄存器

        data= session.query(Main).all()  #维修管理表单个查询
        data1 = session.query(Main,Users).join(Main,Users.uid==Main.uid).all() #通过报修人信息的级联查询
        propers = session.query(Propertys).all() #资产查询

        for item0 in propers: #资产下拉选项
            selec['value']=item0.__dict__['uid']
            selec['label']=item0.__dict__['name']
            select.append(selec)
            selec={}



        num = 0 #级联表计数器
        name=''
        for item1 in data1:
            for ite1 in item1:
                if(num==1):
                    name = ite1.__dict__['name']
                num+=1
                val.append(ite1.__dict__)
        for item in data:
            val1.append(dic)
            showTime1 = str(item.__dict__['time1'])
            item.__dict__['time1']= showTime1#报修时间



            try:  #判断是否有维修时间

                showTime2 = str((item.__dict__['time2']))
                item.__dict__['time2'] = showTime2

            except:
                now = datetime.datetime.now()
                item.__dict__['time2'] = now.strftime('%Y-%m-%d %H:%M:%S')


            price = item.__dict__['price']

            item.__dict__['time1']=showTime1
            item.__dict__['price']=str(price)+'¥'
            i = 0
            for ite in item.__dict__:
                if(i>0):
                    dic[ite] = item.__dict__[ite]

                i += 1

            dic['name']=name
            lis.append(dic)

        # 处理级联查询后的结果拼接
        # 处理报修人信息的拼接
        a=0 #拼接计数器
        for itee in val:
            if(a%2!=0):
                names.append(itee['name'])
                # print('全部名字', itee['name'])
            a+=1


        b=0
        length = len(val)
        l = 0
        for itee2 in val: #名字序列化存储
            if(b%2==0 and l<=length):
                itee2['name']=names[l]
                result.append(itee2)
                l+=1

            b+=1

        # 处理资产产状态的拼接

        try:
            for item in result: #资产序列化存储
                pro = session.query(Propertys).filter_by(uid='%s' % item['uid']).all()[0].__dict__
                data0.append(pro['status'])
                prop.append(pro['name'])
        except BaseException as bas:
            print(bas)

        try:
            nu=0
            for item3 in result:
                item3['status'] = data0[nu]
                item3['prop'] = prop[nu]
                del item3['_sa_instance_state']
                resultEnd.append(item3)
                nu+=1
        except BaseException as bas:
            print(bas)


        return jsonify({'data':resultEnd,'prop':select})