Subversion Repositories SmartDukaan

Rev

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

Rev 5198 Rev 5208
Line 735... Line 735...
735
					List<Order> l = new LinkedList<Order>();
735
					List<Order> l = new LinkedList<Order>();
736
					l.add(order);
736
					l.add(order);
737
					mapAllOrders.put(order.getOriginalOrderId(), l);
737
					mapAllOrders.put(order.getOriginalOrderId(), l);
738
				}
738
				}
739
			}
739
			}
740
			logger.info("Unpaid Order count in Map: " + mapAllOrders.size());
740
			logger.info("Unpaid Order count in Map: " + mapAllOrders.keySet().size());
741
			
741
			
742
	    	int pmtSettlementFoundNull = 0;
-
 
743
	    	int pmtSettlementFound = 0;
-
 
744
	    	
-
 
745
			for (long originalOrderId: mapAllOrders.keySet())	{
742
			for (long originalOrderId: mapAllOrders.keySet())	{
746
				List <Order> orders = mapAllOrders.get(originalOrderId);
743
				List <Order> orders = mapAllOrders.get(originalOrderId);
747
				
744
				
748
				try {
745
				try {
749
					PaymentSettlement pmtSettlement = null;
746
					PaymentSettlement pmtSettlement = null;
Line 755... Line 752...
755
							pmtSettlement = transactionClient.getSettlementForReferenceId(order.getId(), false);
752
							pmtSettlement = transactionClient.getSettlementForReferenceId(order.getId(), false);
756
							
753
							
757
							if(pmtSettlement.getReferenceId() > 0)	{
754
							if(pmtSettlement.getReferenceId() > 0)	{
758
								settledOrderId = order.getId();
755
								settledOrderId = order.getId();
759
								paymentSettlementsMap.put(order.getId(), pmtSettlement);
756
								paymentSettlementsMap.put(order.getId(), pmtSettlement);
760
							} else	{
-
 
761
								pmtSettlementFoundNull ++;
-
 
762
							}
757
							}
763
						}
758
						}
764
						
759
						
765
						if(settledOrderId > 0)	{	// Adding unsettled clone orders to re-shipped orders
760
						if(settledOrderId > 0)	{	// Adding unsettled clone orders to re-shipped orders
766
							for (Order order: orders)	{
761
							for (Order order: orders)	{
Line 781... Line 776...
781
							
776
							
782
							if(pmtSettlement.getReferenceId() > 0)	{
777
							if(pmtSettlement.getReferenceId() > 0)	{
783
								paymentSettlementsMap.put(payment.getPaymentId(), pmtSettlement);
778
								paymentSettlementsMap.put(payment.getPaymentId(), pmtSettlement);
784
							} else	{
779
							} else	{
785
								unsettledOrders.addAll(orders);
780
								unsettledOrders.addAll(orders);
786
								pmtSettlementFoundNull ++;
-
 
787
							}
781
							}
788
						}
782
						}
789
						
783
						
790
						if(orders.size() > 1)	{
784
						if(orders.size() > 1)	{
791
							reshippedOrders.addAll(orders.subList(1, orders.size()));
785
							reshippedOrders.addAll(orders.subList(1, orders.size()));
Line 793... Line 787...
793
					}
787
					}
794
				} catch (PaymentException e) {
788
				} catch (PaymentException e) {
795
					logger.error("" + e);
789
					logger.error("" + e);
796
				}
790
				}
797
			}
791
			}
798
			logger.info("pmtSettlementFoundNull: " + pmtSettlementFoundNull);
-
 
799
			logger.info("Reshipped Orders count: " + reshippedOrders.size());
792
			logger.info("Reshipped Orders count: " + reshippedOrders.size());
800
			
793
			
801
		} catch	(TransactionServiceException e)	{
794
		} catch	(TransactionServiceException e)	{
802
			String errMsg = "Transaction Service Exception occured";
795
			String errMsg = "Transaction Service Exception occured";
803
			logger.error(errMsg, e);
796
			logger.error(errMsg, e);
Line 811... Line 804...
811
			String errMsg = "Transaction Service Exception occured";
804
			String errMsg = "Transaction Service Exception occured";
812
			logger.error(errMsg, e);
805
			logger.error(errMsg, e);
813
			addActionError(errMsg);
806
			addActionError(errMsg);
814
		}
807
		}
815
		logger.info("Payment Settlement Count: " + paymentSettlementsMap.keySet().size());
808
		logger.info("Payment Settlement Count: " + paymentSettlementsMap.keySet().size());
-
 
809
		logger.info("Payment Settlements: " + paymentSettlementsMap.keySet());
816
		logger.info("Unsettled Orders Count: " + unsettledOrders.size());
810
		logger.info("Unsettled Orders Count: " + unsettledOrders.size());
817
		
811
		
818
		ByteArrayOutputStream baosXLS = new ByteArrayOutputStream();
812
		ByteArrayOutputStream baosXLS = new ByteArrayOutputStream();
819
		
813
		
820
	    Workbook wb = new HSSFWorkbook();
814
	    Workbook wb = new HSSFWorkbook();
Line 886... Line 880...
886
	    headerRow.createCell(OrderReportColumn.ORDER_ID.getValue()).setCellValue("Order Id");
880
	    headerRow.createCell(OrderReportColumn.ORDER_ID.getValue()).setCellValue("Order Id");
887
	    headerRow.createCell(OrderReportColumn.ORDER_DATE.getValue()).setCellValue("Order Date");
881
	    headerRow.createCell(OrderReportColumn.ORDER_DATE.getValue()).setCellValue("Order Date");
888
	    headerRow.createCell(OrderReportColumn.BILLING_NUMBER.getValue()).setCellValue("Billing Number");
882
	    headerRow.createCell(OrderReportColumn.BILLING_NUMBER.getValue()).setCellValue("Billing Number");
889
	    headerRow.createCell(OrderReportColumn.BILLING_DATE.getValue()).setCellValue("Billing Date");
883
	    headerRow.createCell(OrderReportColumn.BILLING_DATE.getValue()).setCellValue("Billing Date");
890
	    headerRow.createCell(OrderReportColumn.DELIVERY_DATE.getValue()).setCellValue("Delivery Date");
884
	    headerRow.createCell(OrderReportColumn.DELIVERY_DATE.getValue()).setCellValue("Delivery Date");
891
	    headerRow.createCell(OrderReportColumn.SETTLEMENT_DATE.getValue()).setCellValue("Settlement Date");
885
	    headerRow.createCell(OrderReportColumn.SETTLEMENT_DATE.getValue()).setCellValue("Original Order Id");
892
	    headerRow.createCell(OrderReportColumn.BRAND.getValue()).setCellValue("Brand");
886
	    headerRow.createCell(OrderReportColumn.BRAND.getValue()).setCellValue("Brand");
893
	    headerRow.createCell(OrderReportColumn.MODEL_NAME.getValue()).setCellValue("Model Name");
887
	    headerRow.createCell(OrderReportColumn.MODEL_NAME.getValue()).setCellValue("Model Name");
894
	    headerRow.createCell(OrderReportColumn.MODEL_NUMBER.getValue()).setCellValue("Model Number");
888
	    headerRow.createCell(OrderReportColumn.MODEL_NUMBER.getValue()).setCellValue("Model Number");
895
	    headerRow.createCell(OrderReportColumn.COLOR.getValue()).setCellValue("Color");
889
	    headerRow.createCell(OrderReportColumn.COLOR.getValue()).setCellValue("Color");
896
	    headerRow.createCell(OrderReportColumn.QUANTITY.getValue()).setCellValue("Quantity");
890
	    headerRow.createCell(OrderReportColumn.QUANTITY.getValue()).setCellValue("Quantity");
Line 933... Line 927...
933
	    	
927
	    	
934
	    	for (PaymentGateway tPaymentGateway: tPaymentGateways)	{
928
	    	for (PaymentGateway tPaymentGateway: tPaymentGateways)	{
935
	    		paymentGateways.put(tPaymentGateway.getId(), tPaymentGateway.getName());
929
	    		paymentGateways.put(tPaymentGateway.getId(), tPaymentGateway.getName());
936
	    	}
930
	    	}
937
	    	
931
	    	
938
			int countMultipleOrderTxns = 0;
-
 
939
			
-
 
940
			for (Order order: orders)	{
932
			for (Order order: orders)	{
941
			    logger.info("For order: " + order.getId());
933
			    logger.info("For order: " + order.getId());
942
		    	
934
		    	
943
			    LineItem lineItem = order.getLineitems().get(0);
935
			    LineItem lineItem = order.getLineitems().get(0);
944
			    double transferPrice = lineItem.getTransfer_price();
936
			    double transferPrice = lineItem.getTransfer_price();
Line 948... Line 940...
948
			    	if(order.isCod())	{
940
			    	if(order.isCod())	{
949
			    		payment = paymentClient.getPaymentForTxnId(order.getTransactionId()).get(0);
941
			    		payment = paymentClient.getPaymentForTxnId(order.getTransactionId()).get(0);
950
			    	} else	{
942
			    	} else	{
951
			    		payment = paymentClient.getSuccessfulPaymentForTxnId(order.getTransactionId());
943
			    		payment = paymentClient.getSuccessfulPaymentForTxnId(order.getTransactionId());
952
			    	}
944
			    	}
953
				    logger.info("getSuccessfulPaymentForTxnId, " + order.getTransactionId() + ": " + payment);
945
				    logger.info("Getting Successful Payment for Txn Id: " + order.getTransactionId());
954
				    
946
				    
955
			    } catch (TApplicationException e)	{
947
			    } catch (TApplicationException e)	{
956
			    	orderIdsWithoutSuccess.add(order.getId());
948
			    	orderIdsWithoutSuccess.add(order.getId());
957
			    	String errMsg = "Exception while getting successfull payment for transaction Id, " + order.getTransactionId(); 
949
			    	String errMsg = "Exception while getting successfull payment for transaction Id, " + order.getTransactionId(); 
958
					logger.error(errMsg, e);
950
					logger.error(errMsg, e);
Line 987... Line 979...
987
	            contentRow.createCell(OrderReportColumn.ORDER_ID.getValue()).setCellValue(order.getId());
979
	            contentRow.createCell(OrderReportColumn.ORDER_ID.getValue()).setCellValue(order.getId());
988
	            contentRow.createCell(OrderReportColumn.ORDER_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(order.getCreated_timestamp())));
980
	            contentRow.createCell(OrderReportColumn.ORDER_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(order.getCreated_timestamp())));
989
			    contentRow.createCell(OrderReportColumn.BILLING_NUMBER.getValue()).setCellValue(order.getInvoice_number());
981
			    contentRow.createCell(OrderReportColumn.BILLING_NUMBER.getValue()).setCellValue(order.getInvoice_number());
990
			    contentRow.createCell(OrderReportColumn.BILLING_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(order.getBilling_timestamp())));
982
			    contentRow.createCell(OrderReportColumn.BILLING_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(order.getBilling_timestamp())));
991
			    contentRow.createCell(OrderReportColumn.DELIVERY_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(order.getDelivery_timestamp())));
983
			    contentRow.createCell(OrderReportColumn.DELIVERY_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(order.getDelivery_timestamp())));
-
 
984
			    contentRow.createCell(OrderReportColumn.SETTLEMENT_DATE.getValue()).setCellValue(order.getOriginalOrderId());
992
			    contentRow.createCell(OrderReportColumn.BRAND.getValue()).setCellValue(getValueForEmptyString(lineItem.getBrand()));
985
			    contentRow.createCell(OrderReportColumn.BRAND.getValue()).setCellValue(getValueForEmptyString(lineItem.getBrand()));
993
			    contentRow.createCell(OrderReportColumn.MODEL_NAME.getValue()).setCellValue(getValueForEmptyString(lineItem.getModel_name()));
986
			    contentRow.createCell(OrderReportColumn.MODEL_NAME.getValue()).setCellValue(getValueForEmptyString(lineItem.getModel_name()));
994
			    contentRow.createCell(OrderReportColumn.MODEL_NUMBER.getValue()).setCellValue(getValueForEmptyString(lineItem.getModel_number()));
987
			    contentRow.createCell(OrderReportColumn.MODEL_NUMBER.getValue()).setCellValue(getValueForEmptyString(lineItem.getModel_number()));
995
			    contentRow.createCell(OrderReportColumn.COLOR.getValue()).setCellValue(getValueForEmptyString(lineItem.getColor()));
988
			    contentRow.createCell(OrderReportColumn.COLOR.getValue()).setCellValue(getValueForEmptyString(lineItem.getColor()));
996
			    contentRow.createCell(OrderReportColumn.QUANTITY.getValue()).setCellValue(lineItem.getQuantity());
989
			    contentRow.createCell(OrderReportColumn.QUANTITY.getValue()).setCellValue(lineItem.getQuantity());
Line 1007... Line 1000...
1007
		    	} else	{
1000
		    	} else	{
1008
			    	contentRow.createCell(OrderReportColumn.PAYMENT_TYPE.getValue()).setCellValue(paymentType);
1001
			    	contentRow.createCell(OrderReportColumn.PAYMENT_TYPE.getValue()).setCellValue(paymentType);
1009
		    	}
1002
		    	}
1010
		    	
1003
		    	
1011
			    if (payment != null)	{
1004
			    if (payment != null)	{
1012
//				    contentRow.createCell(OrderReportColumn.SETTLEMENT_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(paymentSettlement.getSettlementDate())));
-
 
1013
//			    	contentRow.createCell(OrderReportColumn.PAYMENT_STATUS.getValue()).setCellValue(payment.getStatus().name());
1005
//			    	contentRow.createCell(OrderReportColumn.PAYMENT_STATUS.getValue()).setCellValue(payment.getStatus().name());
1014
//			    	contentRow.createCell(OrderReportColumn.PAYMENT_ID.getValue()).setCellValue(payment.getPaymentId());
1006
//			    	contentRow.createCell(OrderReportColumn.PAYMENT_ID.getValue()).setCellValue(payment.getPaymentId());
1015
			    }
1007
			    }
1016
			    contentRow.createCell(OrderReportColumn.COUPON_CODE.getValue()).setCellValue(txn.getCoupon_code());
1008
			    contentRow.createCell(OrderReportColumn.COUPON_CODE.getValue()).setCellValue(txn.getCoupon_code());
1017
			}
1009
			}
Line 1170... Line 1162...
1170
	    	
1162
	    	
1171
	    	for (Provider provider: logisticsClient.getAllProviders())	{
1163
	    	for (Provider provider: logisticsClient.getAllProviders())	{
1172
	    		codProviders.put(provider.getId(), provider.getName());
1164
	    		codProviders.put(provider.getId(), provider.getName());
1173
	    	}
1165
	    	}
1174
	    	
1166
	    	
1175
	    	class PaymentSettlementMap	{
-
 
1176
	    		public PaymentSettlement settlement;
-
 
1177
	    		public Payment payment;
-
 
1178
	    		public Transaction transaction;
-
 
1179
	    		public Order order;
-
 
1180
	    		
-
 
1181
	    		public PaymentSettlementMap(PaymentSettlement settlement, Payment pmt, Transaction txn, Order order)	{
-
 
1182
	    			this.settlement = settlement;
-
 
1183
	    			this.payment = pmt;
-
 
1184
	    			this.transaction = txn;
-
 
1185
	    			this.order = order;
-
 
1186
	    		}
-
 
1187
	    		
-
 
1188
	    		public PaymentSettlementMap(PaymentSettlement settlement, Payment pmt, Transaction txn)	{
-
 
1189
	    			this.settlement = settlement;
-
 
1190
	    			this.payment = pmt;
-
 
1191
	    			this.transaction = txn;
-
 
1192
	    		}
-
 
1193
	    	}
-
 
1194
	    	
-
 
1195
	    	for (PaymentSettlement paymentSettlement: paymentSettlementsMap.values())	{
1167
	    	for (PaymentSettlement paymentSettlement: paymentSettlementsMap.values())	{
1196
 
1168
 
1197
    			try {
1169
    			try {
1198
    				if(paymentSettlement.getPaymentGatewayId() == 4)	{	// If COD
1170
    				if(paymentSettlement.getPaymentGatewayId() == 4)	{	// If COD
1199
	    				Order order = transactionClient.getOrder(paymentSettlement.getReferenceId());
1171
	    				Order order = transactionClient.getOrder(paymentSettlement.getReferenceId());
Line 1305... Line 1277...
1305
	}
1277
	}
1306
	
1278
	
1307
	private void outputPrepaidTransactionRows(Sheet sheet, long vendorId, PaymentSettlement paymentSettlement, Transaction txn, Payment payment)	{
1279
	private void outputPrepaidTransactionRows(Sheet sheet, long vendorId, PaymentSettlement paymentSettlement, Transaction txn, Payment payment)	{
1308
		logger.info("Printing orders for pmt Id, " + payment.getPaymentId());
1280
		logger.info("Printing orders for pmt Id, " + payment.getPaymentId());
1309
		
1281
		
1310
		boolean isFirstOrderForTransaction = true;
-
 
1311
		
-
 
1312
		for (Order order: txn.getOrders())	{
1282
		for (Order order: txn.getOrders())	{
1313
			if(order.getVendorId() == vendorId && ! order.isVendorPaid())	{
1283
			if(order.getVendorId() == vendorId && ! order.isVendorPaid() && order.getOriginalOrderId() == 0)	{
1314
				
1284
				
1315
				if(refundOrderStatuses.contains(order.getStatus()))	{
1285
				if(refundOrderStatuses.contains(order.getStatus()))	{
1316
					
1286
					
1317
					refundedOrders.add(order);
1287
					refundedOrders.add(order);
1318
				}
1288
				}
-
 
1289
				
1319
		    	Row contentRow = sheet.createRow(rowCount ++);
1290
		    	Row contentRow = sheet.createRow(rowCount ++);
1320
		    	LineItem lineItem = order.getLineitems().get(0);
1291
		    	LineItem lineItem = order.getLineitems().get(0);
1321
				
1292
				
1322
		        contentRow.createCell(OrderReportColumn.ORDER_ID.getValue()).setCellValue(order.getId());
1293
		        contentRow.createCell(OrderReportColumn.ORDER_ID.getValue()).setCellValue(order.getId());
1323
		        contentRow.createCell(OrderReportColumn.ORDER_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(order.getCreated_timestamp())));
1294
		        contentRow.createCell(OrderReportColumn.ORDER_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(order.getCreated_timestamp())));
Line 1338... Line 1309...
1338
			    contentRow.createCell(OrderReportColumn.SETTLEMENT_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(paymentSettlement.getSettlementDate())));
1309
			    contentRow.createCell(OrderReportColumn.SETTLEMENT_DATE.getValue()).setCellValue(DATE_FORMAT.format(new Date(paymentSettlement.getSettlementDate())));
1339
			    contentRow.createCell(OrderReportColumn.COUPON_CODE.getValue()).setCellValue(txn.getCoupon_code());
1310
			    contentRow.createCell(OrderReportColumn.COUPON_CODE.getValue()).setCellValue(txn.getCoupon_code());
1340
		    	contentRow.createCell(OrderReportColumn.PAYMENT_STATUS.getValue()).setCellValue(payment.getStatus().name());
1311
		    	contentRow.createCell(OrderReportColumn.PAYMENT_STATUS.getValue()).setCellValue(payment.getStatus().name());
1341
		    	contentRow.createCell(OrderReportColumn.PAYMENT_ID.getValue()).setCellValue(payment.getPaymentId());
1312
		    	contentRow.createCell(OrderReportColumn.PAYMENT_ID.getValue()).setCellValue(payment.getPaymentId());
1342
		    	
1313
		    	
1343
		    	if(isFirstOrderForTransaction)	{
-
 
1344
			    	contentRow.createCell(OrderReportColumn.SERVICE_TAX.getValue()).setCellValue(paymentSettlement.getServiceTax());
1314
		    	contentRow.createCell(OrderReportColumn.SERVICE_TAX.getValue()).setCellValue((paymentSettlement.getServiceTax() * order.getTotal_amount()) / payment.getAmount());
1345
				    contentRow.createCell(OrderReportColumn.OTHER_CHARGES.getValue()).setCellValue(paymentSettlement.getOtherCharges());
1315
			    contentRow.createCell(OrderReportColumn.OTHER_CHARGES.getValue()).setCellValue((paymentSettlement.getOtherCharges() * order.getTotal_amount()) / payment.getAmount());
1346
				    contentRow.createCell(OrderReportColumn.NET_COLLECTION.getValue()).setCellValue(paymentSettlement.getNetCollection());
1316
			    contentRow.createCell(OrderReportColumn.NET_COLLECTION.getValue()).setCellValue((paymentSettlement.getNetCollection() * order.getTotal_amount()) / payment.getAmount());
1347
				    isFirstOrderForTransaction = false;
-
 
1348
		    	}
-
 
1349
			}
1317
			}
1350
		}
1318
		}
1351
	}
1319
	}
1352
	
1320
	
1353
	private void outputCODRow(Row contentRow, PaymentSettlement paymentSettlement, Order order, Transaction txn, Payment payment)	{
1321
	private void outputCODRow(Row contentRow, PaymentSettlement paymentSettlement, Order order, Transaction txn, Payment payment)	{