Subversion Repositories SmartDukaan

Rev

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

Rev 25380 Rev 26961
Line 165... Line 165...
165
	public static void writeInventoryItemAgingModels(List<InventoryItemAgingModel> inventoryItemAgingModels,
165
	public static void writeInventoryItemAgingModels(List<InventoryItemAgingModel> inventoryItemAgingModels,
166
			List<Integer> intervals, OutputStream outputStream) {
166
			List<Integer> intervals, OutputStream outputStream) {
167
		SXSSFWorkbook workbook = new SXSSFWorkbook();
167
		SXSSFWorkbook workbook = new SXSSFWorkbook();
168
 
168
 
169
		// CreationHelper createHelper = workbook.getCreationHelper();
169
		// CreationHelper createHelper = workbook.getCreationHelper();
170
 
-
 
-
 
170
		boolean showPartner = inventoryItemAgingModels.get(0).getFofoId() == 0;
-
 
171
		int nonValueColumns = 6;
171
		SXSSFSheet sheet = workbook.createSheet("InventoryItemAging");
172
		SXSSFSheet sheet = workbook.createSheet("InventoryItemAging");
172
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 0));
173
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 0));
173
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 1, 1));
174
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 1, 1));
174
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 2, 2));
175
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 2, 2));
175
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 3, 3));
176
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 3, 3));
176
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 4, 4));
177
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 4, 4));
177
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 5, 5));
178
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 5, 5));
178
		sheet.trackAllColumnsForAutoSizing();
179
		sheet.trackAllColumnsForAutoSizing();
179
 
180
		
-
 
181
		int rowIndex = 0;
180
		Row rowHeader = sheet.createRow(0);
182
		Row rowHeader = sheet.createRow(rowIndex++);
-
 
183
		Row rowPriceQuantity = sheet.createRow(rowIndex++);
-
 
184
		int i=0;
-
 
185
		if(showPartner) {
-
 
186
			sheet.addMergedRegion(new CellRangeAddress(0, 1, 6, 6));
-
 
187
			sheet.addMergedRegion(new CellRangeAddress(0, 1, 7, 7));
-
 
188
			sheet.addMergedRegion(new CellRangeAddress(0, 1, 7, 8));
-
 
189
			Cell cellFofoIdHeader = rowHeader.createCell(i++);
-
 
190
			cellFofoIdHeader.setCellValue("Partner Id");
-
 
191
			Cell cellStoreCodeHeader = rowHeader.createCell(i++);
-
 
192
			cellStoreCodeHeader.setCellValue("Store Code");
-
 
193
			Cell cellStoreNameHeader = rowHeader.createCell(i++);
-
 
194
			cellStoreNameHeader.setCellValue("Store Name");
-
 
195
			nonValueColumns = 9;
-
 
196
		}
181
		Cell cellItemIdHeader = rowHeader.createCell(0);
197
		Cell cellItemIdHeader = rowHeader.createCell(i++);
182
		cellItemIdHeader.setCellValue("Item Id");
198
		cellItemIdHeader.setCellValue("Item Id");
183
		Cell cellBrandHeader = rowHeader.createCell(1);
199
		Cell cellBrandHeader = rowHeader.createCell(i++);
184
		cellBrandHeader.setCellValue("Brand");
200
		cellBrandHeader.setCellValue("Brand");
185
		Cell cellModelNameHeader = rowHeader.createCell(2);
201
		Cell cellModelNameHeader = rowHeader.createCell(i++);
186
		cellModelNameHeader.setCellValue("Model Name");
202
		cellModelNameHeader.setCellValue("Model Name");
187
		Cell cellModelNumberHeader = rowHeader.createCell(3);
203
		Cell cellModelNumberHeader = rowHeader.createCell(i++);
188
		cellModelNumberHeader.setCellValue("Model Number");
204
		cellModelNumberHeader.setCellValue("Model Number");
189
		Cell cellColorHeader = rowHeader.createCell(4);
205
		Cell cellColorHeader = rowHeader.createCell(i++);
190
		cellColorHeader.setCellValue("Color");
206
		cellColorHeader.setCellValue("Color");
191
		Cell cellTypeHeader = rowHeader.createCell(5);
207
		Cell cellTypeHeader = rowHeader.createCell(i++);
192
		cellTypeHeader.setCellValue("Item Type");
208
		cellTypeHeader.setCellValue("Item Type");
193
		Row rowPriceQuantity = sheet.createRow(1);
-
 
194
		for (int index = 0, colIndex = 6; index < intervals.size() + 1; index++, colIndex = colIndex + 2) {
209
		for (int index = 0; index <= intervals.size(); index++) {
195
			Cell cellHeader = rowHeader.createCell(colIndex);
210
			Cell cellHeader = rowHeader.createCell(i++);
196
			if (index == 0) {
211
			if (index == 0) {
197
				cellHeader.setCellValue("Less Than " + intervals.get(index) + " Days");
212
				cellHeader.setCellValue("Less Than " + intervals.get(index) + " Days");
198
			} else if (index < intervals.size()) {
213
			} else if (index < intervals.size()) {
199
				cellHeader.setCellValue(intervals.get(index - 1) + " - " + intervals.get(index) + " Days");
214
				cellHeader.setCellValue(intervals.get(index - 1) + " - " + intervals.get(index) + " Days");
200
			} else {
215
			} else {
201
				cellHeader.setCellValue("More Than " + intervals.get(index - 1) + " Days");
216
				cellHeader.setCellValue("More Than " + intervals.get(index - 1) + " Days");
202
			}
217
			}
203
			sheet.addMergedRegion(new CellRangeAddress(0, 0, colIndex, colIndex + 1));
218
			sheet.addMergedRegion(new CellRangeAddress(0, 0, i-1, i));
204
			rowHeader.createCell(colIndex + 1);
219
			rowHeader.createCell(i++);
205
			Cell cellPrice = rowPriceQuantity.createCell(colIndex);
220
			Cell cellPrice = rowPriceQuantity.createCell(i-2);
206
			cellPrice.setCellValue("Price");
221
			cellPrice.setCellValue("Price");
207
			Cell cellQuantity = rowPriceQuantity.createCell(colIndex + 1);
222
			Cell cellQuantity = rowPriceQuantity.createCell(i-1);
208
			cellQuantity.setCellValue("Quantity");
223
			cellQuantity.setCellValue("Quantity");
209
		}
224
		}
-
 
225
 
210
		Font font = workbook.createFont();
226
		Font font = workbook.createFont();
211
		CellStyle cellStyle = workbook.createCellStyle();
-
 
212
		font.setBold(true);
227
		font.setBold(true);
213
		// font.setFontHeight((short)16);
228
		CellStyle cellStyle = workbook.createCellStyle();
214
		cellStyle.setFont(font);
229
		cellStyle.setFont(font);
215
		for (int i = 0; i < 8 + (intervals.size() * 2); i++) {
230
		for (int j = 0; j < nonValueColumns + ((intervals.size()+1)) * 2; j++) {
216
			rowHeader.getCell(i).setCellStyle(cellStyle);
231
			rowHeader.getCell(j).setCellStyle(cellStyle);
217
			if (rowPriceQuantity.getCell(i) != null) {
232
			if (rowPriceQuantity.getCell(i) != null) {
218
				rowPriceQuantity.getCell(i).setCellStyle(cellStyle);
233
				rowPriceQuantity.getCell(i).setCellStyle(cellStyle);
219
			}
234
			}
220
		}
235
		}
221
 
-
 
222
		for (int index = 0; index < inventoryItemAgingModels.size(); index++) {
-
 
223
			InventoryItemAgingModel inventoryItemAgingModel = inventoryItemAgingModels.get(index);
236
		for (InventoryItemAgingModel inventoryItemAgingModel : inventoryItemAgingModels) {
224
			Row rowValues = sheet.createRow(index + 2);
237
			Row rowValues = sheet.createRow(rowIndex++);
225
			Cell cellItemId = rowValues.createCell(0);
238
			if(showPartner) {
226
			cellItemId.setCellValue(inventoryItemAgingModel.getItemId());
239
				rowHeader.createCell(i++).setCellValue(inventoryItemAgingModel.getFofoId());
227
			Cell cellBrand = rowValues.createCell(1);
240
				rowHeader.createCell(i++).setCellValue(inventoryItemAgingModel.getStoreCode());
228
			cellBrand.setCellValue(inventoryItemAgingModel.getBrand());
241
				rowHeader.createCell(i++).setCellValue(inventoryItemAgingModel.getStoreName());
-
 
242
			}
229
			Cell cellModelName = rowValues.createCell(2);
243
			rowValues.createCell(i++).setCellValue(inventoryItemAgingModel.getItemId());
230
			cellModelName.setCellValue(inventoryItemAgingModel.getModelName());
244
			rowValues.createCell(i++).setCellValue(inventoryItemAgingModel.getBrand());
231
			Cell cellModelNumber = rowValues.createCell(3);
245
			rowValues.createCell(i++).setCellValue(inventoryItemAgingModel.getModelName());
232
			cellModelNumber.setCellValue(inventoryItemAgingModel.getModelNumber());
246
			rowValues.createCell(i++).setCellValue(inventoryItemAgingModel.getModelNumber());
233
			Cell cellColor = rowValues.createCell(4);
-
 
234
			cellColor.setCellValue(inventoryItemAgingModel.getColor());
247
			rowValues.createCell(i++).setCellValue(inventoryItemAgingModel.getColor());
235
			Cell cellType = rowValues.createCell(5);
-
 
236
			cellType.setCellValue(inventoryItemAgingModel.getItemType().toString());
248
			rowValues.createCell(i++).setCellValue(inventoryItemAgingModel.getItemType().toString());
237
			List<InventoryItemAgingValue> inventoryItemAgingValues = inventoryItemAgingModel.getValues();
249
			List<InventoryItemAgingValue> inventoryItemAgingValues = inventoryItemAgingModel.getValues();
238
			// LOGGER.info("inventoryItemAgingValues {}", inventoryItemAgingValues);
250
			// LOGGER.info("inventoryItemAgingValues {}", inventoryItemAgingValues);
239
			for (int i = 0, colIndex = 6; i < inventoryItemAgingValues.size(); i++, colIndex = colIndex + 2) {
-
 
240
				Cell cellPrice = rowValues.createCell(colIndex);
-
 
241
				InventoryItemAgingValue inventoryItemAgingValue = inventoryItemAgingValues.get(i);
251
			for (InventoryItemAgingValue inventoryItemAgingValue : inventoryItemAgingValues) {
242
				// LOGGER.info("inventoryItemAgingValue {}", inventoryItemAgingValue);
-
 
243
				Cell cellQuantity = rowValues.createCell(colIndex + 1);
-
 
244
				if (inventoryItemAgingValue != null) {
252
				if (inventoryItemAgingValue != null) {
245
					cellPrice.setCellValue(inventoryItemAgingValue.getPrice());
253
					rowValues.createCell(i++).setCellValue(inventoryItemAgingValue.getPrice());
246
					cellQuantity.setCellValue(inventoryItemAgingValue.getQuantity());
254
					rowValues.createCell(i++).setCellValue(inventoryItemAgingValue.getQuantity());
247
				} else {
255
				} else {
248
					cellPrice.setCellValue("-");
256
					rowValues.createCell(i++).setCellValue("-");
249
					cellQuantity.setCellValue("-");
257
					rowValues.createCell(i++).setCellValue("-");
250
				}
258
				}
251
			}
259
			}
252
		}
260
		}
253
 
261
 
254
		for (int index = 0; index < 8 + (intervals.size() * 2); index++) {
262
		for (int index = 0; index < nonValueColumns + ((intervals.size()+1) * 2); index++) {
255
			sheet.autoSizeColumn(index);
263
			sheet.autoSizeColumn(index);
256
		}
264
		}
257
 
265
 
258
		try {
266
		try {
259
			workbook.write(outputStream);
267
			workbook.write(outputStream);