def import_sale_detail(self, file_name, widget): bk = xlrd.open_workbook(file_name) try: sh = bk.sheet_by_name("消费列表") except Exception as e: print(e) sh = bk.sheet_by_name("Sheet1") rows = sh.nrows temp = list() title_list = ['检索ID', 'orderNo', 'createdTime', "pcSign", "carId", "carUser", "carPhone", "carModel", "workerName", "project"] user_list = ["carId", "carUser", "carPhone", "carModel"] must_len = len(title_list) title = sh.row_values(1) match_result = self._is_from_export(str(sh.row_values(0)[0])) progress_dialog = QProgressDialog(widget) progress_dialog.setWindowTitle("导入中") from PyQt5.QtCore import Qt progress_dialog.setWindowModality(Qt.WindowModal) progress_dialog.setMinimumDuration(4) progress_dialog.setWindowTitle(widget.tr("请等待")) progress_dialog.setLabelText(widget.tr("导入中...")) progress_dialog.setCancelButtonText(widget.tr("取消")) progress_dialog.setRange(0, rows - 3) progress_dialog.show() if True: p = 0 msg_list = list() for i in range(2, rows): # 用正则表达式判断第一行数据内容,从而判断是否用软件导出的EXCEL文档 if match_result: # 若是用软件导出的则 if progress_dialog.wasCanceled(): break progress_dialog.setValue(p) p += 1 try: # if True: save_data = dict() row_data = sh.row_values(i) if i < rows - 1: temp2 = sh.row_values(i + 1) else: temp2 = None if not temp2 and temp2[0] == '': # 合并了单元格则合并内容是空,将后面不是空的内容进行缓存,合并的内容会在最后一条信息中显示, # 此时一并进行录入 temp.append(row_data) else: # if row_data[0] != '': if temp: order_check_id = temp[0][0] else: order_check_id = row_data[0] check_order = get_sale_info_by_one_key("orderCheckId", order_check_id) # 有此订单的就不保存了 if not check_order: if temp: temp.append(row_data) all_msg = temp[0] # 接入信息后录入 for j in range(len(temp)): if j != 0: msg = temp[j] attribute = {} for ki in range(len(title)): all_msg[ki] = str(all_msg[ki]) msg[ki] = str(msg[ki]) if ki < must_len: temp_key = title_list[ki] if temp_key in ['orderNo', 'carPhone']: all_msg[ki] = all_msg[ki].replace('.0', "") msg[ki] = msg[ki].replace('.0', "") if title_list[ki] in ["project"]: save_data[temp_key] = msg[ki] else: if temp_key == "检索ID": temp_key = "orderCheckId" save_data[temp_key] = all_msg[ki] else: if row_data[ki] == "" or row_data[ki] == "-": continue attribute[title[ki]] = msg[ki] save_data['attribute'] = json.dumps(attribute) save_data['id'] = get_order_id() sale_handler.add_sale_info(save_data) row_data = all_msg attribute = {} user_save = {} for ki in range(len(title)): row_data[ki] = str(row_data[ki]) if ki < must_len: if title_list[ki] in ['orderNo', 'carPhone']: row_data[ki] = row_data[ki].replace('.0', "") key = title_list[ki] if key == "检索ID": key = "orderCheckId" save_data[key] = row_data[ki] # 保存用户信息 if key in user_list: user_save[key] = row_data[ki] else: if row_data[ki] == "" or row_data[ki] == "-": continue attribute[title[ki]] = row_data[ki] user = check_customer(user_save.get("carPhone"), user_save.get("carId")) if not user: # 没有此用户则添加 key = "userName,carPhone,carModel,carId,createdTime" value = "'{}','{}','{}','{}','{}'".format(user_save.get("carUser"), user_save.get("carPhone"), user_save.get("carModel"), user_save.get("carId"), get_now()) try: self.database_handler.InsertData("User", key, value) except Exception as e: print(e) pass save_data['attribute'] = json.dumps(attribute) save_data['id'] = get_order_id() sale_handler.add_sale_info(save_data) # 清空缓存 temp = list() except Exception as e: print(e) continue else: # 若不是用软件导出的EXCEL文档则 # 先整理参数,全部变成列表,列表里面是字典,字典的key就是title try: row_data = sh.row_values(i) temp_data = dict() for k in range(len(title)): temp_data[title[k]] = row_data[k] msg_list.append(temp_data) except Exception as e: print(e) continue if not match_result: save_list = defaultdict(list) for msg in msg_list: if not msg.get("消费时间") or not msg.get("车牌号"): continue key = msg.get("消费时间") + msg.get("车牌号") save_list[key].append(msg) # 插入信息 must = ["订单号", "接待门店", "车牌号", "车主姓名", "联系电话", "车型", "操作人员", "消费项目", "消费时间"] for k, v in save_list.items(): if progress_dialog.wasCanceled(): break progress_dialog.setValue(p) p += 1 order_check_id = get_order_id() # 对同一个订单进行录入 user_save = {} for tempDict in v: order_no = str(tempDict.pop("订单号")) if tempDict.get("订单号", "") != "" else "-" pc_sign = tempDict.pop("接待门店", "") if tempDict.get("接待门店", "") != "" else "-" car_id = tempDict.pop("车牌号") if tempDict.get("车牌号") != "" else "-" car_user = tempDict.pop("车主姓名", "") if tempDict.get("车主姓名", "") != "" else "-" car_phone = str(tempDict.pop("联系电话", "-")).replace(".0", "") if tempDict.get("联系电话", "") != "" else "-" car_model = tempDict.pop("车型", "") if tempDict.get("车型", "") != "" else "-" worker_name = tempDict.pop("操作人员", "") if tempDict.get("操作人员", "") != "" else "-" project = tempDict.pop("消费项目", "") if tempDict.get("消费项目", "") != "" else "-" created_time = str(tempDict.pop("消费时间")).replace(".", "-") # 保存用户信息 user_save["carId"] = car_id if car_id != '-' else "" user_save["carUser"] = car_user if car_user != '-' else "" user_save["carPhone"] = (car_phone if car_phone != '-' else "").replace(".0", "") user_save['carModel'] = car_model if car_model != '-' else "" if order_no != "-": check_order = get_sale_info_by_one_key("orderNo", order_no) if check_order: break save_data = { "orderNo": order_no.replace(".0", ""), "createdTime": created_time, "pcSign": pc_sign, "carId": car_id, "carUser": car_user, "carPhone": car_phone, "carModel": car_model, "workerName": worker_name, "project": project, "orderCheckId": order_check_id, "id": get_order_id(), } temp_attribute = tempDict attribute = dict() for key, value in temp_attribute.items(): if k not in must: if value == "": continue attribute[key] = str(value) try: gsf = float(attribute.get("工时费")) if attribute.get("工时费") != "" else 0 sl = float(attribute.get("数量")) if attribute.get("数量") != "" else 0 dj = float(attribute.get("单价")) if attribute.get("单价") != "" else 0 attribute["总价"] = gsf + sl * dj except Exception as e: print(e) pass save_data["attribute"] = json.dumps(attribute) sale_handler.add_sale_info(save_data) if user_save.get("carId") and user_save.get("carPhone"): # 当有用户信息的时候判断是否需要自动添加 user = check_customer(user_save.get("carPhone"), user_save.get("carId")) if not user: # 没有此用户则添加 key = "userName,carPhone,carModel,carId,createdTime" value = "'{}','{}','{}','{}','{}'".format(user_save.get("carUser"), user_save.get("carPhone"), user_save.get("carModel"), user_save.get("carId"), get_now()) try: self.database_handler.InsertData("User", key, value) except Exception as e: print(e) pass # 最后全部导入 progress_dialog.setValue(rows - 3) progress_dialog.close()
def order(self, keyword, para_data): try: if self.request.method == 'POST': if keyword == "add": today = datetime.now() order_no = get_sale_order_no(today) para_data["orderNo"] = order_no para_data["createdTime"] = today print(keyword) try: car_user = para_data.get("carUser") user_id = para_data.get("userId") worker_id = para_data.get("workerId") pc_id = para_data.get("pcId") car_phone = para_data.get("carPhone") car_model = para_data.get("carModel") car_id = para_data.get("carId") pc_sign = para_data.get("pcSign") worker_name = para_data.get("workerName") order_check_id = get_uuid1() save_data = { 'createdTime': para_data.get("createdTime").strftime( "%Y-%m-%d %H:%M:%S"), 'userId': user_id, 'pcId': pc_id, 'pcSign': pc_sign, 'carId': car_id, 'workerName': worker_name, 'workerId': worker_id, 'carUser': car_user, 'carPhone': car_phone, 'carModel': car_model, "orderNo": order_no, "orderCheckId": order_check_id, 'code': config.get_local_register_code(), } parameter = para_data.get("parameter", []) if type(parameter) == str: parameter = json.loads(parameter) page = 0 for data in parameter: page += 1 order_id = get_uuid1() services = data.get('project') services = services.split('-') first_service_name = services[0] second_service_name = services[1] first_service_id = service_handler.get_service_id_by_name( first_service_name)[0] second_service_id = service_handler.get_service_id_by_name( second_service_name, first_service_id)[0] attributes = data.get('attribute') logger.info(attributes) try: unit = attributes.get('单位', '') unit_price = float(attributes.get('单价', '')) number = int(attributes.get('数量', '')) subtotal = float(attributes.get('小计', '')) total = float(attributes.get('总价', '')) note = attributes.get('备注', '') model = attributes.get('型号', '') brand = attributes.get('品牌', '') except Exception as attribute_deal_error: logger.error(attribute_deal_error) unit = '' unit_price = 0.0 number = 0 subtotal = 0.0 total = 0.0 note = '' model = '' brand = '' temp = { 'project': data.get('project'), 'id': order_id, 'attribute': json.dumps(attributes, ensure_ascii=False), 'serviceId': second_service_id, 'unit': unit, 'unit_price': unit_price, 'number': number, 'subtotal': subtotal, 'total': total, 'note': note } db_transaction_util.begin() logger.info('增加销售数据') logger.info(temp.__str__()) logger.info(save_data.__str__()) sale_id = sale_handler.add_sale_info( dict(temp, **save_data)) service_attributes = service_handler.get_attribute_by_service( second_service_id) all_required_attr = attribute_handler.get_all_required_attributes( ) required_attr_list = [] for attr in all_required_attr: required_attr_list.append(attr[1]) logger.info('增加销售扩展属性') for srv_attr in service_attributes: attr_name = srv_attr[1] if attr_name not in required_attr_list: attr_id = attribute_handler.get_attr_by_name( attr_name)[0] sale_item_handler.add_sale_item( sale_id, attr_id, attributes.get(attr_name, '')) # 库存信息更新 logger.info('更新库存信息') stock_service.refresh_stock_info( sale_id, brand, model, number, unit, second_service_id) # 回访设置 if data.get("callbackTime"): logger.info('增加回访信息') customer_handler.add_return_visit_data( data.get("callbackTime"), car_phone, car_id, car_user, today) db_transaction_util.commit() except Exception as add_error: logger.error(add_error) logger.error('traceback.format_exc():\n{}'.format( traceback.format_exc())) db_transaction_util.rollback() raise ApiException(ErrorCode.ParameterMiss) try: p = "defaultPrinter" # 打印机名称 html, page_height = self.preview_html(para_data, True) logger.info('\n' + html) Printer.printing(p, html, page_height) except: pass return set_return_dicts({"orderNo": order_no}) elif keyword == 'preview': html = self.preview_html(para_data) logger.info('\n' + html) return set_return_dicts(html) else: raise ApiException(ErrorCode.ErrorRequest) elif self.request.method == "GET": if not self.storeId: raise ApiException(ErrorCode.PCError) if keyword == "detail": check_order_id = para_data.get("checkOrderId") if not check_order_id: raise ApiException(ErrorCode.ParameterMiss) if self.connect: result_dict = SocketServer("orderdetail {} {}".format( self.storeId, check_order_id)) else: result = get_sale_info_by_one_key( "orderCheckId", check_order_id) result_list = list() result_dict = {} if result: created_time = '' car_id = '' car_user = '' car_phone = '' car_model = '' total_price = 0 order_no = '' for data in result: attribute = OrderedDict() for attr in sale_item_handler.get_item_info_buy_sale_id( data['sale_id']): attribute[ attr['name']] = attr['attribute_value'] logger.info('销售数据属性调整后的记录:' + attribute.__str__()) created_time = data['createdTime'] car_id = data['carId'] car_user = data['carUser'] car_phone = data['carPhone'] car_model = data['carModel'] price = data['unit_price'] pc_id = data['pcId'] order_no = data['orderNo'] if pc_id: total_price += price attribute['project'] = data['project'] attribute['totalPrice'] = price attribute['orderNo'] = order_no result_list.append(attribute) try: pc_sign = config.get_store_name() except: pc_sign = "" result_dict = { "msg": result_list, "totalPrice": total_price, "createdTime": created_time, "carId": car_id, "carUser": car_user, "carPhone": car_phone, "carModel": car_model, "orderNo": order_no, "checkOrderId": check_order_id, "pcSign": pc_sign, } if result_dict == 'restart': raise ApiException(ErrorCode.ReStartPC) return set_return_dicts(result_dict) else: raise ApiException(ErrorCode.ErrorRequest) except ApiException as e: return set_return_dicts(forWorker=e.error_result['forWorker'], code=e.error_result['errorCode'], forUser=e.error_result['forUser'])
def ImportExcel(fileName, self): # 用于正则判断是否是用软件导出的excel文档 pattern = re.compile(r"^门店系统:\d{4}[-/]\d{2}[/-]\d{2}至\d{4}[-/]\d{2}[/-]\d{2}$") # matchs = pattern.match() bk = xlrd.open_workbook(fileName) try: sh = bk.sheet_by_name("消费列表") except: sh = bk.sheet_by_name("Sheet1") nrows = sh.nrows temp = list() titleList = ['检索ID', 'orderNo', 'createdTime', "pcSign", "carId", "carUser", "carPhone", "carModel", "workerName", "project"] userList = ["carId", "carUser", "carPhone", "carModel"] mustlen = len(titleList) check = str(sh.row_values(0)[0]) matchs = pattern.match(check) title = sh.row_values(1) progress_dialog = QProgressDialog(self) progress_dialog.setWindowTitle("导入中") progress_dialog.setWindowModality(Qt.WindowModal) progress_dialog.setMinimumDuration(4) progress_dialog.setWindowTitle(self.tr("请等待")) progress_dialog.setLabelText(self.tr("导入中...")) progress_dialog.setCancelButtonText(self.tr("取消")) progress_dialog.setRange(0, nrows - 3) progress_dialog.show() if True: p = 0 msgList = list() for i in range(2, nrows): # 用正则表达式判断第一行数据内容,从而判断是否用软件导出的EXCEL文档 if matchs: # 若是用软件导出的则 if progress_dialog.wasCanceled(): break progress_dialog.setValue(p) p += 1 try: # if True: saveData = dict() row_data = sh.row_values(i) if i < nrows - 1: temp2 = sh.row_values(i + 1) else: temp2 = None if temp2 != None and temp2[0] == '': # 合并了单元格则合并内容是空,将后面不是空的内容进行缓存,合并的内容会在最后一条信息中显示, # 此时一并进行录入 temp.append(row_data) else: # if row_data[0] != '': if temp: orderCheckId = temp[0][0] else: orderCheckId = row_data[0] checkOrder = get_sale_info_by_one_key("orderCheckId", orderCheckId) # 有此订单的就不保存了 if not checkOrder: if temp: temp.append(row_data) allMsg = temp[0] # 接入信息后录入 for i in range(len(temp)): if i != 0: msg = temp[i] attribute = {} for ki in range(len(title)): allMsg[ki] = str(allMsg[ki]) msg[ki] = str(msg[ki]) if ki < mustlen: tempK = titleList[ki] if tempK in ['orderNo', 'carPhone']: allMsg[ki] = allMsg[ki].replace('.0', "") msg[ki] = msg[ki].replace('.0', "") if titleList[ki] in ["project"]: saveData[tempK] = msg[ki] else: if tempK == "检索ID": tempK = "orderCheckId" saveData[tempK] = allMsg[ki] else: if row_data[ki] == "" or row_data[ki] == "-": continue attribute[title[ki]] = msg[ki] saveData['attribute'] = json.dumps(attribute) saveData['id'] = get_uuid1() dbhelp.add_sale_info(saveData) row_data = allMsg attribute = {} userSave = {} for ki in range(len(title)): row_data[ki] = str(row_data[ki]) if ki < mustlen: if titleList[ki] in ['orderNo', 'carPhone']: row_data[ki] = row_data[ki].replace('.0', "") key = titleList[ki] if key == "检索ID": key = "orderCheckId" saveData[key] = row_data[ki] # 保存用户信息 if key in userList: userSave[key] = row_data[ki] else: if row_data[ki] == "" or row_data[ki] == "-": continue attribute[title[ki]] = row_data[ki] user = check_customer(userSave.get("carPhone"), userSave.get("carId")) if not user: # 没有此用户则添加 key = "userName,carPhone,carModel,carId,createdTime" value = "'{}','{}','{}','{}','{}'".format(userSave.get("carUser"), userSave.get("carPhone"), userSave.get("carModel"), userSave.get("carId"), get_now()) try: # pass dbhelp.InsertData("User", key, value) except: pass saveData['attribute'] = json.dumps(attribute) saveData['id'] = get_uuid1() sale_handler.add_sale_info(saveData) # 清空缓存 temp = list() # if i == nrows - 1: # 此时是最后一组,则要进行录入 # else: # #合并了单元格则合并内容是空,将后面不是空的内容进行缓存,合并的内容会在最后一条信息中显示,此时一并进行录入 # temp.append(row_data) except: continue else: # 若不是用软件导出的EXCEL文档则 # for i in range(2,nrows): # 先整理参数,全部变成列表,列表里面是字典,字典的key就是title try: row_data = sh.row_values(i) tempData = dict() for k in range(len(title)): tempData[title[k]] = row_data[k] msgList.append(tempData) except: continue if not matchs: saveList = defaultdict(list) for msg in msgList: if not msg.get("消费时间") or not msg.get("车牌号"): continue key = msg.get("消费时间") + msg.get("车牌号") saveList[key].append(msg) # 插入信息 must = ["订单号", "接待门店", "车牌号", "车主姓名", "联系电话", "车型", "操作人员", "消费项目", "消费时间"] for k, v in saveList.items(): if progress_dialog.wasCanceled(): break progress_dialog.setValue(p) p += 1 orderCheckId = get_uuid1() # 对同一个订单进行录入 userSave = {} for tempDict in v: orderNo = str(tempDict.pop("订单号")) if tempDict.get("订单号", "") != "" else "-" pcSign = tempDict.pop("接待门店", "") if tempDict.get("接待门店", "") != "" else "-" carId = tempDict.pop("车牌号") if tempDict.get("车牌号") != "" else "-" carUser = tempDict.pop("车主姓名", "") if tempDict.get("车主姓名", "") != "" else "-" carPhone = str(tempDict.pop("联系电话", "-")).replace(".0", "") if tempDict.get("联系电话", "") != "" else "-" carModel = tempDict.pop("车型", "") if tempDict.get("车型", "") != "" else "-" workerName = tempDict.pop("操作人员", "") if tempDict.get("操作人员", "") != "" else "-" project = tempDict.pop("消费项目", "") if tempDict.get("消费项目", "") != "" else "-" createdTime = str(tempDict.pop("消费时间")).replace(".", "-") # 保存用户信息 userSave["carId"] = carId if carId != '-' else "" userSave["carUser"] = carUser if carUser != '-' else "" userSave["carPhone"] = (carPhone if carPhone != '-' else "").replace(".0", "") userSave['carModel'] = carModel if carModel != '-' else "" if orderNo != "-": checkOrder = get_sale_info_by_one_key("orderNo", orderNo) if checkOrder: break saveData = { "orderNo": orderNo.replace(".0", ""), "createdTime": createdTime, "pcSign": pcSign, "carId": carId, "carUser": carUser, "carPhone": carPhone, "carModel": carModel, "workerName": workerName, "project": project, "orderCheckId": orderCheckId, "id": get_uuid1(), } tempAttribute = tempDict attribute = dict() for k, v in tempAttribute.items(): if k not in must: if v == "": # v = '-' continue attribute[k] = str(v) try: gsf = float(attribute.get("工时费")) if attribute.get("工时费") != "" else 0 sl = float(attribute.get("数量")) if attribute.get("数量") != "" else 0 dj = float(attribute.get("单价")) if attribute.get("单价") != "" else 0 attribute["总价"] = gsf + sl * dj except: pass saveData["attribute"] = json.dumps(attribute) dbhelp.add_sale_info(saveData) if userSave.get("carId") and userSave.get("carPhone"): # 当有用户信息的时候判断是否需要自动添加 user = check_customer(userSave.get("carPhone"), userSave.get("carId")) if not user: # 没有此用户则添加 key = "userName,carPhone,carModel,carId,createdTime" value = "'{}','{}','{}','{}','{}'".format(userSave.get("carUser"), userSave.get("carPhone"), userSave.get("carModel"), userSave.get("carId"), get_now()) try: # pass dbhelp.InsertData("User", key, value) except: pass # 最后全部导入 progress_dialog.setValue(nrows - 3) progress_dialog.close()
def ApiOrder(self, keyWord, getData): try: if self.request.method == 'POST': if keyWord == "add": today = datetime.now() orderNo = get_sale_order_no(today) getData["orderNo"] = orderNo getData["createdTime"] = today print(keyWord) try: # if True: carUser = getData.get("carUser") userId = getData.get("userId") workerId = getData.get("workerId") pcId = getData.get("pcId") carPhone = getData.get("carPhone") carModel = getData.get("carModel") carId = getData.get("carId") pc_sign = getData.get("pcSign") workerName = getData.get("workerName") root = 'config.ini' basicMsg = configparser.ConfigParser() basicMsg.read(root) orderCheckId = get_order_id() saveData = { 'createdTime': getData.get("createdTime").strftime( "%Y-%m-%d %H:%M:%S"), 'userId': userId, 'pcId': pcId, 'pcSign': pc_sign, 'carId': carId, 'workerName': workerName, 'workerId': workerId, 'carUser': carUser, 'carPhone': carPhone, 'carModel': carModel, "orderNo": orderNo, "orderCheckId": orderCheckId, 'code': basicMsg.get("msg", "code"), } parameter = getData.get("parameter", []) if type(parameter) == str: parameter = json.loads(parameter) page = 0 for data in parameter: page += 1 order_id = get_order_id() services = data.get('project') services = services.split('-') first_service_name = services[0] second_service_name = services[1] first_service_id = service_handler.get_service_id_by_name( first_service_name)[0] second_service_id = service_handler.get_service_id_by_name( second_service_name, first_service_id)[0] attributes = data.get('attribute') print(attributes) try: unit = attributes.get('单位', '') unit_price = float(attributes.pop('单价', '')) number = int(attributes.get('数量', '')) subtotal = float(attributes.get('小计', '')) total = float(attributes.get('总价', '')) note = attributes.get('备注', '') except Exception as attribute_deal_error: print(attribute_deal_error) unit = '' unit_price = 0.0 number = 0 subtotal = 0.0 total = 0.0 note = '' temp = { 'project': data.get('project'), 'id': order_id, 'attribute': json.dumps(data.get('attribute')), 'serviceId': second_service_id, 'unit': unit, 'unit_price': unit_price, 'number': number, 'subtotal': subtotal, 'total': total, 'note': note } sale_id = sale_handler.add_sale_info( dict(temp, **saveData)) service_attrs = service_handler.get_attribute_by_service( second_service_id) print(service_attrs) all_required_attr = attribute_handler.get_all_required_attributes( ) required_attr_list = [] for attr in all_required_attr: required_attr_list.append(attr[1]) for srv_attr in service_attrs: attr_name = srv_attr[1] if attr_name not in required_attr_list: attr_id = attribute_handler.get_attr_by_name( attr_name)[0] sale_item_handler.add_sale_item( order_id, attr_id, attributes.get(attr_name, '')) # 回访设置 if data.get("callbackTime"): dbname = "CallBack" key = "{},{},{},{},{},{}".format( "callbackTime", "phone", 'carId', "username", 'createdTime', 'state') value = "\'{}\',\'{}\',\'{}\',\'{}\',\'{}\',\'{}\'".format( data.get("callbackTime"), carPhone, carId, carUser, today, '0') self.dbhelp.InsertData(dbname, key, value) customer_handler.add_return_visit_data( data.get("callbackTime"), carPhone, carId, carUser, today) except Exception as add_error: print(add_error) raise ApiException(ErrorCode.ParameterMiss) try: # if True: # 打印 p = "defaultPrinter" # 打印机名称 html, pageHeight = self.preview_html(getData, True) Printer.printing(p, html, pageHeight) except: # raise ApiException(ErrorCode.PrinterError) pass return set_return_dicts({"orderNo": orderNo}) elif keyWord == 'preview': print('preview') html = self.preview_html(getData) print(html) return set_return_dicts(html) else: raise ApiException(ErrorCode.ErrorRequest) elif self.request.method == "GET": if not self.storeId: raise ApiException(ErrorCode.PCError) if keyWord == "detail": checkOrderId = getData.get("checkOrderId") if not checkOrderId: raise ApiException(ErrorCode.ParameterMiss) if self.connect: result_dict = SocketServer("orderdetail {} {}".format( self.storeId, checkOrderId)) else: result = get_sale_info_by_one_key( "orderCheckId", checkOrderId) resultList = list() result_dict = {} if result: createdTime = '' carId = '' carUser = '' carPhone = '' carModel = '' totalPrice = 0 pcId = '' orderNo = '' for data in result: attribute = OrderedDict(json.loads(data[8])) createdTime = data[0] carId = data[2] carUser = data[3] carPhone = data[4] carModel = data[5] price = data[16] pcId = data[9] orderNo = data[1] if pcId: totalPrice += price attribute['project'] = data[7] attribute['totalPrice'] = price attribute['orderNo'] = orderNo resultList.append(attribute) try: pc_sign = config.get_store_name() except: pc_sign = "" result_dict = { "msg": resultList, "totalPrice": totalPrice, "createdTime": createdTime, "carId": carId, "carUser": carUser, "carPhone": carPhone, "carModel": carModel, "orderNo": orderNo, "checkOrderId": checkOrderId, "pcSign": pc_sign, } if result_dict == 'restart': raise ApiException(ErrorCode.ReStartPC) # resultDict = {} return set_return_dicts(result_dict) else: raise ApiException(ErrorCode.ErrorRequest) except ApiException as e: return set_return_dicts(forWorker=e.error_result['forWorker'], code=e.error_result['errorCode'], forUser=e.error_result['forUser'])