導出數據
@PostMapping("/commodityInventoryExportExcel")
@ApiOperation("庫存盤點導出(一次只能導出一條記錄)")
public void commodityInventoryExportExcel(@RequestParam Integer id, HttpServletResponse response){
ExcelData data = new ExcelData();
data.setName("庫存盤點明細");
List<String> titles = new ArrayList<>();
titles.add("序號");
titles.add("商品品類");
titles.add("商品名稱");
titles.add("倉庫");
titles.add("庫區");
titles.add("庫位");
titles.add("單位");
titles.add("原始數量");
titles.add("盤點數量");
titles.add("盤損");
titles.add("盤溢");
titles.add("成本價");
titles.add("金額");
titles.add("備註");
titles.add("操作人");
titles.add("盤點日期");
titles.add("狀態");
data.setTitles(titles);
List<CommodityInventoryDetail> commodityInventoryDetailList = commodityInventoryDetailService.getListByCommodityInventoryId(id);
List<List<Object>> rows = new ArrayList<>();
for (int i = 0; i < commodityInventoryDetailList.size(); i++) {
List<Object> row = new ArrayList<>();
row.add(i+1);
row.add(commodityInventoryDetailList.get(i).getCategoriesName());//分類名
row.add(commodityInventoryDetailList.get(i).getCommodityName());//商品名
WarehouseManagement warehouseManagement = warehouseManagementService.findWarehouseByStorageDetailId(commodityInventoryDetailList.get(i).getWarehouseId());
if (warehouseManagement!=null) {
row.add(warehouseManagement.getWarehouseManagement().getWarehouseManagement().getName());//倉庫
row.add(warehouseManagement.getWarehouseManagement().getName());//庫區
row.add(warehouseManagement.getName());//庫位
}
row.add(commodityInventoryDetailList.get(i).getUnit());//單位
row.add(commodityInventoryDetailList.get(i).getOriginalNum());//原始數量
row.add(commodityInventoryDetailList.get(i).getInventoryNum());//盤點數量
row.add(commodityInventoryDetailList.get(i).getLost()==0?"":commodityInventoryDetailList.get(i).getLost());//盤損
row.add(commodityInventoryDetailList.get(i).getOverFlow()==0?"":commodityInventoryDetailList.get(i).getOverFlow());//盤溢
row.add(commodityInventoryDetailList.get(i).getCostPrice());//成本
//金額
if (commodityInventoryDetailList.get(i).getLost()!=0) {
commodityInventoryDetailList.get(i).setSum((commodityInventoryDetailList.get(i).getLost())*commodityInventoryDetailList.get(i).getCostPrice());
} else if (commodityInventoryDetailList.get(i).getOverFlow()!=0){
commodityInventoryDetailList.get(i).setSum((commodityInventoryDetailList.get(i).getOverFlow())*commodityInventoryDetailList.get(i).getCostPrice());
}
row.add(commodityInventoryDetailList.get(i).getSum());//總金額
row.add(commodityInventoryDetailList.get(i).getRemark());//備註
row.add(commodityInventoryDetailList.get(i).getUpdateBy());//操作人
row.add(commodityInventoryDetailList.get(i).getUpdateTime());//操作時間
if(commodityInventoryDetailList.get(i).getStatus()==0){//狀態
row.add("");
}else {
row.add("已審覈");
}
rows.add(i,row);
}
data.setRows(rows);
try {
ExcelUtils.exportExcel(data, response);
} catch (Exception e) {
e.printStackTrace();
}
}