Example #1
0
    def post(self):
        json_values = {}

        try:
            #get
            date_from = DateTime.to_date(self.request.get('dateFrom'))
            date_to = DateTime.to_date(self.request.get('dateTo'))

            sale_by_day = SaleByDay()
            values = sale_by_day.get(date_from, date_to)

            data = []
            for value in values:
                data.append({
                    'tranDate':
                    DateTime.to_date_string(value.tran_date),
                    'tranCode':
                    value.tran_code,
                    'description':
                    value.description,
                    'dbAmt':
                    value.db_amt,
                    'crAmt':
                    value.cr_amt,
                    'balAmt':
                    value.bal_amt
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #2
0
    def post(self, reg_no):
        json_values = {}

        try:
            #get
            car_reg_no = self.request.get('reg_no')
            tran_date = DateTime.malaysia_today()

            customer_statement = customerStatement()
            values = customer_statement.get(car_reg_no, tran_date)

            data = []
            for value in values:
                data.append({
                    'tranDate':
                    DateTime.to_date_string(value.tran_date),
                    'tranCode':
                    value.tran_code,
                    'description':
                    value.description,
                    'dbAmt':
                    value.db_amt,
                    'crAmt':
                    value.cr_amt,
                    'balAmt':
                    value.bal_amt
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #3
0
 def post(self):
     json_values = {}
     
     try:
         #get
         date_from = DateTime.to_date(self.request.get('dateFrom'))
         date_to = DateTime.to_date(self.request.get('dateTo'))
         
         profit_by_month = Profit()
         values = profit_by_month.get_by_day(date_from, date_to)
         
         data = []
         for value in values:
             data.append({
                          'tranDate': DateTime.to_date_string(value.tran_date),
                          'chargeAmt': value.charge_sub_total,
                          'chargeComm': value.charge_comm_amt,
                          'topupComm': value.top_up_comm_amt,
                          'total': value.amt
                          })
             
         json_values['returnStatus'] = True
         json_values['data'] = data
     except Exception, ex:
         json_values['returnStatus'] = False
         json_values['returnMessage'] = str(ex)
 def post(self):
     json_values = {}
     
     try:
         #get
         date_from = DateTime.to_date(self.request.get('dateFrom'))
         date_to = DateTime.to_date(self.request.get('dateTo'))
         attendant_code = self.request.get('attendantCode')
         
         charge_by_month = ChargeSummary()
         values = charge_by_month.get_by_month_and_attendant(date_from, date_to, attendant_code)
         
         data = []
         for value in values:
             data.append({
                          'tranDate': DateTime.to_date_string(value.tran_date),
                          'attendantCode': value.attendant_code,
                          'subTotal': value.sub_total,
                          'chargeComm': value.comm_amt,
                          'total': value.amt
                          })
             
         json_values['returnStatus'] = True
         json_values['data'] = data
     except Exception, ex:
         json_values['returnStatus'] = False
         json_values['returnMessage'] = str(ex)
Example #5
0
    def post(self):
        json_values = {}

        try:
            #get
            current_agent = self.current_agent()

            agent_code = current_agent.code
            tran_date = DateTime.to_date(self.request.get('date'))

            agent_statement = AgentStatement()
            values = agent_statement.get(agent_code, tran_date)

            data = []
            for value in values:
                data.append({
                    'tranDate':
                    DateTime.to_date_string(value.tran_date),
                    'tranCode':
                    value.tran_code,
                    'description':
                    value.description,
                    'dbAmt':
                    value.db_amt,
                    'crAmt':
                    value.cr_amt,
                    'balAmt':
                    value.bal_amt
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #6
0
    def post(self):
        json_values = {}

        try:
            agent_code = self.session['agent_code']

            # get post data
            date = DateTime.to_date(self.request.get("date"))
            amt = float(self.request.get("amount"))
            payment_date = DateTime.to_date(self.request.get("paymentDate"))
            ref_no = self.request.get("refNo")

            #save data to view model class
            vm = DepositViewModel()
            vm.tran_date = date
            vm.amt = amt
            vm.agent_code = agent_code
            vm.payment_date = payment_date
            vm.payment_ref_no = ref_no
            vm.payment_type = 1

            app_service = DepositAppService()
            app_service.create(vm)

            json_values['returnStatus'] = True
            json_values['tranCode'] = vm.tran_code
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
    def get(self, date_from, date_to):
        date_from2 = DateTime.first_day_of_month(date_from)
        date_to2 = DateTime.last_day_of_month(date_to)

        # get charge
        summary_by_day = TopUpSummaryByDay()
        return summary_by_day.__get(date_from2, date_to2, '%Y%m')
Example #8
0
 def post(self):
     json_values = {}
     
     try:
         #get           
         date_from = self.request.get('dateFrom')
         date_to = self.request.get('dateTo')
         
         if date_from and len(date_from) > 0:
             date_from = DateTime.to_date(date_from)
             
         if date_to and len(date_to) > 0:
             date_to = DateTime.to_date(date_to)
             
         if (not date_from and date_to):    
             raise Exception('You must enter a Date.')
             
         topup_by_day = TopUpSummaryByDay()
         values = topup_by_day.get(date_from, date_to)
         
         data = []
         for value in values:
             data.append({
                          'tranDate': DateTime.to_date_string(value.tran_date),
                          'agentCode': value.agent_code,
                          'topupAmt': value.sub_total,
                          'topupComm': value.comm_amt,
                          'total': value.amt
                          })
             
         json_values['returnStatus'] = True
         json_values['data'] = data
     except Exception, ex:
         json_values['returnStatus'] = False
         json_values['returnMessage'] = str(ex)
Example #9
0
    def post(self, agent_code):
        json_values = {}

        try:
            #get
            agent_code = self.request.get('agentCode')

            deposits = Deposit.query(Deposit.agent_code == agent_code).fetch()

            # create json
            data = []
            for deposit in deposits:
                data.append({
                    'tranDate':
                    DateTime.to_date_string(deposit.tran_date),
                    'amount':
                    deposit.amt,
                    'paymentDate':
                    DateTime.to_date_string(deposit.payment_date),
                    'refNo':
                    deposit.payment_ref_no,
                    'paymentType':
                    deposit.payment_type,
                    'tranCode':
                    deposit.tran_code,
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
 def get(self, date_from, date_to):
     date_from2 = DateTime.first_day_of_month(date_from)
     date_to2 = DateTime.last_day_of_month(date_to)
     
     # get charge
     summary_by_day = TopUpSummaryByDay()
     return summary_by_day.__get(date_from2, date_to2, '%Y%m')
Example #11
0
    def post(self):
        json_values = {}

        try:
            agent_code = self.session['agent_code']

            # get post data
            date = DateTime.to_date(self.request.get("date"))
            quantity = int(self.request.get("quantity"))
            payment_date = DateTime.to_date(self.request.get("paymentDate"))
            ref_no = self.request.get("refNo")

            #save data to view model class
            vm = BuyViewModel()
            vm.tran_date = date
            vm.agent_code = agent_code
            vm.qty = quantity
            vm.unit_price = 10
            vm.sub_total = 0
            vm.comm_per = 5
            vm.comm_amt = 0
            vm.payment_date = payment_date
            vm.payment_ref_no = ref_no
            vm.payment_type = 1

            app_service = BuyAppService()
            app_service.create(vm)

            json_values['returnStatus'] = True
            json_values['tranCode'] = vm.tran_code
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #12
0
    def post(self):
        json_values = {}

        try:
            #get
            date_from = DateTime.to_date(self.request.get('dateFrom'))
            date_to = DateTime.to_date(self.request.get('dateTo'))

            topup_by_month = TopUpSummaryByMonth()
            values = topup_by_month.get(date_from, date_to)

            data = []
            for value in values:
                data.append({
                    'tranDate':
                    DateTime.to_date_string(value.tran_date),
                    'agentCode':
                    value.agent_code,
                    'topupAmt':
                    value.sub_total,
                    'topupComm':
                    value.comm_amt,
                    'total':
                    value.amt
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #13
0
    def post(self):
        json_values = {}

        try:
            #get
            date_from = self.request.get('dateFrom')
            date_to = self.request.get('dateTo')
            agent_code = self.request.get('agentCode')

            q = Register.query()

            if date_from and len(date_from) > 0:
                date_from = DateTime.to_date(date_from)

            if date_to and len(date_to) > 0:
                date_to = DateTime.to_date(date_to)

            if agent_code:
                q = q.filter(Register.agent_code == agent_code)

            if (not date_from and date_to):
                raise Exception('You must enter a Date.')

            registers = q.fetch()

            # create json
            data = []
            for register in registers:
                data.append({
                    'tranCode':
                    register.tran_code,
                    'carPlate':
                    register.car_reg_no,
                    'tranDate':
                    DateTime.to_date_string(register.tran_date),
                    'agentCode':
                    register.agent_code,
                    'ic':
                    register.customer_ic,
                    'name':
                    register.customer_name,
                    'address':
                    register.customer_address,
                    'tel':
                    register.customer_tel,
                    'hp':
                    register.customer_hp,
                    'email':
                    register.customer_email,
                    'tagNo':
                    register.tag_code,
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #14
0
    def post(self):
        json_values = {}

        try:
            date_from = self.request.get('dateFrom')
            date_to = self.request.get("dateTo")
            current_agent = self.current_agent()
            agent_code = current_agent.code

            q = Buy.query()

            if date_from and len(date_from) > 0:
                date_from = DateTime.to_date(date_from)
                q = q.filter(Buy.tran_date >= date_from)

            if date_to and len(date_to) > 0:
                date_to = DateTime.to_date(date_to)
                q = q.filter(Buy.tran_date <= date_to)

            if (not date_from and date_to):
                q = q.filter(Buy.agent_code == agent_code)

            buys = q.fetch()

            # create json
            data = []
            for buy in buys:
                data.append({
                    'agentCode':
                    buy.agent_code,
                    'tranCode':
                    buy.tran_code,
                    'date':
                    DateTime.to_date_string(buy.tran_date),
                    'qty':
                    buy.qty,
                    'unitPrice':
                    buy.unit_price,
                    'subTotal':
                    buy.sub_total,
                    'commission':
                    buy.comm_amt,
                    'amount':
                    buy.amt,
                    'paymentDate':
                    DateTime.to_date_string(buy.payment_date),
                    'refNo':
                    buy.payment_ref_no,
                    'paymentType':
                    buy.payment_type,
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #15
0
    def post(self):
        json_values = {}

        try:
            #get
            date_from = self.request.get('dateFrom')
            date_to = self.request.get('dateTo')
            agent_code = self.request.get('agentCode')

            q = Deposit.query()

            if date_from and len(date_from) > 0:
                date_from = DateTime.to_date(date_from)

            if date_to and len(date_to) > 0:
                date_to = DateTime.to_date(date_to)

            if agent_code:
                q = q.filter(Deposit.agent_code == agent_code)

            if (not date_from and date_to):
                raise Exception('You must enter a Date.')

            deposits = q.fetch()

            # create json
            data = []
            for deposit in deposits:
                data.append({
                    'tranCode':
                    deposit.tran_code,
                    'tranDate':
                    DateTime.to_date_string(deposit.tran_date),
                    'agentCode':
                    deposit.agent_code,
                    'amount':
                    deposit.amt,
                    'paymentDate':
                    DateTime.to_date_string(deposit.payment_date),
                    'refNo':
                    deposit.payment_ref_no,
                    'paymentType':
                    deposit.payment_type,
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #16
0
    def post(self):
        json_values = {}

        try:
            date_from = self.request.get('dateFrom')
            date_to = self.request.get("dateTo")
            carPlate = self.request.get('carPlate')
            current_agent = self.current_agent()
            code = current_agent.code

            q = Register.query()

            if date_from and len(date_from) > 0:
                date_from = DateTime.to_date(date_from)
                q = q.filter(Register.tran_date >= date_from)

            if date_to and len(date_to) > 0:
                date_to = DateTime.to_date(date_to)
                q = q.filter(Register.tran_date <= date_to)

            if carPlate:
                q = q.filter(Register.car_reg_no == carPlate)

            if (not date_from and date_to and carPlate):
                q = q.filter(Register.agent_code == code)

            registers = q.fetch()

            # create json
            data = []
            for register in registers:
                data.append({
                    'agentCode': register.agent_code,
                    'tranCode': register.tran_code,
                    'date': DateTime.to_date_string(register.tran_date),
                    'carPlate': register.car_reg_no,
                    'name': register.customer_name,
                    'ic': register.customer_ic,
                    'address': register.customer_address,
                    'tel': register.customer_tel,
                    'hp': register.customer_hp,
                    'email': register.customer_email,
                    'tagNo': register.tag_code
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #17
0
    def post(self):
        json_values = {}

        try:
            #get
            date_from = self.request.get('dateFrom')
            date_to = self.request.get('dateTo')
            agent_code = self.request.get('agentCode')

            q = TopUp.query()

            if date_from and len(date_from) > 0:
                date_from = DateTime.to_date(date_from)

            if date_to and len(date_to) > 0:
                date_to = DateTime.to_date(date_to)

            if agent_code:
                q = q.filter(TopUp.agent_code == agent_code)

            if (not date_from and date_to):
                raise Exception('You must enter a Date.')

            topups = q.fetch()

            data = []
            for topup in topups:
                data.append({
                    'tranCode':
                    topup.tran_code,
                    'carPlate':
                    topup.car_reg_no,
                    'tranDate':
                    DateTime.to_date_string(topup.tran_date),
                    'agentCode':
                    topup.agent_code,
                    'subTotal':
                    topup.sub_total,
                    'commission':
                    topup.comm_amt,
                    'amount':
                    topup.amt,
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #18
0
    def post(self):
        json_values = {}

        try:
            date_from = self.request.get('dateFrom')
            date_to = self.request.get("dateTo")
            lot_no = self.request.get("lotNo")
            car_reg_no = self.request.get("carPlate")
            current_attendant = self.current_attendant()
            attendant_code = current_attendant.code

            q = Charge.query(Charge.attendant_code == attendant_code)

            if date_from and len(date_from) > 0:
                date_from = DateTime.to_date(date_from)
                q = q.filter(Charge.tran_date >= date_from)

            if date_to and len(date_to) > 0:
                date_to = DateTime.to_date(date_to)
                q = q.filter(Charge.tran_date <= date_to)

            if lot_no:
                q = q.filter(Charge.lot_no == lot_no)

            if car_reg_no:
                q = q.filter(Charge.car_reg_no == car_reg_no)

            if (not date_from and date_to and lot_no and car_reg_no):
                q = q.filter(Charge.attendant_code == attendant_code)

            charges = q.fetch()

            # create json
            data = []
            for charge in charges:
                data.append({
                    'attendantCode': charge.attendant_code,
                    'tranCode': charge.tran_code,
                    'date': DateTime.to_date_string(charge.tran_date),
                    'lotNo': charge.lot_no,
                    'carPlate': charge.car_reg_no,
                    'amount': charge.sub_total,
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #19
0
    def get(self):
        # validate admin is logined or not
        # if not redirect to login page
        if self.authenticate() == False:
            return

        current_user = self.current_user()

        template_values = {
            'title': 'Create Attendant',
            'today': DateTime.to_date_string(DateTime.malaysia_today()),
            'current_user': current_user
        }

        template = JINJA_ENVIRONMENT.get_template('/attendant/create.html')
        self.response.write(template.render(template_values))
 def create(self, code, action, message):
     audit = AgentAuditTrail()
     audit.agent_code = code
     audit.date = DateTime.malaysia_now()
     audit.action = action
     audit.message = message
     audit.put()
Example #21
0
 def post(self, agent_code):
     json_values = {}
     
     try:
         #get           
         agent_code = self.request.get('agentCode')
         
         registers = Register.query(Register.agent_code==agent_code).fetch()
         
         # create json
         data = []
         for register in registers:
             data.append({
                          'carPlate': register.car_reg_no,
                          'tranDate': DateTime.to_date_string(register.tran_date),
                          'ic': register.customer_ic,
                          'name': register.customer_name,
                          'address': register.customer_address,
                          'tel': register.customer_tel,
                          'hp': register.customer_hp,
                          'email': register.customer_email,
                          'tagNo': register.tag_code,
                          'tranCode': register.tran_code,
                          })
             
         json_values['returnStatus'] = True
         json_values['data'] = data
     except Exception, ex:
         json_values['returnStatus'] = False
         json_values['returnMessage'] = str(ex)
Example #22
0
    def post(self):
        json_values = {}

        try:
            agent_code = self.session['agent_code']

            # get post data
            date = DateTime.to_date(self.request.get("date"))
            carPlate = self.request.get("carPlate")
            amount = float(self.request.get("amount"))

            #save data to view model class
            vm = TopUpViewModel()
            vm.tran_date = date
            vm.agent_code = agent_code
            vm.car_reg_no = carPlate
            vm.sub_total = amount
            vm.comm_per = 5

            app_service = TopUpAppService()
            app_service.create(vm)

            json_values['returnStatus'] = True
            json_values['tranCode'] = vm.tran_code
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
 def create(self, ic, action, message):
     audit = CustomerAuditTrail()
     audit.ic = ic
     audit.date = DateTime.malaysia_now()
     audit.action = action
     audit.message = message
     audit.put()
Example #24
0
 def create(self, code, action, message):
     audit = AgentAuditTrail()
     audit.agent_code = code
     audit.date = DateTime.malaysia_now()
     audit.action = action
     audit.message = message
     audit.put()
Example #25
0
    def post(self, agent_code):
        json_values = {}

        try:
            #get
            agent_code = self.request.get('agentCode')

            topups = TopUp.query(TopUp.agent_code == agent_code).fetch()

            data = []
            for topup in topups:
                data.append({
                    'carPlate':
                    topup.car_reg_no,
                    'tranDate':
                    DateTime.to_date_string(topup.tran_date),
                    'subTotal':
                    topup.sub_total,
                    'commission':
                    topup.comm_amt,
                    'amount':
                    topup.amt,
                    'tranCode':
                    topup.tran_code,
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #26
0
    def post(self):
        json_values = {}

        try:
            attendant_code = self.session['attendant_code']

            # get post data
            date = DateTime.to_date(self.request.get("date"))
            lot_no = self.request.get("lotNo")
            car_reg_no = self.request.get("carPlate")

            #save data to view model class
            vm = ChargeViewModel()
            vm.tran_date = date
            vm.attendant_code = attendant_code
            vm.lot_no = lot_no
            vm.car_reg_no = car_reg_no

            app_service = ChargeAppService()
            app_service.create(vm)

            json_values['returnStatus'] = True
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #27
0
 def create(self, ic, action, message):
     audit = CustomerAuditTrail()
     audit.ic = ic
     audit.date = DateTime.malaysia_now()
     audit.action = action
     audit.message = message
     audit.put()
Example #28
0
    def get(self):
        # validate agent is logined or not
        # if not redirect to login page
        if self.authenticate() == False:
            return

        current_agent = self.current_agent()

        template_values = {
            'title': 'Register List',
            'today': DateTime.to_date_string(DateTime.malaysia_today()),
            'current_agent': current_agent
        }

        template = JINJA_ENVIRONMENT.get_template('register/index.html')
        self.response.write(template.render(template_values))
Example #29
0
 def __create(self, buy_obj):
     # get master seq
     master_da = MasterDataAccess()
     master = master_da.get('Buy')
     master.seq += 1
     master.put()
     
     # insert buy
     tran_code = Buy.get_tran_code(master.seq)
     buy_obj.tran_code = tran_code    # return tran_code
     
     buy = Buy(
               parent=self.get_key(buy_obj.tran_date, buy_obj.agent_code), 
               id=tran_code
               )
     buy.tran_code = tran_code
     buy.tran_type = buy_obj.tran_type
     buy.tran_date = buy_obj.tran_date
     buy.seq = master.seq
     buy.agent_code = buy_obj.agent_code
     buy.agent = buy_obj.agent.key
     buy.remark = buy_obj.remark
     
     buy.qty = buy_obj.qty
     buy.unit_price = buy_obj.unit_price
     buy.sub_total = buy_obj.sub_total
     buy.comm_per = buy_obj.comm_per
     buy.comm_amt = buy_obj.comm_amt
     buy.amt = buy_obj.amt
     
     buy.payment_date = buy_obj.payment_date
     buy.payment_type = buy_obj.payment_type
     buy.payment_ref_no = buy_obj.payment_ref_no
     buy.payment_file_name = buy_obj.payment_file_name
     buy.payment_url = buy_obj.payment_url
     
     buy.verified_by = ''
     buy.verified_date = None
     buy.verify_status = 0
     
     buy.created_by = buy_obj.user_code
     buy.created_date = DateTime.malaysia_now()
     buy.modified_by = ''
     buy.modified_date = None
     buy.void_by = ''
     buy.void_date = None
     buy.void = False
     buy.last_modified = str(buy.created_date)
     buy.put()
     
     # insert tran
     tran_obj = TranViewModel()
     tran_obj.tran_code = buy.tran_code
     tran_obj.tran_date = buy.tran_date
     tran_obj.tran_type = buy.tran_type
     tran_obj.agent_code = buy.agent_code
     
     tran_da = TranDataAccess()
     tran_da.create(tran_obj)
Example #30
0
    def __create(self, vm):
        # get master seq
        master_da = MasterDataAccess()
        master = master_da.get('Deposit')
        master.seq += 1
        master.put()

        # insert deposit
        tran_code = Deposit.get_tran_code(master.seq)
        vm.tran_code = tran_code

        data = Deposit(parent=self.get_key(vm.tran_date, vm.agent_code),
                       id=tran_code)
        data.tran_code = tran_code
        data.tran_type = vm.tran_type
        data.tran_date = vm.tran_date
        data.seq = master.seq
        data.agent_code = vm.agent_code
        data.agent = vm.agent.key
        data.remark = vm.remark

        data.amt = vm.amt

        data.payment_date = vm.payment_date
        data.payment_type = vm.payment_type
        data.payment_ref_no = vm.payment_ref_no
        data.payment_file_name = vm.payment_file_name
        data.payment_url = vm.payment_url

        data.verified_by = ''
        data.verified_date = None
        data.verify_status = 0

        data.created_by = vm.user_code
        data.created_date = DateTime.malaysia_now()
        data.modified_by = ''
        data.modified_date = None
        data.void_by = ''
        data.void_date = None
        data.void = False
        data.last_modified = str(data.created_date)
        data.put()

        # insert tran
        tran_obj = TranViewModel()
        tran_obj.tran_code = data.tran_code
        tran_obj.tran_date = data.tran_date
        tran_obj.tran_type = data.tran_type
        tran_obj.agent_code = data.agent_code

        tran_da = TranDataAccess()
        tran_da.create(tran_obj)

        # update agent bal amt
        agent_da = AgentDataAccess()
        agent = agent_da.get(vm.agent_code)
        agent.bal_amt += vm.amt
        agent.bal_amt = round(agent.bal_amt, 2)
        agent.put()
Example #31
0
    def post(self):
        json_values = {}

        try:
            date_from = self.request.get('dateFrom')
            date_to = self.request.get("dateTo")
            carPlate = self.request.get('carPlate')
            current_agent = self.current_agent()
            agent_code = current_agent.code

            q = TopUp.query()

            if date_from and len(date_from) > 0:
                date_from = DateTime.to_date(date_from)
                q = q.filter(TopUp.tran_date >= date_from)

            if date_to and len(date_to) > 0:
                date_to = DateTime.to_date(date_to)
                q = q.filter(TopUp.tran_date <= date_to)

            if carPlate:
                q = q.filter(TopUp.car_reg_no == carPlate)

            if (not date_from and date_to and carPlate):
                q = q.filter(TopUp.agent_code == agent_code)

            topUps = q.fetch()

            # create json
            data = []
            for topUp in topUps:
                data.append({
                    'agentCode': topUp.agent_code,
                    'tranCode': topUp.tran_code,
                    'carPlate': topUp.car_reg_no,
                    'date': DateTime.to_date_string(topUp.tran_date),
                    'subTotal': topUp.sub_total,
                    'commission': topUp.comm_amt,
                    'amount': topUp.amt,
                })

            json_values['returnStatus'] = True
            json_values['data'] = data
        except Exception, ex:
            json_values['returnStatus'] = False
            json_values['returnMessage'] = str(ex)
Example #32
0
 def get_charge_summary_by_month(self):
     try:
         charge_app = ChargeSummary()
         values = charge_app.get_by_month(DateTime.malaysia_today(), None)
         
         self.response.write("<table border='1'>")
         for value in values:
             self.response.write("<tr>")
             self.response.write("<td>%s</td>" % DateTime.to_month_string(value.tran_date))
             self.response.write("<td>%s</td>" % value.sub_total)
             self.response.write("<td>%s</td>" % value.comm_amt)
             self.response.write("<td>%s</td>" % value.amt)
             self.response.write("</tr>")
         self.response.write("</table>")
         
         self.response.write("get_charge_summary_by_month OK.")
     except Exception, ex:
         self.response.write("get_charge_summary_by_month failed. %s" % str(ex))
Example #33
0
    def get(self):
        # validate agent is logined or not
        # if not redirect to login page
        if self.authenticate() == False:
            return

        current_user = self.current_user()
        users = User.query().fetch()

        template_values = {
            'title': 'Agent Daily Sale',
            'today': DateTime.to_date_string(DateTime.malaysia_today()),
            'current_user': current_user,
            'users': users
        }

        template = JINJA_ENVIRONMENT.get_template('report/salebyday.html')
        self.response.write(template.render(template_values))
Example #34
0
    def get(self, tran_code):
        # validate agent is logined or not
        # if not redirect to login page
        if self.authenticate() == False:
            return

        current_agent = self.current_agent()
        registers = Register.query(Register.tran_code == tran_code).get()

        template_values = {
            'title': 'Borneo Ixora Co',
            'today': DateTime.to_date_string(DateTime.malaysia_today()),
            'current_agent': current_agent,
            'registers': registers
        }

        template = JINJA_ENVIRONMENT.get_template('register/receipt.html')
        self.response.write(template.render(template_values))
Example #35
0
 def validate_closing(self, vm):
     closing_da = ClosingDataAccess()
     closing = closing_da.get()
     
     if closing.audit_lock:
         raise Exception("You cannot create/modify this transaction because already locked.")
         
     if DateTime.date_diff('day', closing.closing_date, vm.tran_date) < 0:
         raise Exception('You cannot create/modify this transaction because already closed.')
Example #36
0
 def get_profit_by_day(self):
     try:
         profit_app = Profit()
         values = profit_app.get_by_day(DateTime.malaysia_today(), None)
         
         self.response.write("<table border='1'>")
         for value in values:
             self.response.write("<tr>")
             self.response.write("<td>%s</td>" % DateTime.to_date_string(value.tran_date))
             self.response.write("<td>%s</td>" % value.charge_sub_total)
             self.response.write("<td>%s</td>" % value.charge_comm_amt)
             self.response.write("<td>%s</td>" % value.top_up_comm_amt)
             self.response.write("<td>%s</td>" % value.amt)
             self.response.write("</tr>")
         self.response.write("</table>")
         
         self.response.write("get_profit_by_day OK.")
     except Exception, ex:
         self.response.write("get_profit_by_day failed. %s" % str(ex))
Example #37
0
 def get_car_statement(self):
     try:
         statement = CarStatement()
         values = statement.get('WKG4952', DateTime.malaysia_today())
         
         self.response.write("<table border='1'>")
         for value in values:
             self.response.write("<tr>")
             self.response.write("<td>%s</td>" % DateTime.to_date_string(value.tran_date))
             self.response.write("<td>%s</td>" % value.tran_code)
             self.response.write("<td>%s</td>" % value.description)
             self.response.write("<td>%s</td>" % value.db_amt)
             self.response.write("<td>%s</td>" % value.cr_amt)
             self.response.write("<td>%s</td>" % value.bal_amt)
             self.response.write("</tr>")
         self.response.write("</table>")
         
         self.response.write("get_car_statement OK.")
     except Exception, ex:
         self.response.write("get_car_statement failed. %s" % str(ex))
Example #38
0
 def __create(self, vm):
     # validate id
     data_validate = self.get(vm.code)
     if data_validate != None:
         raise Exception('Attendant ID already exist.')
     
     data = Attendant(id=vm.code)
     data.code = vm.code
     data.name = vm.name
     data.pwd = vm.pwd
     data.comm_per = vm.comm_per
     data.active = True
     data.last_modified = str(DateTime.malaysia_now())
     data.put()
Example #39
0
 def __update(self, vm):
     # get data
     data = self.get(vm.code)
     if data == None:
         raise Exception('Attendant not found.')
     
     # validate lastModified
     if data.last_modified != vm.last_modified:
         raise Exception('Record has been modified by other user.')
     
     data.name = vm.name
     data.comm_per = vm.comm_per
     data.active = vm.active
     data.last_modified = str(DateTime.malaysia_now())
     data.put()
Example #40
0
 def __update(self, vm):
     # get data
     data = self.get(vm.reg_no)
     if data == None:
         raise Exception('Car not found.')
     
     # validate lastModified
     if data.last_modified != vm.last_modified:
         raise Exception('Record has been modified by other user.')
     
     data.active = vm.active
     data.last_modified = str(DateTime.malaysia_now())
     data.put()
     
     return data
Example #41
0
 def create_charge(self, charge_time=None):
     try:
         vm = ChargeViewModel()
         vm.tran_date = DateTime.malaysia_today()
         vm.attendant_code = '1'
         vm.lot_no = '1'
         vm.car_reg_no = 'WKG4952'
         vm.comm_per = 2
         
         app_service = ChargeAppService()
         app_service.create(vm, charge_time)
         
         self.response.write("create_charge OK.")
         
     except Exception, ex:
         self.response.write("create_charge failed. %s" % str(ex))
Example #42
0
 def create(self, vm):
     # validate id
     data_validate = self.get(vm.reg_no)
     if data_validate != None:
         raise Exception('Car Reg. No. already exist.')
     
     data = Car(id=vm.reg_no)
     data.reg_no = vm.reg_no
     data.customer_ic = vm.customer_ic
     data.customer = vm.customer.key
     data.bal_amt = vm.bal_amt   # register may be RM10
     data.active = True
     data.last_modified = str(DateTime.malaysia_now())
     data.put()
     
     return data
Example #43
0
 def __account_update(self, vm):
     # get data
     data = self.get(vm.code)
     if data == None:
         raise Exception('Agent not found.')
     
     # validate lastModified
     if data.last_modified != vm.last_modified:
         raise Exception('Record has been modified by other user.')
     
     data.address = vm.address
     data.tel = vm.tel
     data.hp = vm.hp
     data.email = vm.email
     data.last_modified = str(DateTime.malaysia_now())
     data.put()
Example #44
0
 def create_deposit(self):
     try:
         vm = DepositViewModel()
         vm.tran_date = DateTime.malaysia_today()
         vm.agent_code = '1'
         vm.amt = 100
         vm.payment_date = vm.tran_date
         vm.payment_type = 1
         vm.payment_ref_no = '2'
         
         app_service = DepositAppService()
         app_service.create(vm)
         
         self.response.write("create_deposit OK.")
         
     except Exception, ex:
         self.response.write("create_deposit failed. %s" % str(ex))
Example #45
0
 def create_closing(self):
     try:
         closing = Closing.query().get()
         if closing:
             self.response.write("closing already exist.")
             self.response.write("<br />")
             return
         
         vm = ClosingViewModel()
         vm.closing_date = DateTime.malaysia_today() - datetime.timedelta(days=1)
         
         app_service = ClosingAppService()
         app_service.create(vm)
         
         self.response.write("create_closing OK.")
         
     except Exception, ex:
         self.response.write("create_closing failed. %s" % str(ex))
Example #46
0
 def test3(self):
     charge_time = DateTime.malaysia_now()
     self.create_charge()
     
     charge_time = charge_time + datetime.timedelta(minutes=61)
     self.create_charge(charge_time=charge_time)
     
     charge_time = charge_time + datetime.timedelta(minutes=61) 
     self.create_charge(charge_time=charge_time)
     
     charge_time = charge_time + datetime.timedelta(minutes=61)
     self.create_charge(charge_time=charge_time)
     
     charge_time = charge_time + datetime.timedelta(minutes=61)
     self.create_charge(charge_time=charge_time)
     
     charge_time = charge_time + datetime.timedelta(minutes=61)
     self.create_charge(charge_time=charge_time)
Example #47
0
 def create_top_up(self):
     try:
         vm = TopUpViewModel()
         vm.tran_date = DateTime.malaysia_today()
         vm.agent_code = '1'
         vm.car_reg_no = 'WKG4952'
         vm.sub_total = 20
         vm.comm_per = 5
         vm.cal_comm_amt()
         vm.cal_amt()
         
         app_service = TopUpAppService()
         app_service.create(vm)
         
         self.response.write("create_top_up OK.")
         
     except Exception, ex:
         self.response.write("create_top_up failed. %s" % str(ex))
Example #48
0
 def __update(self, vm):
     # get data
     data = self.get(vm.ic)
     if data == None:
         raise Exception('Customer not found.')
     
     # validate lastModified
     if data.last_modified != vm.last_modified:
         raise Exception('Record has been modified by other user.')
     
     data.name = vm.name
     data.address = vm.address
     data.tel = vm.tel
     data.hp = vm.hp
     data.email = vm.email
     data.active = vm.active
     data.last_modified = str(DateTime.malaysia_now())
     data.put()
     
     return data
Example #49
0
 def create(self, vm):
     # validate id
     data_validate = self.get(vm.ic)
     if data_validate != None:
         raise Exception('IC/PP No. already exist.')
     
     data = Customer(id=vm.ic)
     data.ic = vm.ic
     data.name = vm.name
     data.address = vm.address
     data.tel = vm.tel
     data.hp = vm.hp
     data.email = vm.email
     # default password is ic
     data.pwd = vm.ic
     data.active = True
     data.last_modified = str(DateTime.malaysia_now())
     data.put()
     
     return data
Example #50
0
 def create_register(self):
     try:
         vm = RegisterViewModel()
         vm.tran_date = DateTime.malaysia_today()
         vm.agent_code = '1'
         vm.car_reg_no = 'WKG4952'
         vm.customer_name = 'Edward'
         vm.customer_ic = '1'
         vm.customer_address = 'TB'
         vm.customer_tel = '1'
         vm.customer_hp = '2'
         vm.customer_email = '3'
         vm.tag_code = 'XYZ'
         
         app_service = RegisterAppService()
         app_service.create(vm)
         
         self.response.write("create_register OK.")
         
     except Exception, ex:
         self.response.write("create_register failed. %s" % str(ex))
Example #51
0
 def __create(self, vm):
     # validate id
     data_validate = self.get(vm.code)
     if data_validate != None:
         raise Exception('Agent ID already exist.')
     
     data = Agent(id=vm.code)
     data.code = vm.code
     data.name = vm.name
     data.pwd = vm.pwd
     data.account_type = vm.account_type
     data.address = vm.address
     data.tel = vm.tel
     data.hp = vm.hp
     data.email = vm.email
     data.comm_per = vm.comm_per
     data.credit_limit = vm.credit_limit
     data.bal_amt = vm.bal_amt
     data.active = vm.active
     data.last_modified = str(DateTime.malaysia_now())
     data.put()
Example #52
0
 def create_buy(self):
     try:
         vm = BuyViewModel()
         vm.tran_date = DateTime.malaysia_today()
         vm.agent_code = '1'
         vm.qty = 10
         vm.unit_price = 10
         vm.comm_per = 5
         vm.cal_sub_total()
         vm.cal_comm_amt()
         vm.payment_date = vm.tran_date
         vm.payment_type = 1
         vm.payment_ref_no = '1'
         vm.cal_amt()
         
         app_service = BuyAppService()
         app_service.create(vm)
         
         self.response.write("create_buy OK.")
         
     except Exception, ex:
         self.response.write("create_buy failed. %s" % str(ex))
Example #53
0
 def create(self, vm, charge_time=None):
     try:
         if charge_time is None:
             vm.charge_time = DateTime.malaysia_now()
         else:
             vm.charge_time = charge_time
         
         self.validate_tran_date(vm)
         self.validate_closing(vm)
         self.__validate_attendant_code(vm)
         self.__validate_lot_no(vm)
         self.__validate_car_reg_no(vm)
         
         # get attendance comm
         attendant_da = AttendantDataAccess()
         attendant = attendant_da.get(vm.attendant_code)
         if attendant is None:
             raise Exception('Attendant not found.')
         
         vm.comm_per = attendant.comm_per
         
         # get system setting
         system_da = SystemSettingDataAccess()
         system_setting = system_da.get()
         
         # save charge
         da = ChargeDataAccess()
         
         # get charge
         q = Charge.query(ancestor=da.get_key(vm.tran_date))
         q = q.filter(Charge.lot_no==vm.lot_no, 
                      Charge.car_reg_no==vm.car_reg_no,
                      Charge.ended==False,
                      Charge.void==False)
         charge = q.get()
         
         if charge is None:
             # new charge
             vm.start_time = vm.charge_time
             vm.last_charge_time = None
         else:
             # continue old charge
             vm.tran_code = charge.tran_code
             vm.start_time = charge.start_time
             vm.last_charge_time = charge.charge_time
         
             # if idle duration > 2hrs, end this charge
             # and create a new charge
             idle_duration = vm.idle_duration() 
             if idle_duration > system_setting.reset_duration:
                 # end charge
                 da.end(vm)
                 
                 # create new charge
                 vm.tran_code = ''
                 vm.start_time = vm.charge_time
                 vm.last_charge_time = None
         
         vm.cal_duration()
         vm.cal_sub_total()
         vm.cal_comm_amt()
         vm.cal_amt()
         
         if len(vm.tran_code) < 1:
             da.create(vm)
         else:
             da.update_charge(vm)
         
     except Exception, ex:
         audit_da = AttendantAuditTrailDataAccess()
         audit_da.create(vm.attendant_code, 'Create Charge', 'Fail. Error=%s' % str(ex))
         raise ex
Example #54
0
 def __create(self, vm):
     # get master seq
     master_da = MasterDataAccess()
     master = master_da.get('Deposit')
     master.seq += 1
     master.put()
     
     # insert deposit
     tran_code = Deposit.get_tran_code(master.seq)
     vm.tran_code = tran_code
     
     data = Deposit(
                    parent=self.get_key(vm.tran_date, vm.agent_code), 
                    id=tran_code
                    )
     data.tran_code = tran_code
     data.tran_type = vm.tran_type
     data.tran_date = vm.tran_date
     data.seq = master.seq
     data.agent_code = vm.agent_code
     data.agent = vm.agent.key
     data.remark = vm.remark
     
     data.amt = vm.amt
     
     data.payment_date = vm.payment_date
     data.payment_type = vm.payment_type
     data.payment_ref_no = vm.payment_ref_no
     data.payment_file_name = vm.payment_file_name
     data.payment_url = vm.payment_url
     
     data.verified_by = ''
     data.verified_date = None
     data.verify_status = 0
     
     data.created_by = vm.user_code
     data.created_date = DateTime.malaysia_now()
     data.modified_by = ''
     data.modified_date = None
     data.void_by = ''
     data.void_date = None
     data.void = False
     data.last_modified = str(data.created_date)
     data.put()
     
     # insert tran
     tran_obj = TranViewModel()
     tran_obj.tran_code = data.tran_code
     tran_obj.tran_date = data.tran_date
     tran_obj.tran_type = data.tran_type
     tran_obj.agent_code = data.agent_code
     
     tran_da = TranDataAccess()
     tran_da.create(tran_obj)
     
     # update agent bal amt
     agent_da = AgentDataAccess()
     agent = agent_da.get(vm.agent_code)
     agent.bal_amt += vm.amt
     agent.bal_amt = round(agent.bal_amt, 2)
     agent.put()
Example #55
0
 def get(self, date_from, date_to):
     date_from2 = DateTime.first_day_of_month(date_from)
     date_to2 = DateTime.last_day_of_month(date_to)
     
     return self.__get(date_from2, date_to2, '%Y%m')
 def get_by_month_and_attendant(self, date_from, date_to, attendant_code):
     date_from2 = DateTime.first_day_of_month(date_from)
     date_to2 = DateTime.last_day_of_month(date_to)
     return self.__get_by_day_and_attendant(date_from2, date_to2, attendant_code, '%Y%m')
Example #57
0
 def __create(self, vm):
     # save car
     car_vm = CarViewModel()
     car_vm.reg_no = vm.car_reg_no
     car_vm.customer_ic = vm.customer_ic
     car_vm.customer = vm.customer
     car_vm.bal_amt = vm.sub_total
     
     car_da = CarDataAccess()
     vm.car = car_da.save_register(car_vm)
     
     # save tag
     tag_vm = TagViewModel()
     tag_vm.code = vm.tag_code
     tag_vm.agent_code = vm.agent_code
     tag_vm.agent = vm.agent
     tag_vm.car_reg_no = vm.car_reg_no
     tag_vm.car = vm.car
     
     tag_da = TagDataAccess()
     vm.tag = tag_da.demo_save_register(tag_vm)
     
     # get master seq
     master_da = MasterDataAccess()
     master = master_da.get('Register')
     master.seq += 1
     master.put()
     
     # insert register
     tran_code = Register.get_tran_code(master.seq)
     vm.tran_code = tran_code
     
     data = Register(
                     parent=self.get_key(vm.tran_date, vm.agent_code), 
                     id=tran_code
                     )
     data.tran_code = tran_code
     data.tran_type = vm.tran_type
     data.tran_date = vm.tran_date
     data.seq = master.seq
     data.agent_code = vm.agent_code
     data.agent = vm.agent.key
     data.remark = vm.remark
     
     data.car_reg_no = vm.car_reg_no
     data.car = vm.car.key
     
     data.customer_ic = vm.customer_ic
     data.customer_name = vm.customer_name
     data.customer_address = vm.customer_address
     data.customer_tel = vm.customer_tel
     data.customer_hp = vm.customer_hp
     data.customer_email = vm.customer_email
     data.customer = vm.customer.key
     
     data.tag_code = vm.tag_code
     data.tag = vm.tag.key
     
     data.sub_total = vm.sub_total
     
     data.created_by = vm.user_code
     data.created_date = DateTime.malaysia_now()
     data.modified_by = ''
     data.modified_date = None
     data.void_by = ''
     data.void_date = None
     data.void = False
     data.last_modified = str(data.created_date)
     data.put()
     
     # insert tran
     tran_obj = TranViewModel()
     tran_obj.tran_code = data.tran_code
     tran_obj.tran_date = data.tran_date
     tran_obj.tran_type = data.tran_type
     tran_obj.agent_code = data.agent_code
     tran_obj.car_reg_no = data.car_reg_no
     
     tran_da = TranDataAccess()
     tran_da.create(tran_obj)