commit
de9cd022d5
10407 changed files with 501474 additions and 0 deletions
-
BIN.DS_Store
-
BIN._.DS_Store
-
BIN._.gitignore
-
BIN._.idea
-
BIN._.mvn
-
BIN._HELP.md
-
BIN._mvnw
-
BIN._mvnw.cmd
-
BIN._pom.xml
-
BIN._src
-
BIN._target
-
33.gitignore
-
BIN.mvn/._wrapper
-
BIN.mvn/wrapper/._maven-wrapper.jar
-
BIN.mvn/wrapper/._maven-wrapper.properties
-
BIN.mvn/wrapper/maven-wrapper.jar
-
18.mvn/wrapper/maven-wrapper.properties
-
316mvnw
-
188mvnw.cmd
-
140pom.xml
-
BINsrc/.DS_Store
-
BINsrc/._.DS_Store
-
BINsrc/._main
-
BINsrc/main/.DS_Store
-
BINsrc/main/._.DS_Store
-
BINsrc/main/._java
-
BINsrc/main/._resources
-
BINsrc/main/java/.DS_Store
-
BINsrc/main/java/._.DS_Store
-
BINsrc/main/java/._com
-
BINsrc/main/java/com/.DS_Store
-
BINsrc/main/java/com/._.DS_Store
-
BINsrc/main/java/com/._gcc
-
BINsrc/main/java/com/gcc/.DS_Store
-
BINsrc/main/java/com/gcc/._.DS_Store
-
BINsrc/main/java/com/gcc/._mtm
-
BINsrc/main/java/com/gcc/mtm/.DS_Store
-
BINsrc/main/java/com/gcc/mtm/._.DS_Store
-
BINsrc/main/java/com/gcc/mtm/._Makkalai
-
BINsrc/main/java/com/gcc/mtm/Makkalai/.DS_Store
-
BINsrc/main/java/com/gcc/mtm/Makkalai/._.DS_Store
-
BINsrc/main/java/com/gcc/mtm/Makkalai/._Thedi
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/.DS_Store
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/._.DS_Store
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/._Mayor
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/._MakkalaiThediMayorApplication.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/._component
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/._configuration
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/._controller
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/._entity
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/._error
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/._login
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/._others
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/._repository
-
14src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/MakkalaiThediMayorApplication.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/component/._UserSessionInterceptor.java
-
74src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/component/UserSessionInterceptor.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/configuration/._WebConfig.java
-
19src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/configuration/WebConfig.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/._APIController.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/._AdminController.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/._BlobController.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/._MainController.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/._MayorController.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/._OfficerController.java
-
514src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/APIController.java
-
565src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/AdminController.java
-
106src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/BlobController.java
-
1032src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/MainController.java
-
776src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/MayorController.java
-
767src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/OfficerController.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/._MTMComplaintTypes.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/._MTMEvents.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/._MTMEventsPetition.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/._MTMEventsPetitionAction.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/._MTMEventsPetitionFiles.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/._MTMEventsPetitionForwardLog.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/._MTMEventsPetitionMapping.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/._MTMUsers.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/._OfficerAccess.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/._OfficerMaster.java
-
76src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/MTMComplaintTypes.java
-
207src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/MTMEvents.java
-
170src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/MTMEventsPetition.java
-
156src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/MTMEventsPetitionAction.java
-
129src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/MTMEventsPetitionFiles.java
-
171src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/MTMEventsPetitionForwardLog.java
-
181src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/MTMEventsPetitionMapping.java
-
118src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/MTMUsers.java
-
58src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/OfficerAccess.java
-
110src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/entity/OfficerMaster.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/error/._CustomErrorController.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/error/._CustomExceptionHandler.java
-
35src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/error/CustomErrorController.java
-
16src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/error/CustomExceptionHandler.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/login/._CheckUserSession.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/login/._LoginController.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/login/._UserService.java
-
BINsrc/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/login/._UserSession.java
-
18src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/login/CheckUserSession.java
@ -0,0 +1,33 @@ |
|||
HELP.md |
|||
target/ |
|||
!.mvn/wrapper/maven-wrapper.jar |
|||
!**/src/main/**/target/ |
|||
!**/src/test/**/target/ |
|||
|
|||
### STS ### |
|||
.apt_generated |
|||
.classpath |
|||
.factorypath |
|||
.project |
|||
.settings |
|||
.springBeans |
|||
.sts4-cache |
|||
|
|||
### IntelliJ IDEA ### |
|||
.idea |
|||
*.iws |
|||
*.iml |
|||
*.ipr |
|||
|
|||
### NetBeans ### |
|||
/nbproject/private/ |
|||
/nbbuild/ |
|||
/dist/ |
|||
/nbdist/ |
|||
/.nb-gradle/ |
|||
build/ |
|||
!**/src/main/**/build/ |
|||
!**/src/test/**/build/ |
|||
|
|||
### VS Code ### |
|||
.vscode/ |
|||
@ -0,0 +1,18 @@ |
|||
# Licensed to the Apache Software Foundation (ASF) under one |
|||
# or more contributor license agreements. See the NOTICE file |
|||
# distributed with this work for additional information |
|||
# regarding copyright ownership. The ASF licenses this file |
|||
# to you under the Apache License, Version 2.0 (the |
|||
# "License"); you may not use this file except in compliance |
|||
# with the License. You may obtain a copy of the License at |
|||
# |
|||
# https://www.apache.org/licenses/LICENSE-2.0 |
|||
# |
|||
# Unless required by applicable law or agreed to in writing, |
|||
# software distributed under the License is distributed on an |
|||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
|||
# KIND, either express or implied. See the License for the |
|||
# specific language governing permissions and limitations |
|||
# under the License. |
|||
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.7/apache-maven-3.8.7-bin.zip |
|||
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar |
|||
@ -0,0 +1,316 @@ |
|||
#!/bin/sh |
|||
# ---------------------------------------------------------------------------- |
|||
# Licensed to the Apache Software Foundation (ASF) under one |
|||
# or more contributor license agreements. See the NOTICE file |
|||
# distributed with this work for additional information |
|||
# regarding copyright ownership. The ASF licenses this file |
|||
# to you under the Apache License, Version 2.0 (the |
|||
# "License"); you may not use this file except in compliance |
|||
# with the License. You may obtain a copy of the License at |
|||
# |
|||
# https://www.apache.org/licenses/LICENSE-2.0 |
|||
# |
|||
# Unless required by applicable law or agreed to in writing, |
|||
# software distributed under the License is distributed on an |
|||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
|||
# KIND, either express or implied. See the License for the |
|||
# specific language governing permissions and limitations |
|||
# under the License. |
|||
# ---------------------------------------------------------------------------- |
|||
|
|||
# ---------------------------------------------------------------------------- |
|||
# Maven Start Up Batch script |
|||
# |
|||
# Required ENV vars: |
|||
# ------------------ |
|||
# JAVA_HOME - location of a JDK home dir |
|||
# |
|||
# Optional ENV vars |
|||
# ----------------- |
|||
# M2_HOME - location of maven2's installed home dir |
|||
# MAVEN_OPTS - parameters passed to the Java VM when running Maven |
|||
# e.g. to debug Maven itself, use |
|||
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 |
|||
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files |
|||
# ---------------------------------------------------------------------------- |
|||
|
|||
if [ -z "$MAVEN_SKIP_RC" ] ; then |
|||
|
|||
if [ -f /usr/local/etc/mavenrc ] ; then |
|||
. /usr/local/etc/mavenrc |
|||
fi |
|||
|
|||
if [ -f /etc/mavenrc ] ; then |
|||
. /etc/mavenrc |
|||
fi |
|||
|
|||
if [ -f "$HOME/.mavenrc" ] ; then |
|||
. "$HOME/.mavenrc" |
|||
fi |
|||
|
|||
fi |
|||
|
|||
# OS specific support. $var _must_ be set to either true or false. |
|||
cygwin=false; |
|||
darwin=false; |
|||
mingw=false |
|||
case "`uname`" in |
|||
CYGWIN*) cygwin=true ;; |
|||
MINGW*) mingw=true;; |
|||
Darwin*) darwin=true |
|||
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home |
|||
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html |
|||
if [ -z "$JAVA_HOME" ]; then |
|||
if [ -x "/usr/libexec/java_home" ]; then |
|||
export JAVA_HOME="`/usr/libexec/java_home`" |
|||
else |
|||
export JAVA_HOME="/Library/Java/Home" |
|||
fi |
|||
fi |
|||
;; |
|||
esac |
|||
|
|||
if [ -z "$JAVA_HOME" ] ; then |
|||
if [ -r /etc/gentoo-release ] ; then |
|||
JAVA_HOME=`java-config --jre-home` |
|||
fi |
|||
fi |
|||
|
|||
if [ -z "$M2_HOME" ] ; then |
|||
## resolve links - $0 may be a link to maven's home |
|||
PRG="$0" |
|||
|
|||
# need this for relative symlinks |
|||
while [ -h "$PRG" ] ; do |
|||
ls=`ls -ld "$PRG"` |
|||
link=`expr "$ls" : '.*-> \(.*\)$'` |
|||
if expr "$link" : '/.*' > /dev/null; then |
|||
PRG="$link" |
|||
else |
|||
PRG="`dirname "$PRG"`/$link" |
|||
fi |
|||
done |
|||
|
|||
saveddir=`pwd` |
|||
|
|||
M2_HOME=`dirname "$PRG"`/.. |
|||
|
|||
# make it fully qualified |
|||
M2_HOME=`cd "$M2_HOME" && pwd` |
|||
|
|||
cd "$saveddir" |
|||
# echo Using m2 at $M2_HOME |
|||
fi |
|||
|
|||
# For Cygwin, ensure paths are in UNIX format before anything is touched |
|||
if $cygwin ; then |
|||
[ -n "$M2_HOME" ] && |
|||
M2_HOME=`cygpath --unix "$M2_HOME"` |
|||
[ -n "$JAVA_HOME" ] && |
|||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"` |
|||
[ -n "$CLASSPATH" ] && |
|||
CLASSPATH=`cygpath --path --unix "$CLASSPATH"` |
|||
fi |
|||
|
|||
# For Mingw, ensure paths are in UNIX format before anything is touched |
|||
if $mingw ; then |
|||
[ -n "$M2_HOME" ] && |
|||
M2_HOME="`(cd "$M2_HOME"; pwd)`" |
|||
[ -n "$JAVA_HOME" ] && |
|||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" |
|||
fi |
|||
|
|||
if [ -z "$JAVA_HOME" ]; then |
|||
javaExecutable="`which javac`" |
|||
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then |
|||
# readlink(1) is not available as standard on Solaris 10. |
|||
readLink=`which readlink` |
|||
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then |
|||
if $darwin ; then |
|||
javaHome="`dirname \"$javaExecutable\"`" |
|||
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" |
|||
else |
|||
javaExecutable="`readlink -f \"$javaExecutable\"`" |
|||
fi |
|||
javaHome="`dirname \"$javaExecutable\"`" |
|||
javaHome=`expr "$javaHome" : '\(.*\)/bin'` |
|||
JAVA_HOME="$javaHome" |
|||
export JAVA_HOME |
|||
fi |
|||
fi |
|||
fi |
|||
|
|||
if [ -z "$JAVACMD" ] ; then |
|||
if [ -n "$JAVA_HOME" ] ; then |
|||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then |
|||
# IBM's JDK on AIX uses strange locations for the executables |
|||
JAVACMD="$JAVA_HOME/jre/sh/java" |
|||
else |
|||
JAVACMD="$JAVA_HOME/bin/java" |
|||
fi |
|||
else |
|||
JAVACMD="`\\unset -f command; \\command -v java`" |
|||
fi |
|||
fi |
|||
|
|||
if [ ! -x "$JAVACMD" ] ; then |
|||
echo "Error: JAVA_HOME is not defined correctly." >&2 |
|||
echo " We cannot execute $JAVACMD" >&2 |
|||
exit 1 |
|||
fi |
|||
|
|||
if [ -z "$JAVA_HOME" ] ; then |
|||
echo "Warning: JAVA_HOME environment variable is not set." |
|||
fi |
|||
|
|||
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher |
|||
|
|||
# traverses directory structure from process work directory to filesystem root |
|||
# first directory with .mvn subdirectory is considered project base directory |
|||
find_maven_basedir() { |
|||
|
|||
if [ -z "$1" ] |
|||
then |
|||
echo "Path not specified to find_maven_basedir" |
|||
return 1 |
|||
fi |
|||
|
|||
basedir="$1" |
|||
wdir="$1" |
|||
while [ "$wdir" != '/' ] ; do |
|||
if [ -d "$wdir"/.mvn ] ; then |
|||
basedir=$wdir |
|||
break |
|||
fi |
|||
# workaround for JBEAP-8937 (on Solaris 10/Sparc) |
|||
if [ -d "${wdir}" ]; then |
|||
wdir=`cd "$wdir/.."; pwd` |
|||
fi |
|||
# end of workaround |
|||
done |
|||
echo "${basedir}" |
|||
} |
|||
|
|||
# concatenates all lines of a file |
|||
concat_lines() { |
|||
if [ -f "$1" ]; then |
|||
echo "$(tr -s '\n' ' ' < "$1")" |
|||
fi |
|||
} |
|||
|
|||
BASE_DIR=`find_maven_basedir "$(pwd)"` |
|||
if [ -z "$BASE_DIR" ]; then |
|||
exit 1; |
|||
fi |
|||
|
|||
########################################################################################## |
|||
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central |
|||
# This allows using the maven wrapper in projects that prohibit checking in binary data. |
|||
########################################################################################## |
|||
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then |
|||
if [ "$MVNW_VERBOSE" = true ]; then |
|||
echo "Found .mvn/wrapper/maven-wrapper.jar" |
|||
fi |
|||
else |
|||
if [ "$MVNW_VERBOSE" = true ]; then |
|||
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." |
|||
fi |
|||
if [ -n "$MVNW_REPOURL" ]; then |
|||
jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" |
|||
else |
|||
jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" |
|||
fi |
|||
while IFS="=" read key value; do |
|||
case "$key" in (wrapperUrl) jarUrl="$value"; break ;; |
|||
esac |
|||
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" |
|||
if [ "$MVNW_VERBOSE" = true ]; then |
|||
echo "Downloading from: $jarUrl" |
|||
fi |
|||
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" |
|||
if $cygwin; then |
|||
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` |
|||
fi |
|||
|
|||
if command -v wget > /dev/null; then |
|||
if [ "$MVNW_VERBOSE" = true ]; then |
|||
echo "Found wget ... using wget" |
|||
fi |
|||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then |
|||
wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" |
|||
else |
|||
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" |
|||
fi |
|||
elif command -v curl > /dev/null; then |
|||
if [ "$MVNW_VERBOSE" = true ]; then |
|||
echo "Found curl ... using curl" |
|||
fi |
|||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then |
|||
curl -o "$wrapperJarPath" "$jarUrl" -f |
|||
else |
|||
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f |
|||
fi |
|||
|
|||
else |
|||
if [ "$MVNW_VERBOSE" = true ]; then |
|||
echo "Falling back to using Java to download" |
|||
fi |
|||
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" |
|||
# For Cygwin, switch paths to Windows format before running javac |
|||
if $cygwin; then |
|||
javaClass=`cygpath --path --windows "$javaClass"` |
|||
fi |
|||
if [ -e "$javaClass" ]; then |
|||
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then |
|||
if [ "$MVNW_VERBOSE" = true ]; then |
|||
echo " - Compiling MavenWrapperDownloader.java ..." |
|||
fi |
|||
# Compiling the Java class |
|||
("$JAVA_HOME/bin/javac" "$javaClass") |
|||
fi |
|||
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then |
|||
# Running the downloader |
|||
if [ "$MVNW_VERBOSE" = true ]; then |
|||
echo " - Running MavenWrapperDownloader.java ..." |
|||
fi |
|||
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") |
|||
fi |
|||
fi |
|||
fi |
|||
fi |
|||
########################################################################################## |
|||
# End of extension |
|||
########################################################################################## |
|||
|
|||
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} |
|||
if [ "$MVNW_VERBOSE" = true ]; then |
|||
echo $MAVEN_PROJECTBASEDIR |
|||
fi |
|||
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" |
|||
|
|||
# For Cygwin, switch paths to Windows format before running java |
|||
if $cygwin; then |
|||
[ -n "$M2_HOME" ] && |
|||
M2_HOME=`cygpath --path --windows "$M2_HOME"` |
|||
[ -n "$JAVA_HOME" ] && |
|||
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` |
|||
[ -n "$CLASSPATH" ] && |
|||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"` |
|||
[ -n "$MAVEN_PROJECTBASEDIR" ] && |
|||
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` |
|||
fi |
|||
|
|||
# Provide a "standardized" way to retrieve the CLI args that will |
|||
# work with both Windows and non-Windows executions. |
|||
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" |
|||
export MAVEN_CMD_LINE_ARGS |
|||
|
|||
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain |
|||
|
|||
exec "$JAVACMD" \ |
|||
$MAVEN_OPTS \ |
|||
$MAVEN_DEBUG_OPTS \ |
|||
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ |
|||
"-Dmaven.home=${M2_HOME}" \ |
|||
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ |
|||
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" |
|||
@ -0,0 +1,188 @@ |
|||
@REM ---------------------------------------------------------------------------- |
|||
@REM Licensed to the Apache Software Foundation (ASF) under one |
|||
@REM or more contributor license agreements. See the NOTICE file |
|||
@REM distributed with this work for additional information |
|||
@REM regarding copyright ownership. The ASF licenses this file |
|||
@REM to you under the Apache License, Version 2.0 (the |
|||
@REM "License"); you may not use this file except in compliance |
|||
@REM with the License. You may obtain a copy of the License at |
|||
@REM |
|||
@REM https://www.apache.org/licenses/LICENSE-2.0 |
|||
@REM |
|||
@REM Unless required by applicable law or agreed to in writing, |
|||
@REM software distributed under the License is distributed on an |
|||
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
|||
@REM KIND, either express or implied. See the License for the |
|||
@REM specific language governing permissions and limitations |
|||
@REM under the License. |
|||
@REM ---------------------------------------------------------------------------- |
|||
|
|||
@REM ---------------------------------------------------------------------------- |
|||
@REM Maven Start Up Batch script |
|||
@REM |
|||
@REM Required ENV vars: |
|||
@REM JAVA_HOME - location of a JDK home dir |
|||
@REM |
|||
@REM Optional ENV vars |
|||
@REM M2_HOME - location of maven2's installed home dir |
|||
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands |
|||
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending |
|||
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven |
|||
@REM e.g. to debug Maven itself, use |
|||
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 |
|||
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files |
|||
@REM ---------------------------------------------------------------------------- |
|||
|
|||
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' |
|||
@echo off |
|||
@REM set title of command window |
|||
title %0 |
|||
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' |
|||
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% |
|||
|
|||
@REM set %HOME% to equivalent of $HOME |
|||
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") |
|||
|
|||
@REM Execute a user defined script before this one |
|||
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre |
|||
@REM check for pre script, once with legacy .bat ending and once with .cmd ending |
|||
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* |
|||
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* |
|||
:skipRcPre |
|||
|
|||
@setlocal |
|||
|
|||
set ERROR_CODE=0 |
|||
|
|||
@REM To isolate internal variables from possible post scripts, we use another setlocal |
|||
@setlocal |
|||
|
|||
@REM ==== START VALIDATION ==== |
|||
if not "%JAVA_HOME%" == "" goto OkJHome |
|||
|
|||
echo. |
|||
echo Error: JAVA_HOME not found in your environment. >&2 |
|||
echo Please set the JAVA_HOME variable in your environment to match the >&2 |
|||
echo location of your Java installation. >&2 |
|||
echo. |
|||
goto error |
|||
|
|||
:OkJHome |
|||
if exist "%JAVA_HOME%\bin\java.exe" goto init |
|||
|
|||
echo. |
|||
echo Error: JAVA_HOME is set to an invalid directory. >&2 |
|||
echo JAVA_HOME = "%JAVA_HOME%" >&2 |
|||
echo Please set the JAVA_HOME variable in your environment to match the >&2 |
|||
echo location of your Java installation. >&2 |
|||
echo. |
|||
goto error |
|||
|
|||
@REM ==== END VALIDATION ==== |
|||
|
|||
:init |
|||
|
|||
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". |
|||
@REM Fallback to current working directory if not found. |
|||
|
|||
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% |
|||
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir |
|||
|
|||
set EXEC_DIR=%CD% |
|||
set WDIR=%EXEC_DIR% |
|||
:findBaseDir |
|||
IF EXIST "%WDIR%"\.mvn goto baseDirFound |
|||
cd .. |
|||
IF "%WDIR%"=="%CD%" goto baseDirNotFound |
|||
set WDIR=%CD% |
|||
goto findBaseDir |
|||
|
|||
:baseDirFound |
|||
set MAVEN_PROJECTBASEDIR=%WDIR% |
|||
cd "%EXEC_DIR%" |
|||
goto endDetectBaseDir |
|||
|
|||
:baseDirNotFound |
|||
set MAVEN_PROJECTBASEDIR=%EXEC_DIR% |
|||
cd "%EXEC_DIR%" |
|||
|
|||
:endDetectBaseDir |
|||
|
|||
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig |
|||
|
|||
@setlocal EnableExtensions EnableDelayedExpansion |
|||
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a |
|||
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% |
|||
|
|||
:endReadAdditionalConfig |
|||
|
|||
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" |
|||
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" |
|||
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain |
|||
|
|||
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" |
|||
|
|||
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( |
|||
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B |
|||
) |
|||
|
|||
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central |
|||
@REM This allows using the maven wrapper in projects that prohibit checking in binary data. |
|||
if exist %WRAPPER_JAR% ( |
|||
if "%MVNW_VERBOSE%" == "true" ( |
|||
echo Found %WRAPPER_JAR% |
|||
) |
|||
) else ( |
|||
if not "%MVNW_REPOURL%" == "" ( |
|||
SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" |
|||
) |
|||
if "%MVNW_VERBOSE%" == "true" ( |
|||
echo Couldn't find %WRAPPER_JAR%, downloading it ... |
|||
echo Downloading from: %DOWNLOAD_URL% |
|||
) |
|||
|
|||
powershell -Command "&{"^ |
|||
"$webclient = new-object System.Net.WebClient;"^ |
|||
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ |
|||
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ |
|||
"}"^ |
|||
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ |
|||
"}" |
|||
if "%MVNW_VERBOSE%" == "true" ( |
|||
echo Finished downloading %WRAPPER_JAR% |
|||
) |
|||
) |
|||
@REM End of extension |
|||
|
|||
@REM Provide a "standardized" way to retrieve the CLI args that will |
|||
@REM work with both Windows and non-Windows executions. |
|||
set MAVEN_CMD_LINE_ARGS=%* |
|||
|
|||
%MAVEN_JAVA_EXE% ^ |
|||
%JVM_CONFIG_MAVEN_PROPS% ^ |
|||
%MAVEN_OPTS% ^ |
|||
%MAVEN_DEBUG_OPTS% ^ |
|||
-classpath %WRAPPER_JAR% ^ |
|||
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ |
|||
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* |
|||
if ERRORLEVEL 1 goto error |
|||
goto end |
|||
|
|||
:error |
|||
set ERROR_CODE=1 |
|||
|
|||
:end |
|||
@endlocal & set ERROR_CODE=%ERROR_CODE% |
|||
|
|||
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost |
|||
@REM check for post script, once with legacy .bat ending and once with .cmd ending |
|||
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" |
|||
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" |
|||
:skipRcPost |
|||
|
|||
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' |
|||
if "%MAVEN_BATCH_PAUSE%"=="on" pause |
|||
|
|||
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% |
|||
|
|||
cmd /C exit /B %ERROR_CODE% |
|||
@ -0,0 +1,140 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<parent> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-parent</artifactId> |
|||
<version>3.0.4</version> |
|||
<relativePath/> |
|||
</parent> |
|||
<groupId>com.gcc.mtm</groupId> |
|||
<artifactId>Makkalai-Thedi-Mayor</artifactId> |
|||
<version>1</version> |
|||
<name>Makkalai-Thedi-Mayor</name> |
|||
<description>Makkalai Thedi Mayor</description> |
|||
<properties> |
|||
<java.version>19</java.version> <!-- Updated Java version to 19 --> |
|||
</properties> |
|||
<dependencies> |
|||
<!-- Other dependencies --> |
|||
<!-- |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-security</artifactId> |
|||
<version>2.5.5</version> |
|||
</dependency> |
|||
--> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-data-jpa</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-thymeleaf</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-web</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.kafka</groupId> |
|||
<artifactId>spring-kafka</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.session</groupId> |
|||
<artifactId>spring-session-core</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.mysql</groupId> |
|||
<artifactId>mysql-connector-j</artifactId> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.json</groupId> |
|||
<artifactId>json</artifactId> |
|||
<version>20210307</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.google.code.gson</groupId> |
|||
<artifactId>gson</artifactId> |
|||
<version>2.8.9</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.apache.tika</groupId> |
|||
<artifactId>tika-core</artifactId> |
|||
<version>1.28</version> <!-- Updated Tika version --> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-configuration-processor</artifactId> |
|||
<optional>true</optional> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>jakarta.servlet</groupId> |
|||
<artifactId>jakarta.servlet-api</artifactId> |
|||
<version>5.0.0</version> |
|||
<scope>provided</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>jakarta.servlet</groupId> |
|||
<artifactId>jakarta.servlet-api</artifactId> |
|||
<version>4.0.3</version> |
|||
<scope>provided</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-devtools</artifactId> |
|||
<optional>true</optional> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>javax.annotation</groupId> |
|||
<artifactId>javax.annotation-api</artifactId> |
|||
<version>1.3.2</version> |
|||
</dependency> |
|||
|
|||
<!-- Apache POI dependencies for working with Excel --> |
|||
<dependency> |
|||
<groupId>org.apache.poi</groupId> |
|||
<artifactId>poi</artifactId> |
|||
<version>4.1.2</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.apache.poi</groupId> |
|||
<artifactId>poi-ooxml</artifactId> |
|||
<version>4.1.2</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.apache.commons</groupId> |
|||
<artifactId>commons-text</artifactId> |
|||
<version>1.9</version> |
|||
</dependency> |
|||
|
|||
</dependencies> |
|||
<build> |
|||
<plugins> |
|||
<plugin> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-maven-plugin</artifactId> |
|||
</plugin> |
|||
<plugin> |
|||
<groupId>org.apache.maven.plugins</groupId> |
|||
<artifactId>maven-compiler-plugin</artifactId> |
|||
<configuration> |
|||
<source>17</source> <!-- Updated source and target versions to 17 --> |
|||
<target>17</target> |
|||
</configuration> |
|||
</plugin> |
|||
<plugin> |
|||
<groupId>org.apache.maven.plugins</groupId> |
|||
<artifactId>maven-project-info-reports-plugin</artifactId> |
|||
<version>3.1.0</version> <!-- Updated plugin version --> |
|||
<configuration> |
|||
<!-- Configuration options for the plugin --> |
|||
</configuration> |
|||
</plugin> |
|||
</plugins> |
|||
</build> |
|||
</project> |
|||
@ -0,0 +1,14 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor; |
|||
|
|||
import org.springframework.boot.SpringApplication; |
|||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
|||
|
|||
|
|||
@SpringBootApplication |
|||
public class MakkalaiThediMayorApplication { |
|||
|
|||
public static void main(String[] args) { |
|||
SpringApplication.run(MakkalaiThediMayorApplication.class, args); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,74 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.component; |
|||
|
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.login.UserSession; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.others.AppConfig; |
|||
import jakarta.servlet.http.HttpServletRequest; |
|||
import jakarta.servlet.http.HttpServletResponse; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Component; |
|||
import org.springframework.web.servlet.HandlerInterceptor; |
|||
import jakarta.servlet.http.HttpSession; |
|||
|
|||
import java.util.Arrays; |
|||
import java.util.Enumeration; |
|||
import java.util.List; |
|||
|
|||
@Component |
|||
public class UserSessionInterceptor implements HandlerInterceptor { |
|||
@Autowired |
|||
private HttpSession session; |
|||
|
|||
@Autowired |
|||
private UserSession userSession; |
|||
@Autowired |
|||
private AppConfig appConfig; |
|||
private static final List<String> EXCLUDED_URLS = Arrays.asList("/public","/login", "/"); |
|||
@Override |
|||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { |
|||
// Get the current request URL |
|||
String requestUrl = request.getRequestURI(); |
|||
//System.out.println(requestUrl); |
|||
// Exclude static resources from the check |
|||
if (requestUrl.startsWith("/assets/") || requestUrl.startsWith("/css/") || requestUrl.startsWith("/js/") || requestUrl.startsWith("/images/") || requestUrl.startsWith("/api/")) { |
|||
return true; // Allow the request to proceed without checking the login status |
|||
} |
|||
if (requestUrl.startsWith("/public/")) { |
|||
return true; // Allow the request to proceed without checking the login status |
|||
} |
|||
// Exclude the login page from the check |
|||
// Exclude specific URLs from the check |
|||
if (EXCLUDED_URLS.contains(requestUrl)) { |
|||
return true; // Allow the request to proceed without checking the login status |
|||
} |
|||
// Check if the user is logged in |
|||
// If logged in, add the userSession to the model |
|||
// Return true to allow the request to proceed |
|||
//if (isLoggedIn()) { |
|||
//HttpSession session = request.getSession(); |
|||
Enumeration<String> attributeNames = session.getAttributeNames(); |
|||
|
|||
while (attributeNames.hasMoreElements()) { |
|||
String attributeName = attributeNames.nextElement(); |
|||
Object attributeValue = session.getAttribute(attributeName); |
|||
//System.out.println(attributeName + " : " + attributeValue); |
|||
} |
|||
//System.out.println("Session"+request.getRequestURI()); |
|||
//System.out.println("My Session Check"+session.getAttribute("userId")); |
|||
//System.out.println("Check Session:"+request.getSession().getAttribute("userId")); |
|||
if(userSession.getUserId() != null && userSession.getUserType() != null){ |
|||
request.setAttribute("userSession", userSession); |
|||
} else { |
|||
request.setAttribute("title", "Login"); |
|||
request.setAttribute("baseURL", appConfig.getBaseUrl()); |
|||
response.sendRedirect("/login"); |
|||
return false; // Stop further processing of the request |
|||
} |
|||
return true; // Allow the request to proceed |
|||
} |
|||
|
|||
private boolean isLoggedIn() { |
|||
// Implement your login check logic here |
|||
// For example, check if the userSession contains the necessary information |
|||
return userSession.getUserId() != null && userSession.getUserType() != null; |
|||
} |
|||
} |
|||
@ -0,0 +1,19 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.configuration; |
|||
|
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.component.UserSessionInterceptor; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.context.annotation.Configuration; |
|||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
|||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
|||
|
|||
@Configuration |
|||
public class WebConfig implements WebMvcConfigurer { |
|||
|
|||
@Autowired |
|||
private UserSessionInterceptor userSessionInterceptor; |
|||
|
|||
@Override |
|||
public void addInterceptors(InterceptorRegistry registry) { |
|||
registry.addInterceptor(userSessionInterceptor); |
|||
} |
|||
} |
|||
@ -0,0 +1,514 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.controller; |
|||
|
|||
import com.fasterxml.jackson.databind.ObjectMapper; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.entity.*; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.login.UserSession; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.others.AppConfig; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.repository.*; |
|||
import org.apache.kafka.common.protocol.types.Field; |
|||
|
|||
import org.apache.tika.utils.SystemUtils; |
|||
import org.json.JSONArray; |
|||
import org.json.JSONObject; |
|||
import jakarta.servlet.http.HttpServletRequest; |
|||
import jakarta.servlet.http.HttpSession; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.http.HttpEntity; |
|||
import org.springframework.http.HttpHeaders; |
|||
import org.springframework.http.HttpMethod; |
|||
import org.springframework.http.ResponseEntity; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import org.springframework.web.client.RestTemplate; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import javax.sql.rowset.serial.SerialBlob; |
|||
import java.io.IOException; |
|||
import java.net.URI; |
|||
|
|||
import java.sql.Blob; |
|||
import java.sql.SQLException; |
|||
import java.time.LocalDateTime; |
|||
import java.time.format.DateTimeFormatter; |
|||
import java.util.*; |
|||
import org.springframework.core.env.Environment; |
|||
|
|||
@RequestMapping("/api") |
|||
@RestController |
|||
public class APIController { |
|||
@Autowired |
|||
private AppConfig appConfig; |
|||
|
|||
private final UserSession userSession; |
|||
@Autowired |
|||
public APIController(UserSession userSession) { |
|||
this.userSession = userSession; |
|||
} |
|||
|
|||
@Autowired |
|||
private MTMUsersRep mtmUsersRep; |
|||
@Autowired |
|||
private MTMEventsRep mtmEventsRep; |
|||
@Autowired |
|||
private MTMComplaintTypesRep mtmComplaintTypesRep; |
|||
@Autowired |
|||
private OfficerMasterRep officerMasterRep; |
|||
@Autowired |
|||
private MTMEventsPetitionRep mtmEventsPetitionRep; |
|||
@Autowired |
|||
private MTMEventsPetitionFilesRep mtmEventsPetitionFilesRep; |
|||
@Autowired |
|||
private MTMEventsPetitionMappingRep mtmEventsPetitionMappingRep; |
|||
@Autowired |
|||
private MTMEventsPetitionForwardLogRep mtmEventsPetitionForwardLogRep; |
|||
@Autowired |
|||
private MTMEventsPetitionActionRep mtmEventsPetitionActionRep; |
|||
@Autowired |
|||
private OfficerAccessRep officerAccessRep; |
|||
@Autowired |
|||
private Environment environment; |
|||
|
|||
@GetMapping(value = "/sendOTP") |
|||
public String sendOtp(HttpServletRequest request, @RequestParam String mobileNo) { |
|||
String MobileNo=mobileNo; |
|||
System.out.print("\n MobileNo---:"+mobileNo); |
|||
Random rand = new Random(); |
|||
int otp = rand.nextInt(90000) + 10000; |
|||
System.out.print("\n otp---:"+otp); |
|||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd-MMM-yyyy%20HH:mm"); |
|||
LocalDateTime now = LocalDateTime.now(); |
|||
System.out.println(dtf.format(now)); |
|||
|
|||
//String generatedToken = "OTP%20for%20GREATER%20CHENNAI%20CORPORATION%20ERP%20Login%20for%20AELD31%20on%20" + dtf.format(now) + "%20is%20%20" + otp + "%20Do%20not%20share%20it%20with%20anyone"; |
|||
String generatedToken = "Welcome to GCC "+otp+" is your OTP for gcc QR System"; |
|||
|
|||
//String urlString=appConfig.getGetOtpUrl()+"user=GCCtrans&authkey=92kOC1RBGBIws&sender=GCCCRP&mobile="+MobileNo+"&text="+generatedToken+"&rpt=1&summary=1&output=json&entityid=1401572690000011081&templateid=1407161640444625990"; |
|||
String urlString=appConfig.getGetOtpUrl()+"user=GCCtrans&authkey=92kOC1RBGBIws&sender=GCCCRP&mobile="+MobileNo+"&text="+generatedToken+"&rpt=1&summary=1&output=json&entityid=1401572690000011081&templateid=1407168250479102852"; |
|||
System.out.print("\n urlString---: "+urlString); |
|||
|
|||
ResponseEntity<String> response = null; |
|||
RestTemplate restTemplate = new RestTemplate(); |
|||
String bodyMessage = ""; |
|||
HttpHeaders headers = new HttpHeaders(); |
|||
try { |
|||
HttpEntity<String> postData = new HttpEntity<String>(headers); |
|||
response = restTemplate.exchange(urlString, HttpMethod.POST, postData, String.class); |
|||
bodyMessage = response.getBody(); |
|||
System.out.println("\n bodyMessage"+bodyMessage); |
|||
|
|||
} catch (Exception e) { |
|||
// e.printStackTrace(); |
|||
System.out.print("ERROR---: "+e); |
|||
bodyMessage = "Error"; |
|||
} |
|||
System.out.println("OTP sent successfully!"); |
|||
|
|||
HttpSession session = request.getSession(); |
|||
session.setAttribute("otp", otp); |
|||
return bodyMessage; |
|||
} |
|||
|
|||
@GetMapping(value = "/verifyOTP") |
|||
public String verifyOtp(HttpServletRequest request, @RequestParam String otp) { |
|||
HttpSession session = request.getSession(); |
|||
try { |
|||
Integer session_otp = (Integer) session.getAttribute("otp"); |
|||
System.out.println("session_otp---:" + session_otp); |
|||
Integer entered_otp = Integer.parseInt(otp); |
|||
|
|||
if (session_otp != null && session_otp.equals(entered_otp)) { |
|||
System.out.println("Entered OTP Correct"); |
|||
session.setAttribute("verifiedotp", "success"); |
|||
return "Success"; |
|||
} else { |
|||
System.out.println("Incorrect OTP. Please enter correct OTPs."); |
|||
session.setAttribute("verifiedotp", "error"); |
|||
return "Error"; |
|||
} |
|||
} catch (NumberFormatException e) { |
|||
System.out.println("Invalid OTP format: " + otp); |
|||
return "Error"; |
|||
} catch (Exception e) { |
|||
System.out.println("Error verifying OTP: " + e.getMessage()); |
|||
return "Error"; |
|||
} |
|||
} |
|||
|
|||
@GetMapping(value = "/login") |
|||
public String login(HttpServletRequest request, @RequestParam String uname, @RequestParam String upass){ |
|||
|
|||
//System.out.println(uname); |
|||
System.out.println("API Session"+request.getRequestURI()); |
|||
|
|||
List<MTMUsers> mtmUsersList = mtmUsersRep.login(uname,upass); |
|||
if (!mtmUsersList.isEmpty()) { |
|||
if (mtmUsersList.size() == 1) { |
|||
//request.getSession().setAttribute("attributeName", attributeValue); |
|||
request.getSession().setAttribute("userId",mtmUsersList.get(0).getuId()); |
|||
request.getSession().setAttribute("usertype",mtmUsersList.get(0).getUserType()); |
|||
System.out.println(request.getSession().getAttribute("userId")); |
|||
userSession.setUserId(mtmUsersList.get(0).getuId()); |
|||
userSession.setUserType(mtmUsersList.get(0).getUserType()); |
|||
userSession.setDispayName(mtmUsersList.get(0).getDisplayName()); |
|||
userSession.setTableNo(mtmUsersList.get(0).getTableNum()); |
|||
System.out.println(mtmUsersList.get(0).getUserType()); |
|||
|
|||
if (!mtmUsersList.isEmpty() && mtmUsersList.get(0).getUserType().equals("user")) { |
|||
userSession.setEventid(mtmUsersList.get(0).getEventid()); |
|||
} |
|||
else if(!mtmUsersList.isEmpty() && mtmUsersList.get(0).getUserType().equals("officer")){ |
|||
List<OfficerAccess> officerAccesses = officerAccessRep.getAccessOfficerIDs(mtmUsersList.get(0).getuId()); |
|||
if(officerAccesses.isEmpty()){ |
|||
return "Error"; |
|||
} |
|||
else{ |
|||
//System.out.println(officerAccesses.get(0).getOfficerId()); |
|||
userSession.setAccessIds(officerAccesses.get(0).getOfficerId()); |
|||
} |
|||
} |
|||
|
|||
System.out.println(mtmUsersList.get(0).getuId()); |
|||
System.out.println(environment.getProperty("server.servlet.session.cookie.domain")); |
|||
//System.out.println("Success"); |
|||
return "Success"; |
|||
} else { |
|||
//System.out.println("Error"); |
|||
return "Error"; |
|||
} |
|||
}else{ |
|||
return "Error"; |
|||
} |
|||
|
|||
} |
|||
//Access Details |
|||
@GetMapping(value = "/officerAccessid") |
|||
public List officerAccessId(@RequestParam Integer uid){ |
|||
return officerAccessRep.getAccessOfficerIDs(uid); |
|||
} |
|||
// Event |
|||
@GetMapping(value = "/eventsbyid") |
|||
public List eventById(@RequestParam String eid){ |
|||
return mtmEventsRep.eventsByID(eid); |
|||
} |
|||
// Petition |
|||
@GetMapping(value="/complainttypes") |
|||
public List complaintTypesAPI(){ |
|||
return mtmComplaintTypesRep.showAll(); |
|||
} |
|||
@GetMapping(value="/petitions") |
|||
public List petitionListAPI(){ |
|||
return mtmEventsPetitionRep.showAll(); |
|||
} |
|||
|
|||
@GetMapping(value="/petitionbyid") |
|||
public List petitionById(HttpServletRequest request,@RequestParam String pid) { |
|||
return mtmEventsPetitionRep.petitionById(pid); |
|||
} |
|||
@GetMapping(value="/petitionbyno") |
|||
public List petitionByNO(HttpServletRequest request,@RequestParam String pno){ |
|||
return mtmEventsPetitionRep.petitionByNo(pno); |
|||
} |
|||
|
|||
@GetMapping(value="/petitionFilesBypetitionId") |
|||
public List petitionByPetitionId(HttpServletRequest request,@RequestParam String pid){ |
|||
return mtmEventsPetitionFilesRep.ShowFilesByPetitionId(pid); |
|||
} |
|||
|
|||
@GetMapping(value="/officerMaster") |
|||
public List officerMaster(HttpServletRequest request){ |
|||
return officerMasterRep.showAll(); |
|||
} |
|||
|
|||
@RequestMapping(value = "/savePetitionFile", method = RequestMethod.POST) |
|||
public String savePetitionFile(HttpServletRequest request, |
|||
@RequestParam(required = false) MultipartFile san_page1, |
|||
@RequestParam(required = false) MultipartFile san_page2, |
|||
@RequestParam(required = false) MultipartFile san_page3, |
|||
@RequestParam(required = false) MultipartFile san_page4,@RequestParam("petitionId") Integer petitionId, |
|||
@RequestParam("petitionNo") String petitionNo) throws IOException, SQLException { |
|||
LocalDateTime cdate = LocalDateTime.now(); |
|||
MTMEventsPetition mtmEventsPetition = new MTMEventsPetition(); |
|||
mtmEventsPetition.setPetitionId(petitionId); |
|||
String fileName=""; |
|||
for (int i = 1; i <= 4; i++) { |
|||
MultipartFile file = null; |
|||
switch (i) { |
|||
case 1: |
|||
file = san_page1; |
|||
fileName = "Page1-"; |
|||
break; |
|||
case 2: |
|||
file = san_page2; |
|||
fileName = "Page-"; |
|||
break; |
|||
case 3: |
|||
file = san_page3; |
|||
fileName = "Page3-"; |
|||
break; |
|||
case 4: |
|||
file = san_page4; |
|||
fileName = "Page4-"; |
|||
break; |
|||
} |
|||
if (file != null && !file.isEmpty()) { |
|||
MTMEventsPetitionFiles petitionFiles = new MTMEventsPetitionFiles(); |
|||
petitionFiles.setFileName(fileName + file.getOriginalFilename()); |
|||
petitionFiles.setFileSize(file.getSize()); |
|||
petitionFiles.setFileType(file.getContentType()); |
|||
|
|||
byte[] fileBytes = file.getBytes(); |
|||
Blob fileBlob = new SerialBlob(fileBytes); |
|||
petitionFiles.setData(fileBlob); |
|||
|
|||
petitionFiles.setMtmEventsPetitionId(mtmEventsPetition); |
|||
petitionFiles.setPetitionNumber(petitionNo); |
|||
petitionFiles.setcDate(cdate); |
|||
petitionFiles.setCreatedBy(userSession.getUserId()); |
|||
mtmEventsPetitionFilesRep.save(petitionFiles); |
|||
} |
|||
|
|||
} |
|||
return "Success"; |
|||
} |
|||
|
|||
@GetMapping(value="/getPetitionStatusPublic") |
|||
public List getPetitionStatusByNo(HttpServletRequest request, |
|||
@RequestParam("petition_no") String petition_no){ |
|||
List<MTMEventsPetition> mtmEventsPetitionList = mtmEventsPetitionRep.petitionByNo(petition_no); |
|||
return mtmEventsPetitionList; |
|||
} |
|||
|
|||
@GetMapping(value="/getComplaintsMappingDetails") |
|||
public List getComplaintsMappingDetailsById(HttpServletRequest request, |
|||
@RequestParam("complaint_typeid") String complaint_typeid, |
|||
@RequestParam("petition_id") String petition_id){ |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.getPetionMapByComplaintId(complaint_typeid,petition_id); |
|||
return mtmEventsPetitionMappingList; |
|||
} |
|||
|
|||
@GetMapping(value="/setEventId") |
|||
public String setEventId(HttpServletRequest request, |
|||
@RequestParam("eventid") String eventid){ |
|||
if ("0".equals(eventid)) { |
|||
userSession.setEventid(null); |
|||
}else{ |
|||
userSession.setEventid(eventid); |
|||
} |
|||
|
|||
return "success"; |
|||
} |
|||
|
|||
@GetMapping(value="/getComMappingDetailsByMapId") |
|||
public List getComMappingDetailsByMapId(HttpServletRequest request, |
|||
@RequestParam("mapid") String mapid){ |
|||
/* List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.getComMappingDetailsByMapId(mapid); |
|||
return mtmEventsPetitionMappingList;*/ |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.getComMappingDetailsByMapId(mapid); |
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
} |
|||
|
|||
return mtmEventsPetitionMappingList; |
|||
} |
|||
|
|||
@GetMapping(value="/getComMappingDetailsByPetId") |
|||
public List getComMappingDetailsByPetId(HttpServletRequest request, |
|||
@RequestParam("petid") String petition_id){ |
|||
/* List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.getComMappingDetailsByMapId(mapid); |
|||
return mtmEventsPetitionMappingList;*/ |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.getComMappingDetailsByPetId(petition_id); |
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
} |
|||
|
|||
return mtmEventsPetitionMappingList; |
|||
} |
|||
|
|||
@GetMapping(value="/getAllComplaintsMappingDetails") |
|||
public List getAllComplaintsMappingDetails(HttpServletRequest request){ |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showAll(); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
} |
|||
|
|||
return mtmEventsPetitionMappingList; |
|||
} |
|||
|
|||
@GetMapping(value="/getComplaintsMappingDetailsByOfficeID") |
|||
public List getComplaintsMappingDetailsById(HttpServletRequest request, |
|||
@RequestParam("Officer_ID") String officer_id){ |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.getPetionMapByOffId(officer_id); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
} |
|||
|
|||
return mtmEventsPetitionMappingList; |
|||
} |
|||
|
|||
@RequestMapping(value = "/saveComplaintStatus", method = RequestMethod.POST) |
|||
public String saveComplaintStatus(HttpServletRequest request, |
|||
@RequestParam(required = false) MultipartFile san_page1, |
|||
@RequestParam("mapid") Integer mapid, |
|||
@RequestParam("comments") String comments |
|||
) throws IOException, SQLException, InterruptedException { |
|||
LocalDateTime cdate = LocalDateTime.now(); |
|||
|
|||
String fileName=""; |
|||
for (int i = 1; i <= 1; i++) { |
|||
MultipartFile file = null; |
|||
switch (i) { |
|||
case 1: |
|||
file = san_page1; |
|||
fileName = "Page1-"; |
|||
break; |
|||
} |
|||
MTMEventsPetitionAction petitionAction = new MTMEventsPetitionAction(); |
|||
if (file != null && !file.isEmpty()) { |
|||
|
|||
petitionAction.setFileName(fileName + file.getOriginalFilename()); |
|||
petitionAction.setFileSize(file.getSize()); |
|||
petitionAction.setFileType(file.getContentType()); |
|||
|
|||
byte[] fileBytes = file.getBytes(); |
|||
Blob fileBlob = new SerialBlob(fileBytes); |
|||
petitionAction.setData(fileBlob); |
|||
} |
|||
MTMEventsPetitionMapping mapping = mtmEventsPetitionMappingRep.getReferenceById(mapid); |
|||
petitionAction.setStatus("close"); |
|||
petitionAction.setComments(comments); |
|||
petitionAction.setMtmEventsPetitionMapping(mapping); |
|||
petitionAction.setOffID(mapping.getOffID()); |
|||
petitionAction.setcDate(cdate.toString()); |
|||
petitionAction.setCreatedBy(userSession.getUserId()); |
|||
petitionAction.setIsDelete(false); |
|||
petitionAction.setIsActive(true); |
|||
|
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList=mtmEventsPetitionMappingRep.getComMappingDetailsByMapId(mapid.toString()); |
|||
if(!mtmEventsPetitionMappingList.isEmpty()){ |
|||
if(mtmEventsPetitionActionRep.ShowDataByMapId(mapid.toString()).isEmpty()){ |
|||
mtmEventsPetitionActionRep.save(petitionAction); |
|||
} |
|||
// close, partial |
|||
mtmEventsPetitionMappingRep.UpdateMappingStatus(mapid.toString(),"close"); |
|||
// Check all complaints are completed then set as `close` in petition table else set as `partial` |
|||
List <MTMEventsPetitionMapping>mtmEventsPetitionMappingList1=mtmEventsPetitionMappingRep.getComMappingDetailsByPetId(mtmEventsPetitionMappingList.get(0).getMtmEventsPetitionId().getPetitionId().toString()); |
|||
//System.out.println(mtmEventsPetitionMappingList.get(0).getMtmEventsPetitionId().getPetitionId().toString()); |
|||
if(!mtmEventsPetitionMappingList1.isEmpty()) { |
|||
if (mtmEventsPetitionMappingList1.size() == 1) { |
|||
mtmEventsPetitionRep.updatePetitionStatus(mtmEventsPetitionMappingList.get(0).getMtmEventsPetitionId().getPetitionId().toString(), "close"); |
|||
} |
|||
else { |
|||
String updateStatus = "close"; |
|||
for (MTMEventsPetitionMapping petData : mtmEventsPetitionMappingList1) { |
|||
if (!petData.getStatus().equals("close") && mtmEventsPetitionMappingList.get(0).getMapId()!=petData.getMapId()) { |
|||
updateStatus = "partial"; |
|||
} |
|||
} |
|||
//System.out.println(updateStatus); |
|||
mtmEventsPetitionRep.updatePetitionStatus(mtmEventsPetitionMappingList.get(0).getMtmEventsPetitionId().getPetitionId().toString(), updateStatus); |
|||
} |
|||
//மக்களை தேடி மேயர் தங்களது மனு பரிசீலனை செய்து தீர்வு செய்யப்பட்டுள்ளது |
|||
//By GCC |
|||
|
|||
// SMS FOR END USER (Public) |
|||
String toMobileNo = mtmEventsPetitionMappingList.get(0).getMtmEventsPetitionId().getPetitionerMobile(); |
|||
|
|||
if(toMobileNo.length()==10){ |
|||
String SMSTEXT = "மக்களை தேடி மேயர் தங்களது மனு பரிசீலனை செய்து தீர்வு செய்யப்பட்டுள்ளது\n"+ |
|||
"By GCC"; |
|||
//String urlString=appConfig.getGetOtpUrl()+"user=GCCtrans&authkey=92kOC1RBGBIws&sender=GCCCRP&mobile="+toMobileNo+"&text="+SMSTEXT+"&rpt=1&summary=1&output=json&entityid=1401572690000011081&templateid=1407168595423702047"; |
|||
String urlString=appConfig.getGetOtpUrl()+"from=GCCCRP&key=qxg4mklD&sender=GCCCRP&to="+toMobileNo+"&body="+SMSTEXT+"&entityid=1401572690000011081&templateid=1407168595423702047"; |
|||
RestTemplate restTemplate = new RestTemplate(); |
|||
String Response = restTemplate.getForObject(urlString, String.class); |
|||
//System.out.println(Response); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
return "Success"; |
|||
} |
|||
|
|||
|
|||
@GetMapping(value="/getComMappingActionByMapId") |
|||
public List getComMappingActionByMapId(HttpServletRequest request, |
|||
@RequestParam("mapid") String mapid){ |
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
List<MTMEventsPetitionAction> mtmEventsPetitionActionList = mtmEventsPetitionActionRep.ShowDataByMapId(mapid); |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionAction mapping : mtmEventsPetitionActionList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
} |
|||
return mtmEventsPetitionActionList; |
|||
} |
|||
|
|||
@RequestMapping(value = "/insertForwardLog", method = RequestMethod.POST) |
|||
public String insertForwardLog(HttpServletRequest request, |
|||
@RequestParam("offidto") String offidto, |
|||
@RequestParam("comments") String comments, |
|||
@RequestParam("mapid") Integer mapid){ |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.getComMappingDetailsByMapId(mapid.toString()); |
|||
|
|||
if(!mtmEventsPetitionMappingList.isEmpty()) { |
|||
if (mtmEventsPetitionMappingList.size() == 1) { |
|||
mtmEventsPetitionForwardLogRep.insertForwardLog( |
|||
mtmEventsPetitionMappingList.get(0).getOffID(), |
|||
offidto, |
|||
mtmEventsPetitionMappingList.get(0).getPetitionNumber(), |
|||
mtmEventsPetitionMappingList.get(0).getMtmEventsPetitionId().getPetitionId(), |
|||
mtmEventsPetitionMappingList.get(0).getMtmComplaintTypes().getComplaintTypeId(), |
|||
mtmEventsPetitionMappingList.get(0).getMtmEvents().getMtmId(), |
|||
mapid, |
|||
comments); |
|||
mtmEventsPetitionMappingRep.updateForward(mapid.toString(),offidto); |
|||
} |
|||
} |
|||
return "success"; |
|||
} |
|||
} |
|||
@ -0,0 +1,565 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.controller; |
|||
|
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.entity.*; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.login.UserSession; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.others.AppConfig; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.repository.*; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.ui.Model; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.time.format.DateTimeFormatter; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Controller |
|||
public class AdminController { |
|||
@Autowired |
|||
private AppConfig appConfig; |
|||
private final UserSession userSession; |
|||
@Autowired |
|||
public AdminController(UserSession userSession) { |
|||
this.userSession = userSession; |
|||
} |
|||
//@Autowired |
|||
//private UserSession userSession; |
|||
@Autowired |
|||
private MTMComplaintTypesRep mtmComplaintTypesRep; |
|||
@Autowired |
|||
private OfficerMasterRep officerMasterRep; |
|||
@Autowired |
|||
private MTMEventsPetitionRep mtmEventsPetitionRep; |
|||
@Autowired |
|||
private MTMEventsPetitionFilesRep mtmEventsPetitionFilesRep; |
|||
@Autowired |
|||
private MTMEventsPetitionMappingRep mtmEventsPetitionMappingRep; |
|||
@Autowired |
|||
private MTMEventsRep mtmEventsRep; |
|||
@Autowired |
|||
private MTMUsersRep mtmUsersRep; |
|||
@Autowired |
|||
private DatabaseInfoRep databaseInfoRep; |
|||
|
|||
@GetMapping("/admin/dashboard") |
|||
public String viewDashboard(Model model) { |
|||
model.addAttribute("title", "MTM Dashboard"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
Long eventCount = mtmEventsRep.getCount(); |
|||
Long usersCount = mtmUsersRep.getCount(); |
|||
Long officerCount = mtmUsersRep.getCountByType("officer"); |
|||
Long mayorCount = mtmUsersRep.getCountByType("mayor"); |
|||
Long adminCount = mtmUsersRep.getCountByType("admin"); |
|||
|
|||
String dbName = databaseInfoRep.getDBName(); |
|||
Long databaseSize = databaseInfoRep.getDBSize(dbName); |
|||
|
|||
model.addAttribute("eventCount",eventCount); |
|||
model.addAttribute("usersCount",usersCount); |
|||
model.addAttribute("officerCount",officerCount); |
|||
model.addAttribute("mayorCount",mayorCount); |
|||
model.addAttribute("adminCount",adminCount); |
|||
model.addAttribute("databaseSize",databaseSize); |
|||
|
|||
return "admin/dashboard"; |
|||
} |
|||
|
|||
@GetMapping("/admin/event-dashboard") |
|||
public String viewEventDashboard(Model model) { |
|||
model.addAttribute("title", "Count By Complaint Type"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
//System.out.println(userSession.getUserId()); |
|||
|
|||
Long Petitioncount; |
|||
Long PetitionCompletedcount; |
|||
Long PetitionPartialcount; |
|||
Long ComplaintCompletedcount; |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAllByMTMID(eventid); |
|||
Petitioncount = mtmEventsPetitionRep.getPetitionCountByMTMID(eventid); |
|||
PetitionCompletedcount = mtmEventsPetitionRep.getPetitionCompletedCountByMTMID(eventid); |
|||
PetitionPartialcount = mtmEventsPetitionRep.getPetitionPartialCountByMTMID(eventid); |
|||
ComplaintCompletedcount = mtmEventsPetitionMappingRep.getCompletedCountByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAll(); |
|||
Petitioncount = mtmEventsPetitionRep.getPetitionCount(); |
|||
PetitionCompletedcount = mtmEventsPetitionRep.getPetitionCompletedCount(); |
|||
PetitionPartialcount = mtmEventsPetitionRep.getPetitionPartialCount(); |
|||
ComplaintCompletedcount = mtmEventsPetitionMappingRep.getCompletedCount(); |
|||
} |
|||
|
|||
// Petition |
|||
model.addAttribute("Petitioncount", Petitioncount); |
|||
model.addAttribute("PetitionCompletedcount", PetitionCompletedcount); |
|||
model.addAttribute("PetitionPendingcount", (Petitioncount-PetitionCompletedcount)); |
|||
model.addAttribute("PetitionPartialcount", PetitionPartialcount); |
|||
|
|||
// Complaints |
|||
|
|||
Integer compliantCount = 0; |
|||
Integer totalCompliantTypes = mtmComplaintTypesRep.getComplaintCount()+1; |
|||
int[] byCompliantTypes = new int[totalCompliantTypes]; |
|||
|
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
//System.out.println(petition.getPetitionerComplaint()); |
|||
String compliant = petition.getPetitionerComplaint(); |
|||
String[] compliantArray = compliant.split(","); |
|||
compliantCount+=compliantArray.length; |
|||
|
|||
for (String compliantId : compliantArray) { |
|||
//System.out.println(compliantId); |
|||
int compliantIdInt = Integer.parseInt(compliantId); |
|||
byCompliantTypes[compliantIdInt]++; |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("Compliantcount", compliantCount); |
|||
model.addAttribute("ComplaintCompletedcount", ComplaintCompletedcount); |
|||
model.addAttribute("ComplaintPendingcount", (compliantCount-ComplaintCompletedcount)); |
|||
|
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
model.addAttribute("countByCompliantTypes",byCompliantTypes); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
//System.out.println(userSession.getEventid()); |
|||
return "admin/event-dashboard"; |
|||
} |
|||
|
|||
@GetMapping("/admin/petition-list") |
|||
public String petitionList(Model model) { |
|||
model.addAttribute("title","Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAllByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAll(); |
|||
} |
|||
|
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "admin/petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/admin/completed-petition-list") |
|||
public String completedPetitionList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","Completed Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompletedByMTMID(eventid,Status); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompleted(Status); |
|||
} |
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "admin/completed-petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/admin/partial-petition-list") |
|||
public String partialPetitionList(Model model) { |
|||
String Status = "partial"; |
|||
model.addAttribute("title","Partially Completed Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompletedByMTMID(eventid,Status); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompleted(Status); |
|||
} |
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "admin/partial-petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/admin/pending-petition-list") |
|||
public String pendingPetitionList(Model model) { |
|||
//String Status = "partial"; |
|||
model.addAttribute("title","Pending Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showNotCompletedByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showNotCompleted(); |
|||
} |
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "admin/pending-petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/admin/petition-search") |
|||
public String petitionSearch(Model model) { |
|||
model.addAttribute("title","Petition Search"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
return "admin/petition-search"; |
|||
} |
|||
|
|||
@GetMapping("/admin/complaint-list") |
|||
public String complaintList(Model model) { |
|||
|
|||
model.addAttribute("title","Complaint List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showAll(); |
|||
} |
|||
|
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "admin/complaint-list"; |
|||
} |
|||
|
|||
@GetMapping("/admin/completed-complaint-list") |
|||
public String completedComplaintList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","Completed Complaint List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showCompletedByMTMID(eventid,Status); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showCompleted(Status); |
|||
} |
|||
|
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "admin/completed-complaint-list"; |
|||
} |
|||
|
|||
@GetMapping("/admin/pending-complaint-list") |
|||
public String pendingComplaintList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","pending complaint list"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showNotCompletedByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showNotCompleted(); |
|||
} |
|||
|
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "admin/pending-complaint-list"; |
|||
} |
|||
} |
|||
@ -0,0 +1,106 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.controller; |
|||
|
|||
import java.io.IOException; |
|||
import java.sql.Blob; |
|||
import java.sql.SQLException; |
|||
import java.util.List; |
|||
|
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.entity.MTMEventsPetitionFiles; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.repository.MTMEventsPetitionFilesRep; |
|||
import jakarta.servlet.http.HttpServletRequest; |
|||
import org.apache.tika.Tika; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.entity.MTMEventsPetitionAction; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.repository.MTMEventsPetitionActionRep; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RequestParam; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
@RequestMapping("/api") |
|||
@RestController |
|||
public class BlobController { |
|||
@Autowired |
|||
MTMEventsPetitionActionRep mtmEventsPetitionActionRep; |
|||
@Autowired |
|||
MTMEventsPetitionFilesRep mtmEventsPetitionFilesRep; |
|||
|
|||
@GetMapping("/viewBlobData") |
|||
public String[] viewBlob(HttpServletRequest request, @RequestParam("id") String id, @RequestParam("table") String table) { |
|||
// Retrieve Blob data from your data source |
|||
Blob blobData = getBlobData(id,table); // Replace with your logic to get the Blob data |
|||
if(blobData != null && isBlobDataExists(blobData)){ |
|||
// Convert Blob data to Base64 encoding |
|||
String base64Data = convertBlobToBase64(blobData); |
|||
|
|||
// Get the file type based on Blob data |
|||
String fileType = getFileType(blobData); |
|||
String[] fileData = new String[2]; |
|||
fileData[0] = base64Data; |
|||
fileData[1] = fileType; |
|||
// Pass the Base64 encoded data and file type to the Thymeleaf template |
|||
//model.addAttribute("blobData", base64Data); |
|||
//model.addAttribute("fileType", fileType); |
|||
return fileData; |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
private Blob getBlobData(String Id, String type) { |
|||
if(type.equals("action")){ |
|||
List<MTMEventsPetitionAction> DataList = mtmEventsPetitionActionRep.ShowDataBySolMapId(Id); |
|||
if(DataList.size()>0){ |
|||
Blob blobData = DataList.get(0).getData(); |
|||
return blobData; |
|||
} |
|||
} else if (type.equals("petition")) { |
|||
List<MTMEventsPetitionFiles> DataList = mtmEventsPetitionFilesRep.ShowFileByFileId(Id); |
|||
if(DataList.size()>0){ |
|||
Blob blobData = DataList.get(0).getData(); |
|||
return blobData; |
|||
} |
|||
} |
|||
return null; |
|||
} |
|||
public boolean isBlobDataExists(Blob blobData) { |
|||
try { |
|||
int blobLength = (int) blobData.length(); |
|||
return blobLength > 0; |
|||
} catch (SQLException e) { |
|||
e.printStackTrace(); |
|||
return false; |
|||
} |
|||
} |
|||
private String convertBlobToBase64(Blob blobData) { |
|||
try { |
|||
byte[] bytes = blobData.getBytes(1, (int) blobData.length()); |
|||
return java.util.Base64.getEncoder().encodeToString(bytes); |
|||
} catch (SQLException e) { |
|||
e.printStackTrace(); |
|||
return null; |
|||
} |
|||
} |
|||
|
|||
private String getFileType(Blob blobData) { |
|||
try { |
|||
// Retrieve the input stream from the Blob |
|||
java.io.InputStream inputStream = blobData.getBinaryStream(); |
|||
|
|||
// Determine the file type based on the input stream |
|||
// Create an instance of Apache Tika |
|||
Tika tika = new Tika(); |
|||
|
|||
// Determine the file type based on the input stream using Apache Tika |
|||
String fileType = tika.detect(inputStream); |
|||
|
|||
return fileType; |
|||
|
|||
} catch (SQLException e) { |
|||
e.printStackTrace(); |
|||
return null; |
|||
} catch (IOException e) { |
|||
throw new RuntimeException(e); |
|||
} |
|||
} |
|||
|
|||
} |
|||
1032
src/main/java/com/gcc/mtm/Makkalai/Thedi/Mayor/controller/MainController.java
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,776 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.controller; |
|||
|
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.entity.*; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.login.UserSession; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.others.AppConfig; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.repository.*; |
|||
import jakarta.servlet.http.HttpServletRequest; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.core.io.InputStreamResource; |
|||
import org.springframework.http.*; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.ui.Model; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import java.time.LocalDate; |
|||
import java.time.format.DateTimeFormatter; |
|||
import org.springframework.web.client.RestTemplate; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import javax.sql.rowset.serial.SerialBlob; |
|||
import java.io.IOException; |
|||
import java.io.InputStream; |
|||
import java.sql.Blob; |
|||
import java.sql.SQLException; |
|||
import java.time.LocalDateTime; |
|||
import java.util.*; |
|||
|
|||
@Controller |
|||
public class MayorController { |
|||
@Autowired |
|||
private AppConfig appConfig; |
|||
|
|||
private final UserSession userSession; |
|||
|
|||
@Autowired |
|||
public MayorController(UserSession userSession) { |
|||
this.userSession = userSession; |
|||
} |
|||
//@Autowired |
|||
//private UserSession userSession; |
|||
@Autowired |
|||
private MTMComplaintTypesRep mtmComplaintTypesRep; |
|||
@Autowired |
|||
private OfficerMasterRep officerMasterRep; |
|||
@Autowired |
|||
private MTMEventsPetitionRep mtmEventsPetitionRep; |
|||
@Autowired |
|||
private MTMEventsPetitionFilesRep mtmEventsPetitionFilesRep; |
|||
@Autowired |
|||
private MTMEventsPetitionMappingRep mtmEventsPetitionMappingRep; |
|||
@Autowired |
|||
private MTMEventsRep mtmEventsRep; |
|||
|
|||
@GetMapping("/mayor/dashboard") |
|||
public String viewDashboard(Model model) { |
|||
model.addAttribute("title", "Count By Complaint Type"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
//System.out.println(userSession.getUserId()); |
|||
|
|||
Long Petitioncount; |
|||
Long PetitionCompletedcount; |
|||
Long PetitionPartialcount; |
|||
Long ComplaintCompletedcount; |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
|
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAllByMTMID(eventid); |
|||
Petitioncount = mtmEventsPetitionRep.getPetitionCountByMTMID(eventid); |
|||
PetitionCompletedcount = mtmEventsPetitionRep.getPetitionCompletedCountByMTMID(eventid); |
|||
PetitionPartialcount = mtmEventsPetitionRep.getPetitionPartialCountByMTMID(eventid); |
|||
ComplaintCompletedcount = mtmEventsPetitionMappingRep.getCompletedCountByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAll(); |
|||
Petitioncount = mtmEventsPetitionRep.getPetitionCount(); |
|||
PetitionCompletedcount = mtmEventsPetitionRep.getPetitionCompletedCount(); |
|||
PetitionPartialcount = mtmEventsPetitionRep.getPetitionPartialCount(); |
|||
ComplaintCompletedcount = mtmEventsPetitionMappingRep.getCompletedCount(); |
|||
} |
|||
|
|||
// Officers |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Petition |
|||
model.addAttribute("Petitioncount", Petitioncount); |
|||
model.addAttribute("PetitionCompletedcount", PetitionCompletedcount); |
|||
model.addAttribute("PetitionPendingcount", (Petitioncount-PetitionCompletedcount)); |
|||
model.addAttribute("PetitionPartialcount", PetitionPartialcount); |
|||
|
|||
// Complaints |
|||
Integer compliantCount = 0; |
|||
Integer totalCompliantTypes = mtmComplaintTypesRep.getComplaintCount()+1; |
|||
int[] byCompliantTypes = new int[totalCompliantTypes]; |
|||
|
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
//System.out.println(petition.getPetitionerComplaint()); |
|||
String compliant = petition.getPetitionerComplaint(); |
|||
String[] compliantArray = compliant.split(","); |
|||
compliantCount+=compliantArray.length; |
|||
|
|||
for (String compliantId : compliantArray) { |
|||
//System.out.println(compliantId); |
|||
int compliantIdInt = Integer.parseInt(compliantId); |
|||
byCompliantTypes[compliantIdInt]++; |
|||
} |
|||
} |
|||
|
|||
model.addAttribute("Compliantcount", compliantCount); |
|||
model.addAttribute("ComplaintCompletedcount", ComplaintCompletedcount); |
|||
model.addAttribute("ComplaintPendingcount", (compliantCount-ComplaintCompletedcount)); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
//System.out.println(userSession.getEventid()); |
|||
|
|||
return "mayor/dashboard"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/by-event-list") |
|||
public String vieweventlistreport(Model model) { |
|||
model.addAttribute("title", "Count By Complaint Type"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
List<MTMEvents> mtmEventsListcount; |
|||
|
|||
String eventName ="All"; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsListcount = mtmEventsRep.eventsByID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsListcount = mtmEventsRep.showAll(); |
|||
} |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
Long Petitioncount; |
|||
Long PetitionCompletedcount; |
|||
Long ComplaintCompletedcount; |
|||
Long TotalComplaints = 0L; |
|||
|
|||
for (MTMEvents event : mtmEventsListcount) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEvent_date(formattedEventDate); |
|||
String eventid = event.getMtmId().toString(); |
|||
|
|||
Petitioncount = mtmEventsPetitionRep.getPetitionCountByMTMID(eventid); |
|||
event.setTotal_petitions(Petitioncount.toString()); |
|||
PetitionCompletedcount = mtmEventsPetitionRep.getPetitionCompletedCountByMTMID(eventid); |
|||
event.setPetitions_completed(PetitionCompletedcount.toString()); |
|||
Long PetitionPendingCount = (Petitioncount-PetitionCompletedcount); |
|||
event.setPetitions_pending(PetitionPendingCount.toString()); |
|||
|
|||
event.setPetition_partially_completed(mtmEventsPetitionRep.getPetitionPartialCountByMTMID(eventid).toString()); |
|||
|
|||
ComplaintCompletedcount = mtmEventsPetitionMappingRep.getCompletedCountByMTMID(eventid); |
|||
event.setCompliants_completed(ComplaintCompletedcount.toString()); |
|||
|
|||
// Complaints |
|||
List<MTMEventsPetition> mtmEventsPetitionList = mtmEventsPetitionRep.showAllByMTMID(eventid); |
|||
Integer compliantCount = 0; |
|||
Integer totalCompliantTypes = mtmComplaintTypesRep.getComplaintCount()+1; |
|||
int[] byCompliantTypes = new int[totalCompliantTypes]; |
|||
|
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
//System.out.println(petition.getPetitionerComplaint()); |
|||
String compliant = petition.getPetitionerComplaint(); |
|||
String[] compliantArray = compliant.split(","); |
|||
compliantCount+=compliantArray.length; |
|||
|
|||
for (String compliantId : compliantArray) { |
|||
//System.out.println(compliantId); |
|||
int compliantIdInt = Integer.parseInt(compliantId); |
|||
byCompliantTypes[compliantIdInt]++; |
|||
} |
|||
} |
|||
TotalComplaints = TotalComplaints + compliantCount; |
|||
event.setTotal_compliants(compliantCount.toString()); |
|||
Long pendingcount = (compliantCount-ComplaintCompletedcount); |
|||
event.setCompliants_pending(pendingcount.toString()); |
|||
} |
|||
model.addAttribute("mtmEventsTableList",mtmEventsListcount); |
|||
model.addAttribute("totalComplaintsCounts",TotalComplaints); |
|||
|
|||
// For Search Event |
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
// Events |
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "mayor/by-event-list"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/by-officer-list") |
|||
public String viewofficerlistreport(Model model) { |
|||
model.addAttribute("title", "Count By Complaint Type"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
// Format Date |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
List<String> distinctOffIds = null; |
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> eventMap = new HashMap<>(); |
|||
for (MTMEvents event : mtmEventsList) { |
|||
LocalDate eventDate = LocalDate.parse(event.getEventDate(), inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
eventMap.put(event.getMtmId().toString(), event.getEventName() +" ("+formattedEventDate+")"); |
|||
} |
|||
|
|||
String eventName ="All"; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
distinctOffIds = mtmEventsPetitionMappingRep.showListByeventOfficer(eventid); |
|||
eventName = eventMap.get(eventid); |
|||
} |
|||
else{ |
|||
distinctOffIds = mtmEventsPetitionMappingRep.showListBy_Officer(); |
|||
} |
|||
|
|||
// Officers |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
Integer totalCount = 0; |
|||
List<MTMEventsPetitionMapping> officerList = new ArrayList<>(); |
|||
for (String offId : distinctOffIds) { |
|||
Long offCount; |
|||
Long offCompletedCount; |
|||
Long offPendingCount; |
|||
|
|||
if (userSession.getEventid() != null && !userSession.getEventid().isEmpty()) { |
|||
String eventId = userSession.getEventid(); |
|||
offCount = mtmEventsPetitionMappingRep.getPetionCountByOffId_MapId(eventId, offId); |
|||
offCompletedCount = mtmEventsPetitionMappingRep.getPetionCountByOffId_MapId_Status(eventId, offId,"close"); |
|||
} else { |
|||
offCount = mtmEventsPetitionMappingRep.getPetionCountByOffId(offId); |
|||
offCompletedCount = mtmEventsPetitionMappingRep.getPetionCountByOffId_Status(offId,"close"); |
|||
} |
|||
|
|||
offPendingCount = offCount-offCompletedCount; |
|||
String officerName = officerMap.get(offId); |
|||
|
|||
MTMEventsPetitionMapping officer = new MTMEventsPetitionMapping(); |
|||
// Create a new officer object or update an existing one with the necessary properties |
|||
officer.setOffID(offId); |
|||
officer.setOfficer_name(officerName); |
|||
officer.setOfficer_petition_count(offCount.toString()); |
|||
totalCount = totalCount.intValue() + offCount.intValue(); |
|||
officer.setOfficer_completed_count(offCompletedCount.toString()); |
|||
officer.setOfficer_pending_count(offPendingCount.toString()); |
|||
officer.setEvent_name(eventName); |
|||
officerList.add(officer); |
|||
} |
|||
|
|||
model.addAttribute("officer",officerList); |
|||
model.addAttribute("totalCounts",totalCount); |
|||
|
|||
// Events |
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
//System.out.println(userSession.getEventid()); |
|||
|
|||
return "mayor/by-officer-list"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/by-complaint-list") |
|||
public String viewcomplaintlistreport(Model model) { |
|||
model.addAttribute("title", "Count By Complaint Type"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
List<String> distinctOffIds = null; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAllByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAll(); |
|||
} |
|||
|
|||
// Complaints |
|||
Integer totalCompliantTypes = mtmComplaintTypesRep.getComplaintCount()+1; |
|||
int[] byCompliantTypes = new int[totalCompliantTypes]; |
|||
|
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
//System.out.println(petition.getPetitionerComplaint()); |
|||
String compliant = petition.getPetitionerComplaint(); |
|||
String[] compliantArray = compliant.split(","); |
|||
|
|||
for (String compliantId : compliantArray) { |
|||
//System.out.println(compliantId); |
|||
int compliantIdInt = Integer.parseInt(compliantId); |
|||
byCompliantTypes[compliantIdInt]++; |
|||
} |
|||
} |
|||
|
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
model.addAttribute("countByCompliantTypes",byCompliantTypes); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
//System.out.println(userSession.getEventid()); |
|||
|
|||
return "mayor/by-complaint-list"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/petition-list") |
|||
public String petitionList(Model model) { |
|||
model.addAttribute("title","Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAllByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAll(); |
|||
} |
|||
|
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "mayor/petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/completed-petition-list") |
|||
public String completedPetitionList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","Completed Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompletedByMTMID(eventid,Status); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompleted(Status); |
|||
} |
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "mayor/completed-petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/partial-petition-list") |
|||
public String partialPetitionList(Model model) { |
|||
String Status = "partial"; |
|||
model.addAttribute("title","Partially Completed Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompletedByMTMID(eventid,Status); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompleted(Status); |
|||
} |
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "mayor/partial-petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/pending-petition-list") |
|||
public String pendingPetitionList(Model model) { |
|||
//String Status = "partial"; |
|||
model.addAttribute("title","Pending Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showNotCompletedByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showNotCompleted(); |
|||
} |
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "mayor/pending-petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/petition-search") |
|||
public String petitionSearch(Model model) { |
|||
model.addAttribute("title","Petition Search"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
return "mayor/petition-search"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/complaint-list") |
|||
public String complaintList(Model model) { |
|||
|
|||
model.addAttribute("title","Complaint List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showAll(); |
|||
} |
|||
|
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "mayor/complaint-list"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/completed-complaint-list") |
|||
public String completedComplaintList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","Completed Complaint List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showCompletedByMTMID(eventid,Status); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showCompleted(Status); |
|||
} |
|||
|
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "mayor/completed-complaint-list"; |
|||
} |
|||
|
|||
@GetMapping("/mayor/pending-complaint-list") |
|||
public String pendingComplaintList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","pending complaint list"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showNotCompletedByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showNotCompleted(); |
|||
} |
|||
|
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "mayor/pending-complaint-list"; |
|||
} |
|||
} |
|||
@ -0,0 +1,767 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.controller; |
|||
|
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.entity.*; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.login.UserSession; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.others.AppConfig; |
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.repository.*; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.ui.Model; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.client.RestTemplate; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.time.format.DateTimeFormatter; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Controller |
|||
public class OfficerController { |
|||
@Autowired |
|||
private AppConfig appConfig; |
|||
private final UserSession userSession; |
|||
@Autowired |
|||
public OfficerController(UserSession userSession) { |
|||
this.userSession = userSession; |
|||
} |
|||
//@Autowired |
|||
//private UserSession userSession; |
|||
@Autowired |
|||
private MTMComplaintTypesRep mtmComplaintTypesRep; |
|||
@Autowired |
|||
private OfficerMasterRep officerMasterRep; |
|||
@Autowired |
|||
private OfficerAccessRep officerAccessRep; |
|||
@Autowired |
|||
private MTMEventsPetitionRep mtmEventsPetitionRep; |
|||
@Autowired |
|||
private MTMEventsPetitionFilesRep mtmEventsPetitionFilesRep; |
|||
@Autowired |
|||
private MTMEventsPetitionMappingRep mtmEventsPetitionMappingRep; |
|||
@Autowired |
|||
private MTMEventsRep mtmEventsRep; |
|||
|
|||
@GetMapping("/officer/dashboard") |
|||
public String viewDashboard(Model model) { |
|||
model.addAttribute("title", "Count By Complaint Type"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
//System.out.println(userSession.getUserId()); |
|||
|
|||
|
|||
Integer Compliantcount; |
|||
Integer ComplaintCompletedcount; |
|||
//List<MTMEventsPetition> mtmEventsPetitionList; |
|||
|
|||
String accessids = userSession.getAccessIds(); |
|||
String[] accessids_array = accessids.split(","); |
|||
|
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList; |
|||
|
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showByeventOfficer(eventid,accessids_array); |
|||
ComplaintCompletedcount = mtmEventsPetitionMappingRep.showCompletedByEventOfficer(eventid,accessids_array,"close").size(); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showAllByOfficer(accessids_array); |
|||
ComplaintCompletedcount = mtmEventsPetitionMappingRep.showCompletedByOfficer(accessids_array,"close").size(); |
|||
} |
|||
Compliantcount = mtmEventsPetitionMappingList.size(); |
|||
model.addAttribute("Compliantcount", Compliantcount); |
|||
model.addAttribute("ComplaintCompletedcount", ComplaintCompletedcount); |
|||
model.addAttribute("ComplaintPendingcount", (Compliantcount-ComplaintCompletedcount)); |
|||
|
|||
|
|||
List<MTMEvents> mtmEventsListcount; |
|||
|
|||
String eventName ="All"; |
|||
|
|||
String eventid = officerAccessRep.getAccessOfficerIDs(userSession.getUserId()).get(0).getMtmId(); |
|||
mtmEventsListcount = mtmEventsRep.eventsByID(eventid); |
|||
|
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
Long Petitioncount; |
|||
Long PetitionCompletedcount; |
|||
Long ComplaintCompletedcounttxt; |
|||
Long TotalComplaints = 0L; |
|||
|
|||
for (MTMEvents event : mtmEventsListcount) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEvent_date(formattedEventDate); |
|||
eventid = event.getMtmId().toString(); |
|||
|
|||
Petitioncount = mtmEventsPetitionRep.getPetitionCountByMTMID(eventid); |
|||
event.setTotal_petitions(Petitioncount.toString()); |
|||
PetitionCompletedcount = mtmEventsPetitionRep.getPetitionCompletedCountByMTMID(eventid); |
|||
event.setPetitions_completed(PetitionCompletedcount.toString()); |
|||
Long PetitionPendingCount = (Petitioncount-PetitionCompletedcount); |
|||
event.setPetitions_pending(PetitionPendingCount.toString()); |
|||
|
|||
event.setPetition_partially_completed(mtmEventsPetitionRep.getPetitionPartialCountByMTMID(eventid).toString()); |
|||
|
|||
ComplaintCompletedcounttxt = mtmEventsPetitionMappingRep.getCompletedCountByMTMID(eventid); |
|||
event.setCompliants_completed(ComplaintCompletedcounttxt.toString()); |
|||
|
|||
// Complaints |
|||
List<MTMEventsPetition> mtmEventsPetitionList = mtmEventsPetitionRep.showAllByMTMID(eventid); |
|||
Integer compliantCount = 0; |
|||
Integer totalCompliantTypes = mtmComplaintTypesRep.getComplaintCount()+1; |
|||
int[] byCompliantTypes = new int[totalCompliantTypes]; |
|||
|
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
//System.out.println(petition.getPetitionerComplaint()); |
|||
String compliant = petition.getPetitionerComplaint(); |
|||
String[] compliantArray = compliant.split(","); |
|||
compliantCount+=compliantArray.length; |
|||
|
|||
for (String compliantId : compliantArray) { |
|||
//System.out.println(compliantId); |
|||
int compliantIdInt = Integer.parseInt(compliantId); |
|||
byCompliantTypes[compliantIdInt]++; |
|||
} |
|||
} |
|||
TotalComplaints = TotalComplaints + compliantCount; |
|||
event.setTotal_compliants(compliantCount.toString()); |
|||
Long pendingcount = (compliantCount-ComplaintCompletedcounttxt); |
|||
event.setCompliants_pending(pendingcount.toString()); |
|||
} |
|||
model.addAttribute("mtmEventsTableList",mtmEventsListcount); |
|||
model.addAttribute("totalComplaintsCounts",TotalComplaints); |
|||
|
|||
|
|||
/* |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
//model.addAttribute("countByCompliantTypes",byCompliantTypes); |
|||
*/ |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
//System.out.println(userSession.getEventid()); |
|||
return "officer/dashboard"; |
|||
} |
|||
/* |
|||
@GetMapping("/officer/petition-list") |
|||
public String petitionList(Model model) { |
|||
model.addAttribute("title","Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
|
|||
String accessids = userSession.getAccessIds(); |
|||
String[] accessids_array = accessids.split(","); |
|||
|
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAllByOffId(eventid,accessids_array); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showAllOffId(accessids_array); |
|||
} |
|||
|
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "officer/petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/officer/completed-petition-list") |
|||
public String completedPetitionList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","Completed Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompletedByMTMID(eventid,Status); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompleted(Status); |
|||
} |
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "officer/completed-petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/officer/partial-petition-list") |
|||
public String partialPetitionList(Model model) { |
|||
String Status = "partial"; |
|||
model.addAttribute("title","Partially Completed Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompletedByMTMID(eventid,Status); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showCompleted(Status); |
|||
} |
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "officer/partial-petition-list"; |
|||
} |
|||
|
|||
@GetMapping("/officer/pending-petition-list") |
|||
public String pendingPetitionList(Model model) { |
|||
//String Status = "partial"; |
|||
model.addAttribute("title","Pending Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMEventsPetition> mtmEventsPetitionList; |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showNotCompletedByMTMID(eventid); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionList = mtmEventsPetitionRep.showNotCompleted(); |
|||
} |
|||
//model.addAttribute("petitionlist",mtmEventsPetitionList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map to store the ID-name mappings from mtmComplaintTypesList |
|||
Map<Integer, String> complaintTypesMap = new HashMap<>(); |
|||
for (MTMComplaintTypes complaintType : mtmComplaintTypesList) { |
|||
complaintTypesMap.put(complaintType.getComplaintTypeId(), complaintType.getComplaintType()); |
|||
} |
|||
|
|||
// Iterate over mtmEventsPetitionList and replace ID values with names |
|||
for (MTMEventsPetition petition : mtmEventsPetitionList) { |
|||
String[] complaintIds = petition.getPetitionerComplaint().split(","); |
|||
StringBuilder complaintNames = new StringBuilder(); |
|||
|
|||
for (String complaintId : complaintIds) { |
|||
int id = Integer.parseInt(complaintId); |
|||
if (complaintTypesMap.containsKey(id)) { |
|||
complaintNames.append(complaintTypesMap.get(id)).append(","); |
|||
} |
|||
} |
|||
|
|||
if (complaintNames.length() > 0) { |
|||
complaintNames.deleteCharAt(complaintNames.length() - 1); // Remove the trailing comma |
|||
} |
|||
|
|||
petition.setPetitionerComplaint_txt(complaintNames.toString()); |
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
return "officer/pending-petition-list"; |
|||
} |
|||
*/ |
|||
@GetMapping("/officer/petition-search") |
|||
public String petitionSearch(Model model) { |
|||
model.addAttribute("title","Petition Search"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
return "officer/petition-search"; |
|||
} |
|||
|
|||
@GetMapping("/officer/complaint-list") |
|||
public String complaintList(Model model) { |
|||
|
|||
model.addAttribute("title","Complaint List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList; |
|||
|
|||
String accessids = userSession.getAccessIds(); |
|||
String[] accessids_array = accessids.split(","); |
|||
|
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showByeventOfficer(eventid,accessids_array); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showAllByOfficer(accessids_array); |
|||
} |
|||
|
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "officer/complaint-list"; |
|||
} |
|||
|
|||
@GetMapping("/officer/completed-complaint-list") |
|||
public String completedComplaintList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","Completed Complaint List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList; |
|||
String accessids = userSession.getAccessIds(); |
|||
String[] accessids_array = accessids.split(","); |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showCompletedByEventOfficer(eventid,accessids_array,"close"); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showCompletedByOfficer(accessids_array,"close"); |
|||
} |
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "officer/completed-complaint-list"; |
|||
} |
|||
|
|||
@GetMapping("/officer/pending-complaint-list") |
|||
public String pendingComplaintList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","pending complaint list"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList; |
|||
String accessids = userSession.getAccessIds(); |
|||
String[] accessids_array = accessids.split(","); |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
// String eventid = userSession.getEventid(); |
|||
String eventid = officerAccessRep.getAccessOfficerIDs(userSession.getUserId()).get(0).getMtmId(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showNotCompletedByEventOfficer(eventid,accessids_array); |
|||
} |
|||
else{ |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showNotCompletedByOfficer(accessids_array); |
|||
} |
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "officer/pending-complaint-list"; |
|||
} |
|||
|
|||
|
|||
@GetMapping("/officer/my-complaint-list") |
|||
public String myComplaintList(Model model) { |
|||
|
|||
model.addAttribute("title","Complaint List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = null; |
|||
|
|||
String accessids = userSession.getAccessIds(); |
|||
String[] accessids_array = accessids.split(","); |
|||
|
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
//String eventid = userSession.getEventid(); |
|||
String eventid = officerAccessRep.getAccessOfficerIDs(userSession.getUserId()).get(0).getMtmId(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showByMTMID(eventid); |
|||
} |
|||
else{ |
|||
String eventid = officerAccessRep.getAccessOfficerIDs(userSession.getUserId()).get(0).getMtmId(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showByMTMID(eventid); |
|||
} |
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "officer/my-complaint-list"; |
|||
} |
|||
|
|||
@GetMapping("/officer/my-completed-complaint-list") |
|||
public String myCompletedComplaintList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","Completed Complaint List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = null; |
|||
String accessids = userSession.getAccessIds(); |
|||
String[] accessids_array = accessids.split(","); |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
//String eventid = userSession.getEventid(); |
|||
String eventid = officerAccessRep.getAccessOfficerIDs(userSession.getUserId()).get(0).getMtmId(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showCompletedByMTMID(eventid,"close"); |
|||
} |
|||
else{ |
|||
String eventid = officerAccessRep.getAccessOfficerIDs(userSession.getUserId()).get(0).getMtmId(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showCompletedByMTMID(eventid,"close"); |
|||
} |
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "officer/my-completed-complaint-list"; |
|||
} |
|||
|
|||
@GetMapping("/officer/my-pending-complaint-list") |
|||
public String myPendingComplaintList(Model model) { |
|||
String Status = "close"; |
|||
model.addAttribute("title","pending complaint list"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
|
|||
String officer_id= userSession.getUserType(); |
|||
List<MTMEventsPetitionMapping> mtmEventsPetitionMappingList = null; |
|||
String accessids = userSession.getAccessIds(); |
|||
String[] accessids_array = accessids.split(","); |
|||
if(userSession.getEventid() != null && !userSession.getEventid().isEmpty()){ |
|||
String eventid = userSession.getEventid(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showNotCompletedByMTMID(eventid); |
|||
} |
|||
else{ |
|||
String eventid = officerAccessRep.getAccessOfficerIDs(userSession.getUserId()).get(0).getMtmId(); |
|||
mtmEventsPetitionMappingList = mtmEventsPetitionMappingRep.showNotCompletedByMTMID(eventid); |
|||
} |
|||
|
|||
List<OfficerMaster> officerMasterList = officerMasterRep.showAll(); |
|||
|
|||
// Create a map of Officer IDs to Officer Names for easy lookup |
|||
Map<String, String> officerMap = new HashMap<>(); |
|||
for (OfficerMaster officer : officerMasterList) { |
|||
officerMap.put(officer.getOffId(), officer.getOffNM()); |
|||
} |
|||
|
|||
// Iterate through the mtmEventsPetitionMappingList and add Officer Name |
|||
for (MTMEventsPetitionMapping mapping : mtmEventsPetitionMappingList) { |
|||
String officerId = mapping.getOffID(); |
|||
String officerName = officerMap.get(officerId); |
|||
mapping.setOfficer_name(officerName); |
|||
if(mapping.getStatus()==null){ |
|||
mapping.setStatus("Pending"); |
|||
} |
|||
|
|||
} |
|||
|
|||
model.addAttribute("petitionlist", mtmEventsPetitionMappingList); |
|||
model.addAttribute("officerMasterList", officerMasterList); |
|||
List<MTMComplaintTypes> mtmComplaintTypesList = mtmComplaintTypesRep.showAll(); |
|||
model.addAttribute("complaintTypesList",mtmComplaintTypesList); |
|||
|
|||
List<MTMEvents> mtmEventsList = mtmEventsRep.showAll(); |
|||
|
|||
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|||
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy"); |
|||
|
|||
for (MTMEvents event : mtmEventsList) { |
|||
String eventDateStr = event.getEventDate(); |
|||
LocalDate eventDate = LocalDate.parse(eventDateStr, inputFormatter); |
|||
String formattedEventDate = eventDate.format(outputFormatter); |
|||
event.setEventDate(formattedEventDate); |
|||
} |
|||
model.addAttribute("mtmEventsList",mtmEventsList); |
|||
|
|||
return "officer/my-pending-complaint-list"; |
|||
} |
|||
} |
|||
@ -0,0 +1,76 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|||
import jakarta.persistence.*; |
|||
|
|||
@Entity |
|||
@Table(name = "mtm_complaint_types") |
|||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) |
|||
public class MTMComplaintTypes { |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Column(name = "complaint_typeid",nullable = false) |
|||
private Integer complaintTypeId; |
|||
@Column(name = "complaint_type", nullable = false, columnDefinition = "TEXT") |
|||
private String complaintType; |
|||
@Column(name = "isdelete",nullable = false, columnDefinition = "Boolean default false") |
|||
private Boolean isDelete; |
|||
@Column(name = "isactive",nullable = false, columnDefinition = "Boolean default true") |
|||
private Boolean isActive; |
|||
@Column(name = "created_by",nullable = false, columnDefinition = "Integer Default 0") |
|||
private Integer createdBy; |
|||
@Column(name = "cdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private String cDate; |
|||
|
|||
public MTMComplaintTypes() { |
|||
} |
|||
|
|||
public Integer getComplaintTypeId() { |
|||
return complaintTypeId; |
|||
} |
|||
|
|||
public void setComplaintTypeId(Integer complaintTypeId) { |
|||
this.complaintTypeId = complaintTypeId; |
|||
} |
|||
|
|||
public String getComplaintType() { |
|||
return complaintType; |
|||
} |
|||
|
|||
public void setComplaintType(String complaintType) { |
|||
this.complaintType = complaintType; |
|||
} |
|||
|
|||
|
|||
public Boolean getIsActive() { |
|||
return isActive; |
|||
} |
|||
|
|||
public void setIsActive(Boolean isActive) { |
|||
this.isActive = isActive; |
|||
} |
|||
|
|||
public Boolean getIsDelete() { |
|||
return isDelete; |
|||
} |
|||
|
|||
public void setIsDelete(Boolean isDelete) { |
|||
this.isDelete = isDelete; |
|||
} |
|||
|
|||
public Integer getCreatedBy() { |
|||
return createdBy; |
|||
} |
|||
|
|||
public void setCreatedBy(Integer createdBy) { |
|||
this.createdBy = createdBy; |
|||
} |
|||
|
|||
public String getcDate() { |
|||
return cDate; |
|||
} |
|||
|
|||
public void setcDate(String cDate) { |
|||
this.cDate = cDate; |
|||
} |
|||
} |
|||
@ -0,0 +1,207 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|||
import jakarta.persistence.*; |
|||
|
|||
@Table(name = "mtm_events") |
|||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) |
|||
@Entity |
|||
public class MTMEvents { |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Column(name = "mtm_id",nullable = false) |
|||
private Integer mtmId; |
|||
@Column(name = "eventname",nullable = false) |
|||
private String eventName; |
|||
@Column(name = "eventaddress",nullable = false) |
|||
private String eventAddress; |
|||
@Column(name = "eventdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private String eventDate; |
|||
@Column(name = "zone", nullable = false, columnDefinition = "VARCHAR(255) DEFAULT '0'") |
|||
private String zone; |
|||
@Column(name = "ackno",nullable = false) |
|||
private String ackNo; |
|||
@Column(name = "startpetid",nullable = false, columnDefinition = "Integer Default 0") |
|||
private Integer startPetId; |
|||
@Column(name = "isdelete",nullable = false, columnDefinition = "Boolean default false") |
|||
private Boolean isDelete; |
|||
@Column(name = "isactive",nullable = false, columnDefinition = "Boolean default true") |
|||
private Boolean isActive; |
|||
@Column(name = "created_by",nullable = false, columnDefinition = "Integer Default 0") |
|||
private Integer createdBy; |
|||
@Column(name = "cdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private String cDate; |
|||
|
|||
@Transient |
|||
private String event_date; |
|||
@Transient |
|||
private String total_petitions; |
|||
@Transient |
|||
private String petitions_completed; |
|||
@Transient |
|||
private String petition_partially_completed; |
|||
@Transient |
|||
private String petitions_pending; |
|||
@Transient |
|||
private String total_compliants; |
|||
@Transient |
|||
private String compliants_completed; |
|||
@Transient |
|||
private String compliants_pending; |
|||
|
|||
public MTMEvents() { |
|||
} |
|||
|
|||
public Integer getMtmId() { |
|||
return mtmId; |
|||
} |
|||
|
|||
public void setMtmId(Integer mtmId) { |
|||
this.mtmId = mtmId; |
|||
} |
|||
|
|||
public String getEventName() { |
|||
return eventName; |
|||
} |
|||
|
|||
public void setEventName(String eventName) { |
|||
this.eventName = eventName; |
|||
} |
|||
|
|||
public String getZone() { |
|||
return zone; |
|||
} |
|||
|
|||
public void setZone(String zone) { |
|||
this.zone = zone; |
|||
} |
|||
|
|||
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 Boolean getIsActive() { |
|||
return isActive; |
|||
} |
|||
|
|||
public void setIsActive(Boolean isActive) { |
|||
this.isActive = isActive; |
|||
} |
|||
|
|||
public Boolean getIsDelete() { |
|||
return isDelete; |
|||
} |
|||
|
|||
public void setIsDelete(Boolean isDelete) { |
|||
this.isDelete = isDelete; |
|||
} |
|||
|
|||
public Integer getCreatedBy() { |
|||
return createdBy; |
|||
} |
|||
|
|||
public void setCreatedBy(Integer 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 String getTotal_petitions() { |
|||
return total_petitions; |
|||
} |
|||
|
|||
public void setTotal_petitions(String total_petitions) { |
|||
this.total_petitions = total_petitions; |
|||
} |
|||
|
|||
public String getPetitions_completed() { |
|||
return petitions_completed; |
|||
} |
|||
|
|||
public void setPetitions_completed(String petitions_completed) { |
|||
this.petitions_completed = petitions_completed; |
|||
} |
|||
|
|||
public String getPetition_partially_completed() { |
|||
return petition_partially_completed; |
|||
} |
|||
|
|||
public void setPetition_partially_completed(String petition_partially_completed) { |
|||
this.petition_partially_completed = petition_partially_completed; |
|||
} |
|||
|
|||
public String getPetitions_pending() { |
|||
return petitions_pending; |
|||
} |
|||
|
|||
public void setPetitions_pending(String petitions_pending) { |
|||
this.petitions_pending = petitions_pending; |
|||
} |
|||
|
|||
public String getTotal_compliants() { |
|||
return total_compliants; |
|||
} |
|||
|
|||
public void setTotal_compliants(String total_compliants) { |
|||
this.total_compliants = total_compliants; |
|||
} |
|||
|
|||
public String getCompliants_completed() { |
|||
return compliants_completed; |
|||
} |
|||
|
|||
public void setCompliants_completed(String compliants_completed) { |
|||
this.compliants_completed = compliants_completed; |
|||
} |
|||
|
|||
public String getCompliants_pending() { |
|||
return compliants_pending; |
|||
} |
|||
|
|||
public void setCompliants_pending(String compliants_pending) { |
|||
this.compliants_pending = compliants_pending; |
|||
} |
|||
|
|||
public String getAckNo() { |
|||
return ackNo; |
|||
} |
|||
|
|||
public void setAckNo(String ackNo) { |
|||
this.ackNo = ackNo; |
|||
} |
|||
|
|||
public Integer getStartPetId() { |
|||
return startPetId; |
|||
} |
|||
|
|||
public void setStartPetId(Integer startPetId) { |
|||
this.startPetId = startPetId; |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,170 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|||
import com.google.gson.annotations.SerializedName; |
|||
import jakarta.persistence.*; |
|||
import org.hibernate.annotations.ManyToAny; |
|||
import org.w3c.dom.Text; |
|||
|
|||
@Entity |
|||
@Table(name = "mtm_events_petition") |
|||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) |
|||
public class MTMEventsPetition { |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Column(name = "petition_id",nullable = false) |
|||
private Integer petitionId; |
|||
@ManyToOne |
|||
@JoinColumn(name="mtm_id",nullable = false) |
|||
private MTMEvents mtmEvents; |
|||
@Column(name = "petition_no",nullable = true) |
|||
private String petitionNumber; |
|||
@Column(name = "pet_name",nullable = false) |
|||
private String petitionerName; |
|||
@Column(name = "pet_mobile",nullable = false) |
|||
private String petitionerMobile; |
|||
@Column(name = "pet_complaint",nullable = true) |
|||
private String petitionerComplaint; |
|||
@Column(name = "pet_address",nullable = true) |
|||
private String petitionerAddress; |
|||
@Column(name = "pet_pincode",nullable = true) |
|||
private String petitionerPincode; |
|||
@Column(name = "pet_complaint_nature",nullable = true) |
|||
private String petitionerNatureOfComplaint; |
|||
@Column(name = "tableno",nullable = true) |
|||
private String tableNo; |
|||
@Column(name = "isdelete",nullable = false, columnDefinition = "Boolean default false") |
|||
private Boolean isDelete; |
|||
@Column(name = "isactive",nullable = false, columnDefinition = "Boolean default true") |
|||
private Boolean isActive; |
|||
@Column(name = "created_by",nullable = false, columnDefinition = "Integer Default 0") |
|||
private Integer createdBy; |
|||
@Column(name = "cdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private String cDate; |
|||
@Column(name = "status",nullable = false, columnDefinition = "VARCHAR(255) DEFAULT 'Under Progress'") |
|||
private String status; |
|||
|
|||
public MTMEventsPetition() { |
|||
} |
|||
|
|||
public Integer getPetitionId() { |
|||
return petitionId; |
|||
} |
|||
|
|||
public void setPetitionId(Integer 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 String getPetitionerMobile() { |
|||
return petitionerMobile; |
|||
} |
|||
|
|||
public void setPetitionerMobile(String petitionerMobile) { |
|||
this.petitionerMobile = petitionerMobile; |
|||
} |
|||
|
|||
public String getPetitionerComplaint() { |
|||
return petitionerComplaint; |
|||
} |
|||
|
|||
public void setPetitionerComplaint(String petitionerComplaint) { |
|||
this.petitionerComplaint = petitionerComplaint; |
|||
} |
|||
|
|||
public String getPetitionerAddress() { |
|||
return petitionerAddress; |
|||
} |
|||
|
|||
public String getTableNo() { |
|||
return tableNo; |
|||
} |
|||
|
|||
public void setTableNo(String tableNo) { |
|||
this.tableNo = tableNo; |
|||
} |
|||
|
|||
public void setPetitionerAddress(String petitionerAddress) { |
|||
this.petitionerAddress = petitionerAddress; |
|||
} |
|||
public String getPetitionerPincode() { |
|||
return petitionerPincode; |
|||
} |
|||
public void setPetitionerPincode(String petitionerPincode) { |
|||
this.petitionerPincode = petitionerPincode; |
|||
} |
|||
public Boolean getIsActive() { |
|||
return isActive; |
|||
} |
|||
public void setIsActive(Boolean isActive) { |
|||
this.isActive = isActive; |
|||
} |
|||
public Boolean getIsDelete() { |
|||
return isDelete; |
|||
} |
|||
public void setIsDelete(Boolean isDelete) { |
|||
this.isDelete = isDelete; |
|||
} |
|||
public Integer getCreatedBy() { |
|||
return createdBy; |
|||
} |
|||
public void setCreatedBy(Integer createdBy) { |
|||
this.createdBy = createdBy; |
|||
} |
|||
public String getcDate() { |
|||
return cDate; |
|||
} |
|||
public void setcDate(String cDate) { |
|||
this.cDate = cDate; |
|||
} |
|||
|
|||
public String getPetitionerNatureOfComplaint() { |
|||
return petitionerNatureOfComplaint; |
|||
} |
|||
|
|||
public void setPetitionerNatureOfComplaint(String petitionerNatureOfComplaint) { |
|||
this.petitionerNatureOfComplaint = petitionerNatureOfComplaint; |
|||
} |
|||
|
|||
public String getStatus() { |
|||
return status; |
|||
} |
|||
|
|||
public void setStatus(String status) { |
|||
this.status = status; |
|||
} |
|||
|
|||
@Transient |
|||
private String PetitionerComplaint_txt; |
|||
|
|||
public String getPetitionerComplaint_txt() { |
|||
return PetitionerComplaint_txt; |
|||
} |
|||
|
|||
public void setPetitionerComplaint_txt(String petitionerComplaint_txt) { |
|||
PetitionerComplaint_txt = petitionerComplaint_txt; |
|||
} |
|||
} |
|||
@ -0,0 +1,156 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|||
import jakarta.persistence.*; |
|||
|
|||
import java.sql.Blob; |
|||
|
|||
@Entity |
|||
@Table(name = "mtm_events_petition_action") |
|||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) |
|||
public class MTMEventsPetitionAction { |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Column(name = "solmapid",nullable = false) |
|||
private Integer solMapId; |
|||
@ManyToOne |
|||
@JoinColumn(name = "mapid",nullable = false) |
|||
private MTMEventsPetitionMapping mtmEventsPetitionMapping; |
|||
@Column(name = "status",nullable = false) |
|||
private String status; |
|||
@Column(name = "comments", columnDefinition = "TEXT") |
|||
private String comments; |
|||
@Column(name = "fileName", nullable = true) |
|||
private String fileName; |
|||
@Lob |
|||
@Column(columnDefinition = "LONGBLOB") |
|||
private Blob data; |
|||
@Column(name = "OFF_ID",nullable = false) |
|||
private String offID; |
|||
@Column(name = "isdelete",nullable = false, columnDefinition = "Boolean default false") |
|||
private Boolean isDelete; |
|||
@Column(name = "isactive",nullable = false, columnDefinition = "Boolean default true") |
|||
private Boolean isActive; |
|||
@Column(name = "created_by",nullable = false, columnDefinition = "Integer Default 0") |
|||
private Integer createdBy; |
|||
@Column(name = "cdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private String cDate; |
|||
private long fileSize; |
|||
private String fileType; |
|||
public MTMEventsPetitionAction() { |
|||
} |
|||
|
|||
public Integer getSolMapId() { |
|||
return solMapId; |
|||
} |
|||
|
|||
public void setSolMapId(Integer solMapId) { |
|||
this.solMapId = solMapId; |
|||
} |
|||
|
|||
public MTMEventsPetitionMapping getMtmEventsPetitionMapping() { |
|||
return mtmEventsPetitionMapping; |
|||
} |
|||
|
|||
public void setMtmEventsPetitionMapping(MTMEventsPetitionMapping mtmEventsPetitionMapping) { |
|||
this.mtmEventsPetitionMapping = mtmEventsPetitionMapping; |
|||
} |
|||
|
|||
public String getStatus() { |
|||
return status; |
|||
} |
|||
|
|||
public void setStatus(String status) { |
|||
this.status = status; |
|||
} |
|||
|
|||
public String getComments() { |
|||
return comments; |
|||
} |
|||
|
|||
public void setComments(String comments) { |
|||
this.comments = comments; |
|||
} |
|||
|
|||
public String getFileName() { |
|||
return fileName; |
|||
} |
|||
|
|||
public void setFileName(String fileName) { |
|||
this.fileName = fileName; |
|||
} |
|||
|
|||
public Blob getData() { |
|||
return data; |
|||
} |
|||
|
|||
public void setData(Blob data) { |
|||
this.data = data; |
|||
} |
|||
|
|||
public String getOffID() { |
|||
return offID; |
|||
} |
|||
|
|||
public void setOffID(String offID) { |
|||
this.offID = offID; |
|||
} |
|||
|
|||
public Boolean getIsActive() { |
|||
return isActive; |
|||
} |
|||
|
|||
public void setIsActive(Boolean isActive) { |
|||
this.isActive = isActive; |
|||
} |
|||
|
|||
public Boolean getIsDelete() { |
|||
return isDelete; |
|||
} |
|||
|
|||
public void setIsDelete(Boolean isDelete) { |
|||
this.isDelete = isDelete; |
|||
} |
|||
|
|||
public Integer getCreatedBy() { |
|||
return createdBy; |
|||
} |
|||
|
|||
public void setCreatedBy(Integer createdBy) { |
|||
this.createdBy = createdBy; |
|||
} |
|||
|
|||
public String getcDate() { |
|||
return cDate; |
|||
} |
|||
|
|||
public void setcDate(String cDate) { |
|||
this.cDate = cDate; |
|||
} |
|||
@Transient |
|||
private String officer_name; |
|||
|
|||
public String getOfficer_name() { |
|||
return officer_name; |
|||
} |
|||
|
|||
public void setOfficer_name(String officer_name) { |
|||
this.officer_name = officer_name; |
|||
} |
|||
|
|||
public long getFileSize() { |
|||
return fileSize; |
|||
} |
|||
|
|||
public void setFileSize(long fileSize) { |
|||
this.fileSize = fileSize; |
|||
} |
|||
|
|||
public String getFileType() { |
|||
return fileType; |
|||
} |
|||
|
|||
public void setFileType(String fileType) { |
|||
this.fileType = fileType; |
|||
} |
|||
} |
|||
@ -0,0 +1,129 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|||
import jakarta.persistence.*; |
|||
|
|||
import java.sql.Blob; |
|||
import java.time.LocalDateTime; |
|||
|
|||
@Entity |
|||
@Table(name = "mtm_events_pentition_files") |
|||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) |
|||
public class MTMEventsPetitionFiles { |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Column(name = "mtm_pet_file_id",nullable = false) |
|||
private Integer mtmPetitionFileId; |
|||
@Column(name = "petition_no",nullable = false) |
|||
private String petitionNumber; |
|||
@ManyToOne |
|||
@JoinColumn(name="petition_id",nullable = false) |
|||
private MTMEventsPetition mtmEventsPetitionId; |
|||
@Column(name = "fileName", nullable = false) |
|||
private String fileName; |
|||
@Lob |
|||
@Column(columnDefinition = "LONGBLOB") |
|||
private Blob data; |
|||
@Column(name = "isdelete",nullable = false, columnDefinition = "Boolean default false") |
|||
private Boolean isdelete = false; |
|||
@Column(name = "isactive",nullable = false, columnDefinition = "Boolean default true") |
|||
private Boolean isactive = true; |
|||
@Column(name = "created_by",nullable = false, columnDefinition = "Integer Default 0") |
|||
private Integer createdBy = 0; |
|||
@Column(name = "cdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private java.time.LocalDateTime cDate; |
|||
|
|||
private long fileSize; |
|||
private String fileType; |
|||
|
|||
public MTMEventsPetitionFiles() { |
|||
} |
|||
|
|||
public Integer getMtmPetitionFileId() { |
|||
return mtmPetitionFileId; |
|||
} |
|||
|
|||
public void setMtmPetitionFileId(Integer mtmPetitionFileId) { |
|||
this.mtmPetitionFileId = mtmPetitionFileId; |
|||
} |
|||
|
|||
public String getPetitionNumber() { |
|||
return petitionNumber; |
|||
} |
|||
|
|||
public void setPetitionNumber(String petitionNumber) { |
|||
this.petitionNumber = petitionNumber; |
|||
} |
|||
|
|||
public MTMEventsPetition getMtmEventsPetitionId() { |
|||
return mtmEventsPetitionId; |
|||
} |
|||
|
|||
public void setMtmEventsPetitionId(MTMEventsPetition mtmEventsPetitionId) { |
|||
this.mtmEventsPetitionId = mtmEventsPetitionId; |
|||
} |
|||
|
|||
public String getFileName() { |
|||
return fileName; |
|||
} |
|||
|
|||
public void setFileName(String fileName) { |
|||
this.fileName = fileName; |
|||
} |
|||
|
|||
public Blob getData() { |
|||
return data; |
|||
} |
|||
|
|||
public void setData(Blob data) { |
|||
this.data = data; |
|||
} |
|||
|
|||
public Boolean getIsdelete() { |
|||
return isdelete; |
|||
} |
|||
|
|||
public void setIsdelete(Boolean isdelete) { |
|||
this.isdelete = isdelete; |
|||
} |
|||
|
|||
public Boolean getIsactive() { |
|||
return isactive; |
|||
} |
|||
|
|||
public void setIsactive(Boolean isactive) { |
|||
this.isactive = isactive; |
|||
} |
|||
|
|||
public Integer getCreatedBy() { |
|||
return createdBy; |
|||
} |
|||
|
|||
public void setCreatedBy(Integer createdBy) { |
|||
this.createdBy = createdBy; |
|||
} |
|||
|
|||
public LocalDateTime getcDate() { |
|||
return cDate; |
|||
} |
|||
|
|||
public void setcDate(LocalDateTime cDate) { |
|||
this.cDate = cDate; |
|||
} |
|||
|
|||
public long getFileSize() { |
|||
return fileSize; |
|||
} |
|||
|
|||
public void setFileSize(long fileSize) { |
|||
this.fileSize = fileSize; |
|||
} |
|||
|
|||
public String getFileType() { |
|||
return fileType; |
|||
} |
|||
|
|||
public void setFileType(String fileType) { |
|||
this.fileType = fileType; |
|||
} |
|||
} |
|||
@ -0,0 +1,171 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|||
import jakarta.persistence.*; |
|||
|
|||
@Entity |
|||
@Table(name = "mtm_events_petition_forward_log") |
|||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) |
|||
public class MTMEventsPetitionForwardLog { |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Column(name = "logid",nullable = false) |
|||
private Integer logId; |
|||
@Column(name = "petition_no",nullable = false) |
|||
private String petitionNumber; |
|||
@ManyToOne |
|||
@JoinColumn(name="petition_id",nullable = false) |
|||
private MTMEventsPetition mtmEventsPetitionId; |
|||
@ManyToOne |
|||
@JoinColumn(name="mtm_id",nullable = false) |
|||
private MTMEvents mtmEvents; |
|||
@Column(name = "OFF_ID",nullable = false) |
|||
private String offID; |
|||
@Column(name = "OFF_ID_to",nullable = false) |
|||
private String offIDTo; |
|||
@Column(name = "comments", columnDefinition = "TEXT") |
|||
private String comments; |
|||
@ManyToOne |
|||
@JoinColumn(name = "mapid",nullable = false) |
|||
private MTMEventsPetitionMapping mtmEventsPetitionMapping; |
|||
@ManyToOne |
|||
@JoinColumn(name = "complaint_typeid",nullable = false) |
|||
private MTMComplaintTypes mtmComplaintTypes; |
|||
@Column(name = "isdelete",nullable = false, columnDefinition = "Boolean default false") |
|||
private Boolean isDelete; |
|||
@Column(name = "isactive",nullable = false, columnDefinition = "Boolean default true") |
|||
private Boolean isActive; |
|||
@Column(name = "created_by",nullable = false, columnDefinition = "Integer Default 0") |
|||
private Integer createdBy; |
|||
@Column(name = "cdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private String cDate; |
|||
|
|||
public MTMEventsPetitionForwardLog() { |
|||
} |
|||
|
|||
public Integer getLogId() { |
|||
return logId; |
|||
} |
|||
|
|||
public void setLogId(Integer logId) { |
|||
this.logId = logId; |
|||
} |
|||
|
|||
public String getPetitionNumber() { |
|||
return petitionNumber; |
|||
} |
|||
|
|||
public void setPetitionNumber(String petitionNumber) { |
|||
this.petitionNumber = petitionNumber; |
|||
} |
|||
|
|||
public MTMEventsPetition getMtmEventsPetitionId() { |
|||
return mtmEventsPetitionId; |
|||
} |
|||
|
|||
public void setMtmEventsPetitionId(MTMEventsPetition mtmEventsPetitionId) { |
|||
this.mtmEventsPetitionId = mtmEventsPetitionId; |
|||
} |
|||
|
|||
public MTMEventsPetitionMapping getMtmEventsPetitionMapping() { |
|||
return mtmEventsPetitionMapping; |
|||
} |
|||
|
|||
public void setMtmEventsPetitionMapping(MTMEventsPetitionMapping mtmEventsPetitionMapping) { |
|||
this.mtmEventsPetitionMapping = mtmEventsPetitionMapping; |
|||
} |
|||
|
|||
public String getOffID() { |
|||
return offID; |
|||
} |
|||
|
|||
public void setOffID(String offID) { |
|||
this.offID = offID; |
|||
} |
|||
|
|||
public MTMComplaintTypes getMtmComplaintTypes() { |
|||
return mtmComplaintTypes; |
|||
} |
|||
|
|||
public void setMtmComplaintTypes(MTMComplaintTypes mtmComplaintTypes) { |
|||
this.mtmComplaintTypes = mtmComplaintTypes; |
|||
} |
|||
|
|||
public Boolean getIsActive() { |
|||
return isActive; |
|||
} |
|||
|
|||
public void setIsActive(Boolean isActive) { |
|||
this.isActive = isActive; |
|||
} |
|||
|
|||
public Boolean getIsDelete() { |
|||
return isDelete; |
|||
} |
|||
|
|||
public void setIsDelete(Boolean isDelete) { |
|||
this.isDelete = isDelete; |
|||
} |
|||
|
|||
public Integer getCreatedBy() { |
|||
return createdBy; |
|||
} |
|||
|
|||
public void setCreatedBy(Integer createdBy) { |
|||
this.createdBy = createdBy; |
|||
} |
|||
|
|||
public String getcDate() { |
|||
return cDate; |
|||
} |
|||
|
|||
public void setcDate(String cDate) { |
|||
this.cDate = cDate; |
|||
} |
|||
|
|||
public String getOffIDTo() { |
|||
return offIDTo; |
|||
} |
|||
|
|||
public void setOffIDTo(String offIDTo) { |
|||
this.offIDTo = offIDTo; |
|||
} |
|||
|
|||
public String getComments() { |
|||
return comments; |
|||
} |
|||
|
|||
public void setComments(String comments) { |
|||
this.comments = comments; |
|||
} |
|||
|
|||
@Transient |
|||
private String officer_name; |
|||
|
|||
public String getOfficer_name() { |
|||
return officer_name; |
|||
} |
|||
|
|||
public void setOfficer_name(String officer_name) { |
|||
this.officer_name = officer_name; |
|||
} |
|||
|
|||
@Transient |
|||
private String officer_to_name; |
|||
|
|||
public String getOfficer_to_name() { |
|||
return officer_to_name; |
|||
} |
|||
|
|||
public void setOfficer_to_name(String officer_to_name) { |
|||
this.officer_to_name = officer_to_name; |
|||
} |
|||
|
|||
public MTMEvents getMtmEvents() { |
|||
return mtmEvents; |
|||
} |
|||
|
|||
public void setMtmEvents(MTMEvents mtmEvents) { |
|||
this.mtmEvents = mtmEvents; |
|||
} |
|||
} |
|||
@ -0,0 +1,181 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|||
import jakarta.persistence.*; |
|||
|
|||
@Entity |
|||
@Table(name = "mtm_events_petition_mapping") |
|||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) |
|||
public class MTMEventsPetitionMapping { |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Column(name = "mapid",nullable = false) |
|||
private Integer mapId; |
|||
@Column(name = "petition_no",nullable = false) |
|||
private String petitionNumber; |
|||
@ManyToOne |
|||
@JoinColumn(name="petition_id",nullable = false) |
|||
private MTMEventsPetition mtmEventsPetitionId; |
|||
@ManyToOne |
|||
@JoinColumn(name="mtm_id",nullable = false) |
|||
private MTMEvents mtmEvents; |
|||
@Column(name = "OFF_ID",nullable = false) |
|||
private String offID; |
|||
@Column(name = "status",nullable = false,columnDefinition = "VARCHAR(20) DEFAULT 'pending'") |
|||
private String status; |
|||
@ManyToOne |
|||
@JoinColumn(name = "complaint_typeid",nullable = false) |
|||
private MTMComplaintTypes mtmComplaintTypes; |
|||
@Column(name = "isdelete",nullable = false, columnDefinition = "Boolean default false") |
|||
private Boolean isDelete; |
|||
@Column(name = "isactive",nullable = false, columnDefinition = "Boolean default true") |
|||
private Boolean isActive; |
|||
@Column(name = "created_by",nullable = false, columnDefinition = "Integer Default 0") |
|||
private Integer createdBy; |
|||
@Column(name = "cdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private String cDate; |
|||
|
|||
public MTMEventsPetitionMapping() { |
|||
} |
|||
|
|||
public Integer getMapId() { |
|||
return mapId; |
|||
} |
|||
|
|||
public void setMapId(Integer mapId) { |
|||
this.mapId = mapId; |
|||
} |
|||
|
|||
public String getPetitionNumber() { |
|||
return petitionNumber; |
|||
} |
|||
|
|||
public void setPetitionNumber(String petitionNumber) { |
|||
this.petitionNumber = petitionNumber; |
|||
} |
|||
|
|||
public MTMEventsPetition getMtmEventsPetitionId() { |
|||
return mtmEventsPetitionId; |
|||
} |
|||
|
|||
public void setMtmEventsPetitionId(MTMEventsPetition mtmEventsPetitionId) { |
|||
this.mtmEventsPetitionId = mtmEventsPetitionId; |
|||
} |
|||
|
|||
public String getOffID() { |
|||
return offID; |
|||
} |
|||
|
|||
public void setOffID(String offID) { |
|||
this.offID = offID; |
|||
} |
|||
|
|||
public MTMComplaintTypes getMtmComplaintTypes() { |
|||
return mtmComplaintTypes; |
|||
} |
|||
|
|||
public void setMtmComplaintTypes(MTMComplaintTypes mtmComplaintTypes) { |
|||
this.mtmComplaintTypes = mtmComplaintTypes; |
|||
} |
|||
|
|||
public Boolean getIsActive() { |
|||
return isActive; |
|||
} |
|||
|
|||
public void setIsActive(Boolean isActive) { |
|||
this.isActive = isActive; |
|||
} |
|||
|
|||
public Boolean getIsDelete() { |
|||
return isDelete; |
|||
} |
|||
|
|||
public void setIsDelete(Boolean isDelete) { |
|||
this.isDelete = isDelete; |
|||
} |
|||
|
|||
public Integer getCreatedBy() { |
|||
return createdBy; |
|||
} |
|||
|
|||
public void setCreatedBy(Integer 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 MTMEvents getMtmEvents() { |
|||
return mtmEvents; |
|||
} |
|||
|
|||
public void setMtmEvents(MTMEvents mtmEvents) { |
|||
this.mtmEvents = mtmEvents; |
|||
} |
|||
|
|||
@Transient |
|||
private String officer_name; |
|||
@Transient |
|||
private String event_name; |
|||
@Transient |
|||
private String officer_petition_count; |
|||
@Transient |
|||
private String officer_completed_count; |
|||
@Transient |
|||
private String officer_pending_count; |
|||
|
|||
public String getOfficer_name() { |
|||
return officer_name; |
|||
} |
|||
|
|||
public void setOfficer_name(String officer_name) { |
|||
this.officer_name = officer_name; |
|||
} |
|||
|
|||
|
|||
|
|||
public String getOfficer_petition_count() { |
|||
return officer_petition_count; |
|||
} |
|||
|
|||
public String getEvent_name() { |
|||
return event_name; |
|||
} |
|||
|
|||
public void setEvent_name(String event_name) { |
|||
this.event_name = event_name; |
|||
} |
|||
|
|||
public void setOfficer_petition_count(String officer_petition_count) { |
|||
this.officer_petition_count = officer_petition_count; |
|||
} |
|||
|
|||
public String getOfficer_completed_count() { |
|||
return officer_completed_count; |
|||
} |
|||
|
|||
public void setOfficer_completed_count(String officer_completed_count) { |
|||
this.officer_completed_count = officer_completed_count; |
|||
} |
|||
|
|||
public String getOfficer_pending_count() { |
|||
return officer_pending_count; |
|||
} |
|||
|
|||
public void setOfficer_pending_count(String officer_pending_count) { |
|||
this.officer_pending_count = officer_pending_count; |
|||
} |
|||
} |
|||
@ -0,0 +1,118 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|||
import jakarta.persistence.*; |
|||
|
|||
@Entity |
|||
@Table(name = "mtm_user_master") |
|||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) |
|||
public class MTMUsers { |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Column(name = "uid",nullable = false) |
|||
private Integer uId; |
|||
@Column(name = "uname",nullable = false) |
|||
private String userName; |
|||
@Column(name = "pword",nullable = false) |
|||
private String Password; |
|||
@Column(name = "table_no",nullable = false,columnDefinition = "VARCHAR(15) DEFAULT ") |
|||
private String tableNum; |
|||
@Column(name = "eventid",nullable = false) |
|||
private String eventid; |
|||
@Column(name = "userType",nullable = true, columnDefinition = "VARCHAR(255) DEFAULT 'user'") |
|||
private String userType; |
|||
@Column(name = "displayname",nullable = true, columnDefinition = "VARCHAR(255) DEFAULT 'user'") |
|||
private String displayName; |
|||
@Column(name = "isdelete",nullable = false, columnDefinition = "Boolean default false") |
|||
private Boolean isDelete; |
|||
@Column(name = "isactive",nullable = false, columnDefinition = "Boolean default true") |
|||
private Boolean isActive; |
|||
@Column(name = "created_by",nullable = false, columnDefinition = "Integer Default 0") |
|||
private Integer createdBy; |
|||
@Column(name = "cdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private String cDate; |
|||
|
|||
public MTMUsers() { |
|||
} |
|||
|
|||
public Integer getuId() { |
|||
return uId; |
|||
} |
|||
|
|||
public void setuId(Integer uId) { |
|||
this.uId = uId; |
|||
} |
|||
|
|||
public String getUserName() { |
|||
return userName; |
|||
} |
|||
|
|||
public void setUserName(String userName) { |
|||
this.userName = userName; |
|||
} |
|||
|
|||
public String getPassword() { |
|||
return Password; |
|||
} |
|||
|
|||
public void setPassword(String password) { |
|||
Password = password; |
|||
} |
|||
|
|||
public String getTableNum() { |
|||
return tableNum; |
|||
} |
|||
|
|||
public void setTableNum(String tableNum) { |
|||
this.tableNum = tableNum; |
|||
} |
|||
|
|||
public String getEventid() { |
|||
return eventid; |
|||
} |
|||
|
|||
public void setEventid(String eventid) { |
|||
this.eventid = eventid; |
|||
} |
|||
|
|||
public String getDisplayName() { |
|||
return displayName; |
|||
} |
|||
|
|||
public void setDisplayName(String displayName) { |
|||
this.displayName = displayName; |
|||
} |
|||
|
|||
public String getUserType() { |
|||
return userType; |
|||
} |
|||
|
|||
public void setUserType(String userType) { |
|||
this.userType = userType; |
|||
} |
|||
|
|||
public Boolean getIsActive() { |
|||
return isActive; |
|||
} |
|||
public void setIsActive(Boolean isActive) { |
|||
this.isActive = isActive; |
|||
} |
|||
public Boolean getIsDelete() { |
|||
return isDelete; |
|||
} |
|||
public void setIsDelete(Boolean isDelete) { |
|||
this.isDelete = isDelete; |
|||
} |
|||
public Integer getCreatedBy() { |
|||
return createdBy; |
|||
} |
|||
public void setCreatedBy(Integer createdBy) { |
|||
this.createdBy = createdBy; |
|||
} |
|||
public String getcDate() { |
|||
return cDate; |
|||
} |
|||
public void setcDate(String cDate) { |
|||
this.cDate = cDate; |
|||
} |
|||
} |
|||
@ -0,0 +1,58 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|||
import jakarta.persistence.*; |
|||
|
|||
@Entity |
|||
@Table(name = "mtm_officer_access") |
|||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) |
|||
public class OfficerAccess { |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Column(name = "accessid",nullable = false) |
|||
private Integer accessId; |
|||
@ManyToOne |
|||
@JoinColumn(name="uid",nullable = false) |
|||
private MTMUsers mtmUsers; |
|||
|
|||
@Column(name = "mtm_id", columnDefinition = "TEXT") |
|||
private String mtmId; |
|||
|
|||
@Column(name = "officer_id", columnDefinition = "TEXT") |
|||
private String officerId; |
|||
|
|||
public OfficerAccess() { |
|||
} |
|||
|
|||
public Integer getAccessId() { |
|||
return accessId; |
|||
} |
|||
|
|||
public void setAccessId(Integer accessId) { |
|||
this.accessId = accessId; |
|||
} |
|||
|
|||
public MTMUsers getMtmUsers() { |
|||
return mtmUsers; |
|||
} |
|||
|
|||
public void setMtmUsers(MTMUsers mtmUsers) { |
|||
this.mtmUsers = mtmUsers; |
|||
} |
|||
|
|||
public String getOfficerId() { |
|||
return officerId; |
|||
} |
|||
|
|||
public void setOfficerId(String officerId) { |
|||
this.officerId = officerId; |
|||
} |
|||
|
|||
public String getMtmId() { |
|||
return mtmId; |
|||
} |
|||
|
|||
public void setMtmId(String mtmId) { |
|||
this.mtmId = mtmId; |
|||
} |
|||
} |
|||
@ -0,0 +1,110 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|||
import jakarta.persistence.*; |
|||
|
|||
@Entity |
|||
@Table(name = "mtm_officer_master") |
|||
@JsonIgnoreProperties({"hibernateLazyInitializer"}) |
|||
public class OfficerMaster { |
|||
@Id |
|||
@GeneratedValue(strategy = GenerationType.IDENTITY) |
|||
@Column(name = "uid",nullable = false) |
|||
private Integer uId; |
|||
@Column(name = "OFF_ID",nullable = false) |
|||
private String offId; |
|||
@Column(name = "ZONE_ID",nullable = false) |
|||
private String zoneId; |
|||
@Column(name = "OFF_NM",nullable = false) |
|||
private String offNM; |
|||
@Column(name = "ORDER_ID",nullable = true) |
|||
private String orderId; |
|||
@Column(name = "HQ_DESG_ID",nullable = true) |
|||
private String hqDescId; |
|||
@Column(name = "eventdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private String eventDate; |
|||
@Column(name = "isdelete",nullable = false, columnDefinition = "Boolean default false") |
|||
private Boolean isDelete; |
|||
@Column(name = "isactive",nullable = false, columnDefinition = "Boolean default true") |
|||
private Boolean isActive; |
|||
@Column(name = "created_by",nullable = false, columnDefinition = "Integer Default 0") |
|||
private Integer createdBy; |
|||
@Column(name = "cdate",nullable = false, columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP") |
|||
private String cDate; |
|||
|
|||
public OfficerMaster() { |
|||
} |
|||
|
|||
public Integer getuId() { |
|||
return uId; |
|||
} |
|||
|
|||
public void setuId(Integer uId) { |
|||
this.uId = uId; |
|||
} |
|||
|
|||
public String getOffId() { |
|||
return offId; |
|||
} |
|||
|
|||
public void setOffId(String offId) { |
|||
this.offId = offId; |
|||
} |
|||
|
|||
public String getZoneId() { |
|||
return zoneId; |
|||
} |
|||
|
|||
public void setZoneId(String zoneId) { |
|||
this.zoneId = zoneId; |
|||
} |
|||
|
|||
public String getOffNM() { |
|||
return offNM; |
|||
} |
|||
|
|||
public void setOffNM(String offNM) { |
|||
this.offNM = offNM; |
|||
} |
|||
|
|||
public String getOrderId() { |
|||
return orderId; |
|||
} |
|||
|
|||
public void setOrderId(String orderId) { |
|||
this.orderId = orderId; |
|||
} |
|||
|
|||
public String getHqDescId() { |
|||
return hqDescId; |
|||
} |
|||
|
|||
public void setHqDescId(String hqDescId) { |
|||
this.hqDescId = hqDescId; |
|||
} |
|||
|
|||
public Boolean getIsActive() { |
|||
return isActive; |
|||
} |
|||
public void setIsActive(Boolean isActive) { |
|||
this.isActive = isActive; |
|||
} |
|||
public Boolean getIsDelete() { |
|||
return isDelete; |
|||
} |
|||
public void setIsDelete(Boolean isDelete) { |
|||
this.isDelete = isDelete; |
|||
} |
|||
public Integer getCreatedBy() { |
|||
return createdBy; |
|||
} |
|||
public void setCreatedBy(Integer createdBy) { |
|||
this.createdBy = createdBy; |
|||
} |
|||
public String getcDate() { |
|||
return cDate; |
|||
} |
|||
public void setcDate(String cDate) { |
|||
this.cDate = cDate; |
|||
} |
|||
} |
|||
@ -0,0 +1,35 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.error; |
|||
|
|||
import com.gcc.mtm.Makkalai.Thedi.Mayor.others.AppConfig; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.boot.web.servlet.error.ErrorController; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.ui.Model; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
@Controller |
|||
public class CustomErrorController implements ErrorController { |
|||
@Autowired |
|||
private AppConfig appConfig; |
|||
@RequestMapping("/error") |
|||
public String handleError(Exception ex, Model model) { |
|||
/*System.out.println(ex); |
|||
String errorMessage = ex.getMessage(); |
|||
// Retrieve the error message and exception from the model |
|||
//String errorMessage = (String) model.getAttribute("error"); |
|||
//Exception exception = (Exception) model.getAttribute("exception"); |
|||
|
|||
// Add the error message and exception to the model for rendering in the error page |
|||
model.addAttribute("error", errorMessage); |
|||
model.addAttribute("exception", ex); |
|||
*/ |
|||
// Return the name of your custom error page template |
|||
model.addAttribute("title","Completed Petition List"); |
|||
model.addAttribute("baseURL", appConfig.getBaseUrl()); |
|||
return "error"; |
|||
} |
|||
|
|||
public String getErrorPath() { |
|||
return "/error"; |
|||
} |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.error; |
|||
|
|||
import org.springframework.web.bind.annotation.ControllerAdvice; |
|||
import org.springframework.web.bind.annotation.ExceptionHandler; |
|||
import org.springframework.web.servlet.ModelAndView; |
|||
|
|||
@ControllerAdvice |
|||
public class CustomExceptionHandler { |
|||
@ExceptionHandler(Exception.class) |
|||
public ModelAndView handleException(Exception ex) { |
|||
ModelAndView modelAndView = new ModelAndView("error"); |
|||
modelAndView.addObject("error", "An error occurred"); |
|||
modelAndView.addObject("exception", ex.getMessage()); |
|||
return modelAndView; |
|||
} |
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
package com.gcc.mtm.Makkalai.Thedi.Mayor.login; |
|||
|
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
@Service |
|||
public class CheckUserSession { |
|||
@Autowired |
|||
UserSession userSession; |
|||
public String checkislogin(){ |
|||
System.out.println("Check is login"); |
|||
if(userSession.getUserId()==null || userSession.getUserType()==null ){ |
|||
System.out.println("Check is login - Inside"); |
|||
return "redirect:/login"; |
|||
} |
|||
return ""; |
|||
} |
|||
} |
|||
Some files were not shown because too many files changed in this diff
Write
Preview
Loading…
Cancel
Save
Reference in new issue