要么不做,要么优秀!
专心致志,只做一件事!
加油!
记于2018.4.1
身份标识码:
0管理员->adminmain.jsp
1学生->studentmain.jsp
2学院领导->leadermain.jsp
3教师->teachermain.jsp
4教职工->workermain.jsp
反馈系统:学生可以通过这个系统(实质上是站内邮箱)
学生可以通过邮箱(在教师信息表查找联系方式与教师id号)向对方发送站内邮件。
教师可以通过这个站内邮箱查看到来自其他教师和学生的邮件 进行教学事务上的联系。其中管理员可以通过这个和学生进行及时的联系
4/1 注销用户要完善
今天先写好用户管理界面。
模板中的tables可以作为课程展示界面的参考。
forms:作为信息修改界面的参考
e_id作为每一封邮件的idkey,以时间字段为标识码,每一个人对应一个
4/4 用户的查询功能完成
为了更好的完成毕业设计,下面对毕业设计每天完成的任务进行分配,请按计划完成任务。
4/5~4/6 用户信息修改与删除应该在直接用户查询的基础上完成。
#4/5 今天要实现用户的修改与删除
out.println("<td><a href='buy.jsp?op=add&bm="+6+"'>修改信息</a></td>");一个操作传值到另一个地方的做法
out.print("<td><a href=\"20031.jsp?user_id="+ userid +"\">"+"修改用户"+" </a> ");
修改的时候如果为空,则不改变值
技能习得:前端传值到后端可以用hidden
<input name="userId" type="hidden" value="<%=user_id_u%>" />
删除用户:直接删除
明天:修改的时候还可以修改身份(bzm)
select传递值给servlet的方法:
<select id="bzm_select" onchange="update()" name="bzm_select">
<option>请选择要修改的用户类型</option>
<%
for (int i = 0; i < list.size(); i++) {
%>
<option value="<%=list_id.get(i)%>"><%=list.get(i)%></option>
<%
}
%>
</select>
返回上一层的操作:a href="javascript:history.back(-1)">
在打印的表单里添加修改/删除操作
<div class="col-lg-4">可以修改所占宽度
4/7荒废了
4/8
用户院系是否非选
动态数据控制:
用户密码是否大于6~16位
用户id是否唯一 是否满足5位 是否已选择用户院系
用户名是否非空
用户类型是否非未选
4/9
新增用户的数据传到adduser.do
在调用增加新用户时要确保数据库中无重复ID
所以传进去值的时候已经保证了传进去数据是数据库没有的 要写一个addUser_idVali()
先写addUser(成功)
完善数据验证功能
deleteuser是一个bug 返回上一页问题 待解决 最后还是一个页对应一个java 以后技术水平提高了再提高代码的重用性
完善新增用户数据展示页面
过滤器 实现输入文字的汉字编码!
而用户的添加可以新增一栏添加用户的操作界面
4/10
本学期教学安排(数据库的链接,数据库的增删)
按照教务在线模拟 划定设计主界面
非管理员的界面应该定一个展示全站公告的公告栏
设计相关的表
课程信息查询: 按课程名 、按开课系所
课程表:
课程号(主键)、课程名、开课系所、学分、学时
本学期课表:
课程号(15位数字) 课程名 任课老师ID 任课班级 学分 选课属性(必修,选修) 考核方式 学年 任课学期(作为查询的参考)
点击课程可以看到课程相关的信息(展示课程信息查询的内容)
本学期教学安排:选择已有课程(前提)
安排课程(数据库的新增):课程号(输入课程号展示课程名称,否则展示课程不存在)、学年+任课学期(1春2秋)、开课院系(院系ID)、选择任课老师(输入老师ID展示教师名,对方必须为非学生职位号且数据库存在的ID)、选择任课班级
任务target table:
1、先建表:课程表,本学期课表
2、修改学生添加界面
3、修改展示页面换页问题放到后期前端美化工作
identification 如果是学生,新建新增专门的学生班级选择一栏目,新增班级,班级为第几班(倒数2位)+后两位ID自定
4/11
明天早起吧
4/12废了
4/13废了
4/14废了
4/15
4、写课程信息查询界面40020.jsp->40020_success.jsp(查询结果展示) 上午
开卷考试 闭卷考试 上机考试 应用设计 学期论文 总结报告
5、写课程信息添加界面40021.jsp->40021_success.jsp(查询结果展示) 下午
6、学期课程安排展示界面 40023.jsp 按学期+春秋查询 下午
7、写本学期课程安排管理界面40022.jsp->40022_success.jsp添加成功 晚上
课程信息查询
本学期课程表展示
校内联系ID的展示
4/17
补:
1、上传课程功能java添加 用户id名和院系id名(30min)
2、删除课程功能和编辑课程信息功能(1h)
<div class="row">
<div class="col-lg-16">
<h1>
课程任务信息修改 <small>Revise user's information</small>
</h1>
<ol class="breadcrumb">
<li class="active"><i class="fa fa-bullhorn"></i>
欢迎您使用课程任务信息修改功能。可以按照下面的提示进行课程任务信息的修改。</li>
<li><a href="javascript:history.back(-1)"> <i
class="fa fa-caret-square-o-left"></i> 点我返回上一层
</a>
</ol>
</div>
----------------------------------------------------------------------------------------------------------------------------
<div class="row">
<div class="alert alert-warning alert-dismissable">
课程任务编号与授课课程不可修改,如要修改请与数据库管理员联系。
</div>
<div class="panel panel-Info">
<div class="panel-heading">
<h1 class="panel-title">课程任务编号【${c_s_id}】的信息修改,请在对应的框内填写或选择要更新的信息。若不填写则默认不修改该类数据。</h1>
</div>
等下加一个个人授课任务展示(展示所有id号为我id的授课任务信息)
4/18
教材信息查询
1、先设计教材管理系统的表
4/19
开会的时候明确教材征订系统的操作路线
实现页面展示表格分页(3点以前)
id="theTable"
<div class="gridItem" style="padding: 5px; width: 250px; float: left; text-align: left; height: 20px; font-size: 15px;" >
共<span id="spanTotalInfor">${patientSize}</span> 条记录
当前第<span id="spanPageNum">${curPage}</span>页
共<span id="spanTotalPage">${pageCount}</span>页
</div>
<div class="gridItem" style="margin-left:50px; padding: 5px; width: 400px; float: left; text-align: center; height: 20px; vertical-align: middle; font-size: 15px;">
<span id="spanFirst" >first page</span>
<span id="spanPre">previous</span>
<span id="spanInput" style="margin: 0px; padding: 0px 0px 4px 0px; height:100%; ">
第<input id="Text1" type="text" class="TextBox" onkeyup="changepage()" style="height:20px; text-align: center;width:50px" />页
</span>
<span id="spanNext">next</span>
<span id="spanLast">final page</span>
</div>
</div><!-- container -->
</div><!-- content -->
<script type="text/javascript">
var theTable = document.getElementById("theTable");
var txtValue = document.getElementById("Text1").value;
function changepage() {
var txtValue2 = document.getElementById("Text1").value;
if (txtValue != txtValue2) {
if (txtValue2 > pageCount()) {
}
else if (txtValue2 <= 0) {
}
else if (txtValue2 == 1) {
first();
}
else if (txtValue2 == pageCount()) {
last();
}
else {
hideTable();
page = txtValue2;
pageNum2.value = page;
currentRow = pageSize * page;
maxRow = currentRow - pageSize;
if (currentRow > numberRowsInTable) currentRow = numberRowsInTable;
for (var i = maxRow; i < currentRow; i++) {
theTable.rows[i].style.display = '';
}
if (maxRow == 0) { preText(); firstText(); }
showPage();
nextLink();
lastLink();
preLink();
firstLink();
}
txtValue = txtValue2;
}
}
</script>
<script type="text/javascript" src="js/pagging.js"></script>
站内邮箱 主页面设计、邮箱发件箱页面设计(6~8点)
邮箱收件箱、已发邮件的设计(数据库连接)(7~23点)
4/20 机会失去了不会再回来!!!
珍惜22岁!!!!
一口吃不成一个大胖子,心急吃不了热豆腐。多点耐心才能解决问题。
发送邮件页面:
1-1 可以实现上传附件
2、随后要解决文本保存问题,使得保存在数据库的文件是带换行的。(老子终于解决了!!!)
3、上传邮件以后,设计addEmailjava函数,使得生成两份邮件,一份在email_message,一份在email_message_send
4、接着解决文本展示问题,使得输出在页面的文本是带换行的。
5、解决收件箱或者发件箱内容为空的时候中间人性化的中转页面。
4/21 机会失去了不会再回来!!!
珍惜22岁!!!!
1站内邮箱收尾:修改右上方关于提示未读消息个数的展示数字
群发邮件的设计:新建立一个表email_mass_message
只记录:发件人id与名字 院系id与名字 对应主体id(01~10)为班级,00为全体 信息主体 信息题目 群发邮件的id(关联到表里为属性号)
复制信息的时候直接通过登录用户id所在院系决定粘贴到邮件里的元素内容
学生用户登录教材系统的时候,系统要检测一次是否存在班级为自己所在班级但是属性号却不存在的群发邮件
如果有,则复制到该用户的邮箱中。
站内邮箱的收尾:实现群发邮件+基于普通用户的测试 做完就真的结束了!!!
4/22
追加:
+修改用户接受的群发消息只能来自与同院系
管理员还能进行站内群发,所有用户都会收到的站内群发消息(群发对象为00)修改发送群发java+loginservlet的收到群
发的功能添加
1、群发邮件的发件箱管理
2、存储邮件时保存发件的时间
管理员还能进行站内群发,所有用户都会收到的站内群发消息
实现完这三个站内邮箱功能就真的结束了!!!
最后追加:删除邮件母体(mass群发邮件母本、(单发邮件母本删除时对方收件箱已经把该邮件删除,或者收件箱删除邮件的时候发件的母本发件箱已经把邮件删除掉了)会把数据库中连带保存下载内容的数据一起删除,并且将服务器上的本地文件一起删除。)
保存路径的探究:邮件附件上传是上传到我这里
但是
只要解决这个is okay:实现保存文件在相对路径中!!
4/23
今日target:
1、解决上传文件在相对路径的问题
(写完这个补记账)
要实现的页面有
0、教材查询界面
1、教材信息展示页面
4/24
开始搭建教材信息展示页面
搭建教材信息录入页面 完善后台java
2、教材精确信息展示页面除了那个展示课程的位置要考虑居中
3、新建征订需求操作页面
4、新建征订需求操作页面成功界面
9、教材查询中转java
教材信息展示:
展示方式:默认展示全部,上方有个框表示精确查询(作者/出版社/书名/ISBN号)尝试搜索用模糊查询
/按书的类别查询/+按钮:征订(跳转到页面输入数量->发出征订信息+数量、使用院系、匹配课程(增加明确的需求提醒)->管理员、教职工用户会收到需求提醒,联系商家 入货修改库存->对征订按钮进行确认->返回征订信息)(这个仅非学生用户有权限)
可以展示教材的图 +教材信息(库存+书名+ISBN号+出版社+作者)+可以匹配所用课程
展示教材的精确信息页: 展示内容:教材信息表所有信息+书本匹配课程
1教材信息表:material_info
教材编号、图片地址、书名、ISBN号、出版社、作者、单价、购入方(即联系方)、库存量、
今晚6点之前(失败)
4/25 (上午)
5、java:征订需求处理+数据库的插入:
4/26 废了
4.27
<早上12点以前>
6、教材信息插入页面:输入书名要控制输入书名的大小 长度不得超过50
7、教材信息插入成功页面
要想玩的开心,就要做得认真!
教材信息录入:上传教材的封面、教材信息(库存+书名+ISBN号+出版社+作者)、库存(若不填写初始化为0)
</早上12点以前>
搭建步骤:
1、明确功能流程,在纸上画出流程图
2、列出要搭建的页面与java
3、分配工作,9点15走人
教材征订管理:
1、对于收到的征订请求
2征订初步需求表:material_pre_require
书名、需求量、匹配课程关系号、 院系名、院系号、需求状态(已处理,待处理)需求编号
2、教职工和管理员可以收到对于征订请求的处理:若库存有足够的书籍量(提示库存)->系统表示库内有足够库存,可以直接点击-》对应需求表信息置为已处理-》库存减去对应的需求量+书籍信息添加匹配课程后,生成分发任务单+收款信息(发到财务管理处进行缴费)+缴费信息发到学院管理员和教职工邮箱里
3分发任务表material_distribute
书名、isbn号、书籍量(=需求量)、需求院系号、需求院系名、需求班级、书籍单价、书籍总价
4收款信息 material_collection
收款编号、包括日期(获取操作系统的时间) 班级与金额 收款员(操作的用户id)
若库存没有足够的书籍量,则需要购买->生成购买信息
5购买信息表material_buyingdata
购买编号,需求号,书名、出版社、作者、出版版次、书籍单价、需求数量、书籍总价、对应院系/院系+班级、日期、购买处理状态
(……采购员进行购买)
购买信息放到另一个空间里:教材采购需求管理 请操作员实际地去联系商家购买 付了订单后再返回操作:购买点击确定后库存会增加。增加以后操作员再返回到分发任务处点击需求信息表置为已处理+生成对应的分发任务表
购买后点击确认 生成收款信息
并发送信息到站内邮箱(发给院系负责人和教职工)
4/28
出入库存管理:
1、展示页面展示所有库有书籍
2、上方可以查书(直接点击修改,或者输入要修改的书籍ISBN号码)->修改库存(仅库存增加)->修改展示修改库存成功页面,返回展示页面
6库存表
6库存表material_inventory
书名、ISBN号、库存量、出版社、出版批次、购入方、作者、书编号
教材分发管理:
操作员会收到分发任务表,可以按照需求填写新的精确派发信息,向指定班级派发书籍->对方邮箱对应院系的教职工会收到信息提醒去分发,对应班级的全体学生(生成去领取消息)(生成精确派发消息)+院系领导与对应院系教职工会收到信息(去分发)->(现场派发):这个模拟过程是教职工或者院系领导对于精确派发消息可以进行确认,确认后消息状态变为“已发送”
取消所有学生的需求提醒。
7精确派发消息表:material_pre_course
院系号 院系名称 班级 派发书籍名 书籍ISBN号 派发地点 派发时间 派发量 派发状态
8书籍与匹配课程的关系表material_match_course
书籍id、匹配课程id、匹配课程名称
9分发需求院系与具体班级的关联表 material_dep_class
院系id、班级人数、班级、院系名称、需求量(班级人数)、关联唯一需求表
5/1节骨眼!!!咬牙切齿一口气!做完它!
开小差的下场就是如此。
5/2
1、捋顺发送邮件的思路
2、修改群发邮件的相关代码:登录、读取(两个方面检查)
3、实现页面7
4、实现页面8
5、实现页面9
6、实现页面10
(明晚以前结束)
明晚结束30070
后天:解决生成word问题
+jsp页面引入的问题解决。
5/5实现把账目单中的账目明细生成为word文档或者excel文件并点击既可以下载的功能。
5/6~5/7实现对不同用户操作界面的编写、汇总与按用户类型展示的功能。
0、登录界面投过去用户bzm
1、纸上草稿6种不同操作界面
+个人信息页:展示个人信息的同时支持密码的修改
+学生页面的待领教材,展示发给该学生的教材信息
+教师+教职工页面+管理员页面:展示“我的课程”
2、按草稿编写
3、引入界面,改页面的时候把一级返回上一页为adiminmain的改为main
……………………………………………………………任务:收尾进度分割线
5/7
1、写用户注销功能。
2、过滤页面的实现
3、登录写一个验证码
5/8数据加密的实现
5/9 数据备份的实现 书籍展示页面的完善
5/10找同学看毕业设计结果 提意见 修改 +找老师联系展示结果
5/8添加系统出错页面的过滤器,当出现各种错误的时候出现用该页面代替500页面、404页面,以更好地完善用户的使用观感
5/9~5/10数据库的数据恢复与数据备份功能的实现
5/11~5/12 前后端的优化,功能的查漏补缺
5/13争取在这一天完成毕业设计的主要内容,联系导师展示结果,修改后撰写毕业论文。
……………………………………………………………任务:收尾进度分割线
拿了优秀!!目标达成!!