首页 > 其他分享 >第六篇Scrum博客

第六篇Scrum博客

时间:2024-11-17 18:19:50浏览次数:1  
标签:String XYChart Scrum param yyyy 博客 new 条形图 第六篇

1.站立式会议

1.1 会议照片

1.2 会议内容

昨天已完成的工作:
已经完成了账目的查询界面功能,按日期、备注以及收入支出查询等功能。
今天计划完成的工作

项目模块 需要实现的功能 负责人 预计用时
主界面模块 协助他人完成工作 王伊若 2h
主界面模块 分类报告界面 王伊若 3h
主界面模块 查询界面功能 黄锐 2h
主界面模块 账目展示功能 江佳哲 7h
主界面模块 测试以及代码整理 叶尔森 4h

工作中遇到的困难:
提交了新的没有错误的代码上去之后,在运行的时候出了bug,条形图等图形界面展示缺失了一部分,仍在寻找解决办法。

2.项目燃尽图

3.模块的最新(运行)截图:

条形图展示数据界面及功能

根据给定的月数设置条形图的数据

/**
     * 操作结果:设置条形图的数据根据给定的月数
     *
     * @param month        给定的月数
     * @param barChart     条形图
     * @param categoryAxis X轴
     * @param numberAxis   Y轴
     */
    public void public_setMonthBarChartData(int month,
                                            BarChart<?, ?> barChart,
                                            CategoryAxis categoryAxis,
                                            NumberAxis numberAxis) {
        // 实例化RecordDao对象
        RecordDao recordDao = new RecordDao();
        // 设置条形图水平轴的标签名称
        categoryAxis.setLabel("日期");
        // 设置条形图垂直轴的标签名称
        numberAxis.setLabel("金额");
        // 表示“收入”类型
        XYChart.Series monthInputSeries = new XYChart.Series();
        // 并设置该类型的名称
        monthInputSeries.setName("收入");
        // 表示“支出”类型
        XYChart.Series monthOutputSeries = new XYChart.Series();
        // 并设置该类型的名称
        monthOutputSeries.setName("支出");
​
        // 清空集合日期标签中的内容
        categoryAxis.getCategories().clear();
        // 循环月数,填充数据
        for (int i = 0; i < month; i++) {
            // 得到一个Calendar日历对象
            Calendar calendar = Calendar.getInstance();
            // 设置时间
            calendar.setTime(new Date());
            calendar.add(calendar.MONDAY, -i);
            Date monthDate = calendar.getTime();
            // 将monthDate进行格式化处理获取“yyyy-MM-dd”格式
            String monthStringDate = dateTools.dateFormat(monthDate, "yyyy-MM-dd");
            // 拼接SQL语句,获取当前日期的收入总额
            String monthInputsql = "select SUM(rMoney) from tb_records where rType='收入' and MONTH(rDate)= MONTH('" + monthStringDate + "') and uId=" + Session.getUser().getUserId() + ";";
            // 拼接SQL语句,获取当前日期的支出总额
            String monthOutputsql = "select SUM(rMoney) from tb_records where rType='支出' and MONTH(rDate)= MONTH('" + monthStringDate + "') and uId=" + Session.getUser().getUserId() + ";";
            // 执行收入SQL语句查询得到收入总额
            float monthInput = recordDao.getResultValueBySql(monthInputsql);
            // 执行支出SQL语句查询得到支出总额
            float monthOutput = recordDao.getResultValueBySql(monthOutputsql);
            // 为水平轴添加时间标签
            categoryAxis.getCategories().add(monthStringDate);
            // 填充“收入”类型的数据
            monthInputSeries.getData().add(new XYChart.Data<>(dateTools.dateFormat(dateTools.stringToDate(monthStringDate, "yyyy-MM-dd"), "yyyy-MM"), monthInput));
            // 填充“支出”类型的数据
            monthOutputSeries.getData().add(new XYChart.Data<>(dateTools.dateFormat(dateTools.stringToDate(monthStringDate, "yyyy-MM-dd"), "yyyy-MM"), monthOutput));
        }
​
        // 清除条形图上的所有数据
        barChart.getData().clear();
        // 重新填充条形图上的数据
        barChart.getData().addAll(monthInputSeries, monthOutputSeries);
    }

/**
     * ”条形图“菜单项的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void barChartMenuItemEvent(ActionEvent actionEvent) {
        // 打开条形图界面
        mainApp.initBarChart();
    }

运行截图如下:

折线图展示数据界面及功能

根据给定的月数设置折线图的数据

 /**
     * 操作结果:设置折线图的数据根据给定的月数
     *
     * @param month     给定的月数
     * @param lineChart 折线图
     */
    public void public_setMonthLineChartData(int month, LineChart lineChart, CategoryAxis categoryAxis,
                                             NumberAxis numberAxis) {
        categoryAxis.setLabel("日期");
        numberAxis.setLabel("金额");
​
        XYChart.Series monthInputSeries = new XYChart.Series();
        monthInputSeries.setName("收入");
​
        XYChart.Series monthOutputSeries = new XYChart.Series();
        monthOutputSeries.setName("支出");
​
        // 清空集合日期标签中的内容
        categoryAxis.getCategories().clear();
        for (int i = 0; i < month; i++) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(new Date());
            calendar.add(calendar.MONDAY, -i);
            Date monthDate = calendar.getTime();
            String monthStringDate = dateTools.dateFormat(monthDate, "yyyy-MM-dd");
            String monthInputsql = "select SUM(rMoney) from tb_records where rType='收入' and MONTH(rDate)= MONTH('" + monthStringDate + "') and uId=" + Session.getUser().getUserId() + ";";
            String monthOutputsql = "select SUM(rMoney) from tb_records where rType='支出' and MONTH(rDate)= MONTH('" + monthStringDate + "') and uId=" + Session.getUser().getUserId() + ";";
            float monthInput = new RecordDao().getResultValueBySql(monthInputsql);
            float monthOutput = new RecordDao().getResultValueBySql(monthOutputsql);
            monthInputSeries.getData().add(new XYChart.Data<>(dateTools.dateFormat(monthDate, "yyyy-MM"), monthInput));
            monthOutputSeries.getData().add(new XYChart.Data<>(dateTools.dateFormat(monthDate, "yyyy-MM"), monthOutput));
        }
​
        lineChart.getData().clear();
        lineChart.getData().addAll(monthInputSeries, monthOutputSeries);
    }

初始化下拉列表框选项

/**
     * 初始化界面
     */
    @FXML
    public void initialize() {
        // 初始化填充下拉列表框选项
        String[] items = new String[]{"最近3天", "最近7天", "最近30天", "最近1年(12月)", "最近1年(4季度)"};
        publicTools.public_addComboBoxItems(lineChart_comboBox, items);
    }

运行项目,查询后的结果展示如下

饼图展示数据界面及功能

根据饼图的起始日期和终止日期设置数据

/**
     * 操作结果:设置饼图的数据根据起始日期和终止日期
     *
     * @param user      用户对象
     * @param pieChart  饼图
     * @param startDate 起止日期
     * @param endDate   终止日期
     */
    public void public_setDayPieChartData(User user, PieChart pieChart, Date startDate, Date endDate) {
        // 将开始日期格式化处理
        String thisStartDate = dateTools.dateFormat(startDate, "yyyy-MM-dd");
        // 将结束日期格式化处理
        String thisEndDate = dateTools.dateFormat(endDate, "yyyy-MM-dd");
        // 拼接收入总额SQL语句
        String thisInputsql = "select SUM(rMoney) from tb_records where rType='收入' and rDate between '" + thisStartDate + "'" + " " + "and " + "'" + thisEndDate + "' and uId=" + user.getUserId() + ";";
        // 拼接支出总额SQL语句
        String thisOutputsql = "select SUM(rMoney) from tb_records where rType='支出' and rDate between '" + thisStartDate + "'" + " " + "and " + "'" + thisEndDate + "' and uId=" + user.getUserId() + ";";
        // 执行SQL语句获取收入总额
        float thisInput = new RecordDao().getResultValueBySql(thisInputsql);
        // 执行SQL语句获取支出总额
        float thisOutput = new RecordDao().getResultValueBySql(thisOutputsql);
        // 填充数据到ObservableList集合中
        ObservableList observableList = FXCollections.observableArrayList(
                new PieChart.Data("收入", thisInput),
                new PieChart.Data("支出", thisOutput)
        );

    /**
     * ”饼图“菜单项的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void pieChartMenuItemEvent(ActionEvent actionEvent) {
        // 打开饼图界面
        mainApp.initPieChart();
    }

运行结果截图

4.每人每日总结

成员 总结
王伊若 多读书,多看报,少吃零食多睡觉
黄锐 项目冲刺已接近尾声,继续加油吧!
江佳哲 继续加油吧!
叶尔森 加油,胜利就在眼前!

标签:String,XYChart,Scrum,param,yyyy,博客,new,条形图,第六篇
From: https://www.cnblogs.com/shanhuo31/p/18550857

相关文章

  • Scrum 冲刺博客-day2
    一、每天会议昨天完成的任务与今天计划完成任务成员昨天已完成任务今天计划完成任务董雯霖组织会议,确立各自工作用户注册页面陈金星参会,发表意见用户登录页面邱列圻参会,发表意见用户模块的接口开发李嘉远参会,发表意见页面测试詹洛熙参会,发表意见......
  • 零基础java学习-预科准备-博客的重要性
    零基础java学习-预科准备-博客的重要性学习准备:博客(英文名blog,正式名称为网络日记)为什么要写博客?(简要:加深印象、总结经验、吸取教训、养成良好习惯收益无穷)1.需要总结和思考,能帮助我们更有效的记忆。2.提升文笔组织能力,进公司可能每周都要写周报,可能会写一些详细的帮助文档,要......
  • 第4篇Scrum冲刺博客
    1.站立式会议1.1会议照片1.2会议内容昨天已完成的工作:已初步完成主界面设计和数据库编写记录今天计划完成的工作项目模块需要实现的功能负责人预计用时数据库模块数据库记录的备份、恢复和退出王伊若2h主界面模块账目记录的增删改功能及界面王伊若6h......
  • 第二篇Scrum冲刺博客
    1站立式会议1.1会议照片1.2会议内容昨天已完成的工作:已明确分配的任务,并进行了环境配置,特别是mysql的配置.今天计划完成的工作项目模块需要实现的功能负责人预计用时初始化模块环境搭建王伊若4h登录模块用户注册、登录黄锐7h登录模块数据库连接......
  • 第一篇Scrum冲刺博客
    第一篇Scrum冲刺博客一、各个成员在Alpha阶段认领的任务任务负责人预计工时主界面设计王伊若18h报告界面功能王伊若6h数据库连接黄锐4h数据库的备份、恢复和软件的退出黄锐4h右键实现增删改功能黄锐6h账目的增删改黄锐12h用户的注册与......
  • 第五篇:Scrum冲刺博客
    站立式会议照片:![站立式会议-Day5](链接到Day5的照片)工作进展:许莹柔(机器学习工程师):昨日完成:模型训练继续进行。今日计划:模型训练的最后调整。遇到的困难:需要更多的计算资源来加速训练。肖晓霞(UI设计师):昨日完成:开始设计文档的编写。今日计划:完成设计文档,并开......
  • Scrum 冲刺博客 day1
    作业概述这个作业属于哪个课程计科22级12班-广东工业大学这个作业的要求在哪里团队作业4——项目冲刺这个作业的目标七天的敏捷冲刺各个成员在Alpha阶段认领的任务姓名分工王天一鉴权模块:demo,security万凯毅后台管理后端:admin,mbg兰勇......
  • 团队项目Scrum冲刺-day6
    一、每天举行站立式会议站立式会议照片一张昨天已完成的工作成员任务陈国金代码沙箱Java实现凌枫创建题目页面部分内容陈卓恒更新题目界面谭立业浏览题目页面廖俊龙接口测试曾平凡前端页面测试曾俊涛协助代码沙箱Java实现薛秋昊协助代......
  • Scrum 冲刺博客-day1
    一、各个成员在Alpha阶段认领的任务成员Alpha任务董雯霖注册登录页面、博客编写陈金星活动管理模块开发李嘉远统计数据模块开发邱列圻反馈与评价模块开发詹洛熙前端页面测试、接口测试、协助成员开发二、明日各个成员的任务安排成员任务......
  • 第三篇:Scrum冲刺博客
    冲刺博客:Day3-数据处理与设计细化站立式会议照片:![站立式会议-Day3](链接到Day3的照片)工作进展:许莹柔(机器学习工程师):昨日完成:数据集预处理工作开始。今日计划:继续数据集预处理,并开始模型训练。遇到的困难:数据集存在一些异常值需要处理。肖晓霞(UI设计师):昨......