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
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")
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")
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")
def get_relatefilelist(self,obj): return [objtojson(each.document) for each in Doc2Relate.objects.filter(relatetype="公告", relateid=obj.id)]
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"