Exemple #1
0
    def _responseData():

        try:
            vendor = find_by_id(vid=args['VENDOR_ID'])

            if(not isNone(vendor)):
                vendor.MENU = None if  isNone(args['MENU']) else args['MENU']
                session = pg_session()
                try:
                    session.add(vendor)
                except Exception as e:
                    session.rollback() 
                    logger.error('_menu_update :' +  str(e)) 
                else:
                    session.commit()
                

                response_data['data'] = models_to_list(vendor)
        except Exception as e: 
            logger.error('_menu_update :' +  str(e)) 
            pass
	



        
        return response_data
Exemple #2
0
def job_to_name(code):

    if (isNone(JOB_DICT)):
        jobs = json.loads(JOB_JSON)
        for job in jobs:
            JOB_DICT[job['value']] = job['label']

    if (not isNone(code) and not isNone(JOB_DICT) and (code in JOB_DICT)):
        return JOB_DICT[code]

    return ''
Exemple #3
0
def get_outside_emp(apply_user_idno, field):
    session = pg_session()
    try:
        res = session.query(OutsideEmpEntity).filter(
            OutsideEmpEntity.ID_NO == apply_user_idno).first()
        if (not isNone(res)):
            temp = clzs_to_dicts(res)
            return ('' if isNone(temp) else temp[field])
        return ''
    except Exception as e:
        return None
    finally:
        session.close()
Exemple #4
0
def country_to_name(code):

    if (isNone(COUNTRYS)):
        cts = json.loads(COUNTRY_JSON)
        for city in cts:
            COUNTRYS[city['countryCode']] = (city['countryName'],
                                             city['phoneCode'],
                                             city['countryCode'])

    if (not isNone(code) and not isNone(COUNTRYS) and (code in COUNTRYS)):
        return COUNTRYS[code][0]

    return ''
Exemple #5
0
 def route_wrapper(*args, **kwargs):
     try:
         if (not isNone(params)):
             kwargs['args'] = get_parameter(**params)
         return func(*args, **kwargs)
     except ValueError as e:
         rs = {'success': False, 'message': str(e), 'data': []}
         return api_response(**rs), 400
Exemple #6
0
def _get_parameter(**_params):
    _result = {}

    if request.method in ['POST', 'DELETE']:
        # if request.is_json == False:
        #     raise ValueError('JSON request required.')
        #content = request.get_json()

        content = request.get_json() if request.is_json else (
            request.form if request.form else [])
        for key, value in _params.items():
            if (key in content):
                _result[key] = content[key]
            elif (key.lower() in content):
                _result[key] = content[key.lower()]
            else:
                _result[key] = None

            if ('required' in value):
                if (key not in _result) or isNone(_result[key]):
                    raise ValueError('{0} is required.'.format(key))

            if ('base64' in value):
                if (not isNone(_result[key])):
                    _result[key] = str(base64.b64decode(_result[key]))

    elif request.method == 'GET':
        for key, value in _params.items():
            if (request.args.get(key) is not None):
                _result[key] = request.args.get(key)
            elif (request.args.get(key.lower()) is not None):
                _result[key] = request.args.get(key.lower())
            else:
                _result[key] = None

            if ('required' in value):
                if isNone(_result[key]):
                    raise ValueError('{0} is required.'.format(key))

            if ('base64' in value):
                if (not isNone(_result[key])):
                    _result[key] = str(base64.b64decode(_result[key]))

    return _result
Exemple #7
0
 def getall(clz):
     '''***  ***'''
     try:
         data = clz.ExeQueryByClz(
             pg_session, """
         SELECT "MASTER_ID", "REG_DATE", "APPLY_USER_IDNO", "APPLY_USER_NAME", "PAT_IDNO", "CHART_NO", "PAT_NAME", "FORM_ID", "CONTENT", "CRE_DATE", "CRE_TIME", "CRE_USER", "DEL_DATE", "DEL_TIME", "DEL_USER", "DEL_REASON", "REASON_DESC", "INP_NO"
         FROM public.tocc_form_master               
         """)
         return data if not isNone(data) else None
     except:
         raise
Exemple #8
0
def to_excel(dataset, filepath, filename):
    if (isNone(dataset)):
        return False
    writer = None
    try:
        # Note, Python 2 example. For Python 3 use: output = io.BytesIO().
        output = io.BytesIO()
        # Use the StringIO object as the filehandle.
        writer = pd.ExcelWriter(output, engine='xlsxwriter')

        #writer = pd.ExcelWriter(filepath, engine='xlsxwriter')

        #title = DEFAULT_TOCC_TITLE.keys()

        for k, v in TOCC_IN_REASON.items():
            subset = filter(v['filter'], dataset)
            xls_set = v['XLS_TITLE']
            #title = xls_set.keys()
            title = []
            index = xls_set.keys()
            datalist = []
            for item in subset:
                d = []
                for key in index:
                    if (xls_set[key]['name'] not in title):
                        title.append(xls_set[key]['name'])
                    d.append(xls_set[key]['filter'](item))
                datalist.append(d)
            df = pd.DataFrame(columns=title, data=datalist)
            df.to_excel(writer, sheet_name=k)
        writer.save()
        output.seek(0)
        return output
        #xlsx_data = output.getvalue()

    except Exception as e:
        logger.error('error travelhis to_excel :' + str(e))
        return False
    finally:
        if (not isNone(writer)):
            writer.close()
Exemple #9
0
    def _responseData():

        try:
            vendor = find_by_id(vid=args['VENDOR_ID'])

            if (not isNone(vendor)):
                pass

                response_data['data'] = models_to_list(vendor)
        except Exception as e:
            logger.error('menu_release :' + str(e))
            pass

        return response_data
Exemple #10
0
def GenSeqNO(seqNO):
    '''*** ORACLE KFSYSCC.FN_GET_SEQ_NO  取號 ***'''
    try:
        sql = "select FN_GET_SEQ_NO(:P_SEQ_NO, '1')  As SEQ_NO from DUAL"
        params = {}
        params['P_SEQ_NO'] = seqNO
        data = QueryA(sql, **params)
        if (not isNone(data)):
            return data[0]['SEQ_NO']
        else:
            return ''
    except sqlalchemy.exc.DatabaseError as e:
        error, = e.args
        utils.logger.error('oracle error:{0}'.format(error))
        raise e
Exemple #11
0
def o_to_d(obj, func=None):
    '''object to dictionary'''
    result = None
    dict1 = {}
    try:
        method = func if not isNone(func) else 'to_dict'
        if hasattr(obj, method):
            dict1 = getattr(obj, method)()
        else:
            dict1 = dict((t, getattr(obj, t)) for t in obj.__dict__.keys()
                         if not t.startswith('_'))
        #dict1 = getattr(obj, method)() if hasattr(obj, method) else obj.__dict__
    except Exception as identifier:
        logger.error(str(identifier))
    else:
        oths = {}
        if isNone(func):
            oths = {
                p: getattr(obj, p)
                for p in dir(obj.__class__)
                if isinstance(getattr(obj.__class__, p), property)
            }
        result = dict(dict1, **oths)
    return result
Exemple #12
0
def get_emp_dept(empmo, field):
    emp = get_emp(empmo)
    return ('' if isNone(emp) else emp[field])
Exemple #13
0
    def TOOC_JSON2DICT(self):
        try:
            temp = {}

            data = None
            try:
                data = json.loads(self.CONTENT)
            except Exception as e:
                data = self.CONTENT

            #職業別
            temp['occupation'] = data['occupation']['occupation']
            temp['occupation_name'] = job_to_name(
                data['occupation']['occupation'])

            #同住家人是否居家隔離
            temp['cluster_familyQuarantineIso'] = data['cluster'][
                'familyQuarantineIso']
            #周遭朋友最近是否有發燒或呼吸道不適症狀
            temp['cluster_friendSymptom'] = data['cluster']['friendSymptom']
            #同住家人最近是否有發燒或呼吸道不適症
            temp['cluster_familySymptom'] = data['cluster']['familySymptom']
            #同住家人是否居家檢疫
            temp['cluster_familyQuarantineCheck'] = data['cluster'][
                'familyQuarantineCheck']
            #到期日
            temp['cluster_dueDate'] = data['cluster']['dueDate']
            #工作同事最近是否有發燒或呼吸道不適症狀
            temp['cluster_colleagueSymptom'] = data['cluster'][
                'colleagueSymptom']
            #身邊親友最近是否有接二連三發燒或呼吸道不適症狀
            temp['cluster_rfFrequentSymptom'] = data['cluster'][
                'rfFrequentSymptom']
            #同住家人是否自主健康管理
            temp['cluster_familyHealthManage'] = data['cluster'][
                'familyHealthManage']

            #您近期是否與確診者接觸
            temp['cluster_confirmCaseTouch'] = data['cluster'][
                'confirmCaseTouch'] if ('confirmCaseTouch'
                                        in data['cluster']) else ''

            #接觸史
            # 其他
            temp['contactHistory_others'] = 'Y' if data['contactHistory'][
                'others'] else 'N'
            # 曾參與公眾集會
            temp['contactHistory_PA'] = 'Y' if data['contactHistory'][
                'PA'] else 'N'
            # 無
            temp['contactHistory_none'] = 'Y' if data['contactHistory'][
                'none'] else 'N'
            # 曾出入機場、觀光景點及其他頻繁接觸外國人場所
            temp['contactHistory_ATF'] = 'Y' if data['contactHistory'][
                'ATF'] else 'N'
            # 曾參與開學/畢業典禮、婚喪喜慶、運動賽事等聚眾活動
            temp['contactHistory_GMS'] = 'Y' if data['contactHistory'][
                'GMS'] else 'N'
            # 野生動物與禽鳥接觸
            temp['contactHistory_WB'] = 'Y' if data['contactHistory'][
                'WB'] else 'N'
            # 曾至醫院、診所就醫
            temp['contactHistory_HC'] = 'Y' if data['contactHistory'][
                'HC'] else 'N'
            # 曾參與宗教/政治/學術/藝文活動
            temp['contactHistory_RPEC'] = 'Y' if data['contactHistory'][
                'RPEC'] else 'N'

            # 過去14日內是否出過國?
            temp['travelHistory_isSelfGoAbroad'] = data['travelHistory'][
                'isSelfGoAbroad']
            # 過去14日內是否出過國?(國家)
            temp['travelHistory_countrySelf_Code'] = data['travelHistory'][
                'countrySelf']
            temp['travelHistory_countrySelf_Name'] = country_to_name(
                data['travelHistory']['countrySelf'])

            # 同住家屬過去14天是否曾至國外旅遊?
            temp['travelHistory_isFamilyGoAbroad'] = data['travelHistory'][
                'isFamilyGoAbroad']
            # 同住家屬過去14天是否曾至國外旅遊?(國家)
            temp['travelHistory_countryFamily_Code'] = data['travelHistory'][
                'countryFamily']
            temp['travelHistory_countryFamily_Name'] = country_to_name(
                data['travelHistory']['countryFamily'])

            # 經常接觸之親友過去14天是否曾至國外旅遊?
            temp['travelHistory_isFriendGoAbroad'] = data['travelHistory'][
                'isFriendGoAbroad']
            # 經常接觸之親友過去14天是否曾至國外旅遊?(國家)
            temp['travelHistory_countryFriend_Code'] = data['travelHistory'][
                'countryFriend']
            temp['travelHistory_countryFriend_Name'] = country_to_name(
                data['travelHistory']['countryFriend'])

            # 健康史
            #您自己是否有以下呼吸道不適或類流感症狀?例如:咳嗽、發燒、流鼻水、肌肉痠痛、頭痛
            temp['healthHistory_selfSymptom'] = data['healthHistory'][
                'selfSymptom']

            #陪探病證申請結果
            temp['passport'] = ('N' if (isNone(self.PRN_CNT)) else
                                ('Y' if self.PRN_CNT > 0 else 'N'))

            return temp
        except Exception as e:
            logger.error('_tocc_by_date :' + str(e))
            return {}
Exemple #14
0
 def PASSPORT(self):
     #陪探病證申請結果
     return ('N' if (isNone(self.PRN_CNT)) else
             ('Y' if self.PRN_CNT > 0 else 'N'))
Exemple #15
0
 def get_tocc(self):
     if (not isNone(self.TOCC_FROM_MASTER_ID)):
         return pg_session.query(ToccFormMasterEntity).filter(
             ToccFormMasterEntity.MASTER_ID ==
             self.TOCC_FROM_MASTER_ID).first()
Exemple #16
0
     'name': '建檔日期',
     'filter': lambda x: x['CRE_DATE']
 },
 9: {
     'name': '建檔時間',
     'filter': lambda x: x['CRE_TIME']
 },
 10: {
     'name': '填表原因',
     'filter': lambda x: x['REASON_DESC']
 },
 11: {
     'name':
     '病服協助登入',
     'filter':
     lambda x: ('N' if (isNone(x['IP_ADDRESS'])) else
                ('Y' if (x['IP_ADDRESS'][:3] == '172' and not (x[
                    'IN_REASON'] in ['EMP', 'EMP2'])) else 'N'))
 },
 12: {
     'name': 'TOCC判定結果',
     'filter': lambda x: ('Y' if x['TOOC_PASS'] else 'N')
 },
 13: {
     'name': '職業別',
     'filter': lambda x: x['TOOC_JSON2DICT']['occupation_name']
 },
 14: {
     'name': '您自己是否有以下呼吸道不適或類流感症狀?例如:咳嗽、發燒、流鼻水、肌肉痠痛、頭痛',
     'filter': lambda x: x['TOOC_JSON2DICT']['healthHistory_selfSymptom']
 },
Exemple #17
0
def get_deptbycode(deptcode, field):
    dept = get_dept_by_code(deptcode)
    return ('' if isNone(dept) else dept[field])
Exemple #18
0
def reason_to_name(code):
    if (not isNone(code) and not isNone(IN_REASON) and (code in IN_REASON)):
        return IN_REASON[code]
    return ''