介绍
最近闲来无事,帮学校开发了一套系统,就是咱们特别普通的这种图书馆预约占座系统,我用的最基本的技术ssm框架,啊freestyle啊今天下午播放中国新说唱啊,666啊双击老铁!
Demo样例图
核心代码实现:
@RequestMapping("userList")
public void userList(HttpServletRequest request,HttpServletResponse response){
try {
page = Integer.parseInt(request.getParameter("page"));
rows = Integer.parseInt(request.getParameter("limit"));
user = new User();
user.setPage((page-1)*rows);
user.setRows(rows);
user.setUserName(request.getParameter("userName"));
String roleId = request.getParameter("roleId");
if (StringUtil.isNotEmpty(roleId)) {
user.setRoleId(Integer.parseInt(roleId));
} else {
user.setRoleId(null);
}
List<User> list = userService.findUser(user);
int total = userService.countUser(user);
JSONObject jsonObj = new JSONObject();//new一个JSON
jsonObj.put("code", 0);
jsonObj.put("msg", "");
jsonObj.put("count",total );//total代表一共有多少数据
jsonObj.put("data", list);//row是代表显示的页的数据
response.setContentType("application/json");
WriterUtil.write(response,jsonObj.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
核心代码实现:
package dingzhen.controller;
// 统计图
import java.awt.Color;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.logging.SimpleFormatter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.ui.TextAnchor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import dingzhen.entity.Choice;
import dingzhen.entity.Illegal;
import dingzhen.entity.Room;
import dingzhen.entity.Seat;
import dingzhen.service.ChoiceService;
import dingzhen.service.IllegalService;
import dingzhen.service.RoomService;
import dingzhen.service.SeatService;
import dingzhen.util.WriterUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@RequestMapping("chart")
@Controller
public class ChartController {
@Autowired
private IllegalService<Illegal> illegalService;
private Illegal illegal;
private Room room;
@Autowired
private RoomService<Room> roomService;
private Seat seat;
@Autowired
private SeatService<Seat> seatService;
@Autowired
private ChoiceService<Choice> choiceService;
// 进入违规统计
@RequestMapping("illegalChart")
public String illegalIndex(){
return "chart/illegal";
}
// 违规统计表
@RequestMapping("findIllegalChart")
public void findIllegalChart(HttpServletRequest request,HttpServletResponse response){
try {
JSONArray datarray=new JSONArray();
for(int i=1;i<13;i++){
// 每月违规人数
String start = getCurrentYear();
String end = getCurrentYear();
if(i<10){
start = start + "-0" + i +"-01 00:00:01";
end = end + "-0" + i + "-31 23:59:59";
} else {
start = start + "-" + i +"-01 00:00:01";
end = end + "-" + i + "-31 23:59:59";
}
illegal = new Illegal();
illegal.setStart(start);
illegal.setEnd(end);
int total = illegalService.countIllegal(illegal);
datarray.add(total);
}
JSONObject jsonObj = new JSONObject();
JSONObject title = new JSONObject();
title.put("text", getCurrentYear()+"全年度违规人数统计");
title.put("subtext", "违规人数统计");
JSONObject legend = new JSONObject();
JSONArray array=new JSONArray();
array.add("违规统计");
legend.put("data", array);
jsonObj.put("title", title);
jsonObj.put("legend", legend);
jsonObj.put("datarray", datarray);
WriterUtil.write(response,jsonObj.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
// 进入占座统计
@RequestMapping("seatChart")
public String seatIndex(){
return "chart/seat";
}
@RequestMapping("findSeatChart")
public void findSeatChart(HttpServletRequest request,HttpServletResponse response){
try {
JSONArray datarray=new JSONArray();
List<Room> roomList = roomService.findRoom(new Room());
for(int i=0;i<roomList.size();i++){
room = roomList.get(i);
JSONArray array=new JSONArray();
for(int j=1;j<13;j++){
String start = getCurrentYear();
String end = getCurrentYear();
if(j<10){
start = start + "-0" + j +"-01 00:00:01";
end = end + "-0" + j + "-31 23:59:59";
} else {
start = start + "-" + j +"-01 00:00:01";
end = end + "-" + j + "-31 23:59:59";
}
Choice c = new Choice();
c.setStart(start);
c.setEnd(end);
c.setRows(room.getId());
int total = choiceService.count(c);
array.add(total);
}
datarray.add(array);
}
JSONObject jsonObj = new JSONObject();
//title
JSONObject title = new JSONObject();
title.put("text", getCurrentYear()+"全年度占座人数统计");
title.put("subtext", "占座人数统计");
//legend
JSONObject legend = new JSONObject();
JSONArray array=new JSONArray();
for(int i=0;i<roomList.size();i++){
array.add(roomList.get(i).getName());
}
legend.put("data", array);
jsonObj.put("title", title);
jsonObj.put("legend", legend);
jsonObj.put("datarray", datarray);
WriterUtil.write(response,jsonObj.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
private String getCurrentYear(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
return sdf.format(new Date());
}
}
核心代码实现:
//获取座位
@RequestMapping("combolist")
public void seatList(HttpServletRequest request,HttpServletResponse response) {
try {
room = new Room();
seat = new Seat();
String date = request.getParameter("date");
if(date==null || date.length()==0){
seat.setDate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
}else {
seat.setDate(date);
}
if(request.getParameter("roomid")!=null && request.getParameter("roomid").length() > 0){
seat.setRoomid(Integer.parseInt(request.getParameter("roomid")));
room.setId(Integer.parseInt(request.getParameter("roomid")));
} else {
seat.setRoomid(1);
room.setId(1);
}
String time = request.getParameter("time");
if(time == null || time.length()==0){
seat.setTime("08点-12点");
}else {
seat.setTime(time);
}
List<Seat> list = seatService.findSeat(seat);
List<Room> roomlist = roomService.findRoom(room);
room = roomlist.get(0);
JSONObject jsonObject = new JSONObject();
jsonObject.put("seatList", list);
jsonObject.put("row", room.getRow());
jsonObject.put("col", room.getCol());
WriterUtil.write(response, jsonObject.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
开发经验总结
写字楼里写字间,写字间中程序员;
程序人员写程序,又将程序换酒钱;
酒醒只在屏前坐,酒醉还来屏下眠;
酒醉酒醒日复日,屏前屏下年复年;
但愿老死电脑间,不愿鞠躬老板前;
奔驰宝马贵者趣,公交自行程序员;
别人笑我太疯癫,我笑自己命太贱;
但见满街漂亮妹,哪个归得程序员;
值此程序员节来临之际,向战斗在程序界的精英们致以崇高的问候!