业务需求: 若当前课程(物理学)对应的试卷在数据库中已经有了 “物理学-2016-2017学年 A卷”,那么再生出试卷时,要改为 “物理学-2016-2017学年 B卷”
代码:
String PaperName = "";
String termName = SchoolYearUtils.getSchoolYear();//此方法是去获取学年学期 即:"2016-2017学年"
String tmpName = courseName + "-" + termName; //courseName是当前课程名,即"物理学"
String name = paperDetailDao.findPaperNameByName(tmpName); //去数据库查找,根据课程名称,模糊查询并排序,获取当前最大值的 卷子名称
//没有查到
if (name == null || name.isEmpty()) {
PaperName = tmpName + " A卷"; //没有查到,直接命名为 物理学-2016-2017学年 A卷
} else {
String en = name.substring(name.indexOf(" ") + 1);
char lastE = 'Z';
int lastEnglish = (int) lastE;
char[] c = en.toCharArray();
int now = (int) c[0];
if (now >= lastEnglish)//如果当前的字母已经超过Z了,那么我就直接给定义成001卷了 (这里有点小问题,可以再弄成数字自增长,我偷懒了哈)
PaperName = name + "001";
char uppercase = (char) (now + 1); //获取自增长后的英文字母
PaperName = tmpName + " " + String.valueOf(uppercase) + "卷";
}