From 2b24d862ea7c57e6fe43db87e4fa676004d7e9aa Mon Sep 17 00:00:00 2001 From: Balaji <104271023+tbalaji0001@users.noreply.github.com> Date: Fri, 10 Nov 2023 11:53:41 +0530 Subject: [PATCH] MTM - Mayor Petition & Complaints Mayor Petitions and Complaints Resources, Controller & data added --- .../mtm/controller/APIController.java | 11 + .../mtm/controller/MayorController.java | 121 ++- .../gccoffice/mtm/data/Petition.java | 3 - .../gccoffice/mtm/data/PetitionComplaint.java | 461 ++++++++++++ src/main/resources/.DS_Store | Bin 6148 -> 6148 bytes src/main/resources/application.properties | 11 +- src/main/resources/static/.DS_Store | Bin 8196 -> 8196 bytes src/main/resources/static/assets/.DS_Store | Bin 12292 -> 12292 bytes .../static/assets/images/logo-sm.png | Bin 0 -> 16364 bytes src/main/resources/static/assets/js/.DS_Store | Bin 8196 -> 8196 bytes .../static/assets/node_modules/.DS_Store | Bin 14340 -> 14340 bytes .../assets/node_modules/datatable/.DS_Store | Bin 0 -> 8196 bytes .../datatable/DataTables-1.13.6/.DS_Store | Bin 0 -> 6148 bytes src/main/resources/templates/.DS_Store | Bin 8196 -> 6148 bytes .../resources/templates/fragments/.DS_Store | Bin 6148 -> 6148 bytes .../fragments/modules/base/head.html | 15 + .../fragments/modules/base/script.html | 56 ++ .../modules/mtm/event_search_form.html | 22 + .../fragments/modules/mtm/modal-box.html | 119 +++ .../fragments/modules/mtm/script.html | 709 ++++++++++++++++++ .../resources/templates/modules/.DS_Store | Bin 8196 -> 8196 bytes .../templates/modules/mtm/index.html | 237 ++++++ .../modules/mtm/mayor/by-event-list.html | 204 +++++ .../modules/mtm/mayor/complaint-list.html | 208 +++++ .../mtm/mayor/completed-complaint-list.html | 208 +++++ .../mtm/mayor/completed-petition-list.html | 185 +++++ .../templates/modules/mtm/mayor/index.html | 238 ++++++ .../mtm/mayor/partial-petition-list.html | 185 +++++ .../mtm/mayor/pending-complaint-list.html | 208 +++++ .../mtm/mayor/pending-petition-list.html | 185 +++++ .../modules/mtm/mayor/petition-list.html | 185 +++++ .../templates/modules/mtm/officer/index.html | 237 ++++++ .../templates/modules/qrfeedback/.DS_Store | Bin 6148 -> 6148 bytes 33 files changed, 3796 insertions(+), 12 deletions(-) create mode 100644 src/main/java/in/gov/chennaicorporation/gccoffice/mtm/data/PetitionComplaint.java create mode 100644 src/main/resources/static/assets/images/logo-sm.png create mode 100644 src/main/resources/static/assets/node_modules/datatable/.DS_Store create mode 100644 src/main/resources/static/assets/node_modules/datatable/DataTables-1.13.6/.DS_Store create mode 100644 src/main/resources/templates/fragments/modules/mtm/event_search_form.html create mode 100644 src/main/resources/templates/fragments/modules/mtm/modal-box.html create mode 100644 src/main/resources/templates/fragments/modules/mtm/script.html create mode 100644 src/main/resources/templates/modules/mtm/index.html create mode 100644 src/main/resources/templates/modules/mtm/mayor/by-event-list.html create mode 100644 src/main/resources/templates/modules/mtm/mayor/complaint-list.html create mode 100644 src/main/resources/templates/modules/mtm/mayor/completed-complaint-list.html create mode 100644 src/main/resources/templates/modules/mtm/mayor/completed-petition-list.html create mode 100644 src/main/resources/templates/modules/mtm/mayor/index.html create mode 100644 src/main/resources/templates/modules/mtm/mayor/partial-petition-list.html create mode 100644 src/main/resources/templates/modules/mtm/mayor/pending-complaint-list.html create mode 100644 src/main/resources/templates/modules/mtm/mayor/pending-petition-list.html create mode 100644 src/main/resources/templates/modules/mtm/mayor/petition-list.html create mode 100644 src/main/resources/templates/modules/mtm/officer/index.html diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/controller/APIController.java b/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/controller/APIController.java index e477b78..f4e9a79 100644 --- a/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/controller/APIController.java +++ b/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/controller/APIController.java @@ -105,4 +105,15 @@ public class APIController { return bodyMessage; } + + @GetMapping(value = "/getComMappingDetailsByMapId") + public String getComMappingDetailsByMapId(@RequestParam String mapid) { + String baseURL = appConfig.mtm+"/api/getComMappingDetailsByMapId"; + UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromUriString(baseURL) + .queryParam("mapid", mapid); + + ResponseEntity response = restTemplate.getForEntity(uriComponentsBuilder.toUriString(),String.class); + bodyMessage = response.getBody().trim(); + return bodyMessage; + } } diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/controller/MayorController.java b/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/controller/MayorController.java index e54572b..47d7c97 100644 --- a/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/controller/MayorController.java +++ b/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/controller/MayorController.java @@ -8,6 +8,8 @@ import javax.websocket.Session; import org.apache.catalina.User; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -17,11 +19,14 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponentsBuilder; +import com.fasterxml.jackson.databind.JsonNode; + import in.gov.chennaicorporation.gccoffice.configuration.AppConfig; import in.gov.chennaicorporation.gccoffice.controller.login; import in.gov.chennaicorporation.gccoffice.mtm.data.MtmComplaintTypes; import in.gov.chennaicorporation.gccoffice.mtm.data.MtmEvent; import in.gov.chennaicorporation.gccoffice.mtm.data.Petition; +import in.gov.chennaicorporation.gccoffice.mtm.data.PetitionComplaint; import in.gov.chennaicorporation.gccoffice.petregistration.data.RequestList; import in.gov.chennaicorporation.gccoffice.qrassetfeedback.data.Asset; import in.gov.chennaicorporation.gccoffice.qrassetfeedback.data.AssetCategory; @@ -71,12 +76,13 @@ public class MayorController { baseUrl = appConfig.mtm + "/api/event-list"; MtmEvent[] mtmEventsList = restTemplate.getForObject(baseUrl, MtmEvent[].class); model.addAttribute("mtmEventsList",mtmEventsList); - + /* baseUrl = appConfig.mtm + "/api/complainttypes"; MtmComplaintTypes[] mtmComplaintTypesList = restTemplate.getForObject(baseUrl, MtmComplaintTypes[].class); model.addAttribute("complaintTypesList",mtmComplaintTypesList); //System.out.println("Length: "+mtmComplaintTypesList.length); + */ return basePath+"/petition-list"; } @@ -98,12 +104,13 @@ public class MayorController { baseUrl = appConfig.mtm + "/api/event-list"; MtmEvent[] mtmEventsList = restTemplate.getForObject(baseUrl, MtmEvent[].class); model.addAttribute("mtmEventsList",mtmEventsList); - + /* baseUrl = appConfig.mtm + "/api/complainttypes"; MtmComplaintTypes[] mtmComplaintTypesList = restTemplate.getForObject(baseUrl, MtmComplaintTypes[].class); model.addAttribute("complaintTypesList",mtmComplaintTypesList); - //System.out.println("Length: "+mtmComplaintTypesList.length); + //System.out.println("Length: "+mtmComplaintTypesList.length); + */ return basePath+"/completed-petition-list"; } @@ -125,12 +132,14 @@ public class MayorController { baseUrl = appConfig.mtm + "/api/event-list"; MtmEvent[] mtmEventsList = restTemplate.getForObject(baseUrl, MtmEvent[].class); model.addAttribute("mtmEventsList",mtmEventsList); - + /* baseUrl = appConfig.mtm + "/api/complainttypes"; MtmComplaintTypes[] mtmComplaintTypesList = restTemplate.getForObject(baseUrl, MtmComplaintTypes[].class); model.addAttribute("complaintTypesList",mtmComplaintTypesList); //System.out.println("Length: "+mtmComplaintTypesList.length); + + */ return basePath+"/partial-petition-list"; } @@ -152,12 +161,112 @@ public class MayorController { baseUrl = appConfig.mtm + "/api/event-list"; MtmEvent[] mtmEventsList = restTemplate.getForObject(baseUrl, MtmEvent[].class); model.addAttribute("mtmEventsList",mtmEventsList); - + /* baseUrl = appConfig.mtm + "/api/complainttypes"; MtmComplaintTypes[] mtmComplaintTypesList = restTemplate.getForObject(baseUrl, MtmComplaintTypes[].class); model.addAttribute("complaintTypesList",mtmComplaintTypesList); - //System.out.println("Length: "+mtmComplaintTypesList.length); + //System.out.println("Length: "+mtmComplaintTypesList.length); + * + */ return basePath+"/pending-petition-list"; } + + @GetMapping({"/complaint-list"}) + public String showComplaintList(Model model,HttpSession session) { + + String eventid = "0"; + + if(session.getAttribute("eventid")!= null && !session.getAttribute("eventid").equals("0")){ + eventid = session.getAttribute("eventid").toString(); + } + String baseUrl = appConfig.mtm + "/api/mayor/complaint-list"; + UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(baseUrl) + .queryParam("mtmid",eventid); + PetitionComplaint[] petitionList = restTemplate.getForObject(builder.toUriString(), PetitionComplaint[].class); + model.addAttribute("petitionlist",petitionList); + + baseUrl = appConfig.mtm + "/api/event-list"; + MtmEvent[] mtmEventsList = restTemplate.getForObject(baseUrl, MtmEvent[].class); + model.addAttribute("mtmEventsList",mtmEventsList); + /* + baseUrl = appConfig.mtm + "/api/complainttypes"; + MtmComplaintTypes[] mtmComplaintTypesList = restTemplate.getForObject(baseUrl, MtmComplaintTypes[].class); + model.addAttribute("complaintTypesList",mtmComplaintTypesList); + */ + + return basePath+"/complaint-list"; + } + + @GetMapping({"/completed-complaint-list"}) + public String showCompletedComplaintList(Model model,HttpSession session) { + + String eventid = "0"; + + if(session.getAttribute("eventid")!= null && !session.getAttribute("eventid").equals("0")){ + eventid = session.getAttribute("eventid").toString(); + } + String baseUrl = appConfig.mtm + "/api/mayor/completed-complaint-list"; + UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(baseUrl) + .queryParam("mtmid",eventid); + PetitionComplaint[] petitionList = restTemplate.getForObject(builder.toUriString(), PetitionComplaint[].class); + model.addAttribute("petitionlist",petitionList); + + baseUrl = appConfig.mtm + "/api/event-list"; + MtmEvent[] mtmEventsList = restTemplate.getForObject(baseUrl, MtmEvent[].class); + model.addAttribute("mtmEventsList",mtmEventsList); + /* + baseUrl = appConfig.mtm + "/api/complainttypes"; + MtmComplaintTypes[] mtmComplaintTypesList = restTemplate.getForObject(baseUrl, MtmComplaintTypes[].class); + model.addAttribute("complaintTypesList",mtmComplaintTypesList); + */ + + return basePath+"/completed-complaint-list"; + } + + @GetMapping({"/pending-complaint-list"}) + public String showPendingComplaintList(Model model,HttpSession session) { + + String eventid = "0"; + + if(session.getAttribute("eventid")!= null && !session.getAttribute("eventid").equals("0")){ + eventid = session.getAttribute("eventid").toString(); + } + String baseUrl = appConfig.mtm + "/api/mayor/pending-complaint-list"; + UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(baseUrl) + .queryParam("mtmid",eventid); + PetitionComplaint[] petitionList = restTemplate.getForObject(builder.toUriString(), PetitionComplaint[].class); + model.addAttribute("petitionlist",petitionList); + + baseUrl = appConfig.mtm + "/api/event-list"; + MtmEvent[] mtmEventsList = restTemplate.getForObject(baseUrl, MtmEvent[].class); + model.addAttribute("mtmEventsList",mtmEventsList); + /* + baseUrl = appConfig.mtm + "/api/complainttypes"; + MtmComplaintTypes[] mtmComplaintTypesList = restTemplate.getForObject(baseUrl, MtmComplaintTypes[].class); + model.addAttribute("complaintTypesList",mtmComplaintTypesList); + */ + return basePath+"/completed-complaint-list"; + } + + @GetMapping({"/by-event-list"}) + public String showEventListReport(Model model,HttpSession session) { + + String eventid = "0"; + + if(session.getAttribute("eventid")!= null && !session.getAttribute("eventid").equals("0")){ + eventid = session.getAttribute("eventid").toString(); + } + String baseUrl = appConfig.mtm + "/api/mayor/by-event-list"; + UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(baseUrl) + .queryParam("mtmid",eventid); + MtmEvent[] mtmEventsTableList = restTemplate.getForObject(builder.toUriString(), MtmEvent[].class); + model.addAttribute("mtmEventsTableList",mtmEventsTableList); + + baseUrl = appConfig.mtm + "/api/event-list"; + MtmEvent[] mtmEventsList = restTemplate.getForObject(baseUrl, MtmEvent[].class); + model.addAttribute("mtmEventsList",mtmEventsList); + + return basePath+"/by-event-list"; + } } \ No newline at end of file diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/data/Petition.java b/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/data/Petition.java index 569ba31..cc300f7 100644 --- a/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/data/Petition.java +++ b/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/data/Petition.java @@ -3,9 +3,6 @@ package in.gov.chennaicorporation.gccoffice.mtm.data; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; -import in.gov.chennaicorporation.gccoffice.qrassetfeedback.data.AssetParameterQuestions.AssetCategory; -import in.gov.chennaicorporation.gccoffice.qrassetfeedback.data.AssetParameterQuestions.AssetParameter; - public class Petition { private Long petitionId; private MtmEvents mtmEvents; diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/data/PetitionComplaint.java b/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/data/PetitionComplaint.java new file mode 100644 index 0000000..b9a9aa4 --- /dev/null +++ b/src/main/java/in/gov/chennaicorporation/gccoffice/mtm/data/PetitionComplaint.java @@ -0,0 +1,461 @@ +package in.gov.chennaicorporation.gccoffice.mtm.data; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +public class PetitionComplaint { + private int mapId; + private String petitionNumber; + private MtmEventsPetitionId mtmEventsPetitionId; + private MtmEvents mtmEvents; + private String offID; + private String status; + private MtmComplaintTypes mtmComplaintTypes; + private boolean isDelete; + private boolean isActive; + private int createdBy; + private String cDate; + private String officer_name; + private String event_name; + private Integer officer_petition_count; + private Integer officer_completed_count; + private Integer officer_pending_count; + + // Getters and setters for the above fields + + public int getMapId() { + return mapId; + } + + public void setMapId(int mapId) { + this.mapId = mapId; + } + + public String getPetitionNumber() { + return petitionNumber; + } + + public void setPetitionNumber(String petitionNumber) { + this.petitionNumber = petitionNumber; + } + + public MtmEventsPetitionId getMtmEventsPetitionId() { + return mtmEventsPetitionId; + } + + public void setMtmEventsPetitionId(MtmEventsPetitionId mtmEventsPetitionId) { + this.mtmEventsPetitionId = mtmEventsPetitionId; + } + + public MtmEvents getMtmEvents() { + return mtmEvents; + } + + public void setMtmEvents(MtmEvents mtmEvents) { + this.mtmEvents = mtmEvents; + } + + public String getOffID() { + return offID; + } + + public void setOffID(String offID) { + this.offID = offID; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public MtmComplaintTypes getMtmComplaintTypes() { + return mtmComplaintTypes; + } + + public void setMtmComplaintTypes(MtmComplaintTypes mtmComplaintTypes) { + this.mtmComplaintTypes = mtmComplaintTypes; + } + + public boolean isDelete() { + return isDelete; + } + + public void setDelete(boolean isDelete) { + this.isDelete = isDelete; + } + + public boolean isActive() { + return isActive; + } + + public void setActive(boolean isActive) { + this.isActive = isActive; + } + + public int getCreatedBy() { + return createdBy; + } + + public void setCreatedBy(int createdBy) { + this.createdBy = createdBy; + } + + public String getcDate() { + return cDate; + } + + public void setcDate(String cDate) { + this.cDate = cDate; + } + + public String getOfficer_name() { + return officer_name; + } + + public void setOfficer_name(String officer_name) { + this.officer_name = officer_name; + } + + public String getEvent_name() { + return event_name; + } + + public void setEvent_name(String event_name) { + this.event_name = event_name; + } + + public Integer getOfficer_petition_count() { + return officer_petition_count; + } + + public void setOfficer_petition_count(Integer officer_petition_count) { + this.officer_petition_count = officer_petition_count; + } + + public Integer getOfficer_completed_count() { + return officer_completed_count; + } + + public void setOfficer_completed_count(Integer officer_completed_count) { + this.officer_completed_count = officer_completed_count; + } + + public Integer getOfficer_pending_count() { + return officer_pending_count; + } + + public void setOfficer_pending_count(Integer officer_pending_count) { + this.officer_pending_count = officer_pending_count; + } + + public static class MtmEventsPetitionId { + private int petitionId; + private MtmEvents mtmEvents; + private String petitionNumber; + private String petitionerName; + private long petitionerMobile; + private String petitionerComplaint; + private String petitionerAddress; + private String petitionerPincode; + private String petitionerNatureOfComplaint; + private String tableNo; + private boolean isDelete; + private boolean isActive; + private long createdBy; + private String cDate; + private String status; + private String petitionerComplaint_txt; + + // Getters and setters for the above fields + public int getPetitionId() { + return petitionId; + } + public void setPetitionId(int petitionId) { + this.petitionId = petitionId; + } + public MtmEvents getMtmEvents() { + return mtmEvents; + } + public void setMtmEvents(MtmEvents mtmEvents) { + this.mtmEvents = mtmEvents; + } + public String getPetitionNumber() { + return petitionNumber; + } + public void setPetitionNumber(String petitionNumber) { + this.petitionNumber = petitionNumber; + } + public String getPetitionerName() { + return petitionerName; + } + public void setPetitionerName(String petitionerName) { + this.petitionerName = petitionerName; + } + public long getPetitionerMobile() { + return petitionerMobile; + } + public void setPetitionerMobile(long petitionerMobile) { + this.petitionerMobile = petitionerMobile; + } + public String getPetitionerComplaint() { + return petitionerComplaint; + } + public void setPetitionerComplaint(String petitionerComplaint) { + this.petitionerComplaint = petitionerComplaint; + } + public String getPetitionerAddress() { + return petitionerAddress; + } + public void setPetitionerAddress(String petitionerAddress) { + this.petitionerAddress = petitionerAddress; + } + public String getPetitionerPincode() { + return petitionerPincode; + } + public void setPetitionerPincode(String petitionerPincode) { + this.petitionerPincode = petitionerPincode; + } + public String getPetitionerNatureOfComplaint() { + return petitionerNatureOfComplaint; + } + public void setPetitionerNatureOfComplaint(String petitionerNatureOfComplaint) { + this.petitionerNatureOfComplaint = petitionerNatureOfComplaint; + } + public String getTableNo() { + return tableNo; + } + public void setTableNo(String tableNo) { + this.tableNo = tableNo; + } + public boolean isDelete() { + return isDelete; + } + public void setDelete(boolean isDelete) { + this.isDelete = isDelete; + } + public boolean isActive() { + return isActive; + } + public void setActive(boolean isActive) { + this.isActive = isActive; + } + public long getCreatedBy() { + return createdBy; + } + public void setCreatedBy(long createdBy) { + this.createdBy = createdBy; + } + public String getcDate() { + return cDate; + } + public void setcDate(String cDate) { + this.cDate = cDate; + } + public String getStatus() { + return status; + } + public void setStatus(String status) { + this.status = status; + } + public String getPetitionerComplaint_txt() { + return petitionerComplaint_txt; + } + public void setPetitionerComplaint_txt(String petitionerComplaint_txt) { + this.petitionerComplaint_txt = petitionerComplaint_txt; + } + + + } + + public static class MtmEvents { + private int mtmId; + private String eventName; + private String eventAddress; + private String eventDate; + private String zone; + private String ackNo; + private long startPetId; + private boolean isDelete; + private boolean isActive; + private long createdBy; + private String cDate; + private String event_date; + private Long total_petitions; + private Long petitions_completed; + private Long petition_partially_completed; + private Long petitions_pending; + private Long total_compliants; + private Long compliants_completed; + private Long compliants_pending; + + + // Getters and setters for the above fields + public int getMtmId() { + return mtmId; + } + public void setMtmId(int mtmId) { + this.mtmId = mtmId; + } + public String getEventName() { + return eventName; + } + public void setEventName(String eventName) { + this.eventName = eventName; + } + public String getEventAddress() { + return eventAddress; + } + public void setEventAddress(String eventAddress) { + this.eventAddress = eventAddress; + } + public String getEventDate() { + return eventDate; + } + public void setEventDate(String eventDate) { + this.eventDate = eventDate; + } + public String getZone() { + return zone; + } + public void setZone(String zone) { + this.zone = zone; + } + public String getAckNo() { + return ackNo; + } + public void setAckNo(String ackNo) { + this.ackNo = ackNo; + } + public long getStartPetId() { + return startPetId; + } + public void setStartPetId(long startPetId) { + this.startPetId = startPetId; + } + public boolean isDelete() { + return isDelete; + } + public void setDelete(boolean isDelete) { + this.isDelete = isDelete; + } + public boolean isActive() { + return isActive; + } + public void setActive(boolean isActive) { + this.isActive = isActive; + } + public long getCreatedBy() { + return createdBy; + } + public void setCreatedBy(long createdBy) { + this.createdBy = createdBy; + } + public String getcDate() { + return cDate; + } + public void setcDate(String cDate) { + this.cDate = cDate; + } + public String getEvent_date() { + return event_date; + } + public void setEvent_date(String event_date) { + this.event_date = event_date; + } + public Long getTotal_petitions() { + return total_petitions; + } + public void setTotal_petitions(Long total_petitions) { + this.total_petitions = total_petitions; + } + public Long getPetitions_completed() { + return petitions_completed; + } + public void setPetitions_completed(Long petitions_completed) { + this.petitions_completed = petitions_completed; + } + public Long getPetition_partially_completed() { + return petition_partially_completed; + } + public void setPetition_partially_completed(Long petition_partially_completed) { + this.petition_partially_completed = petition_partially_completed; + } + public Long getPetitions_pending() { + return petitions_pending; + } + public void setPetitions_pending(Long petitions_pending) { + this.petitions_pending = petitions_pending; + } + public Long getTotal_compliants() { + return total_compliants; + } + public void setTotal_compliants(Long total_compliants) { + this.total_compliants = total_compliants; + } + public Long getCompliants_completed() { + return compliants_completed; + } + public void setCompliants_completed(Long compliants_completed) { + this.compliants_completed = compliants_completed; + } + public Long getCompliants_pending() { + return compliants_pending; + } + public void setCompliants_pending(Long compliants_pending) { + this.compliants_pending = compliants_pending; + } + + + } + + public static class MtmComplaintTypes { + private int complaintTypeId; + private String complaintType; + private boolean isDelete; + private boolean isActive; + private int createdBy; + private String cDate; + + // Getters and setters for the above fields + public int getComplaintTypeId() { + return complaintTypeId; + } + public void setComplaintTypeId(int complaintTypeId) { + this.complaintTypeId = complaintTypeId; + } + public String getComplaintType() { + return complaintType; + } + public void setComplaintType(String complaintType) { + this.complaintType = complaintType; + } + public boolean isDelete() { + return isDelete; + } + public void setDelete(boolean isDelete) { + this.isDelete = isDelete; + } + public boolean isActive() { + return isActive; + } + public void setActive(boolean isActive) { + this.isActive = isActive; + } + public int getCreatedBy() { + return createdBy; + } + public void setCreatedBy(int createdBy) { + this.createdBy = createdBy; + } + public String getcDate() { + return cDate; + } + public void setcDate(String cDate) { + this.cDate = cDate; + } + + } +} \ No newline at end of file diff --git a/src/main/resources/.DS_Store b/src/main/resources/.DS_Store index 40d0542ad425066e77e6290449c54912a58f2ea0..cdfabfdfc32350722c2e7a5416345b1179872155 100644 GIT binary patch delta 21 dcmZoMXffEp%{qA(+pf*WSRI)*vvK_62LM;=2gLvY delta 90 zcmZoMXffEp%__V-sURn_xWvHV8Y2@k3o9Et2m53>)@Usb&UgXw>S|+46CDMES{;RI uLjw~t9R&+>)7n~24pC)&>!A4ToZP(p&dCAn@{C=Z53#y1ZD!~A%MSn-pBL`{ diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 0b04585..4e2a10e 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,8 +2,8 @@ server.port = 8064 #server.servlet.context-path=/gccoffice server.error.include-stacktrace= on_param # Hibernate logging -logging.level.org.hibernate.SQL=DEBUG -logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE +#logging.level.org.hibernate.SQL=DEBUG +#logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE # Enable CORS globally for all endpoints spring.webmvc.cors.enabled=true @@ -28,4 +28,9 @@ server.servlet.session.tracking-modes=COOKIE file.upload.directory=${user.dir}/gccoffice_uploads -server.address=0.0.0.0 \ No newline at end of file +server.address=0.0.0.0 + +server.servlet.session.timeout: 30m +server.servlet.session.cookie.name: MYSESSIONID +server.servlet.session.cookie.max-age: 1800s + diff --git a/src/main/resources/static/.DS_Store b/src/main/resources/static/.DS_Store index 313b62ae021ea0cf7a822845938a76008717d489..fc365383ff68f85e3946a83336a208574c1d66bf 100644 GIT binary patch delta 89 zcmZp1XmQvOEFiossURn_xWvHV8Y2@k3o9Et2gl?zfoM%m&UgW_>S|*H6CDMES{;RI tOA|941q*Z2+FDKyQDuGWp!n>Z+`Rmb$*%?E89O&~3o0;g))KkJ4FEsL7+(MY delta 90 zcmZp1XmQvOEFio+sURn_xWvHV8Y2@k3o9Et2m9nSfoLrb&UgXw>S|+46CDMES{;RI uLjw~t9R&+>)7n~24pC)&>!A4ToZP(p&dIL?{orpX10$*97UA1GQ(zNJzyIZm+@Q)c31 z$;onRrcBb3lS9?+NJnHQ=jR1yR;9)Z@E2#~mwN)a0Y#~0nW^QIebhBH8!s?`0EY;e zLJ*9cA$j?Esmcxk5HZflbJZ0Y1t#xT7iTP*d|h2(^EdSn)`4{bUok@oLnT8FLn=dY HS#S{mc*<7G delta 265 zcmZokXi3;`S#k1uao5cfN>WUd=PM;lUL)=?`Ibt-&P?TDhnOYu^31kOnR;5n%R@cyM_`m=H93o%}K`?TL1rb{LkUAALk>eKLvdMf5ddmUNY4NO diff --git a/src/main/resources/static/assets/images/logo-sm.png b/src/main/resources/static/assets/images/logo-sm.png new file mode 100644 index 0000000000000000000000000000000000000000..ad13bc19e83a6efad7dbb6aca4d18cba297d513f GIT binary patch literal 16364 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 diff --git a/src/main/resources/static/assets/node_modules/.DS_Store b/src/main/resources/static/assets/node_modules/.DS_Store index 4ae819b7c528b2f98bae91c91f363fb342c8e372..137c7857a5adca03d8118d30b7e996060271a680 100644 GIT binary patch delta 30 lcmZoEXerpxuET3=V4|a7P^+U*ZE0dQxlqV#^C=xGZUCEn35@^% delta 16 XcmZoEXerpxt}~fS(0TJI9V>1CI=cod diff --git a/src/main/resources/static/assets/node_modules/datatable/.DS_Store b/src/main/resources/static/assets/node_modules/datatable/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..7a32a99628ea911d7157cb70d2fe908b711e57b5 GIT binary patch literal 8196 zcmeHMTTc@~6g~r}+W@u2OYp&D6JMdWa?|)y3f^Co5>31Ww-;q$*(KeUN(iQp8vlcT z!8iYj{uiJ0J2O++-EO0X#E>vUX3lmy-mf>vX(t1W$M5nO903*+?Ea3r~@R%*0QW+Pe}=dPE|b!4Hde?5DJd(ZJrKU*0QIh zf|F2i5_)B!D-FvtMc?pa!<4z($W)$avbqyiNmctO491vSj$ z&{{?>{FDt>M3YpJSVsF4%F4e$^FWpo$S(^~cG&SY=j4#m~#>My!#HWAPQ0s=f`t)CGyPg}ii^cC^WOVGz*>jdACJezPS3Zlj4QFQ2)7Bj{Fwj^79+ zwyM6cGMUUq?()IGTycKJE*{R<2e;-IXY89x3x|gp>(aIBx7Rkdy&XUJfHR>9ofct_ zc>9Qtf5FsVwdH$(|CUvuXJHM+E%V#wwm@|-941)(f%$QdNXKp^kt4iX6gf3y)g8Q5 z@?p=E)knT1bmae_V_+B3qd!MHI;;Jv3BPh_2VSLoa)JFSes*G?j$)@|1ib^Mp}o5U z4Js};CfF+z5heXPsv{rKaUYr-=u(lvXx5U{zPjmf$XZZX7W3FQ0h5^ICNoGKdtyWhn*kS)iWOB1yYuo6r(Yf)wo{|!R uL6+l?vK)u}{SQN2+nCCjvX(t1aR=?czX&+0UCi_U=vRb!{!4E>J;N_!pBDxI literal 0 HcmV?d00001 diff --git a/src/main/resources/static/assets/node_modules/datatable/DataTables-1.13.6/.DS_Store b/src/main/resources/static/assets/node_modules/datatable/DataTables-1.13.6/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4fd2d0493990ddf7d7e5886a985ba3358d7eb513 GIT binary patch literal 6148 zcmeHK&1%~~5T3Q&REjD1(3D;Zf?iGPQnyX$MRk%xu2D%2NpL0GxN2o>u;lt+3_7+? zlUpApuanHojv=y}Q=k;F1GC@m{H&M{c2@%csy7?H1!w_)gG$)g#^EnQe$ox8iN!@! zw1*xkZ+gY&;SO)%g2I%b8VE`Fq$4Tk@en!vkEejVRQPDiRl2iUCx=P|K?{scd zt=@RD_0(~krgIs5)AJw?^I6slr{}c#qID9j=3#UikLLZ>^8=mcVVsVpoDdI37;&0U6uG4LMon_lw>~}x3y}gg`mrK{#dHv?oN&iPON%b#7 zxxyQX<(c3Le&a-H`58>pM5kl4Q1lkWFo6)pFxp__8vXa#D8*KSlTt-%%+%ofIwR`U z8Y3K22`0FbH3qQQ%88s1r&+nmY(bU*%fMq9p!>l?CG-UggM4-1z%2k`1I;Wr=bwK> zj|_;uU||p~D9WTFnp7n%hLYYvnRN8~5?>fJ>7e+_xQ~2UNr$4O^-vy%gYpg9(K28e zC^Jwu%ND)=M-TV^`? za5m%QPr?xsOZ^wKb8rYU0~G^-05_0u1?k&Z_?>w&zl delta 313 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aMAD6lbLH}hr%jz7$c**Q2SHn1=X zOy*(vFT5kEASbi9#K7PhBNHF;9!J=4a4Smo;l0_uCPb< diff --git a/src/main/resources/templates/fragments/.DS_Store b/src/main/resources/templates/fragments/.DS_Store index 5f9996b3f3e24c528562b0c1c21945373ef3cec2..dd04de508c852664c8a529eeb66c4096e6cfaed2 100644 GIT binary patch delta 89 zcmZoMXffCj&Lq4osURn_xWvHV8Y2@k3o9Et2gl?rrf5x0&UgW_>S|*H6CDMES{;RI tOA|941q*Z2+FDKyQDuGWp!n>Z+`Rmb$sd^H89O%%Fn?#+%*yef9{@BP80i22 delta 91 zcmZoMXffCj&Lq4esURn_xWvHV8Y2@k3o9Et2m9nKrf6*r&UgWd>S{xC104k;bIV#C ug=$M9Alt;)thSbuLsVJcIw(FnCpRy@Yw|lLdB*O|e9YfjHnVg5C>c=z diff --git a/src/main/resources/templates/fragments/modules/base/head.html b/src/main/resources/templates/fragments/modules/base/head.html index 2fac858..00b8658 100644 --- a/src/main/resources/templates/fragments/modules/base/head.html +++ b/src/main/resources/templates/fragments/modules/base/head.html @@ -85,5 +85,20 @@ .custom-tooltip-warning .tooltip.bs-tooltip-left .arrow:before { border-left-color: #fb6340; } + + .form-label{ + font-weight: bold !important; + } + .modal-header{ + color:#fff !important; + background-color: #404E67 !important; + } + .bg-modal-title{ + background-color: rgb(220, 221, 226) !important; + } + + .close{ + color: #fff !important; + } \ No newline at end of file diff --git a/src/main/resources/templates/fragments/modules/base/script.html b/src/main/resources/templates/fragments/modules/base/script.html index f9c6465..9c3cd69 100644 --- a/src/main/resources/templates/fragments/modules/base/script.html +++ b/src/main/resources/templates/fragments/modules/base/script.html @@ -86,6 +86,62 @@ function call_loading(div,action){ $(divID).html(loadingimage) } } + +// Date format +function convertdate(date_txt){ + var datetxt = date_txt; + var date = new Date(datetxt); + + // Extract the date components + var day = date.getDate(); + var month = date.getMonth() + 1; // Month starts from 0, so add 1 + var year = date.getFullYear(); + + // Extract the time components + var hours = date.getHours(); + var minutes = date.getMinutes(); + + // Determine if it's AM or PM + var period = hours >= 12 ? 'PM' : 'AM'; + + // Adjust the hours to 12-hour format + hours = hours % 12; + hours = hours ? hours : 12; // Handle the case when hours is 0 + + // Format the date and time string + //var formattedDate = `${day}/${month}/${year}`; + //var formattedTime = `${hours}:${minutes.toString().padStart(2, '0')} ${period}`; + + // Format the date and time strings + var formattedDate = `${day.toString().padStart(2, '0')}-${month.toString().padStart(2, '0')}-${year}`; + var formattedTime = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')} ${period}`; + + // Concatenate the formatted date and time + var formattedDateTime = `${formattedDate} ${formattedTime}`; + + return formattedDateTime; +} + +function date_difference(fromdate,todate,type='time'){ + + // Parse the date strings into moment objects with the specified format + var startDate = moment(fromdate, 'DD-MM-YYYY hh:mm A'); + var endDate = moment(todate, 'DD-MM-YYYY hh:mm A'); + + // Calculate the difference in days + var daysDifference = endDate.diff(startDate, 'days'); + + // Calculate the remaining time components (hours, minutes) + var duration = moment.duration(endDate - startDate); + var hoursDifference = duration.hours(); + var minutesDifference = duration.minutes(); + // Display the result + if(type=='days'){ + return daysDifference + ' days'; + }else{ + return (hoursDifference) + ' hours and ' + (minutesDifference) + ' minutes'; + } +} + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/fragments/modules/mtm/script.html b/src/main/resources/templates/fragments/modules/mtm/script.html new file mode 100644 index 0000000..ed637ed --- /dev/null +++ b/src/main/resources/templates/fragments/modules/mtm/script.html @@ -0,0 +1,709 @@ + \ No newline at end of file diff --git a/src/main/resources/templates/modules/.DS_Store b/src/main/resources/templates/modules/.DS_Store index f85495b52bc5d6a625a6900ecd332415d56ee521..44403039386a84785d7c502fb928ec2a790340b2 100644 GIT binary patch delta 122 zcmZp1XmOa}&&aniU^hP_-{c2^YLkrwd>MC5ZV)IGk*cmXG&j~!&^0tPs?|}bHZ(A| zoXjXF!q_v}OIV(<7p&Yy$dfq_AHbDfYG)8rLGM<;(45#=chF3QWv&r1i&FisW_ Xlbf6*D!;Lehj}x*#5b0W73|CaqYWdA delta 470 zcmZp1XmOa}&nU4mU^hRb#AH7KwaIrx_$E6D*iXJLxNCBtfU-bNx?yl~er^E+2rxD5 z0x1&7&3AE0%E?ax3UP2OoO|$RtP3)r+&@PBX3fvLM5&|f8GB+?x-X~%^`Jjk2 zs`(5@Ie`*#DCU2)YPl5d05l&cF&X3+WC2vaFkIMJc#3f|yTmsZ`Ba7!h9rhWhGd59 L-28!d)Nw`t4fd4Z diff --git a/src/main/resources/templates/modules/mtm/index.html b/src/main/resources/templates/modules/mtm/index.html new file mode 100644 index 0000000..ffa9d79 --- /dev/null +++ b/src/main/resources/templates/modules/mtm/index.html @@ -0,0 +1,237 @@ + + + + + + + + + +
+ + + + + + + + diff --git a/src/main/resources/templates/modules/mtm/mayor/by-event-list.html b/src/main/resources/templates/modules/mtm/mayor/by-event-list.html new file mode 100644 index 0000000..1a7626c --- /dev/null +++ b/src/main/resources/templates/modules/mtm/mayor/by-event-list.html @@ -0,0 +1,204 @@ + + + + + + + +
+ +
+ + +
+ +
+ +
+
+ + +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event InfoPetitionsCompliants
S.NoNameDateTotalCompletedPartiallyPendingTotalCompletedPending
0
Event InfoPetitionsCompliants
S.NoNameDateTotalCompletedPartiallyPendingTotalCompletedPending
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + + + + + diff --git a/src/main/resources/templates/modules/mtm/mayor/complaint-list.html b/src/main/resources/templates/modules/mtm/mayor/complaint-list.html new file mode 100644 index 0000000..2f0a7b8 --- /dev/null +++ b/src/main/resources/templates/modules/mtm/mayor/complaint-list.html @@ -0,0 +1,208 @@ + + + + + + + +
+ +
+ + +
+ +
+ +
+
+ + +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoPetition No.NameMobileAddressType of complaintDepartment(Officer)StatusAction
0 + + Pending + + + Close + + + + + + +
S.NoPetition No.NameMobileAddressType of complaintDepartment(Officer)StatusAction
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + + + + + diff --git a/src/main/resources/templates/modules/mtm/mayor/completed-complaint-list.html b/src/main/resources/templates/modules/mtm/mayor/completed-complaint-list.html new file mode 100644 index 0000000..ca04503 --- /dev/null +++ b/src/main/resources/templates/modules/mtm/mayor/completed-complaint-list.html @@ -0,0 +1,208 @@ + + + + + + + +
+ +
+ + +
+ +
+ +
+
+ + +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoPetition No.NameMobileAddressType of complaintDepartment(Officer)StatusAction
0 + + Pending + + + Close + + + + + + +
S.NoPetition No.NameMobileAddressType of complaintDepartment(Officer)StatusAction
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + + + + + diff --git a/src/main/resources/templates/modules/mtm/mayor/completed-petition-list.html b/src/main/resources/templates/modules/mtm/mayor/completed-petition-list.html new file mode 100644 index 0000000..843c494 --- /dev/null +++ b/src/main/resources/templates/modules/mtm/mayor/completed-petition-list.html @@ -0,0 +1,185 @@ + + + + + + + +
+ +
+ + +
+ +
+ +
+
+ + +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoPetition No.NameMobileAddressPostal codeType of complaintStatusAction
0 + + + + +
S.NoPetition No.NameMobileAddressPostal codeType of complaintStatusAction
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + + + + + diff --git a/src/main/resources/templates/modules/mtm/mayor/index.html b/src/main/resources/templates/modules/mtm/mayor/index.html new file mode 100644 index 0000000..ac26212 --- /dev/null +++ b/src/main/resources/templates/modules/mtm/mayor/index.html @@ -0,0 +1,238 @@ + + + + + + + +
+ +
+ + +
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ +
+ + + + + + + + + diff --git a/src/main/resources/templates/modules/mtm/mayor/partial-petition-list.html b/src/main/resources/templates/modules/mtm/mayor/partial-petition-list.html new file mode 100644 index 0000000..dff3b7d --- /dev/null +++ b/src/main/resources/templates/modules/mtm/mayor/partial-petition-list.html @@ -0,0 +1,185 @@ + + + + + + + +
+ +
+ + +
+ +
+ +
+
+ + +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoPetition No.NameMobileAddressPostal codeType of complaintStatusAction
0 + + + + +
S.NoPetition No.NameMobileAddressPostal codeType of complaintStatusAction
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + + + + + diff --git a/src/main/resources/templates/modules/mtm/mayor/pending-complaint-list.html b/src/main/resources/templates/modules/mtm/mayor/pending-complaint-list.html new file mode 100644 index 0000000..3ef00d7 --- /dev/null +++ b/src/main/resources/templates/modules/mtm/mayor/pending-complaint-list.html @@ -0,0 +1,208 @@ + + + + + + + +
+ +
+ + +
+ +
+ +
+
+ + +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoPetition No.NameMobileAddressType of complaintDepartment(Officer)StatusAction
0 + + Pending + + + Close + + + + + + +
S.NoPetition No.NameMobileAddressType of complaintDepartment(Officer)StatusAction
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + + + + + diff --git a/src/main/resources/templates/modules/mtm/mayor/pending-petition-list.html b/src/main/resources/templates/modules/mtm/mayor/pending-petition-list.html new file mode 100644 index 0000000..f3b8570 --- /dev/null +++ b/src/main/resources/templates/modules/mtm/mayor/pending-petition-list.html @@ -0,0 +1,185 @@ + + + + + + + +
+ +
+ + +
+ +
+ +
+
+ + +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoPetition No.NameMobileAddressPostal codeType of complaintStatusAction
0 + + + + +
S.NoPetition No.NameMobileAddressPostal codeType of complaintStatusAction
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + + + + + diff --git a/src/main/resources/templates/modules/mtm/mayor/petition-list.html b/src/main/resources/templates/modules/mtm/mayor/petition-list.html new file mode 100644 index 0000000..f2d0217 --- /dev/null +++ b/src/main/resources/templates/modules/mtm/mayor/petition-list.html @@ -0,0 +1,185 @@ + + + + + + + +
+ +
+ + +
+ +
+ +
+
+ + +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S.NoPetition No.NameMobileAddressPostal codeType of complaintStatusAction
0 + + + + +
S.NoPetition No.NameMobileAddressPostal codeType of complaintStatusAction
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ + + + + + diff --git a/src/main/resources/templates/modules/mtm/officer/index.html b/src/main/resources/templates/modules/mtm/officer/index.html new file mode 100644 index 0000000..ffa9d79 --- /dev/null +++ b/src/main/resources/templates/modules/mtm/officer/index.html @@ -0,0 +1,237 @@ + + + + + + + +
+ +
+ + +
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ +
+ + + + + + + + diff --git a/src/main/resources/templates/modules/qrfeedback/.DS_Store b/src/main/resources/templates/modules/qrfeedback/.DS_Store index 04190cccf8c537ba20ba0df0420b65d3389be778..1e941f57a4cbf5e3e4c4c5f6878fe23d8136b397 100644 GIT binary patch literal 6148 zcmeHKL2uJA6n@@Hmuy1n0VXb!EOD($5d(&}gfb3X34#Nlk}QFRrEy8p6;xHq5yX$- z#!unDaDwmIp0u_@hzmlMU-kUi&+l{UFNqx!kr+&pn?xNV^5BfEZ4?(6_p`6qhK+0i zg&w1(>T#});#|cm*)HG|a0>iy3h=wzrid#1Qd)d}c~N)(@BP%K|GH0ake5C)FS-UvTTGQh9t< zkK$)pIvsYdJXA#;Wkp(QLYAaRdHFmm5;YyDNs&~V8=4N!_x)jKcQ(7#-|x!)yent- z_V0A%!QI>Qx$j-Qe&ha=;YmI!)F(Yx5?Ix=UAA}zpHaC$iPNwwa#g%VFEh6(qXJ5$ z^nrSG40T78pIaZHme@nyd42cj9lfUsI3;}qD}l;2S~bQR0mndAo%?%;@D+N9;QlR* z{AFq6HnRCX^JwK#?vJHhG@Y%z0`}?lcGiBTZh}q$r@-GT!0UsAGX@qLgL>&ep^pH- z7Q)(4=Z^s9NQ;5R#vpoN!cc*RD(n$M7&_w8<^>iTgN9DR9zKMjO&`}6-I$+esUPJy*jK(r3S!vUsb_turk@m?$8ui@!fDHj}!UG^N zvhextC`psTfP@gTE8lnV*%#-_DXxi#yO)EAs6#{nRIt&;P$RM~T9JmgYyjErF{jz& zB~lO&zwDeS?1wt4fg{j^i{8GP$AJuRLS zgDt2{Bjhlo0j0>OPvhm&^!QxwRm|zyjIR#&Y)&=%W%*}jUwfAGdy)KFlv$?c$nm0d z&N+HrUN7bp-M`)4e(+S-qnOPqpHd!tAbF@L1ImCh@KXj*vqge+hdL?)%78MkU_ibP zAyhE-XdK#42L{^$0Glvd!CZO?i3vT%9*sk+K-h%>T`2n&gIzf6q4$eD8iy{N*f$^S z@65hKVS9J%A6j?f*rATffHF{KV9i~2r2g-&?*Gd{dZi2~1OJKvZYI5?i%0UcweoOM tYeVP}R7CuY!$k-twiLrxO7Rxd3hbdwfU!s85Eh935wJAqpbY#f1MlRXb9Mj#