public RvLineItem createRVLineItemWithBasicDetails(SkuGroup skuGroup, Sku sku) { RvLineItem rvLineItem = new RvLineItem(); rvLineItem.setProductVariant(sku.getProductVariant()); rvLineItem.setBatchNumber(skuGroup.getBatchNumber()); rvLineItem.setQty(1L); rvLineItem.setMrp(skuGroup.getMrp()); rvLineItem.setCostPrice(skuGroup.getCostPrice()); rvLineItem.setMfgDate(skuGroup.getMfgDate()); rvLineItem.setExpiryDate(skuGroup.getExpiryDate()); rvLineItem.setSku(sku); rvLineItem.setSkuGroup(skuGroup); return rvLineItem; }
@Transactional public RvLineItem reconcileInventoryForPV( RvLineItem rvLineItem, List<SkuItem> inStockSkuItems, Sku sku) { RvLineItem rvLineItemSaved = null; User loggedOnUser = userService.getLoggedInUser(); int deleteQty = rvLineItem.getQty().intValue(); rvLineItem.setSku(sku); rvLineItem.setReconciledQty(rvLineItem.getQty()); rvLineItem.setReconciliationType( EnumReconciliationType.ProductVariantAudited.asReconciliationType()); rvLineItemSaved = (RvLineItem) reconciliationVoucherDao.save(rvLineItem); for (int i = 0; i < deleteQty; i++) { SkuItem skuItem = inStockSkuItems.get(i); // Delete -1 entry in PVI adminInventoryService.inventoryCheckinCheckout( sku, skuItem, null, null, null, rvLineItemSaved, null, inventoryService.getInventoryTxnType(EnumInvTxnType.PRODUCT_VARIANT_AUDITED), -1L, loggedOnUser); // set sku item status to Product_variant_ Audited skuItem.setSkuItemStatus(EnumSkuItemStatus.ProductVariantAudited.getSkuItemStatus()); skuItem = skuGroupService.saveSkuItem(skuItem); } // Check inventory health now. inventoryService.checkInventoryHealth(sku.getProductVariant()); // save RvLine item return rvLineItemSaved; }