Subversion Repositories SmartDukaan

Rev

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

Rev 33338 Rev 33341
Line 1... Line 1...
1
package com.spice.profitmandi.service.order;
1
package com.spice.profitmandi.service.order;
2
 
2
 
3
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
3
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
4
import com.spice.profitmandi.common.model.BulkOrderModel;
4
import com.spice.profitmandi.common.model.BulkOrderModel;
-
 
5
import com.spice.profitmandi.common.model.LineItemModel;
-
 
6
import com.spice.profitmandi.common.model.TransactionApprovalModel;
5
import com.spice.profitmandi.common.util.ExcelUtils;
7
import com.spice.profitmandi.common.util.ExcelUtils;
6
import com.spice.profitmandi.dao.cart.CartService;
8
import com.spice.profitmandi.dao.cart.CartService;
-
 
9
import com.spice.profitmandi.dao.entity.auth.AuthUser;
7
import com.spice.profitmandi.dao.entity.catalog.TagListing;
10
import com.spice.profitmandi.dao.entity.catalog.TagListing;
8
import com.spice.profitmandi.dao.entity.transaction.SDCreditRequirement;
11
import com.spice.profitmandi.dao.entity.transaction.LineItem;
-
 
12
import com.spice.profitmandi.dao.entity.transaction.Order;
9
import com.spice.profitmandi.dao.entity.transaction.Transaction;
13
import com.spice.profitmandi.dao.entity.transaction.Transaction;
10
import com.spice.profitmandi.dao.entity.transaction.TransactionApproval;
14
import com.spice.profitmandi.dao.entity.transaction.TransactionApproval;
11
import com.spice.profitmandi.dao.enumuration.transaction.TransactionApprovalStatus;
15
import com.spice.profitmandi.dao.enumuration.transaction.TransactionApprovalStatus;
12
import com.spice.profitmandi.dao.model.CartItem;
16
import com.spice.profitmandi.dao.model.CartItem;
13
import com.spice.profitmandi.dao.model.UserCart;
17
import com.spice.profitmandi.dao.model.UserCart;
-
 
18
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
14
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
19
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
15
import com.spice.profitmandi.dao.repository.dtr.UserRepository;
20
import com.spice.profitmandi.dao.repository.dtr.UserRepository;
-
 
21
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
16
import com.spice.profitmandi.dao.repository.transaction.SDCreditRequirementRepository;
22
import com.spice.profitmandi.dao.repository.transaction.SDCreditRequirementRepository;
17
import com.spice.profitmandi.dao.repository.transaction.TransactionApprovalRepository;
23
import com.spice.profitmandi.dao.repository.transaction.TransactionApprovalRepository;
18
import com.spice.profitmandi.dao.repository.transaction.TransactionRepository;
24
import com.spice.profitmandi.dao.repository.transaction.TransactionRepository;
19
import com.spice.profitmandi.dao.repository.user.AddressRepository;
25
import com.spice.profitmandi.dao.repository.user.AddressRepository;
20
import com.spice.profitmandi.service.transaction.SDCreditService;
26
import com.spice.profitmandi.service.transaction.SDCreditService;
Line 59... Line 65...
59
    TransactionRepository transactionRepository;
65
    TransactionRepository transactionRepository;
60
    @Autowired
66
    @Autowired
61
    TransactionApprovalRepository transactionApprovalRepository;
67
    TransactionApprovalRepository transactionApprovalRepository;
62
    @Autowired
68
    @Autowired
63
    AddressRepository addressRepository;
69
    AddressRepository addressRepository;
-
 
70
    @Autowired
-
 
71
    OrderRepository orderRepository;
-
 
72
    @Autowired
-
 
73
    AuthRepository authRepository;
-
 
74
    @Autowired
-
 
75
    SDCreditRequirementRepository sdCreditRequirementRepository;
64
    //TODO:Tejus need to check
76
    //TODO:Tejus need to check
65
 
77
 
66
    @Autowired
78
    @Autowired
67
    SDCreditService sdCreditService;
79
    SDCreditService sdCreditService;
68
 
80
 
Line 100... Line 112...
100
            double totalPayableAmount = 0;
112
            double totalPayableAmount = 0;
101
            for (BulkOrderModel fofoBulkOrderModel : fofoBulkOrderModels) {
113
            for (BulkOrderModel fofoBulkOrderModel : fofoBulkOrderModels) {
102
                CartItem cartItem = new CartItem();
114
                CartItem cartItem = new CartItem();
103
                cartItem.setQuantity(fofoBulkOrderModel.getQuantity());
115
                cartItem.setQuantity(fofoBulkOrderModel.getQuantity());
104
                cartItem.setItemId(fofoBulkOrderModel.getItemId());
116
                cartItem.setItemId(fofoBulkOrderModel.getItemId());
105
                boolean isPriceZero = fofoBulkOrderModel.getItemPrice() == 0.0;
117
                boolean isPriceZero = fofoBulkOrderModel.getItemPrice() == 0d;
106
                TagListing tagListing = tagListingRepository.selectByItemId(fofoBulkOrderModel.getItemId());
118
                TagListing tagListing = tagListingRepository.selectByItemId(fofoBulkOrderModel.getItemId());
107
                double itemSellingPrice = tagListing.getSellingPrice();
119
                double itemSellingPrice = tagListing.getSellingPrice();
108
                double customSellingPrice = fofoBulkOrderModel.getItemPrice();
120
                double customSellingPrice = fofoBulkOrderModel.getItemPrice();
109
                int itemId = cartItem.getItemId();
121
                int itemId = cartItem.getItemId();
110
                if (isPriceZero) {
122
                if (isPriceZero) {
Line 188... Line 200...
188
        }
200
        }
189
        LOGGER.info(bulkOrderModel);
201
        LOGGER.info(bulkOrderModel);
190
        return bulkOrderModel;
202
        return bulkOrderModel;
191
    }
203
    }
192
 
204
 
-
 
205
    // create model for transaction Approval so that finance team see all order and approve
-
 
206
    public List<TransactionApprovalModel> getAllPendingTransactionApproval() throws ProfitMandiBusinessException {
-
 
207
        List<TransactionApproval> transactionApprovals = transactionApprovalRepository.selectAllPending();
-
 
208
        LOGGER.info("list of Approval transaction Id " + transactionApprovals);
-
 
209
        List<TransactionApprovalModel> approvalModelList = new ArrayList<>();
-
 
210
        for (TransactionApproval transactionApproval : transactionApprovals) {
-
 
211
            List<Order> orderList = orderRepository.selectAllByTransactionId(transactionApproval.getId());
-
 
212
            Transaction transaction = transactionRepository.selectById(transactionApproval.getId());
-
 
213
            List<LineItemModel> lineItemModelList = new ArrayList<>();
-
 
214
            for (Order order : orderList) {
-
 
215
                LineItem lineItem = order.getLineItem();
-
 
216
                LineItemModel lineItemModel = new LineItemModel();
-
 
217
                lineItemModel.setItemId(lineItem.getItemId());
-
 
218
                lineItemModel.setItemName(lineItem.getItem().getItemDescription());
-
 
219
                lineItemModel.setItemQuantity(lineItem.getQuantity());
-
 
220
                lineItemModel.setSellingPrice(lineItem.getUnitPrice());
-
 
221
                lineItemModel.setDp(tagListingRepository.selectByItemId(lineItem.getItemId()).getSellingPrice());
-
 
222
                lineItemModelList.add(lineItemModel);
-
 
223
            }
-
 
224
            AuthUser authUser = authRepository.selectById(transaction.getCreatedBy());
-
 
225
            TransactionApprovalModel transactionApprovalModel = new TransactionApprovalModel();
-
 
226
            String retailerName = " ";
-
 
227
            retailerName = orderList.get(0).getRetailerName();
-
 
228
            transactionApprovalModel.setRetailerName(retailerName);
-
 
229
            transactionApprovalModel.setCreatedBy(authUser.getFullName());
-
 
230
            transactionApprovalModel.setCreatedOn(transaction.getCreateTimestamp());
-
 
231
            transactionApprovalModel.setTransactionId(transactionApproval.getId());
-
 
232
            transactionApprovalModel.setLineItemModels(lineItemModelList);
-
 
233
            approvalModelList.add(transactionApprovalModel);
-
 
234
 
-
 
235
        }
-
 
236
        return approvalModelList;
-
 
237
    }
-
 
238
 
193
 
239
 
194
}
240
}