Search in sources :

Example 6 with TGExcelModel

use of com.kendy.entity.TGExcelModel in project financial by greatkendy123.

the class TGExportExcelService method getTGTeamZhanjiExcelModels.

/**
 * 导出战绩明细(所有)
 * @return
 */
private List<TGExcelModel> getTGTeamZhanjiExcelModels() {
    List<TGExcelModel> excelLsit = new ArrayList<>();
    ObservableList<Node> teamBtns = tgController.TG_Team_VBox.getChildren();
    if (CollectUtil.isNullOrEmpty(teamBtns))
        return excelLsit;
    for (Node node : teamBtns) {
        Button teamBtn = (Button) node;
        String teamId = teamBtn.getText();
        teamBtn.fire();
        String hsRate = StringUtil.nvl(tgController.tgTeamHSRate.getText(), "0%");
        TGExcelModel teamZJExcelModel = getTeamZJExcelModel(teamId, hsRate);
        excelLsit.add(teamZJExcelModel);
    }
    return excelLsit;
}
Also used : Button(javafx.scene.control.Button) Node(javafx.scene.Node) TGExcelModel(com.kendy.entity.TGExcelModel) ArrayList(java.util.ArrayList)

Example 7 with TGExcelModel

use of com.kendy.entity.TGExcelModel in project financial by greatkendy123.

the class TGExportExcelService method getMonthLirunExcelModel.

/**
 * 月利润ExcelModel
 * @time 2018年3月19日
 * @return
 */
private TGExcelModel getMonthLirunExcelModel() {
    TGExcelModel excelModel = new TGExcelModel();
    List<String> titleList = new LinkedList<>();
    List<Object[]> data = new LinkedList<>();
    List<String> titleSumList = new LinkedList<>();
    List<Object[]> dataSum = new LinkedList<>();
    titleList = new LinkedList<>(Arrays.asList("日期", "托管公司", "总利润", "总开销", "合计", "公司占股", "托管公司占股", "团队利润", "托管合计"));
    ObservableList<TGLirunInfo> items = tgController.tableTGLirun.getItems();
    if (CollectUtil.isHaveValue(items)) {
        data = items.stream().map(info -> {
            Object[] obj = new Object[9];
            obj[0] = info.getTgLirunDate();
            obj[1] = info.getTgLirunCompanyName();
            obj[2] = info.getTgLirunTotalProfit();
            obj[3] = info.getTgLirunTotalKaixiao();
            obj[4] = info.getTgLirunRestHeji();
            obj[5] = info.getTgLirunATMCompany();
            obj[6] = info.getTgLirunTGCompany();
            obj[7] = info.getTgLirunTeamProfit();
            obj[8] = info.getTgLirunHeji();
            return obj;
        }).collect(Collectors.toList());
    }
    // add 新增合计
    // 托管公司押金
    String yajin = StringUtil.nvl(tgController.tgCompanyYajin.getText());
    // 托管公司额度
    String edu = StringUtil.nvl(tgController.tgCompanyEdu.getText());
    // 托管公司已分红
    String yifenhong = StringUtil.nvl(tgController.tgYifenhong.getText());
    // 总外债
    String waizhai = StringUtil.nvl(tgController.totalWaizhai.getText());
    // 总利润
    String profit = StringUtil.nvl(tgController.tgTotalProfit.getText());
    // 总可分配
    String availabel = StringUtil.nvl(tgController.tgAvailable.getText());
    Object[] obj = new Object[2];
    obj[0] = "押金";
    obj[1] = yajin;
    dataSum.add(obj);
    obj = new Object[2];
    obj[0] = "额度";
    obj[1] = edu;
    dataSum.add(obj);
    obj = new Object[2];
    obj[0] = "已分红";
    obj[1] = yifenhong;
    dataSum.add(obj);
    obj = new Object[2];
    obj[0] = "总外债";
    obj[1] = waizhai;
    dataSum.add(obj);
    obj = new Object[2];
    obj[0] = "总利润";
    obj[1] = profit;
    dataSum.add(obj);
    obj = new Object[2];
    obj[0] = "可分配";
    obj[1] = availabel;
    dataSum.add(obj);
    excelModel.setColumnList(titleList);
    excelModel.setData(data);
    excelModel.setColumnSumList(titleSumList);
    excelModel.setDataSum(dataSum);
    excelModel.setSheetName("月利润");
    return excelModel;
}
Also used : TGExcelModel(com.kendy.entity.TGExcelModel) TGLirunInfo(com.kendy.entity.TGLirunInfo) LinkedList(java.util.LinkedList)

Example 8 with TGExcelModel

use of com.kendy.entity.TGExcelModel in project financial by greatkendy123.

the class TGExportExcelService method getTGWaizhaiExcelModel.

/**
 * 导出托管公司的团队外债与团队外债明细
 * @return
 */
private TGExcelModel getTGWaizhaiExcelModel() {
    TGExcelModel excelModel = new TGExcelModel();
    List<String> titleList = new LinkedList<>();
    List<Object[]> data = new LinkedList<>();
    List<String> titleSumList = new LinkedList<>();
    List<Object[]> dataSum = new LinkedList<>();
    // 取值
    // 传给Excel的外债数据
    Map<String, List<Object[]>> teamMap = new LinkedHashMap<>();
    ObservableList<Node> items = tgController.tgWZTeamHBox.getChildren();
    // 存放总和表
    ObservableList<TypeValueInfo> sumItems = tgController.tgWZTeam.getItems();
    if (CollectUtil.isHaveValue(sumItems)) {
        List<Object[]> teamList = tgController.tgWZTeam.getItems().stream().map(info -> {
            Object[] obj = new Object[2];
            obj[0] = info.getType();
            obj[1] = info.getValue();
            return obj;
        }).collect(Collectors.toList());
        String key = tgController.tgWZTeam.getColumns().get(0).getText() + "#" + tgController.tgWZTeam.getColumns().get(1).getText();
        teamMap.put(key, teamList);
    }
    // 存放明细表
    if (CollectUtil.isHaveValue(items)) {
        for (Node node : items) {
            TableView<CurrentMoneyInfo> table = (TableView<CurrentMoneyInfo>) node;
            List<Object[]> teamList = table.getItems().stream().map(info -> {
                Object[] obj = new Object[2];
                obj[0] = info.getMingzi();
                obj[1] = info.getShishiJine();
                return obj;
            }).collect(Collectors.toList());
            String key = table.getColumns().get(0).getText() + "#" + table.getColumns().get(1).getText();
            teamMap.put(key, teamList);
        }
    }
    excelModel.setColumnList(titleList);
    excelModel.setData(data);
    excelModel.setColumnSumList(titleSumList);
    excelModel.setDataSum(dataSum);
    excelModel.setSheetName("外债");
    // 设值
    excelModel.setWaiZai(true);
    excelModel.setWaizhaiMap(teamMap);
    return excelModel;
}
Also used : Button(javafx.scene.control.Button) Arrays(java.util.Arrays) TGCommentInfo(com.kendy.entity.TGCommentInfo) HashMap(java.util.HashMap) ExportTGExcel(com.kendy.excel.ExportTGExcel) TypeValueInfo(com.kendy.entity.TypeValueInfo) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) StringUtil(com.kendy.util.StringUtil) Map(java.util.Map) LinkedList(java.util.LinkedList) TGLirunInfo(com.kendy.entity.TGLirunInfo) TableView(javafx.scene.control.TableView) TGFwfinfo(com.kendy.entity.TGFwfinfo) TextField(javafx.scene.control.TextField) Label(javafx.scene.control.Label) TGTeamInfo(com.kendy.entity.TGTeamInfo) Node(javafx.scene.Node) TGController(com.kendy.controller.TGController) Collectors(java.util.stream.Collectors) TGExcelModel(com.kendy.entity.TGExcelModel) FXML(javafx.fxml.FXML) List(java.util.List) CollectUtil(com.kendy.util.CollectUtil) ShowUtil(com.kendy.util.ShowUtil) TGKaixiaoInfo(com.kendy.entity.TGKaixiaoInfo) ObservableList(javafx.collections.ObservableList) ErrorUtil(com.kendy.util.ErrorUtil) CurrentMoneyInfo(com.kendy.entity.CurrentMoneyInfo) TypeValueInfo(com.kendy.entity.TypeValueInfo) Node(javafx.scene.Node) CurrentMoneyInfo(com.kendy.entity.CurrentMoneyInfo) LinkedList(java.util.LinkedList) LinkedHashMap(java.util.LinkedHashMap) TGExcelModel(com.kendy.entity.TGExcelModel) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) List(java.util.List) ObservableList(javafx.collections.ObservableList) TableView(javafx.scene.control.TableView)

Example 9 with TGExcelModel

use of com.kendy.entity.TGExcelModel in project financial by greatkendy123.

the class TGExportExcelService method exportExcel.

/**
 * 导出Excel
 */
public void exportExcel() {
    try {
        List<TGExcelModel> excelList = new ArrayList<>();
        // 开销
        excelList.add(getKaixiaoExcelModel());
        // 玩家备注
        excelList.add(getPlayerCommentExcelModel());
        // 月利润
        excelList.add(getMonthLirunExcelModel());
        // 外债表
        excelList.add(getTGWaizhaiExcelModel());
        // 服务费明细
        excelList.add(getFwfExcelModel());
        // 战绩表
        excelList.addAll(getTGTeamZhanjiExcelModels());
        ExportTGExcel excelCreator = new ExportTGExcel(excelList);
        excelCreator.export();
        ShowUtil.show("导出成功", 2);
    } catch (Exception e) {
        ErrorUtil.err("导出托管公司所有数据失败", e);
        e.printStackTrace();
    }
}
Also used : ExportTGExcel(com.kendy.excel.ExportTGExcel) TGExcelModel(com.kendy.entity.TGExcelModel) ArrayList(java.util.ArrayList)

Example 10 with TGExcelModel

use of com.kendy.entity.TGExcelModel in project financial by greatkendy123.

the class ExportTGExcel method export.

/*
     * 导出数据
     * */
@SuppressWarnings("deprecation")
public void export() throws Exception {
    // 创建工作簿对象
    HSSFWorkbook workbook = new HSSFWorkbook();
    for (TGExcelModel excelModel : excelList) {
        String sheetName = excelModel.getSheetName();
        List<String> columnTitleList = excelModel.getColumnList();
        List<Object[]> columnData = excelModel.getData();
        /**
         ****************************************************添加导出托管公司外债的信息*****************************
         */
        boolean isWaiZai = excelModel.getIsWaiZai();
        if (isWaiZai) {
            setWaizhaiData(workbook, excelModel);
            continue;
        }
        /**
         *********************************************************************************
         */
        HSSFSheet sheet = workbook.createSheet(sheetName);
        // 产生表格标题行
        HSSFRow rowColumnName = sheet.createRow(0);
        // sheet样式定义【getColumnTopStyle()/getStyle()均为自定义方法 - 在下面  - 可扩展
        // 获取列头样式对象
        HSSFCellStyle columnTopStyle = this.getColumnTopStyle(workbook);
        // 单元格样式对象
        HSSFCellStyle style = this.getStyle(workbook);
        /**
         ***********************************  标题栏  ***************************
         */
        int columnNum = columnTitleList.size();
        for (int n = 0; n < columnNum; n++) {
            // 创建列头对应个数的单元格
            HSSFCell cellName = rowColumnName.createCell(n);
            // 设置列头单元格的数据类型
            cellName.setCellType(HSSFCell.CELL_TYPE_STRING);
            HSSFRichTextString text = new HSSFRichTextString(columnTitleList.get(n));
            // 设置列头单元格的值
            cellName.setCellValue(text);
            // 设置列头单元格样式
            cellName.setCellStyle(columnTopStyle);
        }
        // 将查询出的数据设置到sheet对应的单元格中
        int dataSize = columnData.size();
        for (int i = 0; i < dataSize; i++) {
            // 遍历每个对象
            Object[] obj = columnData.get(i);
            // 创建所需的行数
            HSSFRow row = sheet.createRow(i + 1);
            for (int j = 0; j < columnNum; j++) {
                HSSFCell cell = row.createCell(j, HSSFCell.CELL_TYPE_STRING);
                if (!"".equals(obj[j]) && obj[j] != null) {
                    // 设置单元格的值
                    cell.setCellValue(obj[j].toString());
                }
                // 设置单元格样式
                cell.setCellStyle(style);
            }
        }
        /**
         ****************** 添加合计 *******
         */
        List<String> columnSumList = excelModel.getColumnSumList();
        List<Object[]> sumDataList = excelModel.getDataSum();
        int columnSumSize = sumDataList.size();
        for (int i = 0; i < columnSumSize; i++) {
            HSSFRow r = sheet.getRow(i + 1);
            if (r == null) {
                r = sheet.createRow(i + 1);
            }
            HSSFCell type = r.createCell(columnNum + 1, HSSFCell.CELL_TYPE_STRING);
            type.setCellStyle(style);
            type.setCellValue(sumDataList.get(i)[0].toString());
            HSSFCell sum = r.createCell(columnNum + 2, HSSFCell.CELL_TYPE_STRING);
            sum.setCellStyle(style);
            sum.setCellValue(sumDataList.get(i)[1].toString());
        }
        sheet.setColumnWidth(columnNum + 1, 3500);
        sheet.setColumnWidth(columnNum + 2, 3500);
        // 让列宽随着导出的列长自动适应
        for (int colNum = 0; colNum < columnNum; colNum++) {
            sheet.setColumnWidth(colNum, 4000);
        // if(colNum == 0){
        // sheet.setColumnWidth(colNum, (columnWidth+4) * 256);
        // }else{
        // sheet.setColumnWidth(colNum, (columnWidth+4) * 256);
        // }
        }
    }
    if (workbook != null) {
        OutputStream out = null;
        try {
            File file = new File(this.out + System.currentTimeMillis() + ".xls");
            out = new FileOutputStream(file);
            workbook.write(out);
            java.awt.Desktop.getDesktop().open(file);
            System.out.println("==================================finishes...");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (out != null)
                out.close();
        }
    }
}
Also used : HSSFRichTextString(org.apache.poi.hssf.usermodel.HSSFRichTextString) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) HSSFRow(org.apache.poi.hssf.usermodel.HSSFRow) HSSFRichTextString(org.apache.poi.hssf.usermodel.HSSFRichTextString) IOException(java.io.IOException) HSSFWorkbook(org.apache.poi.hssf.usermodel.HSSFWorkbook) HSSFCellStyle(org.apache.poi.hssf.usermodel.HSSFCellStyle) HSSFCell(org.apache.poi.hssf.usermodel.HSSFCell) FileOutputStream(java.io.FileOutputStream) TGExcelModel(com.kendy.entity.TGExcelModel) HSSFSheet(org.apache.poi.hssf.usermodel.HSSFSheet) File(java.io.File)

Aggregations

TGExcelModel (com.kendy.entity.TGExcelModel)10 LinkedList (java.util.LinkedList)6 ArrayList (java.util.ArrayList)4 TypeValueInfo (com.kendy.entity.TypeValueInfo)3 TGCommentInfo (com.kendy.entity.TGCommentInfo)2 TGFwfinfo (com.kendy.entity.TGFwfinfo)2 TGKaixiaoInfo (com.kendy.entity.TGKaixiaoInfo)2 TGLirunInfo (com.kendy.entity.TGLirunInfo)2 TGTeamInfo (com.kendy.entity.TGTeamInfo)2 ExportTGExcel (com.kendy.excel.ExportTGExcel)2 Node (javafx.scene.Node)2 Button (javafx.scene.control.Button)2 HSSFRichTextString (org.apache.poi.hssf.usermodel.HSSFRichTextString)2 TGController (com.kendy.controller.TGController)1 CurrentMoneyInfo (com.kendy.entity.CurrentMoneyInfo)1 CollectUtil (com.kendy.util.CollectUtil)1 ErrorUtil (com.kendy.util.ErrorUtil)1 ShowUtil (com.kendy.util.ShowUtil)1 StringUtil (com.kendy.util.StringUtil)1 File (java.io.File)1