1 14 package org.compiere.model; 15 16 import java.sql.*; 17 import java.util.*; 18 19 import org.compiere.util.*; 20 21 27 public class MPrivateAccess extends X_AD_Private_Access 28 { 29 37 public static MPrivateAccess get (Properties ctx, int AD_User_ID, int AD_Table_ID, int Record_ID) 38 { 39 MPrivateAccess retValue = null; 40 PreparedStatement pstmt = null; 41 String sql = "SELECT * FROM AD_Private_Access WHERE AD_User_ID=? AND AD_Table_ID=? AND Record_ID=?"; 42 try 43 { 44 pstmt = DB.prepareCall(sql); 45 pstmt.setInt(1, AD_User_ID); 46 pstmt.setInt(2, AD_Table_ID); 47 pstmt.setInt(3, Record_ID); 48 ResultSet rs = pstmt.executeQuery(); 49 if (rs.next()) 50 retValue = new MPrivateAccess (ctx, rs); 51 rs.close(); 52 pstmt.close(); 53 pstmt = null; 54 } 55 catch (Exception e) 56 { 57 s_log.error("MPrivateAccess", e); 58 } 59 try 60 { 61 if (pstmt != null) 62 pstmt.close(); 63 pstmt = null; 64 } 65 catch (Exception e) 66 { 67 pstmt = null; 68 } 69 return retValue; 70 } 72 78 public static String getLockedRecordWhere (int AD_Table_ID, int AD_User_ID) 79 { 80 ArrayList list = new ArrayList(); 81 PreparedStatement pstmt = null; 82 String sql = "SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID=? AND AD_User_ID<>? AND IsActive='Y'"; 83 try 84 { 85 pstmt = DB.prepareCall(sql); 86 pstmt.setInt(1, AD_Table_ID); 87 pstmt.setInt(2, AD_User_ID); 88 ResultSet rs = pstmt.executeQuery(); 89 while (rs.next()) 90 list.add(new Integer (rs.getInt(1))); 91 rs.close(); 92 pstmt.close(); 93 pstmt = null; 94 } 95 catch (Exception e) 96 { 97 s_log.error("MPrivateAccess", e); 98 } 99 try 100 { 101 if (pstmt != null) 102 pstmt.close(); 103 pstmt = null; 104 } 105 catch (Exception e) 106 { 107 pstmt = null; 108 } 109 if (list.size() == 0) 111 return null; 112 if (list.size() == 1) 113 return "<>" + list.get(0); 114 StringBuffer sb = new StringBuffer (" NOT IN("); 116 for (int i = 0; i < list.size(); i++) 117 { 118 if (i > 0) 119 sb.append(","); 120 sb.append(list.get(i)); 121 } 122 sb.append(")"); 123 return sb.toString(); 124 } 126 127 128 private static Logger s_log = Logger.getCLogger(MPrivateAccess.class); 129 130 135 public MPrivateAccess(Properties ctx, ResultSet rs) 136 { 137 super(ctx, rs); 138 } 140 147 public MPrivateAccess (Properties ctx, int AD_User_ID, int AD_Table_ID, int Record_ID) 148 { 149 super (ctx, 0); 150 setAD_User_ID (AD_User_ID); 151 setAD_Table_ID (AD_Table_ID); 152 setRecord_ID (Record_ID); 153 } 155 }
| Popular Tags
|