package weaver.formmode.customjavacode.customsearch.rules; import weaver.conn.RecordSet; import weaver.formmode.customjavacode.AbstractCustomSqlConditionJavaCode; import java.util.Map; public class FindDw extends AbstractCustomSqlConditionJavaCode { /** * 生成SQL查询限制条件 * * @param param param包含(但不限于)以下数据 * user 当前用户 * @return 返回的查询限制条件的格式举例为: t1.a = '1' and t1.b = '3' and t1.c like '%22%' * 其中t1为表单主表表名的别名 */ public String generateSqlCondition(Map param) { //获取管理职能 String glzn = (String) param.get("glzn"); System.out.println("glan===========" + glzn); //通过管理职能查询有哪些单位 String sqlCondition = ""; if (glzn != null && !"".equals(glzn)) { if ("1".equals(glzn) || "6".equals(glzn) || "7".equals(glzn)) {//1,6,7为公司级,其余根据部门查询 if ("1".equals(glzn)) {//如果是1,则查找公司级所有 sqlCondition = "t1.jb ='0'"; } else if ("6".equals(glzn)) {//如果是6,则查找集团 sqlCondition = "t1.jb ='0' and t1.wdml in ('501_1','501_2')"; } else {//其余是股份 sqlCondition = "t1.jb ='0' and t1.wdml not in ('501_1','501_2')"; } } else { String sql = "select * from uf_dwpp where glzn = '2502_" + glzn + "'"; RecordSet rs = new RecordSet(); rs.execute(sql); String dws = ""; while (rs.next()) { dws += "'" + rs.getInt("dw") + "',"; } sqlCondition = "t1.fb in (" + dws.substring(0, dws.length() - 1) + ")"; } } System.out.println("sqlCondition===============" + sqlCondition); return sqlCondition; } }