commit
79a78869c4
@ -0,0 +1,134 @@
|
||||
package com.lizhou.service;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.lizhou.bean.Clazz;
|
||||
import com.lizhou.bean.Grade;
|
||||
import com.lizhou.bean.Page;
|
||||
import com.lizhou.bean.Student;
|
||||
import com.lizhou.dao.impl.BaseDaoImpl;
|
||||
import com.lizhou.dao.impl.ClazzDaoImpl;
|
||||
import com.lizhou.dao.inter.BaseDaoInter;
|
||||
import com.lizhou.dao.inter.ClazzDaoInter;
|
||||
import com.lizhou.tools.MysqlTool;
|
||||
import com.lizhou.tools.StringTool;
|
||||
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
import net.sf.json.JsonConfig;
|
||||
|
||||
/**
|
||||
* 年级服务层
|
||||
* @author bojiangzhou
|
||||
*
|
||||
*/
|
||||
public class ClazzService {
|
||||
|
||||
ClazzDaoInter dao = new ClazzDaoImpl();
|
||||
|
||||
/**
|
||||
* 获取指定年级下的班级
|
||||
* @param gid 年级ID
|
||||
* @return JSON格式的班级
|
||||
*/
|
||||
public String getClazzList(String gradeid){
|
||||
int id = Integer.parseInt(gradeid);
|
||||
//获取数据
|
||||
List<Object> list = dao.getList(Clazz.class, "SELECT * FROM clazz WHERE gradeid=?", new Object[]{id});
|
||||
//json化
|
||||
JsonConfig config = new JsonConfig();
|
||||
config.setExcludes(new String[]{"grade", "studentList"});
|
||||
String result = JSONArray.fromObject(list, config).toString();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取班级详细信息
|
||||
* @param gradeid
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
public String getClazzDetailList(String gradeid, Page page) {
|
||||
//获取数据
|
||||
List<Clazz> list = dao.getClazzDetailList(gradeid, page);
|
||||
//获取总记录数
|
||||
long total = 0;
|
||||
if(!StringTool.isEmpty(gradeid)){
|
||||
int gid = Integer.parseInt(gradeid);
|
||||
total = dao.count("SELECT COUNT(*) FROM clazz WHERE gradeid=?", new Object[]{gid});
|
||||
} else {
|
||||
total = dao.count("SELECT COUNT(*) FROM clazz", new Object[]{});
|
||||
}
|
||||
//定义Map
|
||||
Map<String, Object> jsonMap = new HashMap<String, Object>();
|
||||
//total键 存放总记录数,必须的
|
||||
jsonMap.put("total", total);
|
||||
//rows键 存放每页记录 list
|
||||
jsonMap.put("rows", list);
|
||||
//格式化Map,以json格式返回数据
|
||||
String result = JSONObject.fromObject(jsonMap).toString();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加班级
|
||||
* @param name
|
||||
* @param gradeid
|
||||
*/
|
||||
public void addClazz(String name, String gradeid) {
|
||||
int gid = Integer.parseInt(gradeid);
|
||||
dao.insert("INSERT INTO clazz(name, gradeid) value(?,?)", new Object[]{name, gid});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除班级
|
||||
* @param clazzid
|
||||
* @throws Exception
|
||||
*/
|
||||
public void deleteClazz(int clazzid) throws Exception {
|
||||
//获取连接
|
||||
Connection conn = MysqlTool.getConnection();
|
||||
try {
|
||||
//开启事务
|
||||
MysqlTool.startTransaction();
|
||||
//删除成绩表
|
||||
dao.deleteTransaction(conn, "DELETE FROM escore WHERE clazzid=?", new Object[]{clazzid});
|
||||
//删除考试记录
|
||||
dao.deleteTransaction(conn, "DELETE FROM exam WHERE clazzid=?", new Object[]{clazzid});
|
||||
//删除用户
|
||||
List<Object> list = dao.getList(Student.class, "SELECT number FROM student WHERE clazzid=?", new Object[]{clazzid});
|
||||
if(list.size() > 0){
|
||||
Object[] param = new Object[list.size()];
|
||||
for(int i = 0;i < list.size();i++){
|
||||
Student stu = (Student) list.get(i);
|
||||
param[i] = stu.getNumber();
|
||||
}
|
||||
String sql = "DELETE FROM user WHERE account IN ("+StringTool.getMark(list.size())+")";
|
||||
dao.deleteTransaction(conn, sql, param);
|
||||
//删除学生
|
||||
dao.deleteTransaction(conn, "DELETE FROM student WHERE clazzid=?", new Object[]{clazzid});
|
||||
}
|
||||
//删除班级的课程和老师的关联
|
||||
dao.deleteTransaction(conn, "DELETE FROM clazz_course_teacher WHERE clazzid=?", new Object[]{clazzid});
|
||||
//最后删除班级
|
||||
dao.deleteTransaction(conn, "DELETE FROM clazz WHERE id=?", new Object[]{clazzid});
|
||||
|
||||
//提交事务
|
||||
MysqlTool.commit();
|
||||
} catch (Exception e) {
|
||||
//回滚事务
|
||||
MysqlTool.rollback();
|
||||
e.printStackTrace();
|
||||
throw e;
|
||||
} finally {
|
||||
MysqlTool.closeConnection();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,96 @@
|
||||
package com.lizhou.service;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.lizhou.bean.Clazz;
|
||||
import com.lizhou.bean.Course;
|
||||
import com.lizhou.bean.Grade;
|
||||
import com.lizhou.bean.Page;
|
||||
import com.lizhou.bean.Student;
|
||||
import com.lizhou.dao.impl.BaseDaoImpl;
|
||||
import com.lizhou.dao.impl.ClazzDaoImpl;
|
||||
import com.lizhou.dao.inter.BaseDaoInter;
|
||||
import com.lizhou.dao.inter.ClazzDaoInter;
|
||||
import com.lizhou.tools.MysqlTool;
|
||||
import com.lizhou.tools.StringTool;
|
||||
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
import net.sf.json.JsonConfig;
|
||||
|
||||
/**
|
||||
* 课程服务层
|
||||
* @author bojiangzhou
|
||||
*
|
||||
*/
|
||||
public class CourseService {
|
||||
|
||||
BaseDaoInter dao = new BaseDaoImpl();
|
||||
|
||||
/**
|
||||
* 获取所有课程
|
||||
* @return
|
||||
*/
|
||||
public String getCourseList(String gradeid){
|
||||
List<Object> list;
|
||||
if(StringTool.isEmpty(gradeid)){
|
||||
list = dao.getList(Course.class, "SELECT * FROM course");
|
||||
} else{
|
||||
list = dao.getList(Course.class,
|
||||
"SELECT c.* FROM course c, grade_course gc WHERE c.id=gc.courseid AND gc.gradeid=?",
|
||||
new Object[]{Integer.parseInt(gradeid)});
|
||||
}
|
||||
//json化
|
||||
String result = JSONArray.fromObject(list).toString();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加课程
|
||||
* @param course
|
||||
*/
|
||||
public void addCourse(Course course) {
|
||||
dao.insert("INSERT INTO course(name) value(?)", new Object[]{course.getName()});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除课程
|
||||
* @param courseid
|
||||
* @throws Exception
|
||||
*/
|
||||
public void deleteClazz(int courseid) throws Exception {
|
||||
//获取连接
|
||||
Connection conn = MysqlTool.getConnection();
|
||||
try {
|
||||
//开启事务
|
||||
MysqlTool.startTransaction();
|
||||
//删除成绩表
|
||||
dao.deleteTransaction(conn, "DELETE FROM escore WHERE courseid=?", new Object[]{courseid});
|
||||
//删除班级的课程和老师的关联
|
||||
dao.deleteTransaction(conn, "DELETE FROM clazz_course_teacher WHERE courseid=?", new Object[]{courseid});
|
||||
//删除年级与课程关联
|
||||
dao.deleteTransaction(conn, "DELETE FROM grade_course WHERE courseid=?", new Object[]{courseid});
|
||||
//最后删除课程
|
||||
dao.deleteTransaction(conn, "DELETE FROM course WHERE id=?", new Object[]{courseid});
|
||||
|
||||
//提交事务
|
||||
MysqlTool.commit();
|
||||
} catch (Exception e) {
|
||||
//回滚事务
|
||||
MysqlTool.rollback();
|
||||
e.printStackTrace();
|
||||
throw e;
|
||||
} finally {
|
||||
MysqlTool.closeConnection();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in new issue