| Line 45... |
Line 45... |
| 45 |
import com.spice.profitmandi.dao.enumuration.dtr.RefferalStatus;
|
45 |
import com.spice.profitmandi.dao.enumuration.dtr.RefferalStatus;
|
| 46 |
import com.spice.profitmandi.dao.enumuration.fofo.Gateway;
|
46 |
import com.spice.profitmandi.dao.enumuration.fofo.Gateway;
|
| 47 |
import com.spice.profitmandi.dao.enumuration.fofo.PaymentStatus;
|
47 |
import com.spice.profitmandi.dao.enumuration.fofo.PaymentStatus;
|
| 48 |
import com.spice.profitmandi.dao.enumuration.fofo.ReturnType;
|
48 |
import com.spice.profitmandi.dao.enumuration.fofo.ReturnType;
|
| 49 |
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
|
49 |
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
|
| - |
|
50 |
import com.spice.profitmandi.dao.enumuration.inventory.CatalogMovingEnum;
|
| 50 |
import com.spice.profitmandi.dao.enumuration.inventory.VendorCatalogPricingStatus;
|
51 |
import com.spice.profitmandi.dao.enumuration.inventory.VendorCatalogPricingStatus;
|
| 51 |
import com.spice.profitmandi.dao.enumuration.onBorading.onBoardingFormEnums.LoiStatus;
|
52 |
import com.spice.profitmandi.dao.enumuration.onBorading.onBoardingFormEnums.LoiStatus;
|
| 52 |
import com.spice.profitmandi.dao.enumuration.transaction.CreditRisk;
|
53 |
import com.spice.profitmandi.dao.enumuration.transaction.CreditRisk;
|
| 53 |
import com.spice.profitmandi.dao.enumuration.transaction.LoanReferenceType;
|
54 |
import com.spice.profitmandi.dao.enumuration.transaction.LoanReferenceType;
|
| 54 |
import com.spice.profitmandi.dao.enumuration.transaction.PriceDropImeiStatus;
|
55 |
import com.spice.profitmandi.dao.enumuration.transaction.PriceDropImeiStatus;
|
| Line 144... |
Line 145... |
| 144 |
import java.text.DecimalFormat;
|
145 |
import java.text.DecimalFormat;
|
| 145 |
import java.time.*;
|
146 |
import java.time.*;
|
| 146 |
import java.time.format.DateTimeFormatter;
|
147 |
import java.time.format.DateTimeFormatter;
|
| 147 |
import java.time.temporal.ChronoField;
|
148 |
import java.time.temporal.ChronoField;
|
| 148 |
import java.time.temporal.ChronoUnit;
|
149 |
import java.time.temporal.ChronoUnit;
|
| - |
|
150 |
import java.time.temporal.WeekFields;
|
| 149 |
import java.util.*;
|
151 |
import java.util.*;
|
| 150 |
import java.util.Map.Entry;
|
152 |
import java.util.Map.Entry;
|
| 151 |
import java.util.stream.Collectors;
|
153 |
import java.util.stream.Collectors;
|
| 152 |
import java.util.stream.Stream;
|
154 |
import java.util.stream.Stream;
|
| 153 |
|
155 |
|
| Line 1613... |
Line 1615... |
| 1613 |
}
|
1615 |
}
|
| 1614 |
return partnerIdSalesHeadersMap;
|
1616 |
return partnerIdSalesHeadersMap;
|
| 1615 |
|
1617 |
|
| 1616 |
}
|
1618 |
}
|
| 1617 |
|
1619 |
|
| 1618 |
public void persistRbmTodayTargets() throws Exception {
|
1620 |
public void persistRbmTodayTargets() throws Exception{
|
| 1619 |
rbmTargetService.setMovementWiseRbmTargets();
|
1621 |
rbmTargetService.setMovementWiseRbmTargets();
|
| 1620 |
}
|
1622 |
}
|
| 1621 |
|
1623 |
|
| 1622 |
public void persistRbmTodayAchievements() throws Exception {
|
1624 |
public void persistRbmTodayAchievements() throws Exception{
|
| 1623 |
rbmTargetService.setMovementWiseRbmAchievement();
|
1625 |
rbmTargetService.setMovementWiseRbmAchievement();
|
| 1624 |
}
|
1626 |
}
|
| 1625 |
|
1627 |
|
| 1626 |
public void sendPartnerInvestmentDetails() throws Exception {
|
1628 |
public void sendPartnerInvestmentDetails() throws Exception {
|
| 1627 |
this.sendPartnerInvestmentDetails(null);
|
1629 |
this.sendPartnerInvestmentDetails(null);
|
| Line 2577... |
Line 2579... |
| 2577 |
httpPost.setHeader("Content-Type", "application/json");
|
2579 |
httpPost.setHeader("Content-Type", "application/json");
|
| 2578 |
|
2580 |
|
| 2579 |
StringEntity entity = new StringEntity(payload.toString());
|
2581 |
StringEntity entity = new StringEntity(payload.toString());
|
| 2580 |
httpPost.setEntity(entity);
|
2582 |
httpPost.setEntity(entity);
|
| 2581 |
CloseableHttpResponse response = client.execute(httpPost);
|
2583 |
CloseableHttpResponse response = client.execute(httpPost);
|
| 2582 |
LOGGER.info("google FCM status code: {}", response.getStatusLine().getStatusCode());
|
2584 |
LOGGER.info("google FCM status code: {}",response.getStatusLine().getStatusCode());
|
| 2583 |
String responseBody = new BufferedReader(new InputStreamReader(response.getEntity().getContent()))
|
2585 |
String responseBody = new BufferedReader(new InputStreamReader(response.getEntity().getContent()))
|
| 2584 |
.lines().collect(Collectors.joining("\n"));
|
2586 |
.lines().collect(Collectors.joining("\n"));
|
| 2585 |
if (response.getStatusLine().getStatusCode() == 200) {
|
2587 |
if (response.getStatusLine().getStatusCode() == 200) {
|
| 2586 |
pushNotification.setSentTimestamp(LocalDateTime.now());
|
2588 |
pushNotification.setSentTimestamp(LocalDateTime.now());
|
| 2587 |
} else {
|
2589 |
} else {
|
| Line 2816... |
Line 2818... |
| 2816 |
fm.setPendingIndentQty(processingQty);
|
2818 |
fm.setPendingIndentQty(processingQty);
|
| 2817 |
fm.setShortageQty(shortageQty);
|
2819 |
fm.setShortageQty(shortageQty);
|
| 2818 |
fm.setPoAvailability(allColorPoAvailability);
|
2820 |
fm.setPoAvailability(allColorPoAvailability);
|
| 2819 |
fm.setDp(tagListing.getSellingPrice());
|
2821 |
fm.setDp(tagListing.getSellingPrice());
|
| 2820 |
fm.setWarehouseName(warehouseMap.get(customRetailer.getWarehouseId()));
|
2822 |
fm.setWarehouseName(warehouseMap.get(customRetailer.getWarehouseId()));
|
| 2821 |
if (partnerIdSalesHeadersMap.get(fofoId) != null) {
|
2823 |
if(partnerIdSalesHeadersMap.get(fofoId) != null){
|
| 2822 |
fm.setStateManager(partnerIdSalesHeadersMap.get(fofoId).getRegionalManager());
|
2824 |
fm.setStateManager(partnerIdSalesHeadersMap.get(fofoId).getRegionalManager());
|
| 2823 |
fm.setTerritoryManager(partnerIdSalesHeadersMap.get(fofoId).getTerritoryManager());
|
2825 |
fm.setTerritoryManager(partnerIdSalesHeadersMap.get(fofoId).getTerritoryManager());
|
| 2824 |
} else {
|
2826 |
}else {
|
| 2825 |
LOGGER.info("else fofoId - {}", fofoId);
|
2827 |
LOGGER.info("else fofoId - {}",fofoId);
|
| 2826 |
fm.setStateManager("");
|
2828 |
fm.setStateManager("");
|
| 2827 |
fm.setTerritoryManager("");
|
2829 |
fm.setTerritoryManager("");
|
| 2828 |
}
|
2830 |
}
|
| 2829 |
|
2831 |
|
| 2830 |
fm.setItemName(items.get(0).getBrand() + items.get(0).getModelNumber() + items.get(0).getModelName());
|
2832 |
fm.setItemName(items.get(0).getBrand() + items.get(0).getModelNumber() + items.get(0).getModelName());
|
| Line 2832... |
Line 2834... |
| 2832 |
|
2834 |
|
| 2833 |
focusedModelShortageList.add(fm);
|
2835 |
focusedModelShortageList.add(fm);
|
| 2834 |
}
|
2836 |
}
|
| 2835 |
|
2837 |
|
| 2836 |
}
|
2838 |
}
|
| 2837 |
LOGGER.info("focusedModelShortageReportMap {}", focusedModelShortageReportMap);
|
2839 |
LOGGER.info("focusedModelShortageReportMap {}",focusedModelShortageReportMap);
|
| 2838 |
if (!focusedModelShortageReportMap.isEmpty()) {
|
2840 |
if (!focusedModelShortageReportMap.isEmpty()) {
|
| 2839 |
String fileName = "Stock Alert-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
|
2841 |
String fileName = "Stock Alert-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
|
| 2840 |
Map<String, Set<Integer>> storeGuyMap = csService.getAuthUserPartnerIdMapping();
|
2842 |
Map<String, Set<Integer>> storeGuyMap = csService.getAuthUserPartnerIdMapping();
|
| 2841 |
Map<String, List<List<?>>> emailRowsMap = new HashMap<>();
|
2843 |
Map<String, List<List<?>>> emailRowsMap = new HashMap<>();
|
| 2842 |
|
2844 |
|
| Line 2865... |
Line 2867... |
| 2865 |
} catch (Exception e2) {
|
2867 |
} catch (Exception e2) {
|
| 2866 |
e2.printStackTrace();
|
2868 |
e2.printStackTrace();
|
| 2867 |
}
|
2869 |
}
|
| 2868 |
String[] sendToArray = new String[]{
|
2870 |
String[] sendToArray = new String[]{
|
| 2869 |
|
2871 |
|
| 2870 |
entry.getKey(), "alok.divedi@smartdukaan.com", "ranu.rajput@smartdukaan.com"
|
2872 |
entry.getKey(), "alok.divedi@smartdukaan.com","ranu.rajput@smartdukaan.com"
|
| 2871 |
|
2873 |
|
| 2872 |
};
|
2874 |
};
|
| 2873 |
|
2875 |
|
| 2874 |
|
2876 |
|
| 2875 |
try {
|
2877 |
try {
|
| Line 3706... |
Line 3708... |
| 3706 |
|
3708 |
|
| 3707 |
public void loanSettlement() throws Exception {
|
3709 |
public void loanSettlement() throws Exception {
|
| 3708 |
List<Loan> blockedLoans = loanRepository.selectAllActiveLoan().stream().filter(x -> x.getFreeDays() >= 365).collect(toList());
|
3710 |
List<Loan> blockedLoans = loanRepository.selectAllActiveLoan().stream().filter(x -> x.getFreeDays() >= 365).collect(toList());
|
| 3709 |
List<Loan> loans = loanRepository.selectAllActiveLoan().stream().filter(x -> x.getFreeDays() < 365).collect(toList());
|
3711 |
List<Loan> loans = loanRepository.selectAllActiveLoan().stream().filter(x -> x.getFreeDays() < 365).collect(toList());
|
| 3710 |
//Settle blocked loans only when normal loans are settled
|
3712 |
//Settle blocked loans only when normal loans are settled
|
| 3711 |
loans.addAll(blockedLoans);
|
3713 |
loans.addAll(blockedLoans);
|
| 3712 |
//TODO:Remove this code
|
3714 |
//TODO:Remove this code
|
| 3713 |
Loan specificLoan = loanRepository.selectByLoanId(20073);
|
3715 |
Loan specificLoan = loanRepository.selectByLoanId(20073);
|
| 3714 |
loans.add(0, specificLoan);
|
3716 |
loans.add(0, specificLoan);
|
| 3715 |
//TODO:Upto here
|
3717 |
//TODO:Upto here
|
| 3716 |
if (!loans.isEmpty()) {
|
3718 |
if (!loans.isEmpty()) {
|
| 3717 |
|
3719 |
|
| 3718 |
for (Loan loan : loans) {
|
3720 |
for (Loan loan : loans) {
|
| 3719 |
double settledAmount = sdCreditService.settleLoan(loan);
|
3721 |
double settledAmount = sdCreditService.settleLoan(loan);
|
| 3720 |
|
3722 |
|
| 3721 |
List<SanctionRequest> sanctionRequests = sanctionRequestRepository.selectHoldSanctionByFofoId(loan.getFofoId());
|
3723 |
List<SanctionRequest> sanctionRequests = sanctionRequestRepository.selectHoldSanctionByFofoId(loan.getFofoId());
|
| 3722 |
for (SanctionRequest sanctionRequest : sanctionRequests) {
|
3724 |
for (SanctionRequest sanctionRequest : sanctionRequests) {
|
| - |
|
3725 |
|
| - |
|
3726 |
List<Order> orders = orderRepository.selectAllByTransactionId(sanctionRequest.getTransactionId());
|
| - |
|
3727 |
if (orders.size() == 0) {
|
| - |
|
3728 |
LOGGER.info("Could not find orders - for Sanction Request {}", sanctionRequest);
|
| - |
|
3729 |
continue;
|
| - |
|
3730 |
}
|
| 3723 |
|
3731 |
|
| 3724 |
List<Order> orders = orderRepository.selectAllByTransactionId(sanctionRequest.getTransactionId());
|
3732 |
if (settledAmount >= sanctionRequest.getPendingAmount().doubleValue()) {
|
| 3725 |
if (orders.size() == 0) {
|
3733 |
settledAmount -= sanctionRequest.getPendingAmount().doubleValue();
|
| 3726 |
LOGGER.info("Could not find orders - for Sanction Request {}", sanctionRequest);
|
3734 |
sanctionRequest.setPendingAmount(BigDecimal.valueOf(0));
|
| - |
|
3735 |
this.sendUnholdEmail(orders);
|
| 3727 |
continue;
|
3736 |
} else {
|
| - |
|
3737 |
double pendinAmount = sanctionRequest.getPendingAmount().doubleValue() - settledAmount;
|
| - |
|
3738 |
System.out.println("Pending Amount - " + pendinAmount);
|
| - |
|
3739 |
sanctionRequest.setPendingAmount(BigDecimal.valueOf(pendinAmount));
|
| 3728 |
}
|
3740 |
break;
|
| 3729 |
|
3741 |
|
| 3730 |
if (settledAmount >= sanctionRequest.getPendingAmount().doubleValue()) {
|
- |
|
| 3731 |
settledAmount -= sanctionRequest.getPendingAmount().doubleValue();
|
- |
|
| 3732 |
sanctionRequest.setPendingAmount(BigDecimal.valueOf(0));
|
- |
|
| 3733 |
this.sendUnholdEmail(orders);
|
- |
|
| 3734 |
} else {
|
- |
|
| 3735 |
double pendinAmount = sanctionRequest.getPendingAmount().doubleValue() - settledAmount;
|
- |
|
| 3736 |
System.out.println("Pending Amount - " + pendinAmount);
|
- |
|
| 3737 |
sanctionRequest.setPendingAmount(BigDecimal.valueOf(pendinAmount));
|
- |
|
| 3738 |
break;
|
3742 |
}
|
| 3739 |
|
3743 |
|
| 3740 |
}
|
3744 |
}
|
| 3741 |
|
- |
|
| 3742 |
}
|
3745 |
}
|
| - |
|
3746 |
|
| 3743 |
}
|
3747 |
}
|
| 3744 |
|
3748 |
|
| 3745 |
}
|
- |
|
| 3746 |
|
3749 |
|
| 3747 |
|
3750 |
|
| 3748 |
}
|
3751 |
}
|
| 3749 |
|
3752 |
|
| 3750 |
|
3753 |
|
| Line 3946... |
Line 3949... |
| 3946 |
|
3949 |
|
| 3947 |
}
|
3950 |
}
|
| 3948 |
|
3951 |
|
| 3949 |
}
|
3952 |
}
|
| 3950 |
String messageText = this.getMessageForDueDateExtend(defaultLoans);
|
3953 |
String messageText = this.getMessageForDueDateExtend(defaultLoans);
|
| 3951 |
this.sendMailOfHtmlFormat(googleMailSender, new String[]{"puneet.wahi@smartdukaan.com", "rahul.latwal@smartdukaan.com"}, messageText, null, subject);
|
3954 |
this.sendMailOfHtmlFormat(googleMailSender, new String[]{"puneet.wahi@smartdukaan.com","rahul.latwal@smartdukaan.com"}, messageText, null, subject);
|
| 3952 |
|
3955 |
|
| 3953 |
for (Loan defaultLoan : defaultLoans) {
|
3956 |
for (Loan defaultLoan : defaultLoans) {
|
| 3954 |
List<LoanStatement> loanStatements = loanStatementRepository.selectByLoanId(defaultLoan.getId());
|
3957 |
List<LoanStatement> loanStatements = loanStatementRepository.selectByLoanId(defaultLoan.getId());
|
| 3955 |
|
3958 |
|
| 3956 |
double amount = loanStatements.stream().map(x -> x.getAmount()).collect(Collectors.summingDouble(x -> x.doubleValue()));
|
3959 |
double amount = loanStatements.stream().map(x -> x.getAmount()).collect(Collectors.summingDouble(x -> x.doubleValue()));
|
| Line 5041... |
Line 5044... |
| 5041 |
|
5044 |
|
| 5042 |
public void createOpeningStockPartyWise() throws Exception {
|
5045 |
public void createOpeningStockPartyWise() throws Exception {
|
| 5043 |
// Get all partner stock data
|
5046 |
// Get all partner stock data
|
| 5044 |
Map<Integer, List<PartnerOpeningStockByTodayModel>> partnerOpeningStockByTodayMap = currentInventorySnapshotRepository.getAllPartnerTodayStock();
|
5047 |
Map<Integer, List<PartnerOpeningStockByTodayModel>> partnerOpeningStockByTodayMap = currentInventorySnapshotRepository.getAllPartnerTodayStock();
|
| 5045 |
|
5048 |
|
| 5046 |
|
- |
|
| 5047 |
for (Map.Entry<Integer, List<PartnerOpeningStockByTodayModel>> entry : partnerOpeningStockByTodayMap.entrySet()) {
|
5049 |
for (Map.Entry<Integer, List<PartnerOpeningStockByTodayModel>> entry : partnerOpeningStockByTodayMap.entrySet()) {
|
| 5048 |
int fofoId = entry.getKey();
|
5050 |
int fofoId = entry.getKey();
|
| 5049 |
List<PartnerOpeningStockByTodayModel> partnerStockList = entry.getValue();
|
5051 |
List<PartnerOpeningStockByTodayModel> partnerStockList = entry.getValue();
|
| 5050 |
|
5052 |
|
| - |
|
5053 |
// if stock is vaialble in snapshot
|
| 5051 |
for (PartnerOpeningStockByTodayModel partnerStock : partnerStockList) {
|
5054 |
for (PartnerOpeningStockByTodayModel partnerStock : partnerStockList) {
|
| 5052 |
int catalogId = partnerStock.getCatalogId();
|
5055 |
int catalogId = partnerStock.getCatalogId();
|
| 5053 |
int stockQty = partnerStock.getOpeningQty();
|
5056 |
int partnerCurrentQty = partnerStock.getOpeningQty();
|
| 5054 |
LocalDate openingDate = partnerStock.getOpeningDate();
|
5057 |
LocalDate openingDate = partnerStock.getOpeningDate();
|
| 5055 |
|
5058 |
|
| 5056 |
// Check if an entry already exists in the FofoOpeningStock table
|
5059 |
// Check if an entry already exists in the FofoOpeningStock table
|
| 5057 |
FofoOpeningStock existingStock = fofoOpeningStockRepository.findByFofoIdAndCatalogId(fofoId, catalogId);
|
5060 |
FofoOpeningStock existingStock = fofoOpeningStockRepository.findByFofoIdAndCatalogId(fofoId, catalogId);
|
| 5058 |
|
5061 |
|
| - |
|
5062 |
|
| 5059 |
if (existingStock != null) {
|
5063 |
if (existingStock != null) {
|
| 5060 |
if(stockQty < 1 && existingStock.getOpeningDate().isBefore(LocalDate.now().minusDays(7))){
|
5064 |
if(partnerCurrentQty < 1 && existingStock.getOpeningDate().isBefore(LocalDate.now().minusDays(7))){
|
| 5061 |
fofoOpeningStockRepository.delete(existingStock);
|
5065 |
fofoOpeningStockRepository.delete(existingStock);
|
| 5062 |
}
|
5066 |
}
|
| 5063 |
if (existingStock.getOpeningQty() < stockQty) {
|
5067 |
if (existingStock.getOpeningQty() < partnerCurrentQty) {
|
| 5064 |
existingStock.setOpeningQty(stockQty);
|
5068 |
existingStock.setOpeningQty(partnerCurrentQty);
|
| 5065 |
existingStock.setCurrentQty(stockQty);
|
5069 |
existingStock.setCurrentQty(partnerCurrentQty);
|
| 5066 |
existingStock.setOpeningDate(openingDate);
|
5070 |
existingStock.setOpeningDate(openingDate);
|
| 5067 |
LOGGER.info("if condition exist {}");
|
5071 |
LOGGER.info("if condition exist {}");
|
| 5068 |
} else if (existingStock.getCurrentQty() >= existingStock.getOpeningQty()) {
|
5072 |
}else if(existingStock.getCurrentQty() >= existingStock.getOpeningQty()){
|
| 5069 |
existingStock.setOpeningQty(existingStock.getCurrentQty());
|
5073 |
existingStock.setOpeningQty(existingStock.getCurrentQty());
|
| 5070 |
existingStock.setOpeningDate(LocalDate.now());
|
5074 |
existingStock.setOpeningDate(LocalDate.now());
|
| 5071 |
} else if (existingStock.getOpeningDate().isBefore(LocalDate.now().minusDays(7))) {
|
5075 |
} else if (existingStock.getOpeningDate().isBefore(LocalDate.now().minusDays(7))) {
|
| 5072 |
int averageQty = Math.round((existingStock.getCurrentQty() + existingStock.getOpeningQty()) / 2.0f);
|
5076 |
int averageQty = Math.round((existingStock.getCurrentQty() + existingStock.getOpeningQty()) / 2.0f);
|
| 5073 |
|
5077 |
|
| 5074 |
if (averageQty == 1 && existingStock.getOpeningQty() == 1 && existingStock.getCurrentQty() == 0) {
|
5078 |
if (averageQty == 1 && existingStock.getOpeningQty() == 1 && existingStock.getCurrentQty() == 0) {
|
| 5075 |
// Delete the existing stock entry from the table
|
5079 |
// Delete the existing stock entry from the table
|
| Line 5085... |
Line 5089... |
| 5085 |
} else {
|
5089 |
} else {
|
| 5086 |
LOGGER.info("else condition exist");
|
5090 |
LOGGER.info("else condition exist");
|
| 5087 |
FofoOpeningStock newStock = new FofoOpeningStock();
|
5091 |
FofoOpeningStock newStock = new FofoOpeningStock();
|
| 5088 |
newStock.setFofoId(fofoId);
|
5092 |
newStock.setFofoId(fofoId);
|
| 5089 |
newStock.setCatalogId(catalogId);
|
5093 |
newStock.setCatalogId(catalogId);
|
| 5090 |
newStock.setOpeningQty(stockQty);
|
5094 |
newStock.setOpeningQty(partnerCurrentQty);
|
| 5091 |
newStock.setCurrentQty(stockQty);
|
5095 |
newStock.setCurrentQty(partnerCurrentQty);
|
| 5092 |
newStock.setOpeningDate(openingDate);
|
5096 |
newStock.setOpeningDate(openingDate);
|
| 5093 |
fofoOpeningStockRepository.persist(newStock);
|
5097 |
fofoOpeningStockRepository.persist(newStock);
|
| 5094 |
|
5098 |
|
| 5095 |
}
|
5099 |
}
|
| 5096 |
}
|
5100 |
}
|
| - |
|
5101 |
|
| - |
|
5102 |
// if stock is not available in snapshot but available in opening stock
|
| - |
|
5103 |
List<FofoOpeningStock> fofoOpeningStockList = fofoOpeningStockRepository.selectAllByFofoId(fofoId);
|
| - |
|
5104 |
|
| - |
|
5105 |
for(FofoOpeningStock fofoOpeningStock : fofoOpeningStockList){
|
| - |
|
5106 |
|
| - |
|
5107 |
if(!partnerStockList.stream().anyMatch(partnerStock -> partnerStock.getCatalogId() == fofoOpeningStock.getCatalogId())){
|
| - |
|
5108 |
if(fofoOpeningStock.getOpeningDate().isBefore(LocalDate.now().minusDays(7))){
|
| - |
|
5109 |
LOGGER.info("not match stock{}",fofoOpeningStock);
|
| - |
|
5110 |
fofoOpeningStockRepository.delete(fofoOpeningStock);
|
| - |
|
5111 |
}else{
|
| - |
|
5112 |
LOGGER.info("not match stock2{}",fofoOpeningStock);
|
| - |
|
5113 |
fofoOpeningStock.setCurrentQty(0);
|
| - |
|
5114 |
}
|
| - |
|
5115 |
|
| - |
|
5116 |
}
|
| - |
|
5117 |
}
|
| - |
|
5118 |
|
| - |
|
5119 |
}
|
| - |
|
5120 |
}
|
| - |
|
5121 |
|
| - |
|
5122 |
|
| - |
|
5123 |
@Autowired
|
| - |
|
5124 |
private CategorisedCatalogRepository categorisedCatalogRepository;
|
| - |
|
5125 |
|
| - |
|
5126 |
public void groupHidCatalogsByWeeks() throws ProfitMandiBusinessException, MessagingException, IOException {
|
| - |
|
5127 |
List<CategorisedCatalogListModel> categorisedCatalogs = categorisedCatalogRepository.getListByStatus(CatalogMovingEnum.HID);
|
| - |
|
5128 |
LocalDate currentDate = LocalDate.now();
|
| - |
|
5129 |
LocalDate oneWeekAgo = currentDate.minusDays(7);
|
| - |
|
5130 |
LocalDate twoWeeksAgo = currentDate.minusDays(14);
|
| - |
|
5131 |
LocalDate threeWeeksAgo = currentDate.minusDays(21);
|
| - |
|
5132 |
|
| - |
|
5133 |
// This Week (inclusive of the current date)
|
| - |
|
5134 |
List<CategorisedCatalogListModel> thisWeekCatalogs = categorisedCatalogs.stream()
|
| - |
|
5135 |
.filter(catalog -> !catalog.getStatusCreatedDate().isBefore(oneWeekAgo))
|
| - |
|
5136 |
.collect(Collectors.toList());
|
| - |
|
5137 |
|
| - |
|
5138 |
// Last Week (from one week ago to two weeks ago, exclusive of this week)
|
| - |
|
5139 |
List<CategorisedCatalogListModel> lastWeekCatalogs = categorisedCatalogs.stream()
|
| - |
|
5140 |
.filter(catalog -> catalog.getStatusCreatedDate().isBefore(oneWeekAgo) && !catalog.getStatusCreatedDate().isBefore(twoWeeksAgo))
|
| - |
|
5141 |
.collect(Collectors.toList());
|
| - |
|
5142 |
|
| - |
|
5143 |
// Two Weeks Ago (from two weeks ago to three weeks ago, exclusive of last week)
|
| - |
|
5144 |
List<CategorisedCatalogListModel> twoWeeksAgoCatalogs = categorisedCatalogs.stream()
|
| - |
|
5145 |
.filter(catalog -> catalog.getStatusCreatedDate().isBefore(twoWeeksAgo) && !catalog.getStatusCreatedDate().isBefore(threeWeeksAgo))
|
| - |
|
5146 |
.collect(Collectors.toList());
|
| - |
|
5147 |
|
| - |
|
5148 |
// Older than Two Weeks Ago (anything older than three weeks ago)
|
| - |
|
5149 |
List<CategorisedCatalogListModel> olderCatalogs = categorisedCatalogs.stream()
|
| - |
|
5150 |
.filter(catalog -> catalog.getStatusCreatedDate().isBefore(threeWeeksAgo))
|
| - |
|
5151 |
.collect(Collectors.toList());
|
| - |
|
5152 |
|
| - |
|
5153 |
|
| - |
|
5154 |
String subject = "Hid Catalogs";
|
| - |
|
5155 |
StringBuilder sb = new StringBuilder();
|
| - |
|
5156 |
|
| - |
|
5157 |
sb.append("<html><body><p>Hi Catagory Team,\n");
|
| - |
|
5158 |
sb.append("<p style='font-weight:500;'>Please review the HID catalogs for this week:</p>\n" + "<table style='border:1px solid black ;padding: 5px; border-collapse: collapse;'>");
|
| - |
|
5159 |
|
| - |
|
5160 |
sb.append("<th style='border:1px solid black;padding: 5px'>Brand</th>\n");
|
| - |
|
5161 |
sb.append("<th style='border:1px solid black;padding: 5px'>Model Number</th>\n");
|
| - |
|
5162 |
sb.append("<th style='border:1px solid black;padding: 5px'>Model Name</th>\n");
|
| - |
|
5163 |
sb.append("<th style='border:1px solid black;padding: 5px'>Catalog Id</th>\n");
|
| - |
|
5164 |
sb.append("<th style='border:1px solid black;padding: 5px'>Start Date</th>\n");
|
| - |
|
5165 |
sb.append("<th style='border:1px solid black;padding: 5px'>End Date</th>\n");
|
| - |
|
5166 |
sb.append("</tr>\n");
|
| - |
|
5167 |
|
| - |
|
5168 |
for (CategorisedCatalogListModel catalog : thisWeekCatalogs) {
|
| - |
|
5169 |
sb.append("<tr>");
|
| - |
|
5170 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getBrand() + "</td>\n");
|
| - |
|
5171 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelNumber() + "</td>\n");
|
| - |
|
5172 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelId() + "</td>\n");
|
| - |
|
5173 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getCurrentStatus() + "</td>\n");
|
| - |
|
5174 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusCreatedDate() + "</td>\n");
|
| - |
|
5175 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusEndDate() + "</td>\n");
|
| - |
|
5176 |
|
| - |
|
5177 |
sb.append("</tr>\n");
|
| - |
|
5178 |
|
| - |
|
5179 |
}
|
| - |
|
5180 |
|
| - |
|
5181 |
sb.append("</table>");
|
| - |
|
5182 |
|
| - |
|
5183 |
sb.append("</br>");
|
| - |
|
5184 |
sb.append("</br>");
|
| - |
|
5185 |
sb.append("</br>");
|
| - |
|
5186 |
sb.append("<p style='font-weight:500;'>Please review the HID catalogs for last week:</p>\n" + "<table style='border:1px solid black ;padding: 5px; border-collapse: collapse;'>");
|
| - |
|
5187 |
|
| - |
|
5188 |
sb.append("<th style='border:1px solid black;padding: 5px'>Brand</th>\n");
|
| - |
|
5189 |
sb.append("<th style='border:1px solid black;padding: 5px'>Model Number</th>\n");
|
| - |
|
5190 |
sb.append("<th style='border:1px solid black;padding: 5px'>Model Name</th>\n");
|
| - |
|
5191 |
sb.append("<th style='border:1px solid black;padding: 5px'>Catalog Id</th>\n");
|
| - |
|
5192 |
sb.append("<th style='border:1px solid black;padding: 5px'>Start Date</th>\n");
|
| - |
|
5193 |
sb.append("<th style='border:1px solid black;padding: 5px'>End Date</th>\n");
|
| - |
|
5194 |
sb.append("</tr>\n");
|
| - |
|
5195 |
|
| - |
|
5196 |
for (CategorisedCatalogListModel catalog : lastWeekCatalogs) {
|
| - |
|
5197 |
sb.append("<tr>");
|
| - |
|
5198 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getBrand() + "</td>\n");
|
| - |
|
5199 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelNumber() + "</td>\n");
|
| - |
|
5200 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelId() + "</td>\n");
|
| - |
|
5201 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getCurrentStatus() + "</td>\n");
|
| - |
|
5202 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusCreatedDate() + "</td>\n");
|
| - |
|
5203 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusEndDate() + "</td>\n");
|
| - |
|
5204 |
|
| - |
|
5205 |
sb.append("</tr>\n");
|
| - |
|
5206 |
|
| - |
|
5207 |
}
|
| - |
|
5208 |
sb.append("</table>");
|
| - |
|
5209 |
|
| - |
|
5210 |
sb.append("</br>");
|
| - |
|
5211 |
sb.append("</br>");
|
| - |
|
5212 |
sb.append("</br>");
|
| - |
|
5213 |
sb.append("<p style='font-weight:500;'>Please review the HID catalogs for two week ago:</p>\n" + "<table style='border:1px solid black ;padding: 5px; border-collapse: collapse;'>");
|
| - |
|
5214 |
|
| - |
|
5215 |
sb.append("<th style='border:1px solid black;padding: 5px'>Brand</th>\n");
|
| - |
|
5216 |
sb.append("<th style='border:1px solid black;padding: 5px'>Model Number</th>\n");
|
| - |
|
5217 |
sb.append("<th style='border:1px solid black;padding: 5px'>Model Name</th>\n");
|
| - |
|
5218 |
sb.append("<th style='border:1px solid black;padding: 5px'>Catalog Id</th>\n");
|
| - |
|
5219 |
sb.append("<th style='border:1px solid black;padding: 5px'>Start Date</th>\n");
|
| - |
|
5220 |
sb.append("<th style='border:1px solid black;padding: 5px'>End Date</th>\n");
|
| - |
|
5221 |
sb.append("</tr>\n");
|
| - |
|
5222 |
|
| - |
|
5223 |
for (CategorisedCatalogListModel catalog : twoWeeksAgoCatalogs) {
|
| - |
|
5224 |
sb.append("<tr>");
|
| - |
|
5225 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getBrand() + "</td>\n");
|
| - |
|
5226 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelNumber() + "</td>\n");
|
| - |
|
5227 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelId() + "</td>\n");
|
| - |
|
5228 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getCurrentStatus() + "</td>\n");
|
| - |
|
5229 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusCreatedDate() + "</td>\n");
|
| - |
|
5230 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusEndDate() + "</td>\n");
|
| - |
|
5231 |
|
| - |
|
5232 |
sb.append("</tr>\n");
|
| - |
|
5233 |
|
| - |
|
5234 |
}
|
| - |
|
5235 |
sb.append("</table>");
|
| - |
|
5236 |
|
| - |
|
5237 |
sb.append("</br>");
|
| - |
|
5238 |
sb.append("</br>");
|
| - |
|
5239 |
sb.append("</br>");
|
| - |
|
5240 |
sb.append("<p style='font-weight:500;'>Please review the HID catalogs for older than two weeks ago:</p>\n" + "<table style='border:1px solid black ;padding: 5px; border-collapse: collapse;'>");
|
| - |
|
5241 |
|
| - |
|
5242 |
sb.append("<th style='border:1px solid black;padding: 5px'>Brand</th>\n");
|
| - |
|
5243 |
sb.append("<th style='border:1px solid black;padding: 5px'>Model Number</th>\n");
|
| - |
|
5244 |
sb.append("<th style='border:1px solid black;padding: 5px'>Model Name</th>\n");
|
| - |
|
5245 |
sb.append("<th style='border:1px solid black;padding: 5px'>Catalog Id</th>\n");
|
| - |
|
5246 |
sb.append("<th style='border:1px solid black;padding: 5px'>Start Date</th>\n");
|
| - |
|
5247 |
sb.append("<th style='border:1px solid black;padding: 5px'>End Date</th>\n");
|
| - |
|
5248 |
sb.append("</tr>\n");
|
| - |
|
5249 |
|
| - |
|
5250 |
for (CategorisedCatalogListModel catalog : olderCatalogs) {
|
| - |
|
5251 |
sb.append("<tr>");
|
| - |
|
5252 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getBrand() + "</td>\n");
|
| - |
|
5253 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelNumber() + "</td>\n");
|
| - |
|
5254 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getModelId() + "</td>\n");
|
| - |
|
5255 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getCurrentStatus() + "</td>\n");
|
| - |
|
5256 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusCreatedDate() + "</td>\n");
|
| - |
|
5257 |
sb.append("<td style='border:1px solid black;padding: 5px'>" + catalog.getStatusEndDate() + "</td>\n");
|
| - |
|
5258 |
|
| - |
|
5259 |
sb.append("</tr>\n");
|
| - |
|
5260 |
|
| 5097 |
}
|
5261 |
}
|
| - |
|
5262 |
sb.append("</table>");
|
| - |
|
5263 |
sb.append("</body></html>");
|
| - |
|
5264 |
|
| - |
|
5265 |
List<String> sendTo = Arrays.asList("uday.singh@smartdukaan.com", "kuldeep.kumar@smartdukaan.com", "nishant.ohri@smartdukaan.com", "ritesh.chauhan1@smartdukaan.com","shobhit.tandon@smartdukaan.com","tarun.verma@smartdukaan.com","niranjan.kala@smartdukaan.com");
|
| - |
|
5266 |
|
| - |
|
5267 |
|
| - |
|
5268 |
String[] email = sendTo.toArray(new String[sendTo.size()]);
|
| - |
|
5269 |
|
| - |
|
5270 |
this.sendMailOfHtmlFormat(mailSender, email, sb.toString(), null, subject);
|
| 5098 |
}
|
5271 |
}
|
| 5099 |
|
5272 |
|
| 5100 |
|
5273 |
|
| - |
|
5274 |
|
| - |
|
5275 |
|
| 5101 |
}
|
5276 |
}
|
| 5102 |
// 2284"
|
5277 |
// 2284"
|
| 5103 |
|
5278 |
|