def save_send_express(express_param): sql = "INSERT INTO Express (id, customerStoreNumber, expressType, overdueTime, status, storeTime, syncFlag" \ ", version, box_id, mouth_id, storeUserPhoneNumber" \ ", operator_id, groupName,Weight, lastModifiedTime)" \ " VALUES (:id,:customerStoreNumber,:expressType,:overdueTime,:status,:storeTime,:syncFlag," \ ":version,:box_id,:mouth_id,:storeUserPhoneNumber" \ ",:operator_id,:groupName,:Weight,:lastModifiedTime)" ClientDatabase.insert_or_update_database(sql, express_param)
def save_express_for_customer_to_staff(express_param): sql = "INSERT INTO Express (id, expressType, overdueTime, status, StoreTime, SyncFlag" \ ", Version, box_id, mouth_id" \ ", operator_id, storeUser_id,groupName,lastModifiedTime)" \ " VALUES (:id,:expressType,:overdueTime,:status,:storeTime,:syncFlag," \ ":version,:box_id,:mouth_id" \ ",:operator_id,:storeUser_id,:groupName,:lastModifiedTime)" ClientDatabase.insert_or_update_database(sql, express_param)
def init_mouth_type(mouth_type): sql = "SELECT * FROM MouthType WHERE id=:id" result_set = ClientDatabase.get_result_set(sql, mouth_type) if len(result_set) != 0: return sql = "INSERT INTO MouthType (id, defaultUsePrice,defaultOverduePrice, name,deleteFlag)" \ "VALUES (:id,:defaultUsePrice,:defaultOverduePrice,:name,:deleteFlag)" ClientDatabase.insert_or_update_database(sql, mouth_type)
def save_express(express_param): sql = "INSERT INTO Express (id, ExpressNumber, expressType, status, StoreTime, SyncFlag" \ ", ValidateCode, Version, box_id, mouth_id" \ ", operator_id, groupName, lastModifiedTime, payAmount, payType, order_id, takeUser_id)" \ " VALUES (:id,:expressNumber,:expressType,:status,:storeTime,:syncFlag," \ ":validateCode,:version,:box_id,:mouth_id" \ ",:operator_id,:groupName,:lastModifiedTime,:payAmount,:payType,:order_id,:takeUser_id)" ClientDatabase.insert_or_update_database(sql, express_param) print("写入本地数据库成功!")
def init_express(express): sql = "INSERT INTO Express (id, expressNumber, expressType, overdueTime, status, storeTime, syncFlag" \ ", takeUserPhoneNumber, storeUserPhoneNumber, validateCode, version, box_id, " \ "logisticsCompany_id, mouth_id, operator_id, " \ "storeUser_id,groupName,customerStoreNumber, chargeType, continuedHeavy, " \ "continuedPrice, endAddress, startAddress, firstHeavy, firstPrice, designationSize, " \ "electronicCommerce_id, takeUser_id, payAmount, payType, order_id)" \ "VALUES (:id,:expressNumber,:expressType,:overdueTime,:status,:storeTime,:syncFlag,:takeUserPhoneNumber" \ ",:storeUserPhoneNumber,:validateCode,:version,:box_id,:logisticsCompany_id,:mouth_id,:operator_id,:" \ "storeUser_id,:groupName,:customerStoreNumber,:chargeType,:continuedHeavy,:continuedPrice" \ ",:endAddress,:startAddress,:firstHeavy,:firstPrice,:designationSize,:electronicCommerce_id" \ ",:takeUser_id,:payAmount,:payType,:order_id)" ClientDatabase.insert_or_update_database(sql, express)
def init_client(): try: message, status_code = HttpClient.get_message('box/init') if status_code != 200: return message['statusMessage'] ClientDatabase.init_database() box_param = {'id': message['id'], 'name': message['name'], 'orderNo': message['orderNo'], 'validateType': message['validateType'], 'operator_id': message['operator']['id'], 'syncFlag': message['syncFlag'], 'currencyUnit': message['currencyUnit'], "overdueType": message['overdueType'], "freeHours": ClientTools.get_value("freeHours", message), "freeDays": ClientTools.get_value("freeDays", message), "holidayType": ClientTools.get_value("holidayType", message, None), "receiptNo": ClientTools.get_value("receiptNo", message, 0)} CompanyService.init_company(message['operator']) BoxDao.init_box(box_param) cabinets = message['cabinets'] for cabinet in cabinets: BoxDao.init_cabinet(cabinet) mouths = cabinet['mouths'] for m in mouths: __mouth = {'id': m['id'], 'deleteFlag': m['deleteFlag'], 'number': m['number'], 'usePrice': m['usePrice'], 'overduePrice': m['overduePrice'], 'status': m['status'], 'box_id': message['id'], 'cabinet_id': cabinet['id'], 'numberInCabinet': m['numberInCabinet'], 'syncFlag': m['syncFlag'], 'openOrder': ClientTools.get_value("openOrder", m)} if 'express' in m.keys(): __mouth['express_id'] = m['express']['id'] express.service.ExpressService.init_express(m['express'], __mouth, box_param) else: __mouth['express_id'] = None __mouth['mouthType_id'] = m['mouthType']['id'] mouth_type_param = m['mouthType'] mouth_type = {'id': mouth_type_param['id'], 'name': mouth_type_param['name'], 'defaultUsePrice': mouth_type_param['defaultUsePrice'], 'defaultOverduePrice': mouth_type_param['defaultOverduePrice'], 'deleteFlag': mouth_type_param['deleteFlag']} BoxDao.init_mouth_type(mouth_type) BoxDao.init_mouth(__mouth) if "holidays" in message.keys(): holidays = message["holidays"] for holiday in holidays: holiday_param = {'id': holiday['id'], 'startTime': holiday['startTime'], 'endTime': holiday['endTime'], 'delayDay': holiday['delayDays'], 'holidayType': holiday['holidayType']} BoxDao.init_holiday(holiday_param) box_signal_handler.init_client_signal.emit("Success") except Exception as e: logger.error(("init_client ERROR :", e)) box_signal_handler.init_client_signal.emit("ERROR")
def save_customer_express(customer_store_express): sql = "INSERT INTO Express(id, customerStoreNumber, expressType," \ " status, storeTime, syncFlag, version, " \ "box_id, logisticsCompany_id, mouth_id, operator_id, " \ "storeUser_id, recipientName, weight, recipientUserPhoneNumber, chargeType, lastModifiedTime,)" \ "VALUES (:id,:customerStoreNumber,:expressType," \ "'IN_STORE',:storeTime,0,0,:box_id," \ ":logisticsCompany_id,:mouth_id,:operator_id," \ ":storeUser_id,:recipientName,:weight,:recipientUserPhoneNumber, :chargeType, :lastModifiedTime,)" return ClientDatabase.save_customer_express(sql, customer_store_express)
def get_box_by_box_id(box_id): sql = "SELECT * FROM Box WHERE id = :id AND deleteFlag = :deleteFlag" return ClientDatabase.get_result_set(sql, box_id)
def update_download_info_end(param): sql = "UPDATE Download SET status=:status,EndTime=:endTime WHERE id=:id" ClientDatabase.insert_or_update_database(sql, param)
def update_holiday(msg): sql = "UPDATE Holiday SET startTime=:startTime, endTime=:endTime," \ "delayDay=:delayDay,holidayType=:holidayType WHERE id=:id" ClientDatabase.insert_or_update_database(sql, msg)
def get_box_by_order_no(order_no): sql = "SELECT * FROM Box WHERE orderNo = :orderNo AND deleteFlag = :deleteFlag" return ClientDatabase.get_result_set(sql, order_no)
def check_download_by_id(param): sql = "SELECT * FROM Download WHERE id=:id" return ClientDatabase.get_result_set(sql, param)
def get_upgrade_info(param): sql = "SELECT * FROM Download WHERE type=:type and status =:status AND deleteFlag=0" return ClientDatabase.get_result_set(sql, param)
def init_mouth(mouth): sql = "INSERT INTO Mouth(id, deleteFlag, number,usePrice ,overduePrice, status, box_id, cabinet_id, " \ "express_id, mouthType_id,numberInCabinet,syncFlag,openOrder)" \ "VALUES (:id,:deleteFlag,:number,:usePrice,:overduePrice,:status,:box_id,:cabinet_id,:express_id" \ ",:mouthType_id,:numberInCabinet,:syncFlag,:openOrder)" ClientDatabase.insert_or_update_database(sql, mouth)
def get_not_finish_info(param): sql = "SELECT * FROM Download WHERE status!=:status AND type=:type AND flagTime=:flagTime" return ClientDatabase.get_result_set(sql, param)
def init_cabinet(cabinet): sql = "INSERT INTO Cabinet(id, deleteFlag, number)" \ "VALUES (:id,:deleteFlag,:number)" ClientDatabase.insert_or_update_database(sql, cabinet)
def get_mouth(msg): sql = "SELECT * FROM Mouth WHERE express_id = :id" return ClientDatabase.get_result_set(sql, msg)[0]
def update_box(msg): sql = "UPDATE Box SET name=:name, orderNo=:orderNo," \ "validateType=:validateType,currencyUnit=:currencyUnit,overdueType=:overdueType," \ "freeDays=:freeDays,freeHours=:freeHours,holidayType=:holidayType WHERE id=:id" ClientDatabase.insert_or_update_database(sql, msg)
def delete_holiday(param): sql = "UPDATE Holiday SET deleteFlag= 1 WHERE id=:id" ClientDatabase.insert_or_update_database(sql, param)
def get_holiday_by_id(param): sql = "SELECT * FROM Holiday WHERE deleteFlag = 0 AND id = :id" return ClientDatabase.get_result_set(sql, param)
def update_download_info_status(param): sql = "UPDATE Download SET status=:status WHERE id=:id" ClientDatabase.insert_or_update_database(sql, param)
def get_not_sync_mouth_list(param): sql = "SELECT * FROM Mouth WHERE deleteFlag=0 AND syncFlag=:syncFlag" return ClientDatabase.get_result_set(sql, param)
def get_all_download_info(param): sql = "SELECT * FROM Download WHERE status=:status" return ClientDatabase.get_result_set(sql, param)
def free_mouth(mouth): sql = "UPDATE mouth SET express_id = NULL , status = 'ENABLE' " \ "WHERE id = :id" ClientDatabase.insert_or_update_database(sql, mouth)
def get_md5_by_id(param): sql = "SELECT MD5 FROM Download WHERE id=:id" return ClientDatabase.get_result_set(sql, param)
def get_mouth_type(mouth_type_param): sql = "SELECT * FROM MouthType WHERE name = :name AND deleteFlag = 0" return ClientDatabase.get_result_set(sql, mouth_type_param)
def insert_download_info(advertisement): sql = "INSERT INTO Download (id, url, filename, status, position, type, MD5,flagTime,version,initFlag,deleteFlag)" \ "VALUES (:id,:url,:filename,:status,:position, :type,:MD5,:flagTime,:version,:initFlag,:deleteFlag)" ClientDatabase.insert_or_update_database(sql, advertisement)
def get_free_mouth_by_type_enable(mouth_param): sql = "SELECT * FROM Mouth WHERE deleteFlag = :deleteFlag AND status = :status " \ "LIMIT 0,1" return ClientDatabase.get_result_set(sql, mouth_param)
def update_upgrade_info_for_deleteflag(param): sql = "UPDATE Download SET deleteFlag=1 WHERE id=:id" ClientDatabase.insert_or_update_database(sql, param)
def get_free_mouth_by_id(param): sql = "SELECT * FROM Mouth WHERE deleteFlag=0 AND id=:id AND status =:status" return ClientDatabase.get_result_set(sql, param)