Subversion Repositories SmartDukaan

Rev

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

Rev 10162 Rev 10164
Line 711... Line 711...
711
 
711
 
712
 
712
 
713
 
713
 
714
 
714
 
715
	@SuppressWarnings("deprecation")
715
	@SuppressWarnings("deprecation")
716
	public static void main(String[] args) throws NumberFormatException, TException, ClientProtocolException, IOException, MessagingException {
716
	public static void main(String[] args) throws NumberFormatException, TException,MessagingException {
-
 
717
		try {
717
		handleLogin();
718
			handleLogin();
-
 
719
		} catch (ClientProtocolException e2) {
-
 
720
			System.out.println("Handle login failed");
-
 
721
			e2.printStackTrace();
-
 
722
		} catch (IOException e2) {
-
 
723
			System.out.println("Handle login failed");
-
 
724
			e2.printStackTrace();
-
 
725
		}
-
 
726
		try {
718
		fetchinventoryhistoryfromsnapdeal();
727
			fetchinventoryhistoryfromsnapdeal();
-
 
728
		} catch (UnsupportedEncodingException e2) {
-
 
729
			System.out.println("History Inventory Fetch failed");
-
 
730
			e2.printStackTrace();
-
 
731
		}
-
 
732
		try {
719
		fetchcurrentinventoryfromsnapdeal();
733
			fetchcurrentinventoryfromsnapdeal();
-
 
734
		} catch (UnsupportedEncodingException e2) {
-
 
735
			System.out.println("Current Inventory Fetch failed");
-
 
736
			e2.printStackTrace();
-
 
737
		}
720
		calculateinventory();
738
		calculateinventory();
721
		in.shop2020.model.v1.catalog.CatalogService.Client catalogServiceClient = null;
739
		in.shop2020.model.v1.catalog.CatalogService.Client catalogServiceClient = null;
722
		try {
740
		try {
723
			catalogServiceClient = new CatalogClient().getClient();
741
			catalogServiceClient = new CatalogClient().getClient();
724
		} catch (TTransportException e) {
742
		} catch (TTransportException e) {
Line 727... Line 745...
727
		}
745
		}
728
		FileInputStream fis = null;
746
		FileInputStream fis = null;
729
		Workbook hwb = null;
747
		Workbook hwb = null;
730
		Sheet sheet = null;
748
		Sheet sheet = null;
731
		if(!PANEL){
749
		if(!PANEL){
-
 
750
			try {
732
			fis = new FileInputStream("/root/code/trunk/SnapDealFeeds/SellerInventory.xls");
751
				fis = new FileInputStream("/root/code/trunk/SnapDealFeeds/SellerInventory.xls");
-
 
752
			} catch (FileNotFoundException e) {
-
 
753
				System.out.println("Template File not found");
-
 
754
				e.printStackTrace();
-
 
755
			}
-
 
756
			try {
733
			hwb = new HSSFWorkbook(fis);
757
				hwb = new HSSFWorkbook(fis);
-
 
758
			} catch (IOException e) {
-
 
759
				System.out.println("Could not created workbook I/O Problem");
-
 
760
				e.printStackTrace();
-
 
761
			}
734
			sheet = hwb.getSheetAt(0);
762
			sheet = hwb.getSheetAt(0);
735
		}
763
		}
736
		Row row = null;
764
		Row row = null;
737
		int iterator=1;
765
		int iterator=1;
738
		long available,reserve,defaultinventory,holdinventory,heldorders=0,sent_inventory = 0,totalheld,heldforsource,allocable;
766
		long available,reserve,defaultinventory,holdinventory,heldorders=0,sent_inventory = 0,totalheld,heldforsource,allocable;
Line 828... Line 856...
828
						row.getCell((short) 0).setCellValue(inventory.getSupc());
856
						row.getCell((short) 0).setCellValue(inventory.getSupc());
829
						row.getCell((short) 1).setCellValue(inventory.getSellerSku());
857
						row.getCell((short) 1).setCellValue(inventory.getSellerSku());
830
						row.getCell((short) 2).setCellValue(inventory.getProductName());
858
						row.getCell((short) 2).setCellValue(inventory.getProductName());
831
						row.getCell((short) 3).setCellValue(inventory.getAvailableInventory());
859
						row.getCell((short) 3).setCellValue(inventory.getAvailableInventory());
832
						row.getCell((short) 4).setCellValue(sent_inventory);
860
						row.getCell((short) 4).setCellValue(sent_inventory);
833
						if(inventory.getAvailableInventory()!=0 && sent_inventory==0){
-
 
834
							outOfStockItems.append("<tr>" 
-
 
835
									+ "<td>" + inventory.getProductName() +"</td>"
-
 
836
									+"<td>" + sku + "</td>"
-
 
837
									+"<td>" + inventory.getAvailableInventory() + "</td>"
-
 
838
									+"<td>" + sent_inventory + "</td>"
-
 
839
									+"</tr>");
-
 
840
						}
-
 
841
						else if(inventory.getAvailableInventory()==0 && sent_inventory!=0){
-
 
842
							backInStockItems.append("<tr>" 
-
 
843
									+ "<td>" + inventory.getProductName() +"</td>"
-
 
844
									+"<td>" + sku + "</td>"
-
 
845
									+"<td>" + inventory.getAvailableInventory() + "</td>"
-
 
846
									+"<td>" + sent_inventory + "</td>"
-
 
847
									+"</tr>");
-
 
848
						}
-
 
849
						else{
-
 
850
							inventoryChangeItems.append("<tr>" 
-
 
851
									+ "<td>" + inventory.getProductName() +"</td>"
-
 
852
									+"<td>" + sku + "</td>"
-
 
853
									+"<td>" + inventory.getAvailableInventory() + "</td>"
-
 
854
									+"<td>" + sent_inventory + "</td>"
-
 
855
									+"</tr>");
-
 
856
						}
-
 
857
						if(inventory.isLive()){
861
						if(inventory.isLive()){
858
							row.getCell((short) 5).setCellValue("Yes");
862
							row.getCell((short) 5).setCellValue("Yes");
859
						}
863
						}
860
						else{
864
						else{
861
							row.getCell((short) 5).setCellValue("No");
865
							row.getCell((short) 5).setCellValue("No");
862
						}
866
						}
863
					}
867
					}
864
					else{
868
					else{
865
						UpdateSDIUsingPanel UDSI = new UpdateSDIUsingPanel();
869
						UpdateSDIUsingPanel UDSI = new UpdateSDIUsingPanel();
866
						UDSI.handleLogin();
870
						try {
867
						UDSI.updateInventory(sent_inventory,inventory.getSupc());
871
							UDSI.updateInventory(sent_inventory,inventory.getSupc());
-
 
872
						} catch (ClientProtocolException e) {
-
 
873
							System.out.println("Could not login and update inventory");
-
 
874
							e.printStackTrace();
-
 
875
						} catch (IOException e) {
-
 
876
							System.out.println("Could not login and update inventory I/O");
-
 
877
							e.printStackTrace();
-
 
878
						}
-
 
879
					}
-
 
880
					if(inventory.getAvailableInventory()!=0 && sent_inventory==0){
-
 
881
						outOfStockItems.append("<tr>" 
-
 
882
								+ "<td>" + inventory.getProductName() +"</td>"
-
 
883
								+"<td>" + sku + "</td>"
-
 
884
								+"<td>" + inventory.getAvailableInventory() + "</td>"
-
 
885
								+"<td>" + sent_inventory + "</td>"
-
 
886
								+"</tr>");
-
 
887
					}
-
 
888
					else if(inventory.getAvailableInventory()==0 && sent_inventory!=0){
-
 
889
						backInStockItems.append("<tr>" 
-
 
890
								+ "<td>" + inventory.getProductName() +"</td>"
-
 
891
								+"<td>" + sku + "</td>"
-
 
892
								+"<td>" + inventory.getAvailableInventory() + "</td>"
-
 
893
								+"<td>" + sent_inventory + "</td>"
-
 
894
								+"</tr>");
-
 
895
					}
-
 
896
					else{
-
 
897
						inventoryChangeItems.append("<tr>" 
-
 
898
								+ "<td>" + inventory.getProductName() +"</td>"
-
 
899
								+"<td>" + sku + "</td>"
-
 
900
								+"<td>" + inventory.getAvailableInventory() + "</td>"
-
 
901
								+"<td>" + sent_inventory + "</td>"
-
 
902
								+"</tr>");
868
					}
903
					}
869
					iterator++;
904
					iterator++;
870
				}
905
				}
871
			}
906
			}
872
			else{
907
			else{
Line 874... Line 909...
874
			}
909
			}
875
		}
910
		}
876
		if(iterator > 1){
911
		if(iterator > 1){
877
			FileOutputStream fileOut = null;
912
			FileOutputStream fileOut = null;
878
			if(!PANEL){
913
			if(!PANEL){
-
 
914
				try {
879
				fis.close();
915
					fis.close();
-
 
916
				} catch (IOException e2) {
-
 
917
					e2.printStackTrace();
-
 
918
				}
880
				try {
919
				try {
881
					System.out.println("Before writing file ");
920
					System.out.println("Before writing file ");
882
					fileOut = new FileOutputStream(SNAPDEAL_INVENTORY_SHEET);
921
					fileOut = new FileOutputStream(SNAPDEAL_INVENTORY_SHEET);
883
				} catch (FileNotFoundException e) {
922
				} catch (FileNotFoundException e) {
884
 
923
 
Line 896... Line 935...
896
				MultipartEntity mpEntity = new MultipartEntity();
935
				MultipartEntity mpEntity = new MultipartEntity();
897
				ContentBody cbFile = new FileBody(file,"application/vnd.ms-excel");
936
				ContentBody cbFile = new FileBody(file,"application/vnd.ms-excel");
898
				mpEntity.addPart("file", cbFile);
937
				mpEntity.addPart("file", cbFile);
899
				post.setEntity(mpEntity);
938
				post.setEntity(mpEntity);
900
				System.out.println("Before posting file");
939
				System.out.println("Before posting file");
-
 
940
				HttpResponse response;
-
 
941
				try {
901
				HttpResponse response = client.execute(post);
942
					response = client.execute(post);
-
 
943
				} catch (ClientProtocolException e2) {
-
 
944
					System.out.println("Error While Posting Inventory File");
-
 
945
					e2.printStackTrace();
-
 
946
				} catch (IOException e2) {
-
 
947
					System.out.println("I/O Error While Posting Inventory File");
-
 
948
					e2.printStackTrace();
-
 
949
				}
902
				BufferedReader rd = null;
950
				BufferedReader rd = null;
903
				try {
951
				try {
904
					rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
952
					rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
905
				} catch (IllegalStateException e1) {
953
				} catch (IllegalStateException e1) {
906
 
954
 
Line 934... Line 982...
934
					transactionClient.updateSourceDetailTimestamp(7, lastSentInventoryTime);
982
					transactionClient.updateSourceDetailTimestamp(7, lastSentInventoryTime);
935
				} catch (Exception ex) {
983
				} catch (Exception ex) {
936
					ex.printStackTrace();
984
					ex.printStackTrace();
937
				}
985
				}
938
			}
986
			}
-
 
987
			String PANEL_TEXT_MAIL = "";
-
 
988
			if(PANEL){
-
 
989
				PANEL_TEXT_MAIL = " (Using Panel)";
-
 
990
			}
939
			String emailSubjectTxt = "Products back in stock on Snapdeal "+sdf.format(lastSentInventoryTime);
991
			String emailSubjectTxt = "Products back in stock on Snapdeal "+sdf.format(lastSentInventoryTime) + PANEL_TEXT_MAIL;
940
			String text;
992
			String text;
941
			String tableHeader = "<tr>" 
993
			String tableHeader = "<tr>" 
942
				+ "<td>" + "Product Name" +"</td>"
994
				+ "<td>" + "Product Name" +"</td>"
943
				+"<td>" + "Item ID" + "</td>"
995
				+"<td>" + "Item ID" + "</td>"
944
				+"<td>" + "Old Inventory" + "</td>"
996
				+"<td>" + "Old Inventory" + "</td>"
Line 951... Line 1003...
951
					//mailer.sendSSLMessage(sendTo, emailSubjectTxt, text, emailFromAddress, password, new ArrayList<File>());
1003
					//mailer.sendSSLMessage(sendTo, emailSubjectTxt, text, emailFromAddress, password, new ArrayList<File>());
952
				} catch (MessagingException e) {
1004
				} catch (MessagingException e) {
953
					e.printStackTrace();
1005
					e.printStackTrace();
954
				}
1006
				}
955
			}
1007
			}
956
			emailSubjectTxt = "Products out of stock on Snapdeal "+sdf.format(lastSentInventoryTime);
1008
			emailSubjectTxt = "Products out of stock on Snapdeal "+sdf.format(lastSentInventoryTime) + PANEL_TEXT_MAIL;
957
			if(outOfStockItems.length() > 0){
1009
			if(outOfStockItems.length() > 0){
958
				text = "<html><table border=\"1\" align=\"center\">"+tableHeader+outOfStockItems.toString()+"</table></html>";
1010
				text = "<html><table border=\"1\" align=\"center\">"+tableHeader+outOfStockItems.toString()+"</table></html>";
959
				try {
1011
				try {
960
					mailer.sendSSLMessage(sendTo,emailSubjectTxt, emailFromAddress, password, text);
1012
					mailer.sendSSLMessage(sendTo,emailSubjectTxt, emailFromAddress, password, text);
961
					//mailer.sendSSLMessage(sendTo, emailSubjectTxt, text, emailFromAddress, password, new ArrayList<File>());
1013
					//mailer.sendSSLMessage(sendTo, emailSubjectTxt, text, emailFromAddress, password, new ArrayList<File>());
962
				} catch (MessagingException e) {
1014
				} catch (MessagingException e) {
963
					e.printStackTrace();
1015
					e.printStackTrace();
964
				}
1016
				}
965
			}
1017
			}
966
			/*			List<File> files = new ArrayList<File>();
-
 
967
			files.add(new File(SNAPDEAL_INVENTORY_SHEET));
-
 
968
			try {
-
 
969
				mailer.sendSSLMessage(sendTo,"Inventory File",feedresponse, emailFromAddress, password, files);
-
 
970
			} catch (MessagingException e) {
-
 
971
				e.printStackTrace();
-
 
972
			}
-
 
973
			 */
-
 
974
			emailSubjectTxt = "Snapdeal Inventory Updates sent for " +(iterator-1)+" items "+ sdf.format(System.currentTimeMillis());
1018
			emailSubjectTxt = "Snapdeal Inventory Updates sent for " +(iterator-1)+" items "+ sdf.format(System.currentTimeMillis())+PANEL_TEXT_MAIL;
975
			if(inventoryChangeItems.length() > 0){
1019
			if(inventoryChangeItems.length() > 0){
976
				text = "<html><table border=\"1\" align=\"center\">"+tableHeader+inventoryChangeItems.toString()+"</table></html>";
1020
				text = "<html><table border=\"1\" align=\"center\">"+tableHeader+inventoryChangeItems.toString()+"</table></html>";
977
				try {
1021
				try {
978
					mailer.sendSSLMessage(sendTo,emailSubjectTxt, emailFromAddress, password, text);
1022
					mailer.sendSSLMessage(sendTo,emailSubjectTxt, emailFromAddress, password, text);
979
				} catch (MessagingException e) {
1023
				} catch (MessagingException e) {