コード例 #1
0
    def test_trans(self):
        inv = InventoryMovement()
        inv.from_inv_id = 1
        inv.to_inv_id = 2
        inv.quantity = Decimal(1)
        inv.itemgroup_id = 1
        inv.prod_id = 'AAAA'
        inv.timestamp = datetime(2016, 1, 1)
        inv.type = InvMovementType.SALE

        self.api.save(inv)

        trans = list(self.api.list_transactions(
            1,
            inv.timestamp.date(), inv.timestamp.date()))

        self.assertEquals(1, len(trans))
        self.assertDictEqual(
            json.loads(json_dumps(inv)),
            json.loads(json_dumps(trans[0]))
        )
        current_quantities = self.api.get_current_quantity(1)
        self.api.take_snapshot_to_date(inv.itemgroup_id, inv.timestamp.date())
        self.assertDictEqual(
            current_quantities,
            self.api.get_current_quantity(1))

        inv.timestamp = datetime(2016, 1, 2)
        self.api.save(inv)
        self.assertDictEqual({1: Decimal(-2), 2: Decimal(2)},
                             self.api.get_current_quantity(1))
コード例 #2
0
ファイル: dao.py プロジェクト: qihqi/HenryFACTService
 def make_inv_movement(itemgroupcant):
     inv = InventoryMovement()
     inv.from_inv_id = invmo.meta.origin
     inv.to_inv_id = invmo.meta.dest
     inv.quantity = itemgroupcant.cant
     inv.prod_id = itemgroupcant.itemgroup.prod_id
     inv.itemgroup_id = itemgroupcant.itemgroup.uid
     inv.timestamp = invmo.meta.timestamp
     inv.type = invmo.meta.trans_type
     inv.reference_id = invmo.meta.uid
     return inv