介绍
最近闲来无事,帮学校开发了一套系统,就是咱们特别普通的这种图书馆预约占座系统,我用的最基本的技术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一个JSONjsonObj.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 {@Autowiredprivate IllegalService<Illegal> illegalService;private Illegal illegal;private Room room;@Autowiredprivate RoomService<Room> roomService;private Seat seat;@Autowiredprivate SeatService<Seat> seatService;@Autowiredprivate 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();//titleJSONObject title = new JSONObject();title.put("text", getCurrentYear()+"全年度占座人数统计");title.put("subtext", "占座人数统计");//legendJSONObject 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();}}
开发经验总结
写字楼里写字间,写字间中程序员;
程序人员写程序,又将程序换酒钱;
酒醒只在屏前坐,酒醉还来屏下眠;
酒醉酒醒日复日,屏前屏下年复年;
但愿老死电脑间,不愿鞠躬老板前;
奔驰宝马贵者趣,公交自行程序员;
别人笑我太疯癫,我笑自己命太贱;
但见满街漂亮妹,哪个归得程序员;
值此程序员节来临之际,向战斗在程序界的精英们致以崇高的问候!