def Arrange(self): '''包裹整理''' self.MergePackage()#先合并所有的物品 itemsList = [item['itemComponent'] for item in self._items] self._items = [] itemsList.sort(cmp=None, key=lambda d: d.baseInfo.getItemTemplateId()) for position in range(len(itemsList)): itemRecord = {} itemRecord['position'] = position itemRecord['itemComponent'] = itemsList[position] db_package.moveItem(self._packageType,itemsList[position],position) self._items.append(itemRecord)
def transpositionItems(self,position,toposition): '''交换物品的位置''' tag = 0 fromItem = self.getItemByPosition(position) toItem = self.getItemByPosition(toposition) for item in self._items: if position == item['position']: item['itemComponent']=toItem tag += 1 elif toposition ==item['position']: item['itemComponent']=fromItem tag += 1 if tag==2: break db_package.moveItem(self._packageType,fromItem,toposition) db_package.moveItem(self._packageType,toItem,position)
def moveItemByPosition(self,fromPosition,toPosition): '''移动包裹中的物品''' result = False for fromItem in self._items: if fromPosition == fromItem['position']: fromItem['position']=toPosition result = db_package.moveItem(self._packageType,fromItem['itemComponent'],toPosition) return result return result