Subversion Repositories SmartDukaan

Rev

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

Rev 33980 Rev 34021
Line 7... Line 7...
7
import com.spice.profitmandi.common.model.ProfitMandiConstants;
7
import com.spice.profitmandi.common.model.ProfitMandiConstants;
8
import com.spice.profitmandi.dao.entity.catalog.SuperCatalogMapping;
8
import com.spice.profitmandi.dao.entity.catalog.SuperCatalogMapping;
9
import com.spice.profitmandi.dao.entity.catalog.TagListing;
9
import com.spice.profitmandi.dao.entity.catalog.TagListing;
10
import com.spice.profitmandi.dao.entity.catalog.TagRanking;
10
import com.spice.profitmandi.dao.entity.catalog.TagRanking;
11
import com.spice.profitmandi.dao.entity.dtr.WebProductListing;
11
import com.spice.profitmandi.dao.entity.dtr.WebProductListing;
-
 
12
import com.spice.profitmandi.dao.entity.inventory.SaholicCIS;
-
 
13
import com.spice.profitmandi.dao.entity.inventory.SaholicPOItem;
12
import com.spice.profitmandi.dao.repository.catalog.SuperCatalogMappingRepository;
14
import com.spice.profitmandi.dao.repository.catalog.SuperCatalogMappingRepository;
13
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
15
import com.spice.profitmandi.dao.repository.catalog.TagListingRepository;
14
import com.spice.profitmandi.dao.repository.catalog.TagRankingRepository;
16
import com.spice.profitmandi.dao.repository.catalog.TagRankingRepository;
15
import com.spice.profitmandi.dao.repository.dtr.Mongo;
17
import com.spice.profitmandi.dao.repository.dtr.Mongo;
16
import com.spice.profitmandi.dao.repository.dtr.WebListingRepository;
18
import com.spice.profitmandi.dao.repository.dtr.WebListingRepository;
17
import com.spice.profitmandi.dao.repository.dtr.WebProductListingRepository;
19
import com.spice.profitmandi.dao.repository.dtr.WebProductListingRepository;
18
import com.spice.profitmandi.dao.repository.similarModel.SimilarModelRepository;
20
import com.spice.profitmandi.dao.repository.similarModel.SimilarModelRepository;
19
import com.spice.profitmandi.service.catalog.SuperCatalogModel;
21
import com.spice.profitmandi.service.catalog.SuperCatalogModel;
-
 
22
import com.spice.profitmandi.service.inventory.SaholicInventoryService;
20
import com.spice.profitmandi.service.tag.ItemTagModel;
23
import com.spice.profitmandi.service.tag.ItemTagModel;
21
import in.shop2020.model.v1.catalog.status;
24
import in.shop2020.model.v1.catalog.status;
22
import org.apache.logging.log4j.LogManager;
25
import org.apache.logging.log4j.LogManager;
23
import org.apache.logging.log4j.Logger;
26
import org.apache.logging.log4j.Logger;
24
import org.apache.solr.client.solrj.SolrClient;
27
import org.apache.solr.client.solrj.SolrClient;
Line 167... Line 170...
167
                }
170
                }
168
            }
171
            }
169
        }
172
        }
170
    }
173
    }
171
 
174
 
-
 
175
    @Autowired
-
 
176
    SaholicInventoryService saholicInventoryService;
-
 
177
 
172
    public Map<String, Map<String, Map<String, Integer>>> getItemMap() throws Exception {
178
    public Map<String, Map<String, Map<String, Integer>>> getItemMap() throws Exception {
-
 
179
 
173
        JSONArray availabilityJSONArray = this.getAvailability();
180
//        JSONArray availabilityJSONArray = this.getAvailability();
-
 
181
        List<SaholicCIS> saholicCISList = saholicInventoryService.getSaholicStockList();
-
 
182
 
174
        JSONArray pendingPOJSONArray = this.getPendingPO();
183
//        JSONArray pendingPOJSONArray = this.getPendingPO();
-
 
184
        List<SaholicPOItem> saholicPOItemList = saholicInventoryService.getSaholicPOItemList();
-
 
185
 
175
        Map<String, Map<String, Map<String, Integer>>> availabilityItemMap = new HashMap<>();
186
        Map<String, Map<String, Map<String, Integer>>> availabilityItemMap = new HashMap<>();
-
 
187
        for (SaholicCIS rawAvailability : saholicCISList) {
176
 
188
 
177
        for (int i = 0; i < availabilityJSONArray.length(); i++) {
-
 
178
            JSONObject rawAvailability = availabilityJSONArray.getJSONObject(i);
-
 
179
            if (!availabilityItemMap.containsKey(rawAvailability.getString("Itemid"))) {
-
 
180
                availabilityItemMap.put(rawAvailability.getString("Itemid"),
-
 
181
                        new HashMap<String, Map<String, Integer>>());
-
 
182
            }
-
 
183
            if (!availabilityItemMap.get(rawAvailability.getString("Itemid"))
189
            String itemId = String.valueOf(rawAvailability.getItemId());
184
                    .containsKey(rawAvailability.getString("Warehouseid"))) {
190
            String warehouseId = String.valueOf(rawAvailability.getWarehouseId());
185
                availabilityItemMap.get(rawAvailability.getString("Itemid"))
-
 
186
                        .put(rawAvailability.getString("Warehouseid"), new HashMap<String, Integer>());
-
 
187
                availabilityItemMap.get(rawAvailability.getString("Itemid"))
-
 
188
                        .get(rawAvailability.getString("Warehouseid")).put("netAvailability", 0);
-
 
189
                availabilityItemMap.get(rawAvailability.getString("Itemid"))
-
 
190
                        .get(rawAvailability.getString("Warehouseid")).put("netPo", 0);
-
 
191
            }
-
 
192
            int netAvailability = availabilityItemMap.get(rawAvailability.getString("Itemid"))
-
 
193
                    .get(rawAvailability.getString("Warehouseid")).get("netAvailability")
-
 
194
                    + rawAvailability.getInt("Netavailability");
-
 
195
            availabilityItemMap.get(rawAvailability.getString("Itemid")).get(rawAvailability.getString("Warehouseid"))
-
 
196
                    .put("netAvailability", netAvailability);
-
 
197
        }
-
 
198
 
191
 
199
        for (int i = 0; i < pendingPOJSONArray.length(); i++) {
192
            if (!availabilityItemMap.containsKey(itemId)) {
200
            JSONObject rawPendingPo = pendingPOJSONArray.getJSONObject(i);
193
                availabilityItemMap.put(itemId, new HashMap<>());
-
 
194
            }
-
 
195
            if (!availabilityItemMap.get(itemId).containsKey(warehouseId)) {
-
 
196
                availabilityItemMap.get(itemId).put(warehouseId, new HashMap<String, Integer>());
-
 
197
                availabilityItemMap.get(itemId).get(warehouseId).put("netAvailability", 0);
-
 
198
                availabilityItemMap.get(itemId).get(warehouseId).put("netPo", 0);
-
 
199
            }
-
 
200
            int netAvailability = availabilityItemMap.get(itemId).get(warehouseId).get("netAvailability") + rawAvailability.getNetavailability();
-
 
201
            availabilityItemMap.get(itemId).get(warehouseId).put("netAvailability", netAvailability);
-
 
202
        }
201
 
203
 
-
 
204
        for (SaholicPOItem rawPendingPo : saholicPOItemList) {
202
            String itemId = rawPendingPo.getString("Itemid");
205
            String itemId = String.valueOf(rawPendingPo.getItemId());
203
            String warehouseId = rawPendingPo.getString("Warehouseid");
206
            String warehouseId = String.valueOf(rawPendingPo.getWarehouseId());
204
            if (!availabilityItemMap.containsKey(itemId)) {
207
            if (!availabilityItemMap.containsKey(itemId)) {
205
                availabilityItemMap.put(itemId, new HashMap<String, Map<String, Integer>>());
208
                availabilityItemMap.put(itemId, new HashMap<String, Map<String, Integer>>());
206
            }
209
            }
207
            if (!availabilityItemMap.get(itemId).containsKey(warehouseId)) {
210
            if (!availabilityItemMap.get(itemId).containsKey(warehouseId)) {
208
                availabilityItemMap.get(itemId).put(warehouseId, new HashMap<String, Integer>() {
211
                availabilityItemMap.get(itemId).put(warehouseId, new HashMap<String, Integer>() {
Line 211... Line 214...
211
                        put("netPo", 0);
214
                        put("netPo", 0);
212
                    }
215
                    }
213
                });
216
                });
214
            }
217
            }
215
            availabilityItemMap.get(itemId).get(warehouseId).put("netPo",
218
            availabilityItemMap.get(itemId).get(warehouseId).put("netPo",
216
                    availabilityItemMap.get(itemId).get(warehouseId).get("netPo") + rawPendingPo.getInt("Unfulfilled"));
219
                    availabilityItemMap.get(itemId).get(warehouseId).get("netPo") + rawPendingPo.getUnfulfilledQty());
217
 
220
 
218
        }
221
        }
219
        return availabilityItemMap;
222
        return availabilityItemMap;
220
 
223
 
221
    }
224
    }