update siminfo
This commit is contained in:
+15
-9
@@ -18,6 +18,8 @@ MAIL_COLLECTION_NAME = "mail_list"
|
|||||||
SIM_INFOS = "sim_infos"
|
SIM_INFOS = "sim_infos"
|
||||||
TIMEOUT = "timeout_items"
|
TIMEOUT = "timeout_items"
|
||||||
|
|
||||||
|
excel_reader = ExcelHelper()
|
||||||
|
|
||||||
|
|
||||||
class DataManager:
|
class DataManager:
|
||||||
batch_size = 20
|
batch_size = 20
|
||||||
@@ -26,11 +28,7 @@ class DataManager:
|
|||||||
cred = credentials.Certificate(definitions.ROOT_DIR + "/appointment.json")
|
cred = credentials.Certificate(definitions.ROOT_DIR + "/appointment.json")
|
||||||
self._app = firebase_admin.initialize_app(cred)
|
self._app = firebase_admin.initialize_app(cred)
|
||||||
self._db = firestore.client()
|
self._db = firestore.client()
|
||||||
contact_collection = self._db.collection(CONTACT_COLLECTION_NAME)
|
self._contact_list = excel_reader.read_contacts()
|
||||||
self._contact_list = []
|
|
||||||
for contact in contact_collection.stream():
|
|
||||||
contact_pojo = ContactPojo.from_firestore_dict(contact.to_dict())
|
|
||||||
self._contact_list.append(contact_pojo)
|
|
||||||
|
|
||||||
def get_all_error_items(self):
|
def get_all_error_items(self):
|
||||||
pass
|
pass
|
||||||
@@ -49,7 +47,8 @@ class DataManager:
|
|||||||
def save_sim_info(self, simInfoPojo: SimInfoPojo):
|
def save_sim_info(self, simInfoPojo: SimInfoPojo):
|
||||||
doc_ref = self._db.collection(SIM_INFOS).document(simInfoPojo.phone)
|
doc_ref = self._db.collection(SIM_INFOS).document(simInfoPojo.phone)
|
||||||
doc_ref.set(simInfoPojo.to_firestore_dict())
|
doc_ref.set(simInfoPojo.to_firestore_dict())
|
||||||
contact_found = [contact for contact in self._contact_list if contact.position == simInfoPojo.position]
|
contact_found = [contact for contact in self._contact_list if
|
||||||
|
contact.ccid.replace("F", "") == simInfoPojo.ccid.replace("F", "")]
|
||||||
if len(contact_found) > 0:
|
if len(contact_found) > 0:
|
||||||
# link the phone number with contact
|
# link the phone number with contact
|
||||||
contact = contact_found[0]
|
contact = contact_found[0]
|
||||||
@@ -96,10 +95,15 @@ class DataManager:
|
|||||||
def save_to_excel(self):
|
def save_to_excel(self):
|
||||||
# Start from the first cell. Rows and columns are zero indexed.
|
# Start from the first cell. Rows and columns are zero indexed.
|
||||||
sim_info_list = []
|
sim_info_list = []
|
||||||
|
|
||||||
for sim in self.get_all_sim_infos().stream():
|
for sim in self.get_all_sim_infos().stream():
|
||||||
print(sim)
|
print(sim)
|
||||||
sim_pojo = SimInfoPojo.from_firestore_dict(sim.to_dict())
|
sim_pojo = SimInfoPojo.from_firestore_dict(sim.to_dict())
|
||||||
|
contact_list_found = [contact for contact in self._contact_list if
|
||||||
|
contact.ccid.replace("F", "") == sim_pojo.ccid.replace("F", "")]
|
||||||
|
if len(contact_list_found) > 0:
|
||||||
|
sim_pojo.email = contact_list_found[0].mail
|
||||||
|
sim_pojo.name = contact_list_found[0].first_name + " " + contact_list_found[0].last_name
|
||||||
|
sim_pojo.passport = contact_list_found[0].passport
|
||||||
sim_info_list.append(sim_pojo)
|
sim_info_list.append(sim_pojo)
|
||||||
row = 0
|
row = 0
|
||||||
col = 0
|
col = 0
|
||||||
@@ -113,8 +117,10 @@ class DataManager:
|
|||||||
else:
|
else:
|
||||||
worksheet.write(row, col, info.phone)
|
worksheet.write(row, col, info.phone)
|
||||||
worksheet.write(row, col + 1, info.ccid)
|
worksheet.write(row, col + 1, info.ccid)
|
||||||
worksheet.write(row, col + 2, info.operator)
|
worksheet.write(row, col + 2, info.name)
|
||||||
worksheet.write(row, col + 3, info.position)
|
worksheet.write(row, col + 3, info.passport)
|
||||||
|
worksheet.write(row, col + 4, info.email)
|
||||||
|
worksheet.write(row, col + 5, info.position)
|
||||||
row += 1
|
row += 1
|
||||||
workbook.close()
|
workbook.close()
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ class SimInfoPojo:
|
|||||||
operator: str
|
operator: str
|
||||||
slot_position: str
|
slot_position: str
|
||||||
sim_position: str
|
sim_position: str
|
||||||
|
name: str
|
||||||
|
passport: str
|
||||||
|
email: str
|
||||||
|
|
||||||
def __init__(self, phone: str, ccid: str, position, operator: str, slot_position, sim_position,
|
def __init__(self, phone: str, ccid: str, position, operator: str, slot_position, sim_position,
|
||||||
update_at: int = int(time.time())):
|
update_at: int = int(time.time())):
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ class ExcelHelper:
|
|||||||
return user_agents
|
return user_agents
|
||||||
|
|
||||||
def read_contacts(self) -> list:
|
def read_contacts(self) -> list:
|
||||||
contact_list_in_json = pandas.read_excel(r'./contact.xlsx').to_json(orient='records')
|
contact_list_in_json = pandas.read_excel(definitions.ROOT_DIR + "/contact.xlsx").to_json(orient='records')
|
||||||
contact_dict_list = json.loads(contact_list_in_json)
|
contact_dict_list = json.loads(contact_list_in_json)
|
||||||
contact_list = []
|
contact_list = []
|
||||||
for contact_dict in contact_dict_list:
|
for contact_dict in contact_dict_list:
|
||||||
|
|||||||
Reference in New Issue
Block a user