POS管理系统之出入库单分页查询
JSP:
<html>
<head>
<title>My JSP 'inOutKuPage.jsp' starting page</title>
<style type="text/css">
table{
border-color: blue;
}
.a{
background-color: blue;
text-align: center;
}
</style>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
$("#query").click(function(){
var url='<%=request.getContextPath()%>/inOutPage.do';
$.post(url,
{
inoutno:$("#no").val(),
people:$("#people").val()
},
function(data){
$("tr[id^='order']").remove();
$("#prePage").val(data.prePage);
$("#nextPage").val(data.nextPage);
$("#total").html(data.totalRecords);
$.each(data.records,function(i,d){
var rows="<tr id='order'"+i+">";
rows+="<td>"+d.inoutno+"</td>";
rows+="<td>"+d.username+"</td>";
rows+="<td>"+d.people+"</td>";
rows+="<td>"+d.inout+"</td>";
rows+="<td>"+d.ctime+"</td>";
rows+="</tr>";
$("#show").append(rows);
});
},
"json");
});
$("#pre").click(function(){
var url='<%=request.getContextPath()%>/inOutPage.do';
$.post(url,
{
inoutno:$("#no").val(),
people:$("#people").val(),
pageNo:$("#prePage").val(),
},
function(data){
$("tr[id^='order']").remove();
$("#prePage").val(data.prePage);
$("#nextPage").val(data.nextPage);
$("#total").html(data.totalRecords);
$.each(data.records,function(i,d){
var rows="<tr id='order'"+i+">";
rows+="<td>"+d.inoutno+"</td>";
rows+="<td>"+d.username+"</td>";
rows+="<td>"+d.people+"</td>";
rows+="<td>"+d.inout+"</td>";
rows+="<td>"+d.ctime+"</td>";
rows+="</tr>";
$("#show").append(rows);
});
},
"json");
});
$("#next").click(function(){
var url='<%=request.getContextPath()%>/inOutPage.do';
$.post(url,
{
inoutno:$("#no").val(),
people:$("#people").val(),
pageNo:$("#nextPage").val(),
},
function(data){
$("tr[id^='order']").remove();
$("#prePage").val(data.prePage);
$("#nextPage").val(data.nextPage);
$("#total").html(data.totalRecords);
$.each(data.records,function(i,d){
var rows="<tr id='order'"+i+">";
rows+="<td>"+d.inoutno+"</td>";
rows+="<td>"+d.username+"</td>";
rows+="<td>"+d.people+"</td>";
rows+="<td>"+d.inout+"</td>";
rows+="<td>"+d.ctime+"</td>";
rows+="</tr>";
$("#show").append(rows);
});
},
"json");
});
});
</script>
</head>
<body>
<table border="1px">
<tr>
<input type="hidden" id="prePage">
<input type="hidden" id="nextPage">
<td class="a">入出库单编号</td>
<td><input type="text" name="no" id="no"></td>
<td class="a">入/出库</td>
<td><input type="radio" name="a" value="入库" id="a">入库
<input type="radio" name="a" value="出库" id="a">出库
</td>
</tr>
<tr>
<td class="a">经办人</td>
<td><input type="text" name="people" id="people"></td>
<td class="a">日期</td>
<td><input type="text" name="date" id="date"></td>
</tr>
<tr>
<td colspan="4" align="center"><input type="button" value="查询" id="query">
<input type="submit" value="清空">
<input type="button" id="pre" value="上一页">
<input type="button" id="next" value="下一页">
<span id="total"></span></td>
</tr>
</table>
<table border="1px" id="show">
<tr>
<td>入出库单编号</td>
<td>客户名称</td>
<td>经办人</td>
<td>入/出库</td>
<td>操作时间</td>
<td>操作</td>
</tr>
</table>
</body>
</html>
DAO:
public class InOutPageDao extends BaseDao {
public List<InOut> findCusinfosByPageNo(InOut condition,PageUtitily<InOut> page) {
List<InOut> list =new ArrayList<InOut>();
String select="select * from inout where 1=1";
StringBuilder sb = new StringBuilder(select);
List<Object> params = new ArrayList<Object>();
if(condition!=null){
if(condition.getInoutno()!=null&& !"".equals(condition.getInoutno())){
sb.append(" AND INOUTNO LIKE ?");
params.add("%"+condition.getInoutno()+"%");
}
if(condition.getPeople()!=null &&!"".equals(condition.getPeople())){
sb.append(" AND PEOPLE LIKE ?");
params.add("%"+condition.getPeople()+"%");
}
}
params.add(page.getStartRecord());
params.add(page.getEndRecord());
ResultSet rs = this.executeQueryForPage(sb.toString(), params);
try {
while(rs.next()){
InOut cus=new InOut();
cus.setInoutno(rs.getString("INOUTNO"));
cus.setUsername(rs.getString("USERNAME"));
cus.setPeople(rs.getString("PEOPLE"));
cus.setInout(rs.getString("INOUT"));
cus.setCtime(rs.getString("CTIME"));
list.add(cus);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
this.closeAll();
}
return list;
}
public int findCusinfosCount(InOut condition) {
String select ="SELECT * FROM INOUT C where 1=1";
StringBuilder sb = new StringBuilder(select);
List<Object> params = new ArrayList<Object>();
if(condition!=null){
if(condition.getInoutno()!=null&& !"".equals(condition.getInoutno())){
sb.append(" AND INOUTNO LIKE ?");
params.add("%"+condition.getInoutno()+"%");
}
if(condition.getPeople()!=null &&!"".equals(condition.getPeople())){
sb.append(" AND PEOPLE LIKE ?");
params.add("%"+condition.getPeople()+"%");
}
}
return this.executeQueryForTatalCount(sb.toString(), params);
}
}
实体类:
public class PageUtitily<T> {
private List<T> records;
private int curPage=1;//当前页码
private int totalRecords;//符合条件的总记录数
private int totalPages;//总页码数
private int pageSize=3;//页面大小
private int nextPage;//下一页
private int prePage;//上一页
private int startRecord;
private int endRecord;
public List<T> getRecords() {
return records;
}
public void setRecords(List<T> records) {
this.records = records;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getCurPage() {
return curPage;
}
public int getNextPage() {
return nextPage;
}
public int getPrePage() {
return prePage;
}
public int getStartRecord() {
return startRecord;
}
public int getEndRecord() {
return endRecord;
}
public PageUtitily(int pageNo){
this.curPage=pageNo;
this.startRecord=(this.curPage-1)*pageSize+1;
this.endRecord=this.curPage*pageSize;
this.prePage=this.curPage-1;
if(this.prePage<=0){
this.prePage=1;
}
}
public void setTotalRecords(int totalRecords) {
this.totalRecords = totalRecords;
//计算总页码
this.totalPages=this.totalRecords%pageSize==0?this.totalRecords/this.pageSize:this.totalRecords/this.pageSize+1;
//计算下一页
this.nextPage=this.curPage+1;
if(this.nextPage>totalPages){
this.nextPage=totalPages;
}
}
}
SERVICE:
public class InOutPageService {
InOutPageDao iod=new InOutPageDao();
public PageUtitily<InOut> findCusOrderByPage(InOut condition,int pageNo) {
PageUtitily<InOut> pageObj = new PageUtitily<InOut>(pageNo);
pageObj.setTotalRecords(iod.findCusinfosCount(condition));
List<InOut> list = iod.findCusinfosByPageNo(condition, pageObj);
pageObj.setRecords(list);
return pageObj;
}
}
SERVLET:
public class InOutPageServlet extends HttpServlet {
InOutPageService iops=new InOutPageService();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
String inoutno=req.getParameter("inoutno");
String inout=req.getParameter("a");
String people=req.getParameter("people");
String ctime=req.getParameter("date");
String curPage=req.getParameter("pageNo");
if(curPage==null||"".equals(curPage)){
curPage="1";
}
InOut io=new InOut(inoutno, people, inout, ctime);
PageUtitily<InOut> page=iops.findCusOrderByPage(io, Integer.valueOf(curPage));
JSONObject array=JSONObject.fromObject(page);
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
out.print(array.toString());
out.close();
}
}
POS管理系统之出入库单分页查询的更多相关文章
- .net通用CMS快速开发框架——问题1:Dapper通用的多表联合分页查询怎么破?
最近在弄一个东东,类似那种CMS的后台管理系统,方便作为其它项目的初始化框架用的. 现在遇到个问题,如标题所示:Dapper通用的多表联合分页查询怎么破? 难道只能通过拼接sql或者使用存储过程吗?我 ...
- 阿里云对象存储服务,OSS使用经验总结,图片存储,分页查询
阿里云OSS-使用经验总结,存储,账号-权限,分页,缩略图,账号切换 最近项目中,需要使用云存储,最后选择了阿里云-对象存储服务OSS.总的来说,比较简单,但是仍然遇到了几个问题,需要总结下. 1.O ...
- 小书MybatisPlus第4篇-表格分页与下拉分页查询
本文为mybatis系列文档的第4篇,前三篇请访问下面的网址. 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总结 小 ...
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- 用Hibernate和Struts2+jsp实现分页查询、修改删除
1.首先用get的方法传递一个页数过去 2.通过Struts2跳转到Action 3.通过request接受主页面index传过的页数,此时页数是1, 然后调用service层的方法获取DAO层分页查 ...
- MySQL、Oracle和SQL Server的分页查询语句
假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql.Oracle和SQL Server分页查询student表. 1.Mysql的分页查询: SELECT * FROM s ...
- 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历
分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...
- mysql 分页查询
mysql,; : mysql,; -last. //如果只给定一个参数,它表示返回最大的记录行数目: mysql; 个记录行 ,n. 动态传参的分页查询 SELECT * FROM table LI ...
- MongoDB 分页查询的方法及性能
最近有点忙,本来有好多东西可以总结,Redis系列其实还应该有四.五.六...不过<Redis in Action>还没读完,等读完再来总结,不然太水,对不起读者. 自从上次Redis之后 ...
随机推荐
- 将内存ffff:0~ffff:b中的数据拷贝到0:200~0:20b中
我是按照字,也就是2个字节拷贝的. 这样就可以让循环减半== assume cs:sad sad segment start: mov ax, 0ffffh mov ds, ax mov bx, 0h ...
- js-PC版监听键盘大小写事件
//获取键盘按键事件,可以使用keyup. //问题:获取到键盘的按下Caps lock键时,不能知道当前状态是大写.还是小写状态. //解决: 设置一个全局判断大小写状态的 标志:isCapital ...
- nginx beginners_guide
http://nginx.org/en/docs/beginners_guide.html https://www.nginx.com/resources/wiki/start/topics/tuto ...
- pm2使用
简单教程 首先需要安装pm2: npm install -g pm2 运行: pm2 start app.js 初次安装并运行,会有一个高大上的界面: 高大上的界面 直接我们介绍过forever,那么 ...
- EAN
public static string EAN13(string s) { ;//输入的校验码 if (!Regex.IsMatch(s, @"^\d{12}$")) { if ...
- 13、java中的多态
1,多态的体现 父类的引用指向了自己的子类对象. 父类的引用也可以接收自己的子类对象.2,多态的前提 必须是类与类之间有关系.要么继承,要么实现. 通常还有一个前提:存在覆盖. 3,多态的好处 多态的 ...
- winform中dataGridView单元格根据值设置新值,彻底解决绑定后数据类型转换的困难
// winform中dataGridView单元格在数据绑定后,数据类型更改困难,只能迂回实现.有时候需要将数字变换为不同的文字描述,就会出现int32到string类型转换的异常,借助CellFo ...
- ajax请求获取的数据无法赋值给全局变量问题总结
一.总结: 1.问题描述: 今天做项目遇到在用表单显示详细信息的过程中ajax请求获取的数据无法赋值给全局变量的情况,从列表页面进入详情页,在详情页面被渲染了之后就会调用js文件里的接口向服务器请求数 ...
- Angular.JS学习笔记——1
内容来自:http://www.runoob.com/angularjs/angularjs-intro.html AngularJS 是一个 JavaScript 框架.它是一个以 JavaScri ...
- day26、面向对象进阶:多态、封装、反射
一.多态 什么是多态: 类的继承有两层意义:1.改变 2.扩展 多态就是类的这两层意义的一个具体的实现机. 即:调用不同类实例化的对象,下的相同的方法,实现的过程不一样 python中的标准类型就是多 ...