📄 clientdao.java
字号:
package com.doone.fj1w.bbs;
import java.util.LinkedList;
import java.util.Map;
import com.doone.data.DacClient;
import com.doone.data.DataTable;
import com.doone.util.ExtString;
import com.doone.util.FileLogger;
import com.doone.uurm.WebAuth;
public class ClientDAO {
/**
* @author qiuzb
* @version 2007-04-11
* @param map
* @return
* @throws Exception
*/
public static int getConditionResult(Map map,WebAuth auth) throws Exception{
DacClient dac=null;
try {
if(map==null) return 0;
long lBoardId=0L;
if(map.get("boardId")!=null)
lBoardId = Long.parseLong((String) map.get("boardId"));
StringBuffer sql = new StringBuffer();
LinkedList linkList = new LinkedList();
sql.append("SELECT COUNT (c.content_id) count FROM tf_content c ");
sql.append("WHERE c.board_id = ? AND c.up_content_id = 0 ");
linkList.add(new Long(lBoardId));
sql.append(parseCondition(map,linkList));
dac=new DacClient();
DataTable dt=dac.executeQuery(sql.toString(),linkList.toArray());
if(dt!=null && dt.getRows().getCount()>0) {
return Integer.parseInt(dt.getRow(0).getString("count"));
}
// 获取登录用户信息,以便过滤用户没有权限的栏目内容。
if (!auth.IsAuthed()) return -1;
// 获取用户有权限的栏目编号。
sql = new StringBuffer();
sql.append(" SELECT count(c.content_id) count ");
sql.append(" FROM tf_content c,");
sql.append(" (select distinct v.PURVIEWID infoid");
sql.append(" from vf_stafforgpurv v");
sql.append(" connect by prior v.PURVIEWID = v.UPPURVIEWID and v.STAFFID = ?");
linkList.add(new Long(auth.getUserID()));
sql.append(" start with v.PURVIEWID = ?) p");
linkList.add(new Long(lBoardId));
sql.append(" WHERE ");
sql.append(" c.board_id = p.infoid AND c.up_content_id = 0");
sql.append(parseCondition(map,linkList));
dt=dac.executeQuery(sql.toString(),linkList.toArray());
if(dt!=null && dt.getRows().getCount()>0) {
return Integer.parseInt(dt.getRow(0).getString("count"));
}
} catch (Exception ex) {
FileLogger.getLogger().warn(ex.getMessage(), ex);
}
return 0;
}
/**
*
* @param map
* @param startrecord
* @param recordnum
* @return
* @throws Exception
*/
public static DataTable getContextResult(Map map,WebAuth auth, int currentPage,int pageSize)throws Exception{
DacClient dac=null;
DataTable dt = null;
try {
if (currentPage < 0 || pageSize < 1) return null;
if(map==null) return dt;
int startRecord = currentPage * pageSize;
int endRecord = (currentPage + 1) * pageSize;
long lBoardId=0L;
if(map.get("boardId")!=null)
lBoardId = Long.parseLong((String) map.get("boardId"));
// 获取本栏目下的内容。
LinkedList linkList = new LinkedList();
StringBuffer sql = new StringBuffer();
sql.append("SELECT content_id,");
sql.append(" up_content_id,");
sql.append(" board_id,");
sql.append(" account_id,");
sql.append(" user_name,");
sql.append(" create_time,");
sql.append(" title,");
sql.append(" tip_order,");
sql.append(" extract_sign,");
sql.append(" reply_count,");
sql.append(" exist_attch,");
sql.append(" last_reply_time,");
sql.append(" click_count,");
sql.append(" reply_user_name,");
sql.append(" delete_sign,");
sql.append(" CONTENTTYPE,");
sql.append(" mood_icon,");
sql.append(" CONTENT_CODE");
sql.append(" FROM (SELECT content_id,");
sql.append(" up_content_id,");
sql.append(" board_id,");
sql.append(" account_id,");
sql.append(" user_name,");
sql.append(" create_time,");
sql.append(" title,");
sql.append(" tip_order,");
sql.append(" extract_sign,");
sql.append(" reply_count,");
sql.append(" last_reply_time,");
sql.append(" click_count,");
sql.append(" reply_user_name,");
sql.append(" delete_sign,");
sql.append(" mood_icon,");
sql.append(" CONTENTTYPE,");
sql.append(" CONTENT_CODE,");
sql.append(" exist_attch,");
sql.append(" ROWNUM rn /*+ first_row */");
sql.append(" FROM (SELECT c.content_id,");
sql.append(" c.up_content_id,");
sql.append(" c.board_id,");
sql.append(" c.account_id,");
sql.append(" c.user_name,");
sql.append(" c.create_time,");
sql.append(" c.title,");
sql.append(" c.tip_order,");
sql.append(" c.extract_sign,");
sql.append(" c.reply_count,");
sql.append(" c.last_reply_time,");
sql.append(" c.click_count,");
sql.append(" c.reply_user_name,");
sql.append(" c.delete_sign,");
sql.append(" c.mood_icon,");
sql.append(" c.CONTENTTYPE,");
sql.append(" c.CONTENT_CODE,");
sql.append(" c.exist_attch");
sql.append(" FROM tf_content c");
// sql.append(" WHERE CONTENTTYPE ='"+contentType+"' AND");
sql.append(" WHERE ");
sql.append(" c.board_id = ? AND c.up_content_id = 0");
linkList.add(new Long(lBoardId));
sql.append(parseCondition(map,linkList));
sql.append(" ORDER BY c.tip_order DESC, c.last_reply_time DESC,");
if(!ExtString.turnStr((String)map.get("SORT")).equals("")) {
sql.append(" c.CREATE_TIME ");
sql.append((String)map.get("SORT")+",");
}
sql.append(" c.content_id DESC)");
sql.append(" WHERE ROWNUM <= ?)");
sql.append(" WHERE rn > ?");
linkList.add(new Integer(endRecord));
linkList.add(new Integer(startRecord));
dac=new DacClient();
dt = dac.executeQuery(sql.toString(), linkList.toArray());
if (dt != null && dt.getRows().getCount() > 0) {
return dt;
}
// 获取登录用户信息,以便过滤用户没有权限的栏目内容。
if (!auth.IsAuthed()) return null;
// 获取用户有权限的栏目编号。
linkList = new LinkedList();
sql = new StringBuffer();
sql.append(" SELECT content_id,");
sql.append(" up_content_id,");
sql.append(" board_id,");
sql.append(" account_id,");
sql.append(" user_name,");
sql.append(" create_time,");
sql.append(" title,");
sql.append(" tip_order,");
sql.append(" extract_sign,");
sql.append(" reply_count,");
sql.append(" exist_attch,");
sql.append(" last_reply_time,");
sql.append(" click_count,");
sql.append(" reply_user_name,");
sql.append(" delete_sign,");
sql.append(" CONTENTTYPE,");
sql.append(" mood_icon");
sql.append(" FROM (SELECT content_id,");
sql.append(" up_content_id,");
sql.append(" board_id,");
sql.append(" account_id,");
sql.append(" user_name,");
sql.append(" create_time,");
sql.append(" title,");
sql.append(" tip_order,");
sql.append(" extract_sign,");
sql.append(" reply_count,");
sql.append(" last_reply_time,");
sql.append(" click_count,");
sql.append(" reply_user_name,");
sql.append(" delete_sign,");
sql.append(" mood_icon,");
sql.append(" CONTENTTYPE,");
sql.append(" exist_attch,");
sql.append(" ROWNUM rn /*+ first_row */");
sql.append(" FROM (SELECT c.content_id,");
sql.append(" c.up_content_id,");
sql.append(" c.board_id,");
sql.append(" c.account_id,");
sql.append(" c.user_name,");
sql.append(" c.create_time,");
sql.append(" c.title,");
sql.append(" c.tip_order,");
sql.append(" c.extract_sign,");
sql.append(" c.reply_count,");
sql.append(" c.last_reply_time,");
sql.append(" c.click_count,");
sql.append(" c.reply_user_name,");
sql.append(" c.delete_sign,");
sql.append(" c.mood_icon,");
sql.append(" c.CONTENTTYPE,");
sql.append(" c.exist_attch");
sql.append(" FROM tf_content c,");
sql.append(" (select distinct v.PURVIEWID infoid");
sql.append(" from vf_stafforgpurv v");
sql.append(" connect by prior v.PURVIEWID = v.UPPURVIEWID and");
sql.append(" v.STAFFID = ?");
linkList.add(new Long(auth.getUserID()));
sql.append(" start with v.PURVIEWID = ?) p");
linkList.add(new Long(lBoardId));
sql.append(" WHERE ");
sql.append(" c.board_id = p.infoid AND c.up_content_id = 0");
sql.append(parseCondition(map,linkList));
sql.append(" ORDER BY c.tip_order DESC, c.last_reply_time DESC,");
if(!ExtString.turnStr((String)map.get("SORT")).equals("")) {
sql.append(" c.CREATE_TIME ");
sql.append((String)map.get("SORT")+",");
}
sql.append(" c.content_id DESC)");
sql.append(" WHERE ROWNUM <= ?)");
sql.append(" WHERE rn > ? ");
linkList.add(new Integer(endRecord));
linkList.add(new Integer(startRecord));
dac=new DacClient();
dt = dac.executeQuery(sql.toString(), linkList.toArray());
} catch (Exception ex) {
FileLogger.getLogger().warn(ex.getMessage(), ex);
return null;
}finally {
dac=null;
}
return dt;
}
/**
* 解释条件入参.
* @param map
* @param linkList
* LINKMAN,STATE,CITYCODE,VPDNTYPEID,CREATETIME,,FINISHTIME,USERID,STORENAME
* @return
*/
public static String parseCondition(Map map,LinkedList linkList) {
try {
StringBuffer buffer = new StringBuffer();
if(!ExtString.turnStr((String)map.get("TITLE")).equals("")) {
buffer.append(" and c.TITLE like ? ");
linkList.add((String)map.get("TITLE")+"%");
}
if(!ExtString.turnStr((String)map.get("USERNAME")).equals("")) {
buffer.append(" and c.USER_NAME like ?");
linkList.add((String)map.get("USERNAME")+"%");
}
if(!ExtString.turnStr((String)map.get("DELETE_SIGN")).equals("")) {
buffer.append(" and c.DELETE_SIGN = ?");
linkList.add((String)map.get("DELETE_SIGN"));
}
if(ExtString.turnStr((String)map.get("DELETE_SIGN")).equals("")) {
buffer.append(" and c.DELETE_SIGN <> 'D' ");
}
if(!ExtString.turnStr((String)map.get("CONTENTCODE")).equals("")) {
buffer.append(" and c.CONTENT_CODE like ?");
linkList.add((String)map.get("CONTENTCODE")+"%");
}
if(!ExtString.turnStr((String)map.get("CREATETIME")).equals("")) {
buffer.append(" and c.CREATE_TIME >= to_date(?,'YYYY-MM-DD HH24:MI:SS')");
linkList.add((String)map.get("CREATETIME"));
}
if(!ExtString.turnStr((String)map.get("STARTTIME")).equals("")) {
buffer.append(" and c.STARTTIME >= to_date(?,'YYYY-MM-DD HH24:MI:SS')");
linkList.add((String)map.get("STARTTIME"));
}
if(!ExtString.turnStr((String)map.get("ENDTIME")).equals("")) {
buffer.append(" and c.ENDTIME <= to_date(?,'YYYY-MM-DD HH24:MI:SS')");
linkList.add((String)map.get("ENDTIME"));
}
return buffer.toString();
} catch (Exception ex) {
FileLogger.getLogger().warn(ex.getMessage(),ex);
}
return "";
}
/**
* 取备注编码
*/
public static DataTable getContentCode(String purviewCode) {
DacClient dac = new DacClient();
try {
String sql= "select t.* from td_contentcode t where t.purviewcode =?";
Object[] param =new Object[1];
param[0] = purviewCode;
return dac.executeQuery(sql,param);
} catch (Exception ex) {
FileLogger.getLogger().warn(ex.getMessage(),ex);
return null;
}finally {
dac=null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -