# coding=utf-8 from apps.web.user.models import ConsumeRecord from apps.web.dealer.proxy import DealerGroupStats def get_orders(): import datetime from apps.web.dealer.proxy import DealerGroupStats from apps.web.user.models import ConsumeRecord r_orders = list() r_states = set() orders = ConsumeRecord.objects.filter( status="finished" ) for order in orders: # type: ConsumeRecord if order.finishedTime: continue endTime = order.service.deviceEndTime finishedTime = datetime.datetime.strptime(endTime, "%Y-%m-%d %H:%M:%S") date = datetime.datetime( finishedTime.year, finishedTime.month, finishedTime.day ) state = DealerGroupStats.update_group_stats( group=order.group, order=order, date=date ) # type: DealerGroupStats if state: order.link_state(state) order.description = "REPAIRED" order.finishedTime = finishedTime order.save() r_orders.append("{}\n".format(order.orderNo)) r_states.add("{}\n".format(str(state.id))) print "success order = {}".format(order.orderNo) else: print "error order = {}".format(order.orderNo) with open("r_orders.txt", "w") as f1: f1.writelines(r_orders) with open("r_states.txt", "w") as f2: f2.writelines(r_states) def get_states(): from apps.web.dealer.proxy import DealerGroupStats from apps.web.report.ledger import LedgerConsumeOrder orders = ConsumeRecord.objects.filter( description="REPAIRED" ) states = set() for order in orders: states.add(str(order.dailyStats.id)) for stateId in states: state = DealerGroupStats.objects.get(id=stateId) # type: DealerGroupStats if state.date == "2023-08-03": continue if state.is_ledgered: print(stateId) else: LedgerConsumeOrder(state).execute()