1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  package org.kuali.ole.vnd.businessobject;
18  
19  import java.util.Collection;
20  import java.util.Collections;
21  import java.util.HashMap;
22  import java.util.LinkedHashMap;
23  import java.util.Map;
24  
25  import org.kuali.ole.sys.context.SpringContext;
26  import org.kuali.ole.sys.identity.OleKimAttributes;
27  import org.kuali.ole.sys.service.impl.OleParameterConstants;
28  import org.kuali.ole.vnd.identity.ContractManagerRoleTypeServiceImpl;
29  import org.kuali.rice.core.api.mo.common.active.MutableInactivatable;
30  import org.kuali.rice.core.api.util.type.KualiDecimal;
31  import org.kuali.rice.kim.api.identity.Person;
32  import org.kuali.rice.kim.api.identity.PersonService;
33  import org.kuali.rice.kim.api.role.RoleMembership;
34  import org.kuali.rice.kim.api.role.RoleService;
35  import org.kuali.rice.kim.api.services.KimApiServiceLocator;
36  import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
37  import org.kuali.rice.krad.util.ObjectUtils;
38  
39  
40  
41  
42  
43  
44  
45  public class ContractManager extends PersistableBusinessObjectBase implements MutableInactivatable {
46  
47      private Integer contractManagerCode;
48      private String contractManagerName;
49      private String contractManagerPhoneNumber;
50      private String contractManagerFaxNumber;
51      private KualiDecimal contractManagerDelegationDollarLimit;
52      private boolean active;
53  
54  
55      
56  
57  
58      public ContractManager() {
59      }
60  
61      public Integer getContractManagerCode() {
62          return contractManagerCode;
63      }
64  
65      public void setContractManagerCode(Integer contractManagerCode) {
66          this.contractManagerCode = contractManagerCode;
67      }
68  
69      public String getContractManagerName() {
70          return contractManagerName;
71      }
72  
73      public void setContractManagerName(String contractManagerName) {
74          this.contractManagerName = contractManagerName;
75      }
76  
77      public String getContractManagerPhoneNumber() {
78          return contractManagerPhoneNumber;
79      }
80  
81      public void setContractManagerPhoneNumber(String contractManagerPhoneNumber) {
82          this.contractManagerPhoneNumber = contractManagerPhoneNumber;
83      }
84  
85      public String getContractManagerFaxNumber() {
86          return contractManagerFaxNumber;
87      }
88  
89      public void setContractManagerFaxNumber(String contractManagerFaxNumber) {
90          this.contractManagerFaxNumber = contractManagerFaxNumber;
91      }
92  
93      public KualiDecimal getContractManagerDelegationDollarLimit() {
94          return contractManagerDelegationDollarLimit;
95      }
96  
97      public void setContractManagerDelegationDollarLimit(KualiDecimal contractManagerDelegationDollarLimit) {
98          this.contractManagerDelegationDollarLimit = contractManagerDelegationDollarLimit;
99      }
100 
101     
102 
103 
104 
105     public String getContractManagerUserIdentifier() {
106         String contractManagerId = null;
107         Map<String,String> qualification = new HashMap<String,String>();
108 
109         RoleService roleService = KimApiServiceLocator.getRoleService();
110         String roleId = roleService.getRoleIdByNamespaceCodeAndName(OleParameterConstants.PURCHASING_NAMESPACE, ContractManagerRoleTypeServiceImpl.CONTRACT_MANAGER_ROLE_NAME);
111 
112         qualification.put(OleKimAttributes.CONTRACT_MANAGER_CODE, String.valueOf(contractManagerCode));
113         Collection<RoleMembership> roleMemberships = roleService.getRoleMembers(Collections.singletonList(roleId), qualification);
114 
115         for (RoleMembership membership : roleMemberships) {
116             contractManagerId = membership.getMemberId();
117             break;
118         }
119 
120         return contractManagerId;
121     }
122 
123     public Person getContractManagerPerson() {
124         Person contractManager = SpringContext.getBean(PersonService.class).getPerson(getContractManagerUserIdentifier());
125         if (ObjectUtils.isNotNull(contractManager)) {
126             return contractManager;
127         }
128         return null;
129     }
130 
131     
132 
133 
134     @SuppressWarnings({ "unchecked", "rawtypes" })
135     protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
136         LinkedHashMap m = new LinkedHashMap();
137         if (this.contractManagerCode != null) {
138             m.put("contractManagerCode", this.contractManagerCode.toString());
139         }
140 
141         return m;
142     }
143 
144     @Override
145     public boolean isActive() {
146         return active;
147     }
148 
149     @Override
150     public void setActive(boolean active) {
151         this.active = active;
152     }
153 }