def updateEstateAsset(estate_id): global date_format try: estate_asset = Estate.queryByKey( Estate, estate_id) if estate_asset is None: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'data not found')) else: inputData = request.get_json(force=True) estate_asset.estate_name = inputData['estate_name'] estate_asset.estate_type = inputData['estate_type'] estate_asset.estate_address = inputData['estate_address'] estate_asset.obtain_date = datetime.strptime( inputData['obtain_date'], date_format) estate_asset.down_payment = inputData['down_payment'] estate_asset.loan_id = inputData['loan_id'] if inputData['loan_id'] else None estate_asset.estate_status = inputData['estate_status'] if Estate.update(Estate): return jsonify(ResponseFormat.true_return(ResponseFormat, None)) else: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'fail to update estate data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def getSelectionGroups(): output = [] selections = [] tempSelections = [] try: # 取得帳戶選項 tempSelections = Account.query4Selection(Account) for account in tempSelections: selections.append(Account.output4Selection(Account, account)) output.append({'title': '帳戶', 'selections': selections}) # 取得信用卡選項 selections = [] tempSelections = CreditCard.query4Selection(CreditCard) for card in tempSelections: selections.append(CreditCard.output4Selection( CreditCard, card)) output.append({'title': '信用卡', 'selections': selections}) # 取得貸款選項 todo: except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def addOtherAsset(): try: # force=True 忽略mimetype,只接字串 inputData = request.get_json(force=True) # 新增其他資產 other_asset = OtherAsset(asset_name=inputData['asset_name'], asset_type=inputData['asset_type'], in_use=inputData['in_use'], asset_index=inputData['asset_index']) outputData = OtherAsset.add(OtherAsset, other_asset) # 新增代碼主選單 code = Code(code_type='Asset', name=inputData['asset_name'], in_use=inputData['in_use'], code_index='') result = Code.add(Code, code) if result: return jsonify( ResponseFormat.true_return( ResponseFormat, OtherAsset.output(OtherAsset, outputData))) else: return jsonify( ResponseFormat.false_return(ResponseFormat, None, 'fail to add asset data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def updateSubCode(code_id): try: code = Code.queryByKey(Code, code_id) if code is None: return jsonify( ResponseFormat.false_return(ResponseFormat, None, 'data not found')) else: inputData = request.get_json(force=True) code.name = inputData['name'] code.code_type = inputData['code_type'] code.code_group = inputData['code_group'] code.code_group_name = inputData['code_group_name'] code.in_use = inputData['in_use'] code.code_index = inputData['code_index'] if Code.update(Code): return jsonify( ResponseFormat.true_return(ResponseFormat, None)) else: return jsonify( ResponseFormat.false_return( ResponseFormat, None, 'fail to update sub code data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def updateLoan(estate_id): global date_format try: liability = Loan.queryByKey( Loan, estate_id) if liability is None: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'data not found')) else: inputData = request.get_json(force=True) liability.loan_name = inputData['loan_name'] liability.loan_type = inputData['loan_type'] liability.account_id = inputData['account_id'] liability.apply_date = datetime.strptime( inputData['apply_date'], date_format) liability.down_payment = inputData['down_payment'] liability.loan_id = inputData['loan_id'] if inputData['loan_id'] else None liability.amount = inputData['amount'] if Loan.update(Loan): return jsonify(ResponseFormat.true_return(ResponseFormat, None)) else: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'fail to update estate data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def addCreditCard(): global date_format try: # force=True 忽略mimetype,只接字串 inputData = request.get_json(force=True) # 新增信用卡 credit_card = CreditCard(card_name=inputData['card_name'], last_day=inputData['last_day'], charge_day=inputData['charge_day'], limit_date=datetime.strptime(inputData['limit_date'], date_format), feedback_way=inputData[ 'feedback_way'], fx_code=inputData['fx_code'], in_use=inputData['in_use'], credit_card_index=inputData['credit_card_index'], note=inputData['note']) outputData = CreditCard.add(CreditCard, credit_card) # 新增初始值 initial = InitialSetting(code_id=credit_card.credit_card_id, code_name=credit_card.card_name, initial_type='CreditCard', setting_value=0) result = InitialSetting.add(InitialSetting, initial) if result: return jsonify(ResponseFormat.true_return(ResponseFormat, CreditCard.output(CreditCard, outputData))) else: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'fail to add credit card data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def addCode(): try: # force=True 忽略mimetype,只接字串 inputData = request.get_json(force=True) code = Code(code_type=inputData['code_type'], name=inputData['name'], in_use=inputData['in_use'], code_index=inputData['code_index']) result = Code.add(Code, code) if result: if inputData['code_type'] == 'Floating' or inputData[ 'code_type'] == 'Fixed': Budget.add( Budget, Budget(result.code_id, result.name, result.code_type)) return jsonify( ResponseFormat.true_return( ResponseFormat, Code.outputMainCode(Code, result))) else: return jsonify( ResponseFormat.false_return(ResponseFormat, None, 'fail to add code data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def updateCreditCard(credit_card_id): global date_format try: credit_card = CreditCard.queryByKey(CreditCard, credit_card_id) if credit_card is None: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'data not found')) else: inputData = request.get_json(force=True) credit_card.card_name = inputData['card_name'] credit_card.last_day = inputData['last_day'] credit_card.charge_day = inputData['charge_day'] credit_card.limit_date = datetime.strptime( inputData['limit_date'], date_format) credit_card.feedback_way = inputData['feedback_way'] credit_card.fx_code = inputData['fx_code'] credit_card.in_use = inputData['in_use'] credit_card.credit_card_index = inputData['credit_card_index'] credit_card.note = inputData['note'] if CreditCard.update(CreditCard): return jsonify(ResponseFormat.true_return(ResponseFormat, None)) else: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'fail to update credit card data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def getUser(userId): user = Users.get(Users, userId) if user is None: return jsonify( ResponseFormat.false_return(ResponseFormat, None, '找不到数据')) else: return jsonify( ResponseFormat.true_return(ResponseFormat, Users.output(Users, user)))
def getBudgetsByYear(this_year): output = [] try: budgets = Budget.queryByYear(Budget, this_year) for budget in budgets: output.append(Budget.outputByYear(Budget, budget)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def getCodes(): output = [] try: codes = Code.queryByConditions(Code, request.args) for code in codes: output.append(Code.outputMainCode(Code, code)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def getAccountSelections(): output = [] try: accounts = Account.query4Selection(Account) for account in accounts: output.append(Account.output4Selection(Account, account)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def getSubCodes(parent_id): output = [] try: codes = Code.querySubCodeList(Code, parent_id) for code in codes: output.append(Code.outputSubCode(Code, code)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def getOtherAssetItems(): output = [] try: other_asset_items = OtherAsset.getDistinctItems(OtherAsset) for item in other_asset_items: output.append(OtherAsset.output4Item(OtherAsset, item)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def getOtherAssets(): output = [] try: other_assets = OtherAsset.getAll(OtherAsset) for other_asset in other_assets: output.append(OtherAsset.output(OtherAsset, other_asset)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def deleteUser(userId): user = Users.get(Users, userId) if user is None: return jsonify(ResponseFormat.false_return(ResponseFormat, None, '找不到要删除的数据')) else: Users.delete(Users, userId) user = Users.get(Users, userId) if user is None: return getUsers() else: return jsonify(ResponseFormat.false_return(ResponseFormat, None, '删除失败'))
def getAlarmsByDay(): output = [] try: alarms = Alarm.queryByConditions(Alarm, request.args.get('date')) for alarm in alarms: output.append(Alarm.output(Alarm, alarm)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def getBudgetRange(): output = [] try: budgetRange = Budget.getBudgetRange(Budget) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify( ResponseFormat.true_return( ResponseFormat, Budget.outputRange(Budget, budgetRange)))
def getAlarms(): output = [] try: alarms = Alarm.getAll(Alarm) for alarm in alarms: output.append(Alarm.output(Alarm, alarm)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def getLoans(): output = [] try: liabilitys = Loan.query4Summary(Loan) for liability in liabilitys: output.append(Loan.output4View( Loan, liability)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def getInitialSettings(): output = [] try: initials = InitialSetting.queryByConditions( InitialSetting, request.args) for initial in initials: output.append(InitialSetting.output(InitialSetting, initial)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def deleteCreditCard(credit_card_id): try: credit_card = CreditCard.queryByKey(CreditCard, credit_card_id) if credit_card is None: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'data not found')) else: if CreditCard.delete(CreditCard, credit_card_id): return jsonify(ResponseFormat.true_return(ResponseFormat, None)) else: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'fail to delete credit card data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def getAccounts(): output = [] try: accounts = Account.queryByConditions( Account, request.args) for account in accounts: output.append(Account.output(Account, account)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def deleteAccount(account_id): try: account = Account.queryByKey(Account, account_id) if account is None: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'data not found')) else: if Account.delete(Account, account_id): return jsonify(ResponseFormat.true_return(ResponseFormat, None)) else: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'fail to delete account data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def updateInitialSetting(): try: inputData = request.get_json(force=True) if InitialSetting.update(InitialSetting, inputData): return jsonify(ResponseFormat.true_return( ResponseFormat, None)) else: return jsonify( ResponseFormat.false_return(ResponseFormat, None, 'fail to update initial data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def updateBudget(): try: inputData = request.get_json(force=True) if Budget.update(Budget, inputData): return jsonify(ResponseFormat.true_return( ResponseFormat, None)) else: return jsonify( ResponseFormat.false_return(ResponseFormat, None, 'fail to update budget data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def getCreditCards(): output = [] try: creditCards = CreditCard.queryByConditions( CreditCard, request.args) for credit_card in creditCards: output.append(CreditCard.output(CreditCard, credit_card)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))
def deleteLoan(estate_id): try: liability = Loan.queryByKey( Loan, estate_id) if liability is None: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'data not found')) else: if Loan.delete(Loan, estate_id): return jsonify(ResponseFormat.true_return(ResponseFormat, None)) else: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'fail to delete estate data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def deleteLoanJournal(distinct_number): try: estate_journal = LoanJournal.queryByKey( LoanJournal, distinct_number) if estate_journal is None: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'data not found')) else: if LoanJournal.delete(LoanJournal, distinct_number): return jsonify(ResponseFormat.true_return(ResponseFormat, None)) else: return jsonify(ResponseFormat.false_return(ResponseFormat, None, 'fail to delete estate detail data')) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error))
def getLoanJournals(estate_id): output = [] try: estate_journals = LoanJournal.queryByLoanId( LoanJournal, estate_id) for estate_journal in estate_journals: output.append(LoanJournal.output( LoanJournal, estate_journal)) except Exception as error: return jsonify(ResponseFormat.false_return(ResponseFormat, error)) else: return jsonify(ResponseFormat.true_return(ResponseFormat, output))