Subversion Repositories SmartDukaan

Rev

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

Rev 24669 Rev 24670
Line 910... Line 910...
910
 
910
 
911
		LocalDateTime startDate = LocalDate.of(2018, 9, 1).atStartOfDay();
911
		LocalDateTime startDate = LocalDate.of(2018, 9, 1).atStartOfDay();
912
		LocalDateTime endDate = LocalDate.now().atStartOfDay();
912
		LocalDateTime endDate = LocalDate.now().atStartOfDay();
913
		List<Purchase> purchases = purchaseRepository.selectAllBetweenPurchaseDate(startDate, endDate);
913
		List<Purchase> purchases = purchaseRepository.selectAllBetweenPurchaseDate(startDate, endDate);
914
 
914
 
-
 
915
		Map<Integer, String> storeNameMap = fofoStoreRepository.getStoresMap(); 
915
		purchases.stream().forEach(purchase -> {
916
		purchases.stream().forEach(purchase -> {
916
			float amountToRollback = 0;
917
			float amountToRollback = 0;
917
			String description = "Adjustment of Duplicate Scheme for Purchase Invoice "
918
			String description = "Adjustment of Duplicate Scheme for Purchase Invoice "
918
					+ purchase.getPurchaseReference();
919
					+ purchase.getPurchaseReference();
919
			Map<Integer, String> inventorySerialNumberMap = inventoryItemRepository.selectByPurchaseId(purchase.getId())
920
			Map<Integer, String> inventorySerialNumberMap = inventoryItemRepository.selectByPurchaseId(purchase.getId())
Line 955... Line 956...
955
							}
956
							}
956
							sio.setRolledBackTimestamp(LocalDateTime.now());
957
							sio.setRolledBackTimestamp(LocalDateTime.now());
957
							amountToRollback += sio.getAmount();
958
							amountToRollback += sio.getAmount();
958
							// sio.setSchemeType(SchemeType.OUT);
959
							// sio.setSchemeType(SchemeType.OUT);
959
							sio.setSerialNumber(serialNumber);
960
							sio.setSerialNumber(serialNumber);
-
 
961
							sio.setStoreCode(storeNameMap.get(purchase.getFofoId()));
-
 
962
							sio.setReference(purchase.getId());
960
							rolledbackSios.add(sio);
963
							rolledbackSios.add(sio);
961
						}
964
						}
962
					}
965
					}
963
 
966
 
964
				}
967
				}
965
			}
968
			}
966
			if (amountToRollback > 0) {
969
			if (amountToRollback > 0) {
967
				Address address = addressRepository.selectAllByRetailerId(purchase.getFofoId(), 0, 10).get(0);
970
				//Address address = addressRepository.selectAllByRetailerId(purchase.getFofoId(), 0, 10).get(0);
968
				UserWalletHistory uwh = new UserWalletHistory();
971
				UserWalletHistory uwh = new UserWalletHistory();
969
				uwh.setAmount(Math.round(amountToRollback));
972
				uwh.setAmount(Math.round(amountToRollback));
970
				uwh.setDescription(description);
973
				uwh.setDescription(description);
971
				uwh.setTimestamp(LocalDateTime.now());
974
				uwh.setTimestamp(LocalDateTime.now());
972
				uwh.setReferenceType(WalletReferenceType.SCHEME_OUT);
975
				uwh.setReferenceType(WalletReferenceType.SCHEME_IN);
973
				uwh.setReference(purchase.getId());
976
				uwh.setReference(purchase.getId());
974
				uwh.setWalletId(userWalletMap.get(purchase.getFofoId()));
977
				uwh.setWalletId(userWalletMap.get(purchase.getFofoId()));
975
				uwh.setFofoId(purchase.getFofoId());
978
				uwh.setFofoId(purchase.getFofoId());
976
				uwh.setStoreCode(address.getName());
979
				uwh.setStoreCode(storeNameMap.get(purchase.getFofoId()));
977
				userWalletHistory.add(uwh);
980
				userWalletHistory.add(uwh);
978
			}
981
			}
979
		});
982
		});
980
		ByteArrayOutputStream baos = FileUtil.getCSVByteStream(
983
		ByteArrayOutputStream baos = FileUtil.getCSVByteStream(
981
				Arrays.asList("User Id", "Store Code", "Reference Type", "Reference", "Amount", "Description",
984
				Arrays.asList("User Id", "Store Code", "Reference Type", "Reference", "Amount", "Description",
Line 984... Line 987...
984
						.map(x -> Arrays.asList(x.getWalletId(), x.getStoreCode(), x.getReferenceType(),
987
						.map(x -> Arrays.asList(x.getWalletId(), x.getStoreCode(), x.getReferenceType(),
985
								x.getReference(), x.getAmount(), x.getDescription(), x.getTimestamp()))
988
								x.getReference(), x.getAmount(), x.getDescription(), x.getTimestamp()))
986
						.collect(Collectors.toList()));
989
						.collect(Collectors.toList()));
987
 
990
 
988
		ByteArrayOutputStream baosOuts = FileUtil.getCSVByteStream(
991
		ByteArrayOutputStream baosOuts = FileUtil.getCSVByteStream(
989
				Arrays.asList("Scheme ID", "SchemeType", "Store Code", "Serial Number", "Amount", "Created",
992
				Arrays.asList("Scheme ID", "SchemeType", "Reference", "Store Code", "Serial Number", "Amount", "Created",
990
						"Rolledback"),
993
						"Rolledback"),
991
				rolledbackSios.stream()
994
				rolledbackSios.stream()
992
						.map(x -> Arrays.asList(x.getSchemeId(), x.getSchemeType(), x.getStoreCode(),
995
						.map(x -> Arrays.asList(x.getSchemeId(), x.getSchemeType(), x.getReference(), x.getStoreCode(),
993
								x.getSerialNumber(), x.getAmount(), x.getCreateTimestamp(), x.getRolledBackTimestamp()))
996
								x.getSerialNumber(), x.getAmount(), x.getCreateTimestamp(), x.getRolledBackTimestamp()))
994
						.collect(Collectors.toList()));
997
						.collect(Collectors.toList()));
995
 
998
 
996
		Utils.sendMailWithAttachments(googleMailSender,
999
		Utils.sendMailWithAttachments(googleMailSender,
997
				new String[] { "amit.gupta@shop2020.in", "neeraj.gupta@smartdukaan.com" }, null,
1000
				new String[] { "amit.gupta@shop2020.in", "neeraj.gupta@smartdukaan.com" }, null,
Line 1043... Line 1046...
1043
							sio.setRolledBackTimestamp(LocalDateTime.now());
1046
							sio.setRolledBackTimestamp(LocalDateTime.now());
1044
							amountToRollback += sio.getAmount();
1047
							amountToRollback += sio.getAmount();
1045
							// sio.setSchemeType(SchemeType.OUT);
1048
							// sio.setSchemeType(SchemeType.OUT);
1046
							sio.setSerialNumber(serialNumber);
1049
							sio.setSerialNumber(serialNumber);
1047
							sio.setStoreCode(fofoOrder.getInvoiceNumber().split("/")[0]);
1050
							sio.setStoreCode(fofoOrder.getInvoiceNumber().split("/")[0]);
-
 
1051
							sio.setReference(fofoOrder.getId());
1048
							rolledbackSios.add(sio);
1052
							rolledbackSios.add(sio);
1049
						}
1053
						}
1050
						description = description.concat(" " + serialNumber + " ");
1054
						description = description.concat(" " + serialNumber + " ");
1051
					} else {
1055
					} else {
1052
						serialNumbersConsidered.add(serialNumber);
1056
						serialNumbersConsidered.add(serialNumber);
Line 1063... Line 1067...
1063
								continue;
1067
								continue;
1064
							}
1068
							}
1065
							sio.setRolledBackTimestamp(LocalDateTime.now());
1069
							sio.setRolledBackTimestamp(LocalDateTime.now());
1066
							amountToRollback += sio.getAmount();
1070
							amountToRollback += sio.getAmount();
1067
							// sio.setSchemeType(SchemeType.OUT);
1071
							// sio.setSchemeType(SchemeType.OUT);
-
 
1072
							sio.setReference(fofoOrder.getId());
1068
							sio.setSerialNumber(serialNumber);
1073
							sio.setSerialNumber(serialNumber);
1069
							sio.setStoreCode(fofoOrder.getInvoiceNumber().split("/")[0]);
1074
							sio.setStoreCode(fofoOrder.getInvoiceNumber().split("/")[0]);
1070
							rolledbackSios.add(sio);
1075
							rolledbackSios.add(sio);
1071
						}
1076
						}
1072
					}
1077
					}
Line 1086... Line 1091...
1086
				userWalletHistory.add(uwh);
1091
				userWalletHistory.add(uwh);
1087
			}
1092
			}
1088
		});
1093
		});
1089
 
1094
 
1090
		ByteArrayOutputStream baos = FileUtil.getCSVByteStream(
1095
		ByteArrayOutputStream baos = FileUtil.getCSVByteStream(
1091
				Arrays.asList("User Id", "Store Code", "Reference Type", "Reference", "Amount", "Description",
1096
				Arrays.asList("Wallet Id", "Store Code", "Reference Type", "Reference", "Amount", "Description",
1092
						"Timestamp"),
1097
						"Timestamp"),
1093
				userWalletHistory.stream()
1098
				userWalletHistory.stream()
1094
						.map(x -> Arrays.asList(x.getWalletId(), x.getStoreCode(), x.getReferenceType(),
1099
						.map(x -> Arrays.asList(x.getWalletId(), x.getStoreCode(), x.getReferenceType(),
1095
								x.getReference(), x.getAmount(), x.getDescription(), x.getTimestamp()))
1100
								x.getReference(), x.getAmount(), x.getDescription(), x.getTimestamp()))
1096
						.collect(Collectors.toList()));
1101
						.collect(Collectors.toList()));
Line 1103... Line 1108...
1103
								x.getSerialNumber(), x.getAmount(), x.getCreateTimestamp(), x.getRolledBackTimestamp()))
1108
								x.getSerialNumber(), x.getAmount(), x.getCreateTimestamp(), x.getRolledBackTimestamp()))
1104
						.collect(Collectors.toList()));
1109
						.collect(Collectors.toList()));
1105
 
1110
 
1106
		Utils.sendMailWithAttachments(googleMailSender,
1111
		Utils.sendMailWithAttachments(googleMailSender,
1107
				new String[] { "amit.gupta@shop2020.in", "neeraj.gupta@smartdukaan.com" }, null,
1112
				new String[] { "amit.gupta@shop2020.in", "neeraj.gupta@smartdukaan.com" }, null,
1108
				"Partner Excess Amount", "PFA",
1113
				"Partner Excess Amount Scheme Out", "PFA",
1109
				new Attachment[] { new Attachment("WalletSummary.csv", new ByteArrayResource(baos.toByteArray())),
1114
				new Attachment[] { new Attachment("WalletSummary.csv", new ByteArrayResource(baos.toByteArray())),
1110
						new Attachment("SchemeOutRolledback.csv", new ByteArrayResource(baosOuts.toByteArray())) });
1115
						new Attachment("SchemeOutRolledback.csv", new ByteArrayResource(baosOuts.toByteArray())) });
1111
 
1116
 
1112
		throw new Exception();
1117
		throw new Exception();
1113
	}
1118
	}