Skip to content

bwhyman/SEWM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SEWM

2017.10.14

整合eclipse maven + git
更新至Spring 5.0.0.RC3, Hibernate 5.2.10, dbcp2


entitymanager 删除问题

使用<c:url>标签定义页面base
修复监考日期匹配表达式
修复当时间、地点等为空时监考表格读取错误,置为空字符串,是否应抛异常?

配置sessionfactory使用packagesToScan属性自动扫描entity,不必在hibernate中配置实体类

移植到JPA使用Hibernate 5.2.8作为provider
由从JPA传回来Hibernate,简直是噩梦!
脱管状态对象不能直接删除,必须merge()到持久化状态,莫名其妙的无法直接删除many端对象,却没有任何异常

2017.02.05

Bug
Improvement
New Feature
完成学期基点日期设置,不同组使用相同日期,因此由超级管理员设置
Refactoring
基于LocalDateTime重写学期周数计算
基于Excel表格重写用户初始化数据
重写抽象静态页面请求 <取消> 取消抽象静态页面的实现,不利于权限控制
静态资源请求由web容器负责
静态资源处理修改影响自定义错误页面,取消自定义错误页面,反正也不好看
取消Service层抽象类设计,仅影响1个方法的实现
MVC参数类型转换异常显示400错误
全局Throwable异常处理为显示404错误
使用Controller类与方法级自定义注释+拦截器+反射完成请求权限验证,反射自定义注释速度比想象中快,在50k纳秒以内
超权限请求返还404错误
整合登录验证/权限验证
自定义标签实现EL表达式对类中常量的调用 <取消保留>
自定义标签实现页面权限内容显示,由后台标签实现获取用户权限并验证,无需页面调用用户权限
base模板已引入权限类,为什么页面也需要引入呢??
EL3.0支获导入类及类中静态常量,使用JSP import引入后也可直接在EL中使用
需web服务器支持,Tomcat8支持EL3.0,但Tomcat(8.09)不支持,Tomcat(8.41)支持
配置servlet,去除JSP编译后的空行,查看页面源码时更紧凑
Task
基于Junit4+Spring Test(4.2.1)完成整合测试

2017.01.27

Bug
修复导入课表异常被捕获没有抛出错误
修复导入课表不同周相同星期相同节的多次课程,第二个课程课次的统计错误,集合创建位置错误,原bug不影响授课时间的读取与保存
仅基于ID重写hashcode()是错误的,对entity是否相同的判断较复杂,即使@NaturalId相同,无法判断是新数据还是旧数据
如果对象被修改,相同对象基于属性生成的hashcode值不同
最好基于具体业务逻辑判断

Improvement
使用log4j日志
使用resources文件夹统一管理classpath下的配置文件

New Feature

Refactoring
重写equals()方法,抽象,无需声明强制转换类型 <取消>

Task
通过自定义注释与AOP,从http session中提取相应对象,并作为参数注入到controller方法中使用。从而减少反复从session中获取对象的过程 <完成> <取消>
反射获取方法参数名称,将session中同名对象注入,Java8以上并开启parameter参数编译,执行在2位数微秒
添加组,整合多专业 <完成>
添加jsp通用组件common,提取页面相同内容 <完成>
添加统一异常处理模态框 <完成>
请求映射地址常量 <完成> 替换MVC中向页面添加对象map接口为model接口 <完成>
添加superAdmin管理
设置学期基点
权限

2017.01.13

Bug
修复跨年时周计算错误
Improvement
添加、导入监考信息时,判断课程名称长度,使总长度(包含阶段)<=15字符以适应短信模板
添加cookie name至property,便于移植提取

New Feature
发送监考通知短信页面添加发送详细信息

Refactoring
取消实体类中基于接口的常量设计,直接将常量定义在实体类中
实体类重写toString() equals() hashCode()方法,从而不同事务下的记录可以直接通过equals()方法判断是否为相同记录,Set集合也可判断相同记录

Task

2016.11.17

完成监考表格中,监考时间列为自定义时间格式的读取。监考信息表格开始使用自定义时间格式,无法按普通字符串处理,这是在考察我的poi技巧么
修复专业监考人数信息提取bug,重写提取表达式
修改监考信息提取与原监考信息的比对及组装返回的实现
修复properties写入清空原properties bug
手动添加监考信息,增加使用radio选择课程节自动生成起止时间(以丹青楼授课时间为依据)
手动添加监考信息,增加使用datalist下拉菜单选择监考所在楼,再输入教室编号,后台依然整合为string保存
提出各种匹配公式至properties

<未完成>使用常量替换注释中的请求地址以及响应资源

2016.10.15

修复将已分配监考置为已完成bug。原已分配从学期基点计算,致使对补考监考无效,先从基点时间减20天计算
自动创建数据库,部署时无需在数据库中预先创建schema
首页浏览器版本低于IE8时,显示警告
将基点时间basedate保存在properties,增加properties操作,保存基于JDK完成。Spring仅提供了读取操作,没有提供封装好的保存操作?
???增加基点时间限制选择周一,超级管理员设置?管理员设置?
重写导入监考表格信息实现,导入时依然基于监考教室及时间判断是否存在,存在则赋给ID值,人数变化则置监考信息状态为未分配, 保存提交时,使用merge方法,对原信息记录不做修改,即,原监考需1人,已分配已通知,再次导入后时间地点不变,人数变为2人, 保存后,监考状态为未分配,但保留原分配记录,重新分配仅需通知1人即可

2016.07.22

增加监考提醒“今日”“明日”时间判断
阿里大鱼再一次修改参数规范,参数值不能大于15个字符,第800次修改短信模板
重构监考状态:未分配,已分配,已完成 每监考分配添加监考消息状态:已通知,已提醒

修改监考分配实现,当分配发生变化时,对比原记录更新,原为全部删除重建
例如,原分配已经发送短信,则无需重复发送也能保有发送记录
修改监考编辑实现,当监考人数发生变化时,置监考为未分配状态,但保留原记录,直至重新分配

增加监考详细信息页面
增加Cookie登录,重新登录

2016.05.28

明日监考提醒发送后,置监考为已提醒状态,防止重复发送
置完成状态时,搜索时间段内已提醒状态和已分配状态
将单一监考信息分解,允许同一监考,1人分配2次,避免创建修改新监考信息
导入监考表格时,提供选择阶段功能,在备注/课程后自动追加"阶段"字样

2016.05.10

修复读取课表时,试图2次读取流的错误
在监考列表添加监考分配时间
修改监考表格读取,增加监考起止时间分别在2个段的处理

2016.05.08 Update

左边侧栏功能过多,取消固定设置
监考信息按监考时间排序,利于分配时先分配最近的监考,按监考状态分别列出?
优化页面显示数据,在监考列表中添加星期与周数
通过设置监考日期第一天属性为星期一,修复周日监考周数计算错误
添加导出监考信息表格
优化资源操作
优化上传文件分析,基于流分析,取消生成本地文件减少IO操作

2016.04.14 Update

修改form横向尺寸
为节约成本,在修改监考人员后应仅向新增加人员发送短信通知,因此分离发送监考通知短信,允许管理员手动确认发送对象
优化课表信息提取表达式
取消headers fixed属性,flat-ui switch在header为fixed时,在md宽度超过一屏滚动产生bug,在sm宽度正常
增加分页
增加监考短信提醒,无服务器,timer无法运行,暂时基于手动

2016.03.01 Update

未完成:通知短信模板;教师详细信息查询;
完成:文件上传下载;文件任务类型;单一文件版本控制;
重新规划工程结构

2016.02-18 Update

课表导入 监考导入 手动添加监考 手动添加特殊监考 监考推荐 监考分配 监考分配短信发送

已完成监考模块主要功能

2016.02.07 Update

完成admin用户的添加,用户基本信息、权限、通知、推荐的修改及设置
基于后台数据的checkbox默认状态 默认基于正序的获取
自定义异常
修改课表等实体类 文件上传
读取课表,封装为实体对象,保存 基于enum的常量设计

2016.02.01 Update

GenericDao: 使用反射获取子类声明的具体泛型类型,使子类无需传入泛型类型参数
JSON: 基于gson.jar,spring自动完成对象到json字符串的转化,前端ajax返回类型使用text接收json字符串,然后转为json对象
浏览工程根目录时映射到main,便于当作首页保存,支持拦截器

Development Environment

Server: Tomcat(8.0.26)
Database: MySQL(5.6)
Persistence Layer: JPA; Hibernate(5.0.1)
Business Layer: Spring(4.2.1)
Controller Layer: SpringMVC
UI: AJAX; JQuery(2.1.4); Bootstrap(3.3.5); Flat-ui; DateTime Picker

Others

JSTL POI dom4j

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published