Ejemplo n.º 1
0
def issuetrace(request):
    response_data = {}
    response_data["res"] = 'fail'
    try:
        issueId = request.GET.get('issueId', None)
        projectevent_instance = projectevent.objects.get(id=issueId)
        eventStepsRecord = Eventstep.objects.filter(
            projectevent=projectevent_instance).values()

        recordlist = []
        for step in eventStepsRecord:
            tmp = objtojson(step)
            tmp["stepName"] = FlowTemplateStep.objects.get(
                id=step['flowstep_id']).name
            tmp["operationRecord"] = []
            for each in EventStepOperation.objects.filter(
                    eventstep_id=step["id"]).values():
                tmpOpr = objtojson(each)
                tmpOpr["actorName"] = User.objects.get(
                    id=each["actor_id"]).truename
                if each["flowstepoper_id"]:
                    tmpOpr["operaName"] = FlowStepOperation.objects.get(
                        id=each["flowstepoper_id"]).name

                tmpOpr["imglist"] = [
                    objtojson(doc.document)
                    for doc in Doc2Relate.objects.filter(
                        relatetype=u"事件步骤操作",
                        relateid=each["id"],
                        document__filetype__contains="image")
                ]

                tmpOpr["voiceList"] = [
                    objtojson(doc.document)
                    for doc in Doc2Relate.objects.filter(
                        relatetype=u"事件步骤操作",
                        relateid=each["id"],
                        document__filetype__contains="audio")
                ]

                tmpOpr["doclist"] = [
                    objtojson(doc.document)
                    for doc in Doc2Relate.objects.filter(
                        relatetype=u"事件步骤操作", relateid=each["id"]).exclude(
                            document__filetype__contains="image").exclude(
                                document__filetype__contains="audio")
                ]

                tmp["operationRecord"].append(tmpOpr)
            recordlist.append(tmp)

        response_data["eventStepsRecord"] = recordlist
        response_data["res"] = 'sucess'
    except Exception, e:
        traceback.print_exc()
        response_data['error'] = '%s' % e
Ejemplo n.º 2
0
def stylecolor(request):
    response_data = {}
    response_data["issuc"] = "true"
    try:
        if request.method == 'GET':

            pbcolors = StatusCountType.objects.all()
            response_data["data"] = [each.rendercolor for each in pbcolors]
        elif request.method == 'POST':
            opt = request.POST.get('opt', '')
            if opt == 'del':
                idp = request.POST.get('id', '')
                if idp:
                    StatusCountType.objects.get(id=int(idp)).delete()
            elif opt == 'get':
                idp = request.POST.get('id', '')
                color = StatusCountType.objects.get(id=int(idp))
                response_data["color"] = objtojson(color)
            elif opt == 'edit':
                idp = request.POST.get('id', '')
                colorname = request.POST.get('colorname', None)
                rendercolor = request.POST.get('rendercolor', None)
                StatusCountType.objects.filter(id=int(idp)).update(
                    name=colorname, rendercolor=rendercolor)
            elif opt == 'add':
                colorname = request.POST.get('colorname', None)
                rendercolor = request.POST.get('rendercolor', None)
                sequence = 0
                try:
                    sequence = StatusCountType.objects.all().order_by(
                        '-sequence')[0].sequence + 1
                except:
                    pass
                color = StatusCountType.objects.create(name=colorname,
                                                       rendercolor=rendercolor,
                                                       sequence=sequence)
                response_data["color"] = objtojson(color)
            elif opt == 'sort':
                lisort = eval(request.POST.get('lisort', '[]'))
                for i, val in enumerate(lisort):
                    color = StatusCountType.objects.get(id=int(val))
                    color.sequence = i
                    color.save()

    except:
        response_data["issuc"] = "false"
        traceback.print_exc()
    return HttpResponse(json.dumps(response_data),
                        content_type="application/json")
Ejemplo n.º 3
0
def ziliao_fileproperty(request):
    response_data = {}
    response_data["issuc"] = "false"
    if request.method == 'GET':
        try:
            fileId = request.GET.get('fileId', None)
            doc = Document.objects.get(id=fileId)
            relateList = Doc2Relate.objects.filter(document_id=fileId)
            for each in relateList:
                each.relateinfo = GetRelateTypeInfo(each.relatetype,
                                                    each.relateid)
            response_data["docinfo"] = objtojson(doc)
            response_data["relateList"] = objtojson(relateList)
            response_data["issuc"] = "true"
        except Exception, e:
            traceback.print_exc()
            response_data["error"] = "获取文件信息失败!"
        return HttpResponse(json.dumps(response_data),
                            content_type="application/json")
Ejemplo n.º 4
0
def prjmenujson_mobile(request):
    response_data = {}
    response_data["issuc"] = 'false'
    try:
        menulist = ProjectmenuMobile.objects.filter(parent_id__isnull=True,
                                                    isrecord=1)
        response_data["menulist"] = []
        for menu in menulist:
            menuobj = objtojson(menu)
            childlist = ProjectmenuMobile.objects.filter(
                parent_id=int(menu.id), isrecord=1).order_by('-seq')
            menuobj["submenu"] = []
            for submenu in childlist:
                menuobj["submenu"].append(objtojson(submenu))

            response_data["menulist"].append(menuobj)
        response_data["issuc"] = 'true'
    except:
        traceback.print_exc()
    return HttpResponse(json.dumps(response_data),
                        content_type="application/json")
Ejemplo n.º 5
0
 def get_relatefilelist(self,obj):
     return [objtojson(each.document) for each in Doc2Relate.objects.filter(relatetype="公告", relateid=obj.id)]
Ejemplo n.º 6
0
def pbstatus(request):
    response_data = {}
    response_data["issuc"] = "true"
    try:
        if request.method == 'GET':
            pbtype = request.GET.get('pbtype', 0)
            pbstatus = PBStatus.objects.filter(
                pbtype_id=int(pbtype)).order_by('sequence')
            response_data["data"] = objtojson(pbstatus)
        elif request.method == 'POST':
            opt = request.POST.get('opt', '')
            if opt == 'add':
                statusname = request.POST.get('statusname', '')
                isqualify = True if request.POST.get('isqualify',
                                                     '') == 'true' else False
                iswancheng = True if request.POST.get('iswancheng',
                                                      '') == 'true' else False
                flowtemplate = request.POST.get('flowtemplate', None)
                formtemplate = request.POST.get('formtemplate', None)
                pbtype = request.POST.get('pbtype', None)
                factoryarea = request.POST.get('factoryarea', None)
                color = request.POST.get('color', None)
                cucolor = request.POST.get('cucolor', None)
                try:
                    sequence = PBStatus.objects.filter(
                        pbtype_id=pbtype).order_by('-sequence')[0].sequence + 1
                except:
                    sequence = 0
                    traceback.print_exc()
                buhegenext = None
                if isqualify:
                    buhegenext = request.POST.get('buhegenext', None)
                    sequence = 0
                npbs = PBStatus.objects.create(
                    statusname=statusname,
                    factoryarea_id=factoryarea,
                    isqualify=isqualify,
                    pbtype_id=pbtype,
                    detailcounttype_id=color,
                    roughcounttype_id=cucolor,
                    sequence=sequence,
                    nextstatus_id=buhegenext,
                    relatedflowtemplate_id=flowtemplate,
                    relatedformtemplate_id=formtemplate,
                    iscritical=iswancheng)
                userlist = eval(request.POST.get('userlist', '[]'))
                for each in userlist:
                    User2PBStatus.objects.create(user_id=int(each),
                                                 status_id=npbs.id)
                response_data["status"] = objtojson(npbs)
            elif opt == 'change':
                idp = request.POST.get('id', '0')
                statusname = request.POST.get('statusname', '')
                isqualify = True if request.POST.get('isqualify',
                                                     '') == 'true' else False
                iswancheng = True if request.POST.get('iswancheng',
                                                      '') == 'true' else False
                flowtemplateb = request.POST.get('flowtemplate', '0')
                try:
                    flowtemplate = int(
                        flowtemplateb) if flowtemplateb != '0' else None
                except:
                    flowtemplate = None
                formtemplateb = request.POST.get('formtemplate', '0')
                try:
                    formtemplate = int(
                        formtemplateb) if formtemplateb != '0' else None
                except:
                    formtemplate = None
                pbtypeb = request.POST.get('pbtype', '0')
                pbtype = int(pbtypeb) if pbtypeb != '0' else None
                factoryarea = request.POST.get('factoryarea', None)
                color = request.POST.get('color', None)
                cucolor = request.POST.get('cucolor', None)
                if isqualify:
                    buhegenextb = request.POST.get('buhegenext', '0')
                    buhegenext = int(
                        buhegenextb) if buhegenextb != '0' else None
                    sequence = 0
                    PBStatus.objects.filter(id=int(idp)).update(
                        statusname=statusname,
                        factoryarea_id=factoryarea,
                        isqualify=isqualify,
                        pbtype_id=pbtype,
                        sequence=0,
                        detailcounttype_id=color,
                        roughcounttype_id=cucolor,
                        nextstatus_id=buhegenext,
                        relatedflowtemplate_id=flowtemplate,
                        relatedformtemplate_id=formtemplate,
                        iscritical=iswancheng)
                else:
                    PBStatus.objects.filter(id=int(idp)).update(
                        statusname=statusname,
                        factoryarea_id=factoryarea,
                        isqualify=isqualify,
                        pbtype_id=pbtype,
                        detailcounttype_id=color,
                        roughcounttype_id=cucolor,
                        relatedflowtemplate_id=flowtemplate,
                        relatedformtemplate_id=formtemplate,
                        iscritical=iswancheng)
                User2PBStatus.objects.filter(status_id=int(idp)).delete()
                userlist = eval(request.POST.get('userlist', '[]'))
                for each in userlist:
                    User2PBStatus.objects.create(user_id=int(each),
                                                 status_id=int(idp))
            elif opt == 'getone':
                idp = request.POST.get('id', '0')
                response_data['data'] = objtojson(
                    PBStatus.objects.get(id=int(idp)))
                users = {
                    'users': [
                        each.user_id for each in User2PBStatus.objects.filter(
                            status_id=int(idp))
                    ]
                }
                response_data['data'].update(users)

            elif opt == 'del':
                idp = request.POST.get('id', '')
                if idp:
                    try:
                        PBStatus.objects.filter(nextstatus_id=int(idp)).update(
                            nextstatus=None)
                    except:
                        traceback.print_exc()
                    PBStatus.objects.get(id=int(idp)).delete()
                    User2PBStatus.objects.filter(status_id=int(idp)).delete()
            elif opt == 'sort':
                lisort = eval(request.POST.get('lisort', '[]'))
                print lisort
                l = len(lisort)
                for each in xrange(l):
                    pbs = PBStatus.objects.get(id=int(lisort[each]))
                    if pbs.isqualify:
                        pbs.sequence = l - 1
                        pbs.save()
                        continue
                    pbs.sequence = each
                    if each + 1 == l:
                        pbs.nextstatus_id = None
                    else:
                        pbs.nextstatus_id = int(lisort[each + 1])
                    pbs.save()

    except Exception, e:
        traceback.print_exc()
        response_data['error'] = '%s' % e
        response_data["issuc"] = "false"