Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
28300 tejbeer 1
package com.spice.profitmandi.web.controller;
2
 
37823 amit 3
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
32539 amit.gupta 4
import com.spice.profitmandi.common.model.ProfitMandiConstants;
28493 tejbeer 5
import com.spice.profitmandi.dao.entity.inventory.State;
6
import com.spice.profitmandi.dao.entity.inventory.Vendor;
34329 aman.kumar 7
import com.spice.profitmandi.dao.entity.inventory.Warehouse;
31238 amit.gupta 8
import com.spice.profitmandi.dao.entity.transaction.Seller;
9
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
10
import com.spice.profitmandi.dao.entity.transaction.WarehouseAddressMapping;
11
import com.spice.profitmandi.dao.entity.transaction.WarehouseAddressMaster;
28300 tejbeer 12
import com.spice.profitmandi.dao.entity.warehouse.Supplier;
28493 tejbeer 13
import com.spice.profitmandi.dao.enumuration.inventory.InventoryType;
14
import com.spice.profitmandi.dao.enumuration.inventory.WarehouseType;
37871 amit 15
import com.spice.profitmandi.dao.enumuration.warehouse.WarehouseStatus;
28493 tejbeer 16
import com.spice.profitmandi.dao.hrms.CreateNewSupplier;
17
import com.spice.profitmandi.dao.hrms.WarehouseIdPrefixModel;
34329 aman.kumar 18
import com.spice.profitmandi.dao.model.hdfc.SupplierFormData;
28493 tejbeer 19
import com.spice.profitmandi.dao.repository.inventory.StateRepository;
20
import com.spice.profitmandi.dao.repository.inventory.VendorRepository;
34329 aman.kumar 21
import com.spice.profitmandi.dao.repository.inventory.WarehouseRepository;
28493 tejbeer 22
import com.spice.profitmandi.dao.repository.transaction.SellerRepository;
23
import com.spice.profitmandi.dao.repository.transaction.SellerWarehouseRepository;
32383 amit.gupta 24
import com.spice.profitmandi.dao.repository.transaction.WarehouseAddressMappingRepository;
25
import com.spice.profitmandi.dao.repository.transaction.WarehouseAddressMasterRepository;
28300 tejbeer 26
import com.spice.profitmandi.dao.repository.warehouse.SupplierRepository;
37770 amit 27
import com.spice.profitmandi.service.warehouse.SupplierStateResolver;
28493 tejbeer 28
import com.spice.profitmandi.service.warehouse.WarehouseService;
28300 tejbeer 29
import com.spice.profitmandi.web.util.MVCResponseSender;
31238 amit.gupta 30
import org.apache.logging.log4j.LogManager;
31
import org.apache.logging.log4j.Logger;
32
import org.springframework.beans.factory.annotation.Autowired;
33
import org.springframework.stereotype.Controller;
34
import org.springframework.transaction.annotation.Transactional;
35
import org.springframework.ui.Model;
32565 tejbeer 36
import org.springframework.web.bind.annotation.*;
28300 tejbeer 37
 
31238 amit.gupta 38
import javax.servlet.http.HttpServletRequest;
39
import java.util.HashMap;
40
import java.util.List;
41
import java.util.Map;
37823 amit 42
import java.util.TreeMap;
31238 amit.gupta 43
import java.util.stream.Collectors;
28493 tejbeer 44
 
28300 tejbeer 45
@Controller
46
@Transactional(rollbackFor = Throwable.class)
47
public class SupplierController {
28493 tejbeer 48
 
32075 tejbeer 49
    @Autowired
50
    private SupplierRepository supplierRepository;
28300 tejbeer 51
 
32075 tejbeer 52
    @Autowired
37770 amit 53
    private SupplierStateResolver supplierStateResolver;
54
 
55
    @Autowired
32075 tejbeer 56
    private MVCResponseSender mvcResponseSender;
28300 tejbeer 57
 
28493 tejbeer 58
 
32075 tejbeer 59
    @Autowired
60
    private SellerRepository sellerRepository;
28493 tejbeer 61
 
32075 tejbeer 62
    @Autowired
63
    private WarehouseService warehouseService;
28493 tejbeer 64
 
32075 tejbeer 65
    @Autowired
66
    private SellerWarehouseRepository sellerWarehouseRepository;
28493 tejbeer 67
 
32075 tejbeer 68
    @Autowired
69
    private VendorRepository vendorRepository;
28493 tejbeer 70
 
32075 tejbeer 71
    @Autowired
32383 amit.gupta 72
    private WarehouseAddressMappingRepository warehouseAddressMappingRepository;
28493 tejbeer 73
 
32075 tejbeer 74
    @Autowired
32383 amit.gupta 75
    private WarehouseAddressMasterRepository warehouseAddressMasterRepository;
28493 tejbeer 76
 
32075 tejbeer 77
    @Autowired
78
    private StateRepository stateRepository;
28493 tejbeer 79
 
32075 tejbeer 80
    private static final Logger LOGGER = LogManager.getLogger(SupplierController.class);
28493 tejbeer 81
 
34329 aman.kumar 82
    @Autowired
83
    WarehouseRepository warehouseRepository;
28493 tejbeer 84
 
37846 amit 85
    // Physical warehouses are the ones with an operational (active or suspended) seller registration - a suspended
86
    // warehouse still moves its stock out; inventory.warehouse only supplies the name.
37823 amit 87
    private Map<Integer, String> activePhysicalWarehouses() {
88
        Map<Integer, String> activeWarehouses = new TreeMap<>();
89
        for (SellerWarehouse sellerWarehouse : sellerWarehouseRepository.selectAll()) {
37846 amit 90
            if (!sellerWarehouse.getStatus().isOperational() || activeWarehouses.containsKey(sellerWarehouse.getWarehouseId())) {
37823 amit 91
                continue;
92
            }
37871 amit 93
            activeWarehouses.put(sellerWarehouse.getWarehouseId(), sellerWarehouse.getPrefix() + " - " + this.warehouseName(sellerWarehouse));
37823 amit 94
        }
95
        return activeWarehouses;
96
    }
97
 
37871 amit 98
    private String warehouseName(SellerWarehouse sellerWarehouse) {
99
        Warehouse warehouse = warehouseRepository.selectById(sellerWarehouse.getWarehouseId());
100
        return warehouse == null ? String.valueOf(sellerWarehouse.getWarehouseId()) : warehouse.getDisplayName();
101
    }
102
 
37823 amit 103
    // 0 means not internal. A supplier marked internal stands for that physical warehouse in stock movements, so it
104
    // must be an active one.
105
    private void applyInternalWarehouse(Supplier supplier, Integer internalWarehouseId) throws ProfitMandiBusinessException {
106
        int warehouseId = internalWarehouseId == null ? 0 : internalWarehouseId;
107
        if (warehouseId > 0 && !this.activePhysicalWarehouses().containsKey(warehouseId)) {
108
            throw new ProfitMandiBusinessException("internalWarehouseId", warehouseId,
109
                    "Warehouse " + warehouseId + " is not an active physical warehouse");
110
        }
111
        supplier.setInternal(warehouseId > 0);
112
        supplier.setInternalWarehouseId(warehouseId);
113
    }
114
 
32075 tejbeer 115
    @RequestMapping(value = "/getAllInActiveSupplier", method = RequestMethod.GET)
116
    public String getShowInActiveSupplier(HttpServletRequest request, Model model) throws Exception {
28493 tejbeer 117
 
32075 tejbeer 118
        List<Supplier> supplierInactives = supplierRepository.selectByStatus(false);
28493 tejbeer 119
 
32075 tejbeer 120
        model.addAttribute("supplierInactives", supplierInactives);
28493 tejbeer 121
 
32075 tejbeer 122
        LOGGER.info("supplierInactives" + supplierInactives);
28300 tejbeer 123
 
32075 tejbeer 124
        return "supplier-in-active";
28300 tejbeer 125
 
32075 tejbeer 126
    }
28493 tejbeer 127
 
34329 aman.kumar 128
    @RequestMapping(value = "/getAllSupplier", method = RequestMethod.GET)
129
    public String getShowSupplier(HttpServletRequest request, Model model) throws Exception {
130
 
131
        List<Supplier> supplierAcvtives = supplierRepository.selectByStatus(true);
132
 
32565 tejbeer 133
        List<SellerWarehouse> sellerWarehouses = sellerWarehouseRepository.selectAll();
134
        List<Integer> sellerwarehouseIds = sellerWarehouses.stream().map(x -> x.getWarehouseId()).collect(Collectors.toList());
135
        LOGGER.info("sellerWarehouses" + sellerWarehouses);
136
        Map<Integer, WarehouseIdPrefixModel> warehouseIdAndState = new HashMap<>();
137
 
138
        for (SellerWarehouse sw : sellerWarehouses) {
139
 
140
            WarehouseAddressMapping warehouseAddressMapping = warehouseAddressMappingRepository.selectByWarehouseId(sw.getWarehouseId());
141
            LOGGER.info("warehouseAddressMapping" + warehouseAddressMapping);
142
            if (warehouseAddressMapping != null) {
143
                WarehouseAddressMaster WarehouseAddressMaster = warehouseAddressMasterRepository.selectById(warehouseAddressMapping.getAddressId());
144
                LOGGER.info("warehouseAddressMappingAddreesId" + warehouseAddressMapping.getAddressId());
145
                LOGGER.info("WarehouseAddressMaster" + WarehouseAddressMaster);
146
                State state = stateRepository.selectById(WarehouseAddressMaster.getStateId());
147
                WarehouseIdPrefixModel wp = new WarehouseIdPrefixModel();
148
                wp.setPrefix(sw.getPrefix());
149
                wp.setStateName(state.getName());
37871 amit 150
                wp.setName(this.warehouseName(sw));
32565 tejbeer 151
                warehouseIdAndState.put(sw.getWarehouseId(), wp);
152
                LOGGER.info("state" + state);
153
            }
154
        }
155
        LOGGER.info("warehouseIdAndState" + warehouseIdAndState);
156
        model.addAttribute("warehouseIdAndState", warehouseIdAndState);
157
 
158
        List<State> state = stateRepository.selectAll();
159
 
34329 aman.kumar 160
        model.addAttribute("suppliers", supplierAcvtives);
161
        model.addAttribute("response1", mvcResponseSender.createResponseString(supplierAcvtives));
32565 tejbeer 162
        model.addAttribute("state", state);
34329 aman.kumar 163
 
164
        return "supplier";
165
 
32565 tejbeer 166
    }
167
 
34329 aman.kumar 168
 
32075 tejbeer 169
    @RequestMapping(value = "/getCreateNewSupplier", method = RequestMethod.GET)
170
    public String getCreateNewSupplier(HttpServletRequest request, Model model) throws Exception {
37823 amit 171
        List<SellerWarehouse> sellerWarehouses = sellerWarehouseRepository.selectAll().stream()
37871 amit 172
                .filter(x -> x.getStatus() == WarehouseStatus.ACTIVE).collect(Collectors.toList());
28493 tejbeer 173
 
32075 tejbeer 174
        Map<Integer, WarehouseIdPrefixModel> warehouseIdAndState = new HashMap<>();
28493 tejbeer 175
 
32075 tejbeer 176
        for (SellerWarehouse sw : sellerWarehouses) {
32383 amit.gupta 177
            WarehouseAddressMapping warehouseAddressMapping = warehouseAddressMappingRepository.selectByWarehouseId(sw.getWarehouseId());
32075 tejbeer 178
            LOGGER.info("warehouseAddressMapping" + warehouseAddressMapping);
179
            if (warehouseAddressMapping != null) {
32383 amit.gupta 180
                WarehouseAddressMaster WarehouseAddressMaster = warehouseAddressMasterRepository.selectById(warehouseAddressMapping.getAddressId());
32075 tejbeer 181
                LOGGER.info("warehouseAddressMappingAddreesId" + warehouseAddressMapping.getAddressId());
182
                LOGGER.info("WarehouseAddressMaster" + WarehouseAddressMaster);
183
                State state = stateRepository.selectById(WarehouseAddressMaster.getStateId());
184
                WarehouseIdPrefixModel wp = new WarehouseIdPrefixModel();
185
                wp.setPrefix(sw.getPrefix());
186
                wp.setStateName(state.getName());
37871 amit 187
                wp.setName(this.warehouseName(sw));
32075 tejbeer 188
                warehouseIdAndState.put(sw.getWarehouseId(), wp);
189
                LOGGER.info("state" + state);
190
            }
191
        }
192
        LOGGER.info("warehouseIdAndState" + warehouseIdAndState);
193
        model.addAttribute("warehouseIdAndState", warehouseIdAndState);
28493 tejbeer 194
 
32075 tejbeer 195
        List<State> state = stateRepository.selectAll();
28493 tejbeer 196
 
32075 tejbeer 197
        model.addAttribute("state", state);
37823 amit 198
        model.addAttribute("warehouseMap", this.activePhysicalWarehouses());
28493 tejbeer 199
 
32075 tejbeer 200
        return "new-supplier";
201
    }
28493 tejbeer 202
 
32075 tejbeer 203
    @RequestMapping(value = "/setStatusInActive", method = RequestMethod.POST)
204
    public String setInActiveSupplier(HttpServletRequest request, @RequestParam(name = "id", required = true, defaultValue = "0") int id, Model model) throws Exception {
28493 tejbeer 205
 
32075 tejbeer 206
        Supplier supplier = supplierRepository.selectById(id);
28493 tejbeer 207
 
32075 tejbeer 208
        supplier.setStatus(false);
28493 tejbeer 209
 
32075 tejbeer 210
        model.addAttribute("response1", mvcResponseSender.createResponseString(true));
28493 tejbeer 211
 
32075 tejbeer 212
        return "response";
213
    }
28493 tejbeer 214
 
32075 tejbeer 215
    @RequestMapping(value = "/setStatusActive", method = RequestMethod.POST)
216
    public String setActiveSupplier(HttpServletRequest request, @RequestParam(name = "id", required = true, defaultValue = "0") int id, Model model) throws Exception {
28493 tejbeer 217
 
32075 tejbeer 218
        Supplier supplier = supplierRepository.selectById(id);
28493 tejbeer 219
 
32075 tejbeer 220
        supplier.setStatus(true);
28493 tejbeer 221
 
32075 tejbeer 222
        model.addAttribute("response1", mvcResponseSender.createResponseString(true));
28493 tejbeer 223
 
32075 tejbeer 224
        return "response";
28493 tejbeer 225
 
32075 tejbeer 226
    }
28493 tejbeer 227
 
32075 tejbeer 228
    @RequestMapping(value = "/submitNewSupplier", method = RequestMethod.POST)
229
    public String getCreateNewSupplier(HttpServletRequest request, @RequestBody CreateNewSupplier createNewSupplier, Model model) throws Exception {
28493 tejbeer 230
 
32075 tejbeer 231
        Supplier supplier = new Supplier();
28493 tejbeer 232
 
32075 tejbeer 233
        supplier.setName(createNewSupplier.getName());
234
        supplier.setCommunicationAddress(createNewSupplier.getCommunicationAddress());
235
        supplier.setContactEmail(createNewSupplier.getContactEmail());
236
        supplier.setContactFax(createNewSupplier.getContactFax());
237
        supplier.setContactName(createNewSupplier.getContactPerson());
32565 tejbeer 238
 
239
        supplier.setContactPhone(createNewSupplier.getContactPhone());
32075 tejbeer 240
        supplier.setHeadDesignation(createNewSupplier.getHeadDesign());
241
        supplier.setHeadEmail(createNewSupplier.getHeadEmail());
242
        supplier.setHeadName(createNewSupplier.getHeadName());
243
        supplier.setPan(createNewSupplier.getPan());
244
        supplier.setPhone(createNewSupplier.getPhone());
245
        supplier.setPoValidityLimit(createNewSupplier.getpOValidityLimit());
246
        supplier.setRegisteredAddress(createNewSupplier.getRegisteredAddress());
37770 amit 247
        supplierStateResolver.applyGstinAndState(supplier, createNewSupplier.getGst(), createNewSupplier.getState());
37823 amit 248
        this.applyInternalWarehouse(supplier, createNewSupplier.getInternalWarehouseId());
32075 tejbeer 249
        supplierRepository.persist(supplier);
28493 tejbeer 250
 
32075 tejbeer 251
        Vendor vendor = new Vendor();
252
        vendor.setName(supplier.getName());
253
        vendor.setId(supplier.getId());
254
        vendorRepository.persist(vendor);
255
        LOGGER.info("supplierId" + supplier.getId());
256
        LOGGER.info("vendorId" + vendor.getId());
28493 tejbeer 257
 
32383 amit.gupta 258
        List<WarehouseAddressMapping> warehouseAddressMappings = warehouseAddressMappingRepository.selectAllByIds(createNewSupplier.getWarehouseId());
32075 tejbeer 259
        LOGGER.info("warehouseAddressMappings" + warehouseAddressMappings);
28493 tejbeer 260
 
32075 tejbeer 261
        for (WarehouseAddressMapping wamp : warehouseAddressMappings) {
262
            List<SellerWarehouse> sellerWarehouse = sellerWarehouseRepository.selectBywarehouseId(wamp.getWarehouseId());
263
            for (SellerWarehouse sw : sellerWarehouse) {
264
                Seller seller = sellerRepository.selectById(sw.getSellerId());
28493 tejbeer 265
 
32383 amit.gupta 266
                WarehouseAddressMaster wam = warehouseAddressMasterRepository.selectById(wamp.getAddressId());
28493 tejbeer 267
 
32075 tejbeer 268
                // GOOD - WarehouseType.OURS, InventoryType.GOOD
269
                warehouseService.createVendorWarehouse(WarehouseType.OURS, InventoryType.GOOD, seller.getLabel(), wamp.getWarehouseId(), wam, vendor.getId());
28493 tejbeer 270
 
32075 tejbeer 271
                // BAD - WarehouseType.OURS, InventoryType.BAD
272
                warehouseService.createVendorWarehouse(WarehouseType.OURS, InventoryType.BAD, seller.getLabel(), wamp.getWarehouseId(), wam, vendor.getId());
28493 tejbeer 273
 
32075 tejbeer 274
                // VIRTUAL - WarehouseType.THIRD_PARTY, InventoryType.GOOD
32371 amit.gupta 275
                warehouseService.createVendorWarehouse(WarehouseType.THIRD_PARTY, InventoryType.GOOD, seller.getLabel(), wamp.getWarehouseId(), wam, vendor.getId());
28493 tejbeer 276
 
32075 tejbeer 277
            }
28493 tejbeer 278
 
32075 tejbeer 279
        }
28493 tejbeer 280
 
32565 tejbeer 281
        //model.addAttribute("response1", mvcResponseSender.createResponseString(true));
32075 tejbeer 282
 
32565 tejbeer 283
        return getShowInActiveSupplier(request, model);
284
 
32075 tejbeer 285
    }
34329 aman.kumar 286
 
287
    @RequestMapping(value = "/supplier/edit/{supplierId}", method = RequestMethod.GET)
288
    public String getEditSupplier(HttpServletRequest request, Model model, @PathVariable int supplierId) throws Exception {
289
        Supplier supplier  = supplierRepository.selectById(supplierId);
37823 amit 290
        List<SellerWarehouse> sellerWarehouses = sellerWarehouseRepository.selectAll().stream()
37871 amit 291
                .filter(x -> x.getStatus() == WarehouseStatus.ACTIVE).collect(Collectors.toList());
34329 aman.kumar 292
        Map<Integer, WarehouseIdPrefixModel> warehouseIdAndState = new HashMap<>();
293
 
294
        List<Warehouse> supplierWarehouses = warehouseRepository.selectVendorWarehouses(supplierId, WarehouseType.OURS, InventoryType.GOOD);
295
        List<Integer> supplierPhysicalWarehouseIds = supplierWarehouses.stream().map(x -> x.getShippingWarehouseId()).collect(Collectors.toList());
296
        LOGGER.info("supplierPhysicalWarehouseIds" + supplierPhysicalWarehouseIds);
297
        for (SellerWarehouse sw : sellerWarehouses) {
298
            WarehouseAddressMapping warehouseAddressMapping = warehouseAddressMappingRepository.selectByWarehouseId(sw.getWarehouseId());
299
            if (warehouseAddressMapping != null) {
300
                WarehouseAddressMaster WarehouseAddressMaster = warehouseAddressMasterRepository.selectById(warehouseAddressMapping.getAddressId());
301
                State state = stateRepository.selectById(WarehouseAddressMaster.getStateId());
302
                WarehouseIdPrefixModel wp = new WarehouseIdPrefixModel();
303
                wp.setPrefix(sw.getPrefix());
304
                wp.setStateName(state.getName());
37871 amit 305
                wp.setName(this.warehouseName(sw));
34329 aman.kumar 306
                warehouseIdAndState.put(sw.getWarehouseId(), wp);
307
            }
308
        }
309
        LOGGER.info("warehouseIdAndState" + warehouseIdAndState);
310
        model.addAttribute("warehouseIdAndState", warehouseIdAndState);
311
 
312
        List<State> state = stateRepository.selectAll();
313
 
314
        model.addAttribute("state", state);
37823 amit 315
        model.addAttribute("warehouseMap", this.activePhysicalWarehouses());
34329 aman.kumar 316
        model.addAttribute("supplier", supplier);
317
        model.addAttribute("supplierPhysicalWarehouseIds", supplierPhysicalWarehouseIds);
318
        return "edit-supplier";
319
    }
320
 
321
    @RequestMapping(value = "/supplier/update/{supplierId}", method = RequestMethod.POST)
322
    public String updateSupplier(@PathVariable("supplierId") int supplierId,
323
                                 @RequestBody SupplierFormData supplierFormData,
324
                                 Model model) throws Exception {
325
        LOGGER.info("supplierFormDataaaa - " + supplierFormData);
326
 
327
        Supplier supplier = supplierRepository.selectById(supplierId);
328
        supplier.setContactPhone(supplierFormData.getInputPhone());
329
        supplier.setPan(supplierFormData.getInputPan());
330
        supplier.setFax(supplierFormData.getInputFax());
331
        supplier.setHeadName(supplierFormData.getInputHeadName());
332
        supplier.setHeadDesignation(supplierFormData.getInputHeadDesign());
333
        supplier.setHeadEmail(supplierFormData.getInputHeadEmail());
334
        supplier.setContactName(supplierFormData.getInputContactPerson());
335
        supplier.setContactPhone(supplierFormData.getInputContactPhone());
336
        supplier.setContactEmail(supplierFormData.getInputContactEmail());
337
        supplier.setFax((supplierFormData.getInputFax()));
338
        supplier.setRegisteredAddress(supplierFormData.getInputRegisteredAddress());
339
        supplier.setCommunicationAddress(supplierFormData.getInputCommunicationAddress());
340
        supplier.setTnc(supplierFormData.getInputTermConditions());
37823 amit 341
        this.applyInternalWarehouse(supplier, supplierFormData.getInternalWarehouseId());
37770 amit 342
        supplierStateResolver.applyGstinAndState(supplier, supplierFormData.getInputGst(), supplierFormData.getStateId());
34329 aman.kumar 343
        supplier.setPoValidityLimit(supplierFormData.getInputPOValidityLimit());
344
 
345
        List<Integer> newWarehouseIds = supplierFormData.getInputWarehouseLocation();
346
 
347
        // Only run the warehouse update logic if new warehouse IDs are provided
348
        if (newWarehouseIds != null && !newWarehouseIds.isEmpty()) {
349
            List<Warehouse> existingWarehouses = warehouseRepository.selectVendorWarehouses(supplierId, WarehouseType.OURS, InventoryType.GOOD);
350
            List<Integer> existingWarehouseIds = existingWarehouses.stream().map(Warehouse::getShippingWarehouseId).collect(Collectors.toList());
351
 
352
            // Filter out any IDs that are already present
353
            List<Integer> warehousesToAdd = newWarehouseIds.stream()
354
                    .filter(id -> !existingWarehouseIds.contains(id))
355
                    .collect(Collectors.toList());
356
 
357
            if (!warehousesToAdd.isEmpty()) {
358
                for (Integer warehouseId : warehousesToAdd) {
359
                    WarehouseAddressMapping warehouseAddressMapping = warehouseAddressMappingRepository.selectByWarehouseId(warehouseId);
360
                    if (warehouseAddressMapping != null) {
361
                        List<SellerWarehouse> sellerWarehouses = sellerWarehouseRepository.selectBywarehouseId(warehouseAddressMapping.getWarehouseId());
362
                        for (SellerWarehouse sellerWarehouse : sellerWarehouses) {
363
                            Seller seller = sellerRepository.selectById(sellerWarehouse.getSellerId());
364
                            WarehouseAddressMaster wam = warehouseAddressMasterRepository.selectById(warehouseAddressMapping.getAddressId());
365
 
366
                            // GOOD - WarehouseType.OURS, InventoryType.GOOD
367
                            warehouseService.createVendorWarehouse(WarehouseType.OURS, InventoryType.GOOD, seller.getLabel(), warehouseId, wam, supplierId);
368
 
369
                            // BAD - WarehouseType.OURS, InventoryType.BAD
370
                            warehouseService.createVendorWarehouse(WarehouseType.OURS, InventoryType.BAD, seller.getLabel(), warehouseId, wam, supplierId);
371
 
372
                            // VIRTUAL - WarehouseType.THIRD_PARTY, InventoryType.GOOD
373
                            warehouseService.createVendorWarehouse(WarehouseType.THIRD_PARTY, InventoryType.GOOD, seller.getLabel(), warehouseId, wam, supplierId);
374
                        }
375
                    }
376
                }
377
            }
378
        }
379
 
380
        return "edit-supplier";
381
    }
382
 
383
 
384
 
385
 
386
 
28300 tejbeer 387
}