-
33.gitignore
-
12.jpb/persistence-units.xml
-
316mvnw
-
188mvnw.cmd
-
78pom.xml
-
23src/main/java/com/asset/AssetDetailsApplication.java
-
13src/main/java/com/asset/ServletInitializer.java
-
153src/main/java/com/asset/api/apiRestController.java
-
71src/main/java/com/asset/asset/Asset.java
-
105src/main/java/com/asset/asset/AssetController.java
-
23src/main/java/com/asset/asset/AssetRepository.java
-
113src/main/java/com/asset/asset/AssetRestController.java
-
48src/main/java/com/asset/complaint/Complaint.java
-
113src/main/java/com/asset/complaint/ComplaintController.java
-
31src/main/java/com/asset/complaint/ComplaintQuestion.java
-
9src/main/java/com/asset/complaint/ComplaintQuestionRepository.java
-
16src/main/java/com/asset/complaint/ComplaintRepository.java
-
559src/main/java/com/asset/complaint/ComplaintRestController.java
-
51src/main/java/com/asset/complaint/ComplaintService.java
-
93src/main/java/com/asset/feedback/Feedback.java
-
440src/main/java/com/asset/feedback/FeedbackController.java
-
43src/main/java/com/asset/feedback/FeedbackQuestion.java
-
19src/main/java/com/asset/feedback/FeedbackQuestionRepository.java
-
15src/main/java/com/asset/feedback/FeedbackRepository.java
-
22src/main/java/com/asset/feedback/FeedbackRestController.java
-
82src/main/java/com/asset/login/LoginController.java
-
15src/main/java/com/asset/login/UserRepository.java
-
35src/main/java/com/asset/login/Users.java
-
43src/main/java/com/asset/master/Master.java
-
288src/main/java/com/asset/master/MasterController.java
-
31src/main/java/com/asset/master/MasterParameters.java
-
16src/main/java/com/asset/master/MasterParametersRepository.java
-
51src/main/java/com/asset/master/MasterQuestion.java
-
25src/main/java/com/asset/master/MasterQuestionRepository.java
-
23src/main/java/com/asset/master/MasterRepository.java
-
46src/main/java/com/asset/master/MasterRestController.java
-
36src/main/java/com/asset/master/MasterView.java
-
16src/main/java/com/asset/master/MasterViewRepository.java
-
43src/main/java/com/asset/utils/imagezipper.java
-
15src/main/resources/application.properties
-
153src/main/resources/static/assets/css/local.css
-
1260src/main/resources/static/assets/css/style.css
-
BINsrc/main/resources/static/assets/img/Chennai_Corporation_Logo.png
-
BINsrc/main/resources/static/assets/img/Loop-twinkle.gif
-
BINsrc/main/resources/static/assets/img/Ripon_Building.gif
-
BINsrc/main/resources/static/assets/img/apple-touch-icon.png
-
BINsrc/main/resources/static/assets/img/card.jpg
-
BINsrc/main/resources/static/assets/img/favicon.png
-
BINsrc/main/resources/static/assets/img/favicon_old.png
-
BINsrc/main/resources/static/assets/img/greater-chennai-corporation.jpg
-
BINsrc/main/resources/static/assets/img/greater-chennai-corporation.png
-
BINsrc/main/resources/static/assets/img/logo.png
-
BINsrc/main/resources/static/assets/img/logo_old.png
-
BINsrc/main/resources/static/assets/img/messages-1.jpg
-
BINsrc/main/resources/static/assets/img/messages-2.jpg
-
BINsrc/main/resources/static/assets/img/messages-3.jpg
-
BINsrc/main/resources/static/assets/img/news-1.jpg
-
BINsrc/main/resources/static/assets/img/news-2.jpg
-
BINsrc/main/resources/static/assets/img/news-3.jpg
-
BINsrc/main/resources/static/assets/img/news-4.jpg
-
BINsrc/main/resources/static/assets/img/news-5.jpg
-
1src/main/resources/static/assets/img/not-found.svg
-
BINsrc/main/resources/static/assets/img/product-1.jpg
-
BINsrc/main/resources/static/assets/img/product-2.jpg
-
BINsrc/main/resources/static/assets/img/product-3.jpg
-
BINsrc/main/resources/static/assets/img/product-4.jpg
-
BINsrc/main/resources/static/assets/img/product-5.jpg
-
BINsrc/main/resources/static/assets/img/profile-img.jpg
-
BINsrc/main/resources/static/assets/img/slides-1.jpg
-
BINsrc/main/resources/static/assets/img/slides-2.jpg
-
BINsrc/main/resources/static/assets/img/slides-3.jpg
-
BINsrc/main/resources/static/assets/img/tamilnadu-logo.png
-
BINsrc/main/resources/static/assets/img/user-profile.png
-
90src/main/resources/static/assets/js/jquery.qrcode.min.js
-
213src/main/resources/static/assets/js/local.js
-
315src/main/resources/static/assets/js/main.js
-
202src/main/resources/static/assets/json/GCC_DIVISION.geojson
-
23src/main/resources/static/assets/json/GCC_ZONE.geojson
-
1src/main/resources/static/assets/scss/Readme.txt
-
14src/main/resources/static/assets/vendor/apexcharts/apexcharts.min.js
-
63src/main/resources/static/assets/vendor/apexcharts/locales/ar.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/ca.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/cs.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/de.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/el.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/en.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/es.json
-
63src/main/resources/static/assets/vendor/apexcharts/locales/et.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/fa.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/fi.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/fr.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/he.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/hi.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/hr.json
-
64src/main/resources/static/assets/vendor/apexcharts/locales/hu.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/hy.json
-
47src/main/resources/static/assets/vendor/apexcharts/locales/id.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/it.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/ja.json
-
55src/main/resources/static/assets/vendor/apexcharts/locales/ka.json
@ -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,12 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<project version="4"> |
||||
|
<component name="PersistenceUnitSettings"> |
||||
|
<persistence-units> |
||||
|
<persistence-unit name="Default"> |
||||
|
<packages> |
||||
|
<package value="com.asset" /> |
||||
|
</packages> |
||||
|
</persistence-unit> |
||||
|
</persistence-units> |
||||
|
</component> |
||||
|
</project> |
||||
@ -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,78 @@ |
|||||
|
<?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>2.7.6</version> |
||||
|
<relativePath/> <!-- lookup parent from repository --> |
||||
|
</parent> |
||||
|
<groupId>com.asset</groupId> |
||||
|
<artifactId>asset_details</artifactId> |
||||
|
<version>0.0.1-SNAPSHOT</version> |
||||
|
<packaging>war</packaging> |
||||
|
<name>asset_details</name> |
||||
|
<description>Project for Asset Detail Feedback</description> |
||||
|
<properties> |
||||
|
<java.version>1.8</java.version> |
||||
|
<maven.compiler.source>8</maven.compiler.source> |
||||
|
<maven.compiler.target>8</maven.compiler.target> |
||||
|
</properties> |
||||
|
<dependencies> |
||||
|
<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>com.google.zxing</groupId> |
||||
|
<artifactId>javase</artifactId> |
||||
|
<version>3.4.0</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-jdbc</artifactId> |
||||
|
</dependency> |
||||
|
<dependency> |
||||
|
<groupId>mysql</groupId> |
||||
|
<artifactId>mysql-connector-java</artifactId> |
||||
|
<scope>runtime</scope> |
||||
|
</dependency> |
||||
|
<dependency> |
||||
|
<groupId>org.projectlombok</groupId> |
||||
|
<artifactId>lombok</artifactId> |
||||
|
<optional>true</optional> |
||||
|
</dependency> |
||||
|
|
||||
|
<dependency> |
||||
|
<groupId>org.springframework.boot</groupId> |
||||
|
<artifactId>spring-boot-starter-test</artifactId> |
||||
|
<scope>test</scope> |
||||
|
</dependency> |
||||
|
<dependency> |
||||
|
<groupId>org.json</groupId> |
||||
|
<artifactId>json</artifactId> |
||||
|
<version>20220924</version> |
||||
|
</dependency> |
||||
|
</dependencies> |
||||
|
|
||||
|
|
||||
|
<build> |
||||
|
<plugins> |
||||
|
<plugin> |
||||
|
<groupId>org.springframework.boot</groupId> |
||||
|
<artifactId>spring-boot-maven-plugin</artifactId> |
||||
|
</plugin> |
||||
|
</plugins> |
||||
|
<defaultGoal>package</defaultGoal> |
||||
|
</build> |
||||
|
|
||||
|
</project> |
||||
@ -0,0 +1,23 @@ |
|||||
|
package com.asset; |
||||
|
|
||||
|
import org.springframework.boot.SpringApplication; |
||||
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; |
||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||
|
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; |
||||
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
||||
|
|
||||
|
@SpringBootApplication |
||||
|
@EnableAutoConfiguration |
||||
|
public class AssetDetailsApplication implements WebMvcConfigurer { |
||||
|
|
||||
|
@Override |
||||
|
public void addResourceHandlers(ResourceHandlerRegistry registry){ |
||||
|
registry.addResourceHandler("/**") |
||||
|
.addResourceLocations("classpath:/static/") |
||||
|
.setCachePeriod(0); |
||||
|
} |
||||
|
public static void main(String[] args) { |
||||
|
SpringApplication.run(AssetDetailsApplication.class, args); |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,13 @@ |
|||||
|
package com.asset; |
||||
|
|
||||
|
import org.springframework.boot.builder.SpringApplicationBuilder; |
||||
|
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; |
||||
|
|
||||
|
public class ServletInitializer extends SpringBootServletInitializer { |
||||
|
|
||||
|
@Override |
||||
|
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { |
||||
|
return application.sources(AssetDetailsApplication.class); |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,153 @@ |
|||||
|
package com.asset.api; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
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.ui.Model; |
||||
|
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; |
||||
|
import org.springframework.web.client.RestTemplate; |
||||
|
|
||||
|
import com.asset.complaint.ComplaintRepository; |
||||
|
import com.asset.master.Master; |
||||
|
import com.asset.master.MasterRepository; |
||||
|
|
||||
|
@RestController |
||||
|
@RequestMapping(value = "/qr-feedback/api") |
||||
|
public class apiRestController { |
||||
|
|
||||
|
@GetMapping(value = "/getZoneNo") |
||||
|
public String getZoneNo() { |
||||
|
|
||||
|
String urlString = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice?serviceId=getZones"; |
||||
|
//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("BodyMessage" + bodyMessage); |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
//System.out.print("\n ERROR---: " + e); |
||||
|
bodyMessage = "Error"; |
||||
|
} |
||||
|
return bodyMessage; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/getDiv") |
||||
|
public String getDiv(@RequestParam String zoneId) { |
||||
|
|
||||
|
//System.out.println("zoneId---: " + zoneId); |
||||
|
|
||||
|
String urlString = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice?serviceId=getWards&Zoneid="+zoneId+""; |
||||
|
//System.out.println("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("bodyMessage" + bodyMessage); |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
//System.out.print("\n ERROR---: " + e); |
||||
|
bodyMessage = "Error"; |
||||
|
} |
||||
|
return bodyMessage; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/getArea") |
||||
|
public String getArea(@RequestParam String divId) { |
||||
|
|
||||
|
System.out.println("divId---: " + divId); |
||||
|
|
||||
|
String urlString = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice?serviceId=getAreas&WardId="+divId+""; |
||||
|
//System.out.println("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("bodyMessage" + bodyMessage); |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
//System.out.print("\n ERROR---: " + e); |
||||
|
bodyMessage = "Error"; |
||||
|
} |
||||
|
return bodyMessage; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/getLocation") |
||||
|
public String getLocation(@RequestParam String areaId) { |
||||
|
|
||||
|
//System.out.println("areaId---: " + areaId); |
||||
|
|
||||
|
String urlString = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice?serviceId=getLocation&AreaId="+areaId+""; |
||||
|
//System.out.println("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("bodyMessage" + bodyMessage); |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
//System.out.print("\n ERROR---: " + e); |
||||
|
bodyMessage = "Error"; |
||||
|
} |
||||
|
return bodyMessage; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/getStreet") |
||||
|
public String getStreet(@RequestParam String locationId) { |
||||
|
|
||||
|
System.out.println("areaId---: " + locationId); |
||||
|
|
||||
|
String urlString = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice?serviceId=getStreet&LocationId="+locationId+""; |
||||
|
//System.out.println("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("bodyMessage" + bodyMessage); |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
//System.out.print("\n ERROR---: " + e); |
||||
|
bodyMessage = "Error"; |
||||
|
} |
||||
|
return bodyMessage; |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,71 @@ |
|||||
|
package com.asset.asset; |
||||
|
|
||||
|
import javax.persistence.*; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Entity |
||||
|
@Data |
||||
|
@Table(name = "asset_detail") |
||||
|
public class Asset { |
||||
|
|
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.AUTO) |
||||
|
@Column(name="asset_id", nullable=false) |
||||
|
public Integer assetId; |
||||
|
|
||||
|
public String qrcodestring; |
||||
|
@Lob |
||||
|
private byte[] qrcodeinbytes; |
||||
|
@Column(name="zone_no") |
||||
|
public String zoneNo; |
||||
|
@Column(name="qrcode") |
||||
|
public String qrcode; |
||||
|
|
||||
|
@Column(name="div_no") |
||||
|
public String divNo; |
||||
|
|
||||
|
@Column(name="asset_type") |
||||
|
public String assetType; |
||||
|
|
||||
|
@Column(name="asset_name") |
||||
|
public String assetName; |
||||
|
|
||||
|
public String getMasterID() { |
||||
|
return masterID; |
||||
|
} |
||||
|
|
||||
|
public void setMasterID(String masterID) { |
||||
|
this.masterID = masterID; |
||||
|
} |
||||
|
|
||||
|
@Column(name="master_id") |
||||
|
public String masterID; |
||||
|
|
||||
|
@Column(name="asset_address") |
||||
|
public String assetAddress; |
||||
|
|
||||
|
@Column(name="asset_opening_time") |
||||
|
public String assetOpeningTime; |
||||
|
|
||||
|
@Column(name="asset_closing_time") |
||||
|
public String assetClosingTime; |
||||
|
|
||||
|
@Column(name="asset_area") |
||||
|
public String assetArea; |
||||
|
|
||||
|
@Column(name="asset_locality") |
||||
|
public String assetLocality; |
||||
|
|
||||
|
@Column(name="asset_street") |
||||
|
public String assetStreet; |
||||
|
|
||||
|
@Column(name="asset_file") |
||||
|
public String assetFile; |
||||
|
|
||||
|
@Column(name="asset_latitude") |
||||
|
public String assetLatitude; |
||||
|
|
||||
|
@Column(name="asset_longitude") |
||||
|
public String assetLongitude; |
||||
|
} |
||||
@ -0,0 +1,105 @@ |
|||||
|
package com.asset.asset; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
|
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.data.domain.Page; |
||||
|
import org.springframework.data.domain.Pageable; |
||||
|
import org.springframework.data.web.PageableDefault; |
||||
|
import org.springframework.stereotype.Controller; |
||||
|
import org.springframework.ui.Model; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
|
||||
|
@Controller |
||||
|
@RequestMapping(value = "/qr-feedback") |
||||
|
@SessionAttributes({"user"}) |
||||
|
public class AssetController { |
||||
|
|
||||
|
@Autowired |
||||
|
AssetRepository assetRepo; |
||||
|
|
||||
|
@GetMapping(value = "entry") |
||||
|
public String assetEntry(Model model) { |
||||
|
model.addAttribute("assetEntryObj", new Asset()); |
||||
|
|
||||
|
List<Asset> obj = assetRepo.findAll(); |
||||
|
model.addAttribute("assetObj", obj); |
||||
|
|
||||
|
return "asset-detail-entry"; |
||||
|
} |
||||
|
|
||||
|
@PostMapping(value = "/entry/submit", name = "submits") |
||||
|
public String assetEntrySubmit(@ModelAttribute Asset asset) { |
||||
|
|
||||
|
System.out.println("obj---: TEST"); |
||||
|
|
||||
|
Asset obj = new Asset(); |
||||
|
|
||||
|
|
||||
|
obj.setAssetId(asset.getAssetId()); |
||||
|
obj.setZoneNo(asset.getZoneNo()); |
||||
|
obj.setDivNo(asset.getDivNo()); |
||||
|
obj.setAssetType(asset.getAssetType()); |
||||
|
obj.setAssetName(asset.getAssetName()); |
||||
|
obj.setAssetAddress(asset.getAssetAddress()); |
||||
|
obj.setAssetOpeningTime(asset.getAssetOpeningTime()); |
||||
|
obj.setAssetClosingTime(asset.getAssetClosingTime()); |
||||
|
obj.setAssetArea(asset.getAssetArea()); |
||||
|
obj.setAssetLocality(asset.getAssetLocality()); |
||||
|
obj.setAssetStreet(asset.getAssetStreet()); |
||||
|
obj.setAssetFile(asset.getAssetFile()); |
||||
|
obj.setAssetLatitude(asset.getAssetLatitude()); |
||||
|
obj.setAssetLongitude(asset.getAssetLongitude()); |
||||
|
|
||||
|
|
||||
|
System.out.println("obj---: "+ obj); |
||||
|
|
||||
|
assetRepo.saveAndFlush(obj); |
||||
|
|
||||
|
return "redirect:/qr-feedback/entry"; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/* |
||||
|
* @RequestMapping(value = "/list", method = RequestMethod.GET) public String |
||||
|
* assetList() { // System.out.println("TEST NOW"); return "asset-detail-list"; |
||||
|
* } |
||||
|
*/ |
||||
|
|
||||
|
@GetMapping(value = "/list") |
||||
|
public String assetList(Model model, @PageableDefault(size = 1000) Pageable pageable) { |
||||
|
Page<Asset> obj = assetRepo.findAll(pageable); |
||||
|
model.addAttribute("page", obj); |
||||
|
|
||||
|
model.addAttribute("assetSearchObj", new Asset()); |
||||
|
|
||||
|
System.out.println("OBJ---:"+obj); |
||||
|
return "asset-detail-list"; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/list/edit/{assetId}") |
||||
|
public String proAssetClientListGet(@PathVariable Integer assetId, Model model) { |
||||
|
|
||||
|
new Asset(); |
||||
|
Optional<Asset> asset = assetRepo.findById(assetId); |
||||
|
Asset assetObj = asset.get(); |
||||
|
model.addAttribute("assetEntryObj", assetObj); |
||||
|
|
||||
|
System.out.println("assetObj---:"+assetObj); |
||||
|
return "asset-detail-entry"; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/list/search") |
||||
|
public String assetListSearch(Model model,@PageableDefault(size = 1000) Pageable pageable) { |
||||
|
Page<Asset> obj = assetRepo.findAll(pageable); |
||||
|
model.addAttribute("page", obj); |
||||
|
|
||||
|
model.addAttribute("assetSearchObj", new Asset()); |
||||
|
|
||||
|
System.out.println("OBJ---:"+obj); |
||||
|
return "asset-detail-list"; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,23 @@ |
|||||
|
package com.asset.asset; |
||||
|
|
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.data.jpa.repository.Query; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Repository |
||||
|
public interface AssetRepository extends JpaRepository<Asset, Integer> { |
||||
|
|
||||
|
/* |
||||
|
* @Query( |
||||
|
* value="SELECT a.assetId, a.assetName, b.assetCharacteristic, b.assetQuestionType, \r\n" |
||||
|
* +"b.assetQuestion FROM Asset a INNER JOIN AssetDetail b ON a.assetId=b.assetId" |
||||
|
* ,nativeQuery = false) public List<Asset> findAllAssetDetail(); |
||||
|
*/ |
||||
|
/*public List findAllAssetDetail();*/ |
||||
|
|
||||
|
@Query(value="SELECT asset_id, asset_name FROM asset_master", nativeQuery=true) |
||||
|
public List<Asset> findAllAssetName(); |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,113 @@ |
|||||
|
package com.asset.asset; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
import java.net.URLEncoder; |
||||
|
import java.util.HashMap; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
import javax.servlet.http.HttpServletRequest; |
||||
|
|
||||
|
import org.json.JSONObject; |
||||
|
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.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestMethod; |
||||
|
import org.springframework.web.bind.annotation.RequestParam; |
||||
|
import org.springframework.web.bind.annotation.RestController; |
||||
|
import org.springframework.web.client.RestTemplate; |
||||
|
|
||||
|
@RestController |
||||
|
@RequestMapping(value = "/qr-feedback") |
||||
|
public class AssetRestController { |
||||
|
|
||||
|
@RequestMapping(value = "/entry/map", method = RequestMethod.GET) |
||||
|
public Map<String, String> assetMap(HttpServletRequest request, @RequestParam String locationName) { |
||||
|
|
||||
|
String sSearchLocation =""; |
||||
|
//String sTmp = request.getParameter("locname"); |
||||
|
String sTmp = locationName; |
||||
|
String sLATITUDE = ""; |
||||
|
String sLONGITUDE = ""; |
||||
|
if ( sTmp != null && !sTmp.equals("") ) sSearchLocation = sTmp; |
||||
|
//System.out.println("sSearchLocation---: "+ sSearchLocation); |
||||
|
String str=request.getParameter("serviceinput"); |
||||
|
|
||||
|
if (str==null ) |
||||
|
{ |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
|
||||
|
JSONObject lg = new JSONObject(str); |
||||
|
//System.out.println("latitude : "+ lg.get("latitude")); |
||||
|
//System.out.println("longitude : "+ lg.get("longitude")); |
||||
|
|
||||
|
sLATITUDE =""+ (Double)lg.get("latitude"); |
||||
|
sLONGITUDE = ""+ (Double)lg.get("longitude"); |
||||
|
} |
||||
|
|
||||
|
if ( (sLATITUDE==null || sLATITUDE.equals("")) && ( sLONGITUDE==null || sLONGITUDE.equals("") ) ) |
||||
|
{ |
||||
|
if (!sSearchLocation.equals("")) { |
||||
|
try{ |
||||
|
String urlString ="http://10.1.0.122/geocode_api.php?address="+ URLEncoder.encode( sSearchLocation, "UTF-8" ); |
||||
|
//System.out.println(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(); |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
bodyMessage = "Error"; |
||||
|
} |
||||
|
|
||||
|
JSONObject object = new JSONObject(bodyMessage); |
||||
|
|
||||
|
if ( (Boolean)object.get("status")) |
||||
|
{ |
||||
|
JSONObject dataObject = (JSONObject) object.get("data"); |
||||
|
//System.out.println("latitude 1 : "+ dataObject.get("latitude")); |
||||
|
//System.out.println("longitude 1 : "+ dataObject.get("longitude")); |
||||
|
|
||||
|
sLATITUDE = ""+ (BigDecimal)dataObject.get("latitude"); |
||||
|
sLONGITUDE = ""+ (BigDecimal)dataObject.get("longitude"); |
||||
|
} |
||||
|
} |
||||
|
catch(Exception e) |
||||
|
{ System.out.println(e); } |
||||
|
|
||||
|
} |
||||
|
else if(request.getParameter("latitude")!=null && request.getParameter("longitude")!=null) |
||||
|
{ |
||||
|
sLATITUDE = request.getParameter("latitude"); |
||||
|
sLONGITUDE = request.getParameter("longitude"); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
sLATITUDE = "13.0827"; |
||||
|
sLONGITUDE = "80.2707"; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if ( sLATITUDE == null || sLATITUDE.equals("") || sLONGITUDE == null || sLONGITUDE.equals("") ) |
||||
|
{ |
||||
|
System.out.println("Record Not Found"); |
||||
|
} |
||||
|
//System.out.println("sLATITUDE---:"+sLATITUDE); |
||||
|
//System.out.println("sLONGITUDE---:"+sLONGITUDE); |
||||
|
|
||||
|
Map<String, String> hasMap = new HashMap<String, String>(); |
||||
|
hasMap.put("sLATITUDE", sLATITUDE); |
||||
|
hasMap.put("sLONGITUDE", sLONGITUDE); |
||||
|
|
||||
|
return hasMap; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,48 @@ |
|||||
|
package com.asset.complaint; |
||||
|
|
||||
|
import javax.persistence.*; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Entity |
||||
|
@Data |
||||
|
@Table(name = "asset_complaint") |
||||
|
public class Complaint { |
||||
|
|
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.AUTO) |
||||
|
@Column(name = "complaint_id", nullable = false) |
||||
|
public Integer complaintId; |
||||
|
|
||||
|
public String language; |
||||
|
@Column(name = "mobile_no") |
||||
|
public String mobileNo; |
||||
|
@Lob |
||||
|
@Column(name = "complaint_file") |
||||
|
public byte[] complaintFile; |
||||
|
@Column(name = "status") |
||||
|
public String status; |
||||
|
@Column(name = "public_name") |
||||
|
public String publicName; |
||||
|
@Column(name = "rating") |
||||
|
public String rating; |
||||
|
@Column(name = "asset_id") |
||||
|
public Integer assetId; |
||||
|
|
||||
|
public byte[] getComplaintFile() { |
||||
|
return complaintFile; |
||||
|
} |
||||
|
|
||||
|
public void setComplaintFile(byte[] complaintFile) { |
||||
|
this.complaintFile = complaintFile; |
||||
|
} |
||||
|
|
||||
|
public String getLanguage() { |
||||
|
return language; |
||||
|
} |
||||
|
|
||||
|
public void setLanguage(String language) { |
||||
|
this.language = language; |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,113 @@ |
|||||
|
package com.asset.complaint; |
||||
|
|
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Controller; |
||||
|
import org.springframework.ui.Model; |
||||
|
import org.springframework.ui.ModelMap; |
||||
|
import org.springframework.util.MultiValueMap; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
import org.springframework.web.multipart.MultipartFile; |
||||
|
|
||||
|
import javax.servlet.http.HttpServletRequest; |
||||
|
import javax.servlet.http.HttpSession; |
||||
|
|
||||
|
import com.asset.utils.imagezipper; |
||||
|
|
||||
|
import java.io.IOException; |
||||
|
|
||||
|
@Controller |
||||
|
@RequestMapping(value = "/qr-feedback/complaint") |
||||
|
public class ComplaintController { |
||||
|
|
||||
|
@Autowired |
||||
|
ComplaintRepository complaintRepo; |
||||
|
|
||||
|
@Autowired |
||||
|
ComplaintQuestionRepository ComplaintQRepo; |
||||
|
// @Autowired |
||||
|
// ComplaintService complaintSer; |
||||
|
|
||||
|
@Autowired |
||||
|
ComplaintQuestionRepository complaintQuestionRepo; |
||||
|
|
||||
|
@GetMapping(value = "/tracking") |
||||
|
public String assetEntry(Model model) { |
||||
|
model.addAttribute("complaintTrackingObj", new Complaint()); |
||||
|
|
||||
|
return "asset-complaint-tracking"; |
||||
|
} |
||||
|
|
||||
|
@PostMapping(value = "/feebackForm/submit") |
||||
|
public String feedbackFormSubmit(@ModelAttribute Complaint complaint, |
||||
|
HttpServletRequest request, |
||||
|
@RequestParam MultiValueMap body, |
||||
|
ModelMap model, |
||||
|
@RequestParam("applicantPhoto") MultipartFile applicantPhotoFile) |
||||
|
throws IOException { |
||||
|
HttpSession session = request.getSession(); |
||||
|
System.out.println(session.getAttribute("verifiedotp")); |
||||
|
System.out.println(body); |
||||
|
System.out.println("---complaint---:" + complaint); |
||||
|
Complaint obj = new Complaint(); |
||||
|
obj.setComplaintId(complaint.getComplaintId()); |
||||
|
obj.setMobileNo(complaint.getMobileNo()); |
||||
|
obj.setComplaintFile(complaint.getComplaintFile()); |
||||
|
obj.setStatus(complaint.getStatus()); |
||||
|
obj.setComplaintFile(imagezipper.compressImage(applicantPhotoFile.getBytes())); |
||||
|
obj.setPublicName(complaint.getPublicName()); |
||||
|
obj.setRating(complaint.getRating()); |
||||
|
obj.setAssetId(complaint.getAssetId()); |
||||
|
|
||||
|
// ComplaintQuestion obj2 = new ComplaintQuestion(); |
||||
|
// obj2.setComplaintQuestionId(complaintQuestion.getComplaintQuestionId()); |
||||
|
// obj2.setComplaintId(complaintQuestion.getComplaintId()); |
||||
|
// obj2.setQuestion(complaintQuestion.getQuestion()); |
||||
|
// obj2.setFeedback(complaintQuestion.getFeedback()); |
||||
|
// complaintQuestionRepo.saveAndFlush(obj2); |
||||
|
if (session.getAttribute("verifiedotp").equals("success")) { |
||||
|
// return "asset-feedback-form-public-view"; |
||||
|
model.addAttribute("displayText", "Thanks for the Feedback!!!"); |
||||
|
|
||||
|
|
||||
|
body.keySet().forEach( |
||||
|
name -> { |
||||
|
|
||||
|
|
||||
|
System.out.println(name); |
||||
|
if (name.toString().startsWith("englishTamil")) { |
||||
|
obj.setLanguage(body.getFirst(name).toString()); |
||||
|
complaintRepo.save(obj); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
if (name.toString().startsWith("tfeedback_")) { |
||||
|
System.out.println("English: " + name + ":" + body.getFirst(name).toString()); |
||||
|
Complaint latestEntry = complaintRepo.findLatestEntry(); |
||||
|
System.out.println(latestEntry); |
||||
|
ComplaintQuestion cq = new ComplaintQuestion(); |
||||
|
cq.setFeedback(body.getFirst(name).toString()); |
||||
|
cq.setComplaintId(latestEntry.getComplaintId()); |
||||
|
cq.setQuestion(name.toString().split("_")[1]); |
||||
|
ComplaintQRepo.save(cq); |
||||
|
} |
||||
|
|
||||
|
if (name.toString().startsWith("feedback_")) { |
||||
|
System.out.println("English: " + name + ":" + body.getFirst(name).toString()); |
||||
|
Complaint latestEntry = complaintRepo.findLatestEntry(); |
||||
|
System.out.println(latestEntry); |
||||
|
ComplaintQuestion cq = new ComplaintQuestion(); |
||||
|
cq.setFeedback(body.getFirst(name).toString()); |
||||
|
cq.setComplaintId(latestEntry.getComplaintId()); |
||||
|
cq.setQuestion(name.toString().split("_")[1]); |
||||
|
ComplaintQRepo.save(cq); |
||||
|
} |
||||
|
}); |
||||
|
return "invalidotp"; |
||||
|
} else { |
||||
|
model.addAttribute("displayText", "Invalid OTP Entered... Please scan Again and enter valid OTP"); |
||||
|
return "invalidotp"; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,31 @@ |
|||||
|
package com.asset.complaint; |
||||
|
|
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.Table; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Entity |
||||
|
@Data |
||||
|
@Table(name = "asset_complaint_question") |
||||
|
public class ComplaintQuestion { |
||||
|
|
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.AUTO) |
||||
|
@Column(name="complaint_question_id", nullable=false) |
||||
|
public Integer complaintQuestionId; |
||||
|
|
||||
|
@Column(name="complaint_id") |
||||
|
public Integer complaintId; |
||||
|
|
||||
|
@Column(name="question") |
||||
|
public String question; |
||||
|
|
||||
|
@Column(name="feedback") |
||||
|
public String feedback; |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,9 @@ |
|||||
|
package com.asset.complaint; |
||||
|
|
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
@Repository |
||||
|
public interface ComplaintQuestionRepository extends JpaRepository<ComplaintQuestion, Integer> { |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,16 @@ |
|||||
|
package com.asset.complaint; |
||||
|
|
||||
|
import com.asset.asset.Asset; |
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.data.jpa.repository.Query; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Repository |
||||
|
public interface ComplaintRepository extends JpaRepository<Complaint, Integer> { |
||||
|
|
||||
|
@Query(value="SELECT * from gcc.asset_complaint order by complaint_id desc limit 1", nativeQuery=true) |
||||
|
public Complaint findLatestEntry(); |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,559 @@ |
|||||
|
package com.asset.complaint; |
||||
|
|
||||
|
import java.util.Random; |
||||
|
|
||||
|
import javax.servlet.http.HttpServletRequest; |
||||
|
import javax.servlet.http.HttpSession; |
||||
|
|
||||
|
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.GetMapping; |
||||
|
import org.springframework.web.bind.annotation.ModelAttribute; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestParam; |
||||
|
import org.springframework.web.bind.annotation.RestController; |
||||
|
import org.springframework.web.client.RestTemplate; |
||||
|
import java.time.format.DateTimeFormatter; |
||||
|
import java.time.LocalDateTime; |
||||
|
@RestController |
||||
|
@RequestMapping(value = "/qr-feedback/feedback") |
||||
|
public class ComplaintRestController { |
||||
|
|
||||
|
@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="Your OTP is " +otp+ ". OTP is valid for the next 5 minutes.%0aBy%0aGreater Chennai Corporation."; |
||||
|
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 urlString="http://api.onex-ultimo.in/api/pushsms?user=GCCtrans&authkey=92kOC1RBGBIws&sender=GCCCRP&mobile="+MobileNo+"&text="+generatedToken+"&rpt=1&summary=1&output=json&entityid=1401572690000011081&templateid=1407161640444625990"; |
||||
|
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("\n ERROR---: "+e); |
||||
|
bodyMessage = "Error"; |
||||
|
} |
||||
|
System.out.println("\n 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(); |
||||
|
String bodyMessage = ""; |
||||
|
|
||||
|
int session_otp = (Integer) session.getAttribute("otp"); |
||||
|
System.out.println("session_otp---:"+session_otp); |
||||
|
String string_entered_otp = otp; |
||||
|
int entered_otp = Integer.parseInt(string_entered_otp); |
||||
|
|
||||
|
if(session_otp == entered_otp) |
||||
|
{ |
||||
|
System.out.println("Entered OTP Correct"); |
||||
|
bodyMessage = "Success"; |
||||
|
session.setAttribute("verifiedotp", "success"); |
||||
|
|
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
System.out.println("Incorrect OTP. Please enter correct OTPs."); |
||||
|
bodyMessage = "Error"; |
||||
|
|
||||
|
session.setAttribute("verifiedotp", "error"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
return bodyMessage; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/entry/complaint") |
||||
|
public String feedbackFormSubmit(@ModelAttribute Complaint complaint, |
||||
|
ComplaintQuestion complaintQuestion, |
||||
|
HttpServletRequest request) { |
||||
|
|
||||
|
String complaintId=""; |
||||
|
String name="null"; |
||||
|
String address="null"; |
||||
|
String email="null"; |
||||
|
String mobileNo="9789332040"; |
||||
|
String complaintType="18"; |
||||
|
String complaintTitle="Mosquitomenace"; |
||||
|
String complaintDetail="TestDetail"; |
||||
|
String streetId="25956"; |
||||
|
String image=""; |
||||
|
String imageTest="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"; |
||||
|
|
||||
|
String latitude="13.00"; |
||||
|
String longtitude="null"; |
||||
|
String landmark="Test Landmark"; |
||||
|
|
||||
|
String urlString = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice?serviceId=RegComplaint&ComplainantName="+name+"&ComplainantAddr="+address+"&MobileNo="+email+"&Email="+mobileNo+"&ComplaintType="+complaintType+"&ComplaintTitle="+complaintTitle+"&ComplaintDetails="+complaintDetail+"&StreetId="+streetId+"&Comp_Image="+image+"&latitude="+latitude+"&longtitude="+longtitude+"&Landmark="+landmark+""; |
||||
|
System.out.print("urlString---: \n"+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); |
||||
|
System.out.println(response.getBody()); |
||||
|
bodyMessage = response.getBody(); |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
System.out.print("ERROR---: "+e); |
||||
|
bodyMessage = "ERROR"; |
||||
|
} |
||||
|
return bodyMessage; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
@ -0,0 +1,51 @@ |
|||||
|
package com.asset.complaint; |
||||
|
|
||||
|
import org.springframework.http.HttpEntity; |
||||
|
import org.springframework.http.HttpHeaders; |
||||
|
import org.springframework.http.ResponseEntity; |
||||
|
import org.springframework.web.client.RestTemplate; |
||||
|
|
||||
|
public class ComplaintService { |
||||
|
|
||||
|
public String registerPgrComplaint() { |
||||
|
|
||||
|
// URLs |
||||
|
//private String INTEGRATION_URL = "http://freedomris.ddns.net:8001/FreedomRisNotificationApp"; |
||||
|
//private String INTEGRATION_TOKEN_URL = INTEGRATION_URL + "/token"; |
||||
|
//private String INTEGRATION_CLIENT_URL = INTEGRATION_URL + "/api/v1/GetClient"; |
||||
|
//private String INTEGRATION_BILL_URL = INTEGRATION_URL + "/api/v1/GetBill"; |
||||
|
|
||||
|
String complaintId=""; |
||||
|
String name="null"; |
||||
|
String address="null"; |
||||
|
String email="null"; |
||||
|
String mobileNo="9789332040"; |
||||
|
String complaintType="18"; |
||||
|
String complaintTitle="Mosquitomenace"; |
||||
|
String complaintDetail="TestDetail"; |
||||
|
String streetId="25956"; |
||||
|
String image="null"; |
||||
|
String latitude="null"; |
||||
|
String longtitude="null"; |
||||
|
String landmark="null"; |
||||
|
|
||||
|
String urlString = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice?serviceId=RegComplaint&ComplainantName="+name+"&ComplainantAddr="+address+"&MobileNo="+email+"&Email="+mobileNo+"&ComplaintType="+complaintType+"&ComplaintTitle="+complaintTitle+"&ComplaintDetails="+complaintDetail+"&StreetId="+streetId+"&Comp_Image="+image+"&latitude="+latitude+"&longtitude="+longtitude+"&Landmark="+landmark+""; |
||||
|
//System.out.print("urlString---: "+urlString); |
||||
|
|
||||
|
ResponseEntity<String> response = null; |
||||
|
RestTemplate restTemplate = new RestTemplate(); |
||||
|
HttpHeaders headers = new HttpHeaders(); |
||||
|
//headers.add("Content-Type", "application/x-www-form-urlencoded"); |
||||
|
try { |
||||
|
HttpEntity<String> postData = new HttpEntity<String>(headers); |
||||
|
// response = restTemplate.exchange(INTEGRATION_TOKEN_URL, HttpMethod.POST, postData, String.class); |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
|
||||
|
String bodyMessage = response.getBody(); |
||||
|
return bodyMessage; |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,93 @@ |
|||||
|
package com.asset.feedback; |
||||
|
|
||||
|
import javax.persistence.*; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Entity |
||||
|
@Data |
||||
|
@Table(name = "asset_feedback") |
||||
|
public class Feedback { |
||||
|
|
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.AUTO) |
||||
|
@Column(name="feedback_id", nullable=false) |
||||
|
public Integer feedbackId; |
||||
|
|
||||
|
@Column(name="asset_id") |
||||
|
public String assetId; |
||||
|
|
||||
|
@Column(name="asset_name") |
||||
|
public String assetName; |
||||
|
|
||||
|
public String getQrcodestring() { |
||||
|
return qrcodestring; |
||||
|
} |
||||
|
|
||||
|
public void setQrcodestring(String qrcodestring) { |
||||
|
this.qrcodestring = qrcodestring; |
||||
|
} |
||||
|
|
||||
|
@Column(name="asset_type") |
||||
|
public String assetType; |
||||
|
|
||||
|
public String qrcodestring; |
||||
|
public byte[] getQrcodeinbytes() { |
||||
|
return qrcodeinbytes; |
||||
|
} |
||||
|
|
||||
|
public void setQrcodeinbytes(byte[] qrcodeinbytes) { |
||||
|
this.qrcodeinbytes = qrcodeinbytes; |
||||
|
} |
||||
|
|
||||
|
@Lob |
||||
|
private byte[] qrcodeinbytes; |
||||
|
|
||||
|
public Integer getFeedbackId() { |
||||
|
return feedbackId; |
||||
|
} |
||||
|
|
||||
|
public void setFeedbackId(Integer feedbackId) { |
||||
|
this.feedbackId = feedbackId; |
||||
|
} |
||||
|
|
||||
|
public String getAssetId() { |
||||
|
return assetId; |
||||
|
} |
||||
|
|
||||
|
public void setAssetId(String assetId) { |
||||
|
this.assetId = assetId; |
||||
|
} |
||||
|
|
||||
|
public String getAssetName() { |
||||
|
return assetName; |
||||
|
} |
||||
|
|
||||
|
public void setAssetName(String assetName) { |
||||
|
this.assetName = assetName; |
||||
|
} |
||||
|
|
||||
|
public String getAssetType() { |
||||
|
return assetType; |
||||
|
} |
||||
|
|
||||
|
public void setAssetType(String assetType) { |
||||
|
this.assetType = assetType; |
||||
|
} |
||||
|
|
||||
|
public String getQrcodepath() { |
||||
|
return qrcodepath; |
||||
|
} |
||||
|
|
||||
|
public void setQrcodepath(String qrcodepath) { |
||||
|
this.qrcodepath = qrcodepath; |
||||
|
} |
||||
|
|
||||
|
@Column(name="qrcode_path") |
||||
|
public String qrcodepath; |
||||
|
//@OneToMany(mappedBy = "FeedbackQuestion", fetch = FetchType.LAZY, cascade=CascadeType.ALL) |
||||
|
//private List<FeedbackQuestion> feedbackQuestionList; |
||||
|
|
||||
|
//@OneToMany(mappedBy = "FeedbackQuestion", fetch = FetchType.LAZY, cascade = CascadeType.ALL) |
||||
|
//public List<FeedbackQuestion> feedbackQuestionList = new ArrayList<FeedbackQuestion>(); |
||||
|
} |
||||
@ -0,0 +1,440 @@ |
|||||
|
package com.asset.feedback; |
||||
|
|
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.ByteArrayOutputStream; |
||||
|
import java.io.File; |
||||
|
import java.io.IOException; |
||||
|
import java.nio.file.FileSystems; |
||||
|
import java.util.*; |
||||
|
import java.util.stream.Collectors; |
||||
|
|
||||
|
import com.asset.asset.Asset; |
||||
|
import com.asset.asset.AssetRepository; |
||||
|
import com.asset.master.Master; |
||||
|
import com.asset.master.MasterRepository; |
||||
|
import com.google.zxing.WriterException; |
||||
|
import com.google.zxing.oned.Code128Writer; |
||||
|
import com.google.zxing.pdf417.encoder.BarcodeMatrix; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.data.domain.Page; |
||||
|
import org.springframework.data.domain.Pageable; |
||||
|
import org.springframework.data.web.PageableDefault; |
||||
|
import org.springframework.stereotype.Controller; |
||||
|
import org.springframework.ui.Model; |
||||
|
import org.springframework.util.MultiValueMap; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import com.asset.complaint.Complaint; |
||||
|
import com.asset.complaint.ComplaintRepository; |
||||
|
import com.asset.master.MasterQuestion; |
||||
|
import com.asset.master.MasterQuestionRepository; |
||||
|
import com.google.zxing.BarcodeFormat; |
||||
|
import com.google.zxing.client.j2se.MatrixToImageWriter; |
||||
|
import com.google.zxing.common.BitMatrix; |
||||
|
import com.google.zxing.qrcode.QRCodeWriter; |
||||
|
|
||||
|
import javax.imageio.ImageIO; |
||||
|
import javax.servlet.ServletContext; |
||||
|
import javax.servlet.http.HttpServletRequest; |
||||
|
import javax.servlet.http.HttpSession; |
||||
|
|
||||
|
@Controller |
||||
|
@RequestMapping(value = "/qr-feedback/feedback") |
||||
|
@SessionAttributes({"user"}) |
||||
|
public class FeedbackController { |
||||
|
|
||||
|
@Autowired |
||||
|
FeedbackQuestionRepository feedbackQuestionRepository; |
||||
|
@Autowired |
||||
|
MasterRepository masterRepo; |
||||
|
|
||||
|
@Autowired |
||||
|
AssetRepository assetRepo; |
||||
|
@Autowired |
||||
|
ServletContext context; |
||||
|
@Autowired |
||||
|
FeedbackRepository feedbackRepo; |
||||
|
|
||||
|
@Autowired |
||||
|
FeedbackQuestionRepository feedbackQuestionRepo; |
||||
|
|
||||
|
@Autowired |
||||
|
MasterQuestionRepository masterQuestionRepo; |
||||
|
|
||||
|
@Autowired |
||||
|
ComplaintRepository complaintDetailRepo; |
||||
|
|
||||
|
public static BufferedImage generateQRCodeImage(String barcodeText) throws Exception { |
||||
|
StringBuilder str = new StringBuilder(); |
||||
|
str = str.append("Name:").append(barcodeText); |
||||
|
QRCodeWriter barcodeWriter = new QRCodeWriter(); |
||||
|
BitMatrix bitMatrix = |
||||
|
barcodeWriter.encode(str.toString(), BarcodeFormat.QR_CODE, 200, 200); |
||||
|
|
||||
|
return MatrixToImageWriter.toBufferedImage(bitMatrix); |
||||
|
} |
||||
|
|
||||
|
public static BufferedImage generateBARCodeImage(long barcodeText) throws Exception { |
||||
|
StringBuilder str = new StringBuilder(); |
||||
|
str = str.append("Name:").append(barcodeText); |
||||
|
Code128Writer code128Writer = new Code128Writer(); |
||||
|
BitMatrix bitMatrix = |
||||
|
code128Writer.encode(str.toString(), BarcodeFormat.CODE_128, 200, 200); |
||||
|
|
||||
|
return MatrixToImageWriter.toBufferedImage(bitMatrix); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
// @GetMapping(value = "/sendOtp") |
||||
|
// public String sendOTP(Model model) { |
||||
|
// System.out.println(); |
||||
|
// return null; |
||||
|
// } |
||||
|
|
||||
|
public static byte[] getQRCodeImage(String text, int width, int height) |
||||
|
throws WriterException, IOException { |
||||
|
QRCodeWriter qrCodeWriter = new QRCodeWriter(); |
||||
|
BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height); |
||||
|
ByteArrayOutputStream pngOut = new ByteArrayOutputStream(); |
||||
|
MatrixToImageWriter.writeToStream(bitMatrix, "PNG", pngOut); |
||||
|
byte[] pngData = pngOut.toByteArray(); |
||||
|
return pngData; |
||||
|
} |
||||
|
|
||||
|
public static byte[] getBARCodeImage(String text, int width, int height) |
||||
|
throws WriterException, IOException { |
||||
|
Code128Writer code128Writer = new Code128Writer(); |
||||
|
BitMatrix bitMatrix = code128Writer.encode(text, BarcodeFormat.CODE_128, width, height); |
||||
|
ByteArrayOutputStream pngOut = new ByteArrayOutputStream(); |
||||
|
MatrixToImageWriter.writeToStream(bitMatrix, "PNG", pngOut); |
||||
|
byte[] pngData = pngOut.toByteArray(); |
||||
|
return pngData; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/creation") |
||||
|
public String feedbackForm(Model model) { |
||||
|
model.addAttribute("feedbackFormCreationObj", new FeedbackQuestion()); |
||||
|
|
||||
|
return "asset-feedback-creation"; |
||||
|
} |
||||
|
|
||||
|
@PostMapping(value = "/creation/submit") |
||||
|
public String assetEntrySubmit(@ModelAttribute Feedback feedback, |
||||
|
@ModelAttribute FeedbackQuestion feedbackQuestion, |
||||
|
@RequestParam MultiValueMap body) { |
||||
|
System.out.println(body); |
||||
|
Feedback obj = new Feedback(); |
||||
|
obj.setAssetId(feedback.getAssetId()); |
||||
|
obj.setAssetType(feedback.getAssetType()); |
||||
|
feedbackRepo.saveAndFlush(obj); |
||||
|
|
||||
|
FeedbackQuestion obj2 = new FeedbackQuestion(); |
||||
|
obj2.setFeedbackQuestionId(feedbackQuestion.getFeedbackQuestionId()); |
||||
|
obj2.setAssetId(feedbackQuestion.getAssetId()); |
||||
|
obj2.setAssetType(feedbackQuestion.getAssetType()); |
||||
|
obj2.setQuestionEnglish(body.getFirst("masterQuestionEnglish").toString()); |
||||
|
obj2.setQuestionTamil(body.getFirst("masterQuestionTamil").toString()); |
||||
|
obj2.setQuestionType(feedbackQuestion.getQuestionType()); |
||||
|
feedbackQuestionRepo.saveAndFlush(obj2); |
||||
|
|
||||
|
return "redirect:/qr-feedback/feedback/creation"; |
||||
|
} |
||||
|
|
||||
|
@PostMapping(value = "/qrcode/search") |
||||
|
public String assetTypeSearch(@RequestParam String assetType, Model model, HttpServletRequest request) { |
||||
|
Map<String, String> assetTypeMap = new HashMap<String, String>(); |
||||
|
List<Asset> obj = assetRepo.findAll(); |
||||
|
final List<Asset> objNew = new ArrayList<>(); |
||||
|
List<String> options = new ArrayList<String>(); |
||||
|
|
||||
|
|
||||
|
HttpSession session = request.getSession(); |
||||
|
session.setAttribute("feedbackFilter", assetType); |
||||
|
obj.forEach(mp -> { |
||||
|
// System.out.println(mp); |
||||
|
try { |
||||
|
byte[] qrbytes = getQRCodeImage("http://feedback.chennaicorporation.gov.in/asset_details-0.0.1-SNAPSHOT/qr-feedback/feedback/entry/qrcode=" + |
||||
|
mp.qrcode, 200, 200); |
||||
|
// System.out.println(qrbytes); |
||||
|
mp.setQrcodeinbytes(qrbytes); |
||||
|
mp.setQrcodestring(Base64.getEncoder().encodeToString(mp.getQrcodeinbytes())); |
||||
|
mp.setQrcodestring(mp.getQrcodestring()); |
||||
|
mp.setAssetAddress(mp.assetStreet + ", " + mp.assetLocality + ", " + mp.assetArea); |
||||
|
// System.out.println(mp.getQrcodeinbytes()); |
||||
|
if (!assetTypeMap.containsKey(mp.getAssetType()) && mp.getAssetType() != "") { |
||||
|
assetTypeMap.put(mp.getAssetType(), mp.getAssetType()); |
||||
|
// System.out.println(mp.getAssetType()); |
||||
|
options.add(mp.getAssetType()); |
||||
|
} |
||||
|
if (mp.getAssetType().equals(assetType)) { |
||||
|
System.out.println(assetType + " :" + mp.getAssetType()); |
||||
|
|
||||
|
// Asset newAsset = new Asset(); |
||||
|
// newAsset.setAssetId(mp.getAssetId()); |
||||
|
// newAsset.setDivNo(mp.getDivNo()); |
||||
|
// newAsset.setZoneNo(mp.getZoneNo()); |
||||
|
// newAsset.setAssetName(mp.getAssetName()); |
||||
|
// |
||||
|
// newAsset.setQrcodestring(mp.getQrcodestring()); |
||||
|
// newAsset.setQrcodeinbytes(mp.getQrcodeinbytes()); |
||||
|
// newAsset.setAssetAddress(mp.getAssetAddress()); |
||||
|
// System.out.println(newAsset); |
||||
|
|
||||
|
objNew.add(mp); |
||||
|
} |
||||
|
} catch (Exception e) { |
||||
|
e.getMessage(); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
System.out.println(objNew.toArray().length); |
||||
|
model.addAttribute("page", objNew); |
||||
|
|
||||
|
|
||||
|
model.addAttribute("options", options); |
||||
|
|
||||
|
return "redirect:/qr-feedback/feedback/qrcode"; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/qrcode") |
||||
|
public String qrCode(Model model, HttpServletRequest request) { |
||||
|
model.addAttribute("qrCodeObj", new Feedback()); |
||||
|
|
||||
|
// List<Feedback> obj = feedbackRepo.findAll(); |
||||
|
Map<String, String> assetTypeMap = new HashMap<String, String>(); |
||||
|
List<Asset> obj = assetRepo.findAll(); |
||||
|
List<Master> masterObj = masterRepo.findAll(); |
||||
|
List<String> options = new ArrayList<String>(); |
||||
|
final List<Asset> objNew = new ArrayList<>(); |
||||
|
|
||||
|
HttpSession session = request.getSession(); |
||||
|
System.out.println(session.getAttribute("feedbackFilter")); |
||||
|
|
||||
|
// masterObj.forEach(mp -> { |
||||
|
// options.add(mp.getMasterName()); |
||||
|
// |
||||
|
// }); |
||||
|
|
||||
|
obj.forEach(mp -> { |
||||
|
// System.out.println(mp); |
||||
|
try { |
||||
|
byte[] qrbytes = getQRCodeImage("http://feedback.chennaicorporation.gov.in/asset_details-0.0.1-SNAPSHOT/qr-feedback/feedback/entry/qrcode=" + |
||||
|
mp.qrcode, 200, 200); |
||||
|
// System.out.println(qrbytes); |
||||
|
mp.setQrcodeinbytes(qrbytes); |
||||
|
mp.setQrcodestring(Base64.getEncoder().encodeToString(mp.getQrcodeinbytes())); |
||||
|
mp.setQrcodestring(mp.getQrcodestring()); |
||||
|
mp.setAssetAddress(mp.assetStreet + ", " + mp.assetLocality + ", " + mp.assetArea); |
||||
|
System.out.println(mp.getQrcodeinbytes()); |
||||
|
// if(!assetTypeMap.containsKey(mp.getAssetType()) && mp.getAssetType() != ""){ |
||||
|
// assetTypeMap.put(mp.getAssetType(), mp.getAssetType()); |
||||
|
// System.out.println(mp.getAssetType()); |
||||
|
// options.add(mp.getAssetType()); |
||||
|
// } |
||||
|
if (session.getAttribute("feedbackFilter") != null) { |
||||
|
if (mp.getMasterID().equals(session.getAttribute("feedbackFilter").toString())) { |
||||
|
System.out.println(session.getAttribute("feedbackFilter").toString() + " :" + mp.getAssetType()); |
||||
|
objNew.add(mp); |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.getMessage(); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
ArrayList<String> listOfValues |
||||
|
= assetTypeMap.values().stream().collect(Collectors.toCollection(ArrayList::new)); |
||||
|
System.out.println(listOfValues); |
||||
|
// model.addAttribute("page", obj); |
||||
|
model.addAttribute("mapAssetType", masterObj); |
||||
|
model.addAttribute("page", objNew); |
||||
|
|
||||
|
model.addAttribute("options", options); |
||||
|
//Page<FeedbackQuestion> obj2 = feedbackQuestionRepo.findAll(pageable); |
||||
|
//model.addAttribute("page", obj2); |
||||
|
|
||||
|
return "asset-feedback-qrcode"; |
||||
|
} |
||||
|
|
||||
|
@PostMapping(value = "/qrcode/submit") |
||||
|
public String qrCodeSubmit(Model model, @PageableDefault(size = 1000) Pageable pageable) { |
||||
|
Page<Feedback> obj = feedbackRepo.findAll(pageable); |
||||
|
model.addAttribute("page", obj); |
||||
|
model.addAttribute("qrCodeObj", new Feedback()); |
||||
|
|
||||
|
return "asset-feedback-qrcode"; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/list") |
||||
|
public String feedbackList(Model model, @PageableDefault(size = 1000) Pageable pageable) { |
||||
|
|
||||
|
Page<Feedback> obj = feedbackRepo.findAll(pageable); |
||||
|
|
||||
|
obj.forEach(mp -> { |
||||
|
System.out.println(mp); |
||||
|
try { |
||||
|
BufferedImage bufferedImage = generateBARCodeImage(mp.feedbackId); |
||||
|
String absolutePath = context.getRealPath("qrcode"); |
||||
|
System.out.println(absolutePath); |
||||
|
File outputfile = new File(absolutePath + "//" |
||||
|
+ mp.assetId + "_" + mp.assetName + "_" + mp.feedbackId + ".png"); |
||||
|
ImageIO.write(bufferedImage, "png", outputfile); |
||||
|
mp.setQrcodepath(absolutePath + "//" |
||||
|
+ mp.assetId + "_" + mp.assetName + "_" + mp.feedbackId + ".png"); |
||||
|
byte[] qrbytes = getBARCodeImage(String.valueOf(mp.feedbackId), 200, 200); |
||||
|
System.out.println(qrbytes); |
||||
|
mp.setQrcodeinbytes(qrbytes); |
||||
|
mp.setQrcodestring(Base64.getEncoder().encodeToString(mp.getQrcodeinbytes())); |
||||
|
mp.setQrcodestring(mp.getQrcodestring()); |
||||
|
System.out.println(mp.getQrcodeinbytes()); |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
e.getMessage(); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
|
||||
|
//Page<MasterDetail> obj = masterDetailRepo.findAll(pageable); |
||||
|
model.addAttribute("page", obj); |
||||
|
System.out.println("obj" + obj); |
||||
|
return "asset-feedback-list"; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/entry/qrcode={qrcode}") |
||||
|
public String feednbackFormEntryAssetID(@PathVariable String qrcode, Model model, |
||||
|
HttpServletRequest request) { |
||||
|
// Page<Feedback> obj = feedbackRepo.findAll(pageable); |
||||
|
// model.addAttribute("page", obj); |
||||
|
System.out.println("assetid" + qrcode); |
||||
|
//List<FeedbackQuestion> obj = feedbackQuestionRepo.findAll(); |
||||
|
// Integer assetIdValue = assetid; |
||||
|
|
||||
|
List<Asset> objassets = assetRepo.findAll(); |
||||
|
final Asset AssetObj = new Asset(); |
||||
|
|
||||
|
objassets.forEach(mp -> { |
||||
|
System.out.println(mp); |
||||
|
if (mp.qrcode.equals(qrcode)) { |
||||
|
|
||||
|
AssetObj.assetId = mp.assetId; |
||||
|
AssetObj.assetAddress = mp.assetStreet + ", " + mp.assetLocality + ", " + mp.assetArea; |
||||
|
AssetObj.assetName = mp.assetName; |
||||
|
|
||||
|
} |
||||
|
}); |
||||
|
List<Complaint> obj1 = complaintDetailRepo.findAll(); |
||||
|
model.addAttribute("complaintObj", obj1); |
||||
|
|
||||
|
List<MasterQuestion> obj = masterQuestionRepo.findAll(); |
||||
|
List<FeedbackQuestion> feedobj = feedbackQuestionRepository.findFeedBackQuestionByAssetId(qrcode); |
||||
|
|
||||
|
HttpSession session = request.getSession(); |
||||
|
session.setAttribute("assedidFilter", qrcode); |
||||
|
|
||||
|
feedobj.forEach(mp -> { |
||||
|
System.out.println(mp.getQuestionEnglish()); |
||||
|
MasterQuestion mq = new MasterQuestion(); |
||||
|
mq.setMasterQuestionType(mp.getQuestionType()); |
||||
|
mq.setMasterQuestionEnglish(mp.getQuestionEnglish()); |
||||
|
mq.setMasterQuestionTamil(mp.getQuestionTamil()); |
||||
|
mq.setMasterName(mp.getAssetName()); |
||||
|
mq.setMasterQuestionId(mp.getFeedbackQuestionId()); |
||||
|
obj.add(mq); |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
model.addAttribute("page", obj); |
||||
|
model.addAttribute("objassets", AssetObj); |
||||
|
model.addAttribute("assetEntry", true); |
||||
|
|
||||
|
System.out.println(obj); |
||||
|
// return "asset-feedback-form-public-view"; |
||||
|
return "redirect:/qr-feedback/feedback/entry"; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/entry") |
||||
|
public String feednbackFormEntry(Model model, HttpServletRequest request) { |
||||
|
// Page<Feedback> obj = feedbackRepo.findAll(pageable); |
||||
|
// model.addAttribute("page", obj); |
||||
|
// System.out.println("obj"+obj); |
||||
|
//List<FeedbackQuestion> obj = feedbackQuestionRepo.findAll(); |
||||
|
HttpSession session = request.getSession(); |
||||
|
System.out.println(session.getAttribute("assedidFilter").toString()); |
||||
|
List<Asset> objassets = assetRepo.findAll(); |
||||
|
final Asset AssetObj = new Asset(); |
||||
|
|
||||
|
objassets.forEach(mp -> { |
||||
|
|
||||
|
if (session.getAttribute("assedidFilter") != null && |
||||
|
mp.qrcode.equals(session.getAttribute("assedidFilter").toString())) { |
||||
|
System.out.println(mp); |
||||
|
AssetObj.assetId = mp.assetId; |
||||
|
AssetObj.assetAddress = mp.assetStreet + ", " + mp.assetLocality + ", " + mp.assetArea; |
||||
|
AssetObj.assetName = mp.assetName; |
||||
|
AssetObj.setMasterID(mp.getMasterID()); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
List<Complaint> obj1 = complaintDetailRepo.findAll(); |
||||
|
model.addAttribute("complaintObj", obj1); |
||||
|
|
||||
|
List<MasterQuestion> obj = masterQuestionRepo.findByMasterParametersId(Integer.parseInt(AssetObj.masterID)); |
||||
|
List<FeedbackQuestion> feedobj = feedbackQuestionRepository.findAllFeedBackQuestion(); |
||||
|
|
||||
|
|
||||
|
if (session.getAttribute("assedidFilter") != null) { |
||||
|
feedobj = feedbackQuestionRepository.findFeedBackQuestionByAssetId(session.getAttribute("assedidFilter").toString()); |
||||
|
} |
||||
|
|
||||
|
feedobj.forEach(mp -> { |
||||
|
// if (mp.getAssetId().equals("PRK-01-001-00001")) { |
||||
|
// System.out.println(mp.getQuestionEnglish()); |
||||
|
MasterQuestion mq = new MasterQuestion(); |
||||
|
mq.setMasterQuestionType(mp.getQuestionType()); |
||||
|
mq.setMasterQuestionEnglish(mp.getQuestionEnglish()); |
||||
|
mq.setMasterQuestionTamil(mp.getQuestionTamil()); |
||||
|
// mq.setMasterName(mp.getAssetName()); |
||||
|
mq.setMasterQuestionId(mp.getFeedbackQuestionId()); |
||||
|
obj.add(mq); |
||||
|
// } |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
model.addAttribute("page", obj); |
||||
|
model.addAttribute("objassets", AssetObj); |
||||
|
model.addAttribute("assetEntry", true); |
||||
|
System.out.println(obj); |
||||
|
return "asset-feedback-form-public-view"; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/entry/assetType={assetType}/assetId={assetId}") |
||||
|
public String feedbackFormPublicView(@PathVariable Integer assetId, @PathVariable String assetType, Model model) { |
||||
|
|
||||
|
Integer assetIdValue = assetId; |
||||
|
String assetTypeValue = assetType; |
||||
|
System.out.println("assetIdValue---:" + assetIdValue); |
||||
|
System.out.println("assetTypeValue---:" + assetTypeValue); |
||||
|
|
||||
|
//new Asset(); |
||||
|
//Optional<FeedbackQuestion> asset = feedbackQuestionRepo.findAll(); |
||||
|
//Asset assetObj = asset.get(); |
||||
|
//model.addAttribute("assetEntryObj", assetObj); |
||||
|
|
||||
|
//List<FeedbackQuestion> obj = feedbackQuestionRepo.findAll(); |
||||
|
//model.addAttribute("page", obj); |
||||
|
|
||||
|
List<Complaint> obj1 = complaintDetailRepo.findAll(); |
||||
|
model.addAttribute("complaintObj", obj1); |
||||
|
|
||||
|
List<MasterQuestion> obj = masterQuestionRepo.findAllByAssetType(assetTypeValue); |
||||
|
model.addAttribute("page", obj); |
||||
|
|
||||
|
//System.out.println("assetObj---:"+assetObj); |
||||
|
return "asset-feedback-form-public-view"; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,43 @@ |
|||||
|
package com.asset.feedback; |
||||
|
|
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.Table; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Entity |
||||
|
@Data |
||||
|
@Table(name = "asset_feedback_question") |
||||
|
public class FeedbackQuestion { |
||||
|
|
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.AUTO) |
||||
|
@Column(name="feedback_question_id", nullable=false) |
||||
|
public Integer feedbackQuestionId; |
||||
|
|
||||
|
@Column(name="asset_id") |
||||
|
public String assetId; |
||||
|
|
||||
|
@Column(name="asset_name") |
||||
|
public String assetName; |
||||
|
|
||||
|
@Column(name="asset_type") |
||||
|
public String assetType; |
||||
|
|
||||
|
@Column(name="question_english") |
||||
|
public String questionEnglish; |
||||
|
|
||||
|
@Column(name="question_tamil") |
||||
|
public String questionTamil; |
||||
|
|
||||
|
@Column(name="question_type") |
||||
|
public String questionType; |
||||
|
|
||||
|
//@JoinColumn(name = "asset_id", nullable = false, insertable=false, updatable=false) |
||||
|
//private Feedback feedback; |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,19 @@ |
|||||
|
package com.asset.feedback; |
||||
|
|
||||
|
import com.asset.master.Master; |
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.data.jpa.repository.Query; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Repository |
||||
|
public interface FeedbackQuestionRepository extends JpaRepository<FeedbackQuestion, Integer> { |
||||
|
|
||||
|
@Query(value = "SELECT * FROM asset_feedback_question where asset_id=?1", nativeQuery = true) |
||||
|
public List<FeedbackQuestion> findFeedBackQuestionByAssetId(String asset_id); |
||||
|
|
||||
|
@Query(value = "SELECT * FROM asset_feedback_question", nativeQuery = true) |
||||
|
public List<FeedbackQuestion> findAllFeedBackQuestion(); |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,15 @@ |
|||||
|
package com.asset.feedback; |
||||
|
|
||||
|
import com.asset.master.Master; |
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.data.jpa.repository.Query; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
|
||||
|
@Repository |
||||
|
public interface FeedbackRepository extends JpaRepository<Feedback, Integer> { |
||||
|
|
||||
|
|
||||
|
} |
||||
@ -0,0 +1,22 @@ |
|||||
|
package com.asset.feedback; |
||||
|
|
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RestController; |
||||
|
|
||||
|
|
||||
|
@RestController |
||||
|
@RequestMapping(value = "/qr-feedback") |
||||
|
public class FeedbackRestController { |
||||
|
|
||||
|
|
||||
|
@Autowired |
||||
|
FeedbackRepository feedbackRepo; |
||||
|
|
||||
|
/* |
||||
|
* @PostMapping(value = "/feedback/creation/submit") public List<Feedback> |
||||
|
* getIcList(@PathVariable("keyword") Long keyword) { List<Feedback> obj = |
||||
|
* feedbackRepo.findAllByCoverId(keyword); return obj; } |
||||
|
*/ |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,82 @@ |
|||||
|
package com.asset.login; |
||||
|
|
||||
|
|
||||
|
import com.asset.master.Master; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Controller; |
||||
|
import org.springframework.ui.Model; |
||||
|
import org.springframework.ui.ModelMap; |
||||
|
import org.springframework.util.MultiValueMap; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
import org.springframework.web.bind.support.SessionStatus; |
||||
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes; |
||||
|
|
||||
|
import javax.servlet.ServletContext; |
||||
|
import java.util.List; |
||||
|
|
||||
|
@Controller |
||||
|
@RequestMapping(value = "/qr-feedback") |
||||
|
@SessionAttributes({"user"}) |
||||
|
public class LoginController { |
||||
|
@Autowired |
||||
|
private ServletContext context; |
||||
|
@ModelAttribute("user") |
||||
|
public Users user(){ |
||||
|
return new Users(); |
||||
|
} |
||||
|
@Autowired |
||||
|
UserRepository userRepository; |
||||
|
@RequestMapping(value = "/logout", method = RequestMethod.GET) |
||||
|
public String logoutForm( Model model, |
||||
|
SessionStatus status) { |
||||
|
status.setComplete(); |
||||
|
|
||||
|
return "login"; |
||||
|
} |
||||
|
|
||||
|
@RequestMapping(value = "/login", method = RequestMethod.GET) |
||||
|
public String loginForm() { |
||||
|
System.out.println(context.getContextPath()); |
||||
|
|
||||
|
|
||||
|
return "login"; |
||||
|
} |
||||
|
|
||||
|
@RequestMapping(value = "/dashboard", method = RequestMethod.POST) |
||||
|
public String loginFormSubmit(@RequestParam String username, |
||||
|
@RequestParam String password, |
||||
|
Model model, |
||||
|
SessionStatus status) { |
||||
|
System.out.println(username); |
||||
|
System.out.println(password); |
||||
|
List<Users> usersList = userRepository.findAllUsers(); |
||||
|
// System.out.println(usersList); |
||||
|
final Users foundUser = new Users(); |
||||
|
usersList.forEach(mp -> { |
||||
|
System.out.println(mp); |
||||
|
if(mp.userName.equals(username) && mp.userPassword.equals(password)){ |
||||
|
foundUser.setUserName(username); |
||||
|
foundUser.setUserDisplayName(mp.userDisplayName); |
||||
|
} |
||||
|
}); |
||||
|
System.out.println(foundUser); |
||||
|
if(foundUser.getUserName() != null && foundUser.getUserName() != ""){ |
||||
|
System.out.println("logged in successfully"); |
||||
|
model.addAttribute("user", foundUser); |
||||
|
return "dashboard"; |
||||
|
} |
||||
|
else { |
||||
|
System.out.println("logged in failed"); |
||||
|
model.addAttribute("errorMsg","Login in failed...... Invalid Credentials."); |
||||
|
status.setComplete(); |
||||
|
return "login"; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@RequestMapping(value = "/dashboard", method = RequestMethod.GET) |
||||
|
public String dashboard() { |
||||
|
//System.out.println("TEST NOW"); |
||||
|
return "dashboard"; |
||||
|
} |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,15 @@ |
|||||
|
package com.asset.login; |
||||
|
|
||||
|
import com.asset.master.Master; |
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.data.jpa.repository.Query; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Repository |
||||
|
public interface UserRepository extends JpaRepository<Users, Integer> { |
||||
|
|
||||
|
@Query(value="SELECT user_id, user_name, user_displayname, user_pass, user_profile, user_role FROM asset_login_users", nativeQuery=true) |
||||
|
public List<Users> findAllUsers(); |
||||
|
} |
||||
@ -0,0 +1,35 @@ |
|||||
|
package com.asset.login; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.persistence.*; |
||||
|
|
||||
|
@Entity |
||||
|
@Data |
||||
|
@Table(name = "asset_login_users") |
||||
|
public class Users { |
||||
|
|
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.AUTO) |
||||
|
@Column(name="user_id") |
||||
|
public Integer userId; |
||||
|
|
||||
|
@Column(name="user_name") |
||||
|
public String userName; |
||||
|
|
||||
|
|
||||
|
@Column(name="user_displayname") |
||||
|
public String userDisplayName; |
||||
|
|
||||
|
@Column(name="user_pass") |
||||
|
public String userPassword; |
||||
|
|
||||
|
|
||||
|
@Column(name="user_role") |
||||
|
public String userRole; |
||||
|
|
||||
|
@Column(name="user_profile") |
||||
|
public String userProfile; |
||||
|
|
||||
|
|
||||
|
} |
||||
@ -0,0 +1,43 @@ |
|||||
|
package com.asset.master; |
||||
|
|
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.Table; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Entity |
||||
|
@Data |
||||
|
@Table(name = "asset_master") |
||||
|
public class Master { |
||||
|
|
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.AUTO) |
||||
|
@Column(name="master_id") |
||||
|
public Integer masterId; |
||||
|
|
||||
|
@Column(name="master_name") |
||||
|
public String masterName; |
||||
|
|
||||
|
|
||||
|
/* |
||||
|
* @OneToMany(mappedBy = "master", fetch = FetchType.LAZY, cascade = |
||||
|
* CascadeType.ALL) public List<MasterDetail> masterDetail = new |
||||
|
* ArrayList<MasterDetail>(); |
||||
|
*/ |
||||
|
|
||||
|
/* |
||||
|
* @OneToMany(cascade = CascadeType.ALL) public List<MasterDetail> masterDetail; |
||||
|
*/ |
||||
|
|
||||
|
/* |
||||
|
* @OneToMany(mappedBy = "master", fetch = FetchType.LAZY, cascade |
||||
|
* =CascadeType.ALL) private List<MasterDetail> masterDetailList; |
||||
|
*/ |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
@ -0,0 +1,288 @@ |
|||||
|
package com.asset.master; |
||||
|
|
||||
|
import java.lang.reflect.Array; |
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
import java.util.Optional; |
||||
|
|
||||
|
|
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Controller; |
||||
|
import org.springframework.ui.Model; |
||||
|
import org.springframework.util.MultiValueMap; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
import org.springframework.web.bind.support.SessionStatus; |
||||
|
|
||||
|
import javax.servlet.http.HttpServletRequest; |
||||
|
import javax.servlet.http.HttpSession; |
||||
|
|
||||
|
|
||||
|
@Controller |
||||
|
@RequestMapping(value = "/qr-feedback/master") |
||||
|
@SessionAttributes({"user"}) |
||||
|
public class MasterController { |
||||
|
|
||||
|
@Autowired |
||||
|
MasterRepository masterRepo; |
||||
|
|
||||
|
@Autowired |
||||
|
MasterQuestionRepository masterQuestionRepo; |
||||
|
|
||||
|
@Autowired |
||||
|
MasterParametersRepository masterParametersRepo; |
||||
|
|
||||
|
@Autowired |
||||
|
MasterViewRepository masterViewRepo; |
||||
|
|
||||
|
@GetMapping(value = "entry") |
||||
|
public String masterEntry(Model model, Master master, MasterQuestion masterQuestion, |
||||
|
MasterParameters masterParameters, |
||||
|
@RequestParam MultiValueMap body, |
||||
|
SessionStatus status) { |
||||
|
//model.addAttribute("masterObj", new MasterView()); |
||||
|
// MasterParameters[] MasterParametersList = new MasterParameters[2]; |
||||
|
// MasterParametersList.add(new MasterParameters()); |
||||
|
// model.addAttribute("user", user); |
||||
|
// System.out.println(status); |
||||
|
model.addAttribute("masterList", new Master()); |
||||
|
List<MasterParameters> MasterParametersList = new ArrayList<>(); |
||||
|
|
||||
|
model.addAttribute("masterParametersList", MasterParametersList); |
||||
|
//model.addAttribute("masterParametersListObj", masterParameters.getMasterParameters()); |
||||
|
List<MasterQuestion> MasterDetailList = new ArrayList<>(); |
||||
|
model.addAttribute("masterQuestionList", MasterDetailList); |
||||
|
|
||||
|
return "asset-master-entry"; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/list/search") |
||||
|
public String masterSearch(@RequestParam String masterName, |
||||
|
Model model, HttpServletRequest request) { |
||||
|
|
||||
|
System.out.println(masterName); |
||||
|
List<Master> obj = masterRepo.findAll(); |
||||
|
System.out.println("OBJ TEST search" + obj); |
||||
|
List<Master> MasterObjList = new ArrayList<>(); |
||||
|
HttpSession session = request.getSession(); |
||||
|
|
||||
|
obj.forEach(mp -> { |
||||
|
System.out.println(mp); |
||||
|
if (mp.masterId.equals(Integer.parseInt(masterName))) { |
||||
|
Master MasObj = new Master(); |
||||
|
MasObj.setMasterId(mp.getMasterId()); |
||||
|
MasObj.setMasterName(mp.getMasterName()); |
||||
|
MasterObjList.add(MasObj); |
||||
|
} |
||||
|
}); |
||||
|
model.addAttribute("page", obj); |
||||
|
|
||||
|
if (Integer.parseInt(masterName) > 0) { |
||||
|
System.out.println(MasterObjList); |
||||
|
model.addAttribute("masterSearchObj", MasterObjList); |
||||
|
|
||||
|
} |
||||
|
model.addAttribute("masterList", obj); |
||||
|
session.setAttribute("masterFilter", masterName); |
||||
|
return "redirect:/qr-feedback/master/list"; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/list") |
||||
|
public String masterList(Model model, HttpServletRequest request) { |
||||
|
|
||||
|
/* System.out.println("OBJ TEST2"); */ |
||||
|
/* List<MasterView> obj = masterVieRepo.findAllMasterDetail(); */ |
||||
|
List<Master> obj = masterRepo.findAll(); |
||||
|
// System.out.println("OBJ TEST"+obj); |
||||
|
HttpSession session = request.getSession(); |
||||
|
System.out.println(session.getAttribute("masterFilter")); |
||||
|
|
||||
|
List<Master> MasterObjList = new ArrayList<>(); |
||||
|
if (session.getAttribute("masterFilter") == null) { |
||||
|
model.addAttribute("page", obj); |
||||
|
|
||||
|
model.addAttribute("masterSearchObj", obj); |
||||
|
|
||||
|
model.addAttribute("masterList", obj); |
||||
|
} else { |
||||
|
obj.forEach(mp -> { |
||||
|
System.out.println(mp); |
||||
|
if (mp.masterId.equals(Integer.parseInt(session.getAttribute("masterFilter").toString()))) { |
||||
|
Master MasObj = new Master(); |
||||
|
MasObj.setMasterId(mp.getMasterId()); |
||||
|
MasObj.setMasterName(mp.getMasterName()); |
||||
|
MasterObjList.add(MasObj); |
||||
|
} |
||||
|
}); |
||||
|
model.addAttribute("page", obj); |
||||
|
|
||||
|
if (Integer.parseInt(session.getAttribute("masterFilter").toString()) > 0) { |
||||
|
System.out.println(MasterObjList); |
||||
|
model.addAttribute("masterSearchObj", MasterObjList); |
||||
|
|
||||
|
} |
||||
|
model.addAttribute("masterList", obj); |
||||
|
|
||||
|
} |
||||
|
return "asset-master-list"; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/list/edit/{keyword}") |
||||
|
public String masterEdit(@PathVariable Integer keyword, Model model) { |
||||
|
/* |
||||
|
* new MasterView(); Optional<MasterView> MasterView = |
||||
|
* masterViewRepo.findById(keyword); MasterView masterObj = MasterView.get(); |
||||
|
* model.addAttribute("page", masterObj); |
||||
|
*/ |
||||
|
System.out.println("keyword" + keyword); |
||||
|
new Master(); |
||||
|
Optional<Master> Master = masterRepo.findById(keyword); |
||||
|
Master masterObj = Master.get(); |
||||
|
System.out.println("masterObj" + masterObj + keyword); |
||||
|
model.addAttribute("masterList", masterObj); |
||||
|
|
||||
|
new MasterParameters(); |
||||
|
List<MasterParameters> MasterParameters = masterParametersRepo.findByMasterParametersId(); |
||||
|
List<MasterParameters> MasterParametersList = new ArrayList<>(); |
||||
|
|
||||
|
MasterParameters.forEach(mp -> { |
||||
|
System.out.println(mp); |
||||
|
if ((mp.masterId - keyword) == 0) { |
||||
|
MasterParameters masterParametersObj = new MasterParameters(); |
||||
|
masterParametersObj.setMasterParametersId(mp.masterParametersId); |
||||
|
masterParametersObj.setMasterParameters(mp.masterParameters); |
||||
|
masterParametersObj.setMasterId(mp.masterId); |
||||
|
masterParametersObj.setMasterName(mp.masterName); |
||||
|
MasterParametersList.add(masterParametersObj); |
||||
|
} |
||||
|
}); |
||||
|
System.out.println("masterParametersObj" + MasterParametersList); |
||||
|
model.addAttribute("masterParametersList", MasterParametersList); |
||||
|
|
||||
|
new MasterQuestion(); |
||||
|
List<MasterQuestion> MasterDetail = masterQuestionRepo.findByMasterParametersId(keyword); |
||||
|
List<MasterQuestion> MasterDetailList = new ArrayList<>(); |
||||
|
MasterDetail.forEach(mp -> { |
||||
|
System.out.println(mp); |
||||
|
if ((mp.masterId - keyword) == 0) { |
||||
|
MasterQuestion masterDetailObj = new MasterQuestion(); |
||||
|
|
||||
|
masterDetailObj.setMasterQuestionId(mp.masterQuestionId); |
||||
|
masterDetailObj.setMasterQuestionTamil(mp.masterQuestionTamil); |
||||
|
masterDetailObj.setMasterQuestionEnglish(mp.masterQuestionEnglish); |
||||
|
masterDetailObj.setMasterQuestionType(mp.masterQuestionType); |
||||
|
masterDetailObj.setMasterId(mp.masterId); |
||||
|
masterDetailObj.setMasterName(mp.masterName); |
||||
|
MasterDetailList.add(masterDetailObj); |
||||
|
} |
||||
|
}); |
||||
|
System.out.println("masterDetailObj" + MasterDetail); |
||||
|
model.addAttribute("masterQuestionList", MasterDetail); |
||||
|
|
||||
|
return "asset-master-entry"; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/list/delete/{keyword}") |
||||
|
public String masterDelete(@PathVariable Integer keyword, Model model) { |
||||
|
|
||||
|
masterRepo.deleteById(keyword); |
||||
|
return "redirect:/qr-feedback/master/list"; |
||||
|
} |
||||
|
|
||||
|
@PostMapping(value = "/entry/submit", name = "submits") |
||||
|
public String masterEntrySubmit(@RequestParam MultiValueMap body, |
||||
|
Model model) { |
||||
|
System.out.println(body); |
||||
|
System.out.println(body.keySet().size()); |
||||
|
System.out.println(body.keySet()); |
||||
|
final Master obj = new Master(); |
||||
|
|
||||
|
body.keySet().forEach( |
||||
|
name -> { |
||||
|
System.out.println(name); |
||||
|
if (name.toString().contains("masterName")) { |
||||
|
System.out.println("entring" + body.getFirst("masterID").toString() + "entring"); |
||||
|
obj.setMasterName(body.getFirst("masterName").toString()); |
||||
|
System.out.println(body.getFirst("masterID").toString()); |
||||
|
if (body.getFirst("masterID").toString().trim() != "" && |
||||
|
Integer.parseInt(body.getFirst("masterID").toString()) != 0) { |
||||
|
obj.setMasterId(Integer.parseInt(body.getFirst("masterID").toString())); |
||||
|
} |
||||
|
masterRepo.save(obj); |
||||
|
System.out.println("-master-obj-:" + obj); |
||||
|
} |
||||
|
|
||||
|
if (name.toString().contains("masterParameters_")) { |
||||
|
String suffix = name.toString().split("_")[1]; |
||||
|
|
||||
|
System.out.println(body.getFirst(name.toString())); |
||||
|
MasterParameters obj3 = new MasterParameters(); |
||||
|
obj3.setMasterId(obj.getMasterId()); |
||||
|
obj3.setMasterName(obj.getMasterName()); |
||||
|
obj3.setMasterParameters(body.getFirst(name.toString()).toString()); |
||||
|
if (body.getFirst("updateMasterParametersBox_" + suffix) != null) { |
||||
|
System.out.println(body.getFirst("updateMasterParametersBox_" + suffix).toString()); |
||||
|
|
||||
|
if (Integer.parseInt(body.getFirst("updateMasterParametersBox_" + suffix).toString().split("_")[0]) != 0) { |
||||
|
obj3.setMasterParametersId(Integer.parseInt(name.toString().split("_")[1])); |
||||
|
Integer status = Integer.parseInt(body.getFirst("updateMasterParametersBox_" + suffix).toString().split("_")[1]); |
||||
|
System.out.println(status); |
||||
|
System.out.println((status - 1) == 1); |
||||
|
if ((status - 1) == 1) { |
||||
|
System.out.println("deleted"); |
||||
|
masterParametersRepo.deleteById(Integer.parseInt(suffix)); |
||||
|
} |
||||
|
if ((status - 1) == 0) { |
||||
|
obj3.setMasterParametersId(Integer.parseInt(suffix)); |
||||
|
obj3.setMasterId(obj.getMasterId()); |
||||
|
System.out.println("-master-obj3-:" + obj3); |
||||
|
masterParametersRepo.save(obj3); |
||||
|
} |
||||
|
} |
||||
|
} else { |
||||
|
masterParametersRepo.saveAndFlush(obj3); |
||||
|
} |
||||
|
System.out.println("-master-obj3-:" + obj3); |
||||
|
} |
||||
|
if (name.toString().contains("masterQuestionEnglish_")) { |
||||
|
String suffix = name.toString().split("_")[1]; |
||||
|
System.out.println(body.getFirst("masterQuestionEnglish_" + suffix)); |
||||
|
System.out.println(body.getFirst("masterQuestionTamil_" + suffix)); |
||||
|
MasterQuestion obj2 = new MasterQuestion(); |
||||
|
obj2.setMasterId(obj.getMasterId()); |
||||
|
obj2.setMasterName(obj.getMasterName()); |
||||
|
obj2.setMasterQuestionTamil(body.getFirst("masterQuestionTamil_" + suffix).toString()); |
||||
|
obj2.setMasterQuestionEnglish(body.getFirst("masterQuestionEnglish_" + suffix).toString()); |
||||
|
// obj2.setMasterQuestionType(masterQuestion.getMasterQuestionType()); |
||||
|
if (body.getFirst("updateQuestionBox_" + suffix) != null) { |
||||
|
System.out.println(body.getFirst("updateQuestionBox_" + suffix).toString()); |
||||
|
if (Integer.parseInt(body.getFirst("updateQuestionBox_" + suffix).toString().split("_")[0]) != 0) { |
||||
|
Integer status = Integer.parseInt(body.getFirst("updateQuestionBox_" + suffix).toString().split("_")[1]); |
||||
|
System.out.println(status); |
||||
|
System.out.println((status - 1) == 1); |
||||
|
if ((status - 1) == 1) { |
||||
|
System.out.println("deleted"); |
||||
|
masterQuestionRepo.deleteById(Integer.parseInt(suffix)); |
||||
|
} |
||||
|
if ((status - 1) == 0) { |
||||
|
obj2.setMasterQuestionId(Integer.parseInt(suffix)); |
||||
|
obj2.setMasterId(obj.getMasterId()); |
||||
|
System.out.println("-master-obj2-:" + obj2); |
||||
|
|
||||
|
masterQuestionRepo.save(obj2); |
||||
|
} |
||||
|
} |
||||
|
} else { |
||||
|
masterQuestionRepo.saveAndFlush(obj2); |
||||
|
} |
||||
|
|
||||
|
// |
||||
|
|
||||
|
|
||||
|
} |
||||
|
} |
||||
|
); |
||||
|
return "redirect:/qr-feedback/master/entry"; |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,31 @@ |
|||||
|
package com.asset.master; |
||||
|
|
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.Table; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Entity |
||||
|
@Data |
||||
|
@Table(name = "asset_master_parameters") |
||||
|
public class MasterParameters { |
||||
|
|
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.AUTO) |
||||
|
@Column(name="master_parameters_id") |
||||
|
public Integer masterParametersId; |
||||
|
|
||||
|
@Column(name="master_id") |
||||
|
public Integer masterId; |
||||
|
|
||||
|
@Column(name="master_name") |
||||
|
public String masterName; |
||||
|
|
||||
|
@Column(name="master_parameters") |
||||
|
public String masterParameters; |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,16 @@ |
|||||
|
package com.asset.master; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
|
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.data.jpa.repository.Query; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
@Repository |
||||
|
public interface MasterParametersRepository extends JpaRepository<MasterParameters, Integer> { |
||||
|
|
||||
|
@Query(value="SELECT master_parameters_id, master_id, master_name, master_parameters FROM asset_master_parameters", nativeQuery=true) |
||||
|
List<MasterParameters> findByMasterParametersId(); |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,51 @@ |
|||||
|
package com.asset.master; |
||||
|
|
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.Table; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Entity |
||||
|
@Data |
||||
|
@Table(name = "asset_master_question") |
||||
|
public class MasterQuestion { |
||||
|
|
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.AUTO) |
||||
|
@Column(name="master_question_id") |
||||
|
public Integer masterQuestionId; |
||||
|
|
||||
|
@Column(name="master_id") |
||||
|
public Integer masterId; |
||||
|
|
||||
|
@Column(name="master_name") |
||||
|
public String masterName; |
||||
|
|
||||
|
@Column(name="master_question_tamil") |
||||
|
public String masterQuestionTamil; |
||||
|
|
||||
|
@Column(name="master_question_english") |
||||
|
public String masterQuestionEnglish; |
||||
|
|
||||
|
@Column(name="master_question_type") |
||||
|
public String masterQuestionType; |
||||
|
|
||||
|
/* |
||||
|
* @ManyToOne(fetch = FetchType.LAZY, optional = false) |
||||
|
* |
||||
|
* @JoinColumn(name = "master_id", nullable = false, insertable=false, |
||||
|
* updatable=false) private Master master; |
||||
|
*/ |
||||
|
|
||||
|
/* |
||||
|
* @ManyToOne |
||||
|
* |
||||
|
* @JoinColumn(name = "master_id", nullable = false, insertable=false, |
||||
|
* updatable=false) private Master master; |
||||
|
*/ |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,25 @@ |
|||||
|
package com.asset.master; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.data.jpa.repository.Query; |
||||
|
import org.springframework.data.repository.query.Param; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
@Repository |
||||
|
public interface MasterQuestionRepository extends JpaRepository<MasterQuestion, Integer> { |
||||
|
|
||||
|
@Query(value = "SELECT master_question_id, master_id, master_name, master_question_english, master_question_tamil, master_question_type FROM asset_master_question WHERE master_name='Park'", nativeQuery = true) |
||||
|
List<MasterQuestion> findAllByAssetType(String assetTypeValue); |
||||
|
|
||||
|
@Query(value = "SELECT master_question_id, master_id, master_name, master_question_english, master_question_tamil, master_question_type FROM asset_master_question where master_id=?1", nativeQuery = true) |
||||
|
List<MasterQuestion> findByMasterParametersId(Integer masterID); |
||||
|
|
||||
|
//@Query(value="SELECT master_question_id, master_id, master_name, master_question_english, master_question_tamil, master_question_type FROM asset_master_question WHERE master_name=?1", nativeQuery=true) |
||||
|
//@Query(value="SELECT masterQuestionId, masterId, masterName, masterQuestionEnglish, masterQuestionTamil, masterQuestionType FROM MasterQuestion WHERE masterQuestionType=?assetTypeValue") |
||||
|
//public List<MasterQuestion> findAllByAssetType(assetTypeValue); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,23 @@ |
|||||
|
package com.asset.master; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.data.jpa.repository.Query; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
@Repository |
||||
|
public interface MasterRepository extends JpaRepository<Master, Integer> { |
||||
|
|
||||
|
/* |
||||
|
* @Query( |
||||
|
* value="SELECT a.masterId, a.masterName, b.masterCharacteristic, b.masterQuestionType, \r\n" |
||||
|
* +"b.masterQuestion FROM Master a INNER JOIN MasterDetail b ON a.masterId=b.masterId" |
||||
|
* ,nativeQuery = false) public List<Master> findAllMasterDetail(); |
||||
|
*/ |
||||
|
/*public List findAllMasterDetail();*/ |
||||
|
|
||||
|
@Query(value="SELECT master_id, master_name FROM asset_master", nativeQuery=true) |
||||
|
public List<Master> findAllMasterName(); |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,46 @@ |
|||||
|
package com.asset.master; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.jdbc.core.JdbcTemplate; |
||||
|
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; |
||||
|
|
||||
|
@RestController |
||||
|
@RequestMapping(value = "/qr-feedback/master") |
||||
|
public class MasterRestController { |
||||
|
|
||||
|
@Autowired |
||||
|
MasterRepository masterRepo; |
||||
|
|
||||
|
@Autowired |
||||
|
MasterParametersRepository masterParametersRepo; |
||||
|
|
||||
|
@Autowired |
||||
|
JdbcTemplate jdbcTemplate; |
||||
|
|
||||
|
@GetMapping(value = "/getMasterName") |
||||
|
public List<Master> getMasterName() { |
||||
|
List<Master> obj = masterRepo.findAllMasterName(); |
||||
|
//System.out.println("OBJ--2-:"+obj); |
||||
|
return obj; |
||||
|
} |
||||
|
|
||||
|
@GetMapping(value = "/getMasterParameters") |
||||
|
public List<Map<String,Object>> getMasterParameters(@RequestParam String masterId) { |
||||
|
//List<MasterParameters> obj = masterParametersRepo.findByMasterId(); |
||||
|
//System.out.println("OBJ---:"+obj); |
||||
|
//return obj; |
||||
|
return jdbcTemplate.queryForList("SELECT master_parameters_id,master_id,master_name,master_parameters FROM asset_master_parameters WHERE master_id='"+masterId+"'"); |
||||
|
} |
||||
|
|
||||
|
// @GetMapping(value = "/client/{searchTerms}") |
||||
|
// public List<Map<String,Object>> getClientNameKeyword(@PathVariable("searchTerms") String searchTerms) { |
||||
|
// return jdbcTemplate.queryForList("SELECT DISTINCT client_id,client_name FROM v_client WHERE client_name LIKE '" +searchTerms+ "%' ORDER BY client_name ASC"); |
||||
|
// } |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,36 @@ |
|||||
|
package com.asset.master; |
||||
|
|
||||
|
import javax.persistence.Column; |
||||
|
import javax.persistence.Entity; |
||||
|
import javax.persistence.GeneratedValue; |
||||
|
import javax.persistence.GenerationType; |
||||
|
import javax.persistence.Id; |
||||
|
import javax.persistence.Table; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Entity |
||||
|
@Data |
||||
|
@Table(name = "v_master") |
||||
|
public class MasterView { |
||||
|
|
||||
|
@Id |
||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY) |
||||
|
@Column(name="master_id") |
||||
|
public Integer masterId; |
||||
|
|
||||
|
@Column(name="master_name") |
||||
|
public String masterName; |
||||
|
|
||||
|
@Column(name="master_parameters") |
||||
|
public String masterParameters; |
||||
|
|
||||
|
@Column(name="master_question_tamil") |
||||
|
public String masterQuestionTamil; |
||||
|
|
||||
|
@Column(name="master_question_english") |
||||
|
public String masterQuestionEnglish; |
||||
|
|
||||
|
@Column(name="master_question_type") |
||||
|
public String masterQuestionType; |
||||
|
} |
||||
@ -0,0 +1,16 @@ |
|||||
|
package com.asset.master; |
||||
|
|
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
@Repository |
||||
|
public interface MasterViewRepository extends JpaRepository<MasterView, Integer> { |
||||
|
|
||||
|
/* |
||||
|
* @Query( |
||||
|
* value="SELECT a.masterId, a.masterName, b.masterCharacteristic, b.masterQuestionType, \r\n" |
||||
|
* +"b.masterQuestionTamil b.masterQuestionEnglish FROM Master a INNER JOIN MasterDetail b ON a.masterId=b.masterId" |
||||
|
* ,nativeQuery = false) public List<MasterView> findAllMasterDetail(); |
||||
|
*/ |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,43 @@ |
|||||
|
package com.asset.utils; |
||||
|
|
||||
|
import java.io.ByteArrayOutputStream; |
||||
|
import java.util.zip.Deflater; |
||||
|
import java.util.zip.Inflater; |
||||
|
|
||||
|
public class imagezipper { |
||||
|
public static byte[] compressImage(byte[] data) { |
||||
|
Deflater deflater = new Deflater(); |
||||
|
deflater.setLevel(Deflater.BEST_COMPRESSION); |
||||
|
deflater.setInput(data); |
||||
|
deflater.finish(); |
||||
|
|
||||
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(data.length); |
||||
|
byte[] tmp = new byte[4 * 1024]; |
||||
|
while (!deflater.finished()) { |
||||
|
int size = deflater.deflate(tmp); |
||||
|
outputStream.write(tmp, 0, size); |
||||
|
} |
||||
|
try { |
||||
|
outputStream.close(); |
||||
|
} catch (Exception ignored) { |
||||
|
} |
||||
|
return outputStream.toByteArray(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public static byte[] decompressImage(byte[] data) { |
||||
|
Inflater inflater = new Inflater(); |
||||
|
inflater.setInput(data); |
||||
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(data.length); |
||||
|
byte[] tmp = new byte[4 * 1024]; |
||||
|
try { |
||||
|
while (!inflater.finished()) { |
||||
|
int count = inflater.inflate(tmp); |
||||
|
outputStream.write(tmp, 0, count); |
||||
|
} |
||||
|
outputStream.close(); |
||||
|
} catch (Exception ignored) { |
||||
|
} |
||||
|
return outputStream.toByteArray(); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,15 @@ |
|||||
|
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver |
||||
|
spring.datasource.url=jdbc:mysql://localhost:3306/gcc |
||||
|
spring.datasource.username=root |
||||
|
spring.datasource.password=Test@1234 |
||||
|
spring.jpa.show-sql=true |
||||
|
spring.jpa.hibernate.ddl-auto=update |
||||
|
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect |
||||
|
server.port=9191 |
||||
|
spring.resources.chain.strategy.fixed.enabled=true |
||||
|
spring.resources.chain.strategy.fixed.paths=/** |
||||
|
spring.resources.chain.strategy.fixed.version=v12 |
||||
|
spring.servlet.multipart.enabled=true |
||||
|
spring.servlet.multipart.file-size-threshold=5KB |
||||
|
spring.servlet.multipart.max-file-size=2MB |
||||
|
spring.servlet.multipart.max-request-size=10MB |
||||
@ -0,0 +1,153 @@ |
|||||
|
/* #placeHolder { |
||||
|
display: none; |
||||
|
} |
||||
|
|
||||
|
button.center-block { |
||||
|
margin-top: 20px; |
||||
|
display: block; |
||||
|
width: 60%; |
||||
|
line-height: 2em; |
||||
|
background: rgba(114, 212, 202, 1); |
||||
|
border-radius: 5px; |
||||
|
border: 0; |
||||
|
border-top: 1px solid #B2ECE6; |
||||
|
box-shadow: 0 0 0 1px #46A294, 0 2px 2px #808389; |
||||
|
color: #FFFFFF; |
||||
|
font-size: 1.5em; |
||||
|
text-align: center; |
||||
|
text-shadow: 0 1px 2px #21756A; |
||||
|
} |
||||
|
|
||||
|
button.center-block:hover { |
||||
|
background: linear-gradient(to bottom, rgba(107, 198, 186, 1) 0%, |
||||
|
rgba(57, 175, 154, 1) 100%); |
||||
|
} |
||||
|
|
||||
|
button.center-block:active { |
||||
|
box-shadow: inset 0 0 5px #000; |
||||
|
background: linear-gradient(to bottom, rgba(57, 175, 154, 1) 0%, |
||||
|
rgba(107, 198, 186, 1) 100%); |
||||
|
} |
||||
|
|
||||
|
button.center-block:focus { |
||||
|
outline: none; |
||||
|
border-color: green; |
||||
|
} |
||||
|
|
||||
|
canvas { |
||||
|
width: 200px; |
||||
|
} |
||||
|
|
||||
|
#dBtn { |
||||
|
display: none; |
||||
|
} |
||||
|
|
||||
|
h1#heading { |
||||
|
font-family: 'Major Mono Display', monospace; |
||||
|
} |
||||
|
|
||||
|
body { |
||||
|
background-color: #ebf1fa; |
||||
|
justify-content: center; |
||||
|
font-family: 'VT323', monospace; |
||||
|
font-size: 1.5rem; |
||||
|
color: black; |
||||
|
margin: 20px; |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
h1 { |
||||
|
font-weight: normal; |
||||
|
font-size: 40px; |
||||
|
font-weight: normal; |
||||
|
text-transform: uppercase; |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
h2 { |
||||
|
text-align: center; |
||||
|
color: #46a294; |
||||
|
font-size: 28px; |
||||
|
width: 100%; |
||||
|
margin: 10px 10; |
||||
|
position: relative; |
||||
|
line-height: 58px; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
|
||||
|
h2:before { |
||||
|
content: " "; |
||||
|
position: absolute; |
||||
|
left: 50%; |
||||
|
bottom: 0; |
||||
|
width: 100px; |
||||
|
height: 2px; |
||||
|
font-weight: bold; |
||||
|
background-color: #2079df; |
||||
|
margin-left: -50px; |
||||
|
} |
||||
|
|
||||
|
label { |
||||
|
color: #858585; |
||||
|
font-weight: 600; |
||||
|
font-size: 14px; |
||||
|
padding-left: 20px; |
||||
|
} |
||||
|
|
||||
|
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { |
||||
|
font-family: system-ui; |
||||
|
} |
||||
|
|
||||
|
stylesheet.css |
||||
|
.btn-payment-payment { |
||||
|
background-color: #175D7B; |
||||
|
color: white; |
||||
|
font-size: 13px; |
||||
|
border-radius: 6px; |
||||
|
padding-left: 25px; |
||||
|
padding-right: 25px; |
||||
|
padding-top: 4px; |
||||
|
padding-bottom: 4px; |
||||
|
font-weight: 400; |
||||
|
margin-left: -30px!important; |
||||
|
} |
||||
|
|
||||
|
stylesheet.css |
||||
|
.btn-enquiry { |
||||
|
background-color: #EBEBEB; |
||||
|
color: black; |
||||
|
font-size: 13px; |
||||
|
border-radius: 6px; |
||||
|
padding-left: 25px; |
||||
|
padding-right: 25px; |
||||
|
padding-top: 4px; |
||||
|
padding-bottom: 4px; |
||||
|
font-weight: 400; |
||||
|
margin-right: 10px!important; |
||||
|
} */ |
||||
|
|
||||
|
/* .bg { |
||||
|
The image used |
||||
|
background: url("/assets/img/Loop-twinkle.gif"); |
||||
|
Full height |
||||
|
height: 100%; |
||||
|
width:100%; |
||||
|
|
||||
|
Center and scale the image nicely |
||||
|
background-position: center; |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: cover; |
||||
|
} |
||||
|
|
||||
|
.bg1 { |
||||
|
The image used |
||||
|
background-image: url("/assets/img/greater-chennai-corporation.jpg"); |
||||
|
Full height |
||||
|
height: 100%; |
||||
|
width:100%; |
||||
|
|
||||
|
Center and scale the image nicely |
||||
|
background-position: center; |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: cover; |
||||
|
} */ |
||||
1260
src/main/resources/static/assets/css/style.css
File diff suppressed because it is too large
View File
|
After Width: 328 | Height: 438 | Size: 188 KiB |
|
After Width: 1920 | Height: 823 | Size: 2.1 MiB |
|
After Width: 1920 | Height: 1080 | Size: 12 MiB |
|
After Width: 180 | Height: 180 | Size: 1.2 KiB |
|
After Width: 1024 | Height: 768 | Size: 162 KiB |
|
After Width: 328 | Height: 438 | Size: 188 KiB |
|
After Width: 328 | Height: 438 | Size: 188 KiB |
|
After Width: 1425 | Height: 646 | Size: 196 KiB |
|
After Width: 1425 | Height: 646 | Size: 373 KiB |
|
After Width: 328 | Height: 438 | Size: 188 KiB |
|
After Width: 49 | Height: 52 | Size: 738 B |
|
After Width: 120 | Height: 120 | Size: 6.3 KiB |
|
After Width: 120 | Height: 120 | Size: 5.4 KiB |
|
After Width: 383 | Height: 383 | Size: 21 KiB |
|
After Width: 1024 | Height: 768 | Size: 82 KiB |
|
After Width: 1024 | Height: 768 | Size: 76 KiB |
|
After Width: 1024 | Height: 768 | Size: 69 KiB |
|
After Width: 1024 | Height: 768 | Size: 112 KiB |
|
After Width: 1024 | Height: 768 | Size: 91 KiB |
1
src/main/resources/static/assets/img/not-found.svg
File diff suppressed because it is too large
View File
|
After Width: 500 | Height: 500 | Size: 17 KiB |
|
After Width: 500 | Height: 500 | Size: 28 KiB |
|
After Width: 500 | Height: 500 | Size: 14 KiB |
|
After Width: 500 | Height: 500 | Size: 9.0 KiB |
|
After Width: 500 | Height: 500 | Size: 12 KiB |
|
After Width: 120 | Height: 120 | Size: 4.8 KiB |
|
After Width: 1024 | Height: 683 | Size: 86 KiB |
|
After Width: 1024 | Height: 683 | Size: 69 KiB |
|
After Width: 1024 | Height: 683 | Size: 96 KiB |
|
After Width: 790 | Height: 867 | Size: 166 KiB |
|
After Width: 980 | Height: 966 | Size: 35 KiB |
@ -0,0 +1,90 @@ |
|||||
|
(function(r) { |
||||
|
r.fn.qrcode = function(h) { |
||||
|
var s; function u(a) { this.mode = s; this.data = a } function o(a, c) { this.typeNumber = a; this.errorCorrectLevel = c; this.modules = null; this.moduleCount = 0; this.dataCache = null; this.dataList = [] } function q(a, c) { if (void 0 == a.length) throw Error(a.length + "/" + c); for (var d = 0; d < a.length && 0 == a[d];)d++; this.num = Array(a.length - d + c); for (var b = 0; b < a.length - d; b++)this.num[b] = a[b + d] } function p(a, c) { this.totalCount = a; this.dataCount = c } function t() { this.buffer = []; this.length = 0 } u.prototype = { |
||||
|
getLength: function() { return this.data.length }, |
||||
|
write: function(a) { for (var c = 0; c < this.data.length; c++)a.put(this.data.charCodeAt(c), 8) } |
||||
|
}; o.prototype = { |
||||
|
addData: function(a) { this.dataList.push(new u(a)); this.dataCache = null }, isDark: function(a, c) { if (0 > a || this.moduleCount <= a || 0 > c || this.moduleCount <= c) throw Error(a + "," + c); return this.modules[a][c] }, getModuleCount: function() { return this.moduleCount }, make: function() { |
||||
|
if (1 > this.typeNumber) { |
||||
|
for (var a = 1, a = 1; 40 > a; a++) { |
||||
|
for (var c = p.getRSBlocks(a, this.errorCorrectLevel), d = new t, b = 0, e = 0; e < c.length; e++)b += c[e].dataCount; |
||||
|
for (e = 0; e < this.dataList.length; e++)c = this.dataList[e], d.put(c.mode, 4), d.put(c.getLength(), j.getLengthInBits(c.mode, a)), c.write(d); if (d.getLengthInBits() <= 8 * b) break |
||||
|
} this.typeNumber = a |
||||
|
} this.makeImpl(!1, this.getBestMaskPattern()) |
||||
|
}, makeImpl: function(a, c) { |
||||
|
this.moduleCount = 4 * this.typeNumber + 17; this.modules = Array(this.moduleCount); for (var d = 0; d < this.moduleCount; d++) { this.modules[d] = Array(this.moduleCount); for (var b = 0; b < this.moduleCount; b++)this.modules[d][b] = null } this.setupPositionProbePattern(0, 0); this.setupPositionProbePattern(this.moduleCount - |
||||
|
7, 0); this.setupPositionProbePattern(0, this.moduleCount - 7); this.setupPositionAdjustPattern(); this.setupTimingPattern(); this.setupTypeInfo(a, c); 7 <= this.typeNumber && this.setupTypeNumber(a); null == this.dataCache && (this.dataCache = o.createData(this.typeNumber, this.errorCorrectLevel, this.dataList)); this.mapData(this.dataCache, c) |
||||
|
}, setupPositionProbePattern: function(a, c) { |
||||
|
for (var d = -1; 7 >= d; d++)if (!(-1 >= a + d || this.moduleCount <= a + d)) for (var b = -1; 7 >= b; b++)-1 >= c + b || this.moduleCount <= c + b || (this.modules[a + d][c + b] = |
||||
|
0 <= d && 6 >= d && (0 == b || 6 == b) || 0 <= b && 6 >= b && (0 == d || 6 == d) || 2 <= d && 4 >= d && 2 <= b && 4 >= b ? !0 : !1) |
||||
|
}, getBestMaskPattern: function() { for (var a = 0, c = 0, d = 0; 8 > d; d++) { this.makeImpl(!0, d); var b = j.getLostPoint(this); if (0 == d || a > b) a = b, c = d } return c }, createMovieClip: function(a, c, d) { a = a.createEmptyMovieClip(c, d); this.make(); for (c = 0; c < this.modules.length; c++)for (var d = 1 * c, b = 0; b < this.modules[c].length; b++) { var e = 1 * b; this.modules[c][b] && (a.beginFill(0, 100), a.moveTo(e, d), a.lineTo(e + 1, d), a.lineTo(e + 1, d + 1), a.lineTo(e, d + 1), a.endFill()) } return a }, |
||||
|
setupTimingPattern: function() { for (var a = 8; a < this.moduleCount - 8; a++)null == this.modules[a][6] && (this.modules[a][6] = 0 == a % 2); for (a = 8; a < this.moduleCount - 8; a++)null == this.modules[6][a] && (this.modules[6][a] = 0 == a % 2) }, setupPositionAdjustPattern: function() { for (var a = j.getPatternPosition(this.typeNumber), c = 0; c < a.length; c++)for (var d = 0; d < a.length; d++) { var b = a[c], e = a[d]; if (null == this.modules[b][e]) for (var f = -2; 2 >= f; f++)for (var i = -2; 2 >= i; i++)this.modules[b + f][e + i] = -2 == f || 2 == f || -2 == i || 2 == i || 0 == f && 0 == i ? !0 : !1 } }, setupTypeNumber: function(a) { |
||||
|
for (var c = |
||||
|
j.getBCHTypeNumber(this.typeNumber), d = 0; 18 > d; d++) { var b = !a && 1 == (c >> d & 1); this.modules[Math.floor(d / 3)][d % 3 + this.moduleCount - 8 - 3] = b } for (d = 0; 18 > d; d++)b = !a && 1 == (c >> d & 1), this.modules[d % 3 + this.moduleCount - 8 - 3][Math.floor(d / 3)] = b |
||||
|
}, setupTypeInfo: function(a, c) { |
||||
|
for (var d = j.getBCHTypeInfo(this.errorCorrectLevel << 3 | c), b = 0; 15 > b; b++) { var e = !a && 1 == (d >> b & 1); 6 > b ? this.modules[b][8] = e : 8 > b ? this.modules[b + 1][8] = e : this.modules[this.moduleCount - 15 + b][8] = e } for (b = 0; 15 > b; b++)e = !a && 1 == (d >> b & 1), 8 > b ? this.modules[8][this.moduleCount - |
||||
|
b - 1] = e : 9 > b ? this.modules[8][15 - b - 1 + 1] = e : this.modules[8][15 - b - 1] = e; this.modules[this.moduleCount - 8][8] = !a |
||||
|
}, mapData: function(a, c) { for (var d = -1, b = this.moduleCount - 1, e = 7, f = 0, i = this.moduleCount - 1; 0 < i; i -= 2)for (6 == i && i--; ;) { for (var g = 0; 2 > g; g++)if (null == this.modules[b][i - g]) { var n = !1; f < a.length && (n = 1 == (a[f] >>> e & 1)); j.getMask(c, b, i - g) && (n = !n); this.modules[b][i - g] = n; e--; -1 == e && (f++, e = 7) } b += d; if (0 > b || this.moduleCount <= b) { b -= d; d = -d; break } } } |
||||
|
}; o.PAD0 = 236; o.PAD1 = 17; o.createData = function(a, c, d) { |
||||
|
for (var c = p.getRSBlocks(a, |
||||
|
c), b = new t, e = 0; e < d.length; e++) { var f = d[e]; b.put(f.mode, 4); b.put(f.getLength(), j.getLengthInBits(f.mode, a)); f.write(b) } for (e = a = 0; e < c.length; e++)a += c[e].dataCount; if (b.getLengthInBits() > 8 * a) throw Error("code length overflow. (" + b.getLengthInBits() + ">" + 8 * a + ")"); for (b.getLengthInBits() + 4 <= 8 * a && b.put(0, 4); 0 != b.getLengthInBits() % 8;)b.putBit(!1); for (; !(b.getLengthInBits() >= 8 * a);) { b.put(o.PAD0, 8); if (b.getLengthInBits() >= 8 * a) break; b.put(o.PAD1, 8) } return o.createBytes(b, c) |
||||
|
}; o.createBytes = function(a, c) { |
||||
|
for (var d = |
||||
|
0, b = 0, e = 0, f = Array(c.length), i = Array(c.length), g = 0; g < c.length; g++) { var n = c[g].dataCount, h = c[g].totalCount - n, b = Math.max(b, n), e = Math.max(e, h); f[g] = Array(n); for (var k = 0; k < f[g].length; k++)f[g][k] = 255 & a.buffer[k + d]; d += n; k = j.getErrorCorrectPolynomial(h); n = (new q(f[g], k.getLength() - 1)).mod(k); i[g] = Array(k.getLength() - 1); for (k = 0; k < i[g].length; k++)h = k + n.getLength() - i[g].length, i[g][k] = 0 <= h ? n.get(h) : 0 } for (k = g = 0; k < c.length; k++)g += c[k].totalCount; d = Array(g); for (k = n = 0; k < b; k++)for (g = 0; g < c.length; g++)k < f[g].length && |
||||
|
(d[n++] = f[g][k]); for (k = 0; k < e; k++)for (g = 0; g < c.length; g++)k < i[g].length && (d[n++] = i[g][k]); return d |
||||
|
}; s = 4; for (var j = { |
||||
|
PATTERN_POSITION_TABLE: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, |
||||
|
78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]], G15: 1335, G18: 7973, G15_MASK: 21522, getBCHTypeInfo: function(a) { for (var c = a << 10; 0 <= j.getBCHDigit(c) - j.getBCHDigit(j.G15);)c ^= j.G15 << j.getBCHDigit(c) - j.getBCHDigit(j.G15); return (a << 10 | c) ^ j.G15_MASK }, getBCHTypeNumber: function(a) { |
||||
|
for (var c = a << 12; 0 <= j.getBCHDigit(c) - |
||||
|
j.getBCHDigit(j.G18);)c ^= j.G18 << j.getBCHDigit(c) - j.getBCHDigit(j.G18); return a << 12 | c |
||||
|
}, getBCHDigit: function(a) { for (var c = 0; 0 != a;)c++, a >>>= 1; return c }, getPatternPosition: function(a) { return j.PATTERN_POSITION_TABLE[a - 1] }, getMask: function(a, c, d) { |
||||
|
switch (a) { |
||||
|
case 0: return 0 == (c + d) % 2; case 1: return 0 == c % 2; case 2: return 0 == d % 3; case 3: return 0 == (c + d) % 3; case 4: return 0 == (Math.floor(c / 2) + Math.floor(d / 3)) % 2; case 5: return 0 == c * d % 2 + c * d % 3; case 6: return 0 == (c * d % 2 + c * d % 3) % 2; case 7: return 0 == (c * d % 3 + (c + d) % 2) % 2; default: throw Error("bad maskPattern:" + |
||||
|
a); |
||||
|
} |
||||
|
}, getErrorCorrectPolynomial: function(a) { for (var c = new q([1], 0), d = 0; d < a; d++)c = c.multiply(new q([1, l.gexp(d)], 0)); return c }, getLengthInBits: function(a, c) { |
||||
|
if (1 <= c && 10 > c) switch (a) { case 1: return 10; case 2: return 9; case s: return 8; case 8: return 8; default: throw Error("mode:" + a); } else if (27 > c) switch (a) { case 1: return 12; case 2: return 11; case s: return 16; case 8: return 10; default: throw Error("mode:" + a); } else if (41 > c) switch (a) { |
||||
|
case 1: return 14; case 2: return 13; case s: return 16; case 8: return 12; default: throw Error("mode:" + |
||||
|
a); |
||||
|
} else throw Error("type:" + c); |
||||
|
}, getLostPoint: function(a) { |
||||
|
for (var c = a.getModuleCount(), d = 0, b = 0; b < c; b++)for (var e = 0; e < c; e++) { for (var f = 0, i = a.isDark(b, e), g = -1; 1 >= g; g++)if (!(0 > b + g || c <= b + g)) for (var h = -1; 1 >= h; h++)0 > e + h || c <= e + h || 0 == g && 0 == h || i == a.isDark(b + g, e + h) && f++; 5 < f && (d += 3 + f - 5) } for (b = 0; b < c - 1; b++)for (e = 0; e < c - 1; e++)if (f = 0, a.isDark(b, e) && f++, a.isDark(b + 1, e) && f++, a.isDark(b, e + 1) && f++, a.isDark(b + 1, e + 1) && f++, 0 == f || 4 == f) d += 3; for (b = 0; b < c; b++)for (e = 0; e < c - 6; e++)a.isDark(b, e) && !a.isDark(b, e + 1) && a.isDark(b, e + |
||||
|
2) && a.isDark(b, e + 3) && a.isDark(b, e + 4) && !a.isDark(b, e + 5) && a.isDark(b, e + 6) && (d += 40); for (e = 0; e < c; e++)for (b = 0; b < c - 6; b++)a.isDark(b, e) && !a.isDark(b + 1, e) && a.isDark(b + 2, e) && a.isDark(b + 3, e) && a.isDark(b + 4, e) && !a.isDark(b + 5, e) && a.isDark(b + 6, e) && (d += 40); for (e = f = 0; e < c; e++)for (b = 0; b < c; b++)a.isDark(b, e) && f++; a = Math.abs(100 * f / c / c - 50) / 5; return d + 10 * a |
||||
|
} |
||||
|
}, l = { |
||||
|
glog: function(a) { if (1 > a) throw Error("glog(" + a + ")"); return l.LOG_TABLE[a] }, gexp: function(a) { for (; 0 > a;)a += 255; for (; 256 <= a;)a -= 255; return l.EXP_TABLE[a] }, EXP_TABLE: Array(256), |
||||
|
LOG_TABLE: Array(256) |
||||
|
}, m = 0; 8 > m; m++)l.EXP_TABLE[m] = 1 << m; for (m = 8; 256 > m; m++)l.EXP_TABLE[m] = l.EXP_TABLE[m - 4] ^ l.EXP_TABLE[m - 5] ^ l.EXP_TABLE[m - 6] ^ l.EXP_TABLE[m - 8]; for (m = 0; 255 > m; m++)l.LOG_TABLE[l.EXP_TABLE[m]] = m; q.prototype = { |
||||
|
get: function(a) { return this.num[a] }, getLength: function() { return this.num.length }, multiply: function(a) { for (var c = Array(this.getLength() + a.getLength() - 1), d = 0; d < this.getLength(); d++)for (var b = 0; b < a.getLength(); b++)c[d + b] ^= l.gexp(l.glog(this.get(d)) + l.glog(a.get(b))); return new q(c, 0) }, mod: function(a) { |
||||
|
if (0 > |
||||
|
this.getLength() - a.getLength()) return this; for (var c = l.glog(this.get(0)) - l.glog(a.get(0)), d = Array(this.getLength()), b = 0; b < this.getLength(); b++)d[b] = this.get(b); for (b = 0; b < a.getLength(); b++)d[b] ^= l.gexp(l.glog(a.get(b)) + c); return (new q(d, 0)).mod(a) |
||||
|
} |
||||
|
}; p.RS_BLOCK_TABLE = [[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], [1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], [1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], [1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], [2, 86, 68], [4, 43, 27], |
||||
|
[4, 43, 19], [4, 43, 15], [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], [3, 145, 115, 1, 146, |
||||
|
116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12], [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], [5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], [3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, |
||||
|
43, 15, 10, 44, 16], [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], [8, 152, 122, 4, 153, 123], [22, 73, 45, |
||||
|
3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], [3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], [5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, |
||||
|
55, 25], [11, 45, 15, 46, 46, 16], [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], [12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], [6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], [17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], [4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, |
||||
|
45, 15, 67, 46, 16], [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]]; p.getRSBlocks = function(a, c) { var d = p.getRsBlockTable(a, c); if (void 0 == d) throw Error("bad rs block @ typeNumber:" + a + "/errorCorrectLevel:" + c); for (var b = d.length / 3, e = [], f = 0; f < b; f++)for (var h = d[3 * f + 0], g = d[3 * f + 1], j = d[3 * f + 2], l = 0; l < h; l++)e.push(new p(g, j)); return e }; p.getRsBlockTable = function(a, c) { |
||||
|
switch (c) { |
||||
|
case 1: return p.RS_BLOCK_TABLE[4 * (a - 1) + 0]; case 0: return p.RS_BLOCK_TABLE[4 * (a - 1) + 1]; case 3: return p.RS_BLOCK_TABLE[4 * |
||||
|
(a - 1) + 2]; case 2: return p.RS_BLOCK_TABLE[4 * (a - 1) + 3] |
||||
|
} |
||||
|
}; t.prototype = { get: function(a) { return 1 == (this.buffer[Math.floor(a / 8)] >>> 7 - a % 8 & 1) }, put: function(a, c) { for (var d = 0; d < c; d++)this.putBit(1 == (a >>> c - d - 1 & 1)) }, getLengthInBits: function() { return this.length }, putBit: function(a) { var c = Math.floor(this.length / 8); this.buffer.length <= c && this.buffer.push(0); a && (this.buffer[c] |= 128 >>> this.length % 8); this.length++ } }; "string" === typeof h && (h = { text: h }); h = r.extend({}, { |
||||
|
render: "canvas", width: 256, height: 256, typeNumber: -1, |
||||
|
correctLevel: 2, background: "#ffffff", foreground: "#000000" |
||||
|
}, h); return this.each(function() { |
||||
|
var a; if ("canvas" == h.render) { |
||||
|
a = new o(h.typeNumber, h.correctLevel); a.addData(h.text); a.make(); var c = document.createElement("canvas"); c.width = h.width; c.height = h.height; for (var d = c.getContext("2d"), b = h.width / a.getModuleCount(), e = h.height / a.getModuleCount(), f = 0; f < a.getModuleCount(); f++)for (var i = 0; i < a.getModuleCount(); i++) { |
||||
|
d.fillStyle = a.isDark(f, i) ? h.foreground : h.background; var g = Math.ceil((i + 1) * b) - Math.floor(i * b), |
||||
|
j = Math.ceil((f + 1) * b) - Math.floor(f * b); d.fillRect(Math.round(i * b), Math.round(f * e), g, j) |
||||
|
} |
||||
|
} else { |
||||
|
a = new o(h.typeNumber, h.correctLevel); a.addData(h.text); a.make(); c = r("<table></table>").css("width", h.width + "px").css("height", h.height + "px").css("border", "0px").css("border-collapse", "collapse").css("background-color", h.background); d = h.width / a.getModuleCount(); b = h.height / a.getModuleCount(); for (e = 0; e < a.getModuleCount(); e++) { |
||||
|
f = r("<tr></tr>").css("height", b + "px").appendTo(c); for (i = 0; i < a.getModuleCount(); i++)r("<td></td>").css("width", |
||||
|
d + "px").css("background-color", a.isDark(e, i) ? h.foreground : h.background).appendTo(f) |
||||
|
} |
||||
|
} a = c; jQuery(a).appendTo(this) |
||||
|
}) |
||||
|
} |
||||
|
}); |
||||
@ -0,0 +1,213 @@ |
|||||
|
|
||||
|
//Restrict the Text field to only accept numeric values
|
||||
|
$(function(){ |
||||
|
|
||||
|
$('#mobileNo').keypress(function(e) { |
||||
|
if(isNaN(this.value+""+String.fromCharCode(e.charCode))) return false; |
||||
|
}) |
||||
|
.on("cut copy paste",function(e){ |
||||
|
e.preventDefault(); |
||||
|
}); |
||||
|
|
||||
|
$('#otp').keypress(function(e) { |
||||
|
if(isNaN(this.value+""+String.fromCharCode(e.charCode))) return false; |
||||
|
}) |
||||
|
.on("cut copy paste",function(e){ |
||||
|
e.preventDefault(); |
||||
|
}); |
||||
|
|
||||
|
getZoneNo(); |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
//Getting Zone No
|
||||
|
function getZoneNo() { |
||||
|
|
||||
|
$.ajax({ |
||||
|
type: "GET", |
||||
|
url: '/qr-feedback/api/getZoneNo', |
||||
|
dataType: 'json', |
||||
|
success: function(bodyMessage) { |
||||
|
var tempJson = bodyMessage['ZoneDetailsResult']; |
||||
|
//alert("tempJson---:"+tempJson);
|
||||
|
for (var i = 0; i < tempJson.length; i++) { |
||||
|
var tempJsonValue = tempJson[i]['ZoneId']; |
||||
|
//var tempJsonValue = tempJson[i]['ZoneName'].replace('N', '');
|
||||
|
var tempJsonLabel = tempJson[i]['ZoneName'].replace('N', ''); |
||||
|
$('#zoneNo').append("<option value='" + tempJsonValue + "'>" + tempJsonLabel + "</option>"); |
||||
|
} |
||||
|
}, error: function(e, ts, et) |
||||
|
{ |
||||
|
// alert(ts)
|
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
//Getting Div
|
||||
|
function getDiv($this) { |
||||
|
|
||||
|
$('#divNo option:not(:first)').remove(); |
||||
|
var zoneId = $this.value; |
||||
|
alert("zoneId---:"+zoneId); |
||||
|
$.ajax({ |
||||
|
type: "GET", |
||||
|
url: '/qr-feedback/api/getDiv', |
||||
|
data: {'zoneId':zoneId}, |
||||
|
dataType: 'json', |
||||
|
success: function(bodyMessage) { |
||||
|
var tempJson = bodyMessage['DivisionDetailsResult']; |
||||
|
for (var i = 0; i < tempJson.length; i++) { |
||||
|
var tempJsonValue = tempJson[i]['DivisionName'].replace('N', ''); |
||||
|
//var tempJsonValue = tempJson[i]['DivisionId'];
|
||||
|
var tempJsonLabel = tempJson[i]['DivisionName'].replace('N', ''); |
||||
|
$('#divNo').append("<option value='" + tempJsonValue + "'>" + tempJsonLabel + "</option>"); |
||||
|
} |
||||
|
}, error: function(e, ts, et) |
||||
|
{ |
||||
|
// alert(ts)
|
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
//Getting Area
|
||||
|
function getArea($this) { |
||||
|
|
||||
|
$('#assetArea option:not(:first)').remove(); |
||||
|
var divId = $this.value; |
||||
|
alert("DIVIDION---"+divId); |
||||
|
|
||||
|
$.ajax({ |
||||
|
type: "GET", |
||||
|
url: '/qr-feedback/api/getArea', |
||||
|
data: {'divId':divId}, |
||||
|
dataType: 'json', |
||||
|
success: function(bodyMessage) { |
||||
|
var tempJson = bodyMessage['AreaDetailsResult']; |
||||
|
for (var i = 0; i < tempJson.length; i++) { |
||||
|
var tempJsonValue = tempJson[i]['AreaId']; |
||||
|
var tempJsonLabel = tempJson[i]['AreaName']; |
||||
|
$('#assetArea').append("<option value='" + tempJsonValue + "'>" + tempJsonLabel + "</option>"); |
||||
|
} |
||||
|
}, error: function(e, ts, et) |
||||
|
{ |
||||
|
// alert(ts)
|
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
//Getting Location
|
||||
|
function getLocation($this) { |
||||
|
|
||||
|
$('#assetLocation option:not(:first)').remove(); |
||||
|
var areaId = $this.value; |
||||
|
|
||||
|
$.ajax({ |
||||
|
type: "GET", |
||||
|
url: '/qr-feedback/api/getLocation', |
||||
|
data: {'areaId':areaId}, |
||||
|
dataType: 'json', |
||||
|
success: function(bodyMessage) { |
||||
|
var tempJson = bodyMessage['LocationDetailsResult']; |
||||
|
for (var i = 0; i < tempJson.length; i++) { |
||||
|
var tempJsonValue = tempJson[i]['LocationId']; |
||||
|
var tempJsonLabel = tempJson[i]['LocationName']; |
||||
|
$('#assetLocation').append("<option value='" + tempJsonValue + "'>" + tempJsonLabel + "</option>"); |
||||
|
} |
||||
|
}, error: function(e, ts, et) |
||||
|
{ |
||||
|
// alert(ts)
|
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
//Getting Street
|
||||
|
function getStreet($this) { |
||||
|
|
||||
|
$('#assetStreet option:not(:first)').remove(); |
||||
|
var locationId = $this.value; |
||||
|
|
||||
|
$.ajax({ |
||||
|
type: "GET", |
||||
|
url: '/qr-feedback/api/getStreet', |
||||
|
data: {'locationId':locationId}, |
||||
|
dataType: 'json', |
||||
|
success: function(bodyMessage) { |
||||
|
var tempJson = bodyMessage['StreetDetailsResult']; |
||||
|
for (var i = 0; i < tempJson.length; i++) { |
||||
|
var tempJsonValue = tempJson[i]['StreetId']; |
||||
|
var tempJsonLabel = tempJson[i]['StreetName']; |
||||
|
$('#assetStreet').append("<option value='" + tempJsonValue + "'>" + tempJsonLabel + "</option>"); |
||||
|
} |
||||
|
}, error: function(e, ts, et) |
||||
|
{ |
||||
|
// alert(ts)
|
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
//Sending OTP
|
||||
|
function sendOtp(){ |
||||
|
|
||||
|
var mobileNo = $("#mobileNo").val(); |
||||
|
|
||||
|
$.ajax({ |
||||
|
type: "GET", |
||||
|
url: '/qr-feedback/feedback/sendOtp', |
||||
|
data: {'mobileNo':mobileNo}, |
||||
|
dataType: 'json', |
||||
|
success: function(bodyMessage) { |
||||
|
|
||||
|
if(bodyMessage!="Error"){ |
||||
|
|
||||
|
alert("OTP Send Successfullyd!!!"); |
||||
|
}else{ |
||||
|
alert("OTP Not Send!!!"); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
//Verify OTP
|
||||
|
function verifyOtp(){ |
||||
|
|
||||
|
var otp = $("#otp").val(); |
||||
|
|
||||
|
$.ajax({ |
||||
|
type: "GET", |
||||
|
url: '/qr-feedback/feedback/verifyOtp', |
||||
|
data: {'otp':otp}, |
||||
|
dataType: 'json', |
||||
|
success: function(bodyMessage) { |
||||
|
alert("OTP is Verified!!!"); |
||||
|
if(bodyMessage!="Error"){ |
||||
|
alert("OTP is Verified!!!"); |
||||
|
}else{ |
||||
|
alert("OTP is Incorrect!!!"); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
//Getting Master Name
|
||||
|
/*function getMasterName() { |
||||
|
|
||||
|
$.ajax({ |
||||
|
type: "GET", |
||||
|
url: '/qr-feedback/master/getMasterName', |
||||
|
dataType: 'json', |
||||
|
success: function(bodyMessage) { |
||||
|
var tempJson = bodyMessage['obj']; |
||||
|
alert(tempJson); |
||||
|
for (var i = 0; i < tempJson.length; i++) { |
||||
|
var tempJsonValue = tempJson[i]['masterId']; |
||||
|
var tempJsonLabel = tempJson[i]['masterName']; |
||||
|
$('#masterName').append("<option value='" + tempJsonValue + "'>" + tempJsonLabel + "</option>"); |
||||
|
} |
||||
|
}, error: function(e, ts, et) |
||||
|
{ |
||||
|
alert(ts) |
||||
|
} |
||||
|
}); |
||||
|
}*/ |
||||
@ -0,0 +1,315 @@ |
|||||
|
|
||||
|
(function() { |
||||
|
"use strict"; |
||||
|
|
||||
|
/** |
||||
|
* Easy selector helper function |
||||
|
*/ |
||||
|
const select = (el, all = false) => { |
||||
|
el = el.trim() |
||||
|
if (all) { |
||||
|
return [...document.querySelectorAll(el)] |
||||
|
} else { |
||||
|
return document.querySelector(el) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Easy event listener function |
||||
|
*/ |
||||
|
const on = (type, el, listener, all = false) => { |
||||
|
if (all) { |
||||
|
select(el, all).forEach(e => e.addEventListener(type, listener)) |
||||
|
} else { |
||||
|
select(el, all).addEventListener(type, listener) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Easy on scroll event listener |
||||
|
*/ |
||||
|
const onscroll = (el, listener) => { |
||||
|
el.addEventListener('scroll', listener) |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Sidebar toggle |
||||
|
*/ |
||||
|
if (select('.toggle-sidebar-btn')) { |
||||
|
on('click', '.toggle-sidebar-btn', function(e) { |
||||
|
select('body').classList.toggle('toggle-sidebar') |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Search bar toggle |
||||
|
*/ |
||||
|
if (select('.search-bar-toggle')) { |
||||
|
on('click', '.search-bar-toggle', function(e) { |
||||
|
select('.search-bar').classList.toggle('search-bar-show') |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Navbar links active state on scroll |
||||
|
*/ |
||||
|
let navbarlinks = select('#navbar .scrollto', true) |
||||
|
const navbarlinksActive = () => { |
||||
|
let position = window.scrollY + 200 |
||||
|
navbarlinks.forEach(navbarlink => { |
||||
|
if (!navbarlink.hash) return |
||||
|
let section = select(navbarlink.hash) |
||||
|
if (!section) return |
||||
|
if (position >= section.offsetTop && position <= (section.offsetTop + section.offsetHeight)) { |
||||
|
navbarlink.classList.add('active') |
||||
|
} else { |
||||
|
navbarlink.classList.remove('active') |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
window.addEventListener('load', navbarlinksActive) |
||||
|
onscroll(document, navbarlinksActive) |
||||
|
|
||||
|
/** |
||||
|
* Toggle .header-scrolled class to #header when page is scrolled |
||||
|
*/ |
||||
|
let selectHeader = select('#header') |
||||
|
if (selectHeader) { |
||||
|
const headerScrolled = () => { |
||||
|
if (window.scrollY > 100) { |
||||
|
selectHeader.classList.add('header-scrolled') |
||||
|
} else { |
||||
|
selectHeader.classList.remove('header-scrolled') |
||||
|
} |
||||
|
} |
||||
|
window.addEventListener('load', headerScrolled) |
||||
|
onscroll(document, headerScrolled) |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Back to top button |
||||
|
*/ |
||||
|
let backtotop = select('.back-to-top') |
||||
|
if (backtotop) { |
||||
|
const toggleBacktotop = () => { |
||||
|
if (window.scrollY > 100) { |
||||
|
backtotop.classList.add('active') |
||||
|
} else { |
||||
|
backtotop.classList.remove('active') |
||||
|
} |
||||
|
} |
||||
|
window.addEventListener('load', toggleBacktotop) |
||||
|
onscroll(document, toggleBacktotop) |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Initiate tooltips |
||||
|
*/ |
||||
|
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')) |
||||
|
var tooltipList = tooltipTriggerList.map(function(tooltipTriggerEl) { |
||||
|
return new bootstrap.Tooltip(tooltipTriggerEl) |
||||
|
}) |
||||
|
|
||||
|
/** |
||||
|
* Initiate quill editors |
||||
|
*/ |
||||
|
if (select('.quill-editor-default')) { |
||||
|
new Quill('.quill-editor-default', { |
||||
|
theme: 'snow' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
if (select('.quill-editor-bubble')) { |
||||
|
new Quill('.quill-editor-bubble', { |
||||
|
theme: 'bubble' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
if (select('.quill-editor-full')) { |
||||
|
new Quill(".quill-editor-full", { |
||||
|
modules: { |
||||
|
toolbar: [ |
||||
|
[{ |
||||
|
font: [] |
||||
|
}, { |
||||
|
size: [] |
||||
|
}], |
||||
|
["bold", "italic", "underline", "strike"], |
||||
|
[{ |
||||
|
color: [] |
||||
|
}, |
||||
|
{ |
||||
|
background: [] |
||||
|
} |
||||
|
], |
||||
|
[{ |
||||
|
script: "super" |
||||
|
}, |
||||
|
{ |
||||
|
script: "sub" |
||||
|
} |
||||
|
], |
||||
|
[{ |
||||
|
list: "ordered" |
||||
|
}, |
||||
|
{ |
||||
|
list: "bullet" |
||||
|
}, |
||||
|
{ |
||||
|
indent: "-1" |
||||
|
}, |
||||
|
{ |
||||
|
indent: "+1" |
||||
|
} |
||||
|
], |
||||
|
["direction", { |
||||
|
align: [] |
||||
|
}], |
||||
|
["link", "image", "video"], |
||||
|
["clean"] |
||||
|
] |
||||
|
}, |
||||
|
theme: "snow" |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Initiate TinyMCE Editor |
||||
|
*/ |
||||
|
const useDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches; |
||||
|
const isSmallScreen = window.matchMedia('(max-width: 1023.5px)').matches; |
||||
|
|
||||
|
tinymce.init({ |
||||
|
selector: 'textarea.tinymce-editor', |
||||
|
plugins: 'preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image link media template codesample table charmap pagebreak nonbreaking anchor insertdatetime advlist lists wordcount help charmap quickbars emoticons', |
||||
|
editimage_cors_hosts: ['picsum.photos'], |
||||
|
menubar: 'file edit view insert format tools table help', |
||||
|
toolbar: 'undo redo | bold italic underline strikethrough | fontfamily fontsize blocks | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | forecolor backcolor removeformat | pagebreak | charmap emoticons | fullscreen preview save print | insertfile image media template link anchor codesample | ltr rtl', |
||||
|
toolbar_sticky: true, |
||||
|
toolbar_sticky_offset: isSmallScreen ? 102 : 108, |
||||
|
autosave_ask_before_unload: true, |
||||
|
autosave_interval: '30s', |
||||
|
autosave_prefix: '{path}{query}-{id}-', |
||||
|
autosave_restore_when_empty: false, |
||||
|
autosave_retention: '2m', |
||||
|
image_advtab: true, |
||||
|
link_list: [{ |
||||
|
title: 'My page 1', |
||||
|
value: 'https://www.tiny.cloud' |
||||
|
}, |
||||
|
{ |
||||
|
title: 'My page 2', |
||||
|
value: 'http://www.moxiecode.com' |
||||
|
} |
||||
|
], |
||||
|
image_list: [{ |
||||
|
title: 'My page 1', |
||||
|
value: 'https://www.tiny.cloud' |
||||
|
}, |
||||
|
{ |
||||
|
title: 'My page 2', |
||||
|
value: 'http://www.moxiecode.com' |
||||
|
} |
||||
|
], |
||||
|
image_class_list: [{ |
||||
|
title: 'None', |
||||
|
value: '' |
||||
|
}, |
||||
|
{ |
||||
|
title: 'Some class', |
||||
|
value: 'class-name' |
||||
|
} |
||||
|
], |
||||
|
importcss_append: true, |
||||
|
file_picker_callback: (callback, value, meta) => { |
||||
|
/* Provide file and text for the link dialog */ |
||||
|
if (meta.filetype === 'file') { |
||||
|
callback('https://www.google.com/logos/google.jpg', { |
||||
|
text: 'My text' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/* Provide image and alt text for the image dialog */ |
||||
|
if (meta.filetype === 'image') { |
||||
|
callback('https://www.google.com/logos/google.jpg', { |
||||
|
alt: 'My alt text' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/* Provide alternative source and posted for the media dialog */ |
||||
|
if (meta.filetype === 'media') { |
||||
|
callback('movie.mp4', { |
||||
|
source2: 'alt.ogg', |
||||
|
poster: 'https://www.google.com/logos/google.jpg' |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
templates: [{ |
||||
|
title: 'New Table', |
||||
|
description: 'creates a new table', |
||||
|
content: '<div class="mceTmpl"><table width="98%%" border="0" cellspacing="0" cellpadding="0"><tr><th scope="col"> </th><th scope="col"> </th></tr><tr><td> </td><td> </td></tr></table></div>' |
||||
|
}, |
||||
|
{ |
||||
|
title: 'Starting my story', |
||||
|
description: 'A cure for writers block', |
||||
|
content: 'Once upon a time...' |
||||
|
}, |
||||
|
{ |
||||
|
title: 'New list with dates', |
||||
|
description: 'New List with dates', |
||||
|
content: '<div class="mceTmpl"><span class="cdate">cdate</span><br><span class="mdate">mdate</span><h2>My List</h2><ul><li></li><li></li></ul></div>' |
||||
|
} |
||||
|
], |
||||
|
template_cdate_format: '[Date Created (CDATE): %m/%d/%Y : %H:%M:%S]', |
||||
|
template_mdate_format: '[Date Modified (MDATE): %m/%d/%Y : %H:%M:%S]', |
||||
|
height: 600, |
||||
|
image_caption: true, |
||||
|
quickbars_selection_toolbar: 'bold italic | quicklink h2 h3 blockquote quickimage quicktable', |
||||
|
noneditable_class: 'mceNonEditable', |
||||
|
toolbar_mode: 'sliding', |
||||
|
contextmenu: 'link image table', |
||||
|
skin: useDarkMode ? 'oxide-dark' : 'oxide', |
||||
|
content_css: useDarkMode ? 'dark' : 'default', |
||||
|
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:16px }' |
||||
|
}); |
||||
|
|
||||
|
/** |
||||
|
* Initiate Bootstrap validation check |
||||
|
*/ |
||||
|
var needsValidation = document.querySelectorAll('.needs-validation') |
||||
|
|
||||
|
Array.prototype.slice.call(needsValidation) |
||||
|
.forEach(function(form) { |
||||
|
form.addEventListener('submit', function(event) { |
||||
|
if (!form.checkValidity()) { |
||||
|
event.preventDefault() |
||||
|
event.stopPropagation() |
||||
|
} |
||||
|
|
||||
|
form.classList.add('was-validated') |
||||
|
}, false) |
||||
|
}) |
||||
|
|
||||
|
/** |
||||
|
* Initiate Datatables |
||||
|
*/ |
||||
|
const datatables = select('.datatable', true) |
||||
|
datatables.forEach(datatable => { |
||||
|
new simpleDatatables.DataTable(datatable); |
||||
|
}) |
||||
|
|
||||
|
/** |
||||
|
* Autoresize echart charts |
||||
|
*/ |
||||
|
const mainContainer = select('#main'); |
||||
|
if (mainContainer) { |
||||
|
setTimeout(() => { |
||||
|
new ResizeObserver(function() { |
||||
|
select('.echart', true).forEach(getEchart => { |
||||
|
echarts.getInstanceByDom(getEchart).resize(); |
||||
|
}) |
||||
|
}).observe(mainContainer); |
||||
|
}, 200); |
||||
|
} |
||||
|
|
||||
|
})(); |
||||
202
src/main/resources/static/assets/json/GCC_DIVISION.geojson
File diff suppressed because it is too large
View File
23
src/main/resources/static/assets/json/GCC_ZONE.geojson
File diff suppressed because it is too large
View File
@ -0,0 +1 @@ |
|||||
|
The .scss (Sass) files are only avilable in the pro version. You can buy it from: https://bootstrapmade.com/nice-admin-bootstrap-admin-html-template/ |
||||
14
src/main/resources/static/assets/vendor/apexcharts/apexcharts.min.js
File diff suppressed because it is too large
View File
@ -0,0 +1,63 @@ |
|||||
|
{ |
||||
|
"name": "ar", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"يناير", |
||||
|
"فبراير", |
||||
|
"مارس", |
||||
|
"أبريل", |
||||
|
"مايو", |
||||
|
"يونيو", |
||||
|
"يوليو", |
||||
|
"أغسطس", |
||||
|
"سبتمبر", |
||||
|
"أكتوبر", |
||||
|
"نوفمبر", |
||||
|
"ديسمبر" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"يناير", |
||||
|
"فبراير", |
||||
|
"مارس", |
||||
|
"أبريل", |
||||
|
"مايو", |
||||
|
"يونيو", |
||||
|
"يوليو", |
||||
|
"أغسطس", |
||||
|
"سبتمبر", |
||||
|
"أكتوبر", |
||||
|
"نوفمبر", |
||||
|
"ديسمبر" |
||||
|
], |
||||
|
"days": [ |
||||
|
"الأحد", |
||||
|
"الإثنين", |
||||
|
"الثلاثاء", |
||||
|
"الأربعاء", |
||||
|
"الخميس", |
||||
|
"الجمعة", |
||||
|
"السبت" |
||||
|
], |
||||
|
"shortDays": [ |
||||
|
"أحد", |
||||
|
"إثنين", |
||||
|
"ثلاثاء", |
||||
|
"أربعاء", |
||||
|
"خميس", |
||||
|
"جمعة", |
||||
|
"سبت" |
||||
|
], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "تحميل بصيغة SVG", |
||||
|
"exportToPNG": "تحميل بصيغة PNG", |
||||
|
"exportToCSV": "تحميل بصيغة CSV", |
||||
|
"menu": "القائمة", |
||||
|
"selection": "تحديد", |
||||
|
"selectionZoom": "تكبير التحديد", |
||||
|
"zoomIn": "تكبير", |
||||
|
"zoomOut": "تصغير", |
||||
|
"pan": "تحريك", |
||||
|
"reset": "إعادة التعيين" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "ca", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"Gener", |
||||
|
"Febrer", |
||||
|
"Març", |
||||
|
"Abril", |
||||
|
"Maig", |
||||
|
"Juny", |
||||
|
"Juliol", |
||||
|
"Agost", |
||||
|
"Setembre", |
||||
|
"Octubre", |
||||
|
"Novembre", |
||||
|
"Desembre" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Gen.", |
||||
|
"Febr.", |
||||
|
"Març", |
||||
|
"Abr.", |
||||
|
"Maig", |
||||
|
"Juny", |
||||
|
"Jul.", |
||||
|
"Ag.", |
||||
|
"Set.", |
||||
|
"Oct.", |
||||
|
"Nov.", |
||||
|
"Des." |
||||
|
], |
||||
|
"days": [ |
||||
|
"Diumenge", |
||||
|
"Dilluns", |
||||
|
"Dimarts", |
||||
|
"Dimecres", |
||||
|
"Dijous", |
||||
|
"Divendres", |
||||
|
"Dissabte" |
||||
|
], |
||||
|
"shortDays": ["Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Descarregar SVG", |
||||
|
"exportToPNG": "Descarregar PNG", |
||||
|
"exportToCSV": "Descarregar CSV", |
||||
|
"menu": "Menú", |
||||
|
"selection": "Seleccionar", |
||||
|
"selectionZoom": "Seleccionar Zoom", |
||||
|
"zoomIn": "Augmentar", |
||||
|
"zoomOut": "Disminuir", |
||||
|
"pan": "Navegació", |
||||
|
"reset": "Reiniciar Zoom" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "cs", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"Leden", |
||||
|
"Únor", |
||||
|
"Březen", |
||||
|
"Duben", |
||||
|
"Květen", |
||||
|
"Červen", |
||||
|
"Červenec", |
||||
|
"Srpen", |
||||
|
"Září", |
||||
|
"Říjen", |
||||
|
"Listopad", |
||||
|
"Prosinec" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Led", |
||||
|
"Úno", |
||||
|
"Bře", |
||||
|
"Dub", |
||||
|
"Kvě", |
||||
|
"Čvn", |
||||
|
"Čvc", |
||||
|
"Srp", |
||||
|
"Zář", |
||||
|
"Říj", |
||||
|
"Lis", |
||||
|
"Pro" |
||||
|
], |
||||
|
"days": [ |
||||
|
"Neděle", |
||||
|
"Pondělí", |
||||
|
"Úterý", |
||||
|
"Středa", |
||||
|
"Čtvrtek", |
||||
|
"Pátek", |
||||
|
"Sobota" |
||||
|
], |
||||
|
"shortDays": ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Stáhnout SVG", |
||||
|
"exportToPNG": "Stáhnout PNG", |
||||
|
"exportToCSV": "Stáhnout CSV", |
||||
|
"menu": "Menu", |
||||
|
"selection": "Vybrat", |
||||
|
"selectionZoom": "Zoom: Vybrat", |
||||
|
"zoomIn": "Zoom: Přiblížit", |
||||
|
"zoomOut": "Zoom: Oddálit", |
||||
|
"pan": "Přesouvat", |
||||
|
"reset": "Resetovat" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "de", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"Januar", |
||||
|
"Februar", |
||||
|
"März", |
||||
|
"April", |
||||
|
"Mai", |
||||
|
"Juni", |
||||
|
"Juli", |
||||
|
"August", |
||||
|
"September", |
||||
|
"Oktober", |
||||
|
"November", |
||||
|
"Dezember" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Jan", |
||||
|
"Feb", |
||||
|
"Mär", |
||||
|
"Apr", |
||||
|
"Mai", |
||||
|
"Jun", |
||||
|
"Jul", |
||||
|
"Aug", |
||||
|
"Sep", |
||||
|
"Okt", |
||||
|
"Nov", |
||||
|
"Dez" |
||||
|
], |
||||
|
"days": [ |
||||
|
"Sonntag", |
||||
|
"Montag", |
||||
|
"Dienstag", |
||||
|
"Mittwoch", |
||||
|
"Donnerstag", |
||||
|
"Freitag", |
||||
|
"Samstag" |
||||
|
], |
||||
|
"shortDays": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "SVG speichern", |
||||
|
"exportToPNG": "PNG speichern", |
||||
|
"exportToCSV": "CSV speichern", |
||||
|
"menu": "Menü", |
||||
|
"selection": "Auswahl", |
||||
|
"selectionZoom": "Auswahl vergrößern", |
||||
|
"zoomIn": "Vergrößern", |
||||
|
"zoomOut": "Verkleinern", |
||||
|
"pan": "Verschieben", |
||||
|
"reset": "Zoom zurücksetzen" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "el", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"Ιανουάριος", |
||||
|
"Φεβρουάριος", |
||||
|
"Μάρτιος", |
||||
|
"Απρίλιος", |
||||
|
"Μάιος", |
||||
|
"Ιούνιος", |
||||
|
"Ιούλιος", |
||||
|
"Αύγουστος", |
||||
|
"Σεπτέμβριος", |
||||
|
"Οκτώβριος", |
||||
|
"Νοέμβριος", |
||||
|
"Δεκέμβριος" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Ιαν", |
||||
|
"Φευ", |
||||
|
"Μαρ", |
||||
|
"Απρ", |
||||
|
"Μάι", |
||||
|
"Ιουν", |
||||
|
"Ιουλ", |
||||
|
"Αυγ", |
||||
|
"Σεπ", |
||||
|
"Οκτ", |
||||
|
"Νοε", |
||||
|
"Δεκ" |
||||
|
], |
||||
|
"days": [ |
||||
|
"Κυριακή", |
||||
|
"Δευτέρα", |
||||
|
"Τρίτη", |
||||
|
"Τετάρτη", |
||||
|
"Πέμπτη", |
||||
|
"Παρασκευή", |
||||
|
"Σάββατο" |
||||
|
], |
||||
|
"shortDays": ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Λήψη SVG", |
||||
|
"exportToPNG": "Λήψη PNG", |
||||
|
"exportToCSV": "Λήψη CSV", |
||||
|
"menu": "Menu", |
||||
|
"selection": "Επιλογή", |
||||
|
"selectionZoom": "Μεγένθυση βάση επιλογής", |
||||
|
"zoomIn": "Μεγένθυνση", |
||||
|
"zoomOut": "Σμίκρυνση", |
||||
|
"pan": "Μετατόπιση", |
||||
|
"reset": "Επαναφορά μεγένθυνσης" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "en", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"January", |
||||
|
"February", |
||||
|
"March", |
||||
|
"April", |
||||
|
"May", |
||||
|
"June", |
||||
|
"July", |
||||
|
"August", |
||||
|
"September", |
||||
|
"October", |
||||
|
"November", |
||||
|
"December" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Jan", |
||||
|
"Feb", |
||||
|
"Mar", |
||||
|
"Apr", |
||||
|
"May", |
||||
|
"Jun", |
||||
|
"Jul", |
||||
|
"Aug", |
||||
|
"Sep", |
||||
|
"Oct", |
||||
|
"Nov", |
||||
|
"Dec" |
||||
|
], |
||||
|
"days": [ |
||||
|
"Sunday", |
||||
|
"Monday", |
||||
|
"Tuesday", |
||||
|
"Wednesday", |
||||
|
"Thursday", |
||||
|
"Friday", |
||||
|
"Saturday" |
||||
|
], |
||||
|
"shortDays": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Download SVG", |
||||
|
"exportToPNG": "Download PNG", |
||||
|
"exportToCSV": "Download CSV", |
||||
|
"menu": "Menu", |
||||
|
"selection": "Selection", |
||||
|
"selectionZoom": "Selection Zoom", |
||||
|
"zoomIn": "Zoom In", |
||||
|
"zoomOut": "Zoom Out", |
||||
|
"pan": "Panning", |
||||
|
"reset": "Reset Zoom" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "es", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"Enero", |
||||
|
"Febrero", |
||||
|
"Marzo", |
||||
|
"Abril", |
||||
|
"Mayo", |
||||
|
"Junio", |
||||
|
"Julio", |
||||
|
"Agosto", |
||||
|
"Septiembre", |
||||
|
"Octubre", |
||||
|
"Noviembre", |
||||
|
"Diciembre" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Ene", |
||||
|
"Feb", |
||||
|
"Mar", |
||||
|
"Abr", |
||||
|
"May", |
||||
|
"Jun", |
||||
|
"Jul", |
||||
|
"Ago", |
||||
|
"Sep", |
||||
|
"Oct", |
||||
|
"Nov", |
||||
|
"Dic" |
||||
|
], |
||||
|
"days": [ |
||||
|
"Domingo", |
||||
|
"Lunes", |
||||
|
"Martes", |
||||
|
"Miércoles", |
||||
|
"Jueves", |
||||
|
"Viernes", |
||||
|
"Sábado" |
||||
|
], |
||||
|
"shortDays": ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Descargar SVG", |
||||
|
"exportToPNG": "Descargar PNG", |
||||
|
"exportToCSV": "Descargar CSV", |
||||
|
"menu": "Menu", |
||||
|
"selection": "Seleccionar", |
||||
|
"selectionZoom": "Seleccionar Zoom", |
||||
|
"zoomIn": "Aumentar", |
||||
|
"zoomOut": "Disminuir", |
||||
|
"pan": "Navegación", |
||||
|
"reset": "Reiniciar Zoom" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,63 @@ |
|||||
|
{ |
||||
|
"name": "et", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"jaanuar", |
||||
|
"veebruar", |
||||
|
"märts", |
||||
|
"aprill", |
||||
|
"mai", |
||||
|
"juuni", |
||||
|
"juuli", |
||||
|
"august", |
||||
|
"september", |
||||
|
"oktoober", |
||||
|
"november", |
||||
|
"detsember" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"jaan", |
||||
|
"veebr", |
||||
|
"märts", |
||||
|
"apr", |
||||
|
"mai", |
||||
|
"juuni", |
||||
|
"juuli", |
||||
|
"aug", |
||||
|
"sept", |
||||
|
"okt", |
||||
|
"nov", |
||||
|
"dets" |
||||
|
], |
||||
|
"days": [ |
||||
|
"pühapäev", |
||||
|
"esmaspäev", |
||||
|
"teisipäev", |
||||
|
"kolmapäev", |
||||
|
"neljapäev", |
||||
|
"reede", |
||||
|
"laupäev" |
||||
|
], |
||||
|
"shortDays": [ |
||||
|
"P", |
||||
|
"E", |
||||
|
"T", |
||||
|
"K", |
||||
|
"N", |
||||
|
"R", |
||||
|
"L" |
||||
|
], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Lae alla SVG", |
||||
|
"exportToPNG": "Lae alla PNG", |
||||
|
"exportToCSV": "Lae alla CSV", |
||||
|
"menu": "Menüü", |
||||
|
"selection": "Valik", |
||||
|
"selectionZoom": "Valiku suum", |
||||
|
"zoomIn": "Suurenda", |
||||
|
"zoomOut": "Vähenda", |
||||
|
"pan": "Panoraamimine", |
||||
|
"reset": "Lähtesta suum" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "fa", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"فروردین", |
||||
|
"اردیبهشت", |
||||
|
"خرداد", |
||||
|
"تیر", |
||||
|
"مرداد", |
||||
|
"شهریور", |
||||
|
"مهر", |
||||
|
"آبان", |
||||
|
"آذر", |
||||
|
"دی", |
||||
|
"بهمن", |
||||
|
"اسفند" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"فرو", |
||||
|
"ارد", |
||||
|
"خرد", |
||||
|
"تیر", |
||||
|
"مرد", |
||||
|
"شهر", |
||||
|
"مهر", |
||||
|
"آبا", |
||||
|
"آذر", |
||||
|
"دی", |
||||
|
"بهمـ", |
||||
|
"اسفـ" |
||||
|
], |
||||
|
"days": [ |
||||
|
"یکشنبه", |
||||
|
"دوشنبه", |
||||
|
"سه شنبه", |
||||
|
"چهارشنبه", |
||||
|
"پنجشنبه", |
||||
|
"جمعه", |
||||
|
"شنبه" |
||||
|
], |
||||
|
"shortDays": ["ی", "د", "س", "چ", "پ", "ج", "ش"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "دانلود SVG", |
||||
|
"exportToPNG": "دانلود PNG", |
||||
|
"exportToCSV": "دانلود CSV", |
||||
|
"menu": "منو", |
||||
|
"selection": "انتخاب", |
||||
|
"selectionZoom": "بزرگنمایی انتخابی", |
||||
|
"zoomIn": "بزرگنمایی", |
||||
|
"zoomOut": "کوچکنمایی", |
||||
|
"pan": "پیمایش", |
||||
|
"reset": "بازنشانی بزرگنمایی" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "fi", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"Tammikuu", |
||||
|
"Helmikuu", |
||||
|
"Maaliskuu", |
||||
|
"Huhtikuu", |
||||
|
"Toukokuu", |
||||
|
"Kesäkuu", |
||||
|
"Heinäkuu", |
||||
|
"Elokuu", |
||||
|
"Syyskuu", |
||||
|
"Lokakuu", |
||||
|
"Marraskuu", |
||||
|
"Joulukuu" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Tammi", |
||||
|
"Helmi", |
||||
|
"Maalis", |
||||
|
"Huhti", |
||||
|
"Touko", |
||||
|
"Kesä", |
||||
|
"Heinä", |
||||
|
"Elo", |
||||
|
"Syys", |
||||
|
"Loka", |
||||
|
"Marras", |
||||
|
"Joulu" |
||||
|
], |
||||
|
"days": [ |
||||
|
"Sunnuntai", |
||||
|
"Maanantai", |
||||
|
"Tiistai", |
||||
|
"Keskiviikko", |
||||
|
"Torstai", |
||||
|
"Perjantai", |
||||
|
"Lauantai" |
||||
|
], |
||||
|
"shortDays": ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Lataa SVG", |
||||
|
"exportToPNG": "Lataa PNG", |
||||
|
"exportToCSV": "Lataa CSV", |
||||
|
"menu": "Valikko", |
||||
|
"selection": "Valinta", |
||||
|
"selectionZoom": "Valinnan zoomaus", |
||||
|
"zoomIn": "Lähennä", |
||||
|
"zoomOut": "Loitonna", |
||||
|
"pan": "Panoroi", |
||||
|
"reset": "Nollaa zoomaus" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "fr", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"janvier", |
||||
|
"février", |
||||
|
"mars", |
||||
|
"avril", |
||||
|
"mai", |
||||
|
"juin", |
||||
|
"juillet", |
||||
|
"août", |
||||
|
"septembre", |
||||
|
"octobre", |
||||
|
"novembre", |
||||
|
"décembre" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"janv.", |
||||
|
"févr.", |
||||
|
"mars", |
||||
|
"avr.", |
||||
|
"mai", |
||||
|
"juin", |
||||
|
"juill.", |
||||
|
"août", |
||||
|
"sept.", |
||||
|
"oct.", |
||||
|
"nov.", |
||||
|
"déc." |
||||
|
], |
||||
|
"days": [ |
||||
|
"dimanche", |
||||
|
"lundi", |
||||
|
"mardi", |
||||
|
"mercredi", |
||||
|
"jeudi", |
||||
|
"vendredi", |
||||
|
"samedi" |
||||
|
], |
||||
|
"shortDays": ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Télécharger au format SVG", |
||||
|
"exportToPNG": "Télécharger au format PNG", |
||||
|
"exportToCSV": "Télécharger au format CSV", |
||||
|
"menu": "Menu", |
||||
|
"selection": "Sélection", |
||||
|
"selectionZoom": "Sélection et zoom", |
||||
|
"zoomIn": "Zoomer", |
||||
|
"zoomOut": "Dézoomer", |
||||
|
"pan": "Navigation", |
||||
|
"reset": "Réinitialiser le zoom" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "he", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"ינואר", |
||||
|
"פברואר", |
||||
|
"מרץ", |
||||
|
"אפריל", |
||||
|
"מאי", |
||||
|
"יוני", |
||||
|
"יולי", |
||||
|
"אוגוסט", |
||||
|
"ספטמבר", |
||||
|
"אוקטובר", |
||||
|
"נובמבר", |
||||
|
"דצמבר" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"ינו׳", |
||||
|
"פבר׳", |
||||
|
"מרץ", |
||||
|
"אפר׳", |
||||
|
"מאי", |
||||
|
"יוני", |
||||
|
"יולי", |
||||
|
"אוג׳", |
||||
|
"ספט׳", |
||||
|
"אוק׳", |
||||
|
"נוב׳", |
||||
|
"דצמ׳" |
||||
|
], |
||||
|
"days": [ |
||||
|
"ראשון", |
||||
|
"שני", |
||||
|
"שלישי", |
||||
|
"רביעי", |
||||
|
"חמישי", |
||||
|
"שישי", |
||||
|
"שבת" |
||||
|
], |
||||
|
"shortDays": ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "הורד SVG", |
||||
|
"exportToPNG": "הורד PNG", |
||||
|
"exportToCSV": "הורד CSV", |
||||
|
"menu": "תפריט", |
||||
|
"selection": "בחירה", |
||||
|
"selectionZoom": "זום בחירה", |
||||
|
"zoomIn": "הגדלה", |
||||
|
"zoomOut": "הקטנה", |
||||
|
"pan": "הזזה", |
||||
|
"reset": "איפוס תצוגה" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "hi", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"जनवरी", |
||||
|
"फ़रवरी", |
||||
|
"मार्च", |
||||
|
"अप्रैल", |
||||
|
"मई", |
||||
|
"जून", |
||||
|
"जुलाई", |
||||
|
"अगस्त", |
||||
|
"सितंबर", |
||||
|
"अक्टूबर", |
||||
|
"नवंबर", |
||||
|
"दिसंबर" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"जनवरी", |
||||
|
"फ़रवरी", |
||||
|
"मार्च", |
||||
|
"अप्रैल", |
||||
|
"मई", |
||||
|
"जून", |
||||
|
"जुलाई", |
||||
|
"अगस्त", |
||||
|
"सितंबर", |
||||
|
"अक्टूबर", |
||||
|
"नवंबर", |
||||
|
"दिसंबर" |
||||
|
], |
||||
|
"days": [ |
||||
|
"रविवार", |
||||
|
"सोमवार", |
||||
|
"मंगलवार", |
||||
|
"बुधवार", |
||||
|
"गुरुवार", |
||||
|
"शुक्रवार", |
||||
|
"शनिवार" |
||||
|
], |
||||
|
"shortDays": ["रवि", "सोम", "मंगल", "बुध", "गुरु", "शुक्र", "शनि"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "निर्यात SVG", |
||||
|
"exportToPNG": "निर्यात PNG", |
||||
|
"exportToCSV": "निर्यात CSV", |
||||
|
"menu": "सूची", |
||||
|
"selection": "चयन", |
||||
|
"selectionZoom": "ज़ूम करना", |
||||
|
"zoomIn": "ज़ूम इन", |
||||
|
"zoomOut": "ज़ूम आउट", |
||||
|
"pan": "पैनिंग", |
||||
|
"reset": "फिर से कायम करना" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "hr", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"Siječanj", |
||||
|
"Veljača", |
||||
|
"Ožujak", |
||||
|
"Travanj", |
||||
|
"Svibanj", |
||||
|
"Lipanj", |
||||
|
"Srpanj", |
||||
|
"Kolovoz", |
||||
|
"Rujan", |
||||
|
"Listopad", |
||||
|
"Studeni", |
||||
|
"Prosinac" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Sij", |
||||
|
"Velj", |
||||
|
"Ožu", |
||||
|
"Tra", |
||||
|
"Svi", |
||||
|
"Lip", |
||||
|
"Srp", |
||||
|
"Kol", |
||||
|
"Ruj", |
||||
|
"Lis", |
||||
|
"Stu", |
||||
|
"Pro" |
||||
|
], |
||||
|
"days": [ |
||||
|
"Nedjelja", |
||||
|
"Ponedjeljak", |
||||
|
"Utorak", |
||||
|
"Srijeda", |
||||
|
"Četvrtak", |
||||
|
"Petak", |
||||
|
"Subota" |
||||
|
], |
||||
|
"shortDays": ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Preuzmi SVG", |
||||
|
"exportToPNG": "Preuzmi PNG", |
||||
|
"exportToCSV": "Preuzmi CSV", |
||||
|
"menu": "Izbornik", |
||||
|
"selection": "Odabir", |
||||
|
"selectionZoom": "Odabirno povećanje", |
||||
|
"zoomIn": "Uvećajte prikaz", |
||||
|
"zoomOut": "Umanjite prikaz", |
||||
|
"pan": "Pomicanje", |
||||
|
"reset": "Povratak na zadani prikaz" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,64 @@ |
|||||
|
{ |
||||
|
"name": "hu", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"január", |
||||
|
"február", |
||||
|
"március", |
||||
|
"április", |
||||
|
"május", |
||||
|
"június", |
||||
|
"július", |
||||
|
"augusztus", |
||||
|
"szeptember", |
||||
|
"október", |
||||
|
"november", |
||||
|
"december" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"jan", |
||||
|
"feb", |
||||
|
"mar", |
||||
|
"ápr", |
||||
|
"máj", |
||||
|
"jún", |
||||
|
"júl", |
||||
|
"aug", |
||||
|
"szept", |
||||
|
"okt", |
||||
|
"nov", |
||||
|
"dec" |
||||
|
], |
||||
|
"days": [ |
||||
|
"hétfő", |
||||
|
"kedd", |
||||
|
"szerda", |
||||
|
"csütörtök", |
||||
|
"péntek", |
||||
|
"szombat", |
||||
|
"vasárnap" |
||||
|
], |
||||
|
"shortDays": [ |
||||
|
"H", |
||||
|
"K", |
||||
|
"Sze", |
||||
|
"Cs", |
||||
|
"P", |
||||
|
"Szo", |
||||
|
"V" |
||||
|
], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Exportálás SVG-be", |
||||
|
"exportToPNG": "Exportálás PNG-be", |
||||
|
"exportToCSV": "Exportálás CSV-be", |
||||
|
"menu": "Fő ajánlat", |
||||
|
"download": "SVG letöltése", |
||||
|
"selection": "Kiválasztás", |
||||
|
"selectionZoom": "Nagyító kiválasztása", |
||||
|
"zoomIn": "Nagyítás", |
||||
|
"zoomOut": "Kicsinyítés", |
||||
|
"pan": "Képcsúsztatás", |
||||
|
"reset": "Nagyító visszaállítása" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "hy", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"Հունվար", |
||||
|
"Փետրվար", |
||||
|
"Մարտ", |
||||
|
"Ապրիլ", |
||||
|
"Մայիս", |
||||
|
"Հունիս", |
||||
|
"Հուլիս", |
||||
|
"Օգոստոս", |
||||
|
"Սեպտեմբեր", |
||||
|
"Հոկտեմբեր", |
||||
|
"Նոյեմբեր", |
||||
|
"Դեկտեմբեր" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Հնվ", |
||||
|
"Փտվ", |
||||
|
"Մրտ", |
||||
|
"Ապր", |
||||
|
"Մյս", |
||||
|
"Հնս", |
||||
|
"Հլիս", |
||||
|
"Օգս", |
||||
|
"Սեպ", |
||||
|
"Հոկ", |
||||
|
"Նոյ", |
||||
|
"Դեկ" |
||||
|
], |
||||
|
"days": [ |
||||
|
"Կիրակի", |
||||
|
"Երկուշաբթի", |
||||
|
"Երեքշաբթի", |
||||
|
"Չորեքշաբթի", |
||||
|
"Հինգշաբթի", |
||||
|
"Ուրբաթ", |
||||
|
"Շաբաթ" |
||||
|
], |
||||
|
"shortDays": ["Կիր", "Երկ", "Երք", "Չրք", "Հնգ", "Ուրբ", "Շբթ"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Բեռնել SVG", |
||||
|
"exportToPNG": "Բեռնել PNG", |
||||
|
"exportToCSV": "Բեռնել CSV", |
||||
|
"menu": "Մենյու", |
||||
|
"selection": "Ընտրված", |
||||
|
"selectionZoom": "Ընտրված հատվածի խոշորացում", |
||||
|
"zoomIn": "Խոշորացնել", |
||||
|
"zoomOut": "Մանրացնել", |
||||
|
"pan": "Տեղափոխում", |
||||
|
"reset": "Բերել սկզբնական վիճակի" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,47 @@ |
|||||
|
{ |
||||
|
"name": "id", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"Januari", |
||||
|
"Februari", |
||||
|
"Maret", |
||||
|
"April", |
||||
|
"Mei", |
||||
|
"Juni", |
||||
|
"Juli", |
||||
|
"Agustus", |
||||
|
"September", |
||||
|
"Oktober", |
||||
|
"November", |
||||
|
"Desember" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Jan", |
||||
|
"Feb", |
||||
|
"Mar", |
||||
|
"Apr", |
||||
|
"Mei", |
||||
|
"Jun", |
||||
|
"Jul", |
||||
|
"Agu", |
||||
|
"Sep", |
||||
|
"Okt", |
||||
|
"Nov", |
||||
|
"Des" |
||||
|
], |
||||
|
"days": ["Minggu", "Senin", "Selasa", "Rabu", "kamis", "Jumat", "Sabtu"], |
||||
|
"shortDays": ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Unduh SVG", |
||||
|
"exportToPNG": "Unduh PNG", |
||||
|
"exportToCSV": "Unduh CSV", |
||||
|
"menu": "Menu", |
||||
|
"selection": "Pilihan", |
||||
|
"selectionZoom": "Perbesar Pilihan", |
||||
|
"zoomIn": "Perbesar", |
||||
|
"zoomOut": "Perkecil", |
||||
|
"pan": "Geser", |
||||
|
"reset": "Atur Ulang Zoom" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "it", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"Gennaio", |
||||
|
"Febbraio", |
||||
|
"Marzo", |
||||
|
"Aprile", |
||||
|
"Maggio", |
||||
|
"Giugno", |
||||
|
"Luglio", |
||||
|
"Agosto", |
||||
|
"Settembre", |
||||
|
"Ottobre", |
||||
|
"Novembre", |
||||
|
"Dicembre" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"Gen", |
||||
|
"Feb", |
||||
|
"Mar", |
||||
|
"Apr", |
||||
|
"Mag", |
||||
|
"Giu", |
||||
|
"Lug", |
||||
|
"Ago", |
||||
|
"Set", |
||||
|
"Ott", |
||||
|
"Nov", |
||||
|
"Dic" |
||||
|
], |
||||
|
"days": [ |
||||
|
"Domenica", |
||||
|
"Lunedì", |
||||
|
"Martedì", |
||||
|
"Mercoledì", |
||||
|
"Giovedì", |
||||
|
"Venerdì", |
||||
|
"Sabato" |
||||
|
], |
||||
|
"shortDays": ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "Scarica SVG", |
||||
|
"exportToPNG": "Scarica PNG", |
||||
|
"exportToCSV": "Scarica CSV", |
||||
|
"menu": "Menu", |
||||
|
"selection": "Selezione", |
||||
|
"selectionZoom": "Seleziona Zoom", |
||||
|
"zoomIn": "Zoom In", |
||||
|
"zoomOut": "Zoom Out", |
||||
|
"pan": "Sposta", |
||||
|
"reset": "Reimposta Zoom" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "ja", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"1月", |
||||
|
"2月", |
||||
|
"3月", |
||||
|
"4月", |
||||
|
"5月", |
||||
|
"6月", |
||||
|
"7月", |
||||
|
"8月", |
||||
|
"9月", |
||||
|
"10月", |
||||
|
"11月", |
||||
|
"12月" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"1月", |
||||
|
"2月", |
||||
|
"3月", |
||||
|
"4月", |
||||
|
"5月", |
||||
|
"6月", |
||||
|
"7月", |
||||
|
"8月", |
||||
|
"9月", |
||||
|
"10月", |
||||
|
"11月", |
||||
|
"12月" |
||||
|
], |
||||
|
"days": [ |
||||
|
"日曜日", |
||||
|
"月曜日", |
||||
|
"火曜日", |
||||
|
"水曜日", |
||||
|
"木曜日", |
||||
|
"金曜日", |
||||
|
"土曜日" |
||||
|
], |
||||
|
"shortDays": ["日", "月", "火", "水", "木", "金", "土"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "SVGダウンロード", |
||||
|
"exportToPNG": "PNGダウンロード", |
||||
|
"exportToCSV": "CSVダウンロード", |
||||
|
"menu": "メニュー", |
||||
|
"selection": "選択", |
||||
|
"selectionZoom": "選択ズーム", |
||||
|
"zoomIn": "拡大", |
||||
|
"zoomOut": "縮小", |
||||
|
"pan": "パン", |
||||
|
"reset": "ズームリセット" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,55 @@ |
|||||
|
{ |
||||
|
"name": "ka", |
||||
|
"options": { |
||||
|
"months": [ |
||||
|
"იანვარი", |
||||
|
"თებერვალი", |
||||
|
"მარტი", |
||||
|
"აპრილი", |
||||
|
"მაისი", |
||||
|
"ივნისი", |
||||
|
"ივლისი", |
||||
|
"აგვისტო", |
||||
|
"სექტემბერი", |
||||
|
"ოქტომბერი", |
||||
|
"ნოემბერი", |
||||
|
"დეკემბერი" |
||||
|
], |
||||
|
"shortMonths": [ |
||||
|
"იან", |
||||
|
"თებ", |
||||
|
"მარ", |
||||
|
"აპრ", |
||||
|
"მაი", |
||||
|
"ივნ", |
||||
|
"ივლ", |
||||
|
"აგვ", |
||||
|
"სექ", |
||||
|
"ოქტ", |
||||
|
"ნოე", |
||||
|
"დეკ" |
||||
|
], |
||||
|
"days": [ |
||||
|
"კვირა", |
||||
|
"ორშაბათი", |
||||
|
"სამშაბათი", |
||||
|
"ოთხშაბათი", |
||||
|
"ხუთშაბათი", |
||||
|
"პარასკევი", |
||||
|
"შაბათი" |
||||
|
], |
||||
|
"shortDays": ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ"], |
||||
|
"toolbar": { |
||||
|
"exportToSVG": "გადმოქაჩე SVG", |
||||
|
"exportToPNG": "გადმოქაჩე PNG", |
||||
|
"exportToCSV": "გადმოქაჩე CSV", |
||||
|
"menu": "მენიუ", |
||||
|
"selection": "არჩევა", |
||||
|
"selectionZoom": "არჩეულის გადიდება", |
||||
|
"zoomIn": "გადიდება", |
||||
|
"zoomOut": "დაპატარაება", |
||||
|
"pan": "გადაჩოჩება", |
||||
|
"reset": "გადიდების გაუქმება" |
||||
|
} |
||||
|
} |
||||
|
} |
||||