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)
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)
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)
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)
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')
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)
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 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)
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)
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)
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)
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)
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)
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)
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)
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()
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)
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()
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)
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)
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))
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)
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()
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)
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))
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))
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))
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.')
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))
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))
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()
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()
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
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))
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
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()
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))
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))
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)
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))
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
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
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))
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()
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))
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
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()
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')
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)