示例#1
0
    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)
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
    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)
示例#7
0
    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)
示例#8
0
    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)