Ejemplo n.º 1
0
 def get(self, request, format=None):
     # 获取request请求信息
     request_log = display_meta.display_meta(request)
     # 推入日志队列
     result = tasks.log_write.apply_async(args=request_log)
     result = tasks.log_write.apply_async(args=request_log)
     return Response(pymdm.get_property_name())
Ejemplo n.º 2
0
    def post(self, request, format=None):
        request_log = display_meta.display_meta(request)
        # 推入日志队列
        res = tasks.log_write.apply_async(args=request_log)
        res = tasks.log_write.apply_async(args=request_log)
        print(display_meta.display_meta(request))
        print(request.data)
        paras = request.data.get('MDM')
        print(paras)
        # 校验UUID存在与否
        uid = paras[0]['uuid']
        if not pymdm.check_uuid_exists(uid):
            return Response({'msg': 'UUID %s exist' % uid},
                            status=status.HTTP_400_BAD_REQUEST)

        # para_l = []
        # # 处理参数输出格式[[,,,,],[,,,,],...]
        # for i in paras:
        #     p = [str(a) for a in i.split(',')]
        #     for pp in p:
        #         if pp == '':
        #             p[p.index(pp)] = None
        #     para_l.append(p)
        # print(para_l)
        # 立即推送队列
        result = tasks.addrecord.apply_async(args=[paras])
        result = tasks.addrecord.apply_async(args=[paras])
        print(result)
        print(result.id)
        try:
            models.TaskLog.objects.create(task_id=result.id,
                                          parameter=paras,
                                          log_date=timezone.now())
        except Exception as e:
            pass

        # task_s = TaskMeta.objects.filter(task_id=result.id).values('status', 'result')
        # print(task_s)
        # if task_s[0]['status'] == 'SUCCESS' and task_s[0]['result']:
        #     return Response(paras, status=status.HTTP_201_CREATED)
        if result:
            return Response(paras, status=status.HTTP_201_CREATED)
        else:
            return Response(status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 3
0
 def get(self, request, format=None):
     # 获取request请求信息
     request_log = display_meta.display_meta(request)
     # 推入日志队列
     result = tasks.log_write.apply_async(args=request_log)
     result = tasks.log_write.apply_async(args=request_log)
     print(request.user)
     maindata = 主数据表.objects.all()
     serializer = MainDataSerializer(maindata, many=True)
     return Response(serializer.data)
Ejemplo n.º 4
0
    def post(self, request, format=None):
        request_log = display_meta.display_meta(request)
        # 推入日志队列
        res = tasks.log_write.apply_async(args=request_log)
        res = tasks.log_write.apply_async(args=request_log)
        print(display_meta.display_meta(request))
        print(request.data)
        paras = [request.data[r] for r in request.data]
        print(paras)
        para_l = []
        # 处理参数输出格式[[,,,,],[,,,,],...]
        for i in paras:
            p = [str(a) for a in i.split(',')]
            for pp in p:
                if pp == '':
                    p[p.index(pp)] = None
            para_l.append(p)
        print(para_l)
        # 立即推送队列
        result = tasks.addrecord.apply_async(args=[para_l])
        result = tasks.addrecord.apply_async(args=[para_l])
        print(result)
        print(result.id)
        try:
            models.TaskLog.objects.create(task_id=result.id,
                                          parameter=paras,
                                          log_date=timezone.now())
        except Exception as e:
            pass

        # task_s = TaskMeta.objects.filter(task_id=result.id).values('status', 'result')
        # print(task_s)
        # if task_s[0]['status'] == 'SUCCESS' and task_s[0]['result']:
        #     return Response(paras, status=status.HTTP_201_CREATED)
        if result:
            return Response(paras, status=status.HTTP_201_CREATED)
        else:
            return Response(status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 5
0
 def get(self, request, format=None):
     # 获取request请求信息
     request_log = display_meta.display_meta(request)
     # 推入日志队列
     result = tasks.log_write.apply_async(args=request_log)
     result = tasks.log_write.apply_async(args=request_log)
     args = request.data
     try:
         uuids_res = pymdm.get_uuids_with_provalue_proname_inputvalue(
             args['pro_value'], args['pro_name'], args['value'])
     except Exception as e:
         raise e
     print(uuids_res)
     # 原始数据列表 [[{},{}..], [{},{}..]]
     raw_data_list = [
         pymdm.get_property_detail_with_uuid(uid['对象UUID'])
         for uid in uuids_res
     ]
     # 得到更新值列表
     # update_property_list = [pymdm.get_property_update_with_uuid(uid)[0] for uid in uuids_res if
     #                             pymdm.get_property_update_with_uuid(uid)]
     # print(update_property_list)
     res_list = []
     for raw_data in raw_data_list:
         res_dic = {}
         # 得到更新值记录列表
         update_property_list = pymdm.get_property_update_with_uuid(
             raw_data[0].get('对象UUID'))
         if update_property_list:
             # 如果有代替记录 循环替换
             for update_property in update_property_list:
                 if update_property['代替内码'] in [r['内码'] for r in raw_data]:
                     # 找到被代替值并去除
                     raw_data.remove([
                         r for r in raw_data
                         if r['内码'] == update_property['代替内码']
                     ][0])
                     # 将代替值插入结果列表
                     raw_data.append(update_property)
         for r in raw_data:
             # 生成dic {'对象UUID':'e80da4f6-3eef-11e9-b21f-309c23e0570b','名称': '物料', '属性分类': '数据大类', '标签': '主数据'}
             if '对象UUID' not in res_dic:
                 res_dic['对象UUID'] = r['对象UUID']
                 res_dic[r['属性名称']] = r['属性值']
             else:
                 res_dic[r['属性名称']] = r['属性值']
         res_list.append(res_dic)
     return Response(res_list)
Ejemplo n.º 6
0
 def get(self, request, format=None):
     # 获取request请求信息
     request_log = display_meta.display_meta(request)
     # 推入日志队列
     result = tasks.log_write.apply_async(args=request_log)
     result = tasks.log_write.apply_async(args=request_log)
     # 获取request参数
     args = request.data
     res = pymdm.get_property_detail_with_uuid(args['uid'])
     res_dic = {}
     for r in res:
         if r['对象UUID'] not in res_dic:
             res_dic['对象UUID'] = r['对象UUID']
             res_dic[r['属性名称']] = r['属性值']
         else:
             res_dic[r['属性名称']] = r['属性值']
     return Response(res_dic)
Ejemplo n.º 7
0
    def post(self, request, format=None):
        # 获取request请求信息
        request_log = display_meta.display_meta(request)
        # 推入日志队列
        result = tasks.log_write.apply_async(args=request_log)
        result = tasks.log_write.apply_async(args=request_log)

        # print(request.data)
        start_time = time.time()
        args = request.data
        d = {
            'uid': args['对象UUID'],
            'property_name': args['属性名称'],
            'property_uuid': args['属性值UUID'],
            'property_value': args['属性值'],
            'author': args['更新人'],
        }
        res = pymdm.insert_record_2_db_para(d)
        print(time.time() - start_time)
        if res:
            return Response(args, status=status.HTTP_201_CREATED)
        else:
            return Response(status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 8
0
 def get(self, request, format=None):
     # print(tuid, type(tuid))
     request_log = display_meta.display_meta(request)
     print(display_meta.display_meta(request))
     args = request.data
     print(args)
     # table_uuid = args['table_uuid']
     result = tasks.log_write.apply_async(args=request_log)
     result = tasks.log_write.apply_async(args=request_log)
     try:
         res = pymdm.get_property_detail(args['tuid'])
     except Exception as e:
         raise e
     res_dic = {}
     # for r in res:
     #     # 生成dic {'e80da4f6-3eef-11e9-b21f-309c23e0570b': {'名称': '物料', '属性分类': '数据大类', '标签': '主数据'},...}
     #     if r['对象UUID'] not in res_dic:
     #         sub_dic = {r['属性名称']: r['属性值']}
     #         res_dic[r['对象UUID']] = sub_dic
     #     else:
     #         res_dic[r['对象UUID']][r['属性名称']] = r['属性值']
     # print(res_dic)
     # res_list = [dict(**{'对象UUID': k}, **res_dic[k]) for k in res_dic]
     if 'uuid' in args:
         uid = args['uuid']
         update_property_list = pymdm.get_property_update_with_uuid(uid)
         if update_property_list:
             # 如果有代替记录列表
             for update_property in update_property_list:
                 # 如果代替内码在内码列表中
                 if update_property['代替内码'] in [r['内码'] for r in res]:
                     # 找到被代替值并去除
                     res.remove([
                         r for r in res
                         if r['内码'] == update_property['代替内码']
                     ][0])
                     # 将代替值插入结果列表
                     res.append(update_property)
         # 加工结果列表转换为dic
         for r in res:
             # 生成dic {'e80da4f6-3eef-11e9-b21f-309c23e0570b': {'名称': '物料', '属性分类': '数据大类', '标签': '主数据'},...}
             if r['对象UUID'] not in res_dic:
                 sub_dic = {r['属性名称']: r['属性值']}
                 res_dic[r['对象UUID']] = sub_dic
             else:
                 res_dic[r['对象UUID']][r['属性名称']] = r['属性值']
         if uid in res_dic:
             return Response(res_dic[args['uuid']])
     else:
         uuid_list = []
         # UUID列表去重
         for uu in [r['对象UUID'] for r in res]:
             if uu not in uuid_list:
                 uuid_list.append(uu)
         print(uuid_list)
         # 得到更新值列表
         update_property_list = [
             pymdm.get_property_update_with_uuid(uid)[0]
             for uid in uuid_list
             if pymdm.get_property_update_with_uuid(uid)
         ]
         print(update_property_list)
         if len(update_property_list) > 0:
             for update_property_dic in update_property_list:
                 if update_property_dic['代替内码'] in [r['内码'] for r in res]:
                     # 找到被代替值并去除
                     res.remove([
                         r for r in res
                         if r['内码'] == update_property_dic['代替内码']
                     ][0])
                     # 将代替值插入结果列表
                     res.append(update_property_dic)
                 else:
                     res.append(update_property_dic)
         # 加工结果列表转换为dic
         for r in res:
             # 生成dic {'e80da4f6-3eef-11e9-b21f-309c23e0570b': {'名称': '物料', '属性分类': '数据大类', '标签': '主数据'},...}
             if r['对象UUID'] not in res_dic:
                 sub_dic = {r['属性名称']: r['属性值']}
                 res_dic[r['对象UUID']] = sub_dic
             else:
                 res_dic[r['对象UUID']][r['属性名称']] = r['属性值']
         print(res_dic)
         res_list = [dict(**{'对象UUID': k}, **res_dic[k]) for k in res_dic]
         if 'cp' in args and 'ps' in args:
             cp = int(args['cp'])
             ps = int(args['ps'])
             print(cp, ps)
             return Response(res_list[ps * (cp - 1):ps * cp])
         else:
             return Response(res_list)