MultiInvoicesAjax.jsp 4.34 KB

<%@page import="org.apache.commons.lang.StringEscapeUtils"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %> 
<%@ page import="weaver.general.*,weaver.file.Prop" %>
<%@ page import="weaver.hrm.*,weaver.hrm.common.*" %>
<%@ page import="java.util.*" %>
<%@ page import="net.sf.json.JSONArray" %>
<%@ page import="net.sf.json.JSONObject" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<%
	User user = HrmUserVarify.getUser (request , response) ;
	String src = Util.null2String(request.getParameter("src"));
	String check_per = Util.null2String(request.getParameter("selectids"));
	if(check_per.equals(",")){
		check_per = "";
	}
	if(check_per.equals("")){
		check_per = Util.null2String(request.getParameter("systemIds"));
	}
	Map invoiceNumberMap = new HashMap();
	Map invoiceDateMap = new HashMap();
	if(check_per.trim().startsWith(",")){
		check_per = check_per.substring(1);
	}
	if(!check_per.equals("")){
		try{
			String strtmp = "select id,invoiceNumber,billingDate from FnaInvoiceLedger where id in ("+check_per+")";
			rs.executeSql(strtmp);
			while(rs.next()){
				invoiceNumberMap.put(rs.getString("id"),rs.getString("invoiceNumber"));
				invoiceDateMap.put(rs.getString("id"),rs.getString("billingDate"));
			}
		}catch(Exception e){}
	}
	StringTokenizer st = new StringTokenizer(check_per,",");
	int perpage = Util.getIntValue(request.getParameter("pageSize"),10) ;
	int pagenum = Util.getIntValue(request.getParameter("currentPage") , 1) ;
	JSONObject json = new JSONObject();
	if(src.equalsIgnoreCase("dest")){//右侧已选择列表的sql条件
		String sqlWhere = " where 1=1 ";
		JSONArray jsonArr = new JSONArray();
		String id=null;
		String invoiceNumber=null;
		String billingDate=null;
		if(st!=null){
			while(st.hasMoreTokens()){
				id = st.nextToken();
				invoiceNumber = invoiceNumberMap.containsKey(id)?String.valueOf(invoiceNumberMap.get(id)):"";
				billingDate = invoiceDateMap.containsKey(id)?String.valueOf(invoiceDateMap.get(id)):"";
				JSONObject tmp = new JSONObject();
				tmp.put("id",id);
				tmp.put("invoiceNumber",invoiceNumber);
				tmp.put("billingDate",billingDate);
				jsonArr.add(tmp);
			}
		}
	
		int totalPage = jsonArr.size();
		if(totalPage%perpage>0||totalPage==0){
			totalPage++;
		}
	
		json.put("currentPage", 1);
		json.put("totalPage", 1);
		json.put("mapList",jsonArr.toString());
		out.println(json.toString());
		return;
	}else{//左侧待选择列表的sql条件
		String advQry_kprq1 = Util.null2String(request.getParameter("createdatestart")).trim();
		String advQry_kprq2 = Util.null2String(request.getParameter("createdateend")).trim();
		
		String invoiceNumber = Util.null2String(request.getParameter("invoiceNumber"));
		int userid = user.getUID();
		//验票为真的发票才能选择的到
		StringBuffer sqlWhere = new StringBuffer(" where 1=1 and Authenticity = 1 ");
		if(!"".equals(advQry_kprq2)){
			sqlWhere.append(" and a.billingDate <= '").append(StringEscapeUtils.escapeSql(advQry_kprq2)).append("' ");
		}
		if(!"".equals(advQry_kprq1)){
			sqlWhere.append(" and a.billingDate >= '").append(StringEscapeUtils.escapeSql(advQry_kprq1)).append("' ");
		}
		
		if(!"".equals(invoiceNumber)){
			sqlWhere.append(" and a.invoiceNumber like '%").append(StringEscapeUtils.escapeSql(invoiceNumber.trim())).append("%'");
		}
		
		sqlWhere.append(" and a.userid_new = ").append(userid);
		sqlWhere.append(" and a.status = '0' ");
		
		SplitPageParaBean spp = new SplitPageParaBean();
		spp.setBackFields(" a.id,a.invoiceNumber,a.billingDate ");
		spp.setSqlFrom(" from FnaInvoiceLedger a ");
		spp.setSqlWhere(sqlWhere.toString());
		spp.setSqlOrderBy("");
		spp.setPrimaryKey("a.id");
		spp.setDistinct(true);
		spp.setSortWay(spp.ASC);
		SplitPageUtil spu = new SplitPageUtil();
		spu.setSpp(spp);

		int RecordSetCounts = spu.getRecordCount();
		int totalPage = RecordSetCounts/perpage;
		if(totalPage%perpage>0||totalPage==0){
			totalPage++;
		}
		
		rs = spu.getCurrentPageRs(pagenum, perpage);

		JSONArray jsonArr = new JSONArray();
		while(rs.next()) {
			JSONObject tmp = new JSONObject();
			tmp.put("id",rs.getString("id"));
			tmp.put("invoiceNumber",rs.getString("invoiceNumber"));
			tmp.put("billingDate",rs.getString("billingDate"));
			jsonArr.add(tmp);
		}
		json.put("currentPage", pagenum);
		json.put("totalPage", totalPage);
		json.put("mapList",jsonArr.toString());
		out.println(json.toString());
	}
%>