| 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);
|