Example #1
0
    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))
Example #2
0
    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))
Example #4
0
    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))
Example #5
0
    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))
Example #6
0
    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))
Example #7
0
    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))
Example #8
0
    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))
Example #9
0
 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)))
Example #10
0
    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))
Example #11
0
    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))
Example #12
0
    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))
Example #13
0
    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))
Example #16
0
 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, '删除失败'))
Example #17
0
    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))
Example #18
0
    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)))
Example #19
0
    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))
Example #20
0
    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))
Example #21
0
    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))
Example #22
0
 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))
Example #23
0
    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))
Example #24
0
 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))
Example #25
0
 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))
Example #26
0
 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))
Example #27
0
    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))
Example #28
0
 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))
Example #29
0
 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))
Example #30
0
    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))