public int preReference( SessionContext ctx, DatabaseConnection conn, FormInstance instance, ErrorMessages msgs, EventManager manager, String reffldnm, SqlWhereUtil sqlWhereUtil) { UserManager um = (UserManager) ctx.getAttribute(SystemAttributeNames.USER_INFO_NAME); // if (reffldnm.equals("APPBRHID") || reffldnm.equals("CLIENTMGR") || // reffldnm.equals("UNIONNO")) { if (reffldnm.equals("APPBRHID") || reffldnm.equals("CLIENTMGR")) { // BRHID(用户网点) String BRHID = SCUser.getBrhId(um.getUserName()); if (BRHID == null || BRHID.length() < 1) { msgs.add("用户网点不存在!"); return -1; } // SUBBRHIDs(用户网点下的所有实网点,包括自己) String SUBBRHIDs = SCBranch.getSubBranchAll(BRHID); if (SUBBRHIDs == null || SUBBRHIDs.length() < 1) { msgs.add("下属网点不存在!"); return -1; } else { SUBBRHIDs = "'" + SUBBRHIDs.replaceAll(",", "','") + "'"; } // sqlWhereUtil if (reffldnm.equals("APPBRHID")) { sqlWhereUtil.addWhereField( "SCBRANCH", "BRHID", SUBBRHIDs, SqlWhereUtil.DataType_Sql, sqlWhereUtil.OperatorType_In); } if (reffldnm.equals("CLIENTMGR")) { sqlWhereUtil.addWhereField( "SCUSER", "BRHID", SUBBRHIDs, SqlWhereUtil.DataType_Sql, sqlWhereUtil.OperatorType_In, sqlWhereUtil.RelationOperator_And); sqlWhereUtil.addWhereField( "SCUSER", "USERTYPE", "3", // SqlWhereUtil.DataType_Number, SqlWhereUtil.DataType_Character, sqlWhereUtil.OperatorType_Not_Equals); } // if (reffldnm.equals("UNIONNO")) { // sqlWhereUtil.addWhereField("CMFAMILYUNION", "BRHID", SUBBRHIDs, // SqlWhereUtil.DataType_Sql, // sqlWhereUtil.OperatorType_In); // } } return 0; }