package biz.web.action;
import biz.entity.main.Book;
import biz.entity.main.SimpleUser;
import biz.entity.main.UserFilteringResult;
import biz.web.service.impl.BizService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import util.*;
import java.util.LinkedList;
import java.util.List;
import java.util.Map.Entry;
import java.util.Set;
@Controller
@RequestMapping("/sys")
public class ABook extends BaseAction {
@Autowired
private BizService service;
@RequestMapping(value = "/add2Book.do", method = RequestMethod.GET)
public String add2() {
request.setAttribute("list", service.queryByHQL("from BookType order by id"));
return "sys/addBook";
}
@RequestMapping(value = "/getBook.do", method = RequestMethod.GET)
public String get(int uid) {
try {
Book bean = (Book) service.get(Book.class, uid);
request.setAttribute("modifybean", bean);
request.setAttribute("list", service.queryByHQL("from BookType order by id"));
return "sys/modifyBook";
} catch (Exception e) {
e.printStackTrace();
MessageUtil.addMessage(request, "获取信息失败.");
return ERROR;
}
}
@RequestMapping(value = "/deleteBook.do")
public String delete(String ids) {
try {
service.delete(Book.class, ids);
MessageUtil.addRelMessage(request, "删除信息成功.", "mainquery");
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
MessageUtil.addMessage(request, "删除信息失败.");
return ERROR;
}
}
@RequestMapping(value = "/addBook.do")
public String add(Book bean) {
try {
MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
String serverPath = request.getSession().getServletContext().getRealPath("/");
MultipartFile fileupload = mrequest.getFile("resfile");
String newFilename = FileUtil.uploadFile(fileupload, 0, serverPath);
if (StringUtils.isEmpty(newFilename)) {
MessageUtil.addMessage(request, "请上传封面图片");
return ERROR;
}
bean.setFilePath(newFilename);
bean.setStatus("在架");
service.add(bean);
MessageUtil.addMessage(request, "添加成功.");
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
MessageUtil.addMessage(request, "添加失败.");
return ERROR;
}
}
@RequestMapping(value = "/updateBook.do")
public String update(Book bean) {
try {
MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
String serverPath = request.getSession().getServletContext().getRealPath("/");
MultipartFile fileupload = mrequest.getFile("resfile");
String newFilename = FileUtil.uploadFile(fileupload, 0, serverPath);
if (StringUtils.isNotEmpty(newFilename)) {
bean.setFilePath(newFilename);
}
service.update(bean);
MessageUtil.addRelMessage(request, "更新成功.", "baseAdd");
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
MessageUtil.addMessage(request, "更新失败.");
return ERROR;
}
}
@RequestMapping(value = "/queryBook.do")
public String query() {
try {
int pageNum = 0;
String t = request.getParameter("pageNum");
if (StringUtil.notEmpty(t)) {
pageNum = Integer.valueOf(t);
}
Page p = (Page) session.getAttribute(Constant.SESSION_PAGE);
if (pageNum == 0 || p == null) {
p = new Page();
p.setCurrentPageNumber(1);
p.setTotalNumber(0l);
p.setItemsPerPage(Constant.SESSION_PAGE_NUMBER);
// 字段名称集合
LinkedList<String> parmnames = new LinkedList<String>();
// 字段值集合
LinkedList<Object> parmvalues = new LinkedList<Object>();
// 页面参数集合
Set parm = request.getParameterMap().entrySet();
for (Object o : parm) {
Entry<String, Object> e = (Entry<String, Object>) o;
String name = e.getKey();// 页面字段名称
if (name.startsWith("s_")) {
String fieldValue = request.getParameter(name);// 页面字段值
if (StringUtil.notEmpty(fieldValue)) {
name = name.substring(2, name.length());// 实体字段名称
parmnames.add(name);
parmvalues.add(FieldUtil.format(Book.class, name, fieldValue));
}
}
}
SearchParamBean sbean = new SearchParamBean();
sbean.setParmnames(parmnames);
sbean.setParmvalues(parmvalues);
p.setConditonObject(sbean);
} else {
p.setCurrentPageNumber(pageNum);
}
Page page = null;
page = service.find(p, Book.class);
request.setAttribute("list", service.queryByHQL("from BookType order by id"));
session.setAttribute(Constant.SESSION_PAGE, page);
return "sys/listBook";
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
///借出统计报表
@RequestMapping(value = "/countBook.do")
public String countBook() {
try {
/*List<Book> retlist = dao.queryByHQL(
"from Book where bookType.id in(select book.bookType.id from BookBorrow where user.id=?) and id not in(select book.id from BookBorrow where user.id=?)",
id, id);*/
List list1 = service.queryByHQL("" +
"SELECT count(*) as dd,book.name,book.id FROM BookBorrow GROUP BY book_id ORDER BY count(*) desc" +
"");
String dataList_temp = "";
String nameList_temp = "";
for (int i = 0; i < list1.size(); i++) {
Object[] object = (Object[]) list1.get(i);
String name = (String) object[1];//获取名称
Long data = (Long) object[0];//获取 数量
dataList_temp += "\"" + data + "\"" + ",";//数量
nameList_temp += "\"" + name + "\"" + ",";//名称
}
if (dataList_temp != "")
dataList_temp = dataList_temp.substring(0, dataList_temp.length() - 1);// 删除多余的逗号
if (nameList_temp != "") nameList_temp = nameList_temp.substring(0, nameList_temp.length() - 1);// 删除多余的逗号
request.setAttribute("dateList", "[" + dataList_temp + "]");
request.setAttribute("nameList", "[" + nameList_temp + "]");
return "sys/countBook";
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
///预约统计报表
@RequestMapping(value = "/countBook_1.do")
public String countBook_1() {
try {
/*L
QQ1978519681计算机程序
- 粉丝: 1730
- 资源: 302
最新资源
- 全球电影票房数据集,从2000年到2024年全球票房表现的详细分析,涵盖了关键指标如上映日期、类型、制作预算、全球票房收入等
- kakailio官网推荐的安装流程
- MATLAB双/三方演化博弈的稳定点分析与随机演化仿真:包含相位图与MATLAB代码实践的Lotka-Volterra及斯塔伯格博弈模型研究,matlab:双或三方演化博弈,随机演化博弈,lotka
- 创建 Golang 模块.pdf
- Matlab中的笛卡尔空间与关节空间轨迹规划:353与333多项式轨迹规划定制与优化策略研究,matlab笛卡尔空间和关节空间轨迹规划 关节空间机器臂多项式轨迹规划定做,353和333多项式轨迹规划和
- "升级版Matlab A*算法多AGV路径规划仿真系统:自定义地图导入,优化算法平滑路径,实时输出时空图与路径信息",升级版Matlab基于A*算法的多agv路径规划仿真系统,地图自定义导入,改进A*
- kakailio官网推荐的安装流程
- 基于多目标优化算法MOPOA-ELM的极限学习机多变量回归预测Matlab代码示例及详细解释,MOPOA-ELM基于多目标鹈鹕算法优化极限学习机的多变量回归预测 Matlab语言 单目标优化已经无法吸
- "GARCH-Copula-COVAR模型代码实践教程:基于MATLAB平台的录屏详解",garch-copula-covar相关模型代码 使用matlab,有录屏使用教程 ,garch-copula
- Ollama大模型工具 windows版本安装包 ,DeepSeek部署
- 电子电路设计与仿真领域 8 人抢答 电路设计 仿真设置与验证
- django基于Python的人事管理系统的设计与实现
- 无约束与有约束跟踪模型预测控制器(MPC)的显式解与数值求解技术:针对单输入单输出及多输入多输出系统的开发与应用,采用MATLAB编程语言实现 ,无约束和有约束跟踪模型预测控制器(MPC)的显式和数值
- UE5虚幻引擎UEC++从基础到进阶
- 开源音视频会议系统jitsi-meet缺失包olm-3.2.3.tgz下载
- 谷歌浏览器插件Axure RP(全称:axure-chrome-extension)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈