Subversion Repositories SmartDukaan

Rev

Rev 9770 | Rev 9804 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9770 Rev 9791
Line 1111... Line 1111...
1111
    for order in orders:
1111
    for order in orders:
1112
        if not orderCountByItemIdSourceId.has_key(order.lineitems[0].item_id):
1112
        if not orderCountByItemIdSourceId.has_key(order.lineitems[0].item_id):
1113
            orderCountByItemIdSourceId[order.lineitems[0].item_id] = {}
1113
            orderCountByItemIdSourceId[order.lineitems[0].item_id] = {}
1114
            
1114
            
1115
        if orderCountByItemIdSourceId[order.lineitems[0].item_id].has_key(order.source):
1115
        if orderCountByItemIdSourceId[order.lineitems[0].item_id].has_key(order.source):
1116
            orderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = order.source[order.lineitems[0].item_id][order.source] + 1
1116
            orderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = orderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] + 1
1117
        else:
1117
        else:
1118
            orderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = 1
1118
            orderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = 1
1119
        
1119
        
1120
            
1120
            
1121
    for order in rtoOrders:
1121
    for order in rtoOrders:
Line 1128... Line 1128...
1128
            rtoOrderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = 1
1128
            rtoOrderCountByItemIdSourceId[order.lineitems[0].item_id][order.source] = 1
1129
 
1129
 
1130
 
1130
 
1131
    for itemId, status in oosStatusMap.iteritems():
1131
    for itemId, status in oosStatusMap.iteritems():
1132
        total_order_count = 0 
1132
        total_order_count = 0 
1133
        total_rto_count = 0 
1133
        total_rto_count = 0
1134
        for sid in (1,3,6,7,8):
1134
        for sid in (1,3,6,7,8):
1135
            if OOSStatus.query.filter_by(item_id = itemId, date = oosDate, sourceId = sid).first() is None:
1135
            #if OOSStatus.query.filter_by(item_id = itemId, date = oosDate, sourceId = sid).first() is None:
1136
                oosStatus = OOSStatus()
-
 
1137
                oosStatus.item_id = itemId
-
 
1138
                oosStatus.date = oosDate
-
 
1139
                oosStatus.is_oos = status
-
 
1140
                oosStatus.sourceId  = sid
-
 
1141
                order_count = 0
-
 
1142
                rto_count = 0
-
 
1143
                if orderCountByItemIdSourceId.has_key(itemId) and orderCountByItemIdSourceId[itemId].has_key(sid):
-
 
1144
                    order_count = orderCountByItemIdSourceId[itemId][sid]
-
 
1145
                if rtoOrderCountByItemIdSourceId.has_key(itemId) and rtoOrderCountByItemIdSourceId[itemId].has_key(sid):
-
 
1146
                        rto_count = rtoOrderCountByItemIdSourceId[itemId][sid]
-
 
1147
                oosStatus.num_orders = order_count
-
 
1148
                oosStatus.rto_orders = rto_count
-
 
1149
                if status == True and order_count > 0:
-
 
1150
                    status = False
-
 
1151
                total_order_count = total_order_count + order_count
-
 
1152
                total_rto_count = total_rto_count + rto_count
-
 
1153
            else:
-
 
1154
                print "OOS Status already exists for ItemID:"+str(itemId) + " and SourceID " + str(sid) 
-
 
1155
            
-
 
1156
        if OOSStatus.query.filter_by(item_id = itemId, date = oosDate, sourceId = 0).first() is None:
-
 
1157
            oosStatus = OOSStatus()
1136
            oosStatus = OOSStatus()
1158
            oosStatus.item_id = itemId
1137
            oosStatus.item_id = itemId
1159
            oosStatus.date = oosDate
1138
            oosStatus.date = oosDate
1160
            oosStatus.sourceId  = 0
1139
            oosStatus.sourceId  = sid
-
 
1140
            order_count = 0
-
 
1141
            rto_count = 0
-
 
1142
            if orderCountByItemIdSourceId.has_key(itemId) and orderCountByItemIdSourceId[itemId].has_key(sid):
1161
            oosStatus.num_orders = total_order_count
1143
                order_count = orderCountByItemIdSourceId[itemId][sid]
-
 
1144
            if rtoOrderCountByItemIdSourceId.has_key(itemId) and rtoOrderCountByItemIdSourceId[itemId].has_key(sid):
1162
            oosStatus.rto_orders = total_rto_count
1145
                    rto_count = rtoOrderCountByItemIdSourceId[itemId][sid]
1163
            if status == True and total_order_count > 0:
1146
            oosStatus.num_orders = order_count
1164
                status = False
1147
            oosStatus.rto_orders = rto_count
1165
            oosStatus.is_oos = status
1148
            oosStatus.is_oos = status
-
 
1149
            if oosStatus.is_oos and order_count > 0:
-
 
1150
                oosStatus.is_oos = False
-
 
1151
            total_order_count = total_order_count + order_count
-
 
1152
            total_rto_count = total_rto_count + rto_count
1166
        else:
1153
            #else:
1167
            print "OOS Status already exists for ItemID:"+str(itemId) + " and SourceID " + str(sid)
1154
            #    print "OOS Status already exists for ItemID:"+str(itemId) + " and SourceID " + str(sid) 
-
 
1155
            
-
 
1156
        #if OOSStatus.query.filter_by(item_id = itemId, date = oosDate, sourceId = 0).first() is None:
1168
    session.commit()
1157
        oosStatus = OOSStatus()
-
 
1158
        oosStatus.item_id = itemId
-
 
1159
        oosStatus.date = oosDate
-
 
1160
        oosStatus.sourceId  = 0
-
 
1161
        oosStatus.num_orders = total_order_count
-
 
1162
        oosStatus.rto_orders = total_rto_count
-
 
1163
        if orderCountByItemIdSourceId.has_key(itemId) and orderCountByItemIdSourceId[itemId].has_key(1):
-
 
1164
            order_count = orderCountByItemIdSourceId[itemId][sid]
-
 
1165
        oosStatus.is_oos = status
-
 
1166
        if oosStatus.is_oos and order_count > 0:
-
 
1167
            oosStatus.is_oos = False
1169
        
1168
        
-
 
1169
        session.commit()
-
 
1170
        #else:
-
 
1171
        #print "OOS Status already exists for ItemID:"+str(itemId) + " and SourceID " + str(sid)
-
 
1172
    
-
 
1173
                
1170
def get_oos_statuses_for_x_days_for_item(itemId, sourceId, days):
1174
def get_oos_statuses_for_x_days_for_item(itemId, sourceId, days):
1171
    timestamp = datetime.datetime.now()
1175
    timestamp = datetime.datetime.now()
1172
    timestamp = timestamp - datetime.timedelta(days = days)
1176
    timestamp = timestamp - datetime.timedelta(days = days)
1173
    return OOSStatus.query.filter_by(item_id = itemId).filter_by(sourceId = sourceId).filter(OOSStatus.date > timestamp).all()
1177
    return OOSStatus.query.filter_by(item_id = itemId).filter_by(sourceId = sourceId).filter(OOSStatus.date > timestamp).all()
1174
 
1178