예제 #1
0
    def test_should_get_ro_sync_start_date(self):
        self.successful_so.sync_date = self.date_2015_12_03
        self.successful_so.save()
        self.successful_po.sync_date = self.date_2015_12_15
        self.successful_po.save()
        self.successful_ro.sync_date = self.date_2015_12_31
        self.successful_ro.save()

        self.assertEqual(VisionSyncInfo.get_sync_start_date('RO'), self.date_2015_12_03_str)

        self.successful_so.sync_date = self.date_2015_12_15
        self.successful_so.save()
        self.successful_po.sync_date = self.date_2015_12_03
        self.successful_po.save()
        self.successful_ro.sync_date = self.date_2015_12_31
        self.successful_ro.save()

        self.assertEqual(VisionSyncInfo.get_sync_start_date('RO'), self.date_2015_12_03_str)

        self.successful_so.sync_date = self.date_2015_12_15
        self.successful_so.save()
        self.successful_po.sync_date = self.date_2015_12_03
        self.successful_po.save()
        self.successful_ro.delete()

        self.assertEqual(VisionSyncInfo.get_sync_start_date('RO'), self.date_2015_12_03_str)
예제 #2
0
def _sync_orders(sync_record, start_date='', end_date=''):
    order_synchronizers = ({'SO': SalesOrderSynchronizer},
                           {'PO': PurchaseOrderSynchronizer},
                           {'RO': ReleaseOrderSynchronizer})

    for synchronizer_dict in order_synchronizers:
        key = synchronizer_dict.keys()[0]
        synchronizer = synchronizer_dict.values()[0]
        try:
            if not start_date:
                start_date = VisionSyncInfo.get_sync_start_date(key)
            synchronizer(start_date, end_date).sync()
            sync_record.set_sync_status_success(key)
            logger.info("%s sync successfully" % key)
        except VisionException, e:
            sync_record.set_sync_status_failure(key)
            logger.error("%s sync failed, Reason:%s" % (key, e.message))