def get_part_price(self, args): """ 根据各种条件来生成icgoo的最终报价列表 """ pc = PriceCalc(supplier=self.supplier, partno=self.partno, mfr=self.mfr, slug=self.slug) # 将获取的原始数据集进行利润率的计算(供应商有的是用原始价跟定价规则来算,有的则是用进价跟定价规则来算) p_new = pc.get_best_price_list(args["p_new"], args["purchases_new"]) part_price = [] if p_new: for price_break, price in p_new: rmb_hk = pc.calc_unit_price(1, price, 1) us_hk = pc.calc_unit_price(2, price, 1) hk_hk = pc.calc_unit_price(3, price, 1) rmb_dl = pc.calc_unit_price(4, price, args["category_tax"]) part_price.append((price_break, us_hk, rmb_hk, hk_hk, rmb_dl)) if part_price: # 合并part_price temp_qty = 0 temp_price = 0 count = 0 remove_list = [] for i in part_price: if count == 0: temp_qty = i[0] temp_price = i[1] count += 1 continue # 数量不一样,但价格是一样的段,取最小数量那段 if temp_price == i[1] and temp_qty <= i[0]: remove_list.append(i) # 数量一样,但价格不一样的段,取最小价格那段 if temp_qty == i[0] and temp_price <= i[1]: remove_list.append(i) for i in remove_list: part_price.remove(i) return part_price