添加图书借阅折线图

pull/1/head
you 5 years ago
parent a5284e4a5a
commit a69f14fad7

@ -0,0 +1 @@
{"data":[1,1,2,3,4,5],"days":["3号","4号","5号","前天","昨天","今天"]}

@ -54,14 +54,14 @@
<li class="layui-nav-item"><a href="./borrowlist.jsp" target="content"><i class="layui-icon layui-icon-chart-screen" style="font-size: 16px; color: #1E9FFF;"></i> 借阅信息查询</a></li>
<li class="layui-nav-item"><a href="./rulelist.jsp" target="content"><i class="layui-icon layui-icon-file-b" style="font-size: 16px; color: #1E9FFF;"> </i>借阅规则管理</a></li>
<li class="layui-nav-item"><a href="./managerlist.jsp" target="content"><i class="layui-icon layui-icon-group" style="font-size: 16px; color: #1E9FFF;"></i>图书管理员管理</a></li>
<li class="layui-nav-item"><a href="./system.jsp" target="content"><i class="layui-icon layui-icon-windows" style="font-size: 16px; color: #1E9FFF;"> </i>系统管理</a></li>
<li class="layui-nav-item"><a href="./librarydata.jsp" target="content"><i class="layui-icon layui-icon-windows" style="font-size: 16px; color: #1E9FFF;"> </i>系统管理</a></li>
</ul>
</div>
</div>
<div class="layui-body">
<!-- 内容主体区域 -->
<iframe src="test.html" name="content" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>
<iframe src="librarydata.jsp" name="content" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>
</div>
<div class="layui-footer">

@ -0,0 +1,62 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts</title>
<!-- 引入 echarts.js -->
<script src="../public/js/echarts.min.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小宽高的Dom -->
<div id="main" style="width:1200px;height:500px;"></div>
<script type="text/javascript">
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
myChart.setOption({
title: {
text: '借书情况'
},
tooltip: {},
legend: {
data:['借书量']
},
xAxis: {
data: []
},
yAxis: {},
series: [{
name: '借书量',
type: 'line',
data: []
}]
});
// 使用刚指定的配置项和数据显示图表。
//myChart.setOption(option);
// 异步加载数据
$.get('./libraryData').done(function (data) {
if(data.code == 0){
// 填入数据
myChart.setOption({
xAxis: {
data: data.data.days
},
series: [{
// 根据名字对应到相应的系列
name: '借书量',
data: data.data.data,
type: 'line'
}]
});
}else{
$('body').append($("<div style='color:red;'>调用接口失败</div>"));
}
});
</script>
</body>
</html>

File diff suppressed because one or more lines are too long

@ -1,6 +1,7 @@
package javabean;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTime {
@ -12,5 +13,40 @@ public class DateTime {
return myFmt2.format(now);
}
public static String show(int n) {
Date d = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currdate = format.format(d);
Calendar ca = Calendar.getInstance();
ca.add(Calendar.DATE, n);// num为增加的天数可以改变的
d = ca.getTime();
String enddate = format.format(d);
return enddate;
}
// 只要年月日
public static String showDate(int n) {
Date d = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String currdate = format.format(d);
Calendar ca = Calendar.getInstance();
ca.add(Calendar.DATE, n);// num为增加的天数可以改变的
d = ca.getTime();
String enddate = format.format(d);
return enddate;
}
// 只要月日
public static String showMD(int n) {
Date d = new Date();
SimpleDateFormat format = new SimpleDateFormat("MM-dd");
String currdate = format.format(d);
Calendar ca = Calendar.getInstance();
ca.add(Calendar.DATE, n);// num为增加的天数可以改变的
d = ca.getTime();
String enddate = format.format(d);
return enddate;
}
}

@ -0,0 +1,84 @@
package servlet.admin;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javabean.Base;
import javabean.DateTime;
import javabean.Util;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@WebServlet("/admin/libraryData")
public class LibraryData extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("application/json; charset:utf8");
// 准备参数
Connection connection = null;
PreparedStatement pstmt = null;
ResultSet resultSet = null;
String sql = "";
JSONObject jsonObject = new JSONObject();
JSONArray jsonData = new JSONArray();
JSONArray jsonDays = new JSONArray();
// 返回参数
int code = 1;
String msg = "error";
int count = 0;
PrintWriter out = resp.getWriter();
// 开始查询
try {
connection = Base.getConnection();
int i = 30;
// 获取30天
while(i!=0) {
i--;
sql = "select count(*) as count from borrow_books where date_format(borrow_date,'%Y-%m-%d')=? order by id desc";
String date = DateTime.showDate(-i); // 设置日期
String md = DateTime.showMD(-i);
pstmt = connection.prepareStatement(sql);
pstmt.setString(1,date);
resultSet = pstmt.executeQuery();
while(resultSet.next()) {
jsonData.add(resultSet.getString("count"));
jsonDays.add(md);
}
}
jsonObject.put("data", jsonData);
jsonObject.put("days", jsonDays);
if(!jsonObject.isEmpty()) {
code = 0;
msg = "查询成功";
}else {
msg = "数据为空";
}
} catch (ClassNotFoundException e) {
msg = "没找到";
e.printStackTrace();
} catch (SQLException e) {
msg = "sql错误";
}finally {
try {
Base.closeResource(connection, pstmt, resultSet);
} catch (SQLException e) {
msg = "关闭失败";
}
}
out.print( Util.jsonResponse(code, msg, jsonObject.toString()) );
}
}

@ -44,7 +44,6 @@ public class RuleEdit extends HttpServlet {
int num = 0;
try {
Map<String, String> libraryMap = Common.getLibraryMap();
System.out.println(libraryMap);
for(String key : libraryMap.keySet()) {
if(req.getParameter("borrow_library[" +key +"]") != null) {
if(num == 0) {

Loading…
Cancel
Save