def insert_plu(self): # merge PLU and PLU 2nd items together plu_items = list( extract_master_files_data(self.org_dir, DATATYPES_NAMES["plu_name"])) plu2nd_items = list( extract_master_files_data(self.org_dir, DATATYPES_NAMES["plu2nd_name"])) for plu in plu_items + plu2nd_items: plu_duplicate = self.if_duplicate_exists(PLU, number=plu.number, name=plu.name, org_id=self.org_id) if plu_duplicate: continue # check for group and department with non-existing number valid_group = Group.query.filter_by( number=plu.group_number).first() if not valid_group: plu.group_id = None else: plu.group_id = valid_group.id valid_dep = Department.query.filter_by( number=plu.department_number).first() if not valid_dep: plu.department_id = None else: plu.department_id = valid_dep.id valid_tax = Tax.query.filter_by(number=plu.tax_number).first() if not valid_tax: plu.tax_id = None else: plu.tax_id = valid_tax.id db_plu = PLU( number=plu.number, date_time=plu.date_time, filepath=plu.filepath, data_dir=plu.data_dir, org_id=self.org_id, name=plu.name, group_id=plu.group_id, department_id=plu.department_id, price=plu.price, tax_id=plu.tax_id, ) db.session.add(db_plu) db.session.commit() print(db_plu)
def insert_customers(self): customers = extract_master_files_data(self.org_dir, DATATYPES_NAMES["customer_name"]) for customer in customers: customer_duplicate = self.if_duplicate_exists( Customer, number=customer.number, org_id=self.org_id) if customer_duplicate: continue db_customer = Customer(number=customer.number, date_time=customer.date_time, filepath=customer.filepath, data_dir=customer.data_dir, org_id=self.org_id, first_name=customer.first_name, surname=customer.surname, addr1=customer.addr1, addr2=customer.addr2, addr3=customer.addr3, postcode=customer.postcode, phone=customer.phone, email=customer.email, overdraft_limit=customer.overdraft_limit, custgroup_number=customer.custgroup_number) db.session.add(db_customer) db.session.commit() print(db_customer)
def insert_departments(self): departments = extract_master_files_data( self.org_dir, DATATYPES_NAMES["department_name"]) for dep in departments: dep_duplicate = self.if_duplicate_exists(Department, number=dep.number, org_id=self.org_id) if dep_duplicate: continue # check for group with non-existing number valid_group = db.session.query(Group).filter_by( number=dep.group_number).first() if not valid_group: dep.group_id = None else: dep.group_id = valid_group.id db_dep = Department(number=dep.number, date_time=dep.date_time, filepath=dep.filepath, data_dir=dep.data_dir, org_id=self.org_id, name=dep.name, group_id=dep.group_id) db.session.add(db_dep) db.session.commit() print(db_dep)
def insert_fixed_totalizer(self): fixed_totalizers = extract_master_files_data( self.org_dir, DATATYPES_NAMES["fixed_totalizer"]) for ft in fixed_totalizers: ft_duplicate = self.if_duplicate_exists(FixedTotalizer, number=ft.number, org_id=self.org_id) if ft_duplicate: continue db_ft = FixedTotalizer(number=ft.number, date_time=ft.date_time, filepath=ft.filepath, data_dir=ft.data_dir, org_id=self.org_id, name=ft.name) db.session.add(db_ft) db.session.commit() print(db_ft)
def insert_clerks(self): clerks = extract_master_files_data(self.org_dir, DATATYPES_NAMES["clerk_name"]) for clerk in clerks: clerk_duplicate = self.if_duplicate_exists(Clerk, number=clerk.number, org_id=self.org_id) if clerk_duplicate: continue db_clerk = Clerk(number=clerk.number, date_time=clerk.date_time, filepath=clerk.filepath, data_dir=clerk.data_dir, org_id=self.org_id, name=clerk.name) db.session.add(db_clerk) db.session.commit() print(db_clerk)
def insert_free_function(self): free_functions = extract_master_files_data( self.org_dir, DATATYPES_NAMES["free_function"]) for ff in free_functions: ff_duplicate = self.if_duplicate_exists(FreeFunction, number=ff.number, org_id=self.org_id) if ff_duplicate: continue db_ff = FreeFunction(number=ff.number, date_time=ff.date_time, filepath=ff.filepath, data_dir=ff.data_dir, org_id=self.org_id, name=ff.name, function_number=ff.function_number) db.session.add(db_ff) db.session.commit() print(db_ff)
def insert_taxes(self): taxes = extract_master_files_data(self.org_dir, DATATYPES_NAMES["tax_name"]) for tax in taxes: tax_duplicate = self.if_duplicate_exists(Tax, number=tax.number, org_id=self.org_id) if tax_duplicate: continue db_tax = Tax(number=tax.number, date_time=tax.date_time, filepath=tax.filepath, data_dir=tax.data_dir, org_id=self.org_id, name=tax.name, rate=tax.rate) db.session.add(db_tax) db.session.commit() print(db_tax)
def insert_group(self): groups = extract_master_files_data(self.org_dir, DATATYPES_NAMES["group_name"]) for group in groups: group_duplicate = self.if_duplicate_exists(Group, number=group.number, org_id=self.org_id) if group_duplicate: continue db_group = Group( number=group.number, date_time=group.date_time, filepath=group.filepath, data_dir=group.data_dir, org_id=self.org_id, name=group.name, ) db.session.add(db_group) db.session.commit() print(db_group)