Subversion Repositories SmartDukaan

Rev

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

Rev 12357 Rev 12360
Line 48... Line 48...
48
    
48
    
49
    updateTime = datetime.datetime.now()
49
    updateTime = datetime.datetime.now()
50
    
50
    
51
    for itemId in Weighted_Cal_ItemIds:
51
    for itemId in Weighted_Cal_ItemIds:
52
        sql = "SELECT Z.itemId, Z.purchaseId, Z.purchaseDate, sum(Z.quantity) as quantity, Z.unitPrice, Z.nlc, Z.nlcP, Z.vatDiff, Z.taxType  FROM (SELECT X.itemId, X.purchaseId, X.purchaseDate, X.quantity, X.unitPrice, X.nlc, X.nlcP, X.vatDiff, X.inventoryItemId, X.scanTime, X.taxType FROM (SELECT i.itemId as itemId, i.purchaseId as purchaseId, p.receivedOn as purchaseDate, s.quantity as quantity, l.unitPrice as unitPrice, l.nlc as nlc, l.nlcP as nlcP, l.vatDiff as vatDiff, i.id as inventoryItemId, s.scannedAt as scanTime, CASE po.taxType  WHEN 0 THEN 'VAT' WHEN 1 THEN 'CST' WHEN 2 THEN 'CFORM' END as taxType FROM scanNew s JOIN inventoryItem i on s.inventoryItemId= i.id JOIN transferLot t on (s.transferLotId= t.id) JOIN purchase p on p.id= i.purchaseId JOIN purchaseorder po on p.purchaseOrder_id = po.id JOIN lineitem l on (l.purchaseOrder_id= p.purchaseOrder_id and l.itemId= i.itemId) WHERE i.itemId =%d and t.destinationWarehouseId in (16, 1771) AND t.status in ('TRANSFER_COMPLETE','IN_TRANSIT','PARTIAL_TRANSFER') AND i.transferStatus is not null AND s.type='WAREHOUSE_TRANSFER_OUT' group by i.itemId, s.transferLotId, i.purchaseId, i.id order by s.scannedAt desc) as X group by X.inventoryItemId UNION SELECT Y.itemId, Y.purchaseId, Y.purchaseDate, Y.quantity, Y.unitPrice, Y.nlc, Y.nlcP, Y.vatDiff, Y.inventoryItemId, Y.scanTime, Y.taxType FROM (SELECT i.itemId as itemId, i.purchaseId as purchaseId, p.receivedOn as purchaseDate, s.quantity as quantity, l.unitPrice as unitPrice, l.nlc as nlc, l.nlcP as nlcP, l.vatDiff as vatDiff, i.id as inventoryItemId, s.scannedAt as scanTime, CASE po.taxType  WHEN 0 THEN 'VAT' WHEN 1 THEN 'CST' WHEN 2 THEN 'CFORM' END as taxType  FROM scanNew s JOIN inventoryItem i on s.inventoryItemId = i.id JOIN purchase p on p.id= i.purchaseId JOIN purchaseorder po on p.purchaseOrder_id = po.id JOIN lineitem l on (l.purchaseOrder_id= p.purchaseOrder_id and l.itemId= i.itemId) WHERE i.itemId =%d and po.warehouseId in (16, 1771) group by i.itemId, i.purchaseId, i.id order by s.scannedAt desc) as Y group by Y.inventoryItemId) as Z group by Z.itemId, Z.purchaseId order by Z.purchaseId desc"%(itemId,itemId)
52
        sql = "SELECT Z.itemId, Z.purchaseId, Z.purchaseDate, sum(Z.quantity) as quantity, Z.unitPrice, Z.nlc, Z.nlcP, Z.vatDiff, Z.taxType  FROM (SELECT X.itemId, X.purchaseId, X.purchaseDate, X.quantity, X.unitPrice, X.nlc, X.nlcP, X.vatDiff, X.inventoryItemId, X.scanTime, X.taxType FROM (SELECT i.itemId as itemId, i.purchaseId as purchaseId, p.receivedOn as purchaseDate, s.quantity as quantity, l.unitPrice as unitPrice, l.nlc as nlc, l.nlcP as nlcP, l.vatDiff as vatDiff, i.id as inventoryItemId, s.scannedAt as scanTime, CASE po.taxType  WHEN 0 THEN 'VAT' WHEN 1 THEN 'CST' WHEN 2 THEN 'CFORM' END as taxType FROM scanNew s JOIN inventoryItem i on s.inventoryItemId= i.id JOIN transferLot t on (s.transferLotId= t.id) JOIN purchase p on p.id= i.purchaseId JOIN purchaseorder po on p.purchaseOrder_id = po.id JOIN lineitem l on (l.purchaseOrder_id= p.purchaseOrder_id and l.itemId= i.itemId) WHERE i.itemId =%d and t.destinationWarehouseId in (16, 1771) AND t.status in ('TRANSFER_COMPLETE','IN_TRANSIT','PARTIAL_TRANSFER') AND i.transferStatus is not null AND s.type='WAREHOUSE_TRANSFER_OUT' group by i.itemId, s.transferLotId, i.purchaseId, i.id order by s.scannedAt desc) as X group by X.inventoryItemId UNION SELECT Y.itemId, Y.purchaseId, Y.purchaseDate, Y.quantity, Y.unitPrice, Y.nlc, Y.nlcP, Y.vatDiff, Y.inventoryItemId, Y.scanTime, Y.taxType FROM (SELECT i.itemId as itemId, i.purchaseId as purchaseId, p.receivedOn as purchaseDate, s.quantity as quantity, l.unitPrice as unitPrice, l.nlc as nlc, l.nlcP as nlcP, l.vatDiff as vatDiff, i.id as inventoryItemId, s.scannedAt as scanTime, CASE po.taxType  WHEN 0 THEN 'VAT' WHEN 1 THEN 'CST' WHEN 2 THEN 'CFORM' END as taxType  FROM scanNew s JOIN inventoryItem i on s.inventoryItemId = i.id JOIN purchase p on p.id= i.purchaseId JOIN purchaseorder po on p.purchaseOrder_id = po.id JOIN lineitem l on (l.purchaseOrder_id= p.purchaseOrder_id and l.itemId= i.itemId) WHERE i.itemId =%d and po.warehouseId in (16, 1771) group by i.itemId, i.purchaseId, i.id order by s.scannedAt desc) as Y group by Y.inventoryItemId) as Z group by Z.itemId, Z.purchaseId order by Z.purchaseId desc"%(itemId,itemId)
53
        print sql
-
 
-
 
53
 
54
        cursor.execute(sql)
54
        cursor.execute(sql)
55
        result_data = cursor.fetchall()
55
        result_data = cursor.fetchall()
56
        availability = int(Amazon_Fba_Inventory_Map.get(itemId))
56
        availability = int(Amazon_Fba_Inventory_Map.get(itemId))
57
        stockQuantity = availability
57
        stockQuantity = availability
58
        grnDetail = "{"
58
        grnDetail = "{"
59
        weightedNlc = 0.0
59
        weightedNlc = 0.0
60
        
60
        
61
        print "Result Data: ", result_data
-
 
62
        print "availability : ", availability 
-
 
63
        
-
 
64
        if result_data:
61
        if result_data:
65
            for record_data in result_data:
62
            for record_data in result_data:
66
                print record_data[6]
63
                print record_data[6]
67
                if record_data[6] is not None:
64
                if record_data[6] is not None:
68
                    if availability == int(record_data[3]):
65
                    if availability == int(record_data[3]):
69
                        grnDetail = grnDetail + str(int(record_data[1])) +" : " + str(int(record_data[3]))
66
                        grnDetail = grnDetail + "\'"+ str(int(record_data[1])) + "\'"+" : { \'TP\' : " + "\'"+ str(float(record_data[4]))+ "\'" + ", \'NLC\' : "+  "\'"+str(float(record_data[5]))+ "\'" +", \'NLCP\' : "+ "\'"+str(float(record_data[6])) + "\'"+", \'VAT_DIFF\' : " + "\'"+str(float(record_data[7])) + "\'" + ", \'QTY\' : "+ "\'"+str(int(record_data[3]))+ "\'" + " }"
70
                        weightedNlc = weightedNlc + float(record_data[6]) * float(record_data[3])
67
                        weightedNlc = weightedNlc + float(record_data[6]) * float(record_data[3])
71
                        break
68
                        break
72
                        
69
                        
73
                    if availability > int(record_data[3]):
70
                    if availability > int(record_data[3]):
74
                        availability = availability - int(record_data[3])
71
                        availability = availability - int(record_data[3])
75
                        grnDetail = grnDetail + str(int(record_data[1])) +" : " + str(int(record_data[3])) +", "
72
                        grnDetail = grnDetail + "\'"+ str(int(record_data[1])) + "\'"+" : { \'TP\' : " + "\'"+ str(float(record_data[4]))+ "\'" + ", \'NLC\' : "+  "\'"+str(float(record_data[5]))+ "\'" +", \'NLCP\' : "+ "\'"+str(float(record_data[6])) + "\'"+", \'VAT_DIFF\' : " + "\'"+str(float(record_data[7])) + "\'" + ", \'QTY\' : "+ "\'"+str(int(record_data[3]))+ "\'" + " }"+", "
76
                        weightedNlc = weightedNlc + float(record_data[6]) * float(record_data[3])
73
                        weightedNlc = weightedNlc + float(record_data[6]) * float(record_data[3])
77
                        continue
74
                        continue
78
                        
75
                        
79
                    if availability < int(record_data[3]):
76
                    if availability < int(record_data[3]):
80
                        grnDetail = grnDetail + str(int(record_data[1])) +" : " + str(availability) 
77
                        grnDetail = grnDetail + "\'"+ str(int(record_data[1])) + "\'"+" : { \'TP\' : " + "\'"+ str(float(record_data[4]))+ "\'" + ", \'NLC\' : "+  "\'"+str(float(record_data[5]))+ "\'" +", \'NLCP\' : "+ "\'"+str(float(record_data[6])) + "\'"+", \'VAT_DIFF\' : " + "\'"+str(float(record_data[7])) + "\'" + ", \'QTY\' : "+ "\'"+str(int(availability))+ "\'" + " }"
81
                        weightedNlc = weightedNlc + float(record_data[6]) * float(availability)
78
                        weightedNlc = weightedNlc + float(record_data[6]) * float(availability)
82
                        break
79
                        break
83
                else:
80
                else:
84
                    continue
81
                    continue
85
                
82