Subversion Repositories SmartDukaan

Rev

Rev 8217 | Rev 16264 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4687 mandeep.dh 1
package in.shop2020.inventory.controllers;
2
 
4846 mandeep.dh 3
import in.shop2020.model.v1.catalog.Item;
7410 amar.kumar 4
import in.shop2020.model.v1.inventory.InventoryService;
11801 manish.sha 5
import in.shop2020.model.v1.inventory.InventoryServiceException;
5945 mandeep.dh 6
import in.shop2020.model.v1.inventory.InventoryType;
7
import in.shop2020.model.v1.inventory.Warehouse;
8
import in.shop2020.model.v1.inventory.WarehouseType;
5110 mandeep.dh 9
import in.shop2020.model.v1.order.LineItem;
5496 mandeep.dh 10
import in.shop2020.purchase.Invoice;
11801 manish.sha 11
/*import in.shop2020.purchase.POStatus;*/
5110 mandeep.dh 12
import in.shop2020.purchase.PurchaseOrder;
11801 manish.sha 13
/*import in.shop2020.purchase.PurchaseService;*/
4687 mandeep.dh 14
import in.shop2020.purchase.PurchaseServiceException;
15
import in.shop2020.thrift.clients.CatalogClient;
7410 amar.kumar 16
import in.shop2020.thrift.clients.HelperClient;
5945 mandeep.dh 17
import in.shop2020.thrift.clients.InventoryClient;
4687 mandeep.dh 18
import in.shop2020.thrift.clients.PurchaseClient;
19
import in.shop2020.thrift.clients.WarehouseClient;
7410 amar.kumar 20
import in.shop2020.utils.HelperService;
4846 mandeep.dh 21
import in.shop2020.utils.ModelUtils;
4687 mandeep.dh 22
import in.shop2020.warehouse.InventoryItem;
23
import in.shop2020.warehouse.ScanType;
7410 amar.kumar 24
import in.shop2020.warehouse.WarehouseService;
4687 mandeep.dh 25
import in.shop2020.warehouse.WarehouseService.Client;
26
import in.shop2020.warehouse.WarehouseServiceException;
27
 
4846 mandeep.dh 28
import java.util.ArrayList;
5496 mandeep.dh 29
import java.util.Calendar;
30
import java.util.Date;
5110 mandeep.dh 31
import java.util.HashMap;
4846 mandeep.dh 32
import java.util.List;
5110 mandeep.dh 33
import java.util.Map;
4846 mandeep.dh 34
 
4687 mandeep.dh 35
import javax.servlet.ServletContext;
36
 
5496 mandeep.dh 37
import org.apache.commons.lang.StringUtils;
4687 mandeep.dh 38
import org.apache.struts2.convention.annotation.Result;
39
import org.apache.struts2.convention.annotation.Results;
40
import org.apache.thrift.TException;
41
import org.apache.thrift.transport.TTransportException;
42
import org.slf4j.Logger;
43
import org.slf4j.LoggerFactory;
44
 
45
@SuppressWarnings("serial")
46
@Results({ @Result(name = "redirect", type = "redirectAction", params = {
47
        "actionName", "warehouse" }) })
48
public class PurchaseController extends BaseController {
5110 mandeep.dh 49
    /**
50
     * 
51
     */
52
    private static final int NUM_BULK__SCAN_ITEMS = 10;
53
    private static Logger logger = LoggerFactory.getLogger(PurchaseController.class);
7410 amar.kumar 54
    public static enum ScanRecordType { VALID, BLANK };
11801 manish.sha 55
    private static final long DUMMY_VENDOR_ID = 40;
4687 mandeep.dh 56
 
57
    private ServletContext context;
58
    private String id;
7410 amar.kumar 59
    private Long transferLotId;
4687 mandeep.dh 60
    private String itemId;
61
    private String itemNo;
62
    private String errorMsg = "";
4846 mandeep.dh 63
    private List<Item> items;
5110 mandeep.dh 64
    private List<LineItem> lineItems;
5496 mandeep.dh 65
    private List<Invoice> invoices;
6630 amar.kumar 66
 
67
    private String invoiceNumber;
68
    private Double freightCharges ;
69
    private Long poId;
11801 manish.sha 70
    private String purchaseComments;
4687 mandeep.dh 71
 
72
    private String purchaseOrderId;
7410 amar.kumar 73
    private Long warehouseId;
74
    private Long transferWarehouseId;
5110 mandeep.dh 75
    private Warehouse warehouse;
11801 manish.sha 76
    private Warehouse thirdPartyWarehouse;
4687 mandeep.dh 77
 
78
    public String editNew() {
79
        purchaseOrderId = request.getParameter("poId");
5496 mandeep.dh 80
 
81
        try {
82
            in.shop2020.purchase.PurchaseService.Client purchaseClient = new PurchaseClient().getClient();
7410 amar.kumar 83
            //invoices = purchaseClient.getInvoices(getPreviousDay(getPreviousDay(new Date())).getTime());
84
            PurchaseOrder po = purchaseClient.getPurchaseOrder(Long.parseLong(purchaseOrderId));
85
            invoices = purchaseClient.getInvoicesForWarehouse(po.getWarehouseId(), po.getSupplierId(), getPreviousDay(getPreviousDay(new Date())).getTime());
5496 mandeep.dh 86
        } catch (Exception e) {
87
            logger.error("Error loading invoices", e);
88
        }
89
 
4687 mandeep.dh 90
        return "new";
91
    }
92
 
5496 mandeep.dh 93
    private Date getPreviousDay(Date date) {
94
        Calendar calendar = Calendar.getInstance();
95
        calendar.setTime(date);
96
        calendar.add(Calendar.DAY_OF_MONTH, -1);
97
        return calendar.getTime();
98
    }
99
 
4687 mandeep.dh 100
    public String create() {
6630 amar.kumar 101
    	this.purchaseOrderId = request.getParameter("poId");
102
        poId = Long.parseLong(purchaseOrderId);
103
        invoiceNumber = request.getParameter("invoiceNo");
4687 mandeep.dh 104
        String fc = request.getParameter("freightCharges").trim();
6630 amar.kumar 105
        freightCharges = 0D;
106
        id = "0";
4687 mandeep.dh 107
        if (fc != null && !fc.isEmpty())
108
            freightCharges = Double.parseDouble(fc);
6630 amar.kumar 109
        return show();
110
        //return "create";
4687 mandeep.dh 111
 
112
    }
113
 
114
    public String show() {
5110 mandeep.dh 115
        resetLineItems();
6630 amar.kumar 116
        setItemsFromPO();
5110 mandeep.dh 117
        return SHOW;
4687 mandeep.dh 118
    }
119
 
5110 mandeep.dh 120
    private void resetLineItems() {
121
        lineItems = new ArrayList<LineItem>();
122
 
123
        for (int i = 0; i < NUM_BULK__SCAN_ITEMS; i++) {
124
            LineItem lineItem = new LineItem();
125
            lineItem.setId(i);
126
            lineItem.setExtra_info("");
127
            lineItem.setSerial_number("");
128
            lineItem.setItem_number("");
5361 mandeep.dh 129
            lineItem.setQuantity(1);
5110 mandeep.dh 130
            lineItem.setItem_id(-1);
131
            lineItems.add(lineItem);
132
        }
133
    }
134
 
6630 amar.kumar 135
    public boolean createPurchase(){
136
        try {
11801 manish.sha 137
        	logger.info("poId="+poId+" invoiceNumber="+invoiceNumber+" freightCharges="+freightCharges+ " purchaseComments= "+purchaseComments);
6630 amar.kumar 138
            PurchaseClient purchaseClient = new PurchaseClient();
139
            in.shop2020.purchase.PurchaseService.Client client = purchaseClient
140
                    .getClient();
11801 manish.sha 141
            id = "" + client.startPurchase(poId, invoiceNumber, freightCharges, purchaseComments);
6630 amar.kumar 142
            logger.info("id = "+id);
143
        } catch (TTransportException e) {
144
            errorMsg = "Error while establishing connection to the warehouse server";
145
            logger.error(errorMsg, e);
146
        } catch (TException e) {
147
            errorMsg = "Error while scanning in the item";
148
            logger.error(errorMsg, e);
149
        } catch (PurchaseServiceException e) {
150
            errorMsg = e.getMessage();
151
            logger.error(errorMsg, e);
152
        }
153
 
154
        if (errorMsg.isEmpty())
155
            return true;
156
        else {
157
            addActionError(errorMsg);
158
            return false;
159
        }
160
    }
161
 
4687 mandeep.dh 162
    public String update() {
6630 amar.kumar 163
        setItemsFromPO();
4687 mandeep.dh 164
 
165
        try {
5110 mandeep.dh 166
            if (!areValidScans()) {
167
                return SHOW;
168
            }
6641 amar.kumar 169
            if(id == null || Long.parseLong(id)==0) {
170
	            if(!createPurchase()) {
171
	        		return "new";
172
	        	}
173
            }
5110 mandeep.dh 174
 
4687 mandeep.dh 175
            WarehouseClient warehouseClient = new WarehouseClient();
176
            Client client = warehouseClient.getClient();
7410 amar.kumar 177
            in.shop2020.purchase.PurchaseService.Client purchaseClient = new PurchaseClient().getClient();
178
            PurchaseOrder po = purchaseClient.getPurchaseOrder(poId);
179
            if(transferLotId==null || transferLotId==0) {
180
	            if(transferWarehouseId!=null && transferWarehouseId!=0) {
181
	            	InventoryService.Client inventoryClient = new InventoryClient().getClient();
182
	                Warehouse fulfilmentWarehouse = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, po.getSupplierId(), po.getWarehouseId(), 0L).get(0);
183
	            	transferLotId = client.createTransferLot(po.getWarehouseId(), transferWarehouseId);
184
	            }
185
            }
11801 manish.sha 186
            boolean checkDirectScanWarehouse = false;
187
 
188
            if(thirdPartyWarehouse.getVendor().getId()==DUMMY_VENDOR_ID && thirdPartyWarehouse.getInventoryType()==InventoryType.GOOD && thirdPartyWarehouse.getWarehouseType()==WarehouseType.OURS_THIRDPARTY){
189
            	checkDirectScanWarehouse = true;
190
            }
191
 
5110 mandeep.dh 192
            for (LineItem lineItem : lineItems) {
193
                if (ScanRecordType.BLANK.name().equals(lineItem.getExtra_info())) {
194
                    continue;
195
                }
196
 
5437 mandeep.dh 197
                InventoryItem inventoryItem = new InventoryItem();
198
                inventoryItem.setItemId(lineItem.getItem_id());
6641 amar.kumar 199
                inventoryItem.setPurchaseId(Long.parseLong(id));
7441 amar.kumar 200
                inventoryItem.setCurrentQuantity(0);
5437 mandeep.dh 201
                inventoryItem.setItemNumber(lineItem.getItem_number());
202
                inventoryItem.setSerialNumber(lineItem.getSerial_number());
5530 mandeep.dh 203
                inventoryItem.setInitialQuantity(new Double(lineItem.getQuantity()).longValue());
7410 amar.kumar 204
                inventoryItem.setPhysicalWarehouseId(po.getWarehouseId());
11801 manish.sha 205
                logger.info("checkDirectScanWarehouse..... "+ checkDirectScanWarehouse);
206
                if(checkDirectScanWarehouse){
207
                	logger.info("Come into this loop.... where direct scan Warehouse Id exist");
208
                	inventoryItem.setPhysicalWarehouseId(po.getWarehouseId());
209
                	inventoryItem.setCurrentWarehouseId(po.getWarehouseId());
210
                }else{
211
                	logger.info("Come into this loop.... where direct scan Warehouse Id Not Exist");
212
                	inventoryItem.setPhysicalWarehouseId(po.getWarehouseId());
213
                }
214
 
215
                if(!client.isAlive()){
216
					client = warehouseClient.getClient();
217
				}
7410 amar.kumar 218
            	client.scan(inventoryItem, ScanType.PURCHASE, new Double(lineItem.getQuantity()).longValue(), warehouseId, (transferLotId!=null)?transferLotId:0L);
5361 mandeep.dh 219
            }
5110 mandeep.dh 220
 
221
            resetLineItems();
4687 mandeep.dh 222
        } catch (TTransportException e) {
223
            errorMsg = "Error while establishing connection to the warehouse server";
224
            logger.error(errorMsg, e);
225
        } catch (WarehouseServiceException e) {
226
            errorMsg = e.getMessage();
227
            logger.error(errorMsg, e);
228
        } catch (TException e) {
229
            errorMsg = "Error while scanning in the item";
230
            logger.error(errorMsg, e);
6630 amar.kumar 231
        } catch (PurchaseServiceException e) {
232
            errorMsg = "Error while creating the purchase";
233
            logger.error(errorMsg, e);
4687 mandeep.dh 234
        }
5110 mandeep.dh 235
 
4687 mandeep.dh 236
        if (!errorMsg.isEmpty()) {
237
            addActionError(errorMsg);
238
        }
4846 mandeep.dh 239
 
5110 mandeep.dh 240
        return SHOW;
4687 mandeep.dh 241
    }
242
 
5110 mandeep.dh 243
    /**
244
     * @return
245
     * @throws TException 
246
     * @throws NumberFormatException 
6630 amar.kumar 247
     * @throws PurchaseServiceException 
5110 mandeep.dh 248
     */
6630 amar.kumar 249
    private boolean areValidScans() throws NumberFormatException, TException, PurchaseServiceException {
5110 mandeep.dh 250
        boolean areValidScans = true;
251
        in.shop2020.purchase.PurchaseService.Client purchaseClient = new PurchaseClient().getClient();
6630 amar.kumar 252
        //PurchaseOrder purchaseOrder = purchaseClient.getPurchaseOrderForPurchase(Long.parseLong(id));
253
        PurchaseOrder purchaseOrder = purchaseClient.getPurchaseOrder(poId);
5110 mandeep.dh 254
        Map<Long, Long> itemsQuantityMapFromPO = new HashMap<Long, Long>();
255
        for (in.shop2020.purchase.LineItem lineItem : purchaseOrder.getLineitems()) {
256
            itemsQuantityMapFromPO.put(lineItem.getItemId(), (long) lineItem.getUnfulfilledQuantity());
257
        }
258
 
259
        Client warehouseClient = new WarehouseClient().getClient();
260
        for (LineItem lineItem : lineItems) {
261
            if (lineItem.getItem_id() == -1 && lineItem.getItem_number().isEmpty() && lineItem.getSerial_number().isEmpty()) {
262
                lineItem.setExtra_info(ScanRecordType.BLANK.name());
263
            }
264
            else {
265
                lineItem.setExtra_info(ScanRecordType.VALID.name());
5496 mandeep.dh 266
                if (StringUtils.isNotBlank(lineItem.getSerial_number())) {
5361 mandeep.dh 267
                    try {
7321 amit.gupta 268
                    	InventoryItem inventoryItem = warehouseClient.getInventoryItem(lineItem.getSerial_number());
8217 amar.kumar 269
                        if(inventoryItem.getLastScanType()!=ScanType.PURCHASE_RETURN && inventoryItem.getLastScanType()!=ScanType.DOA_REPLACED) {
7321 amit.gupta 270
	                       lineItem.setExtra_info("Item scanned already.");
271
	                       areValidScans = false;
272
	                       continue;
273
                        }
5496 mandeep.dh 274
                    } catch (Exception e) {
5361 mandeep.dh 275
                    }
5110 mandeep.dh 276
                }
277
 
5496 mandeep.dh 278
                if (lineItem.getItem_id() == -1 && 
279
                        (StringUtils.isBlank(lineItem.getItem_number()) || 
280
                         StringUtils.isBlank(lineItem.getSerial_number())))
281
                {
282
                    lineItem.setExtra_info("Item not selected/Item or serial number not present");
5110 mandeep.dh 283
                    areValidScans = false;
284
                    continue;
285
                }
286
 
6630 amar.kumar 287
                if (StringUtils.isBlank(lineItem.getItem_number())) {
288
                	lineItem.setExtra_info("Item number not entered");
289
                	areValidScans = false;
290
                	continue;
291
                }
292
 
5110 mandeep.dh 293
                if (lineItem.getItem_id() == -1) {
294
                    List<Long> itemIds = warehouseClient.getItemIds(lineItem.getItem_number());
295
                    if (itemIds.isEmpty()) {
296
                        lineItem.setExtra_info("Unknown item number");
297
                        areValidScans = false;
298
                        continue;
299
                    }
300
 
301
                    if (itemIds.size() > 0) {
302
                        int numItemsInPO = 0;
303
                        for (long itemId : itemIds) {
304
                            if (itemsQuantityMapFromPO.containsKey(itemId)) {
305
                                numItemsInPO++;
306
                                lineItem.setItem_id(itemId);
307
                            }
308
                        }
309
 
310
                        if (numItemsInPO > 1) {
311
                            lineItem.setExtra_info("Multiple items found for given item Number. Choose item explicitly.");
312
                            areValidScans = false;
5361 mandeep.dh 313
                            continue;
5110 mandeep.dh 314
                        }
315
                    }
316
                }
317
 
318
                if (!itemsQuantityMapFromPO.containsKey(lineItem.getItem_id())) {
319
                    lineItem.setExtra_info("Item not present in PO.");
320
                    areValidScans = false;
321
                    continue;
322
                }
323
 
5361 mandeep.dh 324
                itemsQuantityMapFromPO.put(lineItem.getItem_id(),
325
                        itemsQuantityMapFromPO.get(lineItem.getItem_id()) - new Double(lineItem.getQuantity()).longValue());
5110 mandeep.dh 326
 
327
                if (itemsQuantityMapFromPO.get(lineItem.getItem_id()) < 0) {
328
                    lineItem.setExtra_info("Item already fulfilled in PO.");
329
                    areValidScans = false;
330
                    continue;
331
                }
332
            }
333
        }
334
 
335
        return areValidScans;
336
    }
337
 
6630 amar.kumar 338
    private void setItemsFromPO() {
5110 mandeep.dh 339
        try {
340
            items = new ArrayList<Item>();
341
            in.shop2020.purchase.PurchaseService.Client purchaseClient = new PurchaseClient().getClient();
6630 amar.kumar 342
            //PurchaseOrder purchaseOrder = purchaseClient.getPurchaseOrderForPurchase(id);
343
            PurchaseOrder purchaseOrder = purchaseClient.getPurchaseOrder(poId);
7410 amar.kumar 344
            warehouseId = purchaseOrder.getWarehouseId();
5945 mandeep.dh 345
            in.shop2020.model.v1.catalog.CatalogService.Client catalogClient = new CatalogClient().getClient();
5361 mandeep.dh 346
 
5110 mandeep.dh 347
            for (in.shop2020.purchase.LineItem lineItem : purchaseOrder.getLineitems()) {
5496 mandeep.dh 348
                items.add(catalogClient.getItem(lineItem.getItemId()));
5110 mandeep.dh 349
            }
5496 mandeep.dh 350
 
5945 mandeep.dh 351
            in.shop2020.model.v1.inventory.InventoryService.Client inventoryClient = new InventoryClient().getClient();
11801 manish.sha 352
            thirdPartyWarehouse = inventoryClient.getWarehouse(warehouseId);
353
            if(thirdPartyWarehouse.getVendor().getId()==DUMMY_VENDOR_ID && thirdPartyWarehouse.getInventoryType()==InventoryType.GOOD && thirdPartyWarehouse.getWarehouseType()==WarehouseType.OURS_THIRDPARTY){
354
            	warehouse = thirdPartyWarehouse;
355
            } else {
356
            	warehouse = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, purchaseOrder.getSupplierId(), warehouseId, warehouseId).get(0);
357
            }
5110 mandeep.dh 358
        } catch (Exception e) {
359
            logger.error("Could not find items in PO with purchase: " + id, e);
360
        }
361
    }
362
 
4687 mandeep.dh 363
    public String destroy() {
364
        long id = Long.parseLong(this.id);
365
 
366
        try {
367
            PurchaseClient warehouseClient = new PurchaseClient();
368
            in.shop2020.purchase.PurchaseService.Client client = warehouseClient
369
                    .getClient();
370
            client.closePurchase(id);
371
        } catch (TTransportException e) {
372
            errorMsg = "Error while establishing connection to the warehouse server";
373
            logger.error(errorMsg, e);
374
        } catch (TException e) {
375
            errorMsg = "Error while scanning in the item";
376
            logger.error(errorMsg, e);
377
        } catch (PurchaseServiceException e) {
378
            errorMsg = e.getMessage();
379
            logger.error(errorMsg, e);
380
        }
381
        return "redirect";
382
    }
383
 
384
    public String createItemNumberMapping() {
385
        long itemIdLong = Long.parseLong(itemId);
386
 
387
        try {
388
            Client warehouseClient = new WarehouseClient().getClient();
389
            warehouseClient.createItemNumberMapping(itemNo, itemIdLong);
390
        } catch (TTransportException e) {
391
            logger.error("Could not create thrift client", e);
392
        } catch (TException e) {
393
            logger.error("Could not create item number mapping", e);
394
        }
395
 
396
        return show();
397
    }
7410 amar.kumar 398
 
399
    /*public String setTransferItemsOption() {
400
    	boolean isTransferAllowed = false;
401
    	try {
402
			Client warehouseClient = new WarehouseClient().getClient();
403
	        isTransferAllowed = warehouseClient.isItemTransferAllowed(warehouseId, transferWarehouseId);
404
    	} catch (TTransportException e) {
405
            logger.error("Could not create thrift client", e);
406
        } catch (TException e) {
407
            logger.error("Could not check if item transfer allowed between warehouses", e);
408
        }//TODO
409
    	return "";
410
    }*/
411
 
412
    public List<Warehouse> getAllowedDestinationWarehousesForTransfer(long originWarehouseId){
413
    	try {
414
    		WarehouseService.Client warehouseClient = new WarehouseClient().getClient();
415
    		List<Long> allowedWarehouseIds = warehouseClient.getAllowedDestinationWarehousesForTransfer(originWarehouseId);
416
    		List<Warehouse> allowedWarehouses = new ArrayList<Warehouse>();
417
    		InventoryService.Client inventoryClient = new InventoryClient().getClient();
418
    		for(Long allowedWarehouseId : allowedWarehouseIds) {
419
    			allowedWarehouses.add(inventoryClient.getWarehouse(allowedWarehouseId));
420
    		}
421
    		return allowedWarehouses;
422
    	} catch(Exception e) {
423
    		logger.error("Error while getting all destination warehouses for warehouseId " + warehouseId, e);
424
    		return new ArrayList<Warehouse>();
425
    	}
426
    }
4687 mandeep.dh 427
 
11801 manish.sha 428
/*	public boolean canItemCanBeScannedIn(long id) {
429
		double itemWeight = 0.0;
430
		try {
431
			in.shop2020.model.v1.catalog.CatalogService.Client catalogClient = new CatalogClient().getClient();
432
			Item item = catalogClient.getItem(id);
433
			itemWeight = item.getWeight();
434
		} catch (Exception e) {
435
			logger.error("Could not fetch item to get weight of it ", e);
436
		}
437
		if(itemWeight> 0.0){
438
			return true;
439
		}
440
		return false;
441
	}
442
*/
5110 mandeep.dh 443
    public String itemNumberMappingEditNew() {
444
        return "item-number-mapping";
445
    }
446
 
4846 mandeep.dh 447
    public String getName(Item item){
448
        return ModelUtils.extractProductNameFromItem(item);
449
    }
450
 
4687 mandeep.dh 451
    public void setId(String id) {
452
        this.id = id;
453
    }
454
 
455
    public String getId() {
456
        return id;
457
    }
458
 
459
    public String getErrorMessage() {
460
        return errorMsg;
461
    }
462
 
463
    public String getPurchaseOrderId() {
464
        return purchaseOrderId;
465
    }
466
 
467
    public String getServletContextPath() {
468
        return context.getContextPath();
469
    }
470
 
471
    public String getItemId() {
472
        return itemId;
473
    }
474
 
475
    public void setItemId(String itemId) {
476
        this.itemId = itemId;
477
    }
478
 
479
    public String getItemNo() {
480
        return itemNo;
481
    }
482
 
483
    public void setItemNo(String itemNo) {
484
        this.itemNo = itemNo;
485
    }
486
 
4846 mandeep.dh 487
    public List<Item> getItems() {
488
        return items;
489
    }
490
 
491
    public void setItems(List<Item> items) {
492
        this.items = items;
493
    }
494
 
5110 mandeep.dh 495
    public List<LineItem> getLineItems() {
496
        return lineItems;
497
    }
498
 
499
    public void setLineItems(List<LineItem> lineItems) {
500
        this.lineItems = lineItems;
501
    }
502
 
503
    public Warehouse getWarehouse() {
504
        return warehouse;
505
    }
5496 mandeep.dh 506
 
507
    public List<Invoice> getInvoices() {
508
        return invoices;
509
    }
510
 
511
    public void setInvoices(List<Invoice> invoices) {
512
        this.invoices = invoices;
513
    }
6630 amar.kumar 514
 
515
	public String getInvoiceNumber() {
516
		return invoiceNumber;
517
	}
518
 
519
	public void setInvoiceNumber(String invoiceNumber) {
520
		this.invoiceNumber = invoiceNumber;
521
	}
522
 
523
	public Double getFreightCharges() {
524
		return freightCharges;
525
	}
526
 
527
	public void setFreightCharges(Double freightCharges) {
528
		this.freightCharges = freightCharges;
529
	}
530
 
531
	public Long getPoId() {
532
		return poId;
533
	}
534
 
535
	public void setPoId(Long poId) {
536
		this.poId = poId;
537
	}
7410 amar.kumar 538
 
539
	public Long getWarehouseId() {
540
		return warehouseId;
541
	}
542
 
543
	public void setWarehouseId(Long warehouseId) {
544
		this.warehouseId = warehouseId;
545
	}
546
 
547
	public Long getTransferWarehouseId() {
548
		return transferWarehouseId;
549
	}
550
 
551
	public void setTransferWarehouseId(Long transferWarehouseId) {
552
		this.transferWarehouseId = transferWarehouseId;
553
	}
7441 amar.kumar 554
 
555
	public Long getTransferLotId() {
556
		return transferLotId;
557
	}
558
 
559
	public void setTransferLotId(Long transferLotId) {
560
		this.transferLotId = transferLotId;
561
	}
11801 manish.sha 562
 
563
	public String getPurchaseComments() {
564
		return purchaseComments;
565
	}
566
 
567
	public void setPurchaseComments(String purchaseComments) {
568
		this.purchaseComments = purchaseComments;
569
	}
570
 
571
	public Warehouse getThirdPartyWarehouse() {
572
		return thirdPartyWarehouse;
573
	}
574
 
575
	public void setThirdPartyWarehouse(Warehouse thirdPartyWarehouse) {
576
		this.thirdPartyWarehouse = thirdPartyWarehouse;
577
	}
7441 amar.kumar 578
 
4687 mandeep.dh 579
}