| Line 55... |
Line 55... |
| 55 |
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
|
55 |
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
|
| 56 |
import com.spice.profitmandi.dao.entity.fofo.Purchase;
|
56 |
import com.spice.profitmandi.dao.entity.fofo.Purchase;
|
| 57 |
import com.spice.profitmandi.dao.entity.fofo.SaleHeadDetails;
|
57 |
import com.spice.profitmandi.dao.entity.fofo.SaleHeadDetails;
|
| 58 |
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
|
58 |
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
|
| 59 |
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
|
59 |
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
|
| 60 |
import com.spice.profitmandi.dao.entity.transaction.Order;
|
- |
|
| 61 |
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
|
60 |
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
|
| 62 |
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
|
61 |
import com.spice.profitmandi.dao.enumuration.fofo.ScanType;
|
| 63 |
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
|
62 |
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
|
| 64 |
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
|
63 |
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
|
| 65 |
import com.spice.profitmandi.dao.repository.dtr.DailyRechargeRepository;
|
64 |
import com.spice.profitmandi.dao.repository.dtr.DailyRechargeRepository;
|
| Line 73... |
Line 72... |
| 73 |
import com.spice.profitmandi.dao.repository.fofo.PartnerTargetRepository;
|
72 |
import com.spice.profitmandi.dao.repository.fofo.PartnerTargetRepository;
|
| 74 |
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
|
73 |
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
|
| 75 |
import com.spice.profitmandi.dao.repository.fofo.ScanRecordRepository;
|
74 |
import com.spice.profitmandi.dao.repository.fofo.ScanRecordRepository;
|
| 76 |
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
|
75 |
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
|
| 77 |
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
|
76 |
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
|
| - |
|
77 |
import com.spice.profitmandi.service.PartnerInvestmentService;
|
| 78 |
import com.spice.profitmandi.service.inventory.InventoryService;
|
78 |
import com.spice.profitmandi.service.inventory.InventoryService;
|
| 79 |
import com.spice.profitmandi.service.order.OrderService;
|
79 |
import com.spice.profitmandi.service.order.OrderService;
|
| 80 |
import com.spice.profitmandi.service.recharge.provider.OxigenRechargeProviderService;
|
80 |
import com.spice.profitmandi.service.recharge.provider.OxigenRechargeProviderService;
|
| 81 |
import com.spice.profitmandi.service.recharge.provider.ThinkWalnutDigitalRechargeProviderService;
|
81 |
import com.spice.profitmandi.service.recharge.provider.ThinkWalnutDigitalRechargeProviderService;
|
| 82 |
import com.spice.profitmandi.service.scheme.SchemeService;
|
82 |
import com.spice.profitmandi.service.scheme.SchemeService;
|
| Line 135... |
Line 135... |
| 135 |
|
135 |
|
| 136 |
@Autowired
|
136 |
@Autowired
|
| 137 |
private OrderService orderService;
|
137 |
private OrderService orderService;
|
| 138 |
|
138 |
|
| 139 |
@Autowired
|
139 |
@Autowired
|
| - |
|
140 |
private PartnerInvestmentService partnerInvestmentService;
|
| - |
|
141 |
|
| - |
|
142 |
@Autowired
|
| 140 |
private PartnerDailyInvestmentRepository partnerDailyInvestmentRepository;
|
143 |
private PartnerDailyInvestmentRepository partnerDailyInvestmentRepository;
|
| 141 |
|
144 |
|
| 142 |
@Autowired
|
145 |
@Autowired
|
| 143 |
private SchemeInOutRepository schemeInOutRepository;
|
146 |
private SchemeInOutRepository schemeInOutRepository;
|
| 144 |
|
147 |
|
| Line 481... |
Line 484... |
| 481 |
CustomRetailer retailer = customRetailerMap.get(fofoStore.getId());
|
484 |
CustomRetailer retailer = customRetailerMap.get(fofoStore.getId());
|
| 482 |
if (retailer == null) {
|
485 |
if (retailer == null) {
|
| 483 |
LOGGER.info("Could not find retailer with retailer Id {}", fofoStore.getId());
|
486 |
LOGGER.info("Could not find retailer with retailer Id {}", fofoStore.getId());
|
| 484 |
continue;
|
487 |
continue;
|
| 485 |
}
|
488 |
}
|
| 486 |
float walletAmount = walletService.getUserWallet(fofoStore.getId()).getAmount();
|
- |
|
| 487 |
float inStockAmount = inventoryService.getTotalAmountInStock(fofoStore.getId());
|
- |
|
| 488 |
float salesAmount = orderService.getSales(fofoStore.getId(), LocalDateTime.now().minusDays(1).with(LocalTime.MIDNIGHT), LocalDateTime.now());
|
- |
|
| 489 |
float returnInTransitAmount = 0;
|
- |
|
| 490 |
float unbilledStockAmount = 0;
|
- |
|
| 491 |
List<Order> unbilledOrders = transactionService.getInTransitOrders(fofoStore.getId());
|
489 |
PartnerDailyInvestment partnerDailyInvestment = partnerInvestmentService
|
| 492 |
for (Order unBilledOrder : unbilledOrders) {
|
- |
|
| 493 |
unbilledStockAmount += unBilledOrder.getTotalAmount();
|
- |
|
| 494 |
}
|
- |
|
| 495 |
|
- |
|
| 496 |
float grnPendingStockAmount = 0;
|
490 |
.getInvestment(fofoStore.getId(), 1);
|
| 497 |
List<Order> grnPendingOrders = orderRepository.selectPendingGrnOrders(fofoStore.getId());
|
- |
|
| 498 |
for (Order grnPendingOrder : grnPendingOrders) {
|
- |
|
| 499 |
LOGGER.info("Grn pending for Order {} and partner {}", grnPendingOrder.getId(),
|
- |
|
| 500 |
grnPendingOrder.getRetailerEmailId());
|
491 |
partnerDailyInvestment.setDate(yesterDay);
|
| 501 |
grnPendingStockAmount += grnPendingOrder.getTotalAmount();
|
492 |
partnerDailyInvestmentRepository.persist(partnerDailyInvestment);
|
| 502 |
}
|
- |
|
| 503 |
float totalInvestedAmount = walletAmount + inStockAmount + unbilledStockAmount + grnPendingStockAmount + salesAmount;
|
- |
|
| 504 |
float shortValue = fofoStore.getMinimumInvestment() - totalInvestedAmount;
|
- |
|
| 505 |
|
493 |
|
| 506 |
List<Object> row = Arrays.asList(fofoStore.getCode(), retailer.getBusinessName(), retailer.getEmail(),
|
494 |
List<Object> row = Arrays.asList(fofoStore.getCode(), retailer.getBusinessName(), retailer.getEmail(),
|
| 507 |
retailer.getMobileNumber(), walletAmount, salesAmount, inStockAmount, 0, unbilledStockAmount,
|
495 |
retailer.getMobileNumber(), partnerDailyInvestment.getWalletAmount(),
|
| 508 |
grnPendingStockAmount, fofoStore.getMinimumInvestment(), totalInvestedAmount, shortValue);
|
- |
|
| 509 |
try {
|
- |
|
| 510 |
PartnerDailyInvestment partnerDailyInvestment = new PartnerDailyInvestment();
|
- |
|
| 511 |
partnerDailyInvestment.setDate(yesterDay);
|
- |
|
| 512 |
partnerDailyInvestment.setFofoId(fofoStore.getId());
|
- |
|
| 513 |
partnerDailyInvestment.setGrnPendingAmount(grnPendingStockAmount);
|
496 |
partnerDailyInvestment.getSalesAmount(), partnerDailyInvestment.getInStockAmount(), 0,
|
| 514 |
partnerDailyInvestment.setInStockAmount(inStockAmount);
|
497 |
partnerDailyInvestment.getInStockAmount(), partnerDailyInvestment.getInStockAmount(),
|
| 515 |
partnerDailyInvestment.setSalesAmount(salesAmount);
|
- |
|
| 516 |
partnerDailyInvestment.setReturnInTransitAmount(returnInTransitAmount);
|
- |
|
| 517 |
partnerDailyInvestment.setUnbilledAmount(unbilledStockAmount);
|
- |
|
| 518 |
partnerDailyInvestment.setWalletAmount(walletAmount);
|
- |
|
| 519 |
partnerDailyInvestment.setMinInvestment(fofoStore.getMinimumInvestment());
|
498 |
partnerDailyInvestment.getMinInvestment(), partnerDailyInvestment.getTotalInvestment(), partnerDailyInvestment.getShortInvestment());
|
| 520 |
partnerDailyInvestmentRepository.persist(partnerDailyInvestment);
|
- |
|
| 521 |
} catch(Exception e) {
|
- |
|
| 522 |
e.printStackTrace();
|
- |
|
| 523 |
}
|
- |
|
| 524 |
rows.add(row);
|
499 |
rows.add(row);
|
| 525 |
|
500 |
|
| 526 |
}
|
501 |
}
|
| 527 |
String fileName = "InvestmentSummary-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
|
502 |
String fileName = "InvestmentSummary-" + FormattingUtils.formatDate(LocalDateTime.now()) + ".csv";
|
| 528 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
|
503 |
ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
|