示例#1
0
 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;
 }