コード例 #1
0
ファイル: front.py プロジェクト: LichuanLu/blueberry
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': ''})
コード例 #2
0
ファイル: front.py プロジェクト: LichuanLu/redberry
def updateDiagnose(diagnoseId, alipayUrl):
    if diagnoseId:
        diagnose = Diagnose()
        diagnose.id = diagnoseId
        diagnose.alipayUrl = alipayUrl
        diagnose.alipayHashCode = getAlipayHashCode()
        Diagnose.update(diagnose)
コード例 #3
0
ファイル: diagnose.py プロジェクト: LichuanLu/redberry
def changeDiagnoseStatus(diagnoseId):
    try:
        status=request.args.get('status')
        loginUserId=session.get('userId')
        if loginUserId is None:
            return
        if status is None:
            return json.dumps(rs.PARAM_ERROR.__dict__,ensure_ascii=False)
        status=string.atoi(status)
        loginUserId=string.atoi(loginUserId)
        diagnose=Diagnose.getDiagnoseById(diagnoseId)
        if diagnose is None or (not hasattr(diagnose,"patient")) or  diagnose.patient is None:
            return
        userID=diagnose.patient.userID
        if userID==loginUserId or diagnose.uploadUserId==loginUserId:
            diagnose=Diagnose()
            diagnose.id=diagnoseId
            diagnose.status= status
            Diagnose.update(diagnose)
    except Exception,e:
        LOG.error(e.message)
        return json.dumps(rs.FAILURE.__dict__,ensure_ascii=False)
コード例 #4
0
ファイル: diagnose.py プロジェクト: LichuanLu/redberry
def changeDiagnoseStatus(diagnoseId):
    try:
        status = request.args.get('status')
        loginUserId = session.get('userId')
        if loginUserId is None:
            return
        if status is None:
            return json.dumps(rs.PARAM_ERROR.__dict__, ensure_ascii=False)
        status = string.atoi(status)
        loginUserId = string.atoi(loginUserId)
        diagnose = Diagnose.getDiagnoseById(diagnoseId)
        if diagnose is None or (not hasattr(
                diagnose, "patient")) or diagnose.patient is None:
            return
        userID = diagnose.patient.userID
        if userID == loginUserId or diagnose.uploadUserId == loginUserId:
            diagnose = Diagnose()
            diagnose.id = diagnoseId
            diagnose.status = status
            Diagnose.update(diagnose)
    except Exception, e:
        LOG.error(e.message)
        return json.dumps(rs.FAILURE.__dict__, ensure_ascii=False)
コード例 #5
0
ファイル: diagnose.py プロジェクト: LichuanLu/blueberry
def changeNeedCallStatusBySupportStaff(diagnoseId):
   diagnose=Diagnose()
   diagnose.id=diagnoseId
   diagnose.supportStaffCall=constant.DiagnoseSupportStaffCallStatus.Call
   Diagnose.update(diagnose)
   return  json.dumps(rs.SUCCESS.__dict__,ensure_ascii=False)
コード例 #6
0
ファイル: diagnose.py プロジェクト: LichuanLu/redberry
def changeNeedCallStatusBySupportStaff(diagnoseId):
    diagnose = Diagnose()
    diagnose.id = diagnoseId
    diagnose.supportStaffCall = constant.DiagnoseSupportStaffCallStatus.Call
    Diagnose.update(diagnose)
    return json.dumps(rs.SUCCESS.__dict__, ensure_ascii=False)
コード例 #7
0
ファイル: front.py プロジェクト: LichuanLu/redberry
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': ''})