導出數據到excel表格

導出數據

	@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();
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章