|
|
|
@ -15,13 +15,17 @@ import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil;
|
|
|
|
|
import it.tref.liferay.portos.bo.service.ProvinciaLocalServiceUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.shared.bean.IstruttoreBean; |
|
|
|
|
import it.tref.liferay.portos.bo.shared.util.TipoSoggettoUtil; |
|
|
|
|
import it.tref.liferay.portos.bo.shared.util.UnitaOperativeUtil; |
|
|
|
|
|
|
|
|
|
import java.io.ByteArrayOutputStream; |
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.io.OutputStream; |
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.Collections; |
|
|
|
|
import java.util.Comparator; |
|
|
|
|
import java.util.Date; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
@ -52,7 +56,14 @@ import com.liferay.portal.kernel.util.PropsUtil;
|
|
|
|
|
import com.liferay.portal.kernel.util.StringPool; |
|
|
|
|
import com.liferay.portal.kernel.util.Validator; |
|
|
|
|
import com.liferay.portal.kernel.util.WebKeys; |
|
|
|
|
import com.liferay.portal.model.Organization; |
|
|
|
|
import com.liferay.portal.model.Role; |
|
|
|
|
import com.liferay.portal.model.User; |
|
|
|
|
import com.liferay.portal.model.UserGroupRole; |
|
|
|
|
import com.liferay.portal.service.OrganizationLocalServiceUtil; |
|
|
|
|
import com.liferay.portal.service.RoleLocalServiceUtil; |
|
|
|
|
import com.liferay.portal.service.UserGroupRoleLocalServiceUtil; |
|
|
|
|
import com.liferay.portal.service.UserLocalServiceUtil; |
|
|
|
|
import com.liferay.portal.theme.ThemeDisplay; |
|
|
|
|
import com.liferay.portal.util.PortalUtil; |
|
|
|
|
import com.liferay.util.bridges.mvc.MVCPortlet; |
|
|
|
@ -91,7 +102,8 @@ public class GestioneAttivitaIstruttorePortlet extends MVCPortlet {
|
|
|
|
|
String tipoProcedura = ParamUtil.getString(actionRequest, "tipoProcedura"); |
|
|
|
|
String unitaOperativa = ParamUtil.getString(actionRequest, "unitaOperativa"); |
|
|
|
|
String provincia = ParamUtil.getString(actionRequest, "provincia"); |
|
|
|
|
String geologo = ParamUtil.getString(actionRequest, "geologo"); |
|
|
|
|
String geologi = ParamUtil.getString(actionRequest, "geologi"); |
|
|
|
|
String parereGeologo = ParamUtil.getString(actionRequest, "parereGeologo"); |
|
|
|
|
String istruttore = ParamUtil.getString(actionRequest, "istruttore"); |
|
|
|
|
|
|
|
|
|
actionResponse.setRenderParameter("numeroProgetto", numeroProgetto); |
|
|
|
@ -117,7 +129,8 @@ public class GestioneAttivitaIstruttorePortlet extends MVCPortlet {
|
|
|
|
|
actionResponse.setRenderParameter("tipoProcedura", tipoProcedura); |
|
|
|
|
actionResponse.setRenderParameter("unitaOperativa", unitaOperativa); |
|
|
|
|
actionResponse.setRenderParameter("provincia", provincia); |
|
|
|
|
actionResponse.setRenderParameter("geologo", geologo); |
|
|
|
|
actionResponse.setRenderParameter("geologi", geologi); |
|
|
|
|
actionResponse.setRenderParameter("parereGeologo", parereGeologo); |
|
|
|
|
actionResponse.setRenderParameter("istruttore", istruttore); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -251,6 +264,7 @@ public class GestioneAttivitaIstruttorePortlet extends MVCPortlet {
|
|
|
|
|
} |
|
|
|
|
// ADT BUG-ID=16 Sezione Pratiche Assegnate
|
|
|
|
|
User user = themeDisplay.getUser(); |
|
|
|
|
try{ |
|
|
|
|
if ("comuniForUfficio".equals(resourceId)) { |
|
|
|
|
String ufficio = ParamUtil.getString(resourceRequest, "ufficioId"); |
|
|
|
|
JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); |
|
|
|
@ -282,7 +296,148 @@ public class GestioneAttivitaIstruttorePortlet extends MVCPortlet {
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}else if ("province".equals(resourceId)) { |
|
|
|
|
JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); |
|
|
|
|
List<String> province = TerritorioLocalServiceUtil.getActiveProvince(); |
|
|
|
|
for (String codiceProvincia : province) { |
|
|
|
|
JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); |
|
|
|
|
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(themeDisplay.getCompanyId(), codiceProvincia); |
|
|
|
|
jsonObject.put("provinciaId", provincia.getCodiceProvincia()); |
|
|
|
|
jsonObject.put("descLong", provincia.getSigla() + " - " + provincia.getProvincia()); |
|
|
|
|
jsonArray.put(jsonObject); |
|
|
|
|
} |
|
|
|
|
writeJSON(resourceRequest, resourceResponse, jsonArray); |
|
|
|
|
}else if ("unitaOperative".equals(resourceId)) { |
|
|
|
|
JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); |
|
|
|
|
|
|
|
|
|
for(int i=1; i<11; i++) { |
|
|
|
|
JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); |
|
|
|
|
jsonObject.put("uoId", i); |
|
|
|
|
jsonObject.put("descLong", i); |
|
|
|
|
jsonArray.put(jsonObject); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
writeJSON(resourceRequest, resourceResponse, jsonArray); |
|
|
|
|
}else if ("comuni".equals(resourceId)) { |
|
|
|
|
String provinciaId = ParamUtil.getString(resourceRequest, "provinciaId"); |
|
|
|
|
JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); |
|
|
|
|
if (Validator.isNotNull(provinciaId) && !provinciaId.equals("0")) { |
|
|
|
|
List<Long> comuniIds = TerritorioLocalServiceUtil.getActiveComuniByCodiceProvincia(provinciaId); |
|
|
|
|
List<Comune> comumeList = new ArrayList<Comune>(); |
|
|
|
|
for (long comuneId : comuniIds) { |
|
|
|
|
Comune comune = ComuneLocalServiceUtil.getComune(comuneId); |
|
|
|
|
comumeList.add(comune); |
|
|
|
|
} |
|
|
|
|
Collections.sort(comumeList, new Comparator<Comune>() { |
|
|
|
|
@Override |
|
|
|
|
public int compare(Comune o1, Comune o2) { |
|
|
|
|
return o1.getDenominazione().compareTo(o2.getDenominazione()); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
for (Comune comune : comumeList) { |
|
|
|
|
JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); |
|
|
|
|
jsonObject.put("comuneId", comune.getComuneId()); |
|
|
|
|
jsonObject.put("descLong", comune.getDenominazione()); |
|
|
|
|
jsonArray.put(jsonObject); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
writeJSON(resourceRequest, resourceResponse, jsonArray); |
|
|
|
|
}else if ("istruttore".equals(resourceId)) { |
|
|
|
|
Integer uoId = ParamUtil.getInteger(resourceRequest, "uoId"); |
|
|
|
|
JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); |
|
|
|
|
if (Validator.isNotNull(uoId) && !uoId.equals("-1")) { |
|
|
|
|
List<Organization> organizationList = OrganizationLocalServiceUtil.getUserOrganizations(user.getUserId()); |
|
|
|
|
List<UserGroupRole> tecniciIstruttori = new ArrayList<UserGroupRole>(); |
|
|
|
|
|
|
|
|
|
for(Organization org : organizationList) { |
|
|
|
|
Role role = RoleLocalServiceUtil.getRole(org.getCompanyId(), "portos_istruttore"); |
|
|
|
|
List<UserGroupRole> istruttori = UserGroupRoleLocalServiceUtil.getUserGroupRolesByGroupAndRole( |
|
|
|
|
org.getGroupId(), role.getRoleId()); |
|
|
|
|
for (UserGroupRole userGroupRole : istruttori) { |
|
|
|
|
User istruttore = userGroupRole.getUser(); |
|
|
|
|
List<Integer> unitaOperativeIstruttore = UnitaOperativeUtil.getUnitaOperative(istruttore); |
|
|
|
|
if(unitaOperativeIstruttore.contains(uoId)){ |
|
|
|
|
if (tecniciIstruttori.isEmpty()) { |
|
|
|
|
tecniciIstruttori.add(userGroupRole); |
|
|
|
|
} else { |
|
|
|
|
boolean isPresent = false; |
|
|
|
|
for(UserGroupRole tecnico : tecniciIstruttori) { |
|
|
|
|
if (tecnico.getUserId() == userGroupRole.getUserId()) { |
|
|
|
|
isPresent = true; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if(!isPresent){ |
|
|
|
|
tecniciIstruttori.add(userGroupRole); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
List<IstruttoreBean> tecniciIstruttoriSorted = new ArrayList<IstruttoreBean>(); |
|
|
|
|
for (UserGroupRole tecnico : tecniciIstruttori) { |
|
|
|
|
IstruttoreBean istruttore = new IstruttoreBean(); |
|
|
|
|
istruttore.setIdIstruttore(tecnico.getUserId()); |
|
|
|
|
istruttore.setDenominazione(tecnico.getUser().getFullName()); |
|
|
|
|
tecniciIstruttoriSorted.add(istruttore); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Collections.sort(tecniciIstruttoriSorted); |
|
|
|
|
|
|
|
|
|
for (IstruttoreBean istruttore : tecniciIstruttoriSorted) { |
|
|
|
|
JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); |
|
|
|
|
jsonObject.put("istruttoreId", istruttore.getIdIstruttore()); |
|
|
|
|
jsonObject.put("descLong", istruttore.getDenominazione()); |
|
|
|
|
jsonArray.put(jsonObject); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
writeJSON(resourceRequest, resourceResponse, jsonArray); |
|
|
|
|
|
|
|
|
|
}else if ("geologo".equals(resourceId)) { |
|
|
|
|
JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); |
|
|
|
|
List<Organization> organizationList = OrganizationLocalServiceUtil.getUserOrganizations(user.getUserId()); |
|
|
|
|
List<User> geologi = new ArrayList<User>(); |
|
|
|
|
|
|
|
|
|
for(Organization org : organizationList) { |
|
|
|
|
Role role = RoleLocalServiceUtil.getRole(org.getCompanyId(), "portos_geologo"); |
|
|
|
|
List<User> geologiUsers = UserLocalServiceUtil.getRoleUsers(role.getRoleId()); |
|
|
|
|
|
|
|
|
|
for (User userGroupRole : geologiUsers) { |
|
|
|
|
if (geologi.isEmpty()) { |
|
|
|
|
geologi.add(userGroupRole); |
|
|
|
|
} else { |
|
|
|
|
boolean isPresent = false; |
|
|
|
|
for(User geo : geologi) { |
|
|
|
|
if (geo.getUserId() == userGroupRole.getUserId()) { |
|
|
|
|
isPresent = true; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if(!isPresent){ |
|
|
|
|
geologi.add(userGroupRole); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (User geo : geologi) { |
|
|
|
|
JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); |
|
|
|
|
jsonObject.put("geologoId", geo.getUserId()); |
|
|
|
|
jsonObject.put("descLong", geo.getFullName()); |
|
|
|
|
jsonArray.put(jsonObject); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
writeJSON(resourceRequest, resourceResponse, jsonArray); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}catch (Exception e) { |
|
|
|
|
_log.error(e, e); |
|
|
|
|
throw new IOException(e); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
super.serveResource(resourceRequest, resourceResponse); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|