diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..549e00a
--- /dev/null
+++ b/.gitignore
@@ -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/
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
new file mode 100644
index 0000000..cb28b0e
Binary files /dev/null and b/.mvn/wrapper/maven-wrapper.jar differ
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 0000000..2e76e18
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,2 @@
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.4/apache-maven-3.9.4-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
diff --git a/mvnw b/mvnw
new file mode 100644
index 0000000..66df285
--- /dev/null
+++ b/mvnw
@@ -0,0 +1,308 @@
+#!/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.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Apache Maven Wrapper startup batch script, version 3.2.0
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# 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
+ JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME
+ else
+ JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=$(java-config --jre-home)
+ fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -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 "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] &&
+ JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); 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 2>/dev/null; \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
+
+# 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/.." || exit 1; pwd)
+ fi
+ # end of workaround
+ done
+ printf '%s' "$(cd "$basedir" || exit 1; pwd)"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ # Remove \r in case we run on Windows within Git Bash
+ # and check out the repository with auto CRLF management
+ # enabled. Otherwise, we may read lines that are delimited with
+ # \r\n and produce $'-Xarg\r' rather than -Xarg due to word
+ # splitting rules.
+ tr -s '\r\n' ' ' < "$1"
+ fi
+}
+
+log() {
+ if [ "$MVNW_VERBOSE" = true ]; then
+ printf '%s\n' "$1"
+ fi
+}
+
+BASE_DIR=$(find_maven_basedir "$(dirname "$0")")
+if [ -z "$BASE_DIR" ]; then
+ exit 1;
+fi
+
+MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR
+log "$MAVEN_PROJECTBASEDIR"
+
+##########################################################################################
+# 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.
+##########################################################################################
+wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar"
+if [ -r "$wrapperJarPath" ]; then
+ log "Found $wrapperJarPath"
+else
+ log "Couldn't find $wrapperJarPath, downloading it ..."
+
+ if [ -n "$MVNW_REPOURL" ]; then
+ wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+ else
+ wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+ fi
+ while IFS="=" read -r key value; do
+ # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' )
+ safeValue=$(echo "$value" | tr -d '\r')
+ case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;;
+ esac
+ done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
+ log "Downloading from: $wrapperUrl"
+
+ if $cygwin; then
+ wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
+ fi
+
+ if command -v wget > /dev/null; then
+ log "Found wget ... using wget"
+ [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet"
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+ else
+ wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+ fi
+ elif command -v curl > /dev/null; then
+ log "Found curl ... using curl"
+ [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent"
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
+ else
+ curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
+ fi
+ else
+ log "Falling back to using Java to download"
+ javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaSource=$(cygpath --path --windows "$javaSource")
+ javaClass=$(cygpath --path --windows "$javaClass")
+ fi
+ if [ -e "$javaSource" ]; then
+ if [ ! -e "$javaClass" ]; then
+ log " - Compiling MavenWrapperDownloader.java ..."
+ ("$JAVA_HOME/bin/javac" "$javaSource")
+ fi
+ if [ -e "$javaClass" ]; then
+ log " - Running MavenWrapperDownloader.java ..."
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath"
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+# If specified, validate the SHA-256 sum of the Maven wrapper jar file
+wrapperSha256Sum=""
+while IFS="=" read -r key value; do
+ case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;;
+ esac
+done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
+if [ -n "$wrapperSha256Sum" ]; then
+ wrapperSha256Result=false
+ if command -v sha256sum > /dev/null; then
+ if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then
+ wrapperSha256Result=true
+ fi
+ elif command -v shasum > /dev/null; then
+ if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then
+ wrapperSha256Result=true
+ fi
+ else
+ echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available."
+ echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties."
+ exit 1
+ fi
+ if [ $wrapperSha256Result = false ]; then
+ echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2
+ echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2
+ echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2
+ exit 1
+ fi
+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 "$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
+
+# shellcheck disable=SC2086 # safe args
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ $MAVEN_DEBUG_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
new file mode 100644
index 0000000..95ba6f5
--- /dev/null
+++ b/mvnw.cmd
@@ -0,0 +1,205 @@
+@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 Apache Maven Wrapper startup batch script, version 3.2.0
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@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 WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+
+FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperUrl" SET WRAPPER_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 WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+ )
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %WRAPPER_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('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
+ "}"
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Finished downloading %WRAPPER_JAR%
+ )
+)
+@REM End of extension
+
+@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file
+SET WRAPPER_SHA_256_SUM=""
+FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B
+)
+IF NOT %WRAPPER_SHA_256_SUM%=="" (
+ powershell -Command "&{"^
+ "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^
+ "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^
+ " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^
+ " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^
+ " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^
+ " exit 1;"^
+ "}"^
+ "}"
+ if ERRORLEVEL 1 goto error
+)
+
+@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%
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..27ff558
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,266 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.3.4.RELEASE
+
+
+ com.dsic
+ gj_erp
+ 0.0.1-SNAPSHOT
+ gj_erp
+ gj_erp
+
+
+ 1.8
+
+
+
+
+ io.jsonwebtoken
+ jjwt
+ 0.6.0
+
+
+ com.microsoft.sqlserver
+ mssql-jdbc
+ runtime
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ org.projectlombok
+ lombok
+ 1.16.20
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
+
+ com.querydsl
+ querydsl-jpa
+
+
+ com.querydsl
+ querydsl-apt
+ provided
+
+
+
+
+ io.springfox
+ springfox-swagger2
+ 2.9.2
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ 2.9.2
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.3.2
+
+
+
+
+
+
+
+ com.baomidou
+ mybatis-plus-extension
+ 3.3.2
+
+
+ com.baomidou
+ mybatis-plus-generator
+ 3.3.2
+
+
+
+ com.github.jeffreyning
+ mybatisplus-plus
+ 1.5.1-RELEASE
+
+
+
+ org.apache.velocity
+ velocity-engine-core
+ 2.2
+
+
+
+
+ com.alibaba
+ fastjson
+ 1.2.83
+
+
+
+
+ com.alibaba
+ easyexcel
+ 2.2.7
+
+
+ org.apache.commons
+ commons-lang3
+ 3.0
+
+
+
+
+
+ org.apache.pdfbox
+ fontbox
+ 2.0.1
+
+
+ org.apache.pdfbox
+ pdfbox
+ 2.0.1
+
+
+
+ io.netty
+ netty-all
+ 4.1.52.Final
+
+
+
+ com.google.code.gson
+ gson
+
+
+
+
+ com.corundumstudio.socketio
+ netty-socketio
+ 1.7.23
+
+
+
+ cn.hutool
+ hutool-all
+ 5.8.15
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+
+
+ junit
+ junit
+ test
+
+
+ com.baomidou
+ mybatis-plus-extension
+ 3.4.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.apache.poi
+ poi
+ 4.0.0
+
+
+ org.apache.poi
+ poi-ooxml
+ 4.0.0
+
+
+ org.apache.poi
+ poi-ooxml-schemas
+ 4.0.0
+
+
+
+
+
+
+
+
+
+
+ org.modelmapper
+ modelmapper
+ 2.3.5
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.3.4.RELEASE
+
+
+ com.mysema.maven
+ apt-maven-plugin
+ 1.1.3
+
+
+ generate-sources
+
+ process
+
+
+ target/generated-sources
+ com.querydsl.apt.jpa.JPAAnnotationProcessor
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/com/dsic/gj_erp/GjErpApplication.java b/src/main/java/com/dsic/gj_erp/GjErpApplication.java
new file mode 100644
index 0000000..ddc7d95
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/GjErpApplication.java
@@ -0,0 +1,43 @@
+package com.dsic.gj_erp;
+
+import com.github.jeffreyning.mybatisplus.conf.EnableMPP;
+import com.querydsl.jpa.impl.JPAQueryFactory;
+import org.modelmapper.ModelMapper;
+import org.modelmapper.convention.MatchingStrategies;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import javax.persistence.EntityManager;
+
+@EnableMPP
+@SpringBootApplication
+@EnableSwagger2
+@MapperScan({"com.dsic.gj_erp.mapper"})
+public class GjErpApplication {
+
+ public static void main(String[] args) {
+
+ SpringApplication.run(GjErpApplication.class, args);
+ }
+ @Bean
+ public JPAQueryFactory jpaQueryFactory(EntityManager entityManager){
+ return new JPAQueryFactory(entityManager);
+ }
+
+ @Bean
+ public ModelMapper modelMapper() {
+ ModelMapper modelMapper = new ModelMapper();
+ /**
+ * 完全匹配
+ */
+ modelMapper.getConfiguration().setFullTypeMatchingRequired(true);
+ /**
+ * 匹配策略定义为严格
+ */
+ modelMapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT);
+ return modelMapper;
+ }
+}
diff --git a/src/main/java/com/dsic/gj_erp/Test.java b/src/main/java/com/dsic/gj_erp/Test.java
new file mode 100644
index 0000000..af24084
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/Test.java
@@ -0,0 +1,16 @@
+package com.dsic.gj_erp;
+
+import org.springframework.boot.SpringApplication;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class Test {
+ public static void main(String[] args) {
+ Pattern p = Pattern.compile(".*\\.xls");
+// 创建 Matcher 对象
+ Matcher m = p.matcher("s集团xls滚动计划——线表 - 副本.xls");
+
+ System.out.println(m.matches());
+ }
+}
diff --git a/src/main/java/com/dsic/gj_erp/annotation/AuthFunction.java b/src/main/java/com/dsic/gj_erp/annotation/AuthFunction.java
new file mode 100644
index 0000000..829bd5d
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/annotation/AuthFunction.java
@@ -0,0 +1,15 @@
+package com.dsic.gj_erp.annotation;
+
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(value = {ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface AuthFunction {
+
+ String[] CKDMS() default {};
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/annotation/Dict.java b/src/main/java/com/dsic/gj_erp/annotation/Dict.java
new file mode 100644
index 0000000..fe5688f
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/annotation/Dict.java
@@ -0,0 +1,32 @@
+package com.dsic.gj_erp.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 数据字典注解
+ *
+ * @author xhj
+ * @date 2021/1/18
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+
+public @interface Dict {
+
+ /**
+ * 字典类型
+ *
+ * @return
+ */
+ String dictCode();
+
+ /**
+ * 返回属性名
+ *
+ * @return
+ */
+ String dictText() default "";
+}
\ No newline at end of file
diff --git a/src/main/java/com/dsic/gj_erp/aspect/AuthFunctionAspect.java b/src/main/java/com/dsic/gj_erp/aspect/AuthFunctionAspect.java
new file mode 100644
index 0000000..567e594
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/aspect/AuthFunctionAspect.java
@@ -0,0 +1,60 @@
+package com.dsic.gj_erp.aspect;
+
+
+import com.dsic.gj_erp.annotation.AuthFunction;
+import com.dsic.gj_erp.exception.CustomException;
+import com.dsic.gj_erp.service.ApiService;
+import com.dsic.gj_erp.util.JwtUtil;
+import io.jsonwebtoken.Claims;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletRequest;
+
+@Aspect
+@Component
+public class AuthFunctionAspect {
+
+ @Autowired
+ private HttpServletRequest request;
+ @Autowired
+ private JwtUtil jwtUtil;
+ @Autowired
+ private ApiService apiService;
+
+
+ /**
+ * Controller层切点 注解拦截
+ */
+ @Pointcut("@annotation(authFunction) ")
+ public void doAuthFunction(AuthFunction authFunction) {
+ }
+
+
+ /**
+ * 功能权限认证
+ */
+ @Around("doAuthFunction(authFunction)")
+ public Object deBefore(ProceedingJoinPoint pjp, AuthFunction authFunction) throws Throwable {
+ String token = request.getHeader("token");
+ if (token == null) {
+ throw new CustomException(10105, jwtUtil.getHeader() + "不能为空!");
+ }
+ Claims claims = jwtUtil.getClaimByToken(token);
+ if (claims == null || jwtUtil.isTokenExpired(claims.getExpiration())) {
+ throw new CustomException(10106, jwtUtil.getHeader() + "失效,请重新登录!");
+ }
+ request.setAttribute("yhms",claims.get("yhms"));
+ request.setAttribute("yhdm", claims.getId());
+ request.setAttribute("zxtdm", claims.getSubject());
+ if (!apiService.hasPermission(claims.getId(), authFunction.CKDMS())) {
+ throw new CustomException(10104, "用户没有该菜单权限!");
+ }
+ return pjp.proceed();
+ }
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/aspect/DictAspect.java b/src/main/java/com/dsic/gj_erp/aspect/DictAspect.java
new file mode 100644
index 0000000..871ed97
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/aspect/DictAspect.java
@@ -0,0 +1,177 @@
+package com.dsic.gj_erp.aspect;
+
+import com.alibaba.fastjson.JSONObject;
+import com.dsic.gj_erp.annotation.Dict;
+import com.dsic.gj_erp.bean.ResultBean;
+import com.dsic.gj_erp.bean.sy.Dm_zhbmp;
+import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository;
+import com.dsic.gj_erp.util.ObjConvertUtils;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Field;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 数据字典切面
+ *
+ * @author xhj
+ * @date 2021/1/18
+ */
+@Aspect
+@Component
+@Slf4j
+public class DictAspect {
+
+ /**
+ * 字典后缀
+ */
+ private static String DICT_TEXT_SUFFIX = "Text";
+
+ @Autowired
+ private Dm_zhbmpRepository dm_zhbmpRepository;
+
+ /**
+ * 切点,切入 controller 包下面的所有方法
+ * 定义切入点表达式 execution (* com.demo.service.impl..*.*(..))
+ * 1、execution(): 表达式主体。
+ * 2.、方法修饰符 无
+ * 3、第一个*号:表示返回类型,*号表示所有的类型。
+ * 4、包名:表示需要拦截的包名,后面的两个句点表示当前包和当前包的所有子包,com.demo.service.impl包、子孙包下所有类的方法。
+ * 5、第二个*号:表示类名,*号表示所有的类。
+ * 6、*(..):最后这个星号表示方法名,*号表示所有的方法,后面括弧里面表示方法的参数,两个句点表示任何参数。
+ * 7、异常模式 不限
+ */
+ //@Pointcut("execution( * com.dsic.xzerp.controller..*.*Controller.*(..))")
+ @Pointcut("execution( * com.dsic.gj_erp.controller..*Controller.*Dict(..))")
+
+ public void dict() {
+
+ }
+
+
+ @Around("dict()")
+ public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
+ long time1 = System.currentTimeMillis();
+ Object result = pjp.proceed();
+ long time2 = System.currentTimeMillis();
+ log.info("获取JSON数据 耗时:" + (time2 - time1) + "ms");
+ long start = System.currentTimeMillis();
+ this.parseDictText(result);
+ long end = System.currentTimeMillis();
+ log.info("解析注入JSON数据 耗时" + (end - start) + "ms");
+ return result;
+ }
+ // 一个controller 返回多个是不好用的如果是map qukey 进行遍历
+ private void parseDictText(Object result) {
+ log.info("进到这里来了");
+ if (result instanceof ResultBean) {
+ List items = new ArrayList<>();
+ ResultBean rr = (ResultBean) result;
+ List listVo=null;
+ if ( rr.getData() instanceof Map){
+ listVo= (List) ((Map) rr.getData()).get("list");
+ }else if (rr.getData() instanceof List){
+ listVo= (List) rr.getData();
+ }
+
+ if (listVo!=null &&listVo.size()>0) {
+ List> list = (List>) rr.getData();
+ for (Object record : list) {
+ ObjectMapper mapper = new ObjectMapper();
+ String json = "{}";
+ try {
+ // 解决@JsonFormat注解解析不了的问题详见SysAnnouncement类的@JsonFormat
+ json = mapper.writeValueAsString(record);
+ } catch (JsonProcessingException e) {
+ log.error("Json解析失败:" + e);
+ }
+ JSONObject item = JSONObject.parseObject(json);
+ // 解决继承实体字段无法翻译问题
+ for (Field field : ObjConvertUtils.getAllFields(record)) {
+ //解决继承实体字段无法翻译问题
+ // 如果该属性上面有@Dict注解,则进行翻译
+ if (field.getAnnotation(Dict.class) != null) {
+ // 拿到注解的dictDataSource属性的值
+ String dictType = field.getAnnotation(Dict.class).dictCode();
+ // 拿到注解的dictText属性的值
+ String text = field.getAnnotation(Dict.class).dictText();
+ //获取当前带翻译的值
+ String key = String.valueOf(item.get(field.getName()));
+ //翻译字典值对应的text值
+ String textValue = translateDictValue(dictType, key);
+ // DICT_TEXT_SUFFIX的值为,是默认值:
+ // public static final String DICT_TEXT_SUFFIX = "_dictText";
+ // log.debug("字典Val: " + textValue);
+ // log.debug("翻译字典字段:" + field.getName() + DICT_TEXT_SUFFIX + ": " + textValue);
+ //如果给了文本名
+ if (!StringUtils.isBlank(text)) {
+ item.put(text, textValue);
+ } else {
+ // 走默认策略
+ item.put(field.getName() + DICT_TEXT_SUFFIX, textValue);
+ }
+ }
+ // date类型默认转换string格式化日期
+ if ("java.util.Date".equals(field.getType().getName())
+ && field.getAnnotation(JsonFormat.class) == null
+ && item.get(field.getName()) != null) {
+ SimpleDateFormat aDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ item.put(field.getName(), aDate.format(new Date((Long) item.get(field.getName()))));
+ }
+ }
+ items.add(item);
+ }
+ rr.setData(items);
+ }
+ }
+ }
+
+ /**
+ * 翻译字典文本
+ *
+ * @param dictType
+ * @param key
+ * @return
+ */
+ private String translateDictValue(String dictType, String key) {
+ if (ObjConvertUtils.isEmpty(key)) {
+ return null;
+ }
+ StringBuffer textValue = new StringBuffer();
+ String[] keys = key.split(",");
+ for (String k : keys) {
+ if (k.trim().length() == 0) {
+ continue;
+ }
+ /**
+ * 根据 dictCode 和 code 查询字典值,例如:dictCode:sex,code:1,返回:男
+ * 应该放在redis,提高响应速度
+ */
+// SysDictDetail dictData = dm_zhbmpRepository.getDictDataByTypeAndValue(dictType, key);
+ Dm_zhbmp dictData = dm_zhbmpRepository.findByBMLBAndBM(dictType,key);
+ //System.out.println("执行了");
+ if (dictData.getBmsm() != null) {
+ if (!"".equals(textValue.toString())) {
+ textValue.append(",");
+ }
+ textValue.append(dictData.getBmsm());
+ }
+ //log.info("数据字典翻译: 字典类型:{},当前翻译值:{},翻译结果:{}", dictType, k.trim(), dictData.getBMSM());
+ }
+ return textValue.toString();
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/dsic/gj_erp/bean/ResultBean.java b/src/main/java/com/dsic/gj_erp/bean/ResultBean.java
new file mode 100644
index 0000000..38ee347
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/ResultBean.java
@@ -0,0 +1,79 @@
+package com.dsic.gj_erp.bean;
+
+import java.io.Serializable;
+
+/**
+ * @author Jason.zhang
+ * @email jason_56@outlook.com
+ * @Descrption 统一http restful response
+ */
+public class ResultBean implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -7165615593336091195L;
+
+ private String message;
+ private boolean success;
+ private int status;
+ private T data;
+
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public T getData() {
+ return data;
+ }
+
+ public void setData(T data) {
+ this.data = data;
+ }
+
+ public ResultBean(boolean success, int status, String message) {
+ this.success = success;
+ this.status = status;
+ this.message=message;
+ }
+
+
+ public ResultBean() {
+ this.success = true;
+ this.status = 10000;
+ }
+
+ public ResultBean(T data) {
+ this.success = true;
+ this.status = 10000;
+ this.data = data;
+ }
+
+ public ResultBean(String message, T data) {
+ this.success = true;
+ this.status = 10000;
+ this.message =message;
+ this.data = data;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCbxxp.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCbxxp.java
new file mode 100644
index 0000000..2764610
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCbxxp.java
@@ -0,0 +1,102 @@
+package com.dsic.gj_erp.bean.jcsj;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-11
+ */
+@Data
+@Getter
+@Setter
+@EqualsAndHashCode(callSuper = false)
+@TableName("DM_CBXXP")
+@ApiModel(value="DmCbxxp对象", description="")
+public class DmCbxxp implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "船舶编码")
+ @TableId(value = "CBBM", type = IdType.ASSIGN_UUID)
+ private String cbbm;
+
+ @ApiModelProperty(value = "船舶名称")
+ @TableField("CBMC")
+ private String cbmc;
+
+ private String shry;
+
+ @TableField("YLZD4")
+ private Double ylzd4;
+
+ private String sCzbh;
+
+ @TableField("YLZD1")
+ private String ylzd1;
+
+ private String bz;
+
+ private String kgrq;
+
+ private String ckxszt;
+
+ private String pdrq;
+
+ private String pswcrq;
+
+ private String wgbs;
+
+ private String xgr;
+
+ @TableField("YLZD2")
+ private String ylzd2;
+
+ private String bzr;
+
+ private String xgrq;
+
+ private String drbz;
+
+ @TableField("YLZD5")
+ private Double ylzd5;
+
+ private String cjs;
+
+ private String zt;
+
+ private String cwfzbs;
+
+ @TableField("YLZD6")
+ private Double ylzd6;
+
+ private String xbz;
+
+ @TableField("YLZD3")
+ private String ylzd3;
+
+ private String xsrq;
+
+ private String bzrq;
+
+ private String qgwcrq;
+
+
+ @TableField(exist = false)
+ private String cbbm1;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplp.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplp.java
new file mode 100644
index 0000000..9492d96
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplp.java
@@ -0,0 +1,100 @@
+package com.dsic.gj_erp.bean.jcsj;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("DM_CZPLP")
+@ApiModel(value="DmCzplp对象", description="")
+public class DmCzplp implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "船号")
+ @TableField("DC_CH")
+ private String dcCh;
+
+ @TableField("TJRQ")
+ private String tjrq;
+
+ @TableField("BZ")
+ private String bz;
+
+ @TableField("APSZDR")
+ private String apszdr;
+
+ @TableField("YLZD6")
+ private Double ylzd6;
+
+ @TableField("YLZD3")
+ private String ylzd3;
+
+ @TableField("DC_PL_JY")
+ private String dcPlJy;
+
+ @TableField("LRR")
+ private String lrr;
+
+ @TableField("JSBS")
+ private String jsbs;
+
+ @TableField("DC_PL")
+ private String dcPl;
+
+ @TableField("YLZD1")
+ private String ylzd1;
+
+ @TableField("YLZD4")
+ private Double ylzd4;
+
+ @TableField("APSZDRQ")
+ private String apszdrq;
+
+ @TableField("DC_FD")
+ private String dcFd;
+
+ @TableField("YLZD2")
+ private String ylzd2;
+
+ @TableId(value = "ID", type = IdType.ASSIGN_UUID)
+ private String id;
+
+ @TableField("LRRQ")
+ private String lrrq;
+
+ private String scjhzt;
+
+ private String jhyxj;
+
+ @TableField("YLZD5")
+ private Double ylzd5;
+
+ @TableField("DC_CH_JY")
+ private String dcChJy;
+
+ @TableField("JSRQ")
+ private String jsrq;
+
+ @TableField("ZL")
+ private BigDecimal zl;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java
new file mode 100644
index 0000000..990f0d2
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/DmCzplpNew.java
@@ -0,0 +1,174 @@
+package com.dsic.gj_erp.bean.jcsj;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="DmCzplpNew对象", description="")
+public class DmCzplpNew implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "分段")
+ @TableField("DC_fd")
+ private String dcFd;
+
+ @ApiModelProperty(value = "船号")
+ @TableField("DC_CH")
+ private String dcCh;
+
+ @ApiModelProperty(value = "批量")
+ @TableField("DC_PL")
+ private String dcPl;
+
+ @ApiModelProperty(value = "重量")
+ @TableField("ZL")
+ private BigDecimal zl;
+
+ @ApiModelProperty(value = "录入人")
+ @TableField("LRR")
+ private String lrr;
+
+ @ApiModelProperty(value = "录入日期")
+ @TableField("LRRQ")
+ private String lrrq;
+
+ @ApiModelProperty(value = "备注")
+ @TableField("BZ")
+ private String bz;
+
+ @ApiModelProperty(value = "区域")
+ private String qy;
+
+ @ApiModelProperty(value = "总段号")
+ private String zdh;
+
+ @ApiModelProperty(value = "集团3月滚动期")
+ private String gdqJt;
+
+ @ApiModelProperty(value = "钢加结束(大组)1")
+ private String dzjsq;
+
+ @ApiModelProperty(value = "中日程(大组结束)")
+ private String dzjsqZrc;
+
+ @ApiModelProperty(value = "钢加结束(小组)1")
+ private String xzjsq;
+
+ @ApiModelProperty(value = "中日程(小组结束)")
+ private String xzjsqZrc;
+
+ @ApiModelProperty(value = "钢加开始1")
+ private String gjks;
+
+ @ApiModelProperty(value = "中日程(钢加开始)")
+ private String gjksZrc;
+
+ @ApiModelProperty(value = "订货期次")
+ private String dhqc;
+
+ @ApiModelProperty(value = "套料图下发1")
+ private String xfqTlt;
+
+ @ApiModelProperty(value = "套料图接收")
+ private String jsqTlt;
+
+ @ApiModelProperty(value = "板材领取表下发1")
+ private String xfqLqb;
+
+ @ApiModelProperty(value = "板材领取表接收")
+ private String jsqLqb;
+
+ @ApiModelProperty(value = "零件配套表下发")
+ private String xfqPtb;
+
+ @ApiModelProperty(value = "零件配套表接收")
+ private String jsqPtb;
+
+ @ApiModelProperty(value = "大组数量")
+ private BigDecimal slDz;
+
+ @ApiModelProperty(value = "小组数量")
+ private BigDecimal slXz;
+
+ @ApiModelProperty(value = "大组齐套日期")
+ private String qtqDz;
+
+ @ApiModelProperty(value = "小组齐套日期")
+ private String qtqXz;
+
+ @ApiModelProperty(value = "分段需求期")
+ private String fdxqq;
+
+ @ApiModelProperty(value = "实际配送期")
+ private String sjpsq;
+
+ @ApiModelProperty(value = "订货清单号")
+ private String dhqd;
+
+ @ApiModelProperty(value = "订货清单下发1")
+ private String xfqDhqd;
+
+ @ApiModelProperty(value = "实际订货日期")
+ private String sjdhrq;
+
+ @ApiModelProperty(value = "板材到齐")
+ private String bcdq;
+
+ @ApiModelProperty(value = "实际到货日期")
+ private String sjarrival;
+
+ @ApiModelProperty(value = "结算数据标识区域")
+ private String jsbs;
+
+ @ApiModelProperty(value = "状态:0:编辑1:提交2:审核")
+ private String zt;
+
+ private String xzjsqsm;
+
+ @TableId(value = "ID", type = IdType.ASSIGN_UUID)
+ private String id;
+
+ private String lsh;
+
+ private String xfqLqb1sm;
+
+ private String xfqTlt1;
+
+ private String dzjsq1;
+
+ private String xfqTltsm;
+
+ private String dzjsqsm;
+
+ private String gjks1;
+
+ private String xfqDhqd1;
+
+ private String gjkssm;
+
+ private String xzjsq1;
+
+ private String xfqDhqd1sm;
+
+ private String xfqLqb1;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java
new file mode 100644
index 0000000..d51e595
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmGcrl.java
@@ -0,0 +1,50 @@
+package com.dsic.gj_erp.bean.jcsj;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("Em_gcrl")
+@ApiModel(value="EmGcrl对象", description="")
+@Entity
+public class EmGcrl implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "序号")
+ @TableId(value = "xh", type = IdType.ASSIGN_UUID)
+ @Id
+ private String xh;
+
+ @ApiModelProperty(value = "年份")
+ private String nf;
+
+ @ApiModelProperty(value = "公历")
+ private String gl;
+
+ @ApiModelProperty(value = "休息日0 工作日1")
+ private String xxr;
+
+ @ApiModelProperty(value = "备注")
+ private String bz;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbcnp.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbcnp.java
new file mode 100644
index 0000000..d4a519d
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbcnp.java
@@ -0,0 +1,52 @@
+package com.dsic.gj_erp.bean.jcsj;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="EmSbcnp对象", description="")
+@TableName("em_sbcnp")
+//@Entity
+public class EmSbcnp implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "设备编号")
+ // @Id
+ @TableId(value = "SBBH", type = IdType.ASSIGN_UUID)
+ private String sbbh;
+
+ @ApiModelProperty(value = "设备名称")
+ @TableField("SBMC")
+ private String sbmc;
+
+ @ApiModelProperty(value = "产能")
+ private Double sbcn;
+
+ @ApiModelProperty(value = "产能单位(张/米/...)")
+ private String dw;
+
+ @ApiModelProperty(value = "产能单位时间(天 或小时)")
+ private String dwsj;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjbb.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjbb.java
new file mode 100644
index 0000000..0439c5d
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbjbb.java
@@ -0,0 +1,299 @@
+package com.dsic.gj_erp.bean.jcsj;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("EM_SBJBB")
+@ApiModel(value="EmSbjbb对象", description="")
+@Entity
+public class EmSbjbb implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+
+ @TableField("YLZD2")
+ private String ylzd2;
+
+ @ApiModelProperty(name = "szcs", notes = "所属部门")
+ @TableField("SZCS")
+ private String szcs;
+
+ @Id
+ @ApiModelProperty(name = "sbbh", notes = "设备编号")
+ @TableId(value = "SBBH", type = IdType.ASSIGN_UUID)
+ private String sbbh;
+
+ @TableField("SBCZ")
+ @ApiModelProperty(name = "sbcz", notes = "设备残值")
+ private Double sbcz;
+
+ @TableField("HTXH")
+ private Double htxh;
+
+ @TableField("SBGG")
+ @ApiModelProperty(name = "sbgg", notes = "设备规格")
+ private String sbgg;
+
+ @ApiModelProperty(name = "jyxx", notes = "检验信息")
+ private String jyxx;
+
+ @TableField("KXRQ")
+ private String kxrq;
+
+ @TableField("AZKSRQ")
+ private String azksrq;
+
+ @TableField("TSJSRQ")
+ private String tsjsrq;
+
+ @TableField("YXJY")
+ private String yxjy;
+
+ @TableField("SBKGNL")
+ @ApiModelProperty(name = "sbkgnl", notes = "设备能力")
+ private Double sbkgnl;
+
+ @TableField("EDSYSJDW")
+ @ApiModelProperty(name = "edsysjdw", notes = "额定使用时间单位")
+ private String edsysjdw;
+
+ @TableField("SBYSZT")
+ private String sbyszt;
+
+ @TableField("SBJG")
+ @ApiModelProperty(name = "sbjg", notes = "设备原值")
+ private Double sbjg;
+
+ @TableField("CD")
+ @ApiModelProperty(name = "cd", notes = "产地")
+ private String cd;
+
+ @TableField("ZDRY")
+ @ApiModelProperty(name = "zdry", notes = "制单人")
+ private String zdry;
+
+ @TableField("AZBJ")
+ private String azbj;
+
+ @TableField("JSR")
+ private String jsr;
+
+ @TableField("EDDXCS")
+ private String eddxcs;
+
+ @TableField("SBZL")
+ @ApiModelProperty(name = "sbzl", notes = "设备中类")
+ private String sbzl;
+
+ @TableField("GDZCBH")
+ @ApiModelProperty(name = "gdzcbh", notes = "固定资产编号")
+ private String gdzcbh;
+
+ @TableField("CCRQ")
+ @ApiModelProperty(name = "ccrq", notes = "出厂日期(yyyy/MM/dd)")
+ private String ccrq;
+
+ @TableField("AZDW")
+ private String azdw;
+
+ @TableField("JFBJ")
+ private String jfbj;
+
+ @ApiModelProperty(name = "azwz", notes = "安装位置")
+ private String azwz;
+
+ @TableField("TSDD")
+ private String tsdd;
+
+ @TableField("EDSYNX")
+ @ApiModelProperty(name = "edsynx", notes = "额定使用年限")
+ private String edsynx;
+
+ @TableField("SBMC")
+ @ApiModelProperty(name = "sbmc", notes = "设备名称")
+ private String sbmc;
+
+ @TableField("YLZD5")
+ private Double ylzd5;
+
+ @TableField("ZDSJ")
+ @ApiModelProperty(name = "zdsj", notes = "制单日期(yyyy/MM/dd)")
+ private String zdsj;
+
+ @TableField("TZDH")
+ private String tzdh;
+
+ @TableField("SBNL")
+ private String sbnl;
+
+ @TableField("ZCFL")
+ @ApiModelProperty(name = "zcfl", notes = "资产分类")
+ private String zcfl;
+
+ @TableField("KXYSBJ")
+ private String kxysbj;
+
+ @TableField("AZJSRQ")
+ private String azjsrq;
+
+ @TableField("TSR")
+ private String tsr;
+
+ @TableField("CZRY")
+ @ApiModelProperty(name = "czry", notes = "操作者")
+ private String czry;
+
+ @TableField("TSYSR")
+ private String tsysr;
+
+ @TableField("YLZD6")
+ private Double ylzd6;
+
+ @TableField("JLDW")
+ @ApiModelProperty(name = "jldw", notes = "计量单位")
+ private String jldw;
+
+ @TableField("WXCC")
+ @ApiModelProperty(name = "wxcc", notes = "外形尺寸")
+ private String wxcc;
+
+ @TableField("KXYSDW")
+ private String kxysdw;
+
+ @ApiModelProperty(name = "zzdw", notes = "制造单位")
+ @TableField("ZZDW")
+ private String zzdw;
+
+ @ApiModelProperty(name = "bz", notes = "备注")
+ @TableField("BZ")
+ private String bz;
+
+ @TableField("SBJFRQ")
+ private String sbjfrq;
+
+ @TableField("AZR")
+ private String azr;
+
+ @TableField("YLZD3")
+ private String ylzd3;
+
+ @TableField("GZZXBH")
+ private String gzzxbh;
+
+ @TableField("DHRQ")
+ private String dhrq;
+
+ @ApiModelProperty(name = "edgl", notes = "额定功率")
+ @TableField("EDGL")
+ private Double edgl;
+
+ @ApiModelProperty(name = "zjnx", notes = "折旧年限")
+ @TableField("ZJNX")
+ private String zjnx;
+
+ @TableField("AZDD")
+ private String azdd;
+
+ @ApiModelProperty(name = "tzsb", notes = "特种设备")
+ private String tzsb;
+
+ @TableField("GRRQ")
+ @ApiModelProperty(name = "grrq", notes = "购入日期")
+ private String grrq;
+
+ @TableField("SBZT")
+ @ApiModelProperty(name = "sbzt", notes = "设备状态")
+ private String sbzt;
+
+ @TableField("ZXS")
+ private Double zxs;
+
+ @TableField("TSJG")
+ private String tsjg;
+
+ @TableField("EDSYSJ")
+ @ApiModelProperty(name = "edsysj", notes = "额定使用时间")
+ private String edsysj;
+
+ @TableField("YLZD4")
+ private Double ylzd4;
+
+ @TableField("GZZXMC")
+ private String gzzxmc;
+
+ @TableField("KXDH")
+ private String kxdh;
+
+ @ApiModelProperty(name = "sbxh", notes = "设备型号")
+ @TableField("SBXH")
+ private String sbxh;
+
+ @ApiModelProperty(name = "gldw", notes = "额定功率单位")
+ @TableField("GLDW")
+ private String gldw;
+
+ @TableField("TZXH")
+ private Double tzxh;
+
+ @ApiModelProperty(name = "sbfl", notes = "设备大类")
+ @TableField("SBFL")
+ private String sbfl;
+
+ @ApiModelProperty(name = "gysbm", notes = "供应商")
+ @TableField("GYSBM")
+ private String gysbm;
+
+ @TableField("YSJL")
+ private String ysjl;
+
+ @TableField("TSYSBJ")
+ private String tsysbj;
+
+ @TableField("YLZD1")
+ private String ylzd1;
+
+ @TableField("GRHTBH")
+ private String grhtbh;
+
+ @ApiModelProperty(name = "sbxl", notes = "设备小类")
+ @TableField("SBXL")
+ private String sbxl;
+
+ @ApiModelProperty(name = "ccbh", notes = "出厂编号")
+ @TableField("CCBH")
+ private String ccbh;
+
+ @TableField("KXYSR")
+ private String kxysr;
+
+ @TableField("SBQYRQ")
+ private String sbqyrq;
+
+ @ApiModelProperty(name = "lgrq", notes = "列固日期")
+ private String lgrq;
+
+ @TableField("TSKSRQ")
+ private String tsksrq;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbrydyp.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbrydyp.java
new file mode 100644
index 0000000..73f8aa2
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbrydyp.java
@@ -0,0 +1,82 @@
+package com.dsic.gj_erp.bean.jcsj;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("EM_SBRYDYP")
+@ApiModel(value="EmSbrydyp对象", description="")
+@Entity
+@IdClass(EmSbrydyp.class)
+public class EmSbrydyp implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "设备名称")
+ @TableField("SBMC")
+ private String sbmc;
+
+ @Id
+ @TableId(value = "RYMC", type = IdType.ASSIGN_UUID)
+ @ApiModelProperty(value = "人员名称")
+ private String rymc;
+
+ @TableField("XGR")
+ private String xgr;
+
+ @TableField("YLZD4")
+ private Double ylzd4;
+
+ @TableField("JLRQ")
+ private String jlrq;
+
+ @TableField("YLZD1")
+ private String ylzd1;
+
+ @TableField("SBBH")
+ @Id
+ @ApiModelProperty(value = "设备编号")
+ private String sbbh;
+
+ @TableField("XGRQ")
+ private String xgrq;
+
+ @TableField("YLZD6")
+ private Double ylzd6;
+
+ @TableField("YLZD3")
+ private String ylzd3;
+
+ @TableField("JLR")
+ @ApiModelProperty(value = "负责人")
+ private String jlr;
+
+ @TableField("YLZD5")
+ private Double ylzd5;
+
+ @TableField("YLZD2")
+ private String ylzd2;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbwxjh.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbwxjh.java
new file mode 100644
index 0000000..ccec210
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/EmSbwxjh.java
@@ -0,0 +1,84 @@
+package com.dsic.gj_erp.bean.jcsj;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="EmSbwxjh对象", description="")
+@TableName("em_sbwxjh")
+//@Entity
+public class EmSbwxjh implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "设备编号")
+ @TableField("SBBH")
+ private String sbbh;
+
+ @ApiModelProperty(value = "设备名称")
+ @TableField("SBMC")
+ private String sbmc;
+
+ @ApiModelProperty(value = "设备型号")
+ @TableField("SBXH")
+ private String sbxh;
+
+ @ApiModelProperty(value = "设备规格")
+ @TableField("SBGG")
+ private String sbgg;
+
+ @ApiModelProperty(value = "所属部门")
+ @TableField("SZCS")
+ private String szcs;
+
+ @ApiModelProperty(value = "维修内容")
+ private String wxnr;
+
+ @ApiModelProperty(value = "计划开始时间(yyyy/MM/dd HH:mm:ss)")
+ // @TableField("kssj_jh")
+ private String kssjJh;
+
+ @ApiModelProperty(value = "计划结束时间(yyyy/MM/dd HH:mm:ss)")
+ // @TableField("jssj_jh")
+ private String jssjJh;
+
+ @ApiModelProperty(value = "实际开始时间(yyyy/MM/dd HH:mm:ss)")
+ private String kssjSj;
+
+ @ApiModelProperty(value = "实际结束时间(yyyy/MM/dd HH:mm:ss)")
+ private String jssjSj;
+
+ @ApiModelProperty(value = "状态 ")
+ private String zt;
+
+ @ApiModelProperty(value = "负责人")
+ private String fzr;
+
+ @ApiModelProperty(value = "备注")
+ private String bz;
+
+ // @Id
+ @TableId(value = "id", type = IdType.ASSIGN_UUID)
+ private String id;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jcsj/excel/PlExcel.java b/src/main/java/com/dsic/gj_erp/bean/jcsj/excel/PlExcel.java
new file mode 100644
index 0000000..55f6de0
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jcsj/excel/PlExcel.java
@@ -0,0 +1,233 @@
+package com.dsic.gj_erp.bean.jcsj.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="DmCzplpNew对象", description="")
+public class PlExcel implements Serializable {
+
+ private static final long serialVersionUID=1L;
+ @ApiModelProperty(value = "船号")
+ @ExcelProperty(index = 0)
+ private String dcCh;
+ @ApiModelProperty(value = "批量")
+ @ExcelProperty(index = 1)
+ private String dcPL;
+
+
+
+ @ApiModelProperty(value = "区域")
+ @ExcelProperty(index = 2)
+ private String qy;
+
+ @ApiModelProperty(value = "分段")
+ @ExcelProperty(index = 3)
+ private String dcFd1;
+
+
+
+
+ @ExcelProperty(index = 4)
+ private String dcFd2;
+ @ExcelProperty(index = 5)
+ private String dcFd3;
+ @ExcelProperty(index = 6)
+ private String dcFd4;
+ @ExcelProperty(index = 7)
+ private String dcFd5;
+ @ExcelProperty(index = 8)
+ private String dcFd6;
+ @ExcelProperty(index = 9)
+ private String dcFd7;
+ @ExcelProperty(index = 10)
+ private String dcFd8;
+
+
+
+ @ApiModelProperty(value = "总段号")
+ @ExcelProperty(index = 11)
+ private String zdh;
+
+ @ApiModelProperty(value = "重量")
+ @ExcelProperty(index = 12)
+ private BigDecimal zl;
+
+
+
+ @ApiModelProperty(value = "集团3月滚动期")
+ @ExcelProperty(index = 13)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String gdqJt;
+
+ @ApiModelProperty(value = "钢加结束(大组)1")
+ @ExcelProperty(index = 14)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String dzjsq;
+
+ @ApiModelProperty(value = "中日程(大组结束)")
+ @ExcelProperty(index = 15)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String dzjsqZrc;
+
+ @ApiModelProperty(value = "钢加结束(小组)1")
+ @ExcelProperty(index = 16)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String xzjsq;
+
+ @ApiModelProperty(value = "中日程(小组结束)")
+ @ExcelProperty(index = 17)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String xzjsqZrc;
+
+ @ApiModelProperty(value = "钢加开始1")
+ @ExcelProperty(index = 18)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String gjks;
+
+ @ApiModelProperty(value = "中日程(钢加开始)")
+ @ExcelProperty(index = 19)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String gjksZrc;
+
+ @ApiModelProperty(value = "订货期次")
+ @ExcelProperty(index = 20)
+ private String dhqc;
+
+ @ApiModelProperty(value = "套料图下发1")
+ @ExcelProperty(index = 21)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String xfqTlt;
+
+ @ApiModelProperty(value = "套料图接收")
+ @ExcelProperty(index = 22)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String jsqTlt;
+
+ @ApiModelProperty(value = "板材领取表下发1")
+ @ExcelProperty(index = 23)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String xfqLqb;
+
+ @ApiModelProperty(value = "板材领取表接收")
+ @ExcelProperty(index = 24)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String jsqLqb;
+
+ @ApiModelProperty(value = "零件配套表下发")
+ @ExcelProperty(index = 25)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String xfqPtb;
+
+ @ApiModelProperty(value = "零件配套表接收")
+ @ExcelProperty(index = 26)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String jsqPtb;
+
+ @ApiModelProperty(value = "大组数量")
+ @ExcelProperty(index = 27)
+ private BigDecimal slDz;
+
+ @ApiModelProperty(value = "小组数量")
+ @ExcelProperty(index = 28)
+ private BigDecimal slXz;
+
+ @ApiModelProperty(value = "大组齐套日期")
+ @ExcelProperty(index = 29)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String qtqDz;
+
+ @ApiModelProperty(value = "小组齐套日期")
+ @ExcelProperty(index = 30)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String qtqXz;
+
+ @ApiModelProperty(value = "分段需求期")
+ @ExcelProperty(index = 31)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String fdxqq;
+
+ @ApiModelProperty(value = "实际配送期")
+ @ExcelProperty(index = 32)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String sjpsq;
+
+ @ApiModelProperty(value = "订货清单号")
+ @ExcelProperty(index = 33)
+ private String dhqd;
+
+ @ApiModelProperty(value = "订货清单下发1")
+ @ExcelProperty(index = 34)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String xfqDhqd;
+
+ @ApiModelProperty(value = "实际订货日期")
+ @ExcelProperty(index = 35)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String sjdhrq;
+
+ @ApiModelProperty(value = "板材到齐")
+ @ExcelProperty(index = 36)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String bcdq;
+
+ @ApiModelProperty(value = "实际到货日期")
+ @ExcelProperty(index = 37)
+ @DateTimeFormat("yyyy/MM/dd")
+ private String sjarrival;
+
+ @ApiModelProperty(value = "结算数据标识区域")
+ @ExcelProperty(index = 38)
+ private String jsbs;
+
+// @ApiModelProperty(value = "状态:0:编辑1:提交2:审核")
+// private String zt;
+//
+// private String xzjsqsm;
+//
+// private String id;
+//
+// private String xfqLqb1sm;
+//
+// private String xfqTlt1;
+//
+// private String dzjsq1;
+//
+// private String xfqTltsm;
+//
+// private String dzjsqsm;
+//
+// private String gjks1;
+//
+// private String xfqDhqd1;
+//
+// private String gjkssm;
+//
+// private String xzjsq1;
+//
+// private String xfqDhqd1sm;
+//
+// private String xfqLqb1;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java
new file mode 100644
index 0000000..1e32b79
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmDhqdp.java
@@ -0,0 +1,90 @@
+package com.dsic.gj_erp.bean.jhgk;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("Dm_dhqdp")
+@ApiModel(value="DmDhqdp对象", description="")
+public class DmDhqdp implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "船号")
+ @TableField("DC_CH")
+ private String dcCh;
+
+ @ApiModelProperty(value = "订货清单号")
+ private String qdh;
+
+ @ApiModelProperty(value = "期次")
+ private String qc;
+
+ @ApiModelProperty(value = " 材质")
+ @TableField("WPXH")
+ private String wpxh;
+
+ @ApiModelProperty(value = "厚度mm")
+ private Double thickness;
+
+ @ApiModelProperty(value = "宽度mm")
+ private Double width;
+
+ @ApiModelProperty(value = "长度mm")
+ private Double length;
+
+ @ApiModelProperty(value = "重量吨/张")
+ private Double weight;
+
+ @ApiModelProperty(value = "设计数量张")
+ private Double sjsl;
+
+ @ApiModelProperty(value = "裕量张")
+ private Double yl;
+
+ @ApiModelProperty(value = "总数量张")
+ private Double zsl;
+
+ @ApiModelProperty(value = "总重量吨")
+ private Double zzl;
+
+ @ApiModelProperty(value = "利库数量张")
+ private Double lksl;
+
+ @ApiModelProperty(value = "利库重量吨")
+ private Double lkzl;
+
+ @ApiModelProperty(value = "实订数量张")
+ private Double sdzs;
+
+ @ApiModelProperty(value = "实订重量吨")
+ private Double sdzl;
+
+ @ApiModelProperty(value = "备注")
+ private String bz;
+
+ @ApiModelProperty(value = "状态; 0编辑1提交2审核;默认为0;")
+ private String zt;
+
+ @TableId(value = "id", type = IdType.ASSIGN_UUID)
+ private String id;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmJgxywryb.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmJgxywryb.java
new file mode 100644
index 0000000..da8d28b
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmJgxywryb.java
@@ -0,0 +1,63 @@
+package com.dsic.gj_erp.bean.jhgk;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("DM_JGXYWRYB")
+@ApiModel(value="DmJgxywryb对象", description="")
+public class DmJgxywryb implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @TableField("YLZD4")
+ private Double ylzd4;
+
+ @TableField("YLZD1")
+ private String ylzd1;
+
+ @TableId(value = "ZXTBM", type = IdType.ASSIGN_UUID)
+ private String zxtbm;
+
+ @TableField("YLZD2")
+ private String ylzd2;
+
+ @TableField("RYBM")
+ private String rybm;
+
+ @TableField("YLZD5")
+ private Double ylzd5;
+
+ @TableField("SSBM")
+ private String ssbm;
+
+ @TableField("JGFLM")
+ private String jgflm;
+
+ @TableField("YLZD3")
+ private String ylzd3;
+
+ @TableField("RYMC")
+ private String rymc;
+
+ @TableField("YLZD6")
+ private Double ylzd6;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmJtsyjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmJtsyjh.java
new file mode 100644
index 0000000..0fb01dc
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmJtsyjh.java
@@ -0,0 +1,67 @@
+package com.dsic.gj_erp.bean.jhgk;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="DmJtsyjh对象", description="")
+@TableName("dm_jtsyjh")
+@Entity
+public class DmJtsyjh implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "船号")
+ @TableField("DC_CH")
+ private String dcCh;
+
+ @ApiModelProperty(value = "批量")
+ @TableField("DC_PL")
+ private String dcPl;
+
+ @ApiModelProperty(value = "分段")
+ @TableField("DC_FD")
+ private String dcFd;
+
+ @ApiModelProperty(value = "计划期")
+ private String jhrq;
+
+ @ApiModelProperty(value = "备注")
+ private String bz;
+
+ @ApiModelProperty(value = "编制人")
+ private String bzy;
+
+ @ApiModelProperty(value = "编制日期")
+ private String bzrq;
+
+ @ApiModelProperty(value = "状态; 0未提交1已提交;默认为0;")
+ private String zt;
+
+ @Id
+ @TableId(value = "xh", type = IdType.ASSIGN_UUID)
+ private String xh;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygd.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygd.java
new file mode 100644
index 0000000..9436670
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygd.java
@@ -0,0 +1,145 @@
+package com.dsic.gj_erp.bean.jhgk;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="DmSygd对象", description="")
+public class DmSygd implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "产品")
+ private String dcCh1;
+
+ @ApiModelProperty(value = "目标船只")
+ private String dcCh2;
+
+ @ApiModelProperty(value = "本船只")
+ private String dcCh3;
+
+ @ApiModelProperty(value = "批量")
+ private String dcPl;
+
+ @ApiModelProperty(value = "分段")
+ private String dcFd;
+
+ @ApiModelProperty(value = "板数")
+ private Double bs;
+
+ @ApiModelProperty(value = "到货数量")
+ private Double dhsl;
+
+ @ApiModelProperty(value = "在途数量")
+ private Double ztsl;
+
+ @ApiModelProperty(value = "生产下发期")
+ private String scxfq;
+
+ @ApiModelProperty(value = "型材抛丸")
+ private String xcpw;
+
+ @ApiModelProperty(value = "根数")
+ private Double gs;
+
+ @ApiModelProperty(value = "抛丸")
+ private String pw;
+
+ @ApiModelProperty(value = "坡口切割结束")
+ private String pkjs1;
+
+ @ApiModelProperty(value = "二垮数控板数")
+ private Double skbs1;
+
+ @ApiModelProperty(value = "数控切割开始")
+ private String skks1;
+
+ @ApiModelProperty(value = "坡口长度")
+ private Double pkcd1;
+
+ @ApiModelProperty(value = "坡口切割结束")
+ private String pkjs2;
+
+ @ApiModelProperty(value = "三垮数控板数")
+ private Double skbs2;
+
+ @ApiModelProperty(value = "数控切割开始")
+ private String skks2;
+
+ @ApiModelProperty(value = "坡口长度")
+ private Double pkcd2;
+
+ @ApiModelProperty(value = "坡口切割结束")
+ private String pkjs3;
+
+ @ApiModelProperty(value = "三垮平铁板数")
+ private Double ptbs;
+
+ @ApiModelProperty(value = "平铁切割开始")
+ private String ptks;
+
+ @ApiModelProperty(value = "平铁切割结束")
+ private String ptjs;
+
+ @ApiModelProperty(value = "曲平铁转结束")
+ private String qptzjs;
+
+ @ApiModelProperty(value = "曲平铁结束")
+ private String qptjs;
+
+ @ApiModelProperty(value = "曲外板结束")
+ private String qwbjs;
+
+ @ApiModelProperty(value = "组立")
+ private String zl;
+
+ @ApiModelProperty(value = "数控 板数")
+ private Double skbs3;
+
+ @ApiModelProperty(value = "数控切割开始")
+ private String skks3;
+
+ @ApiModelProperty(value = "坡口长度")
+ private Double pkcd3;
+
+ @ApiModelProperty(value = "坡口切割结束")
+ private String pkjs4;
+
+ @ApiModelProperty(value = "面板挤边")
+ private String mbjb;
+
+ @ApiModelProperty(value = "七垮型材米数")
+ private Double xcms;
+
+ @ApiModelProperty(value = "型材面板")
+ private String xcmb;
+
+ @ApiModelProperty(value = "分段需求")
+ private String fdxqq;
+
+ @ApiModelProperty(value = "光电 结束")
+ private String gdjs;
+
+ @ApiModelProperty(value = "备注")
+ private String bz;
+
+ @TableId(value = "id", type = IdType.ASSIGN_UUID)
+ private String id;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java
new file mode 100644
index 0000000..8363f2d
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmSygdMx.java
@@ -0,0 +1,213 @@
+package com.dsic.gj_erp.bean.jhgk;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="DmSygdMx对象", description="")
+public class DmSygdMx implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "产品")
+ private String dcCh1;
+
+ @ApiModelProperty(value = "目标船只")
+ private String dcCh2;
+
+ @ApiModelProperty(value = "本船只")
+ private String dcCh3;
+
+ @ApiModelProperty(value = "批量")
+ private String dcPl;
+
+ @ApiModelProperty(value = "分段")
+ private String dcFd;
+
+ @ApiModelProperty(value = "类型")
+ @TableField("LQLB")
+ private String lqlb;
+
+ @ApiModelProperty(value = "板数")
+ private Double bs;
+
+ @ApiModelProperty(value = "套料图号")
+ private String tzbh;
+
+ @ApiModelProperty(value = "集团计划期")
+ private String jtjhq;
+
+ @ApiModelProperty(value = "分段需求期")
+ private String fdxqq;
+
+ @ApiModelProperty(value = "规格")
+ private String wpgg;
+
+ @ApiModelProperty(value = "材质")
+ private String wpxh;
+
+ @ApiModelProperty(value = "到货数量")
+ private Double dhsl;
+
+ @ApiModelProperty(value = "在途数量")
+ private Double ztsl;
+
+ @ApiModelProperty(value = "生产下发期")
+ private String scxfq;
+
+ @ApiModelProperty(value = "长度(毫米)")
+ private Double cd;
+
+ @ApiModelProperty(value = "面积(平方米)")
+ private Double mj;
+
+ @ApiModelProperty(value = "抛丸计划完工")
+ private String jhwgPw;
+
+ @ApiModelProperty(value = "施工单位")
+ @TableField("ZZCJ")
+ private String zzcj;
+
+ @ApiModelProperty(value = "理料")
+ private String llrq;
+
+ @ApiModelProperty(value = "划线长度(米)")
+ private Double hxcd;
+
+ @ApiModelProperty(value = "切割长度(米)")
+ private Double qgcd;
+
+ @ApiModelProperty(value = "板厚(毫米)")
+ private Double bh;
+
+ @ApiModelProperty(value = "曲标识")
+ private String qbs;
+
+ @ApiModelProperty(value = "坡口标识")
+ private String pkbs;
+
+ @ApiModelProperty(value = "打磨标识")
+ private String dmbs;
+
+ @ApiModelProperty(value = "一垮龙门板数")
+ private Double lm1k;
+
+ @ApiModelProperty(value = "一垮龙门完工")
+ private String wg1klm;
+
+ @ApiModelProperty(value = "一垮数控板数")
+ private Double lksk;
+
+ @ApiModelProperty(value = "一垮数控完工")
+ private String wgLksk;
+
+ @ApiModelProperty(value = "坡口长度")
+ private Double pkcd;
+
+ @ApiModelProperty(value = "坡口计划完工")
+ private String jhwgPk;
+
+ @ApiModelProperty(value = "二垮数控板数")
+ private Double lm2k;
+
+ @ApiModelProperty(value = "二垮数控完工")
+ private String wg2klm;
+
+ @ApiModelProperty(value = "坡口长度")
+ private Double pkcd2;
+
+ @ApiModelProperty(value = "坡口计划完工")
+ private String jhwgPk2;
+
+ @ApiModelProperty(value = "三垮数控板数")
+ private Double lm3k;
+
+ @ApiModelProperty(value = "三垮数控完工")
+ private String wg3klm;
+
+ @ApiModelProperty(value = "坡口长度")
+ private Double pkcd3;
+
+ @ApiModelProperty(value = "坡口计划完工")
+ private String jhwgPk3;
+
+ @ApiModelProperty(value = "三垮平铁板数")
+ private Double pt3k;
+
+ @ApiModelProperty(value = "三垮平铁完工")
+ private String wg3kpt;
+
+ @ApiModelProperty(value = "零件面积")
+ private Double ljmj;
+
+ @ApiModelProperty(value = "零件数量")
+ private Double ljsl;
+
+ @ApiModelProperty(value = "曲平铁转结束")
+ private String qptzjs;
+
+ @ApiModelProperty(value = "曲平铁结束")
+ private String qptjs;
+
+ @ApiModelProperty(value = "曲外板结束")
+ private String qwbjs;
+
+ @ApiModelProperty(value = "组立")
+ private String zl;
+
+ @ApiModelProperty(value = "数控 板数")
+ private Double skbs3;
+
+ @ApiModelProperty(value = "数控切割开始")
+ private String skks3;
+
+ @ApiModelProperty(value = "坡口长度")
+ private Double pkcd4;
+
+ @ApiModelProperty(value = "坡口切割结束")
+ private String pkjs4;
+
+ @ApiModelProperty(value = "面板挤边")
+ private String mbjb;
+
+ @ApiModelProperty(value = "七垮型材米数")
+ private Double xcms;
+
+ @ApiModelProperty(value = "型材面板")
+ private String xcmb;
+
+ @ApiModelProperty(value = "分段需求")
+ private String fdxq;
+
+ @ApiModelProperty(value = "光电 结束")
+ private String gdjs;
+
+ @ApiModelProperty(value = "备注")
+ private String bz;
+
+ @ApiModelProperty(value = "状态")
+ private String zt;
+
+ private String parentId;
+
+ @TableId(value = "id", type = IdType.ASSIGN_UUID)
+ private String id;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmTzjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmTzjh.java
new file mode 100644
index 0000000..0a3eb43
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmTzjh.java
@@ -0,0 +1,71 @@
+package com.dsic.gj_erp.bean.jhgk;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="DmTzjh对象", description="")
+//@Entity
+@TableName("dm_tzjh")
+public class DmTzjh implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "批量")
+ @TableField("DC_PL")
+ private String dcPl;
+
+ @ApiModelProperty(value = "图名")
+ @TableField("DC_FD")
+ private String dcFd;
+
+ @ApiModelProperty(value = "船名")
+ @TableField("DC_CH")
+ private String dcCh;
+
+ @ApiModelProperty(value = "套料图下发")
+ private String xfqTlt;
+
+ @ApiModelProperty(value = "套料图接收")
+ private String jsqTlt;
+
+ @ApiModelProperty(value = "板材领取表下发")
+ private String xfqLqb;
+
+ @ApiModelProperty(value = "板材领取表接收")
+ private String jsqLqb;
+
+ @ApiModelProperty(value = "零件配套表下发")
+ private String xfqPtb;
+
+ @ApiModelProperty(value = "零件配套表接收")
+ private String jsqPtb;
+
+ @ApiModelProperty(value = "状态;0未审核1已审核;默认为0;")
+ private String zt;
+
+// @Id
+ @TableId(value = "id", type = IdType.ASSIGN_UUID)
+ private String id;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java
new file mode 100644
index 0000000..8eb06e8
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java
@@ -0,0 +1,95 @@
+package com.dsic.gj_erp.bean.jhgk;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="DmXbjh对象", description="")
+@Entity
+@TableName("dm_xbjh")
+public class DmXbjh implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ExcelProperty("学生编号")
+ @ApiModelProperty(value = "状态; 0未提交1已提交;默认为0;")
+ private String zt;
+
+ @ExcelProperty("学生编号")
+ @ApiModelProperty(value = "2023年01月的 产量,后面字段以此类推")
+ private Double cl202301;
+
+ @ExcelProperty("学生编号")
+ private Double cl202405;
+
+ private Double cl202411;
+
+ private Double cl202303;
+
+ private Double cl202408;
+
+ private Double cl202402;
+
+ private Double cl202306;
+
+ private Double cl202407;
+
+ private Double cl202501;
+
+ @Id
+ @TableId(value = "dc_ch", type = IdType.ASSIGN_UUID)
+ private String dcCh;
+
+ private Double cl202311;
+
+ private Double cl202305;
+
+ private Double cl202410;
+
+ private Double cl202308;
+
+ private Double cl202302;
+
+ private Double cl202307;
+
+ private Double cl202401;
+
+ private Double cl202404;
+
+ private Double cl202412;
+
+ private Double cl202310;
+
+ private Double cl202304;
+
+ private Double cl202409;
+
+ private Double cl202403;
+
+ private Double cl202309;
+
+ private Double cl202406;
+
+ private Double cl202312;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java
new file mode 100644
index 0000000..81ec2c5
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmZrcjh.java
@@ -0,0 +1,152 @@
+package com.dsic.gj_erp.bean.jhgk;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="DmZrcjh对象", description="")
+public class DmZrcjh implements Serializable {
+
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "船号")
+ @TableField("DC_CH")
+ private String dcCh;
+
+ @ApiModelProperty(value = "区域")
+ private String qy;
+
+ @ApiModelProperty(value = "总段号")
+ private String zdh;
+
+ @ApiModelProperty(value = "预组段")
+ private String yzd;
+
+ @ApiModelProperty(value = "分段号")
+ @TableField("DC_FD")
+ private String dcFd;
+
+ @ApiModelProperty(value = "重量")
+ @TableField("ZL")
+ private Double zl;
+
+ @ApiModelProperty(value = "批量号")
+ @TableField("DC_PL")
+ private String dcPl;
+
+ @ApiModelProperty(value = "大组开始")
+ private String kssjDz;
+
+ @ApiModelProperty(value = "钢加大组结束")
+ private String gjjsDz;
+
+ @ApiModelProperty(value = "小组结束")
+ private String jssjXz;
+
+ @ApiModelProperty(value = "小组周期")
+ private String xzzq;
+
+ @ApiModelProperty(value = "小组开始")
+ private String kssjXz;
+
+ @ApiModelProperty(value = "线表重量")
+ private Double xbzl;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "批量表(钢加大组结束)")
+ private String gjjsDzPl;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "时间差(L-P)")
+ private String sjcLp;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "钢加小组结束")
+ private String gjjsXz;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "批量表(钢加小组结束)")
+ private String gjjsXzPl;
+
+ @ApiModelProperty(value = "时间差(R-S)")
+ private String sjcRs;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "钢加开始")
+ private String gjks;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "批量表(钢加开始)")
+ private String gjksPl;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "时间差(U-V)")
+ private String sjcUv;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "套料图下发")
+ private String xfqTlt;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "套料图接收")
+ private String jsqTlt;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "板材领取表下发")
+ private String xfqLqb;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "板材领取表接收")
+ private String jsqLqb;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "零件配套表下发")
+ private String xfqPtb;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "零件配套表接收")
+ private String jsqPtb;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "订货清单号")
+ private String dhqd;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "订货清单下发")
+ private String xfqDhqd;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "实际订货日期")
+ private String sjdhq;
+
+ @ExcelIgnore
+ @ApiModelProperty(value = "板材计划到齐")
+ private String bcdq;
+
+ @ApiModelProperty(value = "状态; 0编辑1提交2审核;默认为0;")
+// @ExcelField(value = "状态")
+ private String zt;
+
+ @TableId(value = "xh", type = IdType.ASSIGN_UUID)
+// @ExcelField(value = "序号")
+ private String xh;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/request/EmSbjbbBean.java b/src/main/java/com/dsic/gj_erp/bean/request/EmSbjbbBean.java
new file mode 100644
index 0000000..14bbb69
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/request/EmSbjbbBean.java
@@ -0,0 +1,14 @@
+package com.dsic.gj_erp.bean.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class EmSbjbbBean {
+ @ApiModelProperty(value = "设备编号")
+ private String sbbh;
+ @ApiModelProperty(value = "所属部门")
+ private String szcs;
+ @ApiModelProperty(value = "供应商")
+ private String gysbm;
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/request/EmSbwxjhBean.java b/src/main/java/com/dsic/gj_erp/bean/request/EmSbwxjhBean.java
new file mode 100644
index 0000000..2fbc4d1
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/request/EmSbwxjhBean.java
@@ -0,0 +1,14 @@
+package com.dsic.gj_erp.bean.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class EmSbwxjhBean {
+ @ApiModelProperty(value = "设备编号")
+ private String sbbh;
+ @ApiModelProperty(value = "计划开始时间yyyy/MM/dd")
+ private String beginTime;
+ @ApiModelProperty(value = "计划结束时间yyyy/MM/dd")
+ private String endTime;
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/request/LoginBean.java b/src/main/java/com/dsic/gj_erp/bean/request/LoginBean.java
new file mode 100644
index 0000000..037b030
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/request/LoginBean.java
@@ -0,0 +1,17 @@
+package com.dsic.gj_erp.bean.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class LoginBean {
+
+ @NotNull(message = "用户名不能为空")
+ private String yhdm;
+ private String pwd;
+ private String zxtbm;
+ private String jgdm;
+ private String ckdm;
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/request/ModifyPasswordBean.java b/src/main/java/com/dsic/gj_erp/bean/request/ModifyPasswordBean.java
new file mode 100644
index 0000000..396ec99
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/request/ModifyPasswordBean.java
@@ -0,0 +1,14 @@
+package com.dsic.gj_erp.bean.request;
+
+
+import lombok.Data;
+
+@Data
+public class ModifyPasswordBean {
+
+ private String yhdm;
+ private String oldpwd;
+ private String newpwd;
+
+}
+
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/DmBhdyp.java b/src/main/java/com/dsic/gj_erp/bean/sy/DmBhdyp.java
new file mode 100644
index 0000000..cb2e6ec
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/DmBhdyp.java
@@ -0,0 +1,63 @@
+package com.dsic.gj_erp.bean.sy;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-08
+ */
+@Data
+@TableName("DM_BHDYP")
+@Entity
+public class DmBhdyp implements Serializable {
+
+ /**
+ * 单据代码
+ */
+ @TableField("BMDM")
+ private String bmdm;
+
+ @TableField("BMSX")
+ private String bmsx;
+
+ @Id
+ private String jgm;
+
+ @TableField("YLZD2")
+ private String ylzd2;
+
+ @TableField("YLZD5")
+ private Double ylzd5;
+
+ @TableField("YLZD6")
+ private Double ylzd6;
+
+ @TableField("BMMC")
+ private String bmmc;
+
+ @TableField("YLZD3")
+ private String ylzd3;
+
+ @TableField("YLZD4")
+ private Double ylzd4;
+
+ @TableField("ZXTBM")
+ private String zxtbm;
+
+ @TableField("YLZD1")
+ private String ylzd1;
+
+ @TableField("BMQZ")
+ private String bmqz;
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/DmBhsjp.java b/src/main/java/com/dsic/gj_erp/bean/sy/DmBhsjp.java
new file mode 100644
index 0000000..219050f
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/DmBhsjp.java
@@ -0,0 +1,58 @@
+package com.dsic.gj_erp.bean.sy;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author xn
+ * @since 2023-09-08
+ */
+@Data
+@TableName("DM_BHSJP")
+@Entity
+public class DmBhsjp implements Serializable {
+
+ @Id
+ private String bmqz;
+
+ @TableField("ZXTBM")
+ private String zxtbm;
+
+ @TableField("YLZD2")
+ private String ylzd2;
+
+ @TableField("YLZD5")
+ private Double ylzd5;
+
+ @TableField("JGM")
+ private String jgm;
+
+ @TableField("YLZD6")
+ private Double ylzd6;
+
+ @TableField("BMSXH")
+ private String bmsxh;
+
+ @TableField("YLZD3")
+ private String ylzd3;
+
+ @TableField("YLZD1")
+ private String ylzd1;
+
+ @TableField("YLZD4")
+ private Double ylzd4;
+
+ @TableField("BMMC")
+ private String bmmc;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/DmBhzyb.java b/src/main/java/com/dsic/gj_erp/bean/sy/DmBhzyb.java
new file mode 100644
index 0000000..40eeabc
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/DmBhzyb.java
@@ -0,0 +1,20 @@
+package com.dsic.gj_erp.bean.sy;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+@Data
+@TableName("DM_BHZYB")
+@Entity
+public class DmBhzyb implements Serializable {
+
+
+ @Id
+ private String bhzyb;
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/Dm_zhbmlbp.java b/src/main/java/com/dsic/gj_erp/bean/sy/Dm_zhbmlbp.java
new file mode 100644
index 0000000..0b1810a
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/Dm_zhbmlbp.java
@@ -0,0 +1,30 @@
+package com.dsic.gj_erp.bean.sy;
+
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.math.BigDecimal;
+@ApiModel("综合编码类别表")
+@Entity
+@Table(name = "dm_zhbmlbp")
+@Data
+public class Dm_zhbmlbp {
+
+ @Id
+ private String BMLB;
+ private String LBMC;
+ private String ZXTBM;
+ private BigDecimal BMCD;
+ private String YLZD1;
+ private String YLZD2;
+ private String YLZD3;
+ private BigDecimal YLZD4;
+ private BigDecimal YLZD5;
+ private BigDecimal YLZD6;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/Dm_zhbmp.java b/src/main/java/com/dsic/gj_erp/bean/sy/Dm_zhbmp.java
new file mode 100644
index 0000000..bb95905
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/Dm_zhbmp.java
@@ -0,0 +1,71 @@
+package com.dsic.gj_erp.bean.sy;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+@ApiModel("综合编码表")
+@Entity
+@Table(name = "dm_zhbmp")
+@Data
+@IdClass(Dm_zhbmp.PrimaryKey.class)
+public class Dm_zhbmp {
+
+
+ private String BMLB;
+ @Id
+ private String BM;
+
+ private String bmsm;
+
+ @TableField("DZBS")
+ private String dzbs;
+
+ @TableField("TJGSBS")
+ private String tjgsbs;
+
+ @TableField("YLZD3")
+ private String ylzd3;
+
+ @TableField("ZXHCSJ")
+ private Double zxhcsj;
+
+ @TableField("YLZD2")
+ private String ylzd2;
+
+ @TableField("SZBZ")
+ private Double szbz;
+
+ @TableField("YLZD5")
+ private Double ylzd5;
+
+
+ @TableField("YLZD4")
+ private Double ylzd4;
+
+ @TableField("YLZD1")
+ private String ylzd1;
+
+ @TableField("ZFBZ")
+ private String zfbz;
+
+ @TableField("YLZD6")
+ private Double ylzd6;
+
+ @TableField("YSBL")
+ private Double ysbl;
+
+
+ @Data
+ public static class PrimaryKey implements Serializable {
+
+ private String BM;
+
+ }
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/Syfunp.java b/src/main/java/com/dsic/gj_erp/bean/sy/Syfunp.java
new file mode 100644
index 0000000..445666a
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/Syfunp.java
@@ -0,0 +1,43 @@
+package com.dsic.gj_erp.bean.sy;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.math.BigDecimal;
+@ApiModel("菜单功能表")
+@Entity
+@Table(name = "syfunp")
+@Data
+@IdClass(Syfunp.PrimaryKey.class)
+public class Syfunp {
+
+ private String CKDM;
+ @Id
+ private String MS;
+ private String GNLX;
+ @Id
+ private String ZXTBM;
+ private String CKCS;
+ @Id
+ private String GNLB;
+ private String YLZD1;
+ private String YLZD2;
+ private String YLZD3;
+ private BigDecimal YLZD4;
+ private BigDecimal YLZD5;
+ private BigDecimal YLZD6;
+
+ @Data
+ public static class PrimaryKey implements Serializable {
+
+ private String MS;
+ private String ZXTBM;
+ private String GNLB;
+
+ }
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/Syifrp.java b/src/main/java/com/dsic/gj_erp/bean/sy/Syifrp.java
new file mode 100644
index 0000000..0b32f56
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/Syifrp.java
@@ -0,0 +1,48 @@
+package com.dsic.gj_erp.bean.sy;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.Table;
+import java.io.Serializable;
+@ApiModel("工作组功能菜单中间表")
+@Entity
+@Table(name = "syifrp")
+@Data
+@IdClass(Syifrp.PrimaryKey.class)
+public class Syifrp {
+
+ @Id
+ @JsonProperty
+ private String GWDM;
+ @Id
+ @JsonProperty
+ private String MS;
+ @Id
+ @JsonProperty
+ private String ZXTBM;
+ @Id
+ @JsonProperty
+ private String GNLB;
+ @JsonProperty
+ private String CKDM;
+ private String YLZD1;
+ private String YLZD2;
+ private String YLZD3;
+ private String YLZD4;
+ private String YLZD5;
+
+ @Data
+ public static class PrimaryKey implements Serializable {
+ private String GWDM;
+ private String MS;
+ private String ZXTBM;
+ private String GNLB;
+ }
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/Syigrp.java b/src/main/java/com/dsic/gj_erp/bean/sy/Syigrp.java
new file mode 100644
index 0000000..88249df
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/Syigrp.java
@@ -0,0 +1,46 @@
+package com.dsic.gj_erp.bean.sy;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.math.BigDecimal;
+@ApiModel("工作组权限分组中间表")
+@Entity
+@Table(name = "syigrp")
+@Data
+@IdClass(Syigrp.PrimaryKey.class)
+public class Syigrp {
+
+ @Id
+ @JsonProperty
+ private String GWDM;
+ @Id
+ @JsonProperty
+ private String FZDM;
+ @Id
+ @JsonProperty
+ private String ZXTDM;
+ private String YLZD1;
+ private String YLZD2;
+ private String YLZD3;
+ private BigDecimal YLZD4;
+ private BigDecimal YLZD5;
+ private BigDecimal YLZD6;
+
+
+
+ @Data
+ public static class PrimaryKey implements Serializable {
+
+ private String GWDM;
+ private String FZDM;
+ private String ZXTDM;
+
+ }
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/Syimrp.java b/src/main/java/com/dsic/gj_erp/bean/sy/Syimrp.java
new file mode 100644
index 0000000..fa79408
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/Syimrp.java
@@ -0,0 +1,38 @@
+package com.dsic.gj_erp.bean.sy;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.math.BigDecimal;
+@ApiModel("工作组子系统中间表")
+@Entity
+@Table(name = "syimrp")
+@Data
+@IdClass(Syimrp.PrimaryKey.class)
+public class Syimrp {
+
+ @Id
+ @JsonProperty
+ private String GWDM;
+ @Id
+ @JsonProperty
+ private String ZXTBM;
+ private String YLZD1;
+ private String YLZD2;
+ private String YLZD3;
+ private BigDecimal YLZD4;
+ private BigDecimal YLZD5;
+ private BigDecimal YLZD6;
+
+ @Data
+ public static class PrimaryKey implements Serializable {
+ private String GWDM;
+ private String ZXTBM;
+ }
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/Sysysp.java b/src/main/java/com/dsic/gj_erp/bean/sy/Sysysp.java
new file mode 100644
index 0000000..4af57fe
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/Sysysp.java
@@ -0,0 +1,25 @@
+package com.dsic.gj_erp.bean.sy;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+@ApiModel("子系统表")
+@Entity
+@Table(name = "sysysp")
+@Data
+public class Sysysp {
+
+ @Id
+ private String ZXTDM;
+ private String ZXTMS;
+ private String YLZD1;
+ private String YLZD2;
+ private String YLZD3;
+ private String YLZD4;
+ private String YLZD5;
+ private String YLZD6;
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/Syuirp.java b/src/main/java/com/dsic/gj_erp/bean/sy/Syuirp.java
new file mode 100644
index 0000000..f2e470f
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/Syuirp.java
@@ -0,0 +1,47 @@
+package com.dsic.gj_erp.bean.sy;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@ApiModel("工作组用户中间表")
+@Entity
+@Table(name = "syuirp")
+@Data
+@IdClass(Syuirp.PrimaryKey.class)
+public class Syuirp {
+
+ @Id
+ @JsonProperty(value="GWDM")
+ private String GWDM;
+ @Id
+ @JsonProperty(value="YHDM")
+ private String YHDM;
+ @JsonProperty(value="MS")
+ private String MS;
+ private String YLZD1;
+ private String YLZD2;
+ private String YLZD3;
+ private BigDecimal YLZD4;
+ private BigDecimal YLZD5;
+ private BigDecimal YLZD6;
+
+
+
+ @Data
+ public static class PrimaryKey implements Serializable {
+
+ private String GWDM;
+ private String YHDM;
+
+
+ }
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/Syuserp.java b/src/main/java/com/dsic/gj_erp/bean/sy/Syuserp.java
new file mode 100644
index 0000000..aa6424a
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/Syuserp.java
@@ -0,0 +1,38 @@
+package com.dsic.gj_erp.bean.sy;
+
+import com.dsic.gj_erp.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.math.BigDecimal;
+
+@ApiModel("用户表")
+@Entity
+@Table(name = "SYUSERP")
+@Data
+public class Syuserp {
+ @ApiModelProperty(value="用户代码")
+ @Id
+ private String YHDM;
+ @ApiModelProperty(value="用户名")
+ private String YHMS;
+ @ApiModelProperty(value="密码")
+ private String PWD;
+ @ApiModelProperty(value="部门编码")
+ @Dict(dictCode = "bmbm")
+ private String BMBM;
+ @ApiModelProperty(value="审批权限")
+ private String YLZD1;
+ @ApiModelProperty(value="职号")
+ private String YLZD2;
+ private String YLZD3;
+ private BigDecimal YLZD4;
+ private BigDecimal YLZD5;
+ private BigDecimal YLZD6;
+ private String SJBS;
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/Syworkgp.java b/src/main/java/com/dsic/gj_erp/bean/sy/Syworkgp.java
new file mode 100644
index 0000000..179a348
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/Syworkgp.java
@@ -0,0 +1,61 @@
+package com.dsic.gj_erp.bean.sy;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.math.BigDecimal;
+@ApiModel("工作组表")
+@Entity
+@Table(name = "syworkgp")
+@Data
+public class Syworkgp {
+
+
+ @Id
+ private String JKDBM;
+ private String JKDMC;
+ private String YLZD1;
+ private String YLZD2;
+ private String YLZD3;
+ private BigDecimal YLZD4;
+ private BigDecimal YLZD5;
+ private BigDecimal YLZD6;
+
+ @JsonProperty(value="gwbm")
+ public String getJKDBM() {
+ return JKDBM;
+ }
+
+ @JsonProperty(value="gwbm")
+ public void setJKDBM(String JKDBM) {
+ this.JKDBM = JKDBM;
+ }
+
+
+ @JsonProperty(value="gwmc")
+ public String getJKDMC() {
+ return JKDMC;
+ }
+ @JsonProperty(value="gwmc")
+ public void setJKDMC(String JKDMC) {
+ this.JKDMC = JKDMC;
+ }
+
+// @ManyToMany(cascade = CascadeType.REMOVE,fetch = FetchType.LAZY)
+// @JoinTable(name = "syimrp",joinColumns = @JoinColumn(name="GWDM",referencedColumnName = "JKDBM"),inverseJoinColumns = @JoinColumn(name = "ZXTBM",referencedColumnName = "ZXTDM"))
+// private List sysysp;
+//
+// @ManyToMany(cascade = CascadeType.REMOVE,fetch = FetchType.LAZY)
+// @JoinTable(name = "syifrp",joinColumns = @JoinColumn(name="GWDM",referencedColumnName = "JKDBM"),inverseJoinColumns ={ @JoinColumn(name = "ZXTBM",referencedColumnName = "ZXTBM"),@JoinColumn(name = "MS",referencedColumnName = "MS"),@JoinColumn(name = "GNLB",referencedColumnName = "GNLB")})
+// private List syfunp;
+
+// @ManyToMany(cascade = CascadeType.REMOVE,fetch = FetchType.LAZY)
+// @JoinTable(name = "Syi",joinColumns = @JoinColumn(name="GWDM",referencedColumnName = "JKDBM"),inverseJoinColumns = @JoinColumn(name = "MS",referencedColumnName = "MS"))
+// private List zhbmp;
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/bean/sy/User.java b/src/main/java/com/dsic/gj_erp/bean/sy/User.java
new file mode 100644
index 0000000..adc317e
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/sy/User.java
@@ -0,0 +1,9 @@
+package com.dsic.gj_erp.bean.sy;
+
+import lombok.Data;
+
+@Data
+public class User {
+ private String yhdm;
+ private String yhms;
+}
diff --git a/src/main/java/com/dsic/gj_erp/controller/ApiController.java b/src/main/java/com/dsic/gj_erp/controller/ApiController.java
new file mode 100644
index 0000000..44d2e62
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/controller/ApiController.java
@@ -0,0 +1,61 @@
+package com.dsic.gj_erp.controller;
+
+import com.dsic.gj_erp.annotation.AuthFunction;
+import com.dsic.gj_erp.bean.ResultBean;
+import com.dsic.gj_erp.bean.request.LoginBean;
+import com.dsic.gj_erp.bean.sy.User;
+import com.dsic.gj_erp.exception.CustomException;
+import com.dsic.gj_erp.mapper.SyuserMapper;
+import com.dsic.gj_erp.service.ApiService;
+import com.dsic.gj_erp.service.sy.SYService;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+@Api(tags = "系统级API")
+@RestController
+@Validated
+@RequestMapping(value = "/api",method= RequestMethod.POST)
+public class ApiController {
+
+ @Autowired
+ ApiService apiService;
+ @Autowired
+ private SyuserMapper syuserMapper;
+ @Autowired
+ SYService syService;
+ @RequestMapping(value = "/login")
+ public ResultBean login(@RequestBody @Validated LoginBean loginBean) throws CustomException {
+// List list=new ArrayList<>();
+// for (int i = 0; i < 10; i++) {
+// String a= syService.f_getpjh("DM","DM","CZPL");
+// System.out.println(a);
+// list.add(a);
+// }
+// System.out.println(list);
+// //
+
+ return new ResultBean(apiService.userLogin(loginBean));
+ }
+
+ @AuthFunction
+ @RequestMapping(value = "/getInfo")
+ public ResultBean getInfo(HttpServletRequest request) {
+ String yhdm = (String) request.getAttribute("yhdm");
+ String zxtdm = (String) request.getAttribute("zxtdm");
+//
+ Map map= apiService.getInfo(yhdm);
+ map.put("menu", syuserMapper.getUserMenu(yhdm, zxtdm));
+ return new ResultBean(map);
+ }
+
+
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/controller/SYController.java b/src/main/java/com/dsic/gj_erp/controller/SYController.java
new file mode 100644
index 0000000..d346f38
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/controller/SYController.java
@@ -0,0 +1,271 @@
+package com.dsic.gj_erp.controller;
+
+
+import com.dsic.gj_erp.annotation.AuthFunction;
+import com.dsic.gj_erp.bean.ResultBean;
+import com.dsic.gj_erp.bean.sy.*;
+import com.dsic.gj_erp.service.sy.SYService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Api(tags = "系统管理")
+@RestController
+@RequestMapping(value = "/api/sy", method= RequestMethod.POST)
+public class SYController {
+
+ @Autowired
+ SYService syService;
+
+// @Autowired
+// MpZzdwjbbService mpZzdwjbbService;
+// @Autowired
+// QcJyxmpMapper qcJyxmpMapper;
+
+
+ //@AuthFunction(XTMC = "系统安全",MKMC = "用户管理",GNMC = "工作组维护",XTBM = "SY",CKDM = "w_gzzdy")
+
+ @ApiOperation(value = "获取工作组列表")
+ @RequestMapping(value = "/getWorkGroupList")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "yhdm", value = "用户代码", required = false, paramType = "query", dataType = "String"),
+ })
+ public ResultBean getWorkGroupList(@RequestBody Map paramMap) {
+ String yhdm = (String) paramMap.get("yhdm");
+// return new ResultBean(syService.getWorkGroupList(yhdm));
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "添加工作组")
+ @RequestMapping(value = "/addWorkGroup")
+ public ResultBean addWorkGroup(@RequestBody Syworkgp syworkgp) {
+ return new ResultBean(syService.addWordGroup(syworkgp));
+ }
+
+ @ApiOperation(value = "删除工作组")
+ @RequestMapping(value = "/deleteWorkGroup")
+ public ResultBean deleteWorkGroup(@RequestBody Syworkgp syworkgp) {
+ syService.deleteWorkGroup(syworkgp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "更新工作组")
+ @RequestMapping(value = "/updateWorkGroup")
+ public ResultBean updateWorkGroup(@RequestBody Syworkgp[] syworkgp) {
+ syService.updateWorkGroup(syworkgp[0], syworkgp[1]);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "获取用户列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "gwdm", value = "工作组代码", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "sort", value = "排序方式", required = false, paramType = "query", dataType = "Integer" ,defaultValue = "0"),
+ })
+ @AuthFunction(CKDMS = {"w_gzzdy", "w_yhdy"})
+ @RequestMapping(value = "/getUserList")
+ public ResultBean getUserList(@RequestBody Map paramMap) {
+ String gwdm = (String) paramMap.get("gwdm");
+ Integer sort = paramMap.get("sort") == null ? 0 : (Integer) paramMap.get("sort");
+ return new ResultBean(syService.getUserList(gwdm, sort));
+ }
+
+ @ApiOperation(value = "根据菜单功能获取用户列表")
+ @RequestMapping(value = "/getUserListByFunc")
+ public ResultBean getUserListByFunc(@RequestBody Syifrp syifrp) {
+ return new ResultBean(syService.getUserListByFunc(syifrp));
+ }
+
+ @ApiOperation(value = "添加用户信息")
+ @RequestMapping(value = "/addUser")
+ public ResultBean addUser(@RequestBody Syuserp syuserp) {
+ syService.addUser(syuserp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "删除用户信息")
+ @RequestMapping(value = "/deleteUser")
+ public ResultBean deleteUser(@RequestBody Syuserp syuserp) {
+ syService.deleteUser(syuserp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "更新用户信息")
+ @RequestMapping(value = "/updateUser")
+ public ResultBean updateUser(@RequestBody Syuserp[] syuserp) {
+ syService.updateUser(syuserp[0], syuserp[1]);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "添加用户到工作组")
+ @RequestMapping(value = "/addWorkGroupUser")
+ public ResultBean addWorkGroupUser(@RequestBody List syuirp) {
+ syService.addWorkGroupUser(syuirp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "从工作组删除用户")
+ @RequestMapping(value = "/deleteWorkGroupUser")
+ public ResultBean deleteWorkGroupUser(@RequestBody List syuirp) {
+ syService.deleteWorkGroupUser(syuirp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "获取权限分组列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "gwdm", value = "工作组代码", required = false, paramType = "query", dataType = "String",defaultValue = ""),
+ })
+ @RequestMapping(value = "/getFzList")
+ public ResultBean getFzqxList(@RequestBody Map paramMap) {
+ String gwdm = (String) paramMap.get("gwdm");
+ return new ResultBean(syService.getFzqxList(gwdm));
+ }
+
+ @ApiOperation(value = "添加权限分组到工作组")
+ @RequestMapping(value = "/addWorkGroupFz")
+ public ResultBean addWorkGroupFz(@RequestBody List syigrp) {
+ syService.addWorkGroupFz(syigrp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "从工作组删除分组权限")
+ @RequestMapping(value = "/deleteWorkGroupFz")
+ public ResultBean deleteWorkGroupFz(@RequestBody List syigrp) {
+ syService.deleteWorkGroupFz(syigrp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "获取子系统权限")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "gwdm", value = "工作组代码", required = false, paramType = "query", dataType = "String",defaultValue = ""),
+ })
+ @RequestMapping(value = "/getZxtList")
+ public ResultBean getZxtList(@RequestBody Map paramMap) {
+ String gwdm = (String) paramMap.get("gwdm");
+ return new ResultBean(syService.getZxtList(gwdm));
+ }
+
+ @ApiOperation(value = "添加子系统权限到工作组")
+ @RequestMapping(value = "/addWorkGroupZxt")
+ public ResultBean addWorkGroupZxt(@RequestBody List syismrp) {
+ syService.addWorkGroupZxt(syismrp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "从工作组删除子系统权限")
+ @RequestMapping(value = "/deleteWorkGroupZxt")
+ public ResultBean deleteWorkGroupZxt(@RequestBody List syimrp) {
+ syService.deleteWorkGroupZxt(syimrp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "获取用户综合编码")
+ @RequestMapping(value = "/getUserZHBM")
+ public ResultBean getUserZHBM() {
+ return new ResultBean(syService.getUserZHBM());
+ }
+
+
+ @ApiOperation(value = "获取菜单功能")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "gwdm", value = "工作组代码", required = false, paramType = "query", dataType = "String",defaultValue = ""),
+ })
+ @RequestMapping(value = "/getFuncList")
+ public ResultBean getFuncList(@RequestBody Map paramMap) {
+ Integer type = (Integer) paramMap.get("type");
+ String gwdm = (String) paramMap.get("gwdm");
+ return new ResultBean(syService.getFuncList(type, gwdm));
+ }
+
+ @ApiOperation(value = "添加功能菜单")
+ @RequestMapping(value = "/addFunc")
+ public ResultBean addFunc(@RequestBody Syfunp syfunp) {
+ syService.addFunc(syfunp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "删除功能菜单")
+ @RequestMapping(value = "/deleteFunc")
+ public ResultBean deleteFunc(@RequestBody Syfunp syfunp) {
+ syService.deleteFunc(syfunp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "更新功能菜单")
+ @RequestMapping(value = "/updateFunc")
+ public ResultBean updateFunc(@RequestBody Syfunp[] syfunp) {
+ syService.updateFunc(syfunp[0], syfunp[1]);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "添加功能菜单到工作组")
+ @RequestMapping(value = "/addWorkGroupFunc")
+ public ResultBean addWorkGroupFunc(@RequestBody List syifrp) {
+ syService.addWorkGroupFunc(syifrp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "从工作组删除功能菜单")
+ @RequestMapping(value = "/deleteWorkGroupFunc")
+ public ResultBean deleteWorkGroupFunc(@RequestBody List syifrp) {
+ syService.deleteWorkGroupFunc(syifrp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "获取综合编码类别列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "sort", value = "排序", required = false, paramType = "query", dataType = "Integer",defaultValue = "0"),
+ })
+ @RequestMapping(value = "/getZhbmlbList")
+ public ResultBean getZhbmlbList(@RequestBody Map paramMap) {
+ Integer sort = paramMap.get("sort") == null ? 0 : (Integer) paramMap.get("sort");
+ return new ResultBean(syService.getZhbmlbList(sort));
+ }
+
+ @ApiOperation(value = "获取综合编码列表")
+ @RequestMapping(value = "/getZhbmList")
+ public ResultBean getZhbmList(@RequestBody Dm_zhbmlbp zhbmlbp) {
+ return new ResultBean(syService.getZhbmList(zhbmlbp));
+ }
+
+ @ApiOperation(value = "添加综合编码")
+ @RequestMapping(value = "/addZhbm")
+ public ResultBean addZhbm(@RequestBody Dm_zhbmp zhbmp) {
+ syService.addZhbm(zhbmp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "删除综合编码")
+ @RequestMapping(value = "/deleteZhbm")
+ public ResultBean deleteZhbm(@RequestBody Dm_zhbmp zhbmp) {
+ syService.deleteZhbm(zhbmp);
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "更新综合编码")
+ @RequestMapping(value = "/updateZhbm")
+ public ResultBean updateZhbm(@RequestBody Dm_zhbmp[] zhbmp) {
+ syService.updateZhbm(zhbmp[0], zhbmp[1]);
+ return new ResultBean();
+ }
+
+
+ @ApiOperation(value = "获取综合编码列表")
+ @RequestMapping(value = "/getZhbmAll")
+ public ResultBean getZhbmAll() {
+ List zhbmList = syService.getALL();
+ Map> map=zhbmList.stream()
+ .collect(Collectors.groupingBy(Dm_zhbmp::getBMLB));
+ return new ResultBean(map);
+ }
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCbxxpController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCbxxpController.java
new file mode 100644
index 0000000..978a640
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCbxxpController.java
@@ -0,0 +1,76 @@
+package com.dsic.gj_erp.controller.jcsj;
+
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.dsic.gj_erp.annotation.AuthFunction;
+import com.dsic.gj_erp.bean.ResultBean;
+import com.dsic.gj_erp.bean.jcsj.DmCbxxp;
+import com.dsic.gj_erp.service.jcsj.DmCbxxpService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.Authorization;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author xn
+ * @since 2023-09-11
+ */
+@RestController
+@RequestMapping("/dmCbxxp")
+public class DmCbxxpController {
+
+ @Autowired
+ DmCbxxpService dmCbxxpService;
+
+ @PostMapping("/getList")
+ @AuthFunction
+ public ResultBean getList(@RequestBody Map map){
+ List list = dmCbxxpService.getList(map);
+ return new ResultBean(list);
+ }
+
+
+ @PostMapping("del")
+ @AuthFunction
+
+ public ResultBean del(@RequestBody ListdmCbxxps){
+ dmCbxxpService.del(dmCbxxps);
+ return new ResultBean();
+ }
+
+
+ @PostMapping("edit")
+ @AuthFunction
+
+ public ResultBean edit(@RequestBody ListdmCbxxps){
+ dmCbxxpService.edit(dmCbxxps);
+ return new ResultBean();
+ }
+
+
+ @PostMapping("add")
+ @AuthFunction
+
+ public ResultBean add (@RequestBody ListdmCbxxps,HttpServletRequest request){
+ dmCbxxpService.add(dmCbxxps,request);
+ return new ResultBean();
+ }
+
+
+}
+
diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpController.java
new file mode 100644
index 0000000..7c3b09e
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpController.java
@@ -0,0 +1,21 @@
+package com.dsic.gj_erp.controller.jcsj;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author xn
+ * @since 2023-09-11
+ */
+@RestController
+@RequestMapping("/dmCzplp")
+public class DmCzplpController {
+
+}
+
diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java
new file mode 100644
index 0000000..9333dfe
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/DmCzplpNewController.java
@@ -0,0 +1,77 @@
+package com.dsic.gj_erp.controller.jcsj;
+
+
+import com.alibaba.excel.EasyExcel;
+import com.dsic.gj_erp.annotation.AuthFunction;
+import com.dsic.gj_erp.bean.ResultBean;
+import com.dsic.gj_erp.bean.jcsj.DmCzplpNew;
+import com.dsic.gj_erp.bean.jcsj.excel.PlExcel;
+import com.dsic.gj_erp.exception.CustomException;
+import com.dsic.gj_erp.listeners.ExcelPlListener;
+import com.dsic.gj_erp.service.jcsj.DmCzplpNewService;
+import com.dsic.gj_erp.service.jcsj.DmCzplpService;
+import io.swagger.annotations.Authorization;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author xn
+ * @since 2023-09-11
+ */
+@RestController
+@RequestMapping("/dmCzplpNew")
+public class DmCzplpNewController {
+
+ @Autowired
+ DmCzplpNewService dmCzplpNewService;
+
+
+ @PostMapping("/uploadPl")
+ @AuthFunction
+ @ResponseBody
+ public ResultBean uploadPl(@RequestParam("file") MultipartFile file , String czbh, String isupload, HttpServletRequest req) throws Exception, CustomException {
+
+ ExcelPlListener objectListener = new ExcelPlListener();
+ EasyExcel.read(file.getInputStream(), PlExcel.class, objectListener).sheet(0).headRowNumber(1).doRead();
+ List objList = objectListener.getObjectList();
+ Map map = dmCzplpNewService.uploadPl(objList, czbh, isupload,req);
+ return new ResultBean(map);
+ }
+
+
+ @PostMapping("/getCzplBase")
+ @AuthFunction
+ @ResponseBody
+ public ResultBean getCzplBase(HttpServletRequest req,@RequestBody Map map) throws Exception, CustomException {
+
+ return new ResultBean(dmCzplpNewService.getCzplBase(map));
+
+ }
+
+ @PostMapping("/czPlupdate")
+ @AuthFunction
+ @ResponseBody
+ public ResultBean czPlupdate(HttpServletRequest req, @RequestBody List dmCzplpNews) throws Exception, CustomException {
+ dmCzplpNewService.czPlupdate(dmCzplpNews);
+ return new ResultBean();
+
+ }
+ @PostMapping("/getCzplList")
+ @ResponseBody
+ public ResultBean getCzplList(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException {
+ dmCzplpNewService.getCzplList(map);
+ return new ResultBean(dmCzplpNewService.getCzplList(map));
+
+ }
+
+}
+
diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java
new file mode 100644
index 0000000..2057caa
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmGcrlController.java
@@ -0,0 +1,59 @@
+package com.dsic.gj_erp.controller.jcsj;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.dsic.gj_erp.bean.ResultBean;
+import com.dsic.gj_erp.bean.jcsj.EmGcrl;
+import com.dsic.gj_erp.bean.jcsj.EmSbcnp;
+import com.dsic.gj_erp.service.jcsj.EmGcrlService;
+import com.dsic.gj_erp.service.jcsj.EmSbcnpService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@RestController
+@RequestMapping("/emGcrl")
+@Api(tags = "工厂日历")
+public class EmGcrlController {
+ @Autowired
+ EmGcrlService emGcrlService;
+
+ @ApiOperation(value = "查询")
+ @PostMapping(value = "/getList")
+ public ResultBean getList(@RequestBody JSONObject json) {
+ List emGcrls= emGcrlService.getList(json);
+ return new ResultBean(emGcrls);
+ }
+
+
+ @ApiOperation(value = "批量修改")
+ @PostMapping(value = "/update")
+ public ResultBean update(@RequestBody List emGcrls) {
+ emGcrlService.update(emGcrls);
+
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "生成工厂日历")
+ @PostMapping(value = "/generate")
+ public ResultBean generate() {
+ emGcrlService.generate();
+
+ return new ResultBean();
+ }
+}
+
diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbcnpController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbcnpController.java
new file mode 100644
index 0000000..6122888
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbcnpController.java
@@ -0,0 +1,68 @@
+package com.dsic.gj_erp.controller.jcsj;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.dsic.gj_erp.bean.ResultBean;
+import com.dsic.gj_erp.bean.jcsj.EmSbcnp;
+import com.dsic.gj_erp.bean.jcsj.EmSbwxjh;
+import com.dsic.gj_erp.bean.request.EmSbwxjhBean;
+import com.dsic.gj_erp.service.jcsj.EmSbcnpService;
+import com.dsic.gj_erp.service.jcsj.EmSbwxjhService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@RestController
+@RequestMapping("/emSbcnp")
+@Api(tags = "设备产能")
+public class EmSbcnpController {
+ @Autowired
+ EmSbcnpService emSbcnpService;
+
+ @ApiOperation(value = "查询")
+ @PostMapping(value = "/getList")
+ public ResultBean getList(@RequestBody JSONObject json) {
+ List emSbcnps= emSbcnpService.getList(json);
+ return new ResultBean(emSbcnps);
+ }
+
+ @ApiOperation(value = "批量新增")
+ @PostMapping(value = "/save")
+ public ResultBean save(@RequestBody List emSbcnps) {
+ emSbcnpService.save(emSbcnps);
+
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "批量修改")
+ @PostMapping(value = "/update")
+ public ResultBean update(@RequestBody List sbjbbs) {
+ emSbcnpService.update(sbjbbs);
+
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "批量删除")
+ @PostMapping(value = "/delete")
+ public ResultBean delete(@RequestBody List sbjbbs) {
+ emSbcnpService.delete(sbjbbs);
+
+ return new ResultBean();
+ }
+}
+
diff --git a/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjbbController.java b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjbbController.java
new file mode 100644
index 0000000..8cabf06
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/controller/jcsj/EmSbjbbController.java
@@ -0,0 +1,85 @@
+package com.dsic.gj_erp.controller.jcsj;
+
+
+import com.dsic.gj_erp.annotation.AuthFunction;
+import com.dsic.gj_erp.bean.ResultBean;
+import com.dsic.gj_erp.bean.jcsj.EmSbjbb;
+import com.dsic.gj_erp.bean.request.EmSbjbbBean;
+import com.dsic.gj_erp.service.jcsj.EmSbjbbService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author xn
+ * @since 2023-09-15
+ */
+@RestController
+@RequestMapping("/emSbjbb")
+@Api(tags = "设备信息")
+public class EmSbjbbController {
+ @Autowired
+ EmSbjbbService emSbjbbService;
+
+
+ @ApiOperation(value = "查询")
+ @PostMapping(value = "/getList")
+ public ResultBean getList(@RequestBody EmSbjbbBean emSbjbbBean) {
+ List emSbjbbs= emSbjbbService.getList(emSbjbbBean);
+ return new ResultBean(emSbjbbs);
+ }
+
+ @AuthFunction()
+ @ApiOperation(value = "批量新增")
+ @PostMapping(value = "/save")
+ public ResultBean save(@RequestBody List sbjbbs, HttpServletRequest request) {
+ emSbjbbService.save(sbjbbs,request);
+
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "批量修改")
+ @PostMapping(value = "/update")
+ public ResultBean update(@RequestBody List sbjbbs) {
+ emSbjbbService.update(sbjbbs);
+
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "批量删除")
+ @PostMapping(value = "/delete")
+ public ResultBean save(@RequestBody List sbjbbs) {
+ emSbjbbService.delete(sbjbbs);
+
+ return new ResultBean();
+ }
+
+ @ApiOperation(value = "供应商")
+ @PostMapping(value = "/getGYS")
+ public ResultBean getGYS() {
+ List