Esempio n. 1
0
def dicomfileUpload():
    userId=session.get('userId')
    if userId is None:
        return redirect(LOGIN_URL)
    userId=string.atoi(userId)
    type=request.form.get('type')
    diagnoseId=request.form.get("diagnoseId")
    if diagnoseId is None:
        return jsonify({'code': 1,  'message' : "error", 'data': ''})
    diagnoseId=string.atoi(diagnoseId)
    if type:
        type=string.atoi(type)
    else:
        type=constant.FileType.Dicom
    try:
        diagnose=Diagnose.getDiagnoseById(diagnoseId)
        if diagnose and diagnose.pathologyId:
            file_infos = []
            files = request.files
            for key, file in files.iteritems():
                if file and allowed_file(file.filename):
                    filename = file.filename
                    # file_url = oss_util.uploadFile(diagnoseId, filename)
                    from DoctorSpring.util.oss_util import uploadFileFromFileStorage
                    fileurl = uploadFileFromFileStorage(diagnoseId, filename, file,'',{})


                    new_file = File(FileType.Dicom, filename, '11', fileurl,diagnose.pathologyId)
                    File.save(new_file)

                    if  type==FileType.Dicom:
                        filesAboutDiagnose=File.getFiles(diagnose.pathologyId,FileType.FileAboutDiagnose)
                        if filesAboutDiagnose and len(filesAboutDiagnose)>0:
                            diagnoseChange=Diagnose()
                            diagnoseChange.id=diagnoseId
                            diagnoseChange.ossUploaded=constant.DiagnoseUploaed.Uploaded
                            diagnose.uploadUserId=userId
                            Diagnose.update(diagnoseChange)
                    if type==FileType.FileAboutDiagnose:
                        filesAboutDiagnose=File.getFiles(diagnose.pathologyId,FileType.Dicom)
                        if filesAboutDiagnose and len(filesAboutDiagnose)>0:
                            diagnoseChange=Diagnose()
                            diagnoseChange.id=diagnoseId
                            diagnoseChange.ossUploaded=constant.DiagnoseUploaed.Uploaded
                            diagnose.uploadUserId=userId
                            Diagnose.update(diagnoseChange)


                    file_infos.append(dict(id=new_file.id,
                                           name=filename,
                                           size=11,
                                           url=fileurl))
                else:
                    return jsonify({'code': 1,  'message' : "error", 'data': ''})
            return jsonify(files=file_infos)
    except Exception,e:
        print e.message
        return jsonify({'code': 1,  'message' : "error", 'data': ''})
Esempio n. 2
0
def applyDiagnose():

    if session.has_key('userId'):
        userId = session['userId']
    if userId is None:
        return redirect('/loginPage')

    data = {}
    hospitals = Hospital.getAllHospitals(db_session)
    hospitalsDict = object2dict.objects2dicts(hospitals)
    data['hospitals'] = hospitalsDict

    positions = Position.getPositions()
    positionsDict = object2dict.objects2dicts(positions)
    data['positions'] = positionsDict

    locations = Location.getAllLocations(db_session)
    locationsDict = object2dict.objects2dicts(locations)
    data['locations'] = locationsDict

    #hospital user
    if 'type' in request.args.keys():
        data['type'] = int(request.args.get('type'))
    if 'edit' in request.args.keys() and 'diagnoseid' in request.args.keys():
        new_diagnose = Diagnose.getDiagnoseById(request.args['diagnoseid'])
        data['edit'] = 1
    else:
        new_diagnose = Diagnose.getNewDiagnoseByStatus(ModelStatus.Draft,
                                                       session['userId'])

    if new_diagnose is not None:
        data['doctor'] = new_diagnose.doctor
        data['patient'] = new_diagnose.patient
        data['pathology'] = new_diagnose.pathology

        new_file = File.getFiles(new_diagnose.pathologyId,
                                 constant.FileType.Dicom)
        data['dicomfile'] = new_file
        new_files = File.getFiles(new_diagnose.pathologyId,
                                  constant.FileType.FileAboutDiagnose)
        data['fileAboutDiagnose'] = new_files

        pathologyPositions = []
        if hasattr(new_diagnose, 'pathology') and hasattr(
                new_diagnose.pathology, 'pathologyPostions'):
            pathologyPositions = object2dict.objects2dicts(
                new_diagnose.pathology.pathologyPostions)
        data['pathologyPositions'] = pathologyPositions

    patients = Patient.get_patient_by_user(session['userId'])
    if patients is None or len(patients) < 1:
        patientdict = []
    else:
        patientdict = object2dict.objects2dicts(patients)

    data['patientdict'] = patientdict

    return render_template("applyDiagnose.html", result=data)
Esempio n. 3
0
def applyDiagnose():

    if session.has_key('userId'):
        userId=session['userId']
    if userId is None:
        return redirect('/loginPage')

    data = {}
    hospitals = Hospital.getAllHospitals(db_session)
    hospitalsDict = object2dict.objects2dicts(hospitals)
    data['hospitals'] = hospitalsDict

    positions = Position.getPositions()
    positionsDict = object2dict.objects2dicts(positions)
    data['positions'] = positionsDict

    locations = Location.getAllLocations(db_session)
    locationsDict = object2dict.objects2dicts(locations)
    data['locations'] = locationsDict


    if 'edit' in request.args.keys() and 'diagnoseid' in request.args.keys():
        new_diagnose = Diagnose.getDiagnoseById(request.args['diagnoseid'])
        data['edit'] = 1
    else:
        new_diagnose = Diagnose.getNewDiagnoseByStatus(ModelStatus.Draft, session['userId'])

    if new_diagnose is not None:
        data['doctor'] = new_diagnose.doctor
        data['patient'] = new_diagnose.patient
        data['pathology'] = new_diagnose.pathology

        new_file = File.getFiles(new_diagnose.pathologyId, constant.FileType.Dicom)
        data['dicomfile'] = new_file
        new_files = File.getFiles(new_diagnose.pathologyId, constant.FileType.FileAboutDiagnose)
        data['fileAboutDiagnose'] = new_files

        pathologyPositions = []
        if hasattr(new_diagnose, 'pathology') and hasattr(new_diagnose.pathology, 'pathologyPostions'):
            pathologyPositions = object2dict.objects2dicts(new_diagnose.pathology.pathologyPostions)
        data['pathologyPositions'] = pathologyPositions


    patients = Patient.get_patient_by_user(session['userId'])
    if patients is None or len(patients) < 1:
        patientdict = []
    else:
        patientdict = object2dict.objects2dicts(patients)

    data['patientdict'] = patientdict

    return render_template("applyDiagnose.html", result=data)
Esempio n. 4
0
def getDocomFileName(pathologyId):
    if pathologyId is None:
        return
    files = File.getFiles(pathologyId, constant.FileType.Dicom)
    if files and len(files):
        return files[0].name
Esempio n. 5
0
def getDocomFileName(pathologyId):
    if pathologyId is None:
        return
    files=File.getFiles(pathologyId,constant.FileType.Dicom)
    if files and len(files):
        return files[0].name
Esempio n. 6
0
def fileUpload():
    userId = session.get('userId')
    if userId is None:
        return redirect(LOGIN_URL)
    userId = string.atoi(userId)
    type = request.form.get('type')
    diagnoseId = request.form.get("diagnoseId")
    if diagnoseId is None:
        return jsonify({'code': 1, 'message': "error", 'data': ''})
    diagnoseId = string.atoi(diagnoseId)
    if type:
        type = string.atoi(type)
    else:
        type = constant.FileType.Dicom
    try:
        diagnose = Diagnose.getDiagnoseById(diagnoseId)
        if diagnose and diagnose.pathologyId:
            file_infos = []
            files = request.files
            for key, file in files.iteritems():
                if file and allowed_file(file.filename):
                    filename = file.filename
                    extension = getFileExtension(filename)
                    # file_url = oss_util.uploadFile(diagnoseId, filename)
                    from DoctorSpring.util.oss_util import uploadFileFromFileStorage, size, getFileName
                    fileurl = uploadFileFromFileStorage(
                        diagnoseId, filename, file, '', {}, extension)

                    newFileName = getFileName(diagnoseId, filename, extension)
                    size = size(newFileName)
                    new_file = File(type, filename, size, fileurl,
                                    diagnose.pathologyId)
                    File.save(new_file)

                    if type == FileType.Dicom:
                        filesAboutDiagnose = File.getFiles(
                            diagnose.pathologyId, FileType.FileAboutDiagnose)
                        if filesAboutDiagnose and len(filesAboutDiagnose) > 0:
                            diagnoseChange = Diagnose()
                            diagnoseChange.id = diagnoseId
                            diagnoseChange.ossUploaded = constant.DiagnoseUploaed.Uploaded
                            #diagnoseChange.status=constant.DiagnoseStatus.NeedPay
                            diagnose.uploadUserId = userId
                            Diagnose.update(diagnoseChange)
                            #sendAllMessage(userId,diagnose)需要提交了才能发信息h
                            new_diagnoselog = DiagnoseLog(
                                diagnose.uploadUserId, diagnose.id,
                                DiagnoseLogAction.NewDiagnoseAction)
                            DiagnoseLog.save(db_session, new_diagnoselog)
                    if type == FileType.FileAboutDiagnose:
                        filesAboutDiagnose = File.getFiles(
                            diagnose.pathologyId, FileType.Dicom)
                        if filesAboutDiagnose and len(filesAboutDiagnose) > 0:
                            diagnoseChange = Diagnose()
                            diagnoseChange.id = diagnoseId
                            diagnoseChange.ossUploaded = constant.DiagnoseUploaed.Uploaded
                            #diagnoseChange.status=constant.DiagnoseStatus.NeedPay
                            diagnose.uploadUserId = userId
                            Diagnose.update(diagnoseChange)
                            #sendAllMessage(userId,diagnose)
                            new_diagnoselog = DiagnoseLog(
                                diagnose.uploadUserId, diagnose.id,
                                DiagnoseLogAction.NewDiagnoseAction)
                            DiagnoseLog.save(db_session, new_diagnoselog)

                    file_infos.append(
                        dict(id=new_file.id,
                             name=filename,
                             size=size,
                             url=fileurl))
                else:
                    return jsonify({'code': 1, 'message': "error", 'data': ''})
            return jsonify(files=file_infos)
    except Exception, e:
        LOG.error(e.message)
        return jsonify({'code': 1, 'message': "上传出错", 'data': ''})