1
0
فهرست منبع

创建优算wms项目

csk 4 سال پیش
کامیت
d2404cbd71
100فایلهای تغییر یافته به همراه21514 افزوده شده و 0 حذف شده
  1. 34 0
      .gitignore
  2. 154 0
      build.gradle
  3. 184 0
      gradlew
  4. 104 0
      gradlew.bat
  5. 9 0
      settings.gradle
  6. 120 0
      wms-center/build.gradle
  7. 13 0
      wms-center/src/main/java/com/lote/wms/ServletInitializer.java
  8. 25 0
      wms-center/src/main/java/com/lote/wms/WmsCenterApplication.java
  9. 179 0
      wms-center/src/main/java/com/lote/wms/api/app/AppLoginController.java
  10. 206 0
      wms-center/src/main/java/com/lote/wms/api/app/AppLoginV2Controller.java
  11. 69 0
      wms-center/src/main/java/com/lote/wms/api/houtu/aop/HouTuAdvice.java
  12. 68 0
      wms-center/src/main/java/com/lote/wms/api/houtu/common/Response.java
  13. 77 0
      wms-center/src/main/java/com/lote/wms/api/houtu/controller/HouTuController.java
  14. 75 0
      wms-center/src/main/java/com/lote/wms/api/houtu/entity/customer/Customer.java
  15. 85 0
      wms-center/src/main/java/com/lote/wms/api/houtu/entity/shop/Shop.java
  16. 16 0
      wms-center/src/main/java/com/lote/wms/api/houtu/service/CustomerHandlerService.java
  17. 14 0
      wms-center/src/main/java/com/lote/wms/api/houtu/service/ShopHandlerService.java
  18. 8 0
      wms-center/src/main/java/com/lote/wms/api/houtu/service/WarehouseHandlerService.java
  19. 78 0
      wms-center/src/main/java/com/lote/wms/api/houtu/service/impl/CustomerHandlerServiceImpl.java
  20. 35 0
      wms-center/src/main/java/com/lote/wms/api/houtu/service/impl/ShopHandlerServiceImpl.java
  21. 59 0
      wms-center/src/main/java/com/lote/wms/api/houtu/service/impl/WarehouseHandlerServiceImpl.java
  22. 47 0
      wms-center/src/main/java/com/lote/wms/api/houtu/swagger/SwaggerConfig.java
  23. 20 0
      wms-center/src/main/java/com/lote/wms/base/IndexRedirect.java
  24. 40 0
      wms-center/src/main/java/com/lote/wms/base/basic/controller/UploadController.java
  25. 88 0
      wms-center/src/main/java/com/lote/wms/base/config/controller/ConfigSenderController.java
  26. 21 0
      wms-center/src/main/java/com/lote/wms/base/config/dao/ConfigSenderMapper.java
  27. 382 0
      wms-center/src/main/java/com/lote/wms/base/config/entity/ConfigSender.java
  28. 2772 0
      wms-center/src/main/java/com/lote/wms/base/config/entity/ConfigSenderCriteria.java
  29. 126 0
      wms-center/src/main/java/com/lote/wms/base/config/entity/queryvo/ConfigSenderQueryVo.java
  30. 26 0
      wms-center/src/main/java/com/lote/wms/base/config/service/ConfigSenderService.java
  31. 103 0
      wms-center/src/main/java/com/lote/wms/base/config/service/impl/ConfigSenderServiceImpl.java
  32. 102 0
      wms-center/src/main/java/com/lote/wms/base/country/controller/CountryController.java
  33. 120 0
      wms-center/src/main/java/com/lote/wms/base/country/controller/CountryRegionController.java
  34. 21 0
      wms-center/src/main/java/com/lote/wms/base/country/dao/CountryMapper.java
  35. 25 0
      wms-center/src/main/java/com/lote/wms/base/country/dao/CountryRegionMapper.java
  36. 132 0
      wms-center/src/main/java/com/lote/wms/base/country/entity/Country.java
  37. 1022 0
      wms-center/src/main/java/com/lote/wms/base/country/entity/CountryCriteria.java
  38. 192 0
      wms-center/src/main/java/com/lote/wms/base/country/entity/CountryRegion.java
  39. 1437 0
      wms-center/src/main/java/com/lote/wms/base/country/entity/CountryRegionCriteria.java
  40. 61 0
      wms-center/src/main/java/com/lote/wms/base/country/entity/queryvo/CountryQueryVo.java
  41. 44 0
      wms-center/src/main/java/com/lote/wms/base/country/entity/resultvo/CountryRegionResultVo.java
  42. 25 0
      wms-center/src/main/java/com/lote/wms/base/country/service/CountryRegionService.java
  43. 42 0
      wms-center/src/main/java/com/lote/wms/base/country/service/CountryService.java
  44. 69 0
      wms-center/src/main/java/com/lote/wms/base/country/service/impl/CountryRegionServiceImpl.java
  45. 150 0
      wms-center/src/main/java/com/lote/wms/base/country/service/impl/CountryServiceImpl.java
  46. 99 0
      wms-center/src/main/java/com/lote/wms/base/dict/controller/DictItemController.java
  47. 103 0
      wms-center/src/main/java/com/lote/wms/base/dict/controller/DictTypeController.java
  48. 26 0
      wms-center/src/main/java/com/lote/wms/base/dict/dao/DictItemMapper.java
  49. 31 0
      wms-center/src/main/java/com/lote/wms/base/dict/dao/DictTypeMapper.java
  50. 132 0
      wms-center/src/main/java/com/lote/wms/base/dict/entity/DictItem.java
  51. 1012 0
      wms-center/src/main/java/com/lote/wms/base/dict/entity/DictItemCriteria.java
  52. 122 0
      wms-center/src/main/java/com/lote/wms/base/dict/entity/DictType.java
  53. 942 0
      wms-center/src/main/java/com/lote/wms/base/dict/entity/DictTypeCriteria.java
  54. 121 0
      wms-center/src/main/java/com/lote/wms/base/dict/entity/queryvo/DictItemQueryVo.java
  55. 22 0
      wms-center/src/main/java/com/lote/wms/base/dict/entity/queryvo/DictTypeQueryVo.java
  56. 25 0
      wms-center/src/main/java/com/lote/wms/base/dict/service/DictItemService.java
  57. 24 0
      wms-center/src/main/java/com/lote/wms/base/dict/service/DictTypeService.java
  58. 101 0
      wms-center/src/main/java/com/lote/wms/base/dict/service/impl/DictItemServiceImpl.java
  59. 89 0
      wms-center/src/main/java/com/lote/wms/base/dict/service/impl/DictTypeServiceImpl.java
  60. 107 0
      wms-center/src/main/java/com/lote/wms/base/shop/controller/ShopController.java
  61. 21 0
      wms-center/src/main/java/com/lote/wms/base/shop/dao/ShopMapper.java
  62. 202 0
      wms-center/src/main/java/com/lote/wms/base/shop/entity/Shop.java
  63. 1512 0
      wms-center/src/main/java/com/lote/wms/base/shop/entity/ShopCriteria.java
  64. 35 0
      wms-center/src/main/java/com/lote/wms/base/shop/entity/queryvo/ShopQueryVo.java
  65. 13 0
      wms-center/src/main/java/com/lote/wms/base/shop/service/ProduceShopService.java
  66. 32 0
      wms-center/src/main/java/com/lote/wms/base/shop/service/ShopService.java
  67. 29 0
      wms-center/src/main/java/com/lote/wms/base/shop/service/impl/ProduceShopServiceImpl.java
  68. 122 0
      wms-center/src/main/java/com/lote/wms/base/shop/service/impl/ShopServiceImpl.java
  69. 77 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/controller/WarehouseAddressController.java
  70. 132 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/controller/WarehouseController.java
  71. 118 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/controller/WarehouseTypeController.java
  72. 23 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/dao/WarehouseAddressMapper.java
  73. 45 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/dao/WarehouseMapper.java
  74. 38 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/dao/WarehouseTypeMapper.java
  75. 232 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/Warehouse.java
  76. 222 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/WarehouseAddress.java
  77. 1652 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/WarehouseAddressCriteria.java
  78. 1682 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/WarehouseCriteria.java
  79. 152 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/WarehouseType.java
  80. 1152 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/WarehouseTypeCriteria.java
  81. 38 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/enums/WarehouseTypeEnableEnum.java
  82. 26 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/expend/WarehouseExpend.java
  83. 223 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/queryvo/WarehouseAddressQueryVo.java
  84. 164 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/queryvo/WarehouseQueryVo.java
  85. 116 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/entity/queryvo/WarehouseTypeQueryVo.java
  86. 29 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/service/WarehouseAddressService.java
  87. 30 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/service/WarehouseService.java
  88. 37 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/service/WarehouseTypeService.java
  89. 160 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/service/impl/WarehouseAddressServiceImpl.java
  90. 174 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/service/impl/WarehouseServiceImpl.java
  91. 149 0
      wms-center/src/main/java/com/lote/wms/base/warehouse/service/impl/WarehouseTypeServiceImpl.java
  92. 49 0
      wms-center/src/main/java/com/lote/wms/base/website/controller/WebsiteConfigController.java
  93. 21 0
      wms-center/src/main/java/com/lote/wms/base/website/dao/WebsiteConfigMapper.java
  94. 102 0
      wms-center/src/main/java/com/lote/wms/base/website/entity/WebsiteConfig.java
  95. 822 0
      wms-center/src/main/java/com/lote/wms/base/website/entity/WebsiteConfigCriteria.java
  96. 20 0
      wms-center/src/main/java/com/lote/wms/base/website/service/WebsiteConfigService.java
  97. 93 0
      wms-center/src/main/java/com/lote/wms/base/website/service/impl/WebsiteConfigServiceImpl.java
  98. 53 0
      wms-center/src/main/java/com/lote/wms/common/mq/consumer/SyncCustomer.java
  99. 57 0
      wms-center/src/main/java/com/lote/wms/common/mq/consumer/SyncUser.java
  100. 25 0
      wms-center/src/main/java/com/lote/wms/config/RedisConfiguration.java

+ 34 - 0
.gitignore

@@ -0,0 +1,34 @@
+HELP.md
+.gradle
+build/
+!gradle/wrapper/gradle-wrapper.jar
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+out/
+!**/src/main/**/out/
+!**/src/test/**/out/
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+
+### VS Code ###
+.vscode/

+ 154 - 0
build.gradle

@@ -0,0 +1,154 @@
+plugins {
+    id 'org.springframework.boot' version '2.3.3.RELEASE'
+    id 'io.spring.dependency-management' version '1.0.10.RELEASE'
+}
+
+subprojects {
+    apply plugin: 'java'
+    apply plugin: 'idea'
+
+    group = 'com.lote'
+    version = '1.0.0'
+
+    sourceCompatibility = 1.8
+    targetCompatibility = 1.8
+
+    tasks.withType(JavaCompile) {
+        options.encoding = "UTF-8"
+    }
+
+    repositories {
+        mavenLocal()
+        maven {url 'https://maven.aliyun.com/repository/public/'}
+        maven {url 'https://maven.aliyun.com/repository/gradle-plugin/'}
+        maven {url 'https://maven.aliyun.com/repository/spring/'}
+        maven {url 'https://maven.aliyun.com/repository/spring-plugin/'}
+        jcenter()
+        mavenCentral()
+        maven {url 'https://repository.apache.org/content/groups/public/'}
+        maven {
+            url 'http://nexus.ds-bay.com/content/groups/public/'
+            credentials {
+                username 'admin'
+                password 'admin123'
+            }
+        }
+    }
+
+    ext {
+        junit = '4.13'
+        // jmockit = '1.49'
+        slf4j = '1.7.25'
+
+        spring_boot = '2.3.3.RELEASE'
+        spring = '5.2.8.RELEASE'
+
+        javax_servlet = '4.0.1'
+
+        mysql = '5.1.21'
+        bonecp = '0.8.0.RELEASE'
+        // ali JDBC datasource implementation
+        druid = '1.1.23'
+
+        mybatis_spring_boot = '1.3.1'
+        mybatis_typehandlers_jsr310 = '1.0.2'
+
+        mybatis = '3.5.5'
+        mybatis_spring = '2.0.5'
+        mybatis_ehcache = '1.2.1'
+        mybatis_plugin_page = '1.0.5'
+
+        logback_ext_spring = '0.1.5'
+
+        jackson = '2.11.2'
+        jackson_asl = '1.9.13'
+        // ali json
+        fastjson = '1.2.58'
+        gson = '2.8.0'
+
+        commons_beanutils = '1.9.3'
+        commons_codec = '1.13'
+        commons_collections = '3.2.2'
+        commons_discovery = '0.5'
+        commons_fileupload = '1.4'
+        commons_io = '2.6'
+        commons_lang3 = '3.6'
+        commons_lang = '2.6'
+        commons_logging = '1.2'
+
+        apache_httpclient = '4.5.4'
+        apache_axis = '1.4'
+        apache_pdfbox = '2.0.20'
+        apache_poi = '3.16'
+
+        google_guava = '29.0-jre'
+
+        okhttp = '4.8.0'
+        okio = '2.7.0'
+
+        cglib = '3.3.0'
+
+        jedis = '3.3.0'
+
+        javax_websocket = '1.1'
+
+        shiro = '1.5.3'
+
+        servlet = '3.1.0'
+        jstl = '1.2'
+        jsp_jstl_api = '1.2.1'
+        jsp_api = '2.2.1-b03'
+        tomcat_embed_jasper = '9.0.37'
+
+        hibernate_validator = '5.1.3.Final'
+
+        dubbo = '2.8.4'
+        javassist = '3.3.GA'
+        netty = '3.2.10.Final'
+        io_netty = '3.10.6.Final'
+
+        zkclient = '0.4'
+        zookeeper = '3.4.10'
+
+        jxls = '2.4.2'
+        jxls_poi = '1.0.13'
+        jxls_jexcel = '1.0.6'
+        jxls_reader = '2.0.3'
+
+        csource = '1.27'
+        rabbitmq = '4.0.1'
+        spring_rabbit = '1.7.3.RELEASE'
+        quartz_scheduler = '2.2.1'
+        jms = '1.1'
+        jms_api = '2.0.1'
+        xbean_spring = '4.17'
+
+        activemq_core = '5.5.0'
+        activemq_pool = '5.7.0'
+
+        swagger = '2.9.2'
+
+        axis_jaxrpc = '1.4'
+
+        javax_wsdl = '1.6.1'
+
+        jbarcode = '0.2.8'
+        easybar = '1.0.0'
+
+        sf_barcode4j = '2.0'
+
+        youzan_sdk_core = '1.0.5-RELEASE'
+        youzan_sdk_gen = '1.0.5.201907111756-RELEASE'
+
+    }
+}
+
+
+configure(subprojects.findAll{
+    it.name == 'wms-center' || it.name == 'wms-client' ||
+            it.name == 'wms-operate'
+}){
+    apply plugin: "org.springframework.boot"
+    apply plugin: 'io.spring.dependency-management'
+}
+

+ 184 - 0
gradlew

@@ -0,0 +1,184 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed 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.
+#
+
+##############################################################################
+##
+##  Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ]; do
+  ls=$(ls -ld "$PRG")
+  link=$(expr "$ls" : '.*-> \(.*\)$')
+  if expr "$link" : '/.*' >/dev/null; then
+    PRG="$link"
+  else
+    PRG=$(dirname "$PRG")"/$link"
+  fi
+done
+SAVED="$(pwd)"
+cd "$(dirname \"$PRG\")/" >/dev/null
+APP_HOME="$(pwd -P)"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=$(basename "$0")
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn() {
+  echo "$*"
+}
+
+die() {
+  echo
+  echo "$*"
+  echo
+  exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$(uname)" in
+CYGWIN*)
+  cygwin=true
+  ;;
+Darwin*)
+  darwin=true
+  ;;
+MINGW*)
+  msys=true
+  ;;
+NONSTOP*)
+  nonstop=true
+  ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+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
+  if [ ! -x "$JAVACMD" ]; then
+    die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+  fi
+else
+  JAVACMD="java"
+  which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ]; then
+  MAX_FD_LIMIT=$(ulimit -H -n)
+  if [ $? -eq 0 ]; then
+    if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
+      MAX_FD="$MAX_FD_LIMIT"
+    fi
+    ulimit -n $MAX_FD
+    if [ $? -ne 0 ]; then
+      warn "Could not set maximum file descriptor limit: $MAX_FD"
+    fi
+  else
+    warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+  fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+  GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ]; then
+  APP_HOME=$(cygpath --path --mixed "$APP_HOME")
+  CLASSPATH=$(cygpath --path --mixed "$CLASSPATH")
+
+  JAVACMD=$(cygpath --unix "$JAVACMD")
+
+  # We build the pattern for arguments to be converted via cygpath
+  ROOTDIRSRAW=$(find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null)
+  SEP=""
+  for dir in $ROOTDIRSRAW; do
+    ROOTDIRS="$ROOTDIRS$SEP$dir"
+    SEP="|"
+  done
+  OURCYGPATTERN="(^($ROOTDIRS))"
+  # Add a user-defined pattern to the cygpath arguments
+  if [ "$GRADLE_CYGPATTERN" != "" ]; then
+    OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+  fi
+  # Now convert the arguments - kludge to limit ourselves to /bin/sh
+  i=0
+  for arg in "$@"; do
+    CHECK=$(echo "$arg" | egrep -c "$OURCYGPATTERN" -)
+    CHECK2=$(echo "$arg" | egrep -c "^-") ### Determine if an option
+
+    if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ]; then ### Added a condition
+      eval $(echo args$i)=$(cygpath --path --ignore --mixed "$arg")
+    else
+      eval $(echo args$i)="\"$arg\""
+    fi
+    i=$(expr $i + 1)
+  done
+  case $i in
+  0) set -- ;;
+  1) set -- "$args0" ;;
+  2) set -- "$args0" "$args1" ;;
+  3) set -- "$args0" "$args1" "$args2" ;;
+  4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+  5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+  6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+  7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+  8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+  9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+  esac
+fi
+
+# Escape application args
+save() {
+  for i; do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/"; done
+  echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"

+ 104 - 0
gradlew.bat

@@ -0,0 +1,104 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem 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, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega

+ 9 - 0
settings.gradle

@@ -0,0 +1,9 @@
+rootProject.name = 'wms'
+include 'wms-config'
+include 'wms-common'
+include 'wms-third'
+include 'wms-core-service'
+include 'wms-center'
+include 'wms-client'
+include 'wms-operate'
+include 'wms-task'

+ 120 - 0
wms-center/build.gradle

@@ -0,0 +1,120 @@
+apply plugin: 'war'
+
+war {
+	archiveBaseName = 'wms-center'
+}
+
+dependencies {
+	implementation project(':wms-common'),
+			project(':wms-third'),
+			project(':wms-config')
+
+	testImplementation('org.springframework.boot:spring-boot-starter-test') {
+		exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
+	}
+	// testImplementation 'org.jmockit:jmockit'
+
+	implementation 'org.springframework.boot:spring-boot-starter-tomcat'
+
+	//Gradle 4.6 and later
+	annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
+
+	implementation 'org.springframework.boot:spring-boot-starter-web'
+	implementation 'org.springframework.boot:spring-boot-starter-aop'
+	implementation 'org.springframework.boot:spring-boot-starter-jdbc'
+
+	implementation "org.springframework:spring-core:${spring}"
+	implementation "org.springframework:spring-beans:${spring}"
+	implementation "org.springframework:spring-context:${spring}"
+	implementation "org.springframework:spring-context-support:${spring}"
+	implementation "org.springframework:spring-web:${spring}"
+	implementation "org.springframework:spring-webmvc:${spring}"
+	implementation "org.springframework:spring-jdbc:${spring}"
+	implementation "org.springframework:spring-aop:${spring}"
+	implementation "org.springframework:spring-aspects:${spring}"
+	implementation "org.springframework:spring-tx:${spring}"
+	implementation "org.springframework:spring-oxm:${spring}"
+	implementation "org.springframework:spring-expression:${spring}"
+	implementation "org.springframework:spring-jms:${spring}"
+
+	// springmvc websocket
+	implementation "org.springframework:spring-websocket:${spring}"
+	implementation "org.springframework:spring-messaging:${spring}"
+	implementation "javax.websocket:javax.websocket-api:${javax_websocket}"
+
+	// activemq
+	implementation "javax.jms:jms:${jms}"
+	implementation "javax.jms:javax.jms-api:${jms_api}"
+	implementation "org.apache.activemq:activemq-core:${activemq_core}"
+	implementation "org.apache.activemq:activemq-spring:${activemq_core}"
+	implementation "org.apache.activemq:activemq-pool:${activemq_pool}"
+	implementation "org.apache.xbean:xbean-spring:${xbean_spring}"
+
+	// jackson
+	implementation "com.fasterxml.jackson.core:jackson-databind:${jackson}"
+	implementation "com.fasterxml.jackson.core:jackson-core:${jackson}"
+	implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${jackson}"
+
+	implementation "com.google.code.gson:gson:${gson}"
+	implementation "com.alibaba:fastjson:${fastjson}"
+
+	// apache commons
+	implementation "commons-beanutils:commons-beanutils:${commons_beanutils}"
+	implementation "commons-codec:commons-codec:${commons_codec}"
+	implementation "commons-collections:commons-collections:${commons_collections}"
+	implementation "commons-discovery:commons-discovery:${commons_discovery}"
+	implementation "commons-fileupload:commons-fileupload:${commons_fileupload}"
+	implementation "commons-io:commons-io:${commons_io}"
+	implementation "org.apache.commons:commons-lang3:${commons_lang3}"
+	implementation "commons-lang:commons-lang:${commons_lang}"
+	implementation "commons-logging:commons-logging:${commons_logging}"
+
+	implementation "org.apache.httpcomponents:httpclient:${apache_httpclient}"
+	implementation "org.apache.axis:axis:${apache_axis}"
+
+	// jedis
+	implementation "redis.clients:jedis:${jedis}"
+
+	// cglib
+	implementation "cglib:cglib:${cglib}"
+
+	// poi
+	implementation "org.apache.poi:poi:${apache_poi}"
+	implementation "org.apache.poi:poi-ooxml:${apache_poi}"
+
+	// shiro
+	implementation "org.apache.shiro:shiro-core:${shiro}"
+	implementation "org.apache.shiro:shiro-web:${shiro}"
+	implementation "org.apache.shiro:shiro-spring:${shiro}"
+
+	// servlet
+	implementation "javax.servlet:javax.servlet-api:${javax_servlet}"
+	implementation "javax.servlet:jstl:${jstl}"
+	implementation "javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:${jsp_jstl_api}"
+	implementation "javax.servlet.jsp:jsp-api:${jsp_api}"
+
+	// ali druid
+	implementation "com.alibaba:druid:${druid}"
+
+	implementation "org.mybatis.spring.boot:mybatis-spring-boot-starter:${mybatis_spring_boot}"
+	implementation "org.mybatis:mybatis-typehandlers-jsr310:${mybatis_typehandlers_jsr310}"
+	implementation "org.mybatis:mybatis:${mybatis}"
+	implementation "org.mybatis:mybatis-spring:${mybatis_spring}"
+	implementation "org.mybatis.caches:mybatis-ehcache:${mybatis_ehcache}"
+	implementation "mybatis.plugin.page:mybatis-plugin-page:${mybatis_plugin_page}"
+
+	implementation "mysql:mysql-connector-java:${mysql}"
+
+	implementation "javassist:javassist:${javassist}"
+
+	implementation "io.springfox:springfox-swagger2:${swagger}"
+	implementation "io.springfox:springfox-swagger-ui:${swagger}"
+
+	implementation "axis:axis-jaxrpc:${axis_jaxrpc}"
+
+	implementation "javax.wsdl:com.springsource.javax.wsdl:${javax_wsdl}"
+
+	implementation "net.sf.barcode4j:barcode4j-light:${sf_barcode4j}"
+
+}
+

+ 13 - 0
wms-center/src/main/java/com/lote/wms/ServletInitializer.java

@@ -0,0 +1,13 @@
+package com.lote.wms;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+public class ServletInitializer extends SpringBootServletInitializer {
+
+	@Override
+	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+		return application.sources(WmsCenterApplication.class);
+	}
+
+}

+ 25 - 0
wms-center/src/main/java/com/lote/wms/WmsCenterApplication.java

@@ -0,0 +1,25 @@
+package com.lote.wms;
+
+import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+
+@SpringBootApplication(
+		exclude = {
+				// 不使用数据源自动配置, 多数据源
+				DataSourceAutoConfiguration.class,
+				// 不使用mybatis自动配置, 使用xml
+				MybatisAutoConfiguration.class
+		},
+		scanBasePackages = {
+				"com.lote.wms"
+		}
+)
+public class WmsCenterApplication {
+
+	public static void main(String[] args) {
+		SpringApplication.run(WmsCenterApplication.class, args);
+	}
+
+}

+ 179 - 0
wms-center/src/main/java/com/lote/wms/api/app/AppLoginController.java

@@ -0,0 +1,179 @@
+package com.lote.wms.api.app;
+
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.collections.map.HashedMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.base.warehouse.service.WarehouseService;
+import com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.CookieConstant;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.core.web.model.SessionConfig;
+import com.lote.wms.common.utils.CookieUtil;
+import com.lote.wms.common.utils.DesUtil;
+import com.lote.wms.common.utils.JacksonUtil;
+import com.lote.wms.common.utils.NumberUtil;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.server.deploy.entity.Cluster;
+import com.lote.wms.server.deploy.entity.enums.ProjectTypeEnum;
+import com.lote.wms.server.deploy.entity.queryvo.ClusterQueryVo;
+import com.lote.wms.server.deploy.service.ClusterService;
+import com.lote.wms.user.user.entity.User;
+import com.lote.wms.user.user.entity.enums.UserStatusEnum;
+import com.lote.wms.user.user.entity.queryvo.UserQueryVo;
+import com.lote.wms.user.user.service.UserService;
+import com.lote.wms.util.ClusterUtil;
+
+/**
+ * PDA APP登录
+ * 
+ * 
+ * 已废弃.   --网页版
+ * 
+ * @author yechao
+ *
+ */
+@Controller("appLogin")
+@RequestMapping("/app/login")
+public class AppLoginController extends AbstractController {
+
+	private static final Logger logger = LoggerFactory.getLogger(AppLoginController.class);
+
+	@Resource
+	private UserService userService;
+
+	@Resource
+	private WarehouseService warehouseService;
+
+	@Resource
+	private ClusterService clusterService;
+
+	/**
+	 * app上设置服务器地址时,用于测试地址是否正确
+	 * 
+	 * @param request
+	 * @param response
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "test")
+	public Result test(HttpServletRequest request, HttpServletResponse response) {
+		return Result.success("ok");
+	}
+
+	/**
+	 * 登录
+	 * 
+	 * 根据仓库代码,返回作业系统app api地址 还有用户id,用户代码.
+	 * 
+	 * @param loginVo
+	 * @param request
+	 * @param response
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "loginAction")
+	public Result loginAction(@RequestBody UserQueryVo loginVo, HttpServletRequest request,
+			HttpServletResponse response) {
+		long begin = System.currentTimeMillis();
+		if (loginVo == null) {
+			return Result.error("loginVo参数不能为空");
+		}
+		String warehouseCode = loginVo.getWarehouseCode();
+		String code = loginVo.getUserCode();
+
+		if (StringUtil.isEmpty(warehouseCode)) {
+			return Result.error("仓库代码不能为空");
+		}
+		if (StringUtil.isEmpty(code)) {
+			return Result.error("用户代码不能为空");
+		}
+		if (StringUtil.isEmpty(loginVo.getPassword())) {
+			return Result.error("用户密码不能为空");
+		}
+		User user = userService.getByCode(code);
+		// 验证账号
+		if (user == null) {
+			return Result.error("用户账号不存在");
+		}
+		// 验证密码
+		if (!StringUtil.isEqual(user.getPassword(), loginVo.getPassword())) {// 明文密码--待改
+			return Result.error("用户密码错误");
+		}
+		// 是否已锁定
+		if (NumberUtil.isEqualInt(user.getStatus(), UserStatusEnum.LOCK.getCode())) {
+			return Result.error("用户账号已锁定");
+		}
+
+		// 仓库
+		Warehouse warehouse = warehouseService.getByCode(warehouseCode);
+		if (warehouse == null) {
+			return Result.error("仓库代码不存在");
+		}
+		// 实例代码
+		String instanceCode = warehouse.getInstanceCode();
+		if (StringUtil.isEmpty(instanceCode)) {
+			return Result.error("仓库的实例代码不能为空");
+		}
+		// 集群
+		ClusterQueryVo clusterQueryVo = new ClusterQueryVo();
+		clusterQueryVo.setInstanceCode(instanceCode);
+		clusterQueryVo.setProjectTypeCode(ProjectTypeEnum.OPERATE.getCode());
+		Cluster cluster = clusterService.getByInstanceAndProjectType(clusterQueryVo);
+		if (cluster == null) {
+			return Result.error("实例代码:" + instanceCode + "未找到作业系统集群");
+		}
+		// 设置cookie
+		String remember = "checked".equals(loginVo.getRemember()) ? "true" : "false";
+		int age = SessionConfig.COOKIE_MAX_AGE;// cookie过期时间
+		String path = CookieConstant.PATH_CLIENT;// cookie path ,务必设置好.
+													// 否则不同用户类型登录将混乱
+		String domain = CookieConstant.DOMAIN;
+		CookieUtil.addCookie(response, CookieConstant.OPERATE_W_CODE, warehouseCode, domain, false, age, path, false);
+		CookieUtil.addCookie(response, CookieConstant.OPERATE_U_CODE, code, domain, false, age, path, false);
+		CookieUtil.addCookie(response, CookieConstant.REMEMBER, remember, domain, false, age, path, false);
+
+		loginVo.setId(user.getId());
+		loginVo.setTime(System.currentTimeMillis());
+		// 拼接作业系统的url
+		String param = JacksonUtil.toJSON(loginVo);// 登录参数,用到id,warehouseCode,time
+		String clientUrl = ClusterUtil.getRootUrl(cluster);
+		clientUrl += "/ui/app/login.html?token=" + DesUtil.encrypt(param);
+
+		long end = System.currentTimeMillis();
+		logger.info("登录耗时:" + (end - begin));
+		return Result.success(clientUrl);
+	}
+
+	/**
+	 * 获取cookie; 获取仓库代码和用户代码
+	 * 
+	 * @param request
+	 * @param response
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "cookie")
+	public Result cookie(HttpServletRequest request, HttpServletResponse response) {
+		String warehouseCode = CookieUtil.getValue(request, CookieConstant.OPERATE_W_CODE);
+		String userCode = CookieUtil.getValue(request, CookieConstant.OPERATE_U_CODE);
+		String remember = CookieUtil.getValue(request, CookieConstant.REMEMBER);
+		@SuppressWarnings("unchecked")
+		Map<String, String> map = new HashedMap();
+		map.put("warehouseCode", warehouseCode);
+		map.put("userCode", userCode);
+		map.put("remember", remember);
+		return Result.success(map);
+	}
+}

+ 206 - 0
wms-center/src/main/java/com/lote/wms/api/app/AppLoginV2Controller.java

@@ -0,0 +1,206 @@
+package com.lote.wms.api.app;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.collections.map.HashedMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.base.warehouse.service.WarehouseService;
+import com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.CookieConstant;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.core.web.model.SessionConfig;
+import com.lote.wms.common.utils.CookieUtil;
+import com.lote.wms.common.utils.JacksonUtil;
+import com.lote.wms.common.utils.NumberUtil;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.server.deploy.entity.Cluster;
+import com.lote.wms.server.deploy.entity.enums.ProjectTypeEnum;
+import com.lote.wms.server.deploy.entity.queryvo.ClusterQueryVo;
+import com.lote.wms.server.deploy.service.ClusterService;
+import com.lote.wms.user.user.entity.User;
+import com.lote.wms.user.user.entity.enums.UserStatusEnum;
+import com.lote.wms.user.user.entity.queryvo.UserQueryVo;
+import com.lote.wms.user.user.service.UserService;
+import com.lote.wms.util.ClusterUtil;
+
+/**
+ * PDA APP登录
+ * 
+ * @author yechao
+ *
+ */
+@Controller("appLoginV2")
+@RequestMapping("/app/loginV2")
+public class AppLoginV2Controller extends AbstractController {
+
+	private static final Logger logger = LoggerFactory.getLogger(AppLoginV2Controller.class);
+
+	@Resource
+	private UserService userService;
+
+	@Resource
+	private WarehouseService warehouseService;
+
+	@Resource
+	private ClusterService clusterService;
+
+	final String appVersion = "2.7";
+
+	// 每次发布新app更新此url
+	final String appDownUrl = "http://wms.amiciscs.com:90/fileserver/download?name=WMS_V271564679639177.apk";
+
+	/**
+	 * app上设置服务器地址时,用于测试地址是否正确
+	 * 
+	 * @param request
+	 * @param response
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "test")
+	public Result test(HttpServletRequest request, HttpServletResponse response) {
+		return Result.success("ok");
+	}
+
+	@ResponseBody
+	@RequestMapping(value = "getVersion")
+	public String getVersion(HttpServletRequest request, HttpServletResponse response) {
+		return appVersion + "||" + appDownUrl;
+	}
+
+	@ResponseBody
+	@RequestMapping(value = "getUpdate")
+	public Map<String, String> getUpdate(HttpServletRequest request, HttpServletResponse response) {
+		Map<String, String> map = new HashMap<String, String>();
+		map.put("appVersion", appVersion);
+		map.put("url", appDownUrl);
+		map.put("note", "更新app");
+		return map;
+	}
+
+	/**
+	 * 登录
+	 * 
+	 * 根据仓库代码,返回作业系统app api地址 还有用户id,用户代码.
+	 * 
+	 * @param loginVo
+	 * @param request
+	 * @param response
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "loginAction")
+	public Result loginAction(@RequestBody UserQueryVo loginVo, HttpServletRequest request,
+			HttpServletResponse response) {
+		long begin = System.currentTimeMillis();
+		if (loginVo == null) {
+			return Result.error("loginVo参数不能为空");
+		}
+		String warehouseCode = loginVo.getWarehouseCode();
+		String code = loginVo.getUserCode();
+		String version = loginVo.getVersion(); // 2019-03-24 增加版本控制,强制更新
+
+		String versionMsg = "app版本过低,请在控制中心app手持终端下载";
+		if (StringUtil.isEmpty(version)) {
+			return Result.error(versionMsg);
+		}
+
+		if (StringUtil.isEmpty(warehouseCode)) {
+			return Result.error("仓库代码不能为空");
+		}
+		if (StringUtil.isEmpty(code)) {
+			return Result.error("用户代码不能为空");
+		}
+		if (StringUtil.isEmpty(loginVo.getPassword())) {
+			return Result.error("用户密码不能为空");
+		}
+		User user = userService.getByCode(code);
+		// 验证账号
+		if (user == null) {
+			return Result.error("用户账号不存在");
+		}
+		// 验证密码
+		if (!StringUtil.isEqual(user.getPassword(), loginVo.getPassword())) {// 明文密码--待改
+			return Result.error("用户密码错误");
+		}
+		// 是否已锁定
+		if (NumberUtil.isEqualInt(user.getStatus(), UserStatusEnum.LOCK.getCode())) {
+			return Result.error("用户账号已锁定");
+		}
+
+		// 仓库
+		Warehouse warehouse = warehouseService.getByCode(warehouseCode);
+		if (warehouse == null) {
+			return Result.error("仓库代码不存在");
+		}
+		// 实例代码
+		String instanceCode = warehouse.getInstanceCode();
+		if (StringUtil.isEmpty(instanceCode)) {
+			return Result.error("仓库的实例代码不能为空");
+		}
+		// 集群
+		ClusterQueryVo clusterQueryVo = new ClusterQueryVo();
+		clusterQueryVo.setInstanceCode(instanceCode);
+		clusterQueryVo.setProjectTypeCode(ProjectTypeEnum.OPERATE.getCode());
+		Cluster cluster = clusterService.getByInstanceAndProjectType(clusterQueryVo);
+		if (cluster == null) {
+			return Result.error("实例代码:" + instanceCode + "未找到作业系统集群");
+		}
+		// 设置cookie
+		String remember = "checked".equals(loginVo.getRemember()) ? "true" : "false";
+		int age = SessionConfig.COOKIE_MAX_AGE;// cookie过期时间
+		String path = CookieConstant.PATH_CLIENT;// cookie path ,务必设置好.
+													// 否则不同用户类型登录将混乱
+		String domain = CookieConstant.DOMAIN;
+		CookieUtil.addCookie(response, CookieConstant.OPERATE_W_CODE, warehouseCode, domain, false, age, path, false);
+		CookieUtil.addCookie(response, CookieConstant.OPERATE_U_CODE, code, domain, false, age, path, false);
+		CookieUtil.addCookie(response, CookieConstant.REMEMBER, remember, domain, false, age, path, false);
+
+		loginVo.setId(user.getId());
+		// 拼接作业系统的url
+		String param = JacksonUtil.toJSON(loginVo);// 登录参数,用到id,warehouseCode
+													// param 暂未使用
+
+		String clientUrl = ClusterUtil.getRootUrl(cluster);
+		//
+		// clientUrl = "http://127.0.0.1:81";
+		loginVo.setClientUrl(clientUrl);
+
+		long end = System.currentTimeMillis();
+		logger.info("登录耗时:" + (end - begin));
+		return Result.success(loginVo);
+	}
+
+	/**
+	 * 获取cookie; 获取仓库代码和用户代码
+	 * 
+	 * @param request
+	 * @param response
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "cookie")
+	public Result cookie(HttpServletRequest request, HttpServletResponse response) {
+		String warehouseCode = CookieUtil.getValue(request, CookieConstant.OPERATE_W_CODE);
+		String userCode = CookieUtil.getValue(request, CookieConstant.OPERATE_U_CODE);
+		String remember = CookieUtil.getValue(request, CookieConstant.REMEMBER);
+		@SuppressWarnings("unchecked")
+		Map<String, String> map = new HashedMap();
+		map.put("warehouseCode", warehouseCode);
+		map.put("userCode", userCode);
+		map.put("remember", remember);
+		return Result.success(map);
+	}
+}

+ 69 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/aop/HouTuAdvice.java

@@ -0,0 +1,69 @@
+package com.lote.wms.api.houtu.aop;
+
+import java.lang.reflect.Method;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.core.MethodParameter;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import com.lote.wms.api.houtu.common.Response;
+import com.lote.wms.common.utils.GsonUtil;
+
+@Aspect
+@Component
+@Order(10)
+public class HouTuAdvice {
+
+	private Logger logger = LoggerFactory.getLogger(HouTuAdvice.class);
+
+	@Around("execution(* com.lote.wms.api.houtu.controller..*.*(..))")
+	public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
+
+		MethodSignature signature = (MethodSignature) proceedingJoinPoint.getSignature();
+		String methodName = signature.getName();
+		Method method = proceedingJoinPoint.getTarget().getClass().getMethod(methodName, signature.getParameterTypes());
+
+		RequestAttributes ra = RequestContextHolder.getRequestAttributes();
+		ServletRequestAttributes sra = (ServletRequestAttributes) ra;
+		HttpServletRequest request = sra.getRequest();
+
+		// 获取签名
+		String dataDigest = request.getHeader("data_digest");
+
+		Object[] args = proceedingJoinPoint.getArgs();
+
+		// 获取报文
+		if (args.length > 0) {
+			Object content =  args[0];
+			// 加密校验 TODO
+			logger.info("获取到的报文为:{}",GsonUtil.toJson(content));
+		}
+
+//		// 填充值
+//		if (args.length > 1) {
+//			MethodParameter methodParameter = new MethodParameter(method, 0);
+//			Class<?> declaringClass = methodParameter.getDeclaringClass();
+//			args[0] = GsonUtil.toObject((String) args[1], declaringClass);
+//		}
+
+		try {
+			return proceedingJoinPoint.proceed(args);
+		} catch (Exception e) {
+			logger.error("系统异常:", e);
+			return Response.fail(e.getMessage());
+		}
+
+	}
+
+}

+ 68 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/common/Response.java

@@ -0,0 +1,68 @@
+package com.lote.wms.api.houtu.common;
+
+import java.io.Serializable;
+
+public class Response implements Serializable{
+
+	private Boolean isSuccess;
+	
+	private String remark;
+	
+	private String code;
+	
+	private Object data;
+
+	public Boolean getIsSuccess() {
+		return isSuccess;
+	}
+
+	public void setIsSuccess(Boolean isSuccess) {
+		this.isSuccess = isSuccess;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+	
+	public static Response success() {
+		Response response = new Response();
+		response.setIsSuccess(true);
+		return response;
+	}
+	public static Response success(Object data) {
+		Response response = new Response();
+		response.setIsSuccess(true);
+		response.setData(data);
+		return response;
+	}
+	
+	public static Response fail(String msg) {
+		Response response = new Response();
+		response.setIsSuccess(false);
+		response.setRemark(msg);
+		return response;
+	}
+
+	public Object getData() {
+		return data;
+	}
+
+	public void setData(Object data) {
+		this.data = data;
+	}
+	
+	
+	
+}

+ 77 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/controller/HouTuController.java

@@ -0,0 +1,77 @@
+package com.lote.wms.api.houtu.controller;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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 com.lote.wms.api.houtu.common.Response;
+import com.lote.wms.api.houtu.entity.customer.Customer;
+import com.lote.wms.api.houtu.entity.shop.Shop;
+import com.lote.wms.api.houtu.service.CustomerHandlerService;
+import com.lote.wms.api.houtu.service.ShopHandlerService;
+import com.lote.wms.api.houtu.service.WarehouseHandlerService;
+import com.lote.wms.server.deploy.entity.Cluster;
+import com.lote.wms.server.deploy.entity.enums.ProjectTypeEnum;
+import com.lote.wms.server.deploy.entity.queryvo.ClusterQueryVo;
+import com.lote.wms.server.deploy.service.ClusterService;
+
+import io.swagger.annotations.ApiOperation;
+
+@RequestMapping("/api/houTu")
+@RestController
+public class HouTuController {
+
+	private Logger logger = LoggerFactory.getLogger(HouTuController.class);
+
+	@Resource
+	private CustomerHandlerService customerHandlerService;
+
+	@Resource
+	private WarehouseHandlerService warehouseHandlerService;
+
+	@Resource
+	private ShopHandlerService shopHandlerService;
+
+	@Resource
+	private ClusterService clusterService;
+
+	/**
+	 * 商家同步
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "customerSync", method = RequestMethod.POST)
+	@ApiOperation(value = " 商家同步", notes = "创建WMS的管理员和货主")
+	public Response customerSync(@RequestBody Customer customer) {
+		return customerHandlerService.customerSync(customer);
+	}
+
+	@RequestMapping(value = "listWarehouse", method = RequestMethod.GET)
+	@ApiOperation(value = "仓库查询", notes = "获取所有仓库以及服务器地址", httpMethod = "GET")
+	public Response listWarehouse() {
+		return warehouseHandlerService.listWarehouse();
+	}
+
+	@RequestMapping(value = "shopSync", method = RequestMethod.POST)
+	@ApiOperation(value = " 同步门店", notes = " 创建门店以及门店管理员信息")
+	public Response shopSync(@RequestBody Shop shop) {
+		return shopHandlerService.productShop(shop);
+	}
+
+	@RequestMapping(value = "shopSelect", method = RequestMethod.GET)
+	@ApiOperation(value = " 门店服务器查询", notes = "查询门店系统服务器地址")
+	public Response shopSelect() {
+		ClusterQueryVo vo = new ClusterQueryVo();
+		vo.setProjectTypeCode(ProjectTypeEnum.SHOP.getCode());
+		Pager<Cluster> list = clusterService.list(vo);
+		return Response.success(list.getList().get(0));
+	}
+
+}

+ 75 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/entity/customer/Customer.java

@@ -0,0 +1,75 @@
+package com.lote.wms.api.houtu.entity.customer;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiParam;
+/**
+ * 货主管理员同步
+ * @author liqigui
+ *
+ */
+public class Customer implements Serializable{
+
+	//用户(货主代码)
+	@ApiModelProperty(value="货主代码",required=true,example="test001")
+    private String code;
+
+    //管理员密码
+    private String password;
+    
+    private String name;
+
+    private String nameEn;
+
+  
+
+    private static final long serialVersionUID = 1L;
+
+    public Customer() {
+        super();
+    }
+
+    
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password == null ? null : password.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public String getNameEn() {
+        return nameEn;
+    }
+
+    public void setNameEn(String nameEn) {
+        this.nameEn = nameEn == null ? null : nameEn.trim();
+    }
+
+   
+   
+
+
+ 
+
+}

+ 85 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/entity/shop/Shop.java

@@ -0,0 +1,85 @@
+package com.lote.wms.api.houtu.entity.shop;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 门店同步
+ * @author liqigui
+ *
+ */
+@ApiModel
+public class Shop implements Serializable{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty("门店代码")
+    private String code;
+
+	@ApiModelProperty("门店名称")
+    private String name;
+
+	@ApiModelProperty("管理员代码")
+    private String adminCode;
+
+	@ApiModelProperty("管理员名称")
+    private String adminName;
+
+	@ApiModelProperty("管理员密码")
+    private String adminPassword;
+ 
+
+    public Shop() {
+        super();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+   
+    public String getAdminCode() {
+        return adminCode;
+    }
+
+    public void setAdminCode(String adminCode) {
+        this.adminCode = adminCode == null ? null : adminCode.trim();
+    }
+
+    public String getAdminName() {
+        return adminName;
+    }
+
+    public void setAdminName(String adminName) {
+        this.adminName = adminName == null ? null : adminName.trim();
+    }
+
+    public String getAdminPassword() {
+        return adminPassword;
+    }
+
+    public void setAdminPassword(String adminPassword) {
+        this.adminPassword = adminPassword == null ? null : adminPassword.trim();
+    }
+
+    
+
+}

+ 16 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/service/CustomerHandlerService.java

@@ -0,0 +1,16 @@
+package com.lote.wms.api.houtu.service;
+/**
+ * 管理员货主service
+ * @author liqigui
+ *
+ */
+
+import com.lote.wms.api.houtu.common.Response;
+import com.lote.wms.api.houtu.entity.customer.Customer;
+
+public interface CustomerHandlerService {
+
+	Response customerSync(Customer customer);
+	
+	
+}

+ 14 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/service/ShopHandlerService.java

@@ -0,0 +1,14 @@
+package com.lote.wms.api.houtu.service;
+
+import com.lote.wms.api.houtu.common.Response;
+import com.lote.wms.api.houtu.entity.shop.Shop;
+
+/**
+ * 门店同步
+ * @author liqigui
+ *
+ */
+public interface ShopHandlerService {
+
+	Response productShop(Shop shop);
+}

+ 8 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/service/WarehouseHandlerService.java

@@ -0,0 +1,8 @@
+package com.lote.wms.api.houtu.service;
+
+import com.lote.wms.api.houtu.common.Response;
+
+public interface WarehouseHandlerService {
+
+	Response listWarehouse();
+}

+ 78 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/service/impl/CustomerHandlerServiceImpl.java

@@ -0,0 +1,78 @@
+package com.lote.wms.api.houtu.service.impl;
+
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.lote.wms.api.houtu.common.Response;
+import com.lote.wms.api.houtu.entity.customer.Customer;
+import com.lote.wms.api.houtu.service.CustomerHandlerService;
+import com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.base.warehouse.service.WarehouseService;
+import com.lote.wms.common.core.db.IdWorkerAide;
+import com.lote.wms.user.customer.entity.queryvo.CustomerStatusEnum;
+import com.lote.wms.user.customer.service.CustomerService;
+import com.lote.wms.user.user.entity.User;
+import com.lote.wms.user.user.entity.UserRoleRelation;
+import com.lote.wms.user.user.entity.enums.UserStatusEnum;
+import com.lote.wms.user.user.service.UserRoleRelationService;
+import com.lote.wms.user.user.service.UserService;
+
+@Service
+public class CustomerHandlerServiceImpl implements CustomerHandlerService{
+
+	@Resource
+	private UserService userService;
+	
+	@Resource
+	private CustomerService customerService;
+	
+	@Resource
+	private WarehouseService warehouseService;
+	
+	@Resource
+	private UserRoleRelationService userRoleRelationService;
+	
+	@Override
+	public Response customerSync(Customer customer) {
+		toCustomer(customer);
+		toAdmin(customer);
+		return Response.success();
+	}
+
+	private void toAdmin(Customer customer) {
+		User user = new User();
+		user.setCode(customer.getCode());
+		user.setName(customer.getName());
+		user.setPassword(customer.getPassword());
+		
+		// 状态
+		user.setStatus(UserStatusEnum.OK.getCode());
+		user.setStatusName(UserStatusEnum.OK.getName());
+		user.setCountLogin(0);
+		user.setCreatedTime(new Date());
+		user = userService.add(user);
+		
+		UserRoleRelation relation = new UserRoleRelation();
+		relation.setId(IdWorkerAide.nextId());
+		relation.setUserCode(user.getCode());
+		relation.setRoleCode("admin");
+		//新增管理员
+		userRoleRelationService.add(relation);
+		 
+	}
+
+	private void toCustomer(Customer customerApi) {
+		com.lote.wms.user.customer.entity.Customer customer = new com.lote.wms.user.customer.entity.Customer();
+		customer.setCode(customerApi.getCode());
+		customer.setName(customerApi.getName());
+		customer.setPassword(customerApi.getPassword());
+		customer.setStatus(CustomerStatusEnum.OK.getCode());
+		customer.setStatusName(CustomerStatusEnum.OK.getName());
+		customer.setCreatedTime(new Date());
+		customerService.add(customer);
+	}
+
+}

+ 35 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/service/impl/ShopHandlerServiceImpl.java

@@ -0,0 +1,35 @@
+package com.lote.wms.api.houtu.service.impl;
+
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import com.lote.wms.api.houtu.common.Response;
+import com.lote.wms.api.houtu.entity.shop.Shop;
+import com.lote.wms.api.houtu.service.ShopHandlerService;
+import com.lote.wms.base.shop.service.ShopService;
+import com.lote.wms.common.utils.BeanUtil;
+
+@Service
+public class ShopHandlerServiceImpl implements ShopHandlerService {
+
+	private Logger logger = LoggerFactory.getLogger(ShopHandlerServiceImpl.class);
+	
+	@Resource
+	private ShopService shopService;
+	
+	@Override
+	public Response productShop(Shop shopApi) {
+		com.lote.wms.base.shop.entity.Shop shop = new com.lote.wms.base.shop.entity.Shop();
+		BeanUtil.copy(shopApi, shop);
+		shop.setCreatedTime(new Date());
+		shop.setInstanceCode("DEFAULT");
+		shopService.addAndSync(shop);
+		return Response.success();
+	}
+
+}

+ 59 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/service/impl/WarehouseHandlerServiceImpl.java

@@ -0,0 +1,59 @@
+package com.lote.wms.api.houtu.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.lote.wms.api.houtu.common.Response;
+import com.lote.wms.api.houtu.service.WarehouseHandlerService;
+import com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.base.warehouse.entity.expend.WarehouseExpend;
+import com.lote.wms.base.warehouse.service.WarehouseService;
+import com.lote.wms.common.utils.BeanUtil;
+import com.lote.wms.server.deploy.entity.Cluster;
+import com.lote.wms.server.deploy.entity.Instance;
+import com.lote.wms.server.deploy.entity.enums.ProjectTypeEnum;
+import com.lote.wms.server.deploy.entity.queryvo.ClusterQueryVo;
+import com.lote.wms.server.deploy.service.ClusterService;
+import com.lote.wms.server.deploy.service.DeployService;
+import com.lote.wms.server.deploy.service.InstanceService;
+
+@Service
+public class WarehouseHandlerServiceImpl implements WarehouseHandlerService{
+
+	@Resource
+	private WarehouseService warehouseService;
+	
+	@Resource
+	private InstanceService instanceService;
+	
+	@Resource
+	private ClusterService clusterService;
+	
+	@Override
+	public Response listWarehouse() {
+		List<WarehouseExpend> warehouseExpendList = new ArrayList<>();
+		//获取实例所在ip
+		List<Warehouse> listAll = warehouseService.listAll();
+		for (Warehouse warehouse : listAll) {
+			WarehouseExpend warehouseExpend = new WarehouseExpend();
+			BeanUtil.copy(warehouse, warehouseExpend);
+			
+			ClusterQueryVo clusterQueryVo = new ClusterQueryVo();
+			clusterQueryVo.setInstanceCode(warehouse.getInstanceCode());
+			clusterQueryVo.setProjectTypeCode(ProjectTypeEnum.OPERATE.getCode());
+			Cluster clusterApi = clusterService.getByInstanceAndProjectType(clusterQueryVo);
+		
+			// clusterApi
+			warehouseExpend.setIp(clusterApi.getIp());
+			warehouseExpend.setPort(Integer.parseInt(clusterApi.getPort()));
+			warehouseExpendList.add(warehouseExpend);
+		}
+		
+		return Response.success(warehouseExpendList);
+	}
+
+}

+ 47 - 0
wms-center/src/main/java/com/lote/wms/api/houtu/swagger/SwaggerConfig.java

@@ -0,0 +1,47 @@
+package com.lote.wms.api.houtu.swagger;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.ParameterBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.schema.ModelRef;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Parameter;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Configuration
+/*@EnableWebMvc
+@EnableSwagger2*/
+public class SwaggerConfig {
+
+	@Bean
+	public Docket createStandardApi() {
+
+		ParameterBuilder tokenPar = new ParameterBuilder();
+		List<Parameter> pars = new ArrayList<Parameter>();
+
+		Parameter parameter = tokenPar.name("data_digest").description("签名").modelRef(new ModelRef("string"))
+				.parameterType("header").required(true).build();
+		pars.add(parameter);
+
+		parameter = tokenPar.name("token").description("来源").modelRef(new ModelRef("string")).parameterType("header")
+				.required(true).build();
+		pars.add(parameter);
+
+		return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).globalOperationParameters(pars).select()
+				.apis(RequestHandlerSelectors.basePackage("com.lote.wms.api.houtu.controller"))
+				.paths(PathSelectors.any()).build();
+
+	}
+
+	private ApiInfo apiInfo() {
+		return new ApiInfoBuilder().title("后土对接").description("WMS控制中心接口")
+				.termsOfServiceUrl("http://localhost:8080/api/").version("1.0").build();
+	}
+}

+ 20 - 0
wms-center/src/main/java/com/lote/wms/base/IndexRedirect.java

@@ -0,0 +1,20 @@
+package com.lote.wms.base;
+
+import com.lote.wms.common.core.web.AbstractController;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * 重定向
+ * @author Scott Chen
+ * @date 2020-08-18
+ */
+@Controller
+public class IndexRedirect extends AbstractController {
+
+    @RequestMapping(value = "/")
+    public String index() {
+        //去首页, 首页会判断是否登录,未登录去登录页。
+        return "redirect:/ui/index.html";
+    }
+}

+ 40 - 0
wms-center/src/main/java/com/lote/wms/base/basic/controller/UploadController.java

@@ -0,0 +1,40 @@
+package com.lote.wms.base.basic.controller;
+
+import javax.annotation.Resource;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.lote.wms.common.config.SystemConfig;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.utils.FileServerClient;
+import com.lote.wms.common.utils.StringUtil;
+
+@RestController
+@RequestMapping("/base/basic/upload")
+public class UploadController {
+
+	@Resource
+	private SystemConfig systemConfig;
+
+	@RequestMapping("upload")
+	public Result upload(@RequestParam(value = "file", required = false) MultipartFile file) throws Exception {
+		if (file == null) {
+			return Result.error("文件不能为空!");
+		}
+
+		if (file.getBytes() == null || file.getBytes().length < 1) {
+			return Result.error("文件不能为空!");
+		}
+
+		// 上传文件服务器
+		String downUrl = FileServerClient.fileUpload(systemConfig.getFileServerUrl(), file.getBytes(),
+				file.getOriginalFilename());
+		if (StringUtil.isEmpty(downUrl)) {
+			return Result.error("上传失败!");
+		}
+		return Result.success("上传成功", downUrl);
+	}
+}

+ 88 - 0
wms-center/src/main/java/com/lote/wms/base/config/controller/ConfigSenderController.java

@@ -0,0 +1,88 @@
+package com.lote.wms.base.config.controller;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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 com.lote.wms.base.config.entity.ConfigSender;
+import com.lote.wms.base.config.entity.queryvo.ConfigSenderQueryVo;
+import com.lote.wms.base.config.service.ConfigSenderService;
+import com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.utils.StringUtil;
+
+@RestController
+@RequestMapping("/base/configSender")
+public class ConfigSenderController extends AbstractController {
+
+	@SuppressWarnings("unused")
+	private static final Logger logger = LoggerFactory.getLogger(ConfigSenderController.class);
+
+	@Resource
+	private ConfigSenderService configSenderService;
+
+	@RequestMapping(value = "/listAll")
+	public Result listAll() {
+		List<ConfigSender> list = configSenderService.listAll();
+		return Result.success(list);
+	}
+
+	/**
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/get")
+	public ConfigSender get(String id) {
+		return configSenderService.get(id);
+	}
+
+	/**
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/add", method = RequestMethod.POST)
+	public Result add(ConfigSender configSender) {
+		if (StringUtil.isEmpty(configSender.getCode())) {
+			return Result.error("寄件人代码不能为空!");
+		}
+		configSenderService.add(configSender);
+		return Result.success("新增寄件人成功!");
+	}
+
+	/**
+	 * 寄件人列表查询
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/list", method = RequestMethod.POST)
+	public Result list(@RequestBody ConfigSenderQueryVo vo) {
+		Pager<ConfigSender> pager = configSenderService.list(vo);
+		return Result.success(pager);
+	}
+
+	/**
+	 * 更新寄件人
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/upd")
+	public Result upd(ConfigSender configSender) {
+		if (StringUtil.isEmpty(configSender.getId())) {
+			return Result.error("寄件人id不能为空!");
+		}
+		configSenderService.update(configSender);
+		return Result.success("更新寄件人成功!");
+	}
+}

+ 21 - 0
wms-center/src/main/java/com/lote/wms/base/config/dao/ConfigSenderMapper.java

@@ -0,0 +1,21 @@
+package com.lote.wms.base.config.dao;
+
+import com.lote.wms.base.config.entity.ConfigSender;
+import com.lote.wms.base.config.entity.ConfigSenderCriteria;
+import java.util.List;
+
+public interface ConfigSenderMapper {
+    int deleteByCondition(ConfigSenderCriteria condition);
+
+    int deleteByPrimaryKey(String id);
+
+    int insertSelective(ConfigSender record);
+
+    List<ConfigSender> selectByConditionList(ConfigSenderCriteria condition);
+
+    ConfigSender selectByPrimaryKey(String id);
+
+    int countByCondition(ConfigSenderCriteria condition);
+
+    int updateByPrimaryKeySelective(ConfigSender record);
+}

+ 382 - 0
wms-center/src/main/java/com/lote/wms/base/config/entity/ConfigSender.java

@@ -0,0 +1,382 @@
+package com.lote.wms.base.config.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class ConfigSender implements Serializable {
+    private String id;
+
+    private String code;
+
+    private String warehouseId;
+
+    private String warehouseCode;
+
+    private String warehouseName;
+
+    private String shipwayCode;
+
+    private String shipwayName;
+
+    private String customerId;
+
+    private String customerCode;
+
+    private String company;
+
+    private String name;
+
+    private String addressLine1;
+
+    private String addressLine2;
+
+    private String province;
+
+    private String city;
+
+    private String county;
+
+    private String postalCode;
+
+    private String countryCode;
+
+    private String countryName;
+
+    private String email;
+
+    private String mobileNumber;
+
+    private String phoneNumber;
+
+    private String identityNumber;
+
+    private String extend1;
+
+    private String extend2;
+
+    private String extend3;
+
+    private String extend4;
+
+    private String extend5;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private String isDefault;
+
+    private String instanceCode;
+
+    private String instanceName;
+
+    private static final long serialVersionUID = 1L;
+
+    public ConfigSender() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(String warehouseId) {
+        this.warehouseId = warehouseId == null ? null : warehouseId.trim();
+    }
+
+    public String getWarehouseCode() {
+        return warehouseCode;
+    }
+
+    public void setWarehouseCode(String warehouseCode) {
+        this.warehouseCode = warehouseCode == null ? null : warehouseCode.trim();
+    }
+
+    public String getWarehouseName() {
+        return warehouseName;
+    }
+
+    public void setWarehouseName(String warehouseName) {
+        this.warehouseName = warehouseName == null ? null : warehouseName.trim();
+    }
+
+    public String getShipwayCode() {
+        return shipwayCode;
+    }
+
+    public void setShipwayCode(String shipwayCode) {
+        this.shipwayCode = shipwayCode == null ? null : shipwayCode.trim();
+    }
+
+    public String getShipwayName() {
+        return shipwayName;
+    }
+
+    public void setShipwayName(String shipwayName) {
+        this.shipwayName = shipwayName == null ? null : shipwayName.trim();
+    }
+
+    public String getCustomerId() {
+        return customerId;
+    }
+
+    public void setCustomerId(String customerId) {
+        this.customerId = customerId == null ? null : customerId.trim();
+    }
+
+    public String getCustomerCode() {
+        return customerCode;
+    }
+
+    public void setCustomerCode(String customerCode) {
+        this.customerCode = customerCode == null ? null : customerCode.trim();
+    }
+
+    public String getCompany() {
+        return company;
+    }
+
+    public void setCompany(String company) {
+        this.company = company == null ? null : company.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public String getAddressLine1() {
+        return addressLine1;
+    }
+
+    public void setAddressLine1(String addressLine1) {
+        this.addressLine1 = addressLine1 == null ? null : addressLine1.trim();
+    }
+
+    public String getAddressLine2() {
+        return addressLine2;
+    }
+
+    public void setAddressLine2(String addressLine2) {
+        this.addressLine2 = addressLine2 == null ? null : addressLine2.trim();
+    }
+
+    public String getProvince() {
+        return province;
+    }
+
+    public void setProvince(String province) {
+        this.province = province == null ? null : province.trim();
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city == null ? null : city.trim();
+    }
+
+    public String getCounty() {
+        return county;
+    }
+
+    public void setCounty(String county) {
+        this.county = county == null ? null : county.trim();
+    }
+
+    public String getPostalCode() {
+        return postalCode;
+    }
+
+    public void setPostalCode(String postalCode) {
+        this.postalCode = postalCode == null ? null : postalCode.trim();
+    }
+
+    public String getCountryCode() {
+        return countryCode;
+    }
+
+    public void setCountryCode(String countryCode) {
+        this.countryCode = countryCode == null ? null : countryCode.trim();
+    }
+
+    public String getCountryName() {
+        return countryName;
+    }
+
+    public void setCountryName(String countryName) {
+        this.countryName = countryName == null ? null : countryName.trim();
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email == null ? null : email.trim();
+    }
+
+    public String getMobileNumber() {
+        return mobileNumber;
+    }
+
+    public void setMobileNumber(String mobileNumber) {
+        this.mobileNumber = mobileNumber == null ? null : mobileNumber.trim();
+    }
+
+    public String getPhoneNumber() {
+        return phoneNumber;
+    }
+
+    public void setPhoneNumber(String phoneNumber) {
+        this.phoneNumber = phoneNumber == null ? null : phoneNumber.trim();
+    }
+
+    public String getIdentityNumber() {
+        return identityNumber;
+    }
+
+    public void setIdentityNumber(String identityNumber) {
+        this.identityNumber = identityNumber == null ? null : identityNumber.trim();
+    }
+
+    public String getExtend1() {
+        return extend1;
+    }
+
+    public void setExtend1(String extend1) {
+        this.extend1 = extend1 == null ? null : extend1.trim();
+    }
+
+    public String getExtend2() {
+        return extend2;
+    }
+
+    public void setExtend2(String extend2) {
+        this.extend2 = extend2 == null ? null : extend2.trim();
+    }
+
+    public String getExtend3() {
+        return extend3;
+    }
+
+    public void setExtend3(String extend3) {
+        this.extend3 = extend3 == null ? null : extend3.trim();
+    }
+
+    public String getExtend4() {
+        return extend4;
+    }
+
+    public void setExtend4(String extend4) {
+        this.extend4 = extend4 == null ? null : extend4.trim();
+    }
+
+    public String getExtend5() {
+        return extend5;
+    }
+
+    public void setExtend5(String extend5) {
+        this.extend5 = extend5 == null ? null : extend5.trim();
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+
+    public String getIsDefault() {
+        return isDefault;
+    }
+
+    public void setIsDefault(String isDefault) {
+        this.isDefault = isDefault == null ? null : isDefault.trim();
+    }
+
+    public String getInstanceCode() {
+        return instanceCode;
+    }
+
+    public void setInstanceCode(String instanceCode) {
+        this.instanceCode = instanceCode == null ? null : instanceCode.trim();
+    }
+
+    public String getInstanceName() {
+        return instanceName;
+    }
+
+    public void setInstanceName(String instanceName) {
+        this.instanceName = instanceName == null ? null : instanceName.trim();
+    }
+}

+ 2772 - 0
wms-center/src/main/java/com/lote/wms/base/config/entity/ConfigSenderCriteria.java

@@ -0,0 +1,2772 @@
+package com.lote.wms.base.config.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.mybatis.plugin.model.QueryParam;
+
+public class ConfigSenderCriteria extends QueryParam {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public ConfigSenderCriteria() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNull() {
+            addCriterion("code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNotNull() {
+            addCriterion("code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeEqualTo(String value) {
+            addCriterion("code =", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotEqualTo(String value) {
+            addCriterion("code <>", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThan(String value) {
+            addCriterion("code >", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("code >=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThan(String value) {
+            addCriterion("code <", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThanOrEqualTo(String value) {
+            addCriterion("code <=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLike(String value) {
+            addCriterion("code like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotLike(String value) {
+            addCriterion("code not like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIn(List<String> values) {
+            addCriterion("code in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotIn(List<String> values) {
+            addCriterion("code not in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeBetween(String value1, String value2) {
+            addCriterion("code between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotBetween(String value1, String value2) {
+            addCriterion("code not between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdIsNull() {
+            addCriterion("warehouse_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdIsNotNull() {
+            addCriterion("warehouse_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdEqualTo(String value) {
+            addCriterion("warehouse_id =", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdNotEqualTo(String value) {
+            addCriterion("warehouse_id <>", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdGreaterThan(String value) {
+            addCriterion("warehouse_id >", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdGreaterThanOrEqualTo(String value) {
+            addCriterion("warehouse_id >=", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdLessThan(String value) {
+            addCriterion("warehouse_id <", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdLessThanOrEqualTo(String value) {
+            addCriterion("warehouse_id <=", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdLike(String value) {
+            addCriterion("warehouse_id like", "%" + value + "%", "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdNotLike(String value) {
+            addCriterion("warehouse_id not like", "%" + value + "%", "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdIn(List<String> values) {
+            addCriterion("warehouse_id in", values, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdNotIn(List<String> values) {
+            addCriterion("warehouse_id not in", values, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdBetween(String value1, String value2) {
+            addCriterion("warehouse_id between", value1, value2, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdNotBetween(String value1, String value2) {
+            addCriterion("warehouse_id not between", value1, value2, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeIsNull() {
+            addCriterion("warehouse_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeIsNotNull() {
+            addCriterion("warehouse_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeEqualTo(String value) {
+            addCriterion("warehouse_code =", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeNotEqualTo(String value) {
+            addCriterion("warehouse_code <>", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeGreaterThan(String value) {
+            addCriterion("warehouse_code >", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("warehouse_code >=", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeLessThan(String value) {
+            addCriterion("warehouse_code <", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeLessThanOrEqualTo(String value) {
+            addCriterion("warehouse_code <=", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeLike(String value) {
+            addCriterion("warehouse_code like", "%" + value + "%", "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeNotLike(String value) {
+            addCriterion("warehouse_code not like", "%" + value + "%", "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeIn(List<String> values) {
+            addCriterion("warehouse_code in", values, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeNotIn(List<String> values) {
+            addCriterion("warehouse_code not in", values, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeBetween(String value1, String value2) {
+            addCriterion("warehouse_code between", value1, value2, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeNotBetween(String value1, String value2) {
+            addCriterion("warehouse_code not between", value1, value2, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameIsNull() {
+            addCriterion("warehouse_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameIsNotNull() {
+            addCriterion("warehouse_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameEqualTo(String value) {
+            addCriterion("warehouse_name =", value, "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameNotEqualTo(String value) {
+            addCriterion("warehouse_name <>", value, "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameGreaterThan(String value) {
+            addCriterion("warehouse_name >", value, "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameGreaterThanOrEqualTo(String value) {
+            addCriterion("warehouse_name >=", value, "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameLessThan(String value) {
+            addCriterion("warehouse_name <", value, "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameLessThanOrEqualTo(String value) {
+            addCriterion("warehouse_name <=", value, "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameLike(String value) {
+            addCriterion("warehouse_name like", "%" + value + "%", "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameNotLike(String value) {
+            addCriterion("warehouse_name not like", "%" + value + "%", "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameIn(List<String> values) {
+            addCriterion("warehouse_name in", values, "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameNotIn(List<String> values) {
+            addCriterion("warehouse_name not in", values, "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameBetween(String value1, String value2) {
+            addCriterion("warehouse_name between", value1, value2, "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseNameNotBetween(String value1, String value2) {
+            addCriterion("warehouse_name not between", value1, value2, "warehouseName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeIsNull() {
+            addCriterion("shipway_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeIsNotNull() {
+            addCriterion("shipway_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeEqualTo(String value) {
+            addCriterion("shipway_code =", value, "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeNotEqualTo(String value) {
+            addCriterion("shipway_code <>", value, "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeGreaterThan(String value) {
+            addCriterion("shipway_code >", value, "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("shipway_code >=", value, "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeLessThan(String value) {
+            addCriterion("shipway_code <", value, "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeLessThanOrEqualTo(String value) {
+            addCriterion("shipway_code <=", value, "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeLike(String value) {
+            addCriterion("shipway_code like", "%" + value + "%", "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeNotLike(String value) {
+            addCriterion("shipway_code not like", "%" + value + "%", "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeIn(List<String> values) {
+            addCriterion("shipway_code in", values, "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeNotIn(List<String> values) {
+            addCriterion("shipway_code not in", values, "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeBetween(String value1, String value2) {
+            addCriterion("shipway_code between", value1, value2, "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayCodeNotBetween(String value1, String value2) {
+            addCriterion("shipway_code not between", value1, value2, "shipwayCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameIsNull() {
+            addCriterion("shipway_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameIsNotNull() {
+            addCriterion("shipway_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameEqualTo(String value) {
+            addCriterion("shipway_name =", value, "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameNotEqualTo(String value) {
+            addCriterion("shipway_name <>", value, "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameGreaterThan(String value) {
+            addCriterion("shipway_name >", value, "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameGreaterThanOrEqualTo(String value) {
+            addCriterion("shipway_name >=", value, "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameLessThan(String value) {
+            addCriterion("shipway_name <", value, "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameLessThanOrEqualTo(String value) {
+            addCriterion("shipway_name <=", value, "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameLike(String value) {
+            addCriterion("shipway_name like", "%" + value + "%", "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameNotLike(String value) {
+            addCriterion("shipway_name not like", "%" + value + "%", "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameIn(List<String> values) {
+            addCriterion("shipway_name in", values, "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameNotIn(List<String> values) {
+            addCriterion("shipway_name not in", values, "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameBetween(String value1, String value2) {
+            addCriterion("shipway_name between", value1, value2, "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andShipwayNameNotBetween(String value1, String value2) {
+            addCriterion("shipway_name not between", value1, value2, "shipwayName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdIsNull() {
+            addCriterion("customer_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdIsNotNull() {
+            addCriterion("customer_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdEqualTo(String value) {
+            addCriterion("customer_id =", value, "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdNotEqualTo(String value) {
+            addCriterion("customer_id <>", value, "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdGreaterThan(String value) {
+            addCriterion("customer_id >", value, "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdGreaterThanOrEqualTo(String value) {
+            addCriterion("customer_id >=", value, "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdLessThan(String value) {
+            addCriterion("customer_id <", value, "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdLessThanOrEqualTo(String value) {
+            addCriterion("customer_id <=", value, "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdLike(String value) {
+            addCriterion("customer_id like", "%" + value + "%", "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdNotLike(String value) {
+            addCriterion("customer_id not like", "%" + value + "%", "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdIn(List<String> values) {
+            addCriterion("customer_id in", values, "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdNotIn(List<String> values) {
+            addCriterion("customer_id not in", values, "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdBetween(String value1, String value2) {
+            addCriterion("customer_id between", value1, value2, "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerIdNotBetween(String value1, String value2) {
+            addCriterion("customer_id not between", value1, value2, "customerId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeIsNull() {
+            addCriterion("customer_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeIsNotNull() {
+            addCriterion("customer_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeEqualTo(String value) {
+            addCriterion("customer_code =", value, "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeNotEqualTo(String value) {
+            addCriterion("customer_code <>", value, "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeGreaterThan(String value) {
+            addCriterion("customer_code >", value, "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("customer_code >=", value, "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeLessThan(String value) {
+            addCriterion("customer_code <", value, "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeLessThanOrEqualTo(String value) {
+            addCriterion("customer_code <=", value, "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeLike(String value) {
+            addCriterion("customer_code like", "%" + value + "%", "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeNotLike(String value) {
+            addCriterion("customer_code not like", "%" + value + "%", "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeIn(List<String> values) {
+            addCriterion("customer_code in", values, "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeNotIn(List<String> values) {
+            addCriterion("customer_code not in", values, "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeBetween(String value1, String value2) {
+            addCriterion("customer_code between", value1, value2, "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCustomerCodeNotBetween(String value1, String value2) {
+            addCriterion("customer_code not between", value1, value2, "customerCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIsNull() {
+            addCriterion("company is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIsNotNull() {
+            addCriterion("company is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyEqualTo(String value) {
+            addCriterion("company =", value, "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyNotEqualTo(String value) {
+            addCriterion("company <>", value, "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyGreaterThan(String value) {
+            addCriterion("company >", value, "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyGreaterThanOrEqualTo(String value) {
+            addCriterion("company >=", value, "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyLessThan(String value) {
+            addCriterion("company <", value, "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyLessThanOrEqualTo(String value) {
+            addCriterion("company <=", value, "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyLike(String value) {
+            addCriterion("company like", "%" + value + "%", "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyNotLike(String value) {
+            addCriterion("company not like", "%" + value + "%", "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyIn(List<String> values) {
+            addCriterion("company in", values, "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyNotIn(List<String> values) {
+            addCriterion("company not in", values, "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyBetween(String value1, String value2) {
+            addCriterion("company between", value1, value2, "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andCompanyNotBetween(String value1, String value2) {
+            addCriterion("company not between", value1, value2, "company");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNull() {
+            addCriterion("name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNotNull() {
+            addCriterion("name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEqualTo(String value) {
+            addCriterion("name =", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotEqualTo(String value) {
+            addCriterion("name <>", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThan(String value) {
+            addCriterion("name >", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThanOrEqualTo(String value) {
+            addCriterion("name >=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThan(String value) {
+            addCriterion("name <", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThanOrEqualTo(String value) {
+            addCriterion("name <=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLike(String value) {
+            addCriterion("name like", "%" + value + "%", "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotLike(String value) {
+            addCriterion("name not like", "%" + value + "%", "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIn(List<String> values) {
+            addCriterion("name in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotIn(List<String> values) {
+            addCriterion("name not in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameBetween(String value1, String value2) {
+            addCriterion("name between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotBetween(String value1, String value2) {
+            addCriterion("name not between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1IsNull() {
+            addCriterion("address_line1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1IsNotNull() {
+            addCriterion("address_line1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1EqualTo(String value) {
+            addCriterion("address_line1 =", value, "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1NotEqualTo(String value) {
+            addCriterion("address_line1 <>", value, "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1GreaterThan(String value) {
+            addCriterion("address_line1 >", value, "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1GreaterThanOrEqualTo(String value) {
+            addCriterion("address_line1 >=", value, "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1LessThan(String value) {
+            addCriterion("address_line1 <", value, "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1LessThanOrEqualTo(String value) {
+            addCriterion("address_line1 <=", value, "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1Like(String value) {
+            addCriterion("address_line1 like", "%" + value + "%", "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1NotLike(String value) {
+            addCriterion("address_line1 not like", "%" + value + "%", "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1In(List<String> values) {
+            addCriterion("address_line1 in", values, "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1NotIn(List<String> values) {
+            addCriterion("address_line1 not in", values, "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1Between(String value1, String value2) {
+            addCriterion("address_line1 between", value1, value2, "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine1NotBetween(String value1, String value2) {
+            addCriterion("address_line1 not between", value1, value2, "addressLine1");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2IsNull() {
+            addCriterion("address_line2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2IsNotNull() {
+            addCriterion("address_line2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2EqualTo(String value) {
+            addCriterion("address_line2 =", value, "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2NotEqualTo(String value) {
+            addCriterion("address_line2 <>", value, "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2GreaterThan(String value) {
+            addCriterion("address_line2 >", value, "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2GreaterThanOrEqualTo(String value) {
+            addCriterion("address_line2 >=", value, "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2LessThan(String value) {
+            addCriterion("address_line2 <", value, "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2LessThanOrEqualTo(String value) {
+            addCriterion("address_line2 <=", value, "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2Like(String value) {
+            addCriterion("address_line2 like", "%" + value + "%", "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2NotLike(String value) {
+            addCriterion("address_line2 not like", "%" + value + "%", "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2In(List<String> values) {
+            addCriterion("address_line2 in", values, "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2NotIn(List<String> values) {
+            addCriterion("address_line2 not in", values, "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2Between(String value1, String value2) {
+            addCriterion("address_line2 between", value1, value2, "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLine2NotBetween(String value1, String value2) {
+            addCriterion("address_line2 not between", value1, value2, "addressLine2");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceIsNull() {
+            addCriterion("province is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceIsNotNull() {
+            addCriterion("province is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceEqualTo(String value) {
+            addCriterion("province =", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceNotEqualTo(String value) {
+            addCriterion("province <>", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceGreaterThan(String value) {
+            addCriterion("province >", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceGreaterThanOrEqualTo(String value) {
+            addCriterion("province >=", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceLessThan(String value) {
+            addCriterion("province <", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceLessThanOrEqualTo(String value) {
+            addCriterion("province <=", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceLike(String value) {
+            addCriterion("province like", "%" + value + "%", "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceNotLike(String value) {
+            addCriterion("province not like", "%" + value + "%", "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceIn(List<String> values) {
+            addCriterion("province in", values, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceNotIn(List<String> values) {
+            addCriterion("province not in", values, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceBetween(String value1, String value2) {
+            addCriterion("province between", value1, value2, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceNotBetween(String value1, String value2) {
+            addCriterion("province not between", value1, value2, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityIsNull() {
+            addCriterion("city is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityIsNotNull() {
+            addCriterion("city is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityEqualTo(String value) {
+            addCriterion("city =", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityNotEqualTo(String value) {
+            addCriterion("city <>", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityGreaterThan(String value) {
+            addCriterion("city >", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityGreaterThanOrEqualTo(String value) {
+            addCriterion("city >=", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityLessThan(String value) {
+            addCriterion("city <", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityLessThanOrEqualTo(String value) {
+            addCriterion("city <=", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityLike(String value) {
+            addCriterion("city like", "%" + value + "%", "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityNotLike(String value) {
+            addCriterion("city not like", "%" + value + "%", "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityIn(List<String> values) {
+            addCriterion("city in", values, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityNotIn(List<String> values) {
+            addCriterion("city not in", values, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityBetween(String value1, String value2) {
+            addCriterion("city between", value1, value2, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityNotBetween(String value1, String value2) {
+            addCriterion("city not between", value1, value2, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyIsNull() {
+            addCriterion("county is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyIsNotNull() {
+            addCriterion("county is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyEqualTo(String value) {
+            addCriterion("county =", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyNotEqualTo(String value) {
+            addCriterion("county <>", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyGreaterThan(String value) {
+            addCriterion("county >", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyGreaterThanOrEqualTo(String value) {
+            addCriterion("county >=", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyLessThan(String value) {
+            addCriterion("county <", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyLessThanOrEqualTo(String value) {
+            addCriterion("county <=", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyLike(String value) {
+            addCriterion("county like", "%" + value + "%", "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyNotLike(String value) {
+            addCriterion("county not like", "%" + value + "%", "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyIn(List<String> values) {
+            addCriterion("county in", values, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyNotIn(List<String> values) {
+            addCriterion("county not in", values, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyBetween(String value1, String value2) {
+            addCriterion("county between", value1, value2, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyNotBetween(String value1, String value2) {
+            addCriterion("county not between", value1, value2, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeIsNull() {
+            addCriterion("postal_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeIsNotNull() {
+            addCriterion("postal_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeEqualTo(String value) {
+            addCriterion("postal_code =", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeNotEqualTo(String value) {
+            addCriterion("postal_code <>", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeGreaterThan(String value) {
+            addCriterion("postal_code >", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("postal_code >=", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeLessThan(String value) {
+            addCriterion("postal_code <", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeLessThanOrEqualTo(String value) {
+            addCriterion("postal_code <=", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeLike(String value) {
+            addCriterion("postal_code like", "%" + value + "%", "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeNotLike(String value) {
+            addCriterion("postal_code not like", "%" + value + "%", "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeIn(List<String> values) {
+            addCriterion("postal_code in", values, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeNotIn(List<String> values) {
+            addCriterion("postal_code not in", values, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeBetween(String value1, String value2) {
+            addCriterion("postal_code between", value1, value2, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeNotBetween(String value1, String value2) {
+            addCriterion("postal_code not between", value1, value2, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeIsNull() {
+            addCriterion("country_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeIsNotNull() {
+            addCriterion("country_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeEqualTo(String value) {
+            addCriterion("country_code =", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotEqualTo(String value) {
+            addCriterion("country_code <>", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeGreaterThan(String value) {
+            addCriterion("country_code >", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("country_code >=", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeLessThan(String value) {
+            addCriterion("country_code <", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeLessThanOrEqualTo(String value) {
+            addCriterion("country_code <=", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeLike(String value) {
+            addCriterion("country_code like", "%" + value + "%", "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotLike(String value) {
+            addCriterion("country_code not like", "%" + value + "%", "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeIn(List<String> values) {
+            addCriterion("country_code in", values, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotIn(List<String> values) {
+            addCriterion("country_code not in", values, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeBetween(String value1, String value2) {
+            addCriterion("country_code between", value1, value2, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotBetween(String value1, String value2) {
+            addCriterion("country_code not between", value1, value2, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameIsNull() {
+            addCriterion("country_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameIsNotNull() {
+            addCriterion("country_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameEqualTo(String value) {
+            addCriterion("country_name =", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameNotEqualTo(String value) {
+            addCriterion("country_name <>", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameGreaterThan(String value) {
+            addCriterion("country_name >", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameGreaterThanOrEqualTo(String value) {
+            addCriterion("country_name >=", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameLessThan(String value) {
+            addCriterion("country_name <", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameLessThanOrEqualTo(String value) {
+            addCriterion("country_name <=", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameLike(String value) {
+            addCriterion("country_name like", "%" + value + "%", "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameNotLike(String value) {
+            addCriterion("country_name not like", "%" + value + "%", "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameIn(List<String> values) {
+            addCriterion("country_name in", values, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameNotIn(List<String> values) {
+            addCriterion("country_name not in", values, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameBetween(String value1, String value2) {
+            addCriterion("country_name between", value1, value2, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameNotBetween(String value1, String value2) {
+            addCriterion("country_name not between", value1, value2, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailIsNull() {
+            addCriterion("email is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailIsNotNull() {
+            addCriterion("email is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailEqualTo(String value) {
+            addCriterion("email =", value, "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailNotEqualTo(String value) {
+            addCriterion("email <>", value, "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailGreaterThan(String value) {
+            addCriterion("email >", value, "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailGreaterThanOrEqualTo(String value) {
+            addCriterion("email >=", value, "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailLessThan(String value) {
+            addCriterion("email <", value, "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailLessThanOrEqualTo(String value) {
+            addCriterion("email <=", value, "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailLike(String value) {
+            addCriterion("email like", "%" + value + "%", "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailNotLike(String value) {
+            addCriterion("email not like", "%" + value + "%", "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailIn(List<String> values) {
+            addCriterion("email in", values, "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailNotIn(List<String> values) {
+            addCriterion("email not in", values, "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailBetween(String value1, String value2) {
+            addCriterion("email between", value1, value2, "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andEmailNotBetween(String value1, String value2) {
+            addCriterion("email not between", value1, value2, "email");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberIsNull() {
+            addCriterion("mobile_number is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberIsNotNull() {
+            addCriterion("mobile_number is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberEqualTo(String value) {
+            addCriterion("mobile_number =", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberNotEqualTo(String value) {
+            addCriterion("mobile_number <>", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberGreaterThan(String value) {
+            addCriterion("mobile_number >", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberGreaterThanOrEqualTo(String value) {
+            addCriterion("mobile_number >=", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberLessThan(String value) {
+            addCriterion("mobile_number <", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberLessThanOrEqualTo(String value) {
+            addCriterion("mobile_number <=", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberLike(String value) {
+            addCriterion("mobile_number like", "%" + value + "%", "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberNotLike(String value) {
+            addCriterion("mobile_number not like", "%" + value + "%", "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberIn(List<String> values) {
+            addCriterion("mobile_number in", values, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberNotIn(List<String> values) {
+            addCriterion("mobile_number not in", values, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberBetween(String value1, String value2) {
+            addCriterion("mobile_number between", value1, value2, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberNotBetween(String value1, String value2) {
+            addCriterion("mobile_number not between", value1, value2, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberIsNull() {
+            addCriterion("phone_number is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberIsNotNull() {
+            addCriterion("phone_number is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberEqualTo(String value) {
+            addCriterion("phone_number =", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberNotEqualTo(String value) {
+            addCriterion("phone_number <>", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberGreaterThan(String value) {
+            addCriterion("phone_number >", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberGreaterThanOrEqualTo(String value) {
+            addCriterion("phone_number >=", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberLessThan(String value) {
+            addCriterion("phone_number <", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberLessThanOrEqualTo(String value) {
+            addCriterion("phone_number <=", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberLike(String value) {
+            addCriterion("phone_number like", "%" + value + "%", "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberNotLike(String value) {
+            addCriterion("phone_number not like", "%" + value + "%", "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberIn(List<String> values) {
+            addCriterion("phone_number in", values, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberNotIn(List<String> values) {
+            addCriterion("phone_number not in", values, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberBetween(String value1, String value2) {
+            addCriterion("phone_number between", value1, value2, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberNotBetween(String value1, String value2) {
+            addCriterion("phone_number not between", value1, value2, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberIsNull() {
+            addCriterion("identity_number is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberIsNotNull() {
+            addCriterion("identity_number is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberEqualTo(String value) {
+            addCriterion("identity_number =", value, "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberNotEqualTo(String value) {
+            addCriterion("identity_number <>", value, "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberGreaterThan(String value) {
+            addCriterion("identity_number >", value, "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberGreaterThanOrEqualTo(String value) {
+            addCriterion("identity_number >=", value, "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberLessThan(String value) {
+            addCriterion("identity_number <", value, "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberLessThanOrEqualTo(String value) {
+            addCriterion("identity_number <=", value, "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberLike(String value) {
+            addCriterion("identity_number like", "%" + value + "%", "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberNotLike(String value) {
+            addCriterion("identity_number not like", "%" + value + "%", "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberIn(List<String> values) {
+            addCriterion("identity_number in", values, "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberNotIn(List<String> values) {
+            addCriterion("identity_number not in", values, "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberBetween(String value1, String value2) {
+            addCriterion("identity_number between", value1, value2, "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdentityNumberNotBetween(String value1, String value2) {
+            addCriterion("identity_number not between", value1, value2, "identityNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNull() {
+            addCriterion("extend1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNotNull() {
+            addCriterion("extend1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1EqualTo(String value) {
+            addCriterion("extend1 =", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotEqualTo(String value) {
+            addCriterion("extend1 <>", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThan(String value) {
+            addCriterion("extend1 >", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThanOrEqualTo(String value) {
+            addCriterion("extend1 >=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThan(String value) {
+            addCriterion("extend1 <", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThanOrEqualTo(String value) {
+            addCriterion("extend1 <=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Like(String value) {
+            addCriterion("extend1 like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotLike(String value) {
+            addCriterion("extend1 not like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1In(List<String> values) {
+            addCriterion("extend1 in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotIn(List<String> values) {
+            addCriterion("extend1 not in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Between(String value1, String value2) {
+            addCriterion("extend1 between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotBetween(String value1, String value2) {
+            addCriterion("extend1 not between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNull() {
+            addCriterion("extend2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNotNull() {
+            addCriterion("extend2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2EqualTo(String value) {
+            addCriterion("extend2 =", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotEqualTo(String value) {
+            addCriterion("extend2 <>", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThan(String value) {
+            addCriterion("extend2 >", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThanOrEqualTo(String value) {
+            addCriterion("extend2 >=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThan(String value) {
+            addCriterion("extend2 <", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThanOrEqualTo(String value) {
+            addCriterion("extend2 <=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Like(String value) {
+            addCriterion("extend2 like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotLike(String value) {
+            addCriterion("extend2 not like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2In(List<String> values) {
+            addCriterion("extend2 in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotIn(List<String> values) {
+            addCriterion("extend2 not in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Between(String value1, String value2) {
+            addCriterion("extend2 between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotBetween(String value1, String value2) {
+            addCriterion("extend2 not between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3IsNull() {
+            addCriterion("extend3 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3IsNotNull() {
+            addCriterion("extend3 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3EqualTo(String value) {
+            addCriterion("extend3 =", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotEqualTo(String value) {
+            addCriterion("extend3 <>", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3GreaterThan(String value) {
+            addCriterion("extend3 >", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3GreaterThanOrEqualTo(String value) {
+            addCriterion("extend3 >=", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3LessThan(String value) {
+            addCriterion("extend3 <", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3LessThanOrEqualTo(String value) {
+            addCriterion("extend3 <=", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3Like(String value) {
+            addCriterion("extend3 like", "%" + value + "%", "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotLike(String value) {
+            addCriterion("extend3 not like", "%" + value + "%", "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3In(List<String> values) {
+            addCriterion("extend3 in", values, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotIn(List<String> values) {
+            addCriterion("extend3 not in", values, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3Between(String value1, String value2) {
+            addCriterion("extend3 between", value1, value2, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotBetween(String value1, String value2) {
+            addCriterion("extend3 not between", value1, value2, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4IsNull() {
+            addCriterion("extend4 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4IsNotNull() {
+            addCriterion("extend4 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4EqualTo(String value) {
+            addCriterion("extend4 =", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotEqualTo(String value) {
+            addCriterion("extend4 <>", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4GreaterThan(String value) {
+            addCriterion("extend4 >", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4GreaterThanOrEqualTo(String value) {
+            addCriterion("extend4 >=", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4LessThan(String value) {
+            addCriterion("extend4 <", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4LessThanOrEqualTo(String value) {
+            addCriterion("extend4 <=", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4Like(String value) {
+            addCriterion("extend4 like", "%" + value + "%", "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotLike(String value) {
+            addCriterion("extend4 not like", "%" + value + "%", "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4In(List<String> values) {
+            addCriterion("extend4 in", values, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotIn(List<String> values) {
+            addCriterion("extend4 not in", values, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4Between(String value1, String value2) {
+            addCriterion("extend4 between", value1, value2, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotBetween(String value1, String value2) {
+            addCriterion("extend4 not between", value1, value2, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5IsNull() {
+            addCriterion("extend5 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5IsNotNull() {
+            addCriterion("extend5 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5EqualTo(String value) {
+            addCriterion("extend5 =", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotEqualTo(String value) {
+            addCriterion("extend5 <>", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5GreaterThan(String value) {
+            addCriterion("extend5 >", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5GreaterThanOrEqualTo(String value) {
+            addCriterion("extend5 >=", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5LessThan(String value) {
+            addCriterion("extend5 <", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5LessThanOrEqualTo(String value) {
+            addCriterion("extend5 <=", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5Like(String value) {
+            addCriterion("extend5 like", "%" + value + "%", "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotLike(String value) {
+            addCriterion("extend5 not like", "%" + value + "%", "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5In(List<String> values) {
+            addCriterion("extend5 in", values, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotIn(List<String> values) {
+            addCriterion("extend5 not in", values, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5Between(String value1, String value2) {
+            addCriterion("extend5 between", value1, value2, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotBetween(String value1, String value2) {
+            addCriterion("extend5 not between", value1, value2, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNull() {
+            addCriterion("created_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNotNull() {
+            addCriterion("created_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeEqualTo(Date value) {
+            addCriterion("created_time =", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotEqualTo(Date value) {
+            addCriterion("created_time <>", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThan(Date value) {
+            addCriterion("created_time >", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("created_time >=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThan(Date value) {
+            addCriterion("created_time <", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
+            addCriterion("created_time <=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIn(List<Date> values) {
+            addCriterion("created_time in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotIn(List<Date> values) {
+            addCriterion("created_time not in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
+            addCriterion("created_time between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
+            addCriterion("created_time not between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNull() {
+            addCriterion("created_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNotNull() {
+            addCriterion("created_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdEqualTo(String value) {
+            addCriterion("created_by_user_id =", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotEqualTo(String value) {
+            addCriterion("created_by_user_id <>", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThan(String value) {
+            addCriterion("created_by_user_id >", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id >=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThan(String value) {
+            addCriterion("created_by_user_id <", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id <=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLike(String value) {
+            addCriterion("created_by_user_id like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotLike(String value) {
+            addCriterion("created_by_user_id not like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIn(List<String> values) {
+            addCriterion("created_by_user_id in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotIn(List<String> values) {
+            addCriterion("created_by_user_id not in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdBetween(String value1, String value2) {
+            addCriterion("created_by_user_id between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_id not between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNull() {
+            addCriterion("created_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNotNull() {
+            addCriterion("created_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeEqualTo(String value) {
+            addCriterion("created_by_user_code =", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotEqualTo(String value) {
+            addCriterion("created_by_user_code <>", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThan(String value) {
+            addCriterion("created_by_user_code >", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code >=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThan(String value) {
+            addCriterion("created_by_user_code <", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code <=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLike(String value) {
+            addCriterion("created_by_user_code like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotLike(String value) {
+            addCriterion("created_by_user_code not like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIn(List<String> values) {
+            addCriterion("created_by_user_code in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotIn(List<String> values) {
+            addCriterion("created_by_user_code not in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeBetween(String value1, String value2) {
+            addCriterion("created_by_user_code between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_code not between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNull() {
+            addCriterion("update_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNotNull() {
+            addCriterion("update_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdEqualTo(String value) {
+            addCriterion("update_by_user_id =", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotEqualTo(String value) {
+            addCriterion("update_by_user_id <>", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThan(String value) {
+            addCriterion("update_by_user_id >", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id >=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThan(String value) {
+            addCriterion("update_by_user_id <", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id <=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLike(String value) {
+            addCriterion("update_by_user_id like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotLike(String value) {
+            addCriterion("update_by_user_id not like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIn(List<String> values) {
+            addCriterion("update_by_user_id in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotIn(List<String> values) {
+            addCriterion("update_by_user_id not in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdBetween(String value1, String value2) {
+            addCriterion("update_by_user_id between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_id not between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNull() {
+            addCriterion("update_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNotNull() {
+            addCriterion("update_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeEqualTo(String value) {
+            addCriterion("update_by_user_code =", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotEqualTo(String value) {
+            addCriterion("update_by_user_code <>", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThan(String value) {
+            addCriterion("update_by_user_code >", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code >=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThan(String value) {
+            addCriterion("update_by_user_code <", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code <=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLike(String value) {
+            addCriterion("update_by_user_code like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotLike(String value) {
+            addCriterion("update_by_user_code not like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIn(List<String> values) {
+            addCriterion("update_by_user_code in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotIn(List<String> values) {
+            addCriterion("update_by_user_code not in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeBetween(String value1, String value2) {
+            addCriterion("update_by_user_code between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_code not between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultIsNull() {
+            addCriterion("is_default is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultIsNotNull() {
+            addCriterion("is_default is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultEqualTo(String value) {
+            addCriterion("is_default =", value, "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultNotEqualTo(String value) {
+            addCriterion("is_default <>", value, "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultGreaterThan(String value) {
+            addCriterion("is_default >", value, "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultGreaterThanOrEqualTo(String value) {
+            addCriterion("is_default >=", value, "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultLessThan(String value) {
+            addCriterion("is_default <", value, "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultLessThanOrEqualTo(String value) {
+            addCriterion("is_default <=", value, "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultLike(String value) {
+            addCriterion("is_default like", "%" + value + "%", "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultNotLike(String value) {
+            addCriterion("is_default not like", "%" + value + "%", "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultIn(List<String> values) {
+            addCriterion("is_default in", values, "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultNotIn(List<String> values) {
+            addCriterion("is_default not in", values, "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultBetween(String value1, String value2) {
+            addCriterion("is_default between", value1, value2, "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDefaultNotBetween(String value1, String value2) {
+            addCriterion("is_default not between", value1, value2, "isDefault");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeIsNull() {
+            addCriterion("instance_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeIsNotNull() {
+            addCriterion("instance_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeEqualTo(String value) {
+            addCriterion("instance_code =", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotEqualTo(String value) {
+            addCriterion("instance_code <>", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeGreaterThan(String value) {
+            addCriterion("instance_code >", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("instance_code >=", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeLessThan(String value) {
+            addCriterion("instance_code <", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeLessThanOrEqualTo(String value) {
+            addCriterion("instance_code <=", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeLike(String value) {
+            addCriterion("instance_code like", "%" + value + "%", "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotLike(String value) {
+            addCriterion("instance_code not like", "%" + value + "%", "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeIn(List<String> values) {
+            addCriterion("instance_code in", values, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotIn(List<String> values) {
+            addCriterion("instance_code not in", values, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeBetween(String value1, String value2) {
+            addCriterion("instance_code between", value1, value2, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotBetween(String value1, String value2) {
+            addCriterion("instance_code not between", value1, value2, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameIsNull() {
+            addCriterion("instance_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameIsNotNull() {
+            addCriterion("instance_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameEqualTo(String value) {
+            addCriterion("instance_name =", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotEqualTo(String value) {
+            addCriterion("instance_name <>", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameGreaterThan(String value) {
+            addCriterion("instance_name >", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameGreaterThanOrEqualTo(String value) {
+            addCriterion("instance_name >=", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameLessThan(String value) {
+            addCriterion("instance_name <", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameLessThanOrEqualTo(String value) {
+            addCriterion("instance_name <=", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameLike(String value) {
+            addCriterion("instance_name like", "%" + value + "%", "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotLike(String value) {
+            addCriterion("instance_name not like", "%" + value + "%", "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameIn(List<String> values) {
+            addCriterion("instance_name in", values, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotIn(List<String> values) {
+            addCriterion("instance_name not in", values, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameBetween(String value1, String value2) {
+            addCriterion("instance_name between", value1, value2, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotBetween(String value1, String value2) {
+            addCriterion("instance_name not between", value1, value2, "instanceName");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 126 - 0
wms-center/src/main/java/com/lote/wms/base/config/entity/queryvo/ConfigSenderQueryVo.java

@@ -0,0 +1,126 @@
+package com.lote.wms.base.config.entity.queryvo;
+
+import org.mybatis.plugin.model.QueryParam;
+
+public class ConfigSenderQueryVo extends QueryParam {
+	private String code;
+
+	private String warehouseId;
+
+	private String warehouseCode;
+
+	private String warehouseName;
+
+	private String shipwayCode;
+
+	private String shipwayName;
+
+	private String customerId;
+
+	private String customerCode;
+
+	private String company;
+
+	private String name;
+
+	private String createdTimeBegin;
+
+	private String createdTimeEnd;
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getWarehouseCode() {
+		return warehouseCode;
+	}
+
+	public void setWarehouseCode(String warehouseCode) {
+		this.warehouseCode = warehouseCode;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getShipwayCode() {
+		return shipwayCode;
+	}
+
+	public void setShipwayCode(String shipwayCode) {
+		this.shipwayCode = shipwayCode;
+	}
+
+	public String getShipwayName() {
+		return shipwayName;
+	}
+
+	public void setShipwayName(String shipwayName) {
+		this.shipwayName = shipwayName;
+	}
+
+	public String getCustomerId() {
+		return customerId;
+	}
+
+	public void setCustomerId(String customerId) {
+		this.customerId = customerId;
+	}
+
+	public String getCustomerCode() {
+		return customerCode;
+	}
+
+	public void setCustomerCode(String customerCode) {
+		this.customerCode = customerCode;
+	}
+
+	public String getCompany() {
+		return company;
+	}
+
+	public void setCompany(String company) {
+		this.company = company;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getCreatedTimeBegin() {
+		return createdTimeBegin;
+	}
+
+	public void setCreatedTimeBegin(String createdTimeBegin) {
+		this.createdTimeBegin = createdTimeBegin;
+	}
+
+	public String getCreatedTimeEnd() {
+		return createdTimeEnd;
+	}
+
+	public void setCreatedTimeEnd(String createdTimeEnd) {
+		this.createdTimeEnd = createdTimeEnd;
+	}
+
+}

+ 26 - 0
wms-center/src/main/java/com/lote/wms/base/config/service/ConfigSenderService.java

@@ -0,0 +1,26 @@
+package com.lote.wms.base.config.service;
+
+import com.lote.wms.base.config.entity.ConfigSender;
+import com.lote.wms.base.config.entity.queryvo.ConfigSenderQueryVo;
+
+import java.util.List;
+
+import org.mybatis.plugin.model.Pager;
+
+public interface ConfigSenderService {
+	ConfigSender add(ConfigSender record);
+
+	boolean delete(String id);
+
+	ConfigSender update(ConfigSender record);
+
+	ConfigSender get(String id);
+
+	ConfigSender getByCode(String code);
+	
+	Pager<ConfigSender> list(int page, int limit);
+
+	Pager<ConfigSender> list(ConfigSenderQueryVo vo);
+
+	List<ConfigSender> listAll();
+}

+ 103 - 0
wms-center/src/main/java/com/lote/wms/base/config/service/impl/ConfigSenderServiceImpl.java

@@ -0,0 +1,103 @@
+package com.lote.wms.base.config.service.impl;
+
+import com.lote.wms.base.config.dao.ConfigSenderMapper;
+import com.lote.wms.base.config.entity.ConfigSender;
+import com.lote.wms.base.config.entity.ConfigSenderCriteria.Criteria;
+import com.lote.wms.base.config.entity.queryvo.ConfigSenderQueryVo;
+import com.lote.wms.base.config.entity.ConfigSenderCriteria;
+import com.lote.wms.base.config.service.ConfigSenderService;
+import com.lote.wms.common.utils.StringUtil;
+
+import java.util.List;
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service("configSenderService")
+public class ConfigSenderServiceImpl implements ConfigSenderService {
+	@Autowired
+	private ConfigSenderMapper configSenderMapper;
+
+	private static final Logger logger = LoggerFactory.getLogger(ConfigSenderServiceImpl.class);
+
+	public ConfigSender add(ConfigSender record) {
+		if (this.configSenderMapper.insertSelective(record) == 1)
+			return record;
+		return null;
+	}
+
+	public boolean delete(String id) {
+		return this.configSenderMapper.deleteByPrimaryKey(id) == 1;
+	}
+
+	public ConfigSender update(ConfigSender record) {
+		if (this.configSenderMapper.updateByPrimaryKeySelective(record) == 1)
+			return record;
+		return null;
+	}
+
+	public ConfigSender get(String id) {
+		return this.configSenderMapper.selectByPrimaryKey(id);
+	}
+
+	public Pager<ConfigSender> list(int page, int limit) {
+		ConfigSenderCriteria criteria = new ConfigSenderCriteria();
+		criteria.setPage(page);
+		criteria.setLimit(limit);
+		Criteria cri = criteria.createCriteria();
+		List<ConfigSender> list = configSenderMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public ConfigSender getByCode(String code) {
+		ConfigSenderCriteria criteria = new ConfigSenderCriteria();
+		criteria.setLimit(-1);
+		Criteria cri = criteria.createCriteria();
+		cri.andCodeEqualTo(code);
+		List<ConfigSender> list = configSenderMapper.selectByConditionList(criteria);
+		if (!list.isEmpty()) {
+			return list.get(0);
+		}
+		return null;
+	}
+
+	@Override
+	public Pager<ConfigSender> list(ConfigSenderQueryVo vo) {
+		ConfigSenderCriteria criteria = new ConfigSenderCriteria();
+		criteria.setPage(vo.getPage());
+		criteria.setLimit(vo.getLimit());
+
+		Criteria cri = criteria.createCriteria();
+		if (!StringUtil.isEmpty(vo.getCustomerCode())) {
+			cri.andCustomerCodeEqualTo(vo.getCustomerCode());
+		}
+
+		if (!StringUtil.isEmpty(vo.getWarehouseCode())) {
+			cri.andWarehouseCodeEqualTo(vo.getWarehouseCode());
+		}
+
+		if (!StringUtil.isEmpty(vo.getCode())) {
+			cri.andCodeEqualTo(vo.getCode());
+		}
+
+		if (!StringUtil.isEmpty(vo.getShipwayCode())) {
+			cri.andShipwayCodeEqualTo(vo.getShipwayCode());
+		}
+		
+		List<ConfigSender> list = configSenderMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public List<ConfigSender> listAll() {
+		ConfigSenderCriteria criteria = new ConfigSenderCriteria();
+		criteria.setLimit(-1);
+		Criteria cri = criteria.createCriteria();
+		List<ConfigSender> list = configSenderMapper.selectByConditionList(criteria);
+		return list;
+	}
+}

+ 102 - 0
wms-center/src/main/java/com/lote/wms/base/country/controller/CountryController.java

@@ -0,0 +1,102 @@
+package com.lote.wms.base.country.controller;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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 com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.utils.EnCodeUtil;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.common.utils.UrlEncoderUtils;
+import com.lote.wms.base.country.entity.Country;
+import com.lote.wms.base.country.entity.queryvo.CountryQueryVo;
+import com.lote.wms.base.country.service.CountryService;
+
+@RestController
+@RequestMapping("/base/country")
+public class CountryController extends AbstractController {
+
+	@SuppressWarnings("unused")
+	private static final Logger logger = LoggerFactory.getLogger(CountryController.class);
+
+	@Resource
+	private CountryService countryService;
+
+	@RequestMapping(value = "/listAll")
+	public Result listAll() {
+		return Result.success(countryService.listAll());
+	}
+
+	/**
+	 * 国家 by id
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/get")
+	public Country get(String id) {
+		return countryService.get(id);
+	}
+
+	/**
+	 * 新增国家
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/add", method = RequestMethod.POST)
+	public Result add(Country country) {
+		if (StringUtil.isEmpty(country.getCode())) {
+			return Result.error("国家代码不能为空!");
+		}
+		countryService.add(country);
+		return Result.success("新增国家成功!");
+	}
+
+	/**
+	 * 国家列表查询
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/list", method = RequestMethod.POST)
+	public Result list(@RequestBody CountryQueryVo vo) {
+		Pager<Country> pager = countryService.list(vo);
+		return Result.success(pager);
+	}
+
+	@RequestMapping(value = "/listByKeywords", method = RequestMethod.POST)
+	public Result listByKeywords(String q) {
+		if (!StringUtil.isEmpty(q)) {
+			if (UrlEncoderUtils.hasUrlEncoded(q)) {
+				q = EnCodeUtil.urlDeEncode(q, "UTF-8");
+			}
+		}
+		List<Country> pager = countryService.listByKeywords(q);
+		return Result.success(pager);
+	}
+
+	/**
+	 * 更新国家
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/upd")
+	public Result upd(Country country) {
+		if (StringUtil.isEmpty(country.getId())) {
+			return Result.error("国家id不能为空!");
+		}
+		countryService.update(country);
+		return Result.success("更新国家成功!");
+	}
+}

+ 120 - 0
wms-center/src/main/java/com/lote/wms/base/country/controller/CountryRegionController.java

@@ -0,0 +1,120 @@
+package com.lote.wms.base.country.controller;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.core.web.model.SessionAttrConstant;
+import com.lote.wms.common.core.web.util.MessageToResultAdapt;
+import com.lote.wms.common.model.Message;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.base.country.entity.CountryRegion;
+import com.lote.wms.base.country.entity.resultvo.CountryRegionResultVo;
+import com.lote.wms.base.country.service.CountryRegionService;
+
+@Controller
+@RequestMapping("/base/region")
+public class CountryRegionController extends AbstractController {
+
+	@SuppressWarnings("unused")
+	private static final Logger logger = LoggerFactory.getLogger(CountryRegionController.class);
+
+	@Resource
+	private CountryRegionService regionService;
+
+	/**
+	 * 地区 by id
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/get")
+	public CountryRegion get(String id) {
+		CountryRegion region = regionService.get(id);
+		return region;
+	}
+
+	/**
+	 * 新增地区
+	 * 
+	 * @param region
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/add", method = RequestMethod.POST)
+	public Result add(CountryRegion region) {
+		if (StringUtil.isEmpty(region.getCountryCode())) {
+			return Result.error("国家代码不能为空");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		region.setCreatedByUserId(userId);
+		region.setCreatedByUserCode(userCode);
+		region.setCreatedTime(new Date());
+		regionService.add(region);
+		return Result.success("新增地区成功");
+	}
+
+	/**
+	 * 删除 by ids
+	 * 
+	 * @param ids
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/del")
+	public Result del(String ids) {
+		Message message = regionService.deleteByIds(ids);
+		return MessageToResultAdapt.toResult(message);
+	}
+
+	/**
+	 * 地区查询按pId
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/listByPid", method = RequestMethod.POST)
+	public Result listByPid(String parentId) {
+		List<CountryRegionResultVo> list = regionService.listByPid(parentId);
+		return Result.success(list);
+	}
+
+	/**
+	 * 更新地区
+	 * 
+	 * contentType: "application/x-www-form-urlencoded;charset=utf-8" 对象参数不能@RequestBody 注解.
+	 *
+	 *
+	 * contentType: "application/json; charset=utf-8" 这种使用@RequestBody 注解
+	 * 
+	 * @param region
+	 * @return
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/upd", method = RequestMethod.POST)
+	public Result upd(CountryRegion region) {
+		if (StringUtil.isEmpty(region.getCountryCode())) {
+			return Result.error("国家代码不能为空");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		region.setUpdateByUserId(userId);
+		region.setUpdateByUserCode(userCode);
+		region.setUpdateTime(new Date());
+		regionService.update(region);
+		return Result.success("更新地区成功");
+	}
+}

+ 21 - 0
wms-center/src/main/java/com/lote/wms/base/country/dao/CountryMapper.java

@@ -0,0 +1,21 @@
+package com.lote.wms.base.country.dao;
+
+import com.lote.wms.base.country.entity.Country;
+import com.lote.wms.base.country.entity.CountryCriteria;
+import java.util.List;
+
+public interface CountryMapper {
+    int deleteByCondition(CountryCriteria condition);
+
+    int deleteByPrimaryKey(String id);
+
+    int insertSelective(Country record);
+
+    List<Country> selectByConditionList(CountryCriteria condition);
+
+    Country selectByPrimaryKey(String id);
+
+    int countByCondition(CountryCriteria condition);
+
+    int updateByPrimaryKeySelective(Country record);
+}

+ 25 - 0
wms-center/src/main/java/com/lote/wms/base/country/dao/CountryRegionMapper.java

@@ -0,0 +1,25 @@
+package com.lote.wms.base.country.dao;
+
+import java.util.List;
+
+import com.lote.wms.base.country.entity.CountryRegion;
+import com.lote.wms.base.country.entity.CountryRegionCriteria;
+import com.lote.wms.base.country.entity.resultvo.CountryRegionResultVo;
+
+public interface CountryRegionMapper {
+    int deleteByCondition(CountryRegionCriteria condition);
+
+    int deleteByPrimaryKey(String id);
+
+    int insertSelective(CountryRegion record);
+
+    List<CountryRegion> selectByConditionList(CountryRegionCriteria condition);
+
+    CountryRegion selectByPrimaryKey(String id);
+
+    int countByCondition(CountryRegionCriteria condition);
+
+    int updateByPrimaryKeySelective(CountryRegion record);
+
+	List<CountryRegionResultVo> selectByPid(String parentId);
+}

+ 132 - 0
wms-center/src/main/java/com/lote/wms/base/country/entity/Country.java

@@ -0,0 +1,132 @@
+package com.lote.wms.base.country.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Country implements Serializable {
+    private String id;
+
+    private String code;
+
+    private String codeL3;
+
+    private String nameCn;
+
+    private String nameEn;
+
+    private String phoneAreaCode;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private static final long serialVersionUID = 1L;
+
+    public Country() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getCodeL3() {
+        return codeL3;
+    }
+
+    public void setCodeL3(String codeL3) {
+        this.codeL3 = codeL3 == null ? null : codeL3.trim();
+    }
+
+    public String getNameCn() {
+        return nameCn;
+    }
+
+    public void setNameCn(String nameCn) {
+        this.nameCn = nameCn == null ? null : nameCn.trim();
+    }
+
+    public String getNameEn() {
+        return nameEn;
+    }
+
+    public void setNameEn(String nameEn) {
+        this.nameEn = nameEn == null ? null : nameEn.trim();
+    }
+
+    public String getPhoneAreaCode() {
+        return phoneAreaCode;
+    }
+
+    public void setPhoneAreaCode(String phoneAreaCode) {
+        this.phoneAreaCode = phoneAreaCode == null ? null : phoneAreaCode.trim();
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+}

+ 1022 - 0
wms-center/src/main/java/com/lote/wms/base/country/entity/CountryCriteria.java

@@ -0,0 +1,1022 @@
+package com.lote.wms.base.country.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.mybatis.plugin.model.QueryParam;
+
+public class CountryCriteria extends QueryParam {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public CountryCriteria() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNull() {
+            addCriterion("code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNotNull() {
+            addCriterion("code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeEqualTo(String value) {
+            addCriterion("code =", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotEqualTo(String value) {
+            addCriterion("code <>", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThan(String value) {
+            addCriterion("code >", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("code >=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThan(String value) {
+            addCriterion("code <", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThanOrEqualTo(String value) {
+            addCriterion("code <=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLike(String value) {
+            addCriterion("code like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotLike(String value) {
+            addCriterion("code not like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIn(List<String> values) {
+            addCriterion("code in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotIn(List<String> values) {
+            addCriterion("code not in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeBetween(String value1, String value2) {
+            addCriterion("code between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotBetween(String value1, String value2) {
+            addCriterion("code not between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3IsNull() {
+            addCriterion("code_l3 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3IsNotNull() {
+            addCriterion("code_l3 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3EqualTo(String value) {
+            addCriterion("code_l3 =", value, "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3NotEqualTo(String value) {
+            addCriterion("code_l3 <>", value, "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3GreaterThan(String value) {
+            addCriterion("code_l3 >", value, "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3GreaterThanOrEqualTo(String value) {
+            addCriterion("code_l3 >=", value, "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3LessThan(String value) {
+            addCriterion("code_l3 <", value, "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3LessThanOrEqualTo(String value) {
+            addCriterion("code_l3 <=", value, "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3Like(String value) {
+            addCriterion("code_l3 like", "%" + value + "%", "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3NotLike(String value) {
+            addCriterion("code_l3 not like", "%" + value + "%", "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3In(List<String> values) {
+            addCriterion("code_l3 in", values, "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3NotIn(List<String> values) {
+            addCriterion("code_l3 not in", values, "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3Between(String value1, String value2) {
+            addCriterion("code_l3 between", value1, value2, "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeL3NotBetween(String value1, String value2) {
+            addCriterion("code_l3 not between", value1, value2, "codeL3");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnIsNull() {
+            addCriterion("name_cn is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnIsNotNull() {
+            addCriterion("name_cn is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnEqualTo(String value) {
+            addCriterion("name_cn =", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnNotEqualTo(String value) {
+            addCriterion("name_cn <>", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnGreaterThan(String value) {
+            addCriterion("name_cn >", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnGreaterThanOrEqualTo(String value) {
+            addCriterion("name_cn >=", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnLessThan(String value) {
+            addCriterion("name_cn <", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnLessThanOrEqualTo(String value) {
+            addCriterion("name_cn <=", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnLike(String value) {
+            addCriterion("name_cn like", "%" + value + "%", "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnNotLike(String value) {
+            addCriterion("name_cn not like", "%" + value + "%", "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnIn(List<String> values) {
+            addCriterion("name_cn in", values, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnNotIn(List<String> values) {
+            addCriterion("name_cn not in", values, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnBetween(String value1, String value2) {
+            addCriterion("name_cn between", value1, value2, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnNotBetween(String value1, String value2) {
+            addCriterion("name_cn not between", value1, value2, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnIsNull() {
+            addCriterion("name_en is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnIsNotNull() {
+            addCriterion("name_en is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnEqualTo(String value) {
+            addCriterion("name_en =", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnNotEqualTo(String value) {
+            addCriterion("name_en <>", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnGreaterThan(String value) {
+            addCriterion("name_en >", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnGreaterThanOrEqualTo(String value) {
+            addCriterion("name_en >=", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnLessThan(String value) {
+            addCriterion("name_en <", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnLessThanOrEqualTo(String value) {
+            addCriterion("name_en <=", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnLike(String value) {
+            addCriterion("name_en like", "%" + value + "%", "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnNotLike(String value) {
+            addCriterion("name_en not like", "%" + value + "%", "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnIn(List<String> values) {
+            addCriterion("name_en in", values, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnNotIn(List<String> values) {
+            addCriterion("name_en not in", values, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnBetween(String value1, String value2) {
+            addCriterion("name_en between", value1, value2, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnNotBetween(String value1, String value2) {
+            addCriterion("name_en not between", value1, value2, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeIsNull() {
+            addCriterion("phone_area_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeIsNotNull() {
+            addCriterion("phone_area_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeEqualTo(String value) {
+            addCriterion("phone_area_code =", value, "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeNotEqualTo(String value) {
+            addCriterion("phone_area_code <>", value, "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeGreaterThan(String value) {
+            addCriterion("phone_area_code >", value, "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("phone_area_code >=", value, "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeLessThan(String value) {
+            addCriterion("phone_area_code <", value, "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeLessThanOrEqualTo(String value) {
+            addCriterion("phone_area_code <=", value, "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeLike(String value) {
+            addCriterion("phone_area_code like", "%" + value + "%", "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeNotLike(String value) {
+            addCriterion("phone_area_code not like", "%" + value + "%", "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeIn(List<String> values) {
+            addCriterion("phone_area_code in", values, "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeNotIn(List<String> values) {
+            addCriterion("phone_area_code not in", values, "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeBetween(String value1, String value2) {
+            addCriterion("phone_area_code between", value1, value2, "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneAreaCodeNotBetween(String value1, String value2) {
+            addCriterion("phone_area_code not between", value1, value2, "phoneAreaCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNull() {
+            addCriterion("created_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNotNull() {
+            addCriterion("created_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeEqualTo(Date value) {
+            addCriterion("created_time =", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotEqualTo(Date value) {
+            addCriterion("created_time <>", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThan(Date value) {
+            addCriterion("created_time >", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("created_time >=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThan(Date value) {
+            addCriterion("created_time <", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
+            addCriterion("created_time <=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIn(List<Date> values) {
+            addCriterion("created_time in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotIn(List<Date> values) {
+            addCriterion("created_time not in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
+            addCriterion("created_time between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
+            addCriterion("created_time not between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNull() {
+            addCriterion("created_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNotNull() {
+            addCriterion("created_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdEqualTo(String value) {
+            addCriterion("created_by_user_id =", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotEqualTo(String value) {
+            addCriterion("created_by_user_id <>", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThan(String value) {
+            addCriterion("created_by_user_id >", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id >=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThan(String value) {
+            addCriterion("created_by_user_id <", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id <=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLike(String value) {
+            addCriterion("created_by_user_id like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotLike(String value) {
+            addCriterion("created_by_user_id not like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIn(List<String> values) {
+            addCriterion("created_by_user_id in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotIn(List<String> values) {
+            addCriterion("created_by_user_id not in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdBetween(String value1, String value2) {
+            addCriterion("created_by_user_id between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_id not between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNull() {
+            addCriterion("created_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNotNull() {
+            addCriterion("created_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeEqualTo(String value) {
+            addCriterion("created_by_user_code =", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotEqualTo(String value) {
+            addCriterion("created_by_user_code <>", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThan(String value) {
+            addCriterion("created_by_user_code >", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code >=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThan(String value) {
+            addCriterion("created_by_user_code <", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code <=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLike(String value) {
+            addCriterion("created_by_user_code like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotLike(String value) {
+            addCriterion("created_by_user_code not like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIn(List<String> values) {
+            addCriterion("created_by_user_code in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotIn(List<String> values) {
+            addCriterion("created_by_user_code not in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeBetween(String value1, String value2) {
+            addCriterion("created_by_user_code between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_code not between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNull() {
+            addCriterion("update_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNotNull() {
+            addCriterion("update_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdEqualTo(String value) {
+            addCriterion("update_by_user_id =", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotEqualTo(String value) {
+            addCriterion("update_by_user_id <>", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThan(String value) {
+            addCriterion("update_by_user_id >", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id >=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThan(String value) {
+            addCriterion("update_by_user_id <", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id <=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLike(String value) {
+            addCriterion("update_by_user_id like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotLike(String value) {
+            addCriterion("update_by_user_id not like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIn(List<String> values) {
+            addCriterion("update_by_user_id in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotIn(List<String> values) {
+            addCriterion("update_by_user_id not in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdBetween(String value1, String value2) {
+            addCriterion("update_by_user_id between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_id not between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNull() {
+            addCriterion("update_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNotNull() {
+            addCriterion("update_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeEqualTo(String value) {
+            addCriterion("update_by_user_code =", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotEqualTo(String value) {
+            addCriterion("update_by_user_code <>", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThan(String value) {
+            addCriterion("update_by_user_code >", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code >=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThan(String value) {
+            addCriterion("update_by_user_code <", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code <=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLike(String value) {
+            addCriterion("update_by_user_code like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotLike(String value) {
+            addCriterion("update_by_user_code not like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIn(List<String> values) {
+            addCriterion("update_by_user_code in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotIn(List<String> values) {
+            addCriterion("update_by_user_code not in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeBetween(String value1, String value2) {
+            addCriterion("update_by_user_code between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_code not between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 192 - 0
wms-center/src/main/java/com/lote/wms/base/country/entity/CountryRegion.java

@@ -0,0 +1,192 @@
+package com.lote.wms.base.country.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class CountryRegion implements Serializable {
+    private String id;
+
+    private String parentId;
+
+    private String countryCode;
+
+    private String nameEn;
+
+    private String nameCn;
+
+    private String level;
+
+    private String levelName;
+
+    private String zipCode;
+
+    private Integer sortNo;
+
+    private String remark;
+
+    private String extend1;
+
+    private String extend2;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private static final long serialVersionUID = 1L;
+
+    public CountryRegion() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(String parentId) {
+        this.parentId = parentId == null ? null : parentId.trim();
+    }
+
+    public String getCountryCode() {
+        return countryCode;
+    }
+
+    public void setCountryCode(String countryCode) {
+        this.countryCode = countryCode == null ? null : countryCode.trim();
+    }
+
+    public String getNameEn() {
+        return nameEn;
+    }
+
+    public void setNameEn(String nameEn) {
+        this.nameEn = nameEn == null ? null : nameEn.trim();
+    }
+
+    public String getNameCn() {
+        return nameCn;
+    }
+
+    public void setNameCn(String nameCn) {
+        this.nameCn = nameCn == null ? null : nameCn.trim();
+    }
+
+    public String getLevel() {
+        return level;
+    }
+
+    public void setLevel(String level) {
+        this.level = level == null ? null : level.trim();
+    }
+
+    public String getLevelName() {
+        return levelName;
+    }
+
+    public void setLevelName(String levelName) {
+        this.levelName = levelName == null ? null : levelName.trim();
+    }
+
+    public String getZipCode() {
+        return zipCode;
+    }
+
+    public void setZipCode(String zipCode) {
+        this.zipCode = zipCode == null ? null : zipCode.trim();
+    }
+
+    public Integer getSortNo() {
+        return sortNo;
+    }
+
+    public void setSortNo(Integer sortNo) {
+        this.sortNo = sortNo;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public String getExtend1() {
+        return extend1;
+    }
+
+    public void setExtend1(String extend1) {
+        this.extend1 = extend1 == null ? null : extend1.trim();
+    }
+
+    public String getExtend2() {
+        return extend2;
+    }
+
+    public void setExtend2(String extend2) {
+        this.extend2 = extend2 == null ? null : extend2.trim();
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+}

+ 1437 - 0
wms-center/src/main/java/com/lote/wms/base/country/entity/CountryRegionCriteria.java

@@ -0,0 +1,1437 @@
+package com.lote.wms.base.country.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.mybatis.plugin.model.QueryParam;
+
+public class CountryRegionCriteria extends QueryParam {
+    /**
+	 * 
+	 */
+	private static final long serialVersionUID = 979201411970736153L;
+
+	protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public CountryRegionCriteria() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdIsNull() {
+            addCriterion("parent_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdIsNotNull() {
+            addCriterion("parent_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdEqualTo(String value) {
+            addCriterion("parent_id =", value, "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdNotEqualTo(String value) {
+            addCriterion("parent_id <>", value, "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdGreaterThan(String value) {
+            addCriterion("parent_id >", value, "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdGreaterThanOrEqualTo(String value) {
+            addCriterion("parent_id >=", value, "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdLessThan(String value) {
+            addCriterion("parent_id <", value, "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdLessThanOrEqualTo(String value) {
+            addCriterion("parent_id <=", value, "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdLike(String value) {
+            addCriterion("parent_id like", "%" + value + "%", "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdNotLike(String value) {
+            addCriterion("parent_id not like", "%" + value + "%", "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdIn(List<String> values) {
+            addCriterion("parent_id in", values, "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdNotIn(List<String> values) {
+            addCriterion("parent_id not in", values, "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdBetween(String value1, String value2) {
+            addCriterion("parent_id between", value1, value2, "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIdNotBetween(String value1, String value2) {
+            addCriterion("parent_id not between", value1, value2, "parentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeIsNull() {
+            addCriterion("country_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeIsNotNull() {
+            addCriterion("country_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeEqualTo(String value) {
+            addCriterion("country_code =", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotEqualTo(String value) {
+            addCriterion("country_code <>", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeGreaterThan(String value) {
+            addCriterion("country_code >", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("country_code >=", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeLessThan(String value) {
+            addCriterion("country_code <", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeLessThanOrEqualTo(String value) {
+            addCriterion("country_code <=", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeLike(String value) {
+            addCriterion("country_code like", "%" + value + "%", "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotLike(String value) {
+            addCriterion("country_code not like", "%" + value + "%", "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeIn(List<String> values) {
+            addCriterion("country_code in", values, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotIn(List<String> values) {
+            addCriterion("country_code not in", values, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeBetween(String value1, String value2) {
+            addCriterion("country_code between", value1, value2, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotBetween(String value1, String value2) {
+            addCriterion("country_code not between", value1, value2, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnIsNull() {
+            addCriterion("name_en is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnIsNotNull() {
+            addCriterion("name_en is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnEqualTo(String value) {
+            addCriterion("name_en =", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnNotEqualTo(String value) {
+            addCriterion("name_en <>", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnGreaterThan(String value) {
+            addCriterion("name_en >", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnGreaterThanOrEqualTo(String value) {
+            addCriterion("name_en >=", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnLessThan(String value) {
+            addCriterion("name_en <", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnLessThanOrEqualTo(String value) {
+            addCriterion("name_en <=", value, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnLike(String value) {
+            addCriterion("name_en like", "%" + value + "%", "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnNotLike(String value) {
+            addCriterion("name_en not like", "%" + value + "%", "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnIn(List<String> values) {
+            addCriterion("name_en in", values, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnNotIn(List<String> values) {
+            addCriterion("name_en not in", values, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnBetween(String value1, String value2) {
+            addCriterion("name_en between", value1, value2, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEnNotBetween(String value1, String value2) {
+            addCriterion("name_en not between", value1, value2, "nameEn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnIsNull() {
+            addCriterion("name_cn is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnIsNotNull() {
+            addCriterion("name_cn is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnEqualTo(String value) {
+            addCriterion("name_cn =", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnNotEqualTo(String value) {
+            addCriterion("name_cn <>", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnGreaterThan(String value) {
+            addCriterion("name_cn >", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnGreaterThanOrEqualTo(String value) {
+            addCriterion("name_cn >=", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnLessThan(String value) {
+            addCriterion("name_cn <", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnLessThanOrEqualTo(String value) {
+            addCriterion("name_cn <=", value, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnLike(String value) {
+            addCriterion("name_cn like", "%" + value + "%", "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnNotLike(String value) {
+            addCriterion("name_cn not like", "%" + value + "%", "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnIn(List<String> values) {
+            addCriterion("name_cn in", values, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnNotIn(List<String> values) {
+            addCriterion("name_cn not in", values, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnBetween(String value1, String value2) {
+            addCriterion("name_cn between", value1, value2, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameCnNotBetween(String value1, String value2) {
+            addCriterion("name_cn not between", value1, value2, "nameCn");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelIsNull() {
+            addCriterion("level is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelIsNotNull() {
+            addCriterion("level is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelEqualTo(String value) {
+            addCriterion("level =", value, "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNotEqualTo(String value) {
+            addCriterion("level <>", value, "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelGreaterThan(String value) {
+            addCriterion("level >", value, "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelGreaterThanOrEqualTo(String value) {
+            addCriterion("level >=", value, "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelLessThan(String value) {
+            addCriterion("level <", value, "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelLessThanOrEqualTo(String value) {
+            addCriterion("level <=", value, "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelLike(String value) {
+            addCriterion("level like", "%" + value + "%", "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNotLike(String value) {
+            addCriterion("level not like", "%" + value + "%", "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelIn(List<String> values) {
+            addCriterion("level in", values, "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNotIn(List<String> values) {
+            addCriterion("level not in", values, "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelBetween(String value1, String value2) {
+            addCriterion("level between", value1, value2, "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNotBetween(String value1, String value2) {
+            addCriterion("level not between", value1, value2, "level");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameIsNull() {
+            addCriterion("level_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameIsNotNull() {
+            addCriterion("level_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameEqualTo(String value) {
+            addCriterion("level_name =", value, "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameNotEqualTo(String value) {
+            addCriterion("level_name <>", value, "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameGreaterThan(String value) {
+            addCriterion("level_name >", value, "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameGreaterThanOrEqualTo(String value) {
+            addCriterion("level_name >=", value, "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameLessThan(String value) {
+            addCriterion("level_name <", value, "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameLessThanOrEqualTo(String value) {
+            addCriterion("level_name <=", value, "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameLike(String value) {
+            addCriterion("level_name like", "%" + value + "%", "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameNotLike(String value) {
+            addCriterion("level_name not like", "%" + value + "%", "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameIn(List<String> values) {
+            addCriterion("level_name in", values, "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameNotIn(List<String> values) {
+            addCriterion("level_name not in", values, "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameBetween(String value1, String value2) {
+            addCriterion("level_name between", value1, value2, "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelNameNotBetween(String value1, String value2) {
+            addCriterion("level_name not between", value1, value2, "levelName");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeIsNull() {
+            addCriterion("zip_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeIsNotNull() {
+            addCriterion("zip_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeEqualTo(String value) {
+            addCriterion("zip_code =", value, "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeNotEqualTo(String value) {
+            addCriterion("zip_code <>", value, "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeGreaterThan(String value) {
+            addCriterion("zip_code >", value, "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("zip_code >=", value, "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeLessThan(String value) {
+            addCriterion("zip_code <", value, "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeLessThanOrEqualTo(String value) {
+            addCriterion("zip_code <=", value, "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeLike(String value) {
+            addCriterion("zip_code like", "%" + value + "%", "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeNotLike(String value) {
+            addCriterion("zip_code not like", "%" + value + "%", "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeIn(List<String> values) {
+            addCriterion("zip_code in", values, "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeNotIn(List<String> values) {
+            addCriterion("zip_code not in", values, "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeBetween(String value1, String value2) {
+            addCriterion("zip_code between", value1, value2, "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andZipCodeNotBetween(String value1, String value2) {
+            addCriterion("zip_code not between", value1, value2, "zipCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoIsNull() {
+            addCriterion("sort_no is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoIsNotNull() {
+            addCriterion("sort_no is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoEqualTo(Integer value) {
+            addCriterion("sort_no =", value, "sortNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoNotEqualTo(Integer value) {
+            addCriterion("sort_no <>", value, "sortNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoGreaterThan(Integer value) {
+            addCriterion("sort_no >", value, "sortNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoGreaterThanOrEqualTo(Integer value) {
+            addCriterion("sort_no >=", value, "sortNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoLessThan(Integer value) {
+            addCriterion("sort_no <", value, "sortNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoLessThanOrEqualTo(Integer value) {
+            addCriterion("sort_no <=", value, "sortNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoIn(List<Integer> values) {
+            addCriterion("sort_no in", values, "sortNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoNotIn(List<Integer> values) {
+            addCriterion("sort_no not in", values, "sortNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoBetween(Integer value1, Integer value2) {
+            addCriterion("sort_no between", value1, value2, "sortNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNoNotBetween(Integer value1, Integer value2) {
+            addCriterion("sort_no not between", value1, value2, "sortNo");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNull() {
+            addCriterion("remark is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNotNull() {
+            addCriterion("remark is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkEqualTo(String value) {
+            addCriterion("remark =", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotEqualTo(String value) {
+            addCriterion("remark <>", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThan(String value) {
+            addCriterion("remark >", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
+            addCriterion("remark >=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThan(String value) {
+            addCriterion("remark <", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThanOrEqualTo(String value) {
+            addCriterion("remark <=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLike(String value) {
+            addCriterion("remark like", "%" + value + "%", "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotLike(String value) {
+            addCriterion("remark not like", "%" + value + "%", "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIn(List<String> values) {
+            addCriterion("remark in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotIn(List<String> values) {
+            addCriterion("remark not in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkBetween(String value1, String value2) {
+            addCriterion("remark between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotBetween(String value1, String value2) {
+            addCriterion("remark not between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNull() {
+            addCriterion("extend1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNotNull() {
+            addCriterion("extend1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1EqualTo(String value) {
+            addCriterion("extend1 =", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotEqualTo(String value) {
+            addCriterion("extend1 <>", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThan(String value) {
+            addCriterion("extend1 >", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThanOrEqualTo(String value) {
+            addCriterion("extend1 >=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThan(String value) {
+            addCriterion("extend1 <", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThanOrEqualTo(String value) {
+            addCriterion("extend1 <=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Like(String value) {
+            addCriterion("extend1 like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotLike(String value) {
+            addCriterion("extend1 not like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1In(List<String> values) {
+            addCriterion("extend1 in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotIn(List<String> values) {
+            addCriterion("extend1 not in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Between(String value1, String value2) {
+            addCriterion("extend1 between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotBetween(String value1, String value2) {
+            addCriterion("extend1 not between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNull() {
+            addCriterion("extend2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNotNull() {
+            addCriterion("extend2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2EqualTo(String value) {
+            addCriterion("extend2 =", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotEqualTo(String value) {
+            addCriterion("extend2 <>", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThan(String value) {
+            addCriterion("extend2 >", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThanOrEqualTo(String value) {
+            addCriterion("extend2 >=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThan(String value) {
+            addCriterion("extend2 <", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThanOrEqualTo(String value) {
+            addCriterion("extend2 <=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Like(String value) {
+            addCriterion("extend2 like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotLike(String value) {
+            addCriterion("extend2 not like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2In(List<String> values) {
+            addCriterion("extend2 in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotIn(List<String> values) {
+            addCriterion("extend2 not in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Between(String value1, String value2) {
+            addCriterion("extend2 between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotBetween(String value1, String value2) {
+            addCriterion("extend2 not between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNull() {
+            addCriterion("created_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNotNull() {
+            addCriterion("created_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeEqualTo(Date value) {
+            addCriterion("created_time =", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotEqualTo(Date value) {
+            addCriterion("created_time <>", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThan(Date value) {
+            addCriterion("created_time >", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("created_time >=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThan(Date value) {
+            addCriterion("created_time <", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
+            addCriterion("created_time <=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIn(List<Date> values) {
+            addCriterion("created_time in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotIn(List<Date> values) {
+            addCriterion("created_time not in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
+            addCriterion("created_time between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
+            addCriterion("created_time not between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNull() {
+            addCriterion("created_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNotNull() {
+            addCriterion("created_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdEqualTo(String value) {
+            addCriterion("created_by_user_id =", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotEqualTo(String value) {
+            addCriterion("created_by_user_id <>", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThan(String value) {
+            addCriterion("created_by_user_id >", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id >=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThan(String value) {
+            addCriterion("created_by_user_id <", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id <=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLike(String value) {
+            addCriterion("created_by_user_id like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotLike(String value) {
+            addCriterion("created_by_user_id not like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIn(List<String> values) {
+            addCriterion("created_by_user_id in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotIn(List<String> values) {
+            addCriterion("created_by_user_id not in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdBetween(String value1, String value2) {
+            addCriterion("created_by_user_id between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_id not between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNull() {
+            addCriterion("created_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNotNull() {
+            addCriterion("created_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeEqualTo(String value) {
+            addCriterion("created_by_user_code =", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotEqualTo(String value) {
+            addCriterion("created_by_user_code <>", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThan(String value) {
+            addCriterion("created_by_user_code >", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code >=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThan(String value) {
+            addCriterion("created_by_user_code <", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code <=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLike(String value) {
+            addCriterion("created_by_user_code like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotLike(String value) {
+            addCriterion("created_by_user_code not like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIn(List<String> values) {
+            addCriterion("created_by_user_code in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotIn(List<String> values) {
+            addCriterion("created_by_user_code not in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeBetween(String value1, String value2) {
+            addCriterion("created_by_user_code between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_code not between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNull() {
+            addCriterion("update_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNotNull() {
+            addCriterion("update_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdEqualTo(String value) {
+            addCriterion("update_by_user_id =", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotEqualTo(String value) {
+            addCriterion("update_by_user_id <>", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThan(String value) {
+            addCriterion("update_by_user_id >", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id >=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThan(String value) {
+            addCriterion("update_by_user_id <", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id <=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLike(String value) {
+            addCriterion("update_by_user_id like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotLike(String value) {
+            addCriterion("update_by_user_id not like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIn(List<String> values) {
+            addCriterion("update_by_user_id in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotIn(List<String> values) {
+            addCriterion("update_by_user_id not in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdBetween(String value1, String value2) {
+            addCriterion("update_by_user_id between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_id not between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNull() {
+            addCriterion("update_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNotNull() {
+            addCriterion("update_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeEqualTo(String value) {
+            addCriterion("update_by_user_code =", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotEqualTo(String value) {
+            addCriterion("update_by_user_code <>", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThan(String value) {
+            addCriterion("update_by_user_code >", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code >=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThan(String value) {
+            addCriterion("update_by_user_code <", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code <=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLike(String value) {
+            addCriterion("update_by_user_code like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotLike(String value) {
+            addCriterion("update_by_user_code not like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIn(List<String> values) {
+            addCriterion("update_by_user_code in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotIn(List<String> values) {
+            addCriterion("update_by_user_code not in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeBetween(String value1, String value2) {
+            addCriterion("update_by_user_code between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_code not between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 61 - 0
wms-center/src/main/java/com/lote/wms/base/country/entity/queryvo/CountryQueryVo.java

@@ -0,0 +1,61 @@
+package com.lote.wms.base.country.entity.queryvo;
+
+import org.mybatis.plugin.model.QueryParam;
+
+public class CountryQueryVo extends QueryParam {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -8096072280941501930L;
+	private String code;
+
+	private String codeL3;
+
+	private String nameCn;
+
+	private String nameEn;
+
+	private String phoneAreaCode;
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getCodeL3() {
+		return codeL3;
+	}
+
+	public void setCodeL3(String codeL3) {
+		this.codeL3 = codeL3;
+	}
+
+	public String getNameCn() {
+		return nameCn;
+	}
+
+	public void setNameCn(String nameCn) {
+		this.nameCn = nameCn;
+	}
+
+	public String getNameEn() {
+		return nameEn;
+	}
+
+	public void setNameEn(String nameEn) {
+		this.nameEn = nameEn;
+	}
+
+	public String getPhoneAreaCode() {
+		return phoneAreaCode;
+	}
+
+	public void setPhoneAreaCode(String phoneAreaCode) {
+		this.phoneAreaCode = phoneAreaCode;
+	}
+
+}

+ 44 - 0
wms-center/src/main/java/com/lote/wms/base/country/entity/resultvo/CountryRegionResultVo.java

@@ -0,0 +1,44 @@
+package com.lote.wms.base.country.entity.resultvo;
+
+import com.lote.wms.base.country.entity.CountryRegion;
+
+public class CountryRegionResultVo extends CountryRegion {
+
+	private static final long serialVersionUID = -8096072280941501930L;
+
+	private String state;// 这个是topjui框架树形表格所需参数
+
+	private String type = "dic";// 这个是topjui框架树形表格所需参数
+
+	private int child;// 子节点个数
+
+	public String getState() {
+		if (child > 0) {
+			state = "closed";
+		} else {
+			state = "open";
+		}
+		return state;
+	}
+
+	public void setState(String state) {
+		this.state = state;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public int getChild() {
+		return child;
+	}
+
+	public void setChild(int child) {
+		this.child = child;
+	}
+
+}

+ 25 - 0
wms-center/src/main/java/com/lote/wms/base/country/service/CountryRegionService.java

@@ -0,0 +1,25 @@
+package com.lote.wms.base.country.service;
+
+import java.util.List;
+
+import org.mybatis.plugin.model.Pager;
+
+import com.lote.wms.common.model.Message;
+import com.lote.wms.base.country.entity.CountryRegion;
+import com.lote.wms.base.country.entity.resultvo.CountryRegionResultVo;
+
+public interface CountryRegionService {
+    CountryRegion add(CountryRegion record);
+
+    boolean delete(String id);
+
+    CountryRegion update(CountryRegion record);
+
+    CountryRegion get(String id);
+
+    Pager<CountryRegion> list(int page, int limit);
+
+	Message deleteByIds(String ids);
+
+	List<CountryRegionResultVo> listByPid(String parentId);
+}

+ 42 - 0
wms-center/src/main/java/com/lote/wms/base/country/service/CountryService.java

@@ -0,0 +1,42 @@
+package com.lote.wms.base.country.service;
+
+import com.lote.wms.base.country.entity.Country;
+import com.lote.wms.base.country.entity.queryvo.CountryQueryVo;
+
+import java.util.List;
+
+import org.mybatis.plugin.model.Pager;
+
+public interface CountryService {
+	Country add(Country record);
+
+	boolean delete(String id);
+
+	Country update(Country record);
+
+	Country get(String id);
+
+	Pager<Country> list(int page, int limit);
+
+	List<Country> listAll();
+
+	Pager<Country> list(CountryQueryVo vo);
+
+	/**
+	 * 根据代码查询国家
+	 * 
+	 * @param code
+	 * @return
+	 */
+	Country getByCode(String code);
+
+	/**
+	 * 国家代码是否存在
+	 * 
+	 * @param code
+	 * @return
+	 */
+	boolean isExist(String code);
+
+	List<Country> listByKeywords(String q);
+}

+ 69 - 0
wms-center/src/main/java/com/lote/wms/base/country/service/impl/CountryRegionServiceImpl.java

@@ -0,0 +1,69 @@
+package com.lote.wms.base.country.service.impl;
+
+import java.util.List;
+
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import javax.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+import com.lote.wms.common.exception.ServiceException;
+import com.lote.wms.common.model.Message;
+import com.lote.wms.base.country.dao.CountryRegionMapper;
+import com.lote.wms.base.country.entity.CountryRegion;
+import com.lote.wms.base.country.entity.CountryRegionCriteria;
+import com.lote.wms.base.country.entity.CountryRegionCriteria.Criteria;
+import com.lote.wms.base.country.entity.resultvo.CountryRegionResultVo;
+import com.lote.wms.base.country.service.CountryRegionService;
+
+@Service("regionService")
+public class CountryRegionServiceImpl implements CountryRegionService {
+	@Resource
+	private CountryRegionMapper regionMapper;
+
+	private static final Logger logger = LoggerFactory.getLogger(CountryRegionServiceImpl.class);
+
+	public CountryRegion add(CountryRegion record) {
+		if (this.regionMapper.insertSelective(record) != 1) {
+			throw new ServiceException("新增失败");
+		}
+		return record;
+	}
+
+	public boolean delete(String id) {
+		return this.regionMapper.deleteByPrimaryKey(id) == 1;
+	}
+
+	public CountryRegion update(CountryRegion record) {
+		if (this.regionMapper.updateByPrimaryKeySelective(record) != 1) {
+			throw new ServiceException("更新失败");
+		}
+		return record;
+	}
+
+	public CountryRegion get(String id) {
+		return this.regionMapper.selectByPrimaryKey(id);
+	}
+
+	public Pager<CountryRegion> list(int page, int limit) {
+		CountryRegionCriteria criteria = new CountryRegionCriteria();
+		criteria.setPage(page);
+		criteria.setLimit(limit);
+		Criteria cri = criteria.createCriteria();
+		List<CountryRegion> list = regionMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public Message deleteByIds(String ids) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<CountryRegionResultVo> listByPid(String parentId) {
+		return regionMapper.selectByPid(parentId);
+	}
+}

+ 150 - 0
wms-center/src/main/java/com/lote/wms/base/country/service/impl/CountryServiceImpl.java

@@ -0,0 +1,150 @@
+package com.lote.wms.base.country.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import com.lote.wms.base.country.dao.CountryMapper;
+import com.lote.wms.base.country.entity.Country;
+import com.lote.wms.base.country.entity.CountryCriteria;
+import com.lote.wms.base.country.entity.CountryCriteria.Criteria;
+import com.lote.wms.base.country.entity.queryvo.CountryQueryVo;
+import com.lote.wms.base.country.service.CountryService;
+import com.lote.wms.common.constants.RedisKey;
+import com.lote.wms.common.core.cache.redis.RedisClient;
+import com.lote.wms.common.exception.ServiceException;
+import com.lote.wms.common.utils.StringUtil;
+
+@Service("countryService")
+public class CountryServiceImpl implements CountryService {
+	@Resource
+	private CountryMapper countryMapper;
+
+	@SuppressWarnings("unused")
+	private static final Logger logger = LoggerFactory.getLogger(CountryServiceImpl.class);
+
+	public Country add(Country record) {
+		if (this.countryMapper.insertSelective(record) == 1)
+			return record;
+		return null;
+	}
+
+	public boolean delete(String id) {
+		return this.countryMapper.deleteByPrimaryKey(id) == 1;
+	}
+
+	public Country update(Country record) {
+		if (this.countryMapper.updateByPrimaryKeySelective(record) == 1)
+			return record;
+		return null;
+	}
+
+	public Country get(String id) {
+		return this.countryMapper.selectByPrimaryKey(id);
+	}
+
+	public Pager<Country> list(int page, int limit) {
+		CountryCriteria criteria = new CountryCriteria();
+		criteria.setPage(page);
+		criteria.setLimit(limit);
+		Criteria cri = criteria.createCriteria();
+		List<Country> list = countryMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public List<Country> listAll() {
+		CountryCriteria criteria = new CountryCriteria();
+		criteria.setOrderByClause("created_time asc");
+		criteria.setPage(1);
+		criteria.setLimit(-1);
+		Criteria cri = criteria.createCriteria();
+		List<Country> list = countryMapper.selectByConditionList(criteria);
+		for (Country c : list) {
+			c.setId(c.getCode());
+		}
+		return list;
+	}
+
+	@Override
+	public Pager<Country> list(CountryQueryVo countryQueryVo) {
+		CountryCriteria criteria = new CountryCriteria();
+		criteria.setPage(countryQueryVo.getPage());
+		criteria.setLimit(countryQueryVo.getLimit());
+		criteria.setOrderByClause("code asc");
+
+		Criteria cri = criteria.createCriteria();
+		if (!StringUtil.isEmpty(countryQueryVo.getCode())) {
+			cri.andCodeEqualTo(countryQueryVo.getCode());
+		}
+
+		List<Country> list = countryMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public Country getByCode(String code) {
+		CountryCriteria criteria = new CountryCriteria();
+		criteria.setLimit(-1);
+		Criteria cri = criteria.createCriteria();
+		cri.andCodeEqualTo(code);
+		List<Country> countryList = countryMapper.selectByConditionList(criteria);
+		if (countryList != null && !countryList.isEmpty()) {
+			return countryList.get(0);
+		}
+		return null;
+	}
+
+	@Override
+	public boolean isExist(String code) {
+		CountryCriteria criteria = new CountryCriteria();
+		criteria.setLimit(-1);
+		Criteria cri = criteria.createCriteria();
+		cri.andCodeEqualTo(code);
+		return countryMapper.countByCondition(criteria) > 0;
+	}
+
+	@Override
+	public List<Country> listByKeywords(String q) {
+		RedisClient redis = RedisClient.getInstance();
+		@SuppressWarnings("unchecked")
+		List<Country> all = (List<Country>) redis.getObject(RedisKey.ALL_COUNTRY);
+		if (all == null) {
+			all = listAll();
+			redis.setObject(RedisKey.ALL_COUNTRY, all, 3600);// 缓存1小时
+		}
+		if (StringUtil.isEmpty(q)) {
+			return all;
+		}
+		q = q.toUpperCase();
+
+		List<Country> list = new ArrayList<Country>();
+
+		for (Country country : all) {
+			if (country.getCode().toUpperCase().contains(q)) {
+				list.add(country);
+				continue;
+			}
+			if (country.getNameCn().contains(q)) {
+				list.add(country);
+				continue;
+			}
+			if (country.getNameEn() != null && country.getNameEn().toUpperCase().contains(q)) {
+				list.add(country);
+				continue;
+			}
+			if (q.contains(country.getCode())) {
+				list.add(country);
+				continue;
+			}
+		}
+		return list;
+	}
+}

+ 99 - 0
wms-center/src/main/java/com/lote/wms/base/dict/controller/DictItemController.java

@@ -0,0 +1,99 @@
+package com.lote.wms.base.dict.controller;
+
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+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 com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.core.web.model.SessionAttrConstant;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.base.dict.entity.DictItem;
+import com.lote.wms.base.dict.entity.queryvo.DictItemQueryVo;
+import com.lote.wms.base.dict.service.DictItemService;
+
+@RestController
+@RequestMapping("/base/dictItem")
+public class DictItemController  extends AbstractController {
+
+	@Resource
+	private DictItemService dictItemService;
+	
+	@RequestMapping(value = "/listAll")
+	public Result listAll() {
+		return Result.success(dictItemService.listAll());
+	}
+
+	/**
+	 * 字典条目 by id
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/get")
+	public DictItem get(String id) {
+		return dictItemService.get(id);
+	}
+
+	/**
+	 * 新增字典条目
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/add", method = RequestMethod.POST)
+	public Result add(DictItem dictItem) {
+		if (StringUtil.isEmpty(dictItem.getTypeCode())) {
+			return Result.error("字典类型代码不能为空!");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		
+		dictItem.setCreatedByUserId(userId);
+		dictItem.setCreatedByUserCode(userCode);
+		dictItem.setCreatedTime(new Date());
+		
+		dictItemService.add(dictItem);
+		return Result.success("新增字典条目成功!");
+	}
+
+	/**
+	 * 字典条目列表查询
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/list", method = RequestMethod.POST)
+	public Result list(@RequestBody DictItemQueryVo vo) {
+		Pager<DictItem> pager = dictItemService.list(vo);
+		return Result.success(pager);
+	}
+
+	/**
+	 * 更新字典条目
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/upd")
+	public Result upd(DictItem dictItem) {
+		if (StringUtil.isEmpty(dictItem.getId())) {
+			return Result.error("字典条目id不能为空!");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		
+		dictItem.setUpdateByUserCode(userCode);
+		dictItem.setUpdateByUserId(userId);
+		dictItem.setUpdateTime(new Date());
+		
+		dictItemService.update(dictItem);
+		return Result.success("更新字典条目成功!");
+	}
+}

+ 103 - 0
wms-center/src/main/java/com/lote/wms/base/dict/controller/DictTypeController.java

@@ -0,0 +1,103 @@
+package com.lote.wms.base.dict.controller;
+
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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 com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.core.web.model.SessionAttrConstant;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.base.dict.entity.DictType;
+import com.lote.wms.base.dict.entity.queryvo.DictTypeQueryVo;
+import com.lote.wms.base.dict.service.DictTypeService;
+
+@RestController
+@RequestMapping("/base/dictType")
+public class DictTypeController extends AbstractController {
+
+	@SuppressWarnings("unused")
+	private static final Logger logger = LoggerFactory.getLogger(DictTypeController.class);
+
+	@Resource
+	private DictTypeService dictTypeService;
+
+	@RequestMapping(value = "/listAll")
+	public Result listAll() {
+		return Result.success(dictTypeService.listAll());
+	}
+
+	/**
+	 * 字典类型 by id
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/get")
+	public DictType get(String id) {
+		return dictTypeService.get(id);
+	}
+
+	/**
+	 * 新增字典类型
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/add", method = RequestMethod.POST)
+	public Result add(DictType dictType) {
+		if (StringUtil.isEmpty(dictType.getCode())) {
+			return Result.error("字典类型代码不能为空!");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		dictType.setCreatedByUserCode(userCode);
+		dictType.setCreatedByUserId(userId);
+		dictType.setCreatedTime(new Date());
+		dictTypeService.add(dictType);
+		return Result.success("新增字典类型成功!");
+	}
+
+	/**
+	 * 字典类型列表查询
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/list", method = RequestMethod.POST)
+	public Result list(@RequestBody DictTypeQueryVo vo) {
+		Pager<DictType> pager = dictTypeService.list(vo);
+		return Result.success(pager);
+	}
+
+	/**
+	 * 更新字典类型
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/upd")
+	public Result upd(DictType dictType) {
+		if (StringUtil.isEmpty(dictType.getId())) {
+			return Result.error("字典类型id不能为空!");
+		}
+		
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		
+		dictType.setUpdateByUserCode(userCode);
+		dictType.setUpdateByUserId(userId);
+		dictType.setUpdateTime(new Date());
+		
+		dictTypeService.update(dictType);
+		return Result.success("更新字典类型成功!");
+	}
+}

+ 26 - 0
wms-center/src/main/java/com/lote/wms/base/dict/dao/DictItemMapper.java

@@ -0,0 +1,26 @@
+package com.lote.wms.base.dict.dao;
+
+import java.util.List;
+
+import com.lote.wms.base.dict.entity.DictItem;
+import com.lote.wms.base.dict.entity.DictItemCriteria;
+
+public interface DictItemMapper {
+    int deleteByCondition(DictItemCriteria condition);
+
+    int deleteByPrimaryKey(String id);
+
+    int insertSelective(DictItem record);
+
+    List<DictItem> selectByConditionList(DictItemCriteria condition);
+
+    DictItem selectByPrimaryKey(String id);
+
+    int countByCondition(DictItemCriteria condition);
+
+    int updateByPrimaryKeySelective(DictItem record);
+    
+    DictItem getByCode(String code);
+    
+    List<DictItem> listAll();
+}

+ 31 - 0
wms-center/src/main/java/com/lote/wms/base/dict/dao/DictTypeMapper.java

@@ -0,0 +1,31 @@
+package com.lote.wms.base.dict.dao;
+
+import com.lote.wms.base.dict.entity.DictType;
+import com.lote.wms.base.dict.entity.DictTypeCriteria;
+import com.lote.wms.base.dict.entity.queryvo.DictTypeQueryVo;
+
+import java.util.List;
+
+import org.mybatis.plugin.model.Pager;
+
+public interface DictTypeMapper {
+	int deleteByCondition(DictTypeCriteria condition);
+
+	int deleteByPrimaryKey(String id);
+
+	int insertSelective(DictType record);
+
+	List<DictType> selectByConditionList(DictTypeCriteria condition);
+
+	DictType selectByPrimaryKey(String id);
+
+	int countByCondition(DictTypeCriteria condition);
+
+	int updateByPrimaryKeySelective(DictType record);
+
+	List<DictType> selectAll();
+
+	Pager<DictType> selectByQueryVo(DictTypeQueryVo vo);
+
+	DictType getByCode(String code);
+}

+ 132 - 0
wms-center/src/main/java/com/lote/wms/base/dict/entity/DictItem.java

@@ -0,0 +1,132 @@
+package com.lote.wms.base.dict.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class DictItem implements Serializable {
+    private String id;
+
+    private String typeCode;
+
+    private String code;
+
+    private String value;
+
+    private Integer sort;
+
+    private String remark;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private static final long serialVersionUID = 1L;
+
+    public DictItem() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getTypeCode() {
+        return typeCode;
+    }
+
+    public void setTypeCode(String typeCode) {
+        this.typeCode = typeCode == null ? null : typeCode.trim();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value == null ? null : value.trim();
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+}

+ 1012 - 0
wms-center/src/main/java/com/lote/wms/base/dict/entity/DictItemCriteria.java

@@ -0,0 +1,1012 @@
+package com.lote.wms.base.dict.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.mybatis.plugin.model.QueryParam;
+
+public class DictItemCriteria extends QueryParam {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public DictItemCriteria() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeIsNull() {
+            addCriterion("type_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeIsNotNull() {
+            addCriterion("type_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeEqualTo(String value) {
+            addCriterion("type_code =", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeNotEqualTo(String value) {
+            addCriterion("type_code <>", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeGreaterThan(String value) {
+            addCriterion("type_code >", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("type_code >=", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeLessThan(String value) {
+            addCriterion("type_code <", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeLessThanOrEqualTo(String value) {
+            addCriterion("type_code <=", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeLike(String value) {
+            addCriterion("type_code like", "%" + value + "%", "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeNotLike(String value) {
+            addCriterion("type_code not like", "%" + value + "%", "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeIn(List<String> values) {
+            addCriterion("type_code in", values, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeNotIn(List<String> values) {
+            addCriterion("type_code not in", values, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeBetween(String value1, String value2) {
+            addCriterion("type_code between", value1, value2, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeNotBetween(String value1, String value2) {
+            addCriterion("type_code not between", value1, value2, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNull() {
+            addCriterion("code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNotNull() {
+            addCriterion("code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeEqualTo(String value) {
+            addCriterion("code =", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotEqualTo(String value) {
+            addCriterion("code <>", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThan(String value) {
+            addCriterion("code >", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("code >=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThan(String value) {
+            addCriterion("code <", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThanOrEqualTo(String value) {
+            addCriterion("code <=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLike(String value) {
+            addCriterion("code like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotLike(String value) {
+            addCriterion("code not like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIn(List<String> values) {
+            addCriterion("code in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotIn(List<String> values) {
+            addCriterion("code not in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeBetween(String value1, String value2) {
+            addCriterion("code between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotBetween(String value1, String value2) {
+            addCriterion("code not between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIsNull() {
+            addCriterion("value is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIsNotNull() {
+            addCriterion("value is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueEqualTo(String value) {
+            addCriterion("value =", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotEqualTo(String value) {
+            addCriterion("value <>", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueGreaterThan(String value) {
+            addCriterion("value >", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueGreaterThanOrEqualTo(String value) {
+            addCriterion("value >=", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLessThan(String value) {
+            addCriterion("value <", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLessThanOrEqualTo(String value) {
+            addCriterion("value <=", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLike(String value) {
+            addCriterion("value like", "%" + value + "%", "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotLike(String value) {
+            addCriterion("value not like", "%" + value + "%", "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIn(List<String> values) {
+            addCriterion("value in", values, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotIn(List<String> values) {
+            addCriterion("value not in", values, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueBetween(String value1, String value2) {
+            addCriterion("value between", value1, value2, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotBetween(String value1, String value2) {
+            addCriterion("value not between", value1, value2, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortIsNull() {
+            addCriterion("sort is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortIsNotNull() {
+            addCriterion("sort is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortEqualTo(Integer value) {
+            addCriterion("sort =", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNotEqualTo(Integer value) {
+            addCriterion("sort <>", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortGreaterThan(Integer value) {
+            addCriterion("sort >", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortGreaterThanOrEqualTo(Integer value) {
+            addCriterion("sort >=", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortLessThan(Integer value) {
+            addCriterion("sort <", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortLessThanOrEqualTo(Integer value) {
+            addCriterion("sort <=", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortIn(List<Integer> values) {
+            addCriterion("sort in", values, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNotIn(List<Integer> values) {
+            addCriterion("sort not in", values, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortBetween(Integer value1, Integer value2) {
+            addCriterion("sort between", value1, value2, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNotBetween(Integer value1, Integer value2) {
+            addCriterion("sort not between", value1, value2, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNull() {
+            addCriterion("remark is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNotNull() {
+            addCriterion("remark is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkEqualTo(String value) {
+            addCriterion("remark =", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotEqualTo(String value) {
+            addCriterion("remark <>", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThan(String value) {
+            addCriterion("remark >", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
+            addCriterion("remark >=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThan(String value) {
+            addCriterion("remark <", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThanOrEqualTo(String value) {
+            addCriterion("remark <=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLike(String value) {
+            addCriterion("remark like", "%" + value + "%", "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotLike(String value) {
+            addCriterion("remark not like", "%" + value + "%", "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIn(List<String> values) {
+            addCriterion("remark in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotIn(List<String> values) {
+            addCriterion("remark not in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkBetween(String value1, String value2) {
+            addCriterion("remark between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotBetween(String value1, String value2) {
+            addCriterion("remark not between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNull() {
+            addCriterion("created_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNotNull() {
+            addCriterion("created_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeEqualTo(Date value) {
+            addCriterion("created_time =", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotEqualTo(Date value) {
+            addCriterion("created_time <>", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThan(Date value) {
+            addCriterion("created_time >", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("created_time >=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThan(Date value) {
+            addCriterion("created_time <", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
+            addCriterion("created_time <=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIn(List<Date> values) {
+            addCriterion("created_time in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotIn(List<Date> values) {
+            addCriterion("created_time not in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
+            addCriterion("created_time between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
+            addCriterion("created_time not between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNull() {
+            addCriterion("created_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNotNull() {
+            addCriterion("created_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdEqualTo(String value) {
+            addCriterion("created_by_user_id =", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotEqualTo(String value) {
+            addCriterion("created_by_user_id <>", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThan(String value) {
+            addCriterion("created_by_user_id >", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id >=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThan(String value) {
+            addCriterion("created_by_user_id <", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id <=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLike(String value) {
+            addCriterion("created_by_user_id like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotLike(String value) {
+            addCriterion("created_by_user_id not like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIn(List<String> values) {
+            addCriterion("created_by_user_id in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotIn(List<String> values) {
+            addCriterion("created_by_user_id not in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdBetween(String value1, String value2) {
+            addCriterion("created_by_user_id between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_id not between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNull() {
+            addCriterion("created_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNotNull() {
+            addCriterion("created_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeEqualTo(String value) {
+            addCriterion("created_by_user_code =", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotEqualTo(String value) {
+            addCriterion("created_by_user_code <>", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThan(String value) {
+            addCriterion("created_by_user_code >", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code >=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThan(String value) {
+            addCriterion("created_by_user_code <", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code <=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLike(String value) {
+            addCriterion("created_by_user_code like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotLike(String value) {
+            addCriterion("created_by_user_code not like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIn(List<String> values) {
+            addCriterion("created_by_user_code in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotIn(List<String> values) {
+            addCriterion("created_by_user_code not in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeBetween(String value1, String value2) {
+            addCriterion("created_by_user_code between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_code not between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNull() {
+            addCriterion("update_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNotNull() {
+            addCriterion("update_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdEqualTo(String value) {
+            addCriterion("update_by_user_id =", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotEqualTo(String value) {
+            addCriterion("update_by_user_id <>", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThan(String value) {
+            addCriterion("update_by_user_id >", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id >=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThan(String value) {
+            addCriterion("update_by_user_id <", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id <=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLike(String value) {
+            addCriterion("update_by_user_id like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotLike(String value) {
+            addCriterion("update_by_user_id not like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIn(List<String> values) {
+            addCriterion("update_by_user_id in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotIn(List<String> values) {
+            addCriterion("update_by_user_id not in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdBetween(String value1, String value2) {
+            addCriterion("update_by_user_id between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_id not between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNull() {
+            addCriterion("update_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNotNull() {
+            addCriterion("update_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeEqualTo(String value) {
+            addCriterion("update_by_user_code =", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotEqualTo(String value) {
+            addCriterion("update_by_user_code <>", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThan(String value) {
+            addCriterion("update_by_user_code >", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code >=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThan(String value) {
+            addCriterion("update_by_user_code <", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code <=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLike(String value) {
+            addCriterion("update_by_user_code like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotLike(String value) {
+            addCriterion("update_by_user_code not like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIn(List<String> values) {
+            addCriterion("update_by_user_code in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotIn(List<String> values) {
+            addCriterion("update_by_user_code not in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeBetween(String value1, String value2) {
+            addCriterion("update_by_user_code between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_code not between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 122 - 0
wms-center/src/main/java/com/lote/wms/base/dict/entity/DictType.java

@@ -0,0 +1,122 @@
+package com.lote.wms.base.dict.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class DictType implements Serializable {
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private Integer status;
+
+    private String remark;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private static final long serialVersionUID = 1L;
+
+    public DictType() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+}

+ 942 - 0
wms-center/src/main/java/com/lote/wms/base/dict/entity/DictTypeCriteria.java

@@ -0,0 +1,942 @@
+package com.lote.wms.base.dict.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.mybatis.plugin.model.QueryParam;
+
+public class DictTypeCriteria extends QueryParam {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public DictTypeCriteria() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNull() {
+            addCriterion("code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNotNull() {
+            addCriterion("code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeEqualTo(String value) {
+            addCriterion("code =", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotEqualTo(String value) {
+            addCriterion("code <>", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThan(String value) {
+            addCriterion("code >", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("code >=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThan(String value) {
+            addCriterion("code <", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThanOrEqualTo(String value) {
+            addCriterion("code <=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLike(String value) {
+            addCriterion("code like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotLike(String value) {
+            addCriterion("code not like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIn(List<String> values) {
+            addCriterion("code in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotIn(List<String> values) {
+            addCriterion("code not in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeBetween(String value1, String value2) {
+            addCriterion("code between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotBetween(String value1, String value2) {
+            addCriterion("code not between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNull() {
+            addCriterion("name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNotNull() {
+            addCriterion("name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEqualTo(String value) {
+            addCriterion("name =", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotEqualTo(String value) {
+            addCriterion("name <>", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThan(String value) {
+            addCriterion("name >", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThanOrEqualTo(String value) {
+            addCriterion("name >=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThan(String value) {
+            addCriterion("name <", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThanOrEqualTo(String value) {
+            addCriterion("name <=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLike(String value) {
+            addCriterion("name like", "%" + value + "%", "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotLike(String value) {
+            addCriterion("name not like", "%" + value + "%", "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIn(List<String> values) {
+            addCriterion("name in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotIn(List<String> values) {
+            addCriterion("name not in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameBetween(String value1, String value2) {
+            addCriterion("name between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotBetween(String value1, String value2) {
+            addCriterion("name not between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNull() {
+            addCriterion("status is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNotNull() {
+            addCriterion("status is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusEqualTo(Integer value) {
+            addCriterion("status =", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotEqualTo(Integer value) {
+            addCriterion("status <>", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThan(Integer value) {
+            addCriterion("status >", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("status >=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThan(Integer value) {
+            addCriterion("status <", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("status <=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIn(List<Integer> values) {
+            addCriterion("status in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotIn(List<Integer> values) {
+            addCriterion("status not in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusBetween(Integer value1, Integer value2) {
+            addCriterion("status between", value1, value2, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("status not between", value1, value2, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNull() {
+            addCriterion("remark is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNotNull() {
+            addCriterion("remark is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkEqualTo(String value) {
+            addCriterion("remark =", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotEqualTo(String value) {
+            addCriterion("remark <>", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThan(String value) {
+            addCriterion("remark >", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
+            addCriterion("remark >=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThan(String value) {
+            addCriterion("remark <", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThanOrEqualTo(String value) {
+            addCriterion("remark <=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLike(String value) {
+            addCriterion("remark like", "%" + value + "%", "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotLike(String value) {
+            addCriterion("remark not like", "%" + value + "%", "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIn(List<String> values) {
+            addCriterion("remark in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotIn(List<String> values) {
+            addCriterion("remark not in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkBetween(String value1, String value2) {
+            addCriterion("remark between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotBetween(String value1, String value2) {
+            addCriterion("remark not between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNull() {
+            addCriterion("created_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNotNull() {
+            addCriterion("created_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeEqualTo(Date value) {
+            addCriterion("created_time =", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotEqualTo(Date value) {
+            addCriterion("created_time <>", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThan(Date value) {
+            addCriterion("created_time >", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("created_time >=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThan(Date value) {
+            addCriterion("created_time <", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
+            addCriterion("created_time <=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIn(List<Date> values) {
+            addCriterion("created_time in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotIn(List<Date> values) {
+            addCriterion("created_time not in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
+            addCriterion("created_time between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
+            addCriterion("created_time not between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNull() {
+            addCriterion("created_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNotNull() {
+            addCriterion("created_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdEqualTo(String value) {
+            addCriterion("created_by_user_id =", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotEqualTo(String value) {
+            addCriterion("created_by_user_id <>", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThan(String value) {
+            addCriterion("created_by_user_id >", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id >=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThan(String value) {
+            addCriterion("created_by_user_id <", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id <=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLike(String value) {
+            addCriterion("created_by_user_id like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotLike(String value) {
+            addCriterion("created_by_user_id not like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIn(List<String> values) {
+            addCriterion("created_by_user_id in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotIn(List<String> values) {
+            addCriterion("created_by_user_id not in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdBetween(String value1, String value2) {
+            addCriterion("created_by_user_id between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_id not between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNull() {
+            addCriterion("created_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNotNull() {
+            addCriterion("created_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeEqualTo(String value) {
+            addCriterion("created_by_user_code =", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotEqualTo(String value) {
+            addCriterion("created_by_user_code <>", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThan(String value) {
+            addCriterion("created_by_user_code >", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code >=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThan(String value) {
+            addCriterion("created_by_user_code <", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code <=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLike(String value) {
+            addCriterion("created_by_user_code like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotLike(String value) {
+            addCriterion("created_by_user_code not like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIn(List<String> values) {
+            addCriterion("created_by_user_code in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotIn(List<String> values) {
+            addCriterion("created_by_user_code not in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeBetween(String value1, String value2) {
+            addCriterion("created_by_user_code between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_code not between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNull() {
+            addCriterion("update_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNotNull() {
+            addCriterion("update_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdEqualTo(String value) {
+            addCriterion("update_by_user_id =", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotEqualTo(String value) {
+            addCriterion("update_by_user_id <>", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThan(String value) {
+            addCriterion("update_by_user_id >", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id >=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThan(String value) {
+            addCriterion("update_by_user_id <", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id <=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLike(String value) {
+            addCriterion("update_by_user_id like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotLike(String value) {
+            addCriterion("update_by_user_id not like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIn(List<String> values) {
+            addCriterion("update_by_user_id in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotIn(List<String> values) {
+            addCriterion("update_by_user_id not in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdBetween(String value1, String value2) {
+            addCriterion("update_by_user_id between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_id not between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNull() {
+            addCriterion("update_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNotNull() {
+            addCriterion("update_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeEqualTo(String value) {
+            addCriterion("update_by_user_code =", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotEqualTo(String value) {
+            addCriterion("update_by_user_code <>", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThan(String value) {
+            addCriterion("update_by_user_code >", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code >=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThan(String value) {
+            addCriterion("update_by_user_code <", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code <=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLike(String value) {
+            addCriterion("update_by_user_code like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotLike(String value) {
+            addCriterion("update_by_user_code not like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIn(List<String> values) {
+            addCriterion("update_by_user_code in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotIn(List<String> values) {
+            addCriterion("update_by_user_code not in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeBetween(String value1, String value2) {
+            addCriterion("update_by_user_code between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_code not between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 121 - 0
wms-center/src/main/java/com/lote/wms/base/dict/entity/queryvo/DictItemQueryVo.java

@@ -0,0 +1,121 @@
+package com.lote.wms.base.dict.entity.queryvo;
+
+import java.util.Date;
+
+import org.mybatis.plugin.model.QueryParam;
+
+public class DictItemQueryVo extends QueryParam {
+    private String id;
+
+    private String typeCode;
+
+    private String code;
+
+    private String value;
+
+    private String remark;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private static final long serialVersionUID = 1L;
+
+    
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getTypeCode() {
+        return typeCode;
+    }
+
+    public void setTypeCode(String typeCode) {
+        this.typeCode = typeCode == null ? null : typeCode.trim();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value == null ? null : value.trim();
+    }
+
+    
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+}

+ 22 - 0
wms-center/src/main/java/com/lote/wms/base/dict/entity/queryvo/DictTypeQueryVo.java

@@ -0,0 +1,22 @@
+package com.lote.wms.base.dict.entity.queryvo;
+
+import org.mybatis.plugin.model.QueryParam;
+
+public class DictTypeQueryVo extends QueryParam {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -8096072280941501930L;
+	
+	private String code;
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+}

+ 25 - 0
wms-center/src/main/java/com/lote/wms/base/dict/service/DictItemService.java

@@ -0,0 +1,25 @@
+package com.lote.wms.base.dict.service;
+
+import java.util.List;
+
+import com.lote.wms.base.dict.entity.DictItem;
+import com.lote.wms.base.dict.entity.queryvo.DictItemQueryVo;
+
+import org.mybatis.plugin.model.Pager;
+
+public interface DictItemService {
+    DictItem add(DictItem record);
+
+    boolean delete(String id);
+
+    DictItem update(DictItem record);
+
+    DictItem get(String id);
+
+    Pager<DictItem> list(int page, int limit);
+
+	List<DictItem> listAll();
+
+	Pager<DictItem> list(DictItemQueryVo vo);
+
+}

+ 24 - 0
wms-center/src/main/java/com/lote/wms/base/dict/service/DictTypeService.java

@@ -0,0 +1,24 @@
+package com.lote.wms.base.dict.service;
+
+import com.lote.wms.base.dict.entity.DictType;
+import com.lote.wms.base.dict.entity.queryvo.DictTypeQueryVo;
+
+import java.util.List;
+
+import org.mybatis.plugin.model.Pager;
+
+public interface DictTypeService {
+	DictType add(DictType record);
+
+	boolean delete(String id);
+
+	DictType update(DictType record);
+
+	DictType get(String id);
+
+	Pager<DictType> list(int page, int limit);
+
+	List<DictType> listAll();
+
+	Pager<DictType> list(DictTypeQueryVo vo);
+}

+ 101 - 0
wms-center/src/main/java/com/lote/wms/base/dict/service/impl/DictItemServiceImpl.java

@@ -0,0 +1,101 @@
+package com.lote.wms.base.dict.service.impl;
+
+import com.lote.wms.common.core.db.IdWorkerAide;
+import com.lote.wms.common.exception.ServiceException;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.base.dict.dao.DictItemMapper;
+import com.lote.wms.base.dict.dao.DictTypeMapper;
+import com.lote.wms.base.dict.entity.DictItem;
+import com.lote.wms.base.dict.entity.DictItemCriteria.Criteria;
+import com.lote.wms.base.dict.entity.DictItemCriteria;
+import com.lote.wms.base.dict.entity.DictType;
+import com.lote.wms.base.dict.entity.queryvo.DictItemQueryVo;
+import com.lote.wms.base.dict.service.DictItemService;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+@Service("dictItemService")
+public class DictItemServiceImpl implements DictItemService {
+
+	@Resource
+	private DictItemMapper dictItemMapper;
+
+	@Resource
+	private DictTypeMapper dictTypeMapper;
+
+	private static final Logger logger = LoggerFactory.getLogger(DictItemServiceImpl.class);
+
+	public DictItem add(DictItem record) {
+		// 验证代码是否已经存在
+		DictItem dictItem = dictItemMapper.getByCode(record.getCode());
+		if (dictItem != null) {
+			throw new ServiceException("字典条目代码已存在");
+		}
+		fillDictType(record);
+		record.setId(IdWorkerAide.nextId());
+		if (this.dictItemMapper.insertSelective(record) != 1) {
+			throw new ServiceException("新增失败");
+		}
+		return record;
+	}
+
+	public boolean delete(String id) {
+		return this.dictItemMapper.deleteByPrimaryKey(id) == 1;
+	}
+
+	// 冗余字典类型
+	private void fillDictType(DictItem record) {
+		DictType dictTypeEnt = dictTypeMapper.getByCode(record.getTypeCode());
+		if (dictTypeEnt == null) {
+			throw new ServiceException("字典类型不存在");
+		}
+		record.setTypeCode(dictTypeEnt.getCode());
+	}
+
+	public DictItem update(DictItem record) {
+		fillDictType(record);
+		if (this.dictItemMapper.updateByPrimaryKeySelective(record) == 1) {
+			throw new ServiceException("更新失败");
+		}
+		return record;
+	}
+
+	public DictItem get(String id) {
+		return this.dictItemMapper.selectByPrimaryKey(id);
+	}
+
+	public Pager<DictItem> list(int page, int limit) {
+		DictItemCriteria criteria = new DictItemCriteria();
+		criteria.setPage(page);
+		criteria.setLimit(limit);
+		Criteria cri = criteria.createCriteria();
+		List<DictItem> list = dictItemMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public List<DictItem> listAll() {
+		return dictItemMapper.listAll();
+	}
+
+	@Override
+	public Pager<DictItem> list(DictItemQueryVo vo) {
+		DictItemCriteria criteria = new DictItemCriteria();
+		criteria.setPage(vo.getPage());
+		criteria.setLimit(vo.getLimit());
+		Criteria cri = criteria.createCriteria();
+		if (!StringUtil.isEmpty(vo.getCode())) {
+			cri.andCodeEqualTo(vo.getCode().trim());
+		}
+		List<DictItem> list = dictItemMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+}

+ 89 - 0
wms-center/src/main/java/com/lote/wms/base/dict/service/impl/DictTypeServiceImpl.java

@@ -0,0 +1,89 @@
+package com.lote.wms.base.dict.service.impl;
+
+import com.lote.wms.common.core.db.IdWorkerAide;
+import com.lote.wms.common.exception.ServiceException;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.base.dict.dao.DictTypeMapper;
+import com.lote.wms.base.dict.entity.DictType;
+import com.lote.wms.base.dict.entity.DictTypeCriteria;
+import com.lote.wms.base.dict.entity.DictType;
+import com.lote.wms.base.dict.entity.DictTypeCriteria.Criteria;
+import com.lote.wms.base.dict.entity.queryvo.DictTypeQueryVo;
+import com.lote.wms.base.dict.entity.DictTypeCriteria;
+import com.lote.wms.base.dict.service.DictTypeService;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import javax.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+@Service("dictTypeService")
+public class DictTypeServiceImpl implements DictTypeService {
+	@Resource
+	private DictTypeMapper dictTypeMapper;
+
+	private static final Logger logger = LoggerFactory.getLogger(DictTypeServiceImpl.class);
+
+	public DictType add(DictType record) {
+		record.setId(IdWorkerAide.nextId());
+		if (this.dictTypeMapper.insertSelective(record) != 1) {
+			throw new ServiceException("新增失败");
+		}
+		return record;
+	}
+
+	public boolean delete(String id) {
+		return this.dictTypeMapper.deleteByPrimaryKey(id) == 1;
+	}
+
+	public DictType update(DictType record) {
+		if (this.dictTypeMapper.updateByPrimaryKeySelective(record) != 1) {
+			throw new ServiceException("更新失败");
+		}
+		return record;
+	}
+
+	public DictType get(String id) {
+		return this.dictTypeMapper.selectByPrimaryKey(id);
+	}
+
+	public Pager<DictType> list(int page, int limit) {
+		DictTypeCriteria criteria = new DictTypeCriteria();
+		criteria.setPage(page);
+		criteria.setLimit(limit);
+		Criteria cri = criteria.createCriteria();
+		List<DictType> list = dictTypeMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public List<DictType> listAll() {
+		List<DictType> dictTypeList = dictTypeMapper.selectAll();
+		for (DictType dictType : dictTypeList) {
+			dictType.setId(dictType.getCode());
+
+		}
+		return dictTypeList;
+	}
+
+	@Override
+	public Pager<DictType> list(DictTypeQueryVo dictTypeQueryVo) {
+		DictTypeCriteria criteria = new DictTypeCriteria();
+		criteria.setPage(dictTypeQueryVo.getPage());
+		criteria.setLimit(dictTypeQueryVo.getLimit());
+		criteria.setOrderByClause("code asc");
+
+		Criteria cri = criteria.createCriteria();
+		if (!StringUtil.isEmpty(dictTypeQueryVo.getCode())) {
+			cri.andCodeEqualTo(dictTypeQueryVo.getCode());
+		}
+
+		List<DictType> list = dictTypeMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+}

+ 107 - 0
wms-center/src/main/java/com/lote/wms/base/shop/controller/ShopController.java

@@ -0,0 +1,107 @@
+package com.lote.wms.base.shop.controller;
+
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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 com.lote.wms.base.shop.entity.Shop;
+import com.lote.wms.base.shop.entity.queryvo.ShopQueryVo;
+import com.lote.wms.base.shop.service.ShopService;
+import com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.core.web.model.SessionAttrConstant;
+import com.lote.wms.common.utils.StringUtil;
+
+@RequestMapping("/base/shop")
+@RestController
+public class ShopController extends AbstractController{
+
+	private Logger logger=LoggerFactory.getLogger(ShopController.class);
+	
+	@Resource
+	private ShopService shopService;
+	
+	/**
+	 * 门店列表查询
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/list", method = RequestMethod.POST)
+	public Result list(@RequestBody ShopQueryVo vo) {
+		Pager<Shop> pager = shopService.list(vo);
+		return Result.success(pager);
+	}
+	
+	
+	/**
+	 * 新增门店
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/add", method = RequestMethod.POST)
+	public Result add(Shop shop) {
+		if (StringUtil.isEmpty(shop.getCode())) {
+			return Result.error("门店代码不能为空!");
+		}
+		if (StringUtil.isEmpty(shop.getInstanceCode())) {
+			return Result.error("所属实例不能为空!");
+		}
+		if (StringUtil.isEmpty(shop.getName())) {
+			return Result.error("门店名字不能为空!");
+		}
+		 
+
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		shop.setCreatedByUserCode(userCode);
+		shop.setCreatedByUserId(userId);
+		shop.setCreatedTime(new Date());
+		shopService.addAndSync(shop);
+		return Result.success("新增门店成功!");
+	}
+	
+	
+	/**
+	 * 更新门店
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/upd")
+	public Result upd(Shop shop) {
+		if (StringUtil.isEmpty(shop.getId())) {
+			return Result.error("门店id不能为空!");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		shop.setUpdateByUserCode(userCode);
+		shop.setUpdateByUserId(userId);
+		shop.setUpdateTime(new Date());
+		shopService.update(shop);
+		return Result.success("更新门店成功!");
+	}
+	
+	/**
+	 * 门店  by id
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/get")
+	public Shop get(String id) {
+		return shopService.get(id);
+	}
+	
+
+}

+ 21 - 0
wms-center/src/main/java/com/lote/wms/base/shop/dao/ShopMapper.java

@@ -0,0 +1,21 @@
+package com.lote.wms.base.shop.dao;
+
+import com.lote.wms.base.shop.entity.Shop;
+import com.lote.wms.base.shop.entity.ShopCriteria;
+import java.util.List;
+
+public interface ShopMapper {
+    int deleteByCondition(ShopCriteria condition);
+
+    int deleteByPrimaryKey(String id);
+
+    int insertSelective(Shop record);
+
+    List<Shop> selectByConditionList(ShopCriteria condition);
+
+    Shop selectByPrimaryKey(String id);
+
+    int countByCondition(ShopCriteria condition);
+
+    int updateByPrimaryKeySelective(Shop record);
+}

+ 202 - 0
wms-center/src/main/java/com/lote/wms/base/shop/entity/Shop.java

@@ -0,0 +1,202 @@
+package com.lote.wms.base.shop.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Shop implements Serializable {
+    private String id;
+
+    private String instanceCode;
+
+    private String instanceName;
+
+    private String code;
+
+    private String name;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private String adminCode;
+
+    private String adminName;
+
+    private String adminPassword;
+
+    private String extend1;
+
+    private String extend2;
+
+    private String extend3;
+
+    private String extend4;
+
+    private String extend5;
+
+    private static final long serialVersionUID = 1L;
+
+    public Shop() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getInstanceCode() {
+        return instanceCode;
+    }
+
+    public void setInstanceCode(String instanceCode) {
+        this.instanceCode = instanceCode == null ? null : instanceCode.trim();
+    }
+
+    public String getInstanceName() {
+        return instanceName;
+    }
+
+    public void setInstanceName(String instanceName) {
+        this.instanceName = instanceName == null ? null : instanceName.trim();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+
+    public String getAdminCode() {
+        return adminCode;
+    }
+
+    public void setAdminCode(String adminCode) {
+        this.adminCode = adminCode == null ? null : adminCode.trim();
+    }
+
+    public String getAdminName() {
+        return adminName;
+    }
+
+    public void setAdminName(String adminName) {
+        this.adminName = adminName == null ? null : adminName.trim();
+    }
+
+    public String getAdminPassword() {
+        return adminPassword;
+    }
+
+    public void setAdminPassword(String adminPassword) {
+        this.adminPassword = adminPassword == null ? null : adminPassword.trim();
+    }
+
+    public String getExtend1() {
+        return extend1;
+    }
+
+    public void setExtend1(String extend1) {
+        this.extend1 = extend1 == null ? null : extend1.trim();
+    }
+
+    public String getExtend2() {
+        return extend2;
+    }
+
+    public void setExtend2(String extend2) {
+        this.extend2 = extend2 == null ? null : extend2.trim();
+    }
+
+    public String getExtend3() {
+        return extend3;
+    }
+
+    public void setExtend3(String extend3) {
+        this.extend3 = extend3 == null ? null : extend3.trim();
+    }
+
+    public String getExtend4() {
+        return extend4;
+    }
+
+    public void setExtend4(String extend4) {
+        this.extend4 = extend4 == null ? null : extend4.trim();
+    }
+
+    public String getExtend5() {
+        return extend5;
+    }
+
+    public void setExtend5(String extend5) {
+        this.extend5 = extend5 == null ? null : extend5.trim();
+    }
+}

+ 1512 - 0
wms-center/src/main/java/com/lote/wms/base/shop/entity/ShopCriteria.java

@@ -0,0 +1,1512 @@
+package com.lote.wms.base.shop.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.mybatis.plugin.model.QueryParam;
+
+public class ShopCriteria extends QueryParam {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public ShopCriteria() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeIsNull() {
+            addCriterion("instance_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeIsNotNull() {
+            addCriterion("instance_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeEqualTo(String value) {
+            addCriterion("instance_code =", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotEqualTo(String value) {
+            addCriterion("instance_code <>", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeGreaterThan(String value) {
+            addCriterion("instance_code >", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("instance_code >=", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeLessThan(String value) {
+            addCriterion("instance_code <", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeLessThanOrEqualTo(String value) {
+            addCriterion("instance_code <=", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeLike(String value) {
+            addCriterion("instance_code like", "%" + value + "%", "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotLike(String value) {
+            addCriterion("instance_code not like", "%" + value + "%", "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeIn(List<String> values) {
+            addCriterion("instance_code in", values, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotIn(List<String> values) {
+            addCriterion("instance_code not in", values, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeBetween(String value1, String value2) {
+            addCriterion("instance_code between", value1, value2, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotBetween(String value1, String value2) {
+            addCriterion("instance_code not between", value1, value2, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameIsNull() {
+            addCriterion("instance_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameIsNotNull() {
+            addCriterion("instance_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameEqualTo(String value) {
+            addCriterion("instance_name =", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotEqualTo(String value) {
+            addCriterion("instance_name <>", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameGreaterThan(String value) {
+            addCriterion("instance_name >", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameGreaterThanOrEqualTo(String value) {
+            addCriterion("instance_name >=", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameLessThan(String value) {
+            addCriterion("instance_name <", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameLessThanOrEqualTo(String value) {
+            addCriterion("instance_name <=", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameLike(String value) {
+            addCriterion("instance_name like", "%" + value + "%", "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotLike(String value) {
+            addCriterion("instance_name not like", "%" + value + "%", "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameIn(List<String> values) {
+            addCriterion("instance_name in", values, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotIn(List<String> values) {
+            addCriterion("instance_name not in", values, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameBetween(String value1, String value2) {
+            addCriterion("instance_name between", value1, value2, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotBetween(String value1, String value2) {
+            addCriterion("instance_name not between", value1, value2, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNull() {
+            addCriterion("code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNotNull() {
+            addCriterion("code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeEqualTo(String value) {
+            addCriterion("code =", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotEqualTo(String value) {
+            addCriterion("code <>", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThan(String value) {
+            addCriterion("code >", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("code >=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThan(String value) {
+            addCriterion("code <", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThanOrEqualTo(String value) {
+            addCriterion("code <=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLike(String value) {
+            addCriterion("code like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotLike(String value) {
+            addCriterion("code not like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIn(List<String> values) {
+            addCriterion("code in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotIn(List<String> values) {
+            addCriterion("code not in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeBetween(String value1, String value2) {
+            addCriterion("code between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotBetween(String value1, String value2) {
+            addCriterion("code not between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNull() {
+            addCriterion("name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNotNull() {
+            addCriterion("name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEqualTo(String value) {
+            addCriterion("name =", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotEqualTo(String value) {
+            addCriterion("name <>", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThan(String value) {
+            addCriterion("name >", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThanOrEqualTo(String value) {
+            addCriterion("name >=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThan(String value) {
+            addCriterion("name <", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThanOrEqualTo(String value) {
+            addCriterion("name <=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLike(String value) {
+            addCriterion("name like", "%" + value + "%", "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotLike(String value) {
+            addCriterion("name not like", "%" + value + "%", "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIn(List<String> values) {
+            addCriterion("name in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotIn(List<String> values) {
+            addCriterion("name not in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameBetween(String value1, String value2) {
+            addCriterion("name between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotBetween(String value1, String value2) {
+            addCriterion("name not between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNull() {
+            addCriterion("created_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNotNull() {
+            addCriterion("created_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeEqualTo(Date value) {
+            addCriterion("created_time =", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotEqualTo(Date value) {
+            addCriterion("created_time <>", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThan(Date value) {
+            addCriterion("created_time >", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("created_time >=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThan(Date value) {
+            addCriterion("created_time <", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
+            addCriterion("created_time <=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIn(List<Date> values) {
+            addCriterion("created_time in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotIn(List<Date> values) {
+            addCriterion("created_time not in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
+            addCriterion("created_time between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
+            addCriterion("created_time not between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNull() {
+            addCriterion("created_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNotNull() {
+            addCriterion("created_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdEqualTo(String value) {
+            addCriterion("created_by_user_id =", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotEqualTo(String value) {
+            addCriterion("created_by_user_id <>", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThan(String value) {
+            addCriterion("created_by_user_id >", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id >=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThan(String value) {
+            addCriterion("created_by_user_id <", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id <=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLike(String value) {
+            addCriterion("created_by_user_id like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotLike(String value) {
+            addCriterion("created_by_user_id not like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIn(List<String> values) {
+            addCriterion("created_by_user_id in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotIn(List<String> values) {
+            addCriterion("created_by_user_id not in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdBetween(String value1, String value2) {
+            addCriterion("created_by_user_id between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_id not between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNull() {
+            addCriterion("created_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNotNull() {
+            addCriterion("created_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeEqualTo(String value) {
+            addCriterion("created_by_user_code =", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotEqualTo(String value) {
+            addCriterion("created_by_user_code <>", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThan(String value) {
+            addCriterion("created_by_user_code >", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code >=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThan(String value) {
+            addCriterion("created_by_user_code <", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code <=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLike(String value) {
+            addCriterion("created_by_user_code like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotLike(String value) {
+            addCriterion("created_by_user_code not like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIn(List<String> values) {
+            addCriterion("created_by_user_code in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotIn(List<String> values) {
+            addCriterion("created_by_user_code not in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeBetween(String value1, String value2) {
+            addCriterion("created_by_user_code between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_code not between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNull() {
+            addCriterion("update_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNotNull() {
+            addCriterion("update_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdEqualTo(String value) {
+            addCriterion("update_by_user_id =", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotEqualTo(String value) {
+            addCriterion("update_by_user_id <>", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThan(String value) {
+            addCriterion("update_by_user_id >", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id >=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThan(String value) {
+            addCriterion("update_by_user_id <", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id <=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLike(String value) {
+            addCriterion("update_by_user_id like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotLike(String value) {
+            addCriterion("update_by_user_id not like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIn(List<String> values) {
+            addCriterion("update_by_user_id in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotIn(List<String> values) {
+            addCriterion("update_by_user_id not in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdBetween(String value1, String value2) {
+            addCriterion("update_by_user_id between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_id not between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNull() {
+            addCriterion("update_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNotNull() {
+            addCriterion("update_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeEqualTo(String value) {
+            addCriterion("update_by_user_code =", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotEqualTo(String value) {
+            addCriterion("update_by_user_code <>", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThan(String value) {
+            addCriterion("update_by_user_code >", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code >=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThan(String value) {
+            addCriterion("update_by_user_code <", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code <=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLike(String value) {
+            addCriterion("update_by_user_code like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotLike(String value) {
+            addCriterion("update_by_user_code not like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIn(List<String> values) {
+            addCriterion("update_by_user_code in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotIn(List<String> values) {
+            addCriterion("update_by_user_code not in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeBetween(String value1, String value2) {
+            addCriterion("update_by_user_code between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_code not between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeIsNull() {
+            addCriterion("admin_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeIsNotNull() {
+            addCriterion("admin_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeEqualTo(String value) {
+            addCriterion("admin_code =", value, "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeNotEqualTo(String value) {
+            addCriterion("admin_code <>", value, "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeGreaterThan(String value) {
+            addCriterion("admin_code >", value, "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("admin_code >=", value, "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeLessThan(String value) {
+            addCriterion("admin_code <", value, "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeLessThanOrEqualTo(String value) {
+            addCriterion("admin_code <=", value, "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeLike(String value) {
+            addCriterion("admin_code like", "%" + value + "%", "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeNotLike(String value) {
+            addCriterion("admin_code not like", "%" + value + "%", "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeIn(List<String> values) {
+            addCriterion("admin_code in", values, "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeNotIn(List<String> values) {
+            addCriterion("admin_code not in", values, "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeBetween(String value1, String value2) {
+            addCriterion("admin_code between", value1, value2, "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminCodeNotBetween(String value1, String value2) {
+            addCriterion("admin_code not between", value1, value2, "adminCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameIsNull() {
+            addCriterion("admin_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameIsNotNull() {
+            addCriterion("admin_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameEqualTo(String value) {
+            addCriterion("admin_name =", value, "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameNotEqualTo(String value) {
+            addCriterion("admin_name <>", value, "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameGreaterThan(String value) {
+            addCriterion("admin_name >", value, "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameGreaterThanOrEqualTo(String value) {
+            addCriterion("admin_name >=", value, "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameLessThan(String value) {
+            addCriterion("admin_name <", value, "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameLessThanOrEqualTo(String value) {
+            addCriterion("admin_name <=", value, "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameLike(String value) {
+            addCriterion("admin_name like", "%" + value + "%", "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameNotLike(String value) {
+            addCriterion("admin_name not like", "%" + value + "%", "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameIn(List<String> values) {
+            addCriterion("admin_name in", values, "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameNotIn(List<String> values) {
+            addCriterion("admin_name not in", values, "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameBetween(String value1, String value2) {
+            addCriterion("admin_name between", value1, value2, "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminNameNotBetween(String value1, String value2) {
+            addCriterion("admin_name not between", value1, value2, "adminName");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordIsNull() {
+            addCriterion("admin_password is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordIsNotNull() {
+            addCriterion("admin_password is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordEqualTo(String value) {
+            addCriterion("admin_password =", value, "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordNotEqualTo(String value) {
+            addCriterion("admin_password <>", value, "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordGreaterThan(String value) {
+            addCriterion("admin_password >", value, "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordGreaterThanOrEqualTo(String value) {
+            addCriterion("admin_password >=", value, "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordLessThan(String value) {
+            addCriterion("admin_password <", value, "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordLessThanOrEqualTo(String value) {
+            addCriterion("admin_password <=", value, "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordLike(String value) {
+            addCriterion("admin_password like", "%" + value + "%", "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordNotLike(String value) {
+            addCriterion("admin_password not like", "%" + value + "%", "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordIn(List<String> values) {
+            addCriterion("admin_password in", values, "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordNotIn(List<String> values) {
+            addCriterion("admin_password not in", values, "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordBetween(String value1, String value2) {
+            addCriterion("admin_password between", value1, value2, "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andAdminPasswordNotBetween(String value1, String value2) {
+            addCriterion("admin_password not between", value1, value2, "adminPassword");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNull() {
+            addCriterion("extend1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNotNull() {
+            addCriterion("extend1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1EqualTo(String value) {
+            addCriterion("extend1 =", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotEqualTo(String value) {
+            addCriterion("extend1 <>", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThan(String value) {
+            addCriterion("extend1 >", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThanOrEqualTo(String value) {
+            addCriterion("extend1 >=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThan(String value) {
+            addCriterion("extend1 <", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThanOrEqualTo(String value) {
+            addCriterion("extend1 <=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Like(String value) {
+            addCriterion("extend1 like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotLike(String value) {
+            addCriterion("extend1 not like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1In(List<String> values) {
+            addCriterion("extend1 in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotIn(List<String> values) {
+            addCriterion("extend1 not in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Between(String value1, String value2) {
+            addCriterion("extend1 between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotBetween(String value1, String value2) {
+            addCriterion("extend1 not between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNull() {
+            addCriterion("extend2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNotNull() {
+            addCriterion("extend2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2EqualTo(String value) {
+            addCriterion("extend2 =", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotEqualTo(String value) {
+            addCriterion("extend2 <>", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThan(String value) {
+            addCriterion("extend2 >", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThanOrEqualTo(String value) {
+            addCriterion("extend2 >=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThan(String value) {
+            addCriterion("extend2 <", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThanOrEqualTo(String value) {
+            addCriterion("extend2 <=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Like(String value) {
+            addCriterion("extend2 like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotLike(String value) {
+            addCriterion("extend2 not like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2In(List<String> values) {
+            addCriterion("extend2 in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotIn(List<String> values) {
+            addCriterion("extend2 not in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Between(String value1, String value2) {
+            addCriterion("extend2 between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotBetween(String value1, String value2) {
+            addCriterion("extend2 not between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3IsNull() {
+            addCriterion("extend3 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3IsNotNull() {
+            addCriterion("extend3 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3EqualTo(String value) {
+            addCriterion("extend3 =", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotEqualTo(String value) {
+            addCriterion("extend3 <>", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3GreaterThan(String value) {
+            addCriterion("extend3 >", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3GreaterThanOrEqualTo(String value) {
+            addCriterion("extend3 >=", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3LessThan(String value) {
+            addCriterion("extend3 <", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3LessThanOrEqualTo(String value) {
+            addCriterion("extend3 <=", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3Like(String value) {
+            addCriterion("extend3 like", "%" + value + "%", "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotLike(String value) {
+            addCriterion("extend3 not like", "%" + value + "%", "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3In(List<String> values) {
+            addCriterion("extend3 in", values, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotIn(List<String> values) {
+            addCriterion("extend3 not in", values, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3Between(String value1, String value2) {
+            addCriterion("extend3 between", value1, value2, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotBetween(String value1, String value2) {
+            addCriterion("extend3 not between", value1, value2, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4IsNull() {
+            addCriterion("extend4 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4IsNotNull() {
+            addCriterion("extend4 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4EqualTo(String value) {
+            addCriterion("extend4 =", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotEqualTo(String value) {
+            addCriterion("extend4 <>", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4GreaterThan(String value) {
+            addCriterion("extend4 >", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4GreaterThanOrEqualTo(String value) {
+            addCriterion("extend4 >=", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4LessThan(String value) {
+            addCriterion("extend4 <", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4LessThanOrEqualTo(String value) {
+            addCriterion("extend4 <=", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4Like(String value) {
+            addCriterion("extend4 like", "%" + value + "%", "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotLike(String value) {
+            addCriterion("extend4 not like", "%" + value + "%", "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4In(List<String> values) {
+            addCriterion("extend4 in", values, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotIn(List<String> values) {
+            addCriterion("extend4 not in", values, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4Between(String value1, String value2) {
+            addCriterion("extend4 between", value1, value2, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotBetween(String value1, String value2) {
+            addCriterion("extend4 not between", value1, value2, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5IsNull() {
+            addCriterion("extend5 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5IsNotNull() {
+            addCriterion("extend5 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5EqualTo(String value) {
+            addCriterion("extend5 =", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotEqualTo(String value) {
+            addCriterion("extend5 <>", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5GreaterThan(String value) {
+            addCriterion("extend5 >", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5GreaterThanOrEqualTo(String value) {
+            addCriterion("extend5 >=", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5LessThan(String value) {
+            addCriterion("extend5 <", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5LessThanOrEqualTo(String value) {
+            addCriterion("extend5 <=", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5Like(String value) {
+            addCriterion("extend5 like", "%" + value + "%", "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotLike(String value) {
+            addCriterion("extend5 not like", "%" + value + "%", "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5In(List<String> values) {
+            addCriterion("extend5 in", values, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotIn(List<String> values) {
+            addCriterion("extend5 not in", values, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5Between(String value1, String value2) {
+            addCriterion("extend5 between", value1, value2, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotBetween(String value1, String value2) {
+            addCriterion("extend5 not between", value1, value2, "extend5");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 35 - 0
wms-center/src/main/java/com/lote/wms/base/shop/entity/queryvo/ShopQueryVo.java

@@ -0,0 +1,35 @@
+package com.lote.wms.base.shop.entity.queryvo;
+
+import org.mybatis.plugin.model.QueryParam;
+
+/**
+ * 查询vo
+ * @author liqigui
+ *
+ */
+public class ShopQueryVo extends QueryParam{
+
+	
+	private String code;
+	
+	private String name;
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+	
+	
+	
+}

+ 13 - 0
wms-center/src/main/java/com/lote/wms/base/shop/service/ProduceShopService.java

@@ -0,0 +1,13 @@
+package com.lote.wms.base.shop.service;
+
+import com.lote.wms.base.shop.entity.Shop;
+
+/**
+ * 门店生产数据业务类
+ * @author liqigui
+ *
+ */
+public interface ProduceShopService {
+
+	void publish(Shop shop);
+}

+ 32 - 0
wms-center/src/main/java/com/lote/wms/base/shop/service/ShopService.java

@@ -0,0 +1,32 @@
+package com.lote.wms.base.shop.service;
+
+import com.lote.wms.base.shop.entity.Shop;
+import com.lote.wms.base.shop.entity.queryvo.ShopQueryVo;
+
+import org.mybatis.plugin.model.Pager;
+
+public interface ShopService {
+    Shop add(Shop record);
+
+    /**
+     * 新增门店并且同步到 货主+门店系统
+     * @param record
+     * @return
+     */
+    Shop addAndSync(Shop record);
+
+     
+    boolean delete(String id);
+
+    Shop update(Shop record);
+
+    Shop get(String id);
+
+    Pager<Shop> list(int page, int limit);
+    
+    Pager<Shop> list(ShopQueryVo vo);
+    
+    Shop getByCode(String code);
+    
+    
+}

+ 29 - 0
wms-center/src/main/java/com/lote/wms/base/shop/service/impl/ProduceShopServiceImpl.java

@@ -0,0 +1,29 @@
+package com.lote.wms.base.shop.service.impl;
+
+import javax.annotation.Resource;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import com.lote.wms.base.shop.entity.Shop;
+import com.lote.wms.base.shop.service.ProduceShopService;
+import com.lote.wms.common.constants.QueueDefination;
+import com.lote.wms.common.core.mq.TopicProducer;
+import com.lote.wms.common.model.JmsMessage;
+
+@Service
+public class ProduceShopServiceImpl implements ProduceShopService {
+
+	private Logger logger = LoggerFactory.getLogger(ProduceShopServiceImpl.class);
+
+	@Resource 
+	private TopicProducer topicProducer;
+
+	@Override
+	public void publish(Shop shop) {
+		topicProducer.publish(QueueDefination.SYNC_SHOP,new JmsMessage(shop));
+	}
+
+	
+}

+ 122 - 0
wms-center/src/main/java/com/lote/wms/base/shop/service/impl/ShopServiceImpl.java

@@ -0,0 +1,122 @@
+package com.lote.wms.base.shop.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.lote.wms.base.shop.dao.ShopMapper;
+import com.lote.wms.base.shop.entity.Shop;
+import com.lote.wms.base.shop.entity.ShopCriteria;
+import com.lote.wms.base.shop.entity.ShopCriteria.Criteria;
+import com.lote.wms.base.shop.entity.queryvo.ShopQueryVo;
+import com.lote.wms.base.shop.service.ProduceShopService;
+import com.lote.wms.base.shop.service.ShopService;
+import com.lote.wms.common.core.db.IdWorkerAide;
+import com.lote.wms.common.exception.ServiceException;
+import com.lote.wms.common.utils.ListUtil;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.server.deploy.entity.Instance;
+import com.lote.wms.server.deploy.service.InstanceService;
+
+@Service("shopService")
+public class ShopServiceImpl implements ShopService {
+    @Autowired
+    private ShopMapper shopMapper;
+    
+    @Resource
+    private ProduceShopService produceShopService;
+    
+    @Resource
+    private InstanceService instanceService;
+
+    private static final Logger logger = LoggerFactory.getLogger(ShopServiceImpl.class);
+
+    public Shop add(Shop record) {
+    	Instance instance = instanceService.getByCode(record.getInstanceCode());
+		if (instance == null) {
+			throw new ServiceException("实例代码不存在");
+		}
+		record.setInstanceName(instance.getName());
+    	
+    	record.setId(IdWorkerAide.nextId());
+    	if(this.shopMapper.insertSelective(record)==1)
+        	return record; 
+        return null;
+    }
+
+    public boolean delete(String id) {
+        return this.shopMapper.deleteByPrimaryKey(id)==1;
+    }
+
+    public Shop update(Shop record) {
+    	Instance instance = instanceService.getByCode(record.getInstanceCode());
+		if (instance == null) {
+			throw new ServiceException("实例代码不存在");
+		}
+		record.setInstanceName(instance.getName());
+    	
+        record.setUpdateTime(new Date());
+        
+        //生产数据
+      	produceShopService.publish(record);
+        
+        if(this.shopMapper.updateByPrimaryKeySelective(record)==1)
+        	return record;
+        return null;
+    }
+
+    public Shop get(String id) {
+        return this.shopMapper.selectByPrimaryKey(id);
+    }
+
+    public Pager<Shop> list(int page, int limit) {
+        ShopCriteria criteria = new ShopCriteria();
+        criteria.setPage(page);
+        criteria.setLimit(limit);
+        Criteria cri = criteria.createCriteria();
+        List<Shop> list = shopMapper.selectByConditionList(criteria);
+        return PagerUtil.getPager(list, criteria);
+    }
+
+	@Override
+	public Pager<Shop> list(ShopQueryVo vo) {
+		ShopCriteria criteria = new ShopCriteria();
+		criteria.setPage(vo.getPage());
+		criteria.setLimit(vo.getLimit());
+		Criteria cri = criteria.createCriteria();
+		if(!StringUtil.isEmpty(vo.getCode())) {
+			cri.andCodeEqualTo(vo.getCode());
+		}
+		if(!StringUtil.isEmpty(vo.getName())) {
+			cri.andNameEqualTo(vo.getName());
+		}
+		List<Shop> list = shopMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public Shop addAndSync(Shop record) {
+		add(record);
+		//生产数据
+		produceShopService.publish(record);
+		return record;
+	}
+
+	@Override
+	public Shop getByCode(String code) {
+		ShopCriteria criteria = new ShopCriteria();
+		criteria.setLimit(-1);
+		Criteria cri = criteria.createCriteria();
+		cri.andCodeEqualTo(code);
+		List<Shop> list = shopMapper.selectByConditionList(criteria);
+		return ListUtil.get(list, 0);
+	}
+}

+ 77 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/controller/WarehouseAddressController.java

@@ -0,0 +1,77 @@
+package com.lote.wms.base.warehouse.controller;
+
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.PathVariable;
+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.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.core.web.model.SessionAttrConstant;
+import com.lote.wms.common.core.web.util.MessageToResultAdapt;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.base.warehouse.entity.WarehouseAddress;
+import com.lote.wms.base.warehouse.entity.queryvo.WarehouseAddressQueryVo;
+import com.lote.wms.base.warehouse.service.WarehouseAddressService;
+
+@RestController
+@RequestMapping("/base/warehouseAddress")
+public class WarehouseAddressController extends AbstractController {
+
+	@SuppressWarnings("unused")
+	private static final Logger logger = LoggerFactory.getLogger(WarehouseAddressController.class);
+
+	@Resource
+	private WarehouseAddressService warehouseAddressService;
+
+	@RequestMapping("getByWarehouseId/{warehouseId}")
+	public Result getByWarehouseId(@PathVariable("warehouseId") String warehouseId) {
+		return Result.success(warehouseAddressService.getByWarehouseId(warehouseId));
+	}
+
+	@RequestMapping("getByWarehouseCode")
+	public Result getByWarehouseCode(String warehouseCode) {
+		WarehouseAddress warehouseAddress = warehouseAddressService.getByWarehouseCode(warehouseCode);
+		return Result.success(warehouseAddress);
+	}
+
+	@RequestMapping(value = "/list", method = RequestMethod.POST)
+	public Result list(@RequestBody WarehouseAddressQueryVo vo) {
+		Pager<WarehouseAddress> pager = warehouseAddressService.list(vo);
+		return Result.success(pager);
+	}
+
+	@RequestMapping(value = "/add")
+	public Result add(@RequestBody WarehouseAddress warehouseAddress) {
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		warehouseAddress.setCreatedByUserCode(userCode);
+		warehouseAddress.setCreatedByUserId(userId);
+		warehouseAddress.setCreatedTime(new Date());
+		warehouseAddressService.add(warehouseAddress);
+		return Result.success("新增仓库联系地址成功!");
+	}
+
+	@RequestMapping(value = "/upd")
+	public Result upd(@RequestBody WarehouseAddress warehouseAddress) {
+		if (StringUtil.isEmpty(warehouseAddress.getId())) {
+			return Result.error("仓库联系地址id不能为空!");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		warehouseAddress.setUpdateByUserCode(userCode);
+		warehouseAddress.setUpdateByUserId(userId);
+		warehouseAddress.setUpdateTime(new Date());
+		warehouseAddressService.update(warehouseAddress);
+		return Result.success("更新仓库联系地址成功!");
+	}
+}

+ 132 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/controller/WarehouseController.java

@@ -0,0 +1,132 @@
+package com.lote.wms.base.warehouse.controller;
+
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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 com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.base.warehouse.entity.queryvo.WarehouseQueryVo;
+import com.lote.wms.base.warehouse.service.WarehouseService;
+import com.lote.wms.base.warehouse.service.WarehouseTypeService;
+import com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.core.web.model.SessionAttrConstant;
+import com.lote.wms.common.utils.DateUtil;
+import com.lote.wms.common.utils.StringUtil;
+
+/**
+ * 仓库管理
+ * 
+ * @author lqg
+ *
+ */
+@RestController
+@RequestMapping("/base/warehouse")
+public class WarehouseController extends AbstractController {
+
+	private static final Logger logger = LoggerFactory.getLogger(WarehouseController.class);
+
+	@Resource
+	private WarehouseService warehouseService;
+
+	@Resource
+	private WarehouseTypeService warehouseTypeService;
+
+	/**
+	 * 仓库 by id
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/get")
+	public Warehouse get(String id) {
+		return warehouseService.get(id);
+	}
+
+	/**
+	 * 新增仓库
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/add", method = RequestMethod.POST)
+	public Result add(Warehouse warehouse) {
+		if (StringUtil.isEmpty(warehouse.getCode())) {
+			return Result.error("仓库代码不能为空!");
+		}
+		if (StringUtil.isEmpty(warehouse.getInstanceCode())) {
+			return Result.error("所属实例不能为空!");
+		}
+		if (StringUtil.isEmpty(warehouse.getName())) {
+			return Result.error("仓库名字不能为空!");
+		}
+		if (StringUtil.isEmpty(warehouse.getTypeCode())) {
+			return Result.error("仓库类型不能为空!");
+		}
+		Warehouse old = warehouseService.getByCode(warehouse.getCode());
+		if (old != null) {
+			String msg = "该仓库代码已存在!新增时间:" + DateUtil.dateConvertString(old.getCreatedTime(), "yyyy-MM-dd HH:mm:ss");
+			return Result.error(msg);
+		}
+
+		old = warehouseService.getByName(warehouse.getName());
+		if (old != null) {
+			String msg = "该仓库名称已存在!新增时间:" + DateUtil.dateConvertString(old.getCreatedTime(), "yyyy-MM-dd HH:mm:ss");
+			return Result.error(msg);
+		}
+
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		warehouse.setCreatedByUserCode(userCode);
+		warehouse.setCreatedByUserId(userId);
+		warehouse.setCreatedTime(new Date());
+		warehouseService.add(warehouse);
+		return Result.success("新增仓库成功!");
+	}
+
+	/**
+	 * 仓库列表查询
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/list", method = RequestMethod.POST)
+	public Result list(@RequestBody WarehouseQueryVo vo) {
+		Pager<Warehouse> pager = warehouseService.list(vo);
+		return Result.success(pager);
+	}
+
+	/**
+	 * 更新仓库
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/upd")
+	public Result upd(Warehouse warehouse) {
+		if (StringUtil.isEmpty(warehouse.getId())) {
+			return Result.error("仓库id不能为空!");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		warehouse.setUpdateByUserCode(userCode);
+		warehouse.setUpdateByUserId(userId);
+		warehouse.setUpdateTime(new Date());
+		warehouseService.update(warehouse);
+		return Result.success("更新仓库成功!");
+	}
+
+	@RequestMapping(value = "/listAll")
+	public Result listAll() {
+		return Result.success(warehouseService.listAll());
+	}
+
+}

+ 118 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/controller/WarehouseTypeController.java

@@ -0,0 +1,118 @@
+package com.lote.wms.base.warehouse.controller;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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 com.lote.wms.base.warehouse.entity.WarehouseType;
+import com.lote.wms.base.warehouse.entity.queryvo.WarehouseTypeQueryVo;
+import com.lote.wms.base.warehouse.service.WarehouseTypeService;
+import com.lote.wms.common.constants.BaseConstant;
+import com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.core.web.model.SessionAttrConstant;
+import com.lote.wms.common.core.web.util.MessageToResultAdapt;
+import com.lote.wms.common.utils.StringUtil;
+
+@RestController
+@RequestMapping("/base/warehouseType")
+public class WarehouseTypeController extends AbstractController {
+
+	@SuppressWarnings("unused")
+	private static final Logger logger = LoggerFactory.getLogger(WarehouseTypeController.class);
+
+	@Resource
+	private WarehouseTypeService warehouseTypeService;
+
+	@RequestMapping(value = "/listAll")
+	public Result listAll() {
+		return Result.success(warehouseTypeService.listAll());
+	}
+
+	/**
+	 * 仓库 类型by id
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/get")
+	public WarehouseType get(String id) {
+		return warehouseTypeService.get(id);
+	}
+
+	/**
+	 * 新增仓库类型
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/add", method = RequestMethod.POST)
+	public Result add(WarehouseType warehouseType) {
+		if (StringUtil.isEmpty(warehouseType.getCode())) {
+			return Result.error("仓库类型代码不能为空!");
+		}
+		if (StringUtil.isEmpty(warehouseType.getName())) {
+			return Result.error("仓库类型名称不能为空!");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		warehouseType.setCreatedByUserId(userId);
+		warehouseType.setCreatedByUserCode(userCode);
+		warehouseTypeService.add(warehouseType);
+		return Result.success("新增仓库类型成功!");
+	}
+
+	/**
+	 * 仓库列表查询
+	 * 
+	 * @param vo
+	 * @return
+	 */
+	@RequestMapping(value = "/list", method = RequestMethod.POST)
+	public Result list(@RequestBody WarehouseTypeQueryVo vo) {
+		Pager<WarehouseType> pager = warehouseTypeService.list(vo);
+		return Result.success(pager);
+	}
+
+	/**
+	 * 更新仓库类型
+	 * 
+	 * @param customer
+	 * @return
+	 */
+	@RequestMapping(value = "/upd")
+	public Result upd(WarehouseType warehouseType) {
+		if (StringUtil.isEmpty(warehouseType.getId())) {
+			return Result.error("仓库类型id不能为空!");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		warehouseType.setCreatedByUserId(userId);
+		warehouseType.setCreatedByUserCode(userCode);
+		warehouseTypeService.update(warehouseType);
+		return Result.success("更新仓库类型成功!");
+	}
+
+	/**
+	 * 批量启用 或 禁用
+	 * 
+	 * @param ids
+	 * @return
+	 */
+	@RequestMapping(value = "/enableOrDisable")
+	public Result enableOrDisable(String ids, String isEnable) {
+		if (StringUtil.isEmpty(ids)) {
+			return Result.error("仓库类型ids不能为空!");
+		}
+		if (!StringUtil.isEquals(isEnable, BaseConstant.Y, BaseConstant.N)) {
+			return Result.error("启用状态输入有误");
+		}
+		return MessageToResultAdapt.toResult(warehouseTypeService.updateEnabled(ids, isEnable));
+	}
+}

+ 23 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/dao/WarehouseAddressMapper.java

@@ -0,0 +1,23 @@
+package com.lote.wms.base.warehouse.dao;
+
+import com.lote.wms.base.warehouse.entity.WarehouseAddress;
+import com.lote.wms.base.warehouse.entity.WarehouseAddressCriteria;
+import java.util.List;
+
+public interface WarehouseAddressMapper {
+	int deleteByCondition(WarehouseAddressCriteria condition);
+
+	int deleteByPrimaryKey(String id);
+
+	int insertSelective(WarehouseAddress record);
+
+	List<WarehouseAddress> selectByConditionList(WarehouseAddressCriteria condition);
+
+	WarehouseAddress selectByPrimaryKey(String id);
+
+	int countByCondition(WarehouseAddressCriteria condition);
+
+	int updateByPrimaryKeySelective(WarehouseAddress record);
+
+	List<WarehouseAddress> selectAll();
+}

+ 45 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/dao/WarehouseMapper.java

@@ -0,0 +1,45 @@
+package com.lote.wms.base.warehouse.dao;
+
+import java.util.List;
+
+import com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.base.warehouse.entity.WarehouseCriteria;
+
+public interface WarehouseMapper {
+	int deleteByCondition(WarehouseCriteria condition);
+
+	int deleteByPrimaryKey(String id);
+
+	int insertSelective(Warehouse record);
+
+	List<Warehouse> selectByConditionList(WarehouseCriteria condition);
+
+	Warehouse selectByPrimaryKey(String id);
+
+	int countByCondition(WarehouseCriteria condition);
+
+	int updateByPrimaryKeySelective(Warehouse record);
+
+	List<Warehouse> selectAll();
+
+	Warehouse getByCode(String code);
+
+	/**
+	 * 仓库类型发生修改后 级联更新仓库类型名字
+	 * 
+	 * @param typeId
+	 * @return
+	 */
+	int updateTypeNameByTypeId(String typeId);
+
+	/**
+	 * 实例类型发生修改后 级联更新实例名字
+	 * 
+	 * @param instanceId
+	 * @return
+	 */
+	int updateInstanceNameByInstanceId(String instanceId);
+
+	List<Warehouse> selectByInstanceCode(String instanceCode);
+
+}

+ 38 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/dao/WarehouseTypeMapper.java

@@ -0,0 +1,38 @@
+package com.lote.wms.base.warehouse.dao;
+
+import com.lote.wms.base.warehouse.entity.WarehouseType;
+import com.lote.wms.base.warehouse.entity.WarehouseTypeCriteria;
+import java.util.List;
+
+public interface WarehouseTypeMapper {
+	int deleteByCondition(WarehouseTypeCriteria condition);
+
+	int deleteByPrimaryKey(String id);
+
+	int insertSelective(WarehouseType record);
+
+	List<WarehouseType> selectByConditionList(WarehouseTypeCriteria condition);
+
+	WarehouseType selectByPrimaryKey(String id);
+
+	int countByCondition(WarehouseTypeCriteria condition);
+
+	int updateByPrimaryKeySelective(WarehouseType record);
+
+	/**
+	 * 查询 所有 排除已经删除
+	 * 
+	 * @return
+	 */
+	List<WarehouseType> selectAll();
+
+	/**
+	 * 获取最新排序
+	 * 
+	 * @return
+	 */
+	Integer selectLastSort();
+
+	WarehouseType getByCode(String code);
+
+}

+ 232 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/Warehouse.java

@@ -0,0 +1,232 @@
+package com.lote.wms.base.warehouse.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Warehouse implements Serializable {
+    private String id;
+
+    private String instanceCode;
+
+    private String instanceName;
+
+    private String code;
+
+    private String name;
+
+    private String typeCode;
+
+    private String typeName;
+
+    private Double length;
+
+    private Double width;
+
+    private Double height;
+
+    private Double squareMeter;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private String extend1;
+
+    private String extend2;
+
+    private String extend3;
+
+    private String extend4;
+
+    private String extend5;
+
+    private static final long serialVersionUID = 1L;
+
+    public Warehouse() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getInstanceCode() {
+        return instanceCode;
+    }
+
+    public void setInstanceCode(String instanceCode) {
+        this.instanceCode = instanceCode == null ? null : instanceCode.trim();
+    }
+
+    public String getInstanceName() {
+        return instanceName;
+    }
+
+    public void setInstanceName(String instanceName) {
+        this.instanceName = instanceName == null ? null : instanceName.trim();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public String getTypeCode() {
+        return typeCode;
+    }
+
+    public void setTypeCode(String typeCode) {
+        this.typeCode = typeCode == null ? null : typeCode.trim();
+    }
+
+    public String getTypeName() {
+        return typeName;
+    }
+
+    public void setTypeName(String typeName) {
+        this.typeName = typeName == null ? null : typeName.trim();
+    }
+
+    public Double getLength() {
+        return length;
+    }
+
+    public void setLength(Double length) {
+        this.length = length;
+    }
+
+    public Double getWidth() {
+        return width;
+    }
+
+    public void setWidth(Double width) {
+        this.width = width;
+    }
+
+    public Double getHeight() {
+        return height;
+    }
+
+    public void setHeight(Double height) {
+        this.height = height;
+    }
+
+    public Double getSquareMeter() {
+        return squareMeter;
+    }
+
+    public void setSquareMeter(Double squareMeter) {
+        this.squareMeter = squareMeter;
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+
+    public String getExtend1() {
+        return extend1;
+    }
+
+    public void setExtend1(String extend1) {
+        this.extend1 = extend1 == null ? null : extend1.trim();
+    }
+
+    public String getExtend2() {
+        return extend2;
+    }
+
+    public void setExtend2(String extend2) {
+        this.extend2 = extend2 == null ? null : extend2.trim();
+    }
+
+    public String getExtend3() {
+        return extend3;
+    }
+
+    public void setExtend3(String extend3) {
+        this.extend3 = extend3 == null ? null : extend3.trim();
+    }
+
+    public String getExtend4() {
+        return extend4;
+    }
+
+    public void setExtend4(String extend4) {
+        this.extend4 = extend4 == null ? null : extend4.trim();
+    }
+
+    public String getExtend5() {
+        return extend5;
+    }
+
+    public void setExtend5(String extend5) {
+        this.extend5 = extend5 == null ? null : extend5.trim();
+    }
+}

+ 222 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/WarehouseAddress.java

@@ -0,0 +1,222 @@
+package com.lote.wms.base.warehouse.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WarehouseAddress implements Serializable {
+    private String id;
+
+    private String warehouseId;
+
+    private String warehouseCode;
+
+    private String countryCode;
+
+    private String countryName;
+
+    private String province;
+
+    private String city;
+
+    private String county;
+
+    private String address;
+
+    private String postalCode;
+
+    private String contactName;
+
+    private String phoneNumber;
+
+    private String mobileNumber;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private String extend1;
+
+    private String extend2;
+
+    private static final long serialVersionUID = 1L;
+
+    public WarehouseAddress() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(String warehouseId) {
+        this.warehouseId = warehouseId == null ? null : warehouseId.trim();
+    }
+
+    public String getWarehouseCode() {
+        return warehouseCode;
+    }
+
+    public void setWarehouseCode(String warehouseCode) {
+        this.warehouseCode = warehouseCode == null ? null : warehouseCode.trim();
+    }
+
+    public String getCountryCode() {
+        return countryCode;
+    }
+
+    public void setCountryCode(String countryCode) {
+        this.countryCode = countryCode == null ? null : countryCode.trim();
+    }
+
+    public String getCountryName() {
+        return countryName;
+    }
+
+    public void setCountryName(String countryName) {
+        this.countryName = countryName == null ? null : countryName.trim();
+    }
+
+    public String getProvince() {
+        return province;
+    }
+
+    public void setProvince(String province) {
+        this.province = province == null ? null : province.trim();
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city == null ? null : city.trim();
+    }
+
+    public String getCounty() {
+        return county;
+    }
+
+    public void setCounty(String county) {
+        this.county = county == null ? null : county.trim();
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address == null ? null : address.trim();
+    }
+
+    public String getPostalCode() {
+        return postalCode;
+    }
+
+    public void setPostalCode(String postalCode) {
+        this.postalCode = postalCode == null ? null : postalCode.trim();
+    }
+
+    public String getContactName() {
+        return contactName;
+    }
+
+    public void setContactName(String contactName) {
+        this.contactName = contactName == null ? null : contactName.trim();
+    }
+
+    public String getPhoneNumber() {
+        return phoneNumber;
+    }
+
+    public void setPhoneNumber(String phoneNumber) {
+        this.phoneNumber = phoneNumber == null ? null : phoneNumber.trim();
+    }
+
+    public String getMobileNumber() {
+        return mobileNumber;
+    }
+
+    public void setMobileNumber(String mobileNumber) {
+        this.mobileNumber = mobileNumber == null ? null : mobileNumber.trim();
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+
+    public String getExtend1() {
+        return extend1;
+    }
+
+    public void setExtend1(String extend1) {
+        this.extend1 = extend1 == null ? null : extend1.trim();
+    }
+
+    public String getExtend2() {
+        return extend2;
+    }
+
+    public void setExtend2(String extend2) {
+        this.extend2 = extend2 == null ? null : extend2.trim();
+    }
+}

+ 1652 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/WarehouseAddressCriteria.java

@@ -0,0 +1,1652 @@
+package com.lote.wms.base.warehouse.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.mybatis.plugin.model.QueryParam;
+
+public class WarehouseAddressCriteria extends QueryParam {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public WarehouseAddressCriteria() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdIsNull() {
+            addCriterion("warehouse_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdIsNotNull() {
+            addCriterion("warehouse_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdEqualTo(String value) {
+            addCriterion("warehouse_id =", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdNotEqualTo(String value) {
+            addCriterion("warehouse_id <>", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdGreaterThan(String value) {
+            addCriterion("warehouse_id >", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdGreaterThanOrEqualTo(String value) {
+            addCriterion("warehouse_id >=", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdLessThan(String value) {
+            addCriterion("warehouse_id <", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdLessThanOrEqualTo(String value) {
+            addCriterion("warehouse_id <=", value, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdLike(String value) {
+            addCriterion("warehouse_id like", "%" + value + "%", "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdNotLike(String value) {
+            addCriterion("warehouse_id not like", "%" + value + "%", "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdIn(List<String> values) {
+            addCriterion("warehouse_id in", values, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdNotIn(List<String> values) {
+            addCriterion("warehouse_id not in", values, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdBetween(String value1, String value2) {
+            addCriterion("warehouse_id between", value1, value2, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseIdNotBetween(String value1, String value2) {
+            addCriterion("warehouse_id not between", value1, value2, "warehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeIsNull() {
+            addCriterion("warehouse_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeIsNotNull() {
+            addCriterion("warehouse_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeEqualTo(String value) {
+            addCriterion("warehouse_code =", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeNotEqualTo(String value) {
+            addCriterion("warehouse_code <>", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeGreaterThan(String value) {
+            addCriterion("warehouse_code >", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("warehouse_code >=", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeLessThan(String value) {
+            addCriterion("warehouse_code <", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeLessThanOrEqualTo(String value) {
+            addCriterion("warehouse_code <=", value, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeLike(String value) {
+            addCriterion("warehouse_code like", "%" + value + "%", "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeNotLike(String value) {
+            addCriterion("warehouse_code not like", "%" + value + "%", "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeIn(List<String> values) {
+            addCriterion("warehouse_code in", values, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeNotIn(List<String> values) {
+            addCriterion("warehouse_code not in", values, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeBetween(String value1, String value2) {
+            addCriterion("warehouse_code between", value1, value2, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andWarehouseCodeNotBetween(String value1, String value2) {
+            addCriterion("warehouse_code not between", value1, value2, "warehouseCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeIsNull() {
+            addCriterion("country_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeIsNotNull() {
+            addCriterion("country_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeEqualTo(String value) {
+            addCriterion("country_code =", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotEqualTo(String value) {
+            addCriterion("country_code <>", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeGreaterThan(String value) {
+            addCriterion("country_code >", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("country_code >=", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeLessThan(String value) {
+            addCriterion("country_code <", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeLessThanOrEqualTo(String value) {
+            addCriterion("country_code <=", value, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeLike(String value) {
+            addCriterion("country_code like", "%" + value + "%", "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotLike(String value) {
+            addCriterion("country_code not like", "%" + value + "%", "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeIn(List<String> values) {
+            addCriterion("country_code in", values, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotIn(List<String> values) {
+            addCriterion("country_code not in", values, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeBetween(String value1, String value2) {
+            addCriterion("country_code between", value1, value2, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryCodeNotBetween(String value1, String value2) {
+            addCriterion("country_code not between", value1, value2, "countryCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameIsNull() {
+            addCriterion("country_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameIsNotNull() {
+            addCriterion("country_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameEqualTo(String value) {
+            addCriterion("country_name =", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameNotEqualTo(String value) {
+            addCriterion("country_name <>", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameGreaterThan(String value) {
+            addCriterion("country_name >", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameGreaterThanOrEqualTo(String value) {
+            addCriterion("country_name >=", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameLessThan(String value) {
+            addCriterion("country_name <", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameLessThanOrEqualTo(String value) {
+            addCriterion("country_name <=", value, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameLike(String value) {
+            addCriterion("country_name like", "%" + value + "%", "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameNotLike(String value) {
+            addCriterion("country_name not like", "%" + value + "%", "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameIn(List<String> values) {
+            addCriterion("country_name in", values, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameNotIn(List<String> values) {
+            addCriterion("country_name not in", values, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameBetween(String value1, String value2) {
+            addCriterion("country_name between", value1, value2, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountryNameNotBetween(String value1, String value2) {
+            addCriterion("country_name not between", value1, value2, "countryName");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceIsNull() {
+            addCriterion("province is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceIsNotNull() {
+            addCriterion("province is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceEqualTo(String value) {
+            addCriterion("province =", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceNotEqualTo(String value) {
+            addCriterion("province <>", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceGreaterThan(String value) {
+            addCriterion("province >", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceGreaterThanOrEqualTo(String value) {
+            addCriterion("province >=", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceLessThan(String value) {
+            addCriterion("province <", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceLessThanOrEqualTo(String value) {
+            addCriterion("province <=", value, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceLike(String value) {
+            addCriterion("province like", "%" + value + "%", "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceNotLike(String value) {
+            addCriterion("province not like", "%" + value + "%", "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceIn(List<String> values) {
+            addCriterion("province in", values, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceNotIn(List<String> values) {
+            addCriterion("province not in", values, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceBetween(String value1, String value2) {
+            addCriterion("province between", value1, value2, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andProvinceNotBetween(String value1, String value2) {
+            addCriterion("province not between", value1, value2, "province");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityIsNull() {
+            addCriterion("city is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityIsNotNull() {
+            addCriterion("city is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityEqualTo(String value) {
+            addCriterion("city =", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityNotEqualTo(String value) {
+            addCriterion("city <>", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityGreaterThan(String value) {
+            addCriterion("city >", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityGreaterThanOrEqualTo(String value) {
+            addCriterion("city >=", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityLessThan(String value) {
+            addCriterion("city <", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityLessThanOrEqualTo(String value) {
+            addCriterion("city <=", value, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityLike(String value) {
+            addCriterion("city like", "%" + value + "%", "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityNotLike(String value) {
+            addCriterion("city not like", "%" + value + "%", "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityIn(List<String> values) {
+            addCriterion("city in", values, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityNotIn(List<String> values) {
+            addCriterion("city not in", values, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityBetween(String value1, String value2) {
+            addCriterion("city between", value1, value2, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCityNotBetween(String value1, String value2) {
+            addCriterion("city not between", value1, value2, "city");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyIsNull() {
+            addCriterion("county is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyIsNotNull() {
+            addCriterion("county is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyEqualTo(String value) {
+            addCriterion("county =", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyNotEqualTo(String value) {
+            addCriterion("county <>", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyGreaterThan(String value) {
+            addCriterion("county >", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyGreaterThanOrEqualTo(String value) {
+            addCriterion("county >=", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyLessThan(String value) {
+            addCriterion("county <", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyLessThanOrEqualTo(String value) {
+            addCriterion("county <=", value, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyLike(String value) {
+            addCriterion("county like", "%" + value + "%", "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyNotLike(String value) {
+            addCriterion("county not like", "%" + value + "%", "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyIn(List<String> values) {
+            addCriterion("county in", values, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyNotIn(List<String> values) {
+            addCriterion("county not in", values, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyBetween(String value1, String value2) {
+            addCriterion("county between", value1, value2, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andCountyNotBetween(String value1, String value2) {
+            addCriterion("county not between", value1, value2, "county");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressIsNull() {
+            addCriterion("address is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressIsNotNull() {
+            addCriterion("address is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressEqualTo(String value) {
+            addCriterion("address =", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressNotEqualTo(String value) {
+            addCriterion("address <>", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressGreaterThan(String value) {
+            addCriterion("address >", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressGreaterThanOrEqualTo(String value) {
+            addCriterion("address >=", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLessThan(String value) {
+            addCriterion("address <", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLessThanOrEqualTo(String value) {
+            addCriterion("address <=", value, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressLike(String value) {
+            addCriterion("address like", "%" + value + "%", "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressNotLike(String value) {
+            addCriterion("address not like", "%" + value + "%", "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressIn(List<String> values) {
+            addCriterion("address in", values, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressNotIn(List<String> values) {
+            addCriterion("address not in", values, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressBetween(String value1, String value2) {
+            addCriterion("address between", value1, value2, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andAddressNotBetween(String value1, String value2) {
+            addCriterion("address not between", value1, value2, "address");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeIsNull() {
+            addCriterion("postal_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeIsNotNull() {
+            addCriterion("postal_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeEqualTo(String value) {
+            addCriterion("postal_code =", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeNotEqualTo(String value) {
+            addCriterion("postal_code <>", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeGreaterThan(String value) {
+            addCriterion("postal_code >", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("postal_code >=", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeLessThan(String value) {
+            addCriterion("postal_code <", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeLessThanOrEqualTo(String value) {
+            addCriterion("postal_code <=", value, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeLike(String value) {
+            addCriterion("postal_code like", "%" + value + "%", "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeNotLike(String value) {
+            addCriterion("postal_code not like", "%" + value + "%", "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeIn(List<String> values) {
+            addCriterion("postal_code in", values, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeNotIn(List<String> values) {
+            addCriterion("postal_code not in", values, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeBetween(String value1, String value2) {
+            addCriterion("postal_code between", value1, value2, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andPostalCodeNotBetween(String value1, String value2) {
+            addCriterion("postal_code not between", value1, value2, "postalCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameIsNull() {
+            addCriterion("contact_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameIsNotNull() {
+            addCriterion("contact_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameEqualTo(String value) {
+            addCriterion("contact_name =", value, "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameNotEqualTo(String value) {
+            addCriterion("contact_name <>", value, "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameGreaterThan(String value) {
+            addCriterion("contact_name >", value, "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameGreaterThanOrEqualTo(String value) {
+            addCriterion("contact_name >=", value, "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameLessThan(String value) {
+            addCriterion("contact_name <", value, "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameLessThanOrEqualTo(String value) {
+            addCriterion("contact_name <=", value, "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameLike(String value) {
+            addCriterion("contact_name like", "%" + value + "%", "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameNotLike(String value) {
+            addCriterion("contact_name not like", "%" + value + "%", "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameIn(List<String> values) {
+            addCriterion("contact_name in", values, "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameNotIn(List<String> values) {
+            addCriterion("contact_name not in", values, "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameBetween(String value1, String value2) {
+            addCriterion("contact_name between", value1, value2, "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andContactNameNotBetween(String value1, String value2) {
+            addCriterion("contact_name not between", value1, value2, "contactName");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberIsNull() {
+            addCriterion("phone_number is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberIsNotNull() {
+            addCriterion("phone_number is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberEqualTo(String value) {
+            addCriterion("phone_number =", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberNotEqualTo(String value) {
+            addCriterion("phone_number <>", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberGreaterThan(String value) {
+            addCriterion("phone_number >", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberGreaterThanOrEqualTo(String value) {
+            addCriterion("phone_number >=", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberLessThan(String value) {
+            addCriterion("phone_number <", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberLessThanOrEqualTo(String value) {
+            addCriterion("phone_number <=", value, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberLike(String value) {
+            addCriterion("phone_number like", "%" + value + "%", "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberNotLike(String value) {
+            addCriterion("phone_number not like", "%" + value + "%", "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberIn(List<String> values) {
+            addCriterion("phone_number in", values, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberNotIn(List<String> values) {
+            addCriterion("phone_number not in", values, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberBetween(String value1, String value2) {
+            addCriterion("phone_number between", value1, value2, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andPhoneNumberNotBetween(String value1, String value2) {
+            addCriterion("phone_number not between", value1, value2, "phoneNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberIsNull() {
+            addCriterion("mobile_number is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberIsNotNull() {
+            addCriterion("mobile_number is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberEqualTo(String value) {
+            addCriterion("mobile_number =", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberNotEqualTo(String value) {
+            addCriterion("mobile_number <>", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberGreaterThan(String value) {
+            addCriterion("mobile_number >", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberGreaterThanOrEqualTo(String value) {
+            addCriterion("mobile_number >=", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberLessThan(String value) {
+            addCriterion("mobile_number <", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberLessThanOrEqualTo(String value) {
+            addCriterion("mobile_number <=", value, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberLike(String value) {
+            addCriterion("mobile_number like", "%" + value + "%", "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberNotLike(String value) {
+            addCriterion("mobile_number not like", "%" + value + "%", "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberIn(List<String> values) {
+            addCriterion("mobile_number in", values, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberNotIn(List<String> values) {
+            addCriterion("mobile_number not in", values, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberBetween(String value1, String value2) {
+            addCriterion("mobile_number between", value1, value2, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andMobileNumberNotBetween(String value1, String value2) {
+            addCriterion("mobile_number not between", value1, value2, "mobileNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNull() {
+            addCriterion("created_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNotNull() {
+            addCriterion("created_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeEqualTo(Date value) {
+            addCriterion("created_time =", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotEqualTo(Date value) {
+            addCriterion("created_time <>", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThan(Date value) {
+            addCriterion("created_time >", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("created_time >=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThan(Date value) {
+            addCriterion("created_time <", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
+            addCriterion("created_time <=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIn(List<Date> values) {
+            addCriterion("created_time in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotIn(List<Date> values) {
+            addCriterion("created_time not in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
+            addCriterion("created_time between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
+            addCriterion("created_time not between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNull() {
+            addCriterion("created_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNotNull() {
+            addCriterion("created_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdEqualTo(String value) {
+            addCriterion("created_by_user_id =", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotEqualTo(String value) {
+            addCriterion("created_by_user_id <>", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThan(String value) {
+            addCriterion("created_by_user_id >", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id >=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThan(String value) {
+            addCriterion("created_by_user_id <", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id <=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLike(String value) {
+            addCriterion("created_by_user_id like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotLike(String value) {
+            addCriterion("created_by_user_id not like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIn(List<String> values) {
+            addCriterion("created_by_user_id in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotIn(List<String> values) {
+            addCriterion("created_by_user_id not in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdBetween(String value1, String value2) {
+            addCriterion("created_by_user_id between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_id not between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNull() {
+            addCriterion("created_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNotNull() {
+            addCriterion("created_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeEqualTo(String value) {
+            addCriterion("created_by_user_code =", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotEqualTo(String value) {
+            addCriterion("created_by_user_code <>", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThan(String value) {
+            addCriterion("created_by_user_code >", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code >=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThan(String value) {
+            addCriterion("created_by_user_code <", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code <=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLike(String value) {
+            addCriterion("created_by_user_code like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotLike(String value) {
+            addCriterion("created_by_user_code not like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIn(List<String> values) {
+            addCriterion("created_by_user_code in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotIn(List<String> values) {
+            addCriterion("created_by_user_code not in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeBetween(String value1, String value2) {
+            addCriterion("created_by_user_code between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_code not between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNull() {
+            addCriterion("update_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNotNull() {
+            addCriterion("update_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdEqualTo(String value) {
+            addCriterion("update_by_user_id =", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotEqualTo(String value) {
+            addCriterion("update_by_user_id <>", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThan(String value) {
+            addCriterion("update_by_user_id >", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id >=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThan(String value) {
+            addCriterion("update_by_user_id <", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id <=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLike(String value) {
+            addCriterion("update_by_user_id like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotLike(String value) {
+            addCriterion("update_by_user_id not like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIn(List<String> values) {
+            addCriterion("update_by_user_id in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotIn(List<String> values) {
+            addCriterion("update_by_user_id not in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdBetween(String value1, String value2) {
+            addCriterion("update_by_user_id between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_id not between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNull() {
+            addCriterion("update_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNotNull() {
+            addCriterion("update_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeEqualTo(String value) {
+            addCriterion("update_by_user_code =", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotEqualTo(String value) {
+            addCriterion("update_by_user_code <>", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThan(String value) {
+            addCriterion("update_by_user_code >", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code >=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThan(String value) {
+            addCriterion("update_by_user_code <", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code <=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLike(String value) {
+            addCriterion("update_by_user_code like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotLike(String value) {
+            addCriterion("update_by_user_code not like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIn(List<String> values) {
+            addCriterion("update_by_user_code in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotIn(List<String> values) {
+            addCriterion("update_by_user_code not in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeBetween(String value1, String value2) {
+            addCriterion("update_by_user_code between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_code not between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNull() {
+            addCriterion("extend1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNotNull() {
+            addCriterion("extend1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1EqualTo(String value) {
+            addCriterion("extend1 =", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotEqualTo(String value) {
+            addCriterion("extend1 <>", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThan(String value) {
+            addCriterion("extend1 >", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThanOrEqualTo(String value) {
+            addCriterion("extend1 >=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThan(String value) {
+            addCriterion("extend1 <", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThanOrEqualTo(String value) {
+            addCriterion("extend1 <=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Like(String value) {
+            addCriterion("extend1 like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotLike(String value) {
+            addCriterion("extend1 not like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1In(List<String> values) {
+            addCriterion("extend1 in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotIn(List<String> values) {
+            addCriterion("extend1 not in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Between(String value1, String value2) {
+            addCriterion("extend1 between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotBetween(String value1, String value2) {
+            addCriterion("extend1 not between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNull() {
+            addCriterion("extend2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNotNull() {
+            addCriterion("extend2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2EqualTo(String value) {
+            addCriterion("extend2 =", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotEqualTo(String value) {
+            addCriterion("extend2 <>", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThan(String value) {
+            addCriterion("extend2 >", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThanOrEqualTo(String value) {
+            addCriterion("extend2 >=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThan(String value) {
+            addCriterion("extend2 <", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThanOrEqualTo(String value) {
+            addCriterion("extend2 <=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Like(String value) {
+            addCriterion("extend2 like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotLike(String value) {
+            addCriterion("extend2 not like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2In(List<String> values) {
+            addCriterion("extend2 in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotIn(List<String> values) {
+            addCriterion("extend2 not in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Between(String value1, String value2) {
+            addCriterion("extend2 between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotBetween(String value1, String value2) {
+            addCriterion("extend2 not between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 1682 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/WarehouseCriteria.java

@@ -0,0 +1,1682 @@
+package com.lote.wms.base.warehouse.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.mybatis.plugin.model.QueryParam;
+
+public class WarehouseCriteria extends QueryParam {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public WarehouseCriteria() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeIsNull() {
+            addCriterion("instance_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeIsNotNull() {
+            addCriterion("instance_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeEqualTo(String value) {
+            addCriterion("instance_code =", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotEqualTo(String value) {
+            addCriterion("instance_code <>", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeGreaterThan(String value) {
+            addCriterion("instance_code >", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("instance_code >=", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeLessThan(String value) {
+            addCriterion("instance_code <", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeLessThanOrEqualTo(String value) {
+            addCriterion("instance_code <=", value, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeLike(String value) {
+            addCriterion("instance_code like", "%" + value + "%", "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotLike(String value) {
+            addCriterion("instance_code not like", "%" + value + "%", "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeIn(List<String> values) {
+            addCriterion("instance_code in", values, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotIn(List<String> values) {
+            addCriterion("instance_code not in", values, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeBetween(String value1, String value2) {
+            addCriterion("instance_code between", value1, value2, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceCodeNotBetween(String value1, String value2) {
+            addCriterion("instance_code not between", value1, value2, "instanceCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameIsNull() {
+            addCriterion("instance_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameIsNotNull() {
+            addCriterion("instance_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameEqualTo(String value) {
+            addCriterion("instance_name =", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotEqualTo(String value) {
+            addCriterion("instance_name <>", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameGreaterThan(String value) {
+            addCriterion("instance_name >", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameGreaterThanOrEqualTo(String value) {
+            addCriterion("instance_name >=", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameLessThan(String value) {
+            addCriterion("instance_name <", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameLessThanOrEqualTo(String value) {
+            addCriterion("instance_name <=", value, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameLike(String value) {
+            addCriterion("instance_name like", "%" + value + "%", "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotLike(String value) {
+            addCriterion("instance_name not like", "%" + value + "%", "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameIn(List<String> values) {
+            addCriterion("instance_name in", values, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotIn(List<String> values) {
+            addCriterion("instance_name not in", values, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameBetween(String value1, String value2) {
+            addCriterion("instance_name between", value1, value2, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andInstanceNameNotBetween(String value1, String value2) {
+            addCriterion("instance_name not between", value1, value2, "instanceName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNull() {
+            addCriterion("code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNotNull() {
+            addCriterion("code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeEqualTo(String value) {
+            addCriterion("code =", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotEqualTo(String value) {
+            addCriterion("code <>", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThan(String value) {
+            addCriterion("code >", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("code >=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThan(String value) {
+            addCriterion("code <", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThanOrEqualTo(String value) {
+            addCriterion("code <=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLike(String value) {
+            addCriterion("code like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotLike(String value) {
+            addCriterion("code not like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIn(List<String> values) {
+            addCriterion("code in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotIn(List<String> values) {
+            addCriterion("code not in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeBetween(String value1, String value2) {
+            addCriterion("code between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotBetween(String value1, String value2) {
+            addCriterion("code not between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNull() {
+            addCriterion("name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNotNull() {
+            addCriterion("name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEqualTo(String value) {
+            addCriterion("name =", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotEqualTo(String value) {
+            addCriterion("name <>", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThan(String value) {
+            addCriterion("name >", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThanOrEqualTo(String value) {
+            addCriterion("name >=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThan(String value) {
+            addCriterion("name <", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThanOrEqualTo(String value) {
+            addCriterion("name <=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLike(String value) {
+            addCriterion("name like", "%" + value + "%", "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotLike(String value) {
+            addCriterion("name not like", "%" + value + "%", "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIn(List<String> values) {
+            addCriterion("name in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotIn(List<String> values) {
+            addCriterion("name not in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameBetween(String value1, String value2) {
+            addCriterion("name between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotBetween(String value1, String value2) {
+            addCriterion("name not between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeIsNull() {
+            addCriterion("type_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeIsNotNull() {
+            addCriterion("type_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeEqualTo(String value) {
+            addCriterion("type_code =", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeNotEqualTo(String value) {
+            addCriterion("type_code <>", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeGreaterThan(String value) {
+            addCriterion("type_code >", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("type_code >=", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeLessThan(String value) {
+            addCriterion("type_code <", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeLessThanOrEqualTo(String value) {
+            addCriterion("type_code <=", value, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeLike(String value) {
+            addCriterion("type_code like", "%" + value + "%", "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeNotLike(String value) {
+            addCriterion("type_code not like", "%" + value + "%", "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeIn(List<String> values) {
+            addCriterion("type_code in", values, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeNotIn(List<String> values) {
+            addCriterion("type_code not in", values, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeBetween(String value1, String value2) {
+            addCriterion("type_code between", value1, value2, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeCodeNotBetween(String value1, String value2) {
+            addCriterion("type_code not between", value1, value2, "typeCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameIsNull() {
+            addCriterion("type_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameIsNotNull() {
+            addCriterion("type_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameEqualTo(String value) {
+            addCriterion("type_name =", value, "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameNotEqualTo(String value) {
+            addCriterion("type_name <>", value, "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameGreaterThan(String value) {
+            addCriterion("type_name >", value, "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameGreaterThanOrEqualTo(String value) {
+            addCriterion("type_name >=", value, "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameLessThan(String value) {
+            addCriterion("type_name <", value, "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameLessThanOrEqualTo(String value) {
+            addCriterion("type_name <=", value, "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameLike(String value) {
+            addCriterion("type_name like", "%" + value + "%", "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameNotLike(String value) {
+            addCriterion("type_name not like", "%" + value + "%", "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameIn(List<String> values) {
+            addCriterion("type_name in", values, "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameNotIn(List<String> values) {
+            addCriterion("type_name not in", values, "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameBetween(String value1, String value2) {
+            addCriterion("type_name between", value1, value2, "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNameNotBetween(String value1, String value2) {
+            addCriterion("type_name not between", value1, value2, "typeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthIsNull() {
+            addCriterion("length is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthIsNotNull() {
+            addCriterion("length is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthEqualTo(Double value) {
+            addCriterion("length =", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthNotEqualTo(Double value) {
+            addCriterion("length <>", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthGreaterThan(Double value) {
+            addCriterion("length >", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthGreaterThanOrEqualTo(Double value) {
+            addCriterion("length >=", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthLessThan(Double value) {
+            addCriterion("length <", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthLessThanOrEqualTo(Double value) {
+            addCriterion("length <=", value, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthIn(List<Double> values) {
+            addCriterion("length in", values, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthNotIn(List<Double> values) {
+            addCriterion("length not in", values, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthBetween(Double value1, Double value2) {
+            addCriterion("length between", value1, value2, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andLengthNotBetween(Double value1, Double value2) {
+            addCriterion("length not between", value1, value2, "length");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthIsNull() {
+            addCriterion("width is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthIsNotNull() {
+            addCriterion("width is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthEqualTo(Double value) {
+            addCriterion("width =", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthNotEqualTo(Double value) {
+            addCriterion("width <>", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthGreaterThan(Double value) {
+            addCriterion("width >", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthGreaterThanOrEqualTo(Double value) {
+            addCriterion("width >=", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthLessThan(Double value) {
+            addCriterion("width <", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthLessThanOrEqualTo(Double value) {
+            addCriterion("width <=", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthIn(List<Double> values) {
+            addCriterion("width in", values, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthNotIn(List<Double> values) {
+            addCriterion("width not in", values, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthBetween(Double value1, Double value2) {
+            addCriterion("width between", value1, value2, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthNotBetween(Double value1, Double value2) {
+            addCriterion("width not between", value1, value2, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightIsNull() {
+            addCriterion("height is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightIsNotNull() {
+            addCriterion("height is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightEqualTo(Double value) {
+            addCriterion("height =", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightNotEqualTo(Double value) {
+            addCriterion("height <>", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightGreaterThan(Double value) {
+            addCriterion("height >", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightGreaterThanOrEqualTo(Double value) {
+            addCriterion("height >=", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightLessThan(Double value) {
+            addCriterion("height <", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightLessThanOrEqualTo(Double value) {
+            addCriterion("height <=", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightIn(List<Double> values) {
+            addCriterion("height in", values, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightNotIn(List<Double> values) {
+            addCriterion("height not in", values, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightBetween(Double value1, Double value2) {
+            addCriterion("height between", value1, value2, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightNotBetween(Double value1, Double value2) {
+            addCriterion("height not between", value1, value2, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterIsNull() {
+            addCriterion("square_meter is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterIsNotNull() {
+            addCriterion("square_meter is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterEqualTo(Double value) {
+            addCriterion("square_meter =", value, "squareMeter");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterNotEqualTo(Double value) {
+            addCriterion("square_meter <>", value, "squareMeter");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterGreaterThan(Double value) {
+            addCriterion("square_meter >", value, "squareMeter");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterGreaterThanOrEqualTo(Double value) {
+            addCriterion("square_meter >=", value, "squareMeter");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterLessThan(Double value) {
+            addCriterion("square_meter <", value, "squareMeter");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterLessThanOrEqualTo(Double value) {
+            addCriterion("square_meter <=", value, "squareMeter");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterIn(List<Double> values) {
+            addCriterion("square_meter in", values, "squareMeter");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterNotIn(List<Double> values) {
+            addCriterion("square_meter not in", values, "squareMeter");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterBetween(Double value1, Double value2) {
+            addCriterion("square_meter between", value1, value2, "squareMeter");
+            return (Criteria) this;
+        }
+
+        public Criteria andSquareMeterNotBetween(Double value1, Double value2) {
+            addCriterion("square_meter not between", value1, value2, "squareMeter");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNull() {
+            addCriterion("created_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNotNull() {
+            addCriterion("created_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeEqualTo(Date value) {
+            addCriterion("created_time =", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotEqualTo(Date value) {
+            addCriterion("created_time <>", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThan(Date value) {
+            addCriterion("created_time >", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("created_time >=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThan(Date value) {
+            addCriterion("created_time <", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
+            addCriterion("created_time <=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIn(List<Date> values) {
+            addCriterion("created_time in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotIn(List<Date> values) {
+            addCriterion("created_time not in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
+            addCriterion("created_time between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
+            addCriterion("created_time not between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNull() {
+            addCriterion("created_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNotNull() {
+            addCriterion("created_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdEqualTo(String value) {
+            addCriterion("created_by_user_id =", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotEqualTo(String value) {
+            addCriterion("created_by_user_id <>", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThan(String value) {
+            addCriterion("created_by_user_id >", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id >=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThan(String value) {
+            addCriterion("created_by_user_id <", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id <=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLike(String value) {
+            addCriterion("created_by_user_id like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotLike(String value) {
+            addCriterion("created_by_user_id not like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIn(List<String> values) {
+            addCriterion("created_by_user_id in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotIn(List<String> values) {
+            addCriterion("created_by_user_id not in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdBetween(String value1, String value2) {
+            addCriterion("created_by_user_id between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_id not between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNull() {
+            addCriterion("created_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNotNull() {
+            addCriterion("created_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeEqualTo(String value) {
+            addCriterion("created_by_user_code =", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotEqualTo(String value) {
+            addCriterion("created_by_user_code <>", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThan(String value) {
+            addCriterion("created_by_user_code >", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code >=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThan(String value) {
+            addCriterion("created_by_user_code <", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code <=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLike(String value) {
+            addCriterion("created_by_user_code like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotLike(String value) {
+            addCriterion("created_by_user_code not like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIn(List<String> values) {
+            addCriterion("created_by_user_code in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotIn(List<String> values) {
+            addCriterion("created_by_user_code not in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeBetween(String value1, String value2) {
+            addCriterion("created_by_user_code between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_code not between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNull() {
+            addCriterion("update_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNotNull() {
+            addCriterion("update_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdEqualTo(String value) {
+            addCriterion("update_by_user_id =", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotEqualTo(String value) {
+            addCriterion("update_by_user_id <>", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThan(String value) {
+            addCriterion("update_by_user_id >", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id >=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThan(String value) {
+            addCriterion("update_by_user_id <", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id <=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLike(String value) {
+            addCriterion("update_by_user_id like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotLike(String value) {
+            addCriterion("update_by_user_id not like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIn(List<String> values) {
+            addCriterion("update_by_user_id in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotIn(List<String> values) {
+            addCriterion("update_by_user_id not in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdBetween(String value1, String value2) {
+            addCriterion("update_by_user_id between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_id not between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNull() {
+            addCriterion("update_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNotNull() {
+            addCriterion("update_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeEqualTo(String value) {
+            addCriterion("update_by_user_code =", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotEqualTo(String value) {
+            addCriterion("update_by_user_code <>", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThan(String value) {
+            addCriterion("update_by_user_code >", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code >=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThan(String value) {
+            addCriterion("update_by_user_code <", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code <=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLike(String value) {
+            addCriterion("update_by_user_code like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotLike(String value) {
+            addCriterion("update_by_user_code not like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIn(List<String> values) {
+            addCriterion("update_by_user_code in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotIn(List<String> values) {
+            addCriterion("update_by_user_code not in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeBetween(String value1, String value2) {
+            addCriterion("update_by_user_code between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_code not between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNull() {
+            addCriterion("extend1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNotNull() {
+            addCriterion("extend1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1EqualTo(String value) {
+            addCriterion("extend1 =", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotEqualTo(String value) {
+            addCriterion("extend1 <>", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThan(String value) {
+            addCriterion("extend1 >", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThanOrEqualTo(String value) {
+            addCriterion("extend1 >=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThan(String value) {
+            addCriterion("extend1 <", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThanOrEqualTo(String value) {
+            addCriterion("extend1 <=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Like(String value) {
+            addCriterion("extend1 like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotLike(String value) {
+            addCriterion("extend1 not like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1In(List<String> values) {
+            addCriterion("extend1 in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotIn(List<String> values) {
+            addCriterion("extend1 not in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Between(String value1, String value2) {
+            addCriterion("extend1 between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotBetween(String value1, String value2) {
+            addCriterion("extend1 not between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNull() {
+            addCriterion("extend2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNotNull() {
+            addCriterion("extend2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2EqualTo(String value) {
+            addCriterion("extend2 =", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotEqualTo(String value) {
+            addCriterion("extend2 <>", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThan(String value) {
+            addCriterion("extend2 >", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThanOrEqualTo(String value) {
+            addCriterion("extend2 >=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThan(String value) {
+            addCriterion("extend2 <", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThanOrEqualTo(String value) {
+            addCriterion("extend2 <=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Like(String value) {
+            addCriterion("extend2 like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotLike(String value) {
+            addCriterion("extend2 not like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2In(List<String> values) {
+            addCriterion("extend2 in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotIn(List<String> values) {
+            addCriterion("extend2 not in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Between(String value1, String value2) {
+            addCriterion("extend2 between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotBetween(String value1, String value2) {
+            addCriterion("extend2 not between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3IsNull() {
+            addCriterion("extend3 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3IsNotNull() {
+            addCriterion("extend3 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3EqualTo(String value) {
+            addCriterion("extend3 =", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotEqualTo(String value) {
+            addCriterion("extend3 <>", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3GreaterThan(String value) {
+            addCriterion("extend3 >", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3GreaterThanOrEqualTo(String value) {
+            addCriterion("extend3 >=", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3LessThan(String value) {
+            addCriterion("extend3 <", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3LessThanOrEqualTo(String value) {
+            addCriterion("extend3 <=", value, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3Like(String value) {
+            addCriterion("extend3 like", "%" + value + "%", "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotLike(String value) {
+            addCriterion("extend3 not like", "%" + value + "%", "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3In(List<String> values) {
+            addCriterion("extend3 in", values, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotIn(List<String> values) {
+            addCriterion("extend3 not in", values, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3Between(String value1, String value2) {
+            addCriterion("extend3 between", value1, value2, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend3NotBetween(String value1, String value2) {
+            addCriterion("extend3 not between", value1, value2, "extend3");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4IsNull() {
+            addCriterion("extend4 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4IsNotNull() {
+            addCriterion("extend4 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4EqualTo(String value) {
+            addCriterion("extend4 =", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotEqualTo(String value) {
+            addCriterion("extend4 <>", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4GreaterThan(String value) {
+            addCriterion("extend4 >", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4GreaterThanOrEqualTo(String value) {
+            addCriterion("extend4 >=", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4LessThan(String value) {
+            addCriterion("extend4 <", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4LessThanOrEqualTo(String value) {
+            addCriterion("extend4 <=", value, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4Like(String value) {
+            addCriterion("extend4 like", "%" + value + "%", "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotLike(String value) {
+            addCriterion("extend4 not like", "%" + value + "%", "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4In(List<String> values) {
+            addCriterion("extend4 in", values, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotIn(List<String> values) {
+            addCriterion("extend4 not in", values, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4Between(String value1, String value2) {
+            addCriterion("extend4 between", value1, value2, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend4NotBetween(String value1, String value2) {
+            addCriterion("extend4 not between", value1, value2, "extend4");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5IsNull() {
+            addCriterion("extend5 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5IsNotNull() {
+            addCriterion("extend5 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5EqualTo(String value) {
+            addCriterion("extend5 =", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotEqualTo(String value) {
+            addCriterion("extend5 <>", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5GreaterThan(String value) {
+            addCriterion("extend5 >", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5GreaterThanOrEqualTo(String value) {
+            addCriterion("extend5 >=", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5LessThan(String value) {
+            addCriterion("extend5 <", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5LessThanOrEqualTo(String value) {
+            addCriterion("extend5 <=", value, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5Like(String value) {
+            addCriterion("extend5 like", "%" + value + "%", "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotLike(String value) {
+            addCriterion("extend5 not like", "%" + value + "%", "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5In(List<String> values) {
+            addCriterion("extend5 in", values, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotIn(List<String> values) {
+            addCriterion("extend5 not in", values, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5Between(String value1, String value2) {
+            addCriterion("extend5 between", value1, value2, "extend5");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend5NotBetween(String value1, String value2) {
+            addCriterion("extend5 not between", value1, value2, "extend5");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 152 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/WarehouseType.java

@@ -0,0 +1,152 @@
+package com.lote.wms.base.warehouse.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WarehouseType implements Serializable {
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private Integer sort;
+
+    private String isEnable;
+
+    private String isEnableName;
+
+    private String extend1;
+
+    private String extend2;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private static final long serialVersionUID = 1L;
+
+    public WarehouseType() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public String getIsEnable() {
+        return isEnable;
+    }
+
+    public void setIsEnable(String isEnable) {
+        this.isEnable = isEnable == null ? null : isEnable.trim();
+    }
+
+    public String getIsEnableName() {
+        return isEnableName;
+    }
+
+    public void setIsEnableName(String isEnableName) {
+        this.isEnableName = isEnableName == null ? null : isEnableName.trim();
+    }
+
+    public String getExtend1() {
+        return extend1;
+    }
+
+    public void setExtend1(String extend1) {
+        this.extend1 = extend1 == null ? null : extend1.trim();
+    }
+
+    public String getExtend2() {
+        return extend2;
+    }
+
+    public void setExtend2(String extend2) {
+        this.extend2 = extend2 == null ? null : extend2.trim();
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+}

+ 1152 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/WarehouseTypeCriteria.java

@@ -0,0 +1,1152 @@
+package com.lote.wms.base.warehouse.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.mybatis.plugin.model.QueryParam;
+
+public class WarehouseTypeCriteria extends QueryParam {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public WarehouseTypeCriteria() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNull() {
+            addCriterion("code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIsNotNull() {
+            addCriterion("code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeEqualTo(String value) {
+            addCriterion("code =", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotEqualTo(String value) {
+            addCriterion("code <>", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThan(String value) {
+            addCriterion("code >", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("code >=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThan(String value) {
+            addCriterion("code <", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLessThanOrEqualTo(String value) {
+            addCriterion("code <=", value, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeLike(String value) {
+            addCriterion("code like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotLike(String value) {
+            addCriterion("code not like", "%" + value + "%", "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeIn(List<String> values) {
+            addCriterion("code in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotIn(List<String> values) {
+            addCriterion("code not in", values, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeBetween(String value1, String value2) {
+            addCriterion("code between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNotBetween(String value1, String value2) {
+            addCriterion("code not between", value1, value2, "code");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNull() {
+            addCriterion("name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIsNotNull() {
+            addCriterion("name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameEqualTo(String value) {
+            addCriterion("name =", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotEqualTo(String value) {
+            addCriterion("name <>", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThan(String value) {
+            addCriterion("name >", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameGreaterThanOrEqualTo(String value) {
+            addCriterion("name >=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThan(String value) {
+            addCriterion("name <", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLessThanOrEqualTo(String value) {
+            addCriterion("name <=", value, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameLike(String value) {
+            addCriterion("name like", "%" + value + "%", "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotLike(String value) {
+            addCriterion("name not like", "%" + value + "%", "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameIn(List<String> values) {
+            addCriterion("name in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotIn(List<String> values) {
+            addCriterion("name not in", values, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameBetween(String value1, String value2) {
+            addCriterion("name between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andNameNotBetween(String value1, String value2) {
+            addCriterion("name not between", value1, value2, "name");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortIsNull() {
+            addCriterion("sort is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortIsNotNull() {
+            addCriterion("sort is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortEqualTo(Integer value) {
+            addCriterion("sort =", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNotEqualTo(Integer value) {
+            addCriterion("sort <>", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortGreaterThan(Integer value) {
+            addCriterion("sort >", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortGreaterThanOrEqualTo(Integer value) {
+            addCriterion("sort >=", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortLessThan(Integer value) {
+            addCriterion("sort <", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortLessThanOrEqualTo(Integer value) {
+            addCriterion("sort <=", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortIn(List<Integer> values) {
+            addCriterion("sort in", values, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNotIn(List<Integer> values) {
+            addCriterion("sort not in", values, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortBetween(Integer value1, Integer value2) {
+            addCriterion("sort between", value1, value2, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNotBetween(Integer value1, Integer value2) {
+            addCriterion("sort not between", value1, value2, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableIsNull() {
+            addCriterion("is_enable is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableIsNotNull() {
+            addCriterion("is_enable is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableEqualTo(String value) {
+            addCriterion("is_enable =", value, "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNotEqualTo(String value) {
+            addCriterion("is_enable <>", value, "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableGreaterThan(String value) {
+            addCriterion("is_enable >", value, "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableGreaterThanOrEqualTo(String value) {
+            addCriterion("is_enable >=", value, "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableLessThan(String value) {
+            addCriterion("is_enable <", value, "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableLessThanOrEqualTo(String value) {
+            addCriterion("is_enable <=", value, "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableLike(String value) {
+            addCriterion("is_enable like", "%" + value + "%", "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNotLike(String value) {
+            addCriterion("is_enable not like", "%" + value + "%", "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableIn(List<String> values) {
+            addCriterion("is_enable in", values, "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNotIn(List<String> values) {
+            addCriterion("is_enable not in", values, "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableBetween(String value1, String value2) {
+            addCriterion("is_enable between", value1, value2, "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNotBetween(String value1, String value2) {
+            addCriterion("is_enable not between", value1, value2, "isEnable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameIsNull() {
+            addCriterion("is_enable_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameIsNotNull() {
+            addCriterion("is_enable_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameEqualTo(String value) {
+            addCriterion("is_enable_name =", value, "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameNotEqualTo(String value) {
+            addCriterion("is_enable_name <>", value, "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameGreaterThan(String value) {
+            addCriterion("is_enable_name >", value, "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameGreaterThanOrEqualTo(String value) {
+            addCriterion("is_enable_name >=", value, "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameLessThan(String value) {
+            addCriterion("is_enable_name <", value, "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameLessThanOrEqualTo(String value) {
+            addCriterion("is_enable_name <=", value, "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameLike(String value) {
+            addCriterion("is_enable_name like", "%" + value + "%", "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameNotLike(String value) {
+            addCriterion("is_enable_name not like", "%" + value + "%", "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameIn(List<String> values) {
+            addCriterion("is_enable_name in", values, "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameNotIn(List<String> values) {
+            addCriterion("is_enable_name not in", values, "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameBetween(String value1, String value2) {
+            addCriterion("is_enable_name between", value1, value2, "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsEnableNameNotBetween(String value1, String value2) {
+            addCriterion("is_enable_name not between", value1, value2, "isEnableName");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNull() {
+            addCriterion("extend1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1IsNotNull() {
+            addCriterion("extend1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1EqualTo(String value) {
+            addCriterion("extend1 =", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotEqualTo(String value) {
+            addCriterion("extend1 <>", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThan(String value) {
+            addCriterion("extend1 >", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1GreaterThanOrEqualTo(String value) {
+            addCriterion("extend1 >=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThan(String value) {
+            addCriterion("extend1 <", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1LessThanOrEqualTo(String value) {
+            addCriterion("extend1 <=", value, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Like(String value) {
+            addCriterion("extend1 like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotLike(String value) {
+            addCriterion("extend1 not like", "%" + value + "%", "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1In(List<String> values) {
+            addCriterion("extend1 in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotIn(List<String> values) {
+            addCriterion("extend1 not in", values, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1Between(String value1, String value2) {
+            addCriterion("extend1 between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend1NotBetween(String value1, String value2) {
+            addCriterion("extend1 not between", value1, value2, "extend1");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNull() {
+            addCriterion("extend2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2IsNotNull() {
+            addCriterion("extend2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2EqualTo(String value) {
+            addCriterion("extend2 =", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotEqualTo(String value) {
+            addCriterion("extend2 <>", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThan(String value) {
+            addCriterion("extend2 >", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2GreaterThanOrEqualTo(String value) {
+            addCriterion("extend2 >=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThan(String value) {
+            addCriterion("extend2 <", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2LessThanOrEqualTo(String value) {
+            addCriterion("extend2 <=", value, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Like(String value) {
+            addCriterion("extend2 like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotLike(String value) {
+            addCriterion("extend2 not like", "%" + value + "%", "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2In(List<String> values) {
+            addCriterion("extend2 in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotIn(List<String> values) {
+            addCriterion("extend2 not in", values, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2Between(String value1, String value2) {
+            addCriterion("extend2 between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andExtend2NotBetween(String value1, String value2) {
+            addCriterion("extend2 not between", value1, value2, "extend2");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNull() {
+            addCriterion("created_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIsNotNull() {
+            addCriterion("created_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeEqualTo(Date value) {
+            addCriterion("created_time =", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotEqualTo(Date value) {
+            addCriterion("created_time <>", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThan(Date value) {
+            addCriterion("created_time >", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("created_time >=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThan(Date value) {
+            addCriterion("created_time <", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
+            addCriterion("created_time <=", value, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeIn(List<Date> values) {
+            addCriterion("created_time in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotIn(List<Date> values) {
+            addCriterion("created_time not in", values, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
+            addCriterion("created_time between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
+            addCriterion("created_time not between", value1, value2, "createdTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNull() {
+            addCriterion("created_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIsNotNull() {
+            addCriterion("created_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdEqualTo(String value) {
+            addCriterion("created_by_user_id =", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotEqualTo(String value) {
+            addCriterion("created_by_user_id <>", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThan(String value) {
+            addCriterion("created_by_user_id >", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id >=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThan(String value) {
+            addCriterion("created_by_user_id <", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_id <=", value, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdLike(String value) {
+            addCriterion("created_by_user_id like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotLike(String value) {
+            addCriterion("created_by_user_id not like", "%" + value + "%", "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdIn(List<String> values) {
+            addCriterion("created_by_user_id in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotIn(List<String> values) {
+            addCriterion("created_by_user_id not in", values, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdBetween(String value1, String value2) {
+            addCriterion("created_by_user_id between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserIdNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_id not between", value1, value2, "createdByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNull() {
+            addCriterion("created_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIsNotNull() {
+            addCriterion("created_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeEqualTo(String value) {
+            addCriterion("created_by_user_code =", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotEqualTo(String value) {
+            addCriterion("created_by_user_code <>", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThan(String value) {
+            addCriterion("created_by_user_code >", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code >=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThan(String value) {
+            addCriterion("created_by_user_code <", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("created_by_user_code <=", value, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeLike(String value) {
+            addCriterion("created_by_user_code like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotLike(String value) {
+            addCriterion("created_by_user_code not like", "%" + value + "%", "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeIn(List<String> values) {
+            addCriterion("created_by_user_code in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotIn(List<String> values) {
+            addCriterion("created_by_user_code not in", values, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeBetween(String value1, String value2) {
+            addCriterion("created_by_user_code between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatedByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("created_by_user_code not between", value1, value2, "createdByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNull() {
+            addCriterion("update_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNotNull() {
+            addCriterion("update_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdEqualTo(String value) {
+            addCriterion("update_by_user_id =", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotEqualTo(String value) {
+            addCriterion("update_by_user_id <>", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThan(String value) {
+            addCriterion("update_by_user_id >", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id >=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThan(String value) {
+            addCriterion("update_by_user_id <", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id <=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLike(String value) {
+            addCriterion("update_by_user_id like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotLike(String value) {
+            addCriterion("update_by_user_id not like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIn(List<String> values) {
+            addCriterion("update_by_user_id in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotIn(List<String> values) {
+            addCriterion("update_by_user_id not in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdBetween(String value1, String value2) {
+            addCriterion("update_by_user_id between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_id not between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNull() {
+            addCriterion("update_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNotNull() {
+            addCriterion("update_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeEqualTo(String value) {
+            addCriterion("update_by_user_code =", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotEqualTo(String value) {
+            addCriterion("update_by_user_code <>", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThan(String value) {
+            addCriterion("update_by_user_code >", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code >=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThan(String value) {
+            addCriterion("update_by_user_code <", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code <=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLike(String value) {
+            addCriterion("update_by_user_code like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotLike(String value) {
+            addCriterion("update_by_user_code not like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIn(List<String> values) {
+            addCriterion("update_by_user_code in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotIn(List<String> values) {
+            addCriterion("update_by_user_code not in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeBetween(String value1, String value2) {
+            addCriterion("update_by_user_code between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_code not between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 38 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/enums/WarehouseTypeEnableEnum.java

@@ -0,0 +1,38 @@
+package com.lote.wms.base.warehouse.entity.enums;
+
+public enum WarehouseTypeEnableEnum {
+
+	ENABLE("Y", "启用"), DISABLE("N", "禁用");
+
+	private String name;
+
+	private String enable;
+
+	private WarehouseTypeEnableEnum(String enable, String name) {
+		this.setEnable(enable);
+		this.name = name;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getEnable() {
+		return enable;
+	}
+
+	public void setEnable(String enable) {
+		this.enable = enable;
+	}
+
+	public static String getNameByCode(String enable) {
+		if (enable.equals(WarehouseTypeEnableEnum.ENABLE.enable)) {
+			return WarehouseTypeEnableEnum.ENABLE.name;
+		}
+		return WarehouseTypeEnableEnum.DISABLE.name;
+	}
+}

+ 26 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/expend/WarehouseExpend.java

@@ -0,0 +1,26 @@
+package com.lote.wms.base.warehouse.entity.expend;
+
+import com.lote.wms.base.warehouse.entity.Warehouse;
+
+public class WarehouseExpend extends Warehouse {
+
+	private String ip;
+	
+	private Integer port;
+
+	public String getIp() {
+		return ip;
+	}
+
+	public void setIp(String ip) {
+		this.ip = ip;
+	}
+
+	public Integer getPort() {
+		return port;
+	}
+
+	public void setPort(Integer port) {
+		this.port = port;
+	}
+}

+ 223 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/queryvo/WarehouseAddressQueryVo.java

@@ -0,0 +1,223 @@
+package com.lote.wms.base.warehouse.entity.queryvo;
+
+import java.util.Date;
+
+import org.mybatis.plugin.model.QueryParam;
+
+public class WarehouseAddressQueryVo extends QueryParam {
+    private String id;
+
+    private String warehouseId;
+
+    private String warehouseCode;
+
+    private String countryCode;
+
+    private String countryName;
+
+    private String province;
+
+    private String city;
+
+    private String county;
+
+    private String address;
+
+    private String postalCode;
+
+    private String contactName;
+
+    private String phoneNumber;
+
+    private String mobileNumber;
+
+    private Date createdTime;
+
+    private String createdByUserId;
+
+    private String createdByUserCode;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private String extend1;
+
+    private String extend2;
+
+    private static final long serialVersionUID = 1L;
+
+    public WarehouseAddressQueryVo() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(String warehouseId) {
+        this.warehouseId = warehouseId == null ? null : warehouseId.trim();
+    }
+
+    public String getWarehouseCode() {
+        return warehouseCode;
+    }
+
+    public void setWarehouseCode(String warehouseCode) {
+        this.warehouseCode = warehouseCode == null ? null : warehouseCode.trim();
+    }
+
+    public String getCountryCode() {
+        return countryCode;
+    }
+
+    public void setCountryCode(String countryCode) {
+        this.countryCode = countryCode == null ? null : countryCode.trim();
+    }
+
+    public String getCountryName() {
+        return countryName;
+    }
+
+    public void setCountryName(String countryName) {
+        this.countryName = countryName == null ? null : countryName.trim();
+    }
+
+    public String getProvince() {
+        return province;
+    }
+
+    public void setProvince(String province) {
+        this.province = province == null ? null : province.trim();
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city == null ? null : city.trim();
+    }
+
+    public String getCounty() {
+        return county;
+    }
+
+    public void setCounty(String county) {
+        this.county = county == null ? null : county.trim();
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address == null ? null : address.trim();
+    }
+
+    public String getPostalCode() {
+        return postalCode;
+    }
+
+    public void setPostalCode(String postalCode) {
+        this.postalCode = postalCode == null ? null : postalCode.trim();
+    }
+
+    public String getContactName() {
+        return contactName;
+    }
+
+    public void setContactName(String contactName) {
+        this.contactName = contactName == null ? null : contactName.trim();
+    }
+
+    public String getPhoneNumber() {
+        return phoneNumber;
+    }
+
+    public void setPhoneNumber(String phoneNumber) {
+        this.phoneNumber = phoneNumber == null ? null : phoneNumber.trim();
+    }
+
+    public String getMobileNumber() {
+        return mobileNumber;
+    }
+
+    public void setMobileNumber(String mobileNumber) {
+        this.mobileNumber = mobileNumber == null ? null : mobileNumber.trim();
+    }
+
+    public Date getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Date createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public String getCreatedByUserId() {
+        return createdByUserId;
+    }
+
+    public void setCreatedByUserId(String createdByUserId) {
+        this.createdByUserId = createdByUserId == null ? null : createdByUserId.trim();
+    }
+
+    public String getCreatedByUserCode() {
+        return createdByUserCode;
+    }
+
+    public void setCreatedByUserCode(String createdByUserCode) {
+        this.createdByUserCode = createdByUserCode == null ? null : createdByUserCode.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+
+    public String getExtend1() {
+        return extend1;
+    }
+
+    public void setExtend1(String extend1) {
+        this.extend1 = extend1 == null ? null : extend1.trim();
+    }
+
+    public String getExtend2() {
+        return extend2;
+    }
+
+    public void setExtend2(String extend2) {
+        this.extend2 = extend2 == null ? null : extend2.trim();
+    }
+}

+ 164 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/queryvo/WarehouseQueryVo.java

@@ -0,0 +1,164 @@
+package com.lote.wms.base.warehouse.entity.queryvo;
+
+import java.util.Date;
+
+import org.mybatis.plugin.model.QueryParam;
+
+public class WarehouseQueryVo extends QueryParam {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	private String id;
+
+	private String instanceCode;
+
+	private String instanceName;
+
+	private String code;
+
+	private String name;
+
+	private String typeCode;
+
+	private String typeName;
+
+	private Date createdTime;
+
+	private String createdByUserId;
+
+	private String createdByUserCode;
+
+	private Date updateTime;
+
+	private String updateByUserId;
+
+	private String updateByUserCode;
+
+	private String createdTimeBegin;
+
+	private String createdTimeEnd;
+
+	public String getCreatedTimeBegin() {
+		return createdTimeBegin;
+	}
+
+	public void setCreatedTimeBegin(String createdTimeBegin) {
+		this.createdTimeBegin = createdTimeBegin;
+	}
+
+	public String getCreatedTimeEnd() {
+		return createdTimeEnd;
+	}
+
+	public void setCreatedTimeEnd(String createdTimeEnd) {
+		this.createdTimeEnd = createdTimeEnd;
+	}
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getInstanceCode() {
+		return instanceCode;
+	}
+
+	public void setInstanceCode(String instanceCode) {
+		this.instanceCode = instanceCode;
+	}
+
+	public String getInstanceName() {
+		return instanceName;
+	}
+
+	public void setInstanceName(String instanceName) {
+		this.instanceName = instanceName;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getTypeCode() {
+		return typeCode;
+	}
+
+	public void setTypeCode(String typeCode) {
+		this.typeCode = typeCode;
+	}
+
+	public String getTypeName() {
+		return typeName;
+	}
+
+	public void setTypeName(String typeName) {
+		this.typeName = typeName;
+	}
+
+	public Date getCreatedTime() {
+		return createdTime;
+	}
+
+	public void setCreatedTime(Date createdTime) {
+		this.createdTime = createdTime;
+	}
+
+	public String getCreatedByUserId() {
+		return createdByUserId;
+	}
+
+	public void setCreatedByUserId(String createdByUserId) {
+		this.createdByUserId = createdByUserId;
+	}
+
+	public String getCreatedByUserCode() {
+		return createdByUserCode;
+	}
+
+	public void setCreatedByUserCode(String createdByUserCode) {
+		this.createdByUserCode = createdByUserCode;
+	}
+
+	public Date getUpdateTime() {
+		return updateTime;
+	}
+
+	public void setUpdateTime(Date updateTime) {
+		this.updateTime = updateTime;
+	}
+
+	public String getUpdateByUserId() {
+		return updateByUserId;
+	}
+
+	public void setUpdateByUserId(String updateByUserId) {
+		this.updateByUserId = updateByUserId;
+	}
+
+	public String getUpdateByUserCode() {
+		return updateByUserCode;
+	}
+
+	public void setUpdateByUserCode(String updateByUserCode) {
+		this.updateByUserCode = updateByUserCode;
+	}
+
+}

+ 116 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/entity/queryvo/WarehouseTypeQueryVo.java

@@ -0,0 +1,116 @@
+package com.lote.wms.base.warehouse.entity.queryvo;
+
+import java.io.Serializable;
+
+import org.mybatis.plugin.model.QueryParam;
+
+public class WarehouseTypeQueryVo  extends QueryParam  implements Serializable{
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private String extend1;
+
+    private String extend2;
+
+    private String isReadonly;
+
+    private String isDeleted;
+
+    private String createdTimeBegin;
+
+    private String createdTimeEnd;
+    
+    
+    private static final long serialVersionUID = 1L;
+
+    public WarehouseTypeQueryVo() {
+        super();
+    }
+
+    
+    
+    public String getCreatedTimeBegin() {
+		return createdTimeBegin;
+	}
+
+
+
+	public void setCreatedTimeBegin(String createdTimeBegin) {
+		this.createdTimeBegin = createdTimeBegin;
+	}
+
+
+
+	public String getCreatedTimeEnd() {
+		return createdTimeEnd;
+	}
+
+
+
+	public void setCreatedTimeEnd(String createdTimeEnd) {
+		this.createdTimeEnd = createdTimeEnd;
+	}
+
+
+
+	public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+  
+   
+    public String getExtend1() {
+        return extend1;
+    }
+
+    public void setExtend1(String extend1) {
+        this.extend1 = extend1 == null ? null : extend1.trim();
+    }
+
+    public String getExtend2() {
+        return extend2;
+    }
+
+    public void setExtend2(String extend2) {
+        this.extend2 = extend2 == null ? null : extend2.trim();
+    }
+
+    public String getIsReadonly() {
+        return isReadonly;
+    }
+
+    public void setIsReadonly(String isReadonly) {
+        this.isReadonly = isReadonly == null ? null : isReadonly.trim();
+    }
+
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted == null ? null : isDeleted.trim();
+    }
+}

+ 29 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/service/WarehouseAddressService.java

@@ -0,0 +1,29 @@
+package com.lote.wms.base.warehouse.service;
+
+import java.util.List;
+
+import org.mybatis.plugin.model.Pager;
+
+import com.lote.wms.base.warehouse.entity.WarehouseAddress;
+import com.lote.wms.base.warehouse.entity.queryvo.WarehouseAddressQueryVo;
+
+public interface WarehouseAddressService {
+    WarehouseAddress add(WarehouseAddress record);
+
+    boolean delete(String id);
+
+    WarehouseAddress update(WarehouseAddress record);
+
+    WarehouseAddress get(String id);
+
+    Pager<WarehouseAddress> list(int page, int limit);
+    
+    WarehouseAddress getByWarehouseId(String warehouseId);
+    
+    Pager<WarehouseAddress> list(WarehouseAddressQueryVo warehouseAddressQueryVo);
+
+	List<WarehouseAddress> listAll();
+
+	WarehouseAddress getByWarehouseCode(String warehouseCode);
+    
+}

+ 30 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/service/WarehouseService.java

@@ -0,0 +1,30 @@
+package com.lote.wms.base.warehouse.service;
+
+import java.util.List;
+
+import org.mybatis.plugin.model.Pager;
+
+import com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.base.warehouse.entity.queryvo.WarehouseQueryVo;
+
+public interface WarehouseService {
+	Warehouse add(Warehouse record);
+
+	boolean delete(String id);
+
+	Warehouse update(Warehouse record);
+
+	Warehouse get(String id);
+
+	Pager<Warehouse> list(int page, int limit);
+
+	Pager<Warehouse> list(WarehouseQueryVo warehouseQueryVo);
+
+	Warehouse getByCode(String code);
+
+	Warehouse getByName(String name);
+
+	List<Warehouse> listAll();
+
+	List<Warehouse> listByInstanceCode(String instanceCode);
+}

+ 37 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/service/WarehouseTypeService.java

@@ -0,0 +1,37 @@
+package com.lote.wms.base.warehouse.service;
+
+import java.util.List;
+
+import com.lote.wms.common.model.Message;
+import com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.base.warehouse.entity.WarehouseType;
+import com.lote.wms.base.warehouse.entity.queryvo.WarehouseTypeQueryVo;
+
+import org.mybatis.plugin.model.Pager;
+
+public interface WarehouseTypeService {
+    WarehouseType add(WarehouseType record);
+
+    boolean delete(String id);
+
+    WarehouseType update(WarehouseType record);
+
+    WarehouseType get(String id);
+
+    Pager<WarehouseType> list(int page, int limit);
+    
+    List<WarehouseType> listAll();
+    
+    Pager<WarehouseType> list(WarehouseTypeQueryVo warehouseTypeQueryVo);
+    
+    WarehouseType getByCode(String code);
+    
+    /**
+     * 批量更新
+     * 是否启用
+     * @param ids
+     * @param isEnabled
+     * @return
+     */
+    Message updateEnabled(String ids,String isEnabled);
+}

+ 160 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/service/impl/WarehouseAddressServiceImpl.java

@@ -0,0 +1,160 @@
+package com.lote.wms.base.warehouse.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import com.lote.wms.base.country.entity.Country;
+import com.lote.wms.base.country.service.CountryService;
+import com.lote.wms.base.warehouse.dao.WarehouseAddressMapper;
+import com.lote.wms.base.warehouse.dao.WarehouseMapper;
+import com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.base.warehouse.entity.WarehouseAddress;
+import com.lote.wms.base.warehouse.entity.WarehouseAddressCriteria;
+import com.lote.wms.base.warehouse.entity.WarehouseAddressCriteria.Criteria;
+import com.lote.wms.base.warehouse.entity.queryvo.WarehouseAddressQueryVo;
+import com.lote.wms.base.warehouse.service.WarehouseAddressService;
+import com.lote.wms.common.constants.QueueDefination;
+import com.lote.wms.common.core.db.IdWorkerAide;
+import com.lote.wms.common.core.mq.TopicProducer;
+import com.lote.wms.common.exception.ServiceException;
+import com.lote.wms.common.model.JmsMessage;
+import com.lote.wms.common.utils.StringUtil;
+
+@Service("warehouseAddressService")
+public class WarehouseAddressServiceImpl implements WarehouseAddressService {
+	
+	@Resource
+	private WarehouseAddressMapper warehouseAddressMapper;
+
+	@Resource
+	private WarehouseMapper warehouseMapper;
+
+	@Resource
+	private CountryService countryService;
+
+	@Resource
+	private TopicProducer topicProducer;
+
+	private static final Logger logger = LoggerFactory.getLogger(WarehouseAddressServiceImpl.class);
+
+	public WarehouseAddress add(WarehouseAddress record) {
+		// 冗余仓库代码
+		Warehouse warehouse = warehouseMapper.selectByPrimaryKey(record.getWarehouseId());
+		if (warehouse == null) {
+			throw new ServiceException("仓库id不存在");
+		}
+		record.setWarehouseCode(warehouse.getCode());
+		record.setId(IdWorkerAide.nextId());
+
+		String countryCode = record.getCountryCode();
+		if (StringUtil.isEmpty(countryCode)) {
+			throw new ServiceException("国家代码不能为空");
+		}
+		Country country = countryService.getByCode(countryCode);
+		if (country == null) {
+			throw new ServiceException("国家代码不存在");
+		}
+		record.setCountryName(country.getNameCn());
+		
+		if (this.warehouseAddressMapper.insertSelective(record) != 1) {
+			throw new ServiceException("新增仓库联系地址失败");
+		}
+		
+		// 消息队列同步仓库地址
+		topicProducer.publish(QueueDefination.SYNC_WAREHOUSE_ADDRESS, new JmsMessage(record));
+		return record;
+	}
+
+	public boolean delete(String id) {
+		return this.warehouseAddressMapper.deleteByPrimaryKey(id) == 1;
+	}
+
+	public WarehouseAddress update(WarehouseAddress record) {
+		Warehouse warehouse = warehouseMapper.selectByPrimaryKey(record.getWarehouseId());
+		if (warehouse == null) {
+			throw new ServiceException("仓库id不存在");
+		}
+		record.setUpdateTime(new Date());
+
+		String countryCode = record.getCountryCode();
+		if (StringUtil.isEmpty(countryCode)) {
+			throw new ServiceException("国家代码不能为空");
+		}
+		Country country = countryService.getByCode(countryCode);
+		if (country == null) {
+			throw new ServiceException("国家代码不存在");
+		}
+		record.setCountryName(country.getNameCn());
+
+		if (this.warehouseAddressMapper.updateByPrimaryKeySelective(record) != 1) {
+			throw new ServiceException("更新仓库联系地址失败");
+		}
+		// 消息队列同步仓库地址
+		topicProducer.publish(QueueDefination.SYNC_WAREHOUSE_ADDRESS, new JmsMessage(record));
+		return record;
+	}
+
+	public WarehouseAddress get(String id) {
+		return this.warehouseAddressMapper.selectByPrimaryKey(id);
+	}
+
+	public Pager<WarehouseAddress> list(int page, int limit) {
+		WarehouseAddressCriteria criteria = new WarehouseAddressCriteria();
+		criteria.setPage(page);
+		criteria.setLimit(limit);
+		Criteria cri = criteria.createCriteria();
+		List<WarehouseAddress> list = warehouseAddressMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public WarehouseAddress getByWarehouseId(String warehouseId) {
+		WarehouseAddressCriteria criteria = new WarehouseAddressCriteria();
+		Criteria cri = criteria.createCriteria();
+		cri.andWarehouseIdEqualTo(warehouseId);
+		List<WarehouseAddress> list = warehouseAddressMapper.selectByConditionList(criteria);
+		WarehouseAddress warehouseAddress = list != null && list.size() > 0 ? list.get(0) : new WarehouseAddress();
+		warehouseAddress.setWarehouseId(warehouseId);
+		return warehouseAddress;
+	}
+
+	@Override
+	public WarehouseAddress getByWarehouseCode(String warehouseCode) {
+		WarehouseAddressCriteria criteria = new WarehouseAddressCriteria();
+		Criteria cri = criteria.createCriteria();
+		cri.andWarehouseCodeEqualTo(warehouseCode);
+		List<WarehouseAddress> list = warehouseAddressMapper.selectByConditionList(criteria);
+		if (list.size() > 0) {
+			return list.get(0);
+		}
+		return null;
+	}
+
+	@Override
+	public Pager<WarehouseAddress> list(WarehouseAddressQueryVo queryvo) {
+		WarehouseAddressCriteria criteria = new WarehouseAddressCriteria();
+		criteria.setPage(queryvo.getPage());
+		criteria.setLimit(queryvo.getLimit());
+		Criteria cri = criteria.createCriteria();
+		if (queryvo.getWarehouseId() != null) {
+			cri.andWarehouseIdEqualTo(queryvo.getWarehouseId());
+		}
+		List<WarehouseAddress> list = warehouseAddressMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+
+	}
+
+	@Override
+	public List<WarehouseAddress> listAll() {
+		return warehouseAddressMapper.selectAll();
+	}
+
+}

+ 174 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/service/impl/WarehouseServiceImpl.java

@@ -0,0 +1,174 @@
+package com.lote.wms.base.warehouse.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import com.lote.wms.base.warehouse.dao.WarehouseMapper;
+import com.lote.wms.base.warehouse.dao.WarehouseTypeMapper;
+import com.lote.wms.base.warehouse.entity.Warehouse;
+import com.lote.wms.base.warehouse.entity.WarehouseCriteria;
+import com.lote.wms.base.warehouse.entity.WarehouseCriteria.Criteria;
+import com.lote.wms.base.warehouse.entity.WarehouseType;
+import com.lote.wms.base.warehouse.entity.WarehouseTypeCriteria;
+import com.lote.wms.base.warehouse.entity.queryvo.WarehouseQueryVo;
+import com.lote.wms.base.warehouse.service.WarehouseService;
+import com.lote.wms.common.constants.QueueDefination;
+import com.lote.wms.common.core.db.IdWorkerAide;
+import com.lote.wms.common.core.mq.QueueProducer;
+import com.lote.wms.common.core.mq.TopicProducer;
+import com.lote.wms.common.exception.ServiceException;
+import com.lote.wms.common.model.JmsMessage;
+import com.lote.wms.common.utils.DateUtil;
+import com.lote.wms.common.utils.StringUtil;
+import com.lote.wms.server.deploy.dao.InstanceMapper;
+import com.lote.wms.server.deploy.entity.Instance;
+import com.lote.wms.server.deploy.entity.InstanceCriteria;
+
+@Service("warehouseService")
+public class WarehouseServiceImpl implements WarehouseService {
+	@Resource
+	private WarehouseMapper warehouseMapper;
+
+	@Resource
+	private WarehouseTypeMapper warehouseTypeMapper;
+
+	@Resource
+	private InstanceMapper instanceMapper;
+
+	@Resource
+	private TopicProducer topicProducer;
+
+	private static final Logger logger = LoggerFactory.getLogger(WarehouseServiceImpl.class);
+
+	public Warehouse add(Warehouse record) {
+		record.setCode(record.getCode().toUpperCase());
+		record.setId(IdWorkerAide.nextId());
+		// 冗余实例 仓库类型
+		redundancyTypeNameAndInstanceName(record);
+		if (this.warehouseMapper.insertSelective(record) != 1) {
+			throw new ServiceException("新增仓库失败");
+		}
+		// 消息队列同步仓库
+		topicProducer.publish(QueueDefination.SYNC_WAREHOUSE, new JmsMessage(record));
+		return record;
+	}
+
+	public boolean delete(String id) {
+		return this.warehouseMapper.deleteByPrimaryKey(id) == 1;
+	}
+
+	public Warehouse update(Warehouse record) {
+		record.setUpdateTime(new Date());
+		redundancyTypeNameAndInstanceName(record);
+		if (this.warehouseMapper.updateByPrimaryKeySelective(record) != 1) {
+			throw new ServiceException("更新仓库失败");
+		}
+		// 消息队列同步仓库
+		topicProducer.publish(QueueDefination.SYNC_WAREHOUSE, new JmsMessage(record));
+		return record;
+	}
+
+	public Warehouse get(String id) {
+		return this.warehouseMapper.selectByPrimaryKey(id);
+	}
+
+	public Pager<Warehouse> list(int page, int limit) {
+		WarehouseCriteria criteria = new WarehouseCriteria();
+		criteria.setPage(page);
+		criteria.setLimit(limit);
+		Criteria cri = criteria.createCriteria();
+		List<Warehouse> list = warehouseMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public Pager<Warehouse> list(WarehouseQueryVo warehouseQueryVo) {
+		WarehouseCriteria criteria = new WarehouseCriteria();
+		criteria.setPage(warehouseQueryVo.getPage());
+		criteria.setLimit(warehouseQueryVo.getLimit());
+		if (!StringUtil.isEmpty(warehouseQueryVo.getOrderByClause())) {
+			criteria.setOrderByClause(warehouseQueryVo.getOrderByClause());
+		} else {
+			criteria.setOrderByClause("created_time desc");
+		}
+		Criteria cri = criteria.createCriteria();
+		if (!StringUtil.isEmpty(warehouseQueryVo.getInstanceCode())) {
+			cri.andInstanceCodeEqualTo(warehouseQueryVo.getInstanceCode());
+		}
+		if (!StringUtil.isEmpty(warehouseQueryVo.getName())) {
+			cri.andNameLike(warehouseQueryVo.getName());
+		}
+		if (!StringUtil.isEmpty(warehouseQueryVo.getTypeCode())) {
+			cri.andTypeCodeEqualTo(warehouseQueryVo.getTypeCode());
+		}
+		if (!StringUtil.isEmpty(warehouseQueryVo.getCode())) {
+			cri.andCodeEqualTo(warehouseQueryVo.getCode());
+		}
+		Date date = DateUtil.stringConvertDate(warehouseQueryVo.getCreatedTimeBegin(), DateUtil.yyyy_MM_ddHHmmss);
+		if (date != null) {
+			cri.andCreatedTimeGreaterThan(date);
+		}
+		date = DateUtil.stringConvertDate(warehouseQueryVo.getCreatedTimeEnd(), DateUtil.yyyy_MM_ddHHmmss);
+		if (date != null) {
+			cri.andCreatedTimeLessThan(date);
+		}
+		List<Warehouse> list = warehouseMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public Warehouse getByCode(String code) {
+		return warehouseMapper.getByCode(code);
+	}
+
+	@Override
+	public List<Warehouse> listAll() {
+		return warehouseMapper.selectAll();
+	}
+
+	@Override
+	public List<Warehouse> listByInstanceCode(String instanceCode) {
+		return warehouseMapper.selectByInstanceCode(instanceCode);
+	}
+
+	/**
+	 * 冗余实例 仓库类型
+	 * 
+	 * @param record
+	 */
+	private void redundancyTypeNameAndInstanceName(Warehouse record) {
+		WarehouseType warehouseType = warehouseTypeMapper.getByCode(record.getTypeCode());
+		if (warehouseType == null) {
+			throw new ServiceException("仓库类型不存在");
+		}
+		record.setTypeName(warehouseType.getName());
+
+		Instance instance = instanceMapper.getByCode(record.getInstanceCode());
+		if (instance == null) {
+			throw new ServiceException("实例代码不存在");
+		}
+		record.setInstanceName(instance.getName());
+	}
+
+	@Override
+	public Warehouse getByName(String name) {
+		WarehouseCriteria criteria = new WarehouseCriteria();
+		criteria.setLimit(-1);
+		Criteria cri = criteria.createCriteria();
+		cri.andNameEqualTo(name.trim());
+		List<Warehouse> list = warehouseMapper.selectByConditionList(criteria);
+		if (!list.isEmpty()) {
+			return list.get(0);
+		}
+		return null;
+	}
+
+}

+ 149 - 0
wms-center/src/main/java/com/lote/wms/base/warehouse/service/impl/WarehouseTypeServiceImpl.java

@@ -0,0 +1,149 @@
+package com.lote.wms.base.warehouse.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import com.lote.wms.base.warehouse.dao.WarehouseMapper;
+import com.lote.wms.base.warehouse.dao.WarehouseTypeMapper;
+import com.lote.wms.base.warehouse.entity.WarehouseType;
+import com.lote.wms.base.warehouse.entity.WarehouseTypeCriteria;
+import com.lote.wms.base.warehouse.entity.WarehouseTypeCriteria.Criteria;
+import com.lote.wms.base.warehouse.entity.enums.WarehouseTypeEnableEnum;
+import com.lote.wms.base.warehouse.entity.queryvo.WarehouseTypeQueryVo;
+import com.lote.wms.base.warehouse.service.WarehouseTypeService;
+import com.lote.wms.common.core.db.IdWorkerAide;
+import com.lote.wms.common.exception.ServiceException;
+import com.lote.wms.common.model.Message;
+import com.lote.wms.common.utils.StringUtil;
+
+@Service("warehouseTypeService")
+public class WarehouseTypeServiceImpl implements WarehouseTypeService {
+	@Resource
+	private WarehouseTypeMapper warehouseTypeMapper;
+
+	@Resource
+	private WarehouseMapper warehouseMapper;
+
+	private static final Logger logger = LoggerFactory.getLogger(WarehouseTypeServiceImpl.class);
+
+	public WarehouseType add(WarehouseType record) {
+		record.setCode(record.getCode().toUpperCase());
+		// 判断是否存在代码
+		if (getByCode(record.getCode()) != null) {
+			throw new ServiceException("类型代码已存在");
+		}
+		record.setId(IdWorkerAide.nextId());
+		// 获取最新的sort
+		if (record.getSort() == null) {
+			record.setSort(getLastNewSort());
+		}
+		String isEnableName = WarehouseTypeEnableEnum.getNameByCode(record.getIsEnable());
+		record.setIsEnableName(isEnableName);
+		record.setCreatedTime(new Date());
+		if (this.warehouseTypeMapper.insertSelective(record) != 1) {
+			throw new ServiceException("新增失败");
+		}
+		return record;
+	}
+
+	public boolean delete(String id) {
+		return this.warehouseTypeMapper.deleteByPrimaryKey(id) == 1;
+	}
+
+	public WarehouseType update(WarehouseType record) {
+		// 更新时不允许更新code
+		record.setCode(null);
+		String isEnableName = WarehouseTypeEnableEnum.getNameByCode(record.getIsEnable());
+		record.setIsEnableName(isEnableName);
+		if (this.warehouseTypeMapper.updateByPrimaryKeySelective(record) != 1) {
+			throw new ServiceException("更新失败");
+		}
+		record.setUpdateTime(new Date());
+		// 级联更新仓库
+		warehouseMapper.updateTypeNameByTypeId(record.getId());
+		return record;
+	}
+
+	public WarehouseType get(String id) {
+		return this.warehouseTypeMapper.selectByPrimaryKey(id);
+	}
+
+	public Pager<WarehouseType> list(int page, int limit) {
+		WarehouseTypeCriteria criteria = new WarehouseTypeCriteria();
+		criteria.setPage(page);
+		criteria.setLimit(limit);
+		Criteria cri = criteria.createCriteria();
+		List<WarehouseType> list = warehouseTypeMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public List<WarehouseType> listAll() {
+		List<WarehouseType> listAll = warehouseTypeMapper.selectAll();
+		for (WarehouseType warehouseType : listAll) {
+			warehouseType.setId(warehouseType.getCode());
+		}
+		return listAll;
+	}
+
+	@Override
+	public Pager<WarehouseType> list(WarehouseTypeQueryVo warehouseTypeQueryVo) {
+		WarehouseTypeCriteria criteria = new WarehouseTypeCriteria();
+		criteria.setPage(warehouseTypeQueryVo.getPage());
+		criteria.setLimit(warehouseTypeQueryVo.getLimit());
+		criteria.setOrderByClause("created_time desc");
+
+		Criteria cri = criteria.createCriteria();
+		if (!StringUtil.isEmpty(warehouseTypeQueryVo.getCode())) {
+			cri.andCodeEqualTo(warehouseTypeQueryVo.getCode());
+		}
+		if (!StringUtil.isEmpty(warehouseTypeQueryVo.getName())) {
+			cri.andNameEqualTo(warehouseTypeQueryVo.getName());
+		}
+		List<WarehouseType> list = warehouseTypeMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public WarehouseType getByCode(String code) {
+		WarehouseTypeCriteria criteria = new WarehouseTypeCriteria();
+		Criteria cri = criteria.createCriteria();
+		cri.andCodeEqualTo(code);
+		List<WarehouseType> list = warehouseTypeMapper.selectByConditionList(criteria);
+		if (list != null && list.size() > 0)
+			return list.get(0);
+		return null;
+	}
+
+	@Override
+	public Message updateEnabled(String ids, String isEnabled) {
+		ids = ids.replaceAll("'", "");
+		String idArray[] = ids.split(",");
+		String isEnableName = WarehouseTypeEnableEnum.getNameByCode(isEnabled);
+
+		for (String id : idArray) {
+			WarehouseType warehouseType = warehouseTypeMapper.selectByPrimaryKey(id);
+			if (warehouseType == null) {
+				throw new ServiceException("仓库类型id不存在");
+			}
+			warehouseType.setIsEnableName(isEnableName);
+			warehouseType.setIsEnable(isEnabled);
+			warehouseTypeMapper.updateByPrimaryKeySelective(warehouseType);
+		}
+
+		return Message.success(idArray.length + "个仓库类型" + isEnableName + "成功");
+	}
+
+	public Integer getLastNewSort() {
+		Integer lastSort = warehouseTypeMapper.selectLastSort();
+		return lastSort == null ? 0 : lastSort + 1;
+	}
+}

+ 49 - 0
wms-center/src/main/java/com/lote/wms/base/website/controller/WebsiteConfigController.java

@@ -0,0 +1,49 @@
+package com.lote.wms.base.website.controller;
+
+import java.util.Date;
+
+import javax.annotation.Resource;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.lote.wms.base.website.entity.WebsiteConfig;
+import com.lote.wms.base.website.service.WebsiteConfigService;
+import com.lote.wms.common.core.web.AbstractController;
+import com.lote.wms.common.core.web.model.Result;
+import com.lote.wms.common.core.web.model.SessionAttrConstant;
+import com.lote.wms.common.utils.StringUtil;
+
+@RestController
+@RequestMapping("/base/websiteConfig")
+public class WebsiteConfigController extends AbstractController {
+
+	@SuppressWarnings("unused")
+	private static final Logger logger = LoggerFactory.getLogger(WebsiteConfigController.class);
+
+	@Resource
+	private WebsiteConfigService websiteConfigService;
+
+	@RequestMapping("/get")
+	public Result get() {
+		return Result.success(websiteConfigService.get());
+	}
+
+	@RequestMapping(value = "/set")
+	public Result set(@RequestBody WebsiteConfig websiteConfig) {
+		if (StringUtil.isEmpty(websiteConfig.getLoginTitle())) {
+			return Result.error("登录页标题不能为空!");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		websiteConfig.setUpdateByUserCode(userCode);
+		websiteConfig.setUpdateByUserId(userId);
+		websiteConfig.setUpdateTime(new Date());
+		websiteConfigService.set(websiteConfig);
+		return Result.success("设置成功!");
+	}
+}

+ 21 - 0
wms-center/src/main/java/com/lote/wms/base/website/dao/WebsiteConfigMapper.java

@@ -0,0 +1,21 @@
+package com.lote.wms.base.website.dao;
+
+import com.lote.wms.base.website.entity.WebsiteConfig;
+import com.lote.wms.base.website.entity.WebsiteConfigCriteria;
+import java.util.List;
+
+public interface WebsiteConfigMapper {
+    int deleteByCondition(WebsiteConfigCriteria condition);
+
+    int deleteByPrimaryKey(String id);
+
+    int insertSelective(WebsiteConfig record);
+
+    List<WebsiteConfig> selectByConditionList(WebsiteConfigCriteria condition);
+
+    WebsiteConfig selectByPrimaryKey(String id);
+
+    int countByCondition(WebsiteConfigCriteria condition);
+
+    int updateByPrimaryKeySelective(WebsiteConfig record);
+}

+ 102 - 0
wms-center/src/main/java/com/lote/wms/base/website/entity/WebsiteConfig.java

@@ -0,0 +1,102 @@
+package com.lote.wms.base.website.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WebsiteConfig implements Serializable {
+    private String id;
+
+    private String loginTitle;
+
+    private String browserTitle;
+
+    private String logoImgUrl;
+
+    private String bottomText;
+
+    private String remark;
+
+    private Date updateTime;
+
+    private String updateByUserId;
+
+    private String updateByUserCode;
+
+    private static final long serialVersionUID = 1L;
+
+    public WebsiteConfig() {
+        super();
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getLoginTitle() {
+        return loginTitle;
+    }
+
+    public void setLoginTitle(String loginTitle) {
+        this.loginTitle = loginTitle == null ? null : loginTitle.trim();
+    }
+
+    public String getBrowserTitle() {
+        return browserTitle;
+    }
+
+    public void setBrowserTitle(String browserTitle) {
+        this.browserTitle = browserTitle == null ? null : browserTitle.trim();
+    }
+
+    public String getLogoImgUrl() {
+        return logoImgUrl;
+    }
+
+    public void setLogoImgUrl(String logoImgUrl) {
+        this.logoImgUrl = logoImgUrl == null ? null : logoImgUrl.trim();
+    }
+
+    public String getBottomText() {
+        return bottomText;
+    }
+
+    public void setBottomText(String bottomText) {
+        this.bottomText = bottomText == null ? null : bottomText.trim();
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateByUserId() {
+        return updateByUserId;
+    }
+
+    public void setUpdateByUserId(String updateByUserId) {
+        this.updateByUserId = updateByUserId == null ? null : updateByUserId.trim();
+    }
+
+    public String getUpdateByUserCode() {
+        return updateByUserCode;
+    }
+
+    public void setUpdateByUserCode(String updateByUserCode) {
+        this.updateByUserCode = updateByUserCode == null ? null : updateByUserCode.trim();
+    }
+}

+ 822 - 0
wms-center/src/main/java/com/lote/wms/base/website/entity/WebsiteConfigCriteria.java

@@ -0,0 +1,822 @@
+package com.lote.wms.base.website.entity;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.mybatis.plugin.model.QueryParam;
+
+public class WebsiteConfigCriteria extends QueryParam {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public WebsiteConfigCriteria() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", "%" + value + "%", "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleIsNull() {
+            addCriterion("login_title is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleIsNotNull() {
+            addCriterion("login_title is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleEqualTo(String value) {
+            addCriterion("login_title =", value, "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleNotEqualTo(String value) {
+            addCriterion("login_title <>", value, "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleGreaterThan(String value) {
+            addCriterion("login_title >", value, "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleGreaterThanOrEqualTo(String value) {
+            addCriterion("login_title >=", value, "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleLessThan(String value) {
+            addCriterion("login_title <", value, "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleLessThanOrEqualTo(String value) {
+            addCriterion("login_title <=", value, "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleLike(String value) {
+            addCriterion("login_title like", "%" + value + "%", "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleNotLike(String value) {
+            addCriterion("login_title not like", "%" + value + "%", "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleIn(List<String> values) {
+            addCriterion("login_title in", values, "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleNotIn(List<String> values) {
+            addCriterion("login_title not in", values, "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleBetween(String value1, String value2) {
+            addCriterion("login_title between", value1, value2, "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLoginTitleNotBetween(String value1, String value2) {
+            addCriterion("login_title not between", value1, value2, "loginTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleIsNull() {
+            addCriterion("browser_title is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleIsNotNull() {
+            addCriterion("browser_title is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleEqualTo(String value) {
+            addCriterion("browser_title =", value, "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleNotEqualTo(String value) {
+            addCriterion("browser_title <>", value, "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleGreaterThan(String value) {
+            addCriterion("browser_title >", value, "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleGreaterThanOrEqualTo(String value) {
+            addCriterion("browser_title >=", value, "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleLessThan(String value) {
+            addCriterion("browser_title <", value, "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleLessThanOrEqualTo(String value) {
+            addCriterion("browser_title <=", value, "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleLike(String value) {
+            addCriterion("browser_title like", "%" + value + "%", "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleNotLike(String value) {
+            addCriterion("browser_title not like", "%" + value + "%", "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleIn(List<String> values) {
+            addCriterion("browser_title in", values, "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleNotIn(List<String> values) {
+            addCriterion("browser_title not in", values, "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleBetween(String value1, String value2) {
+            addCriterion("browser_title between", value1, value2, "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrowserTitleNotBetween(String value1, String value2) {
+            addCriterion("browser_title not between", value1, value2, "browserTitle");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlIsNull() {
+            addCriterion("logo_img_url is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlIsNotNull() {
+            addCriterion("logo_img_url is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlEqualTo(String value) {
+            addCriterion("logo_img_url =", value, "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlNotEqualTo(String value) {
+            addCriterion("logo_img_url <>", value, "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlGreaterThan(String value) {
+            addCriterion("logo_img_url >", value, "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlGreaterThanOrEqualTo(String value) {
+            addCriterion("logo_img_url >=", value, "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlLessThan(String value) {
+            addCriterion("logo_img_url <", value, "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlLessThanOrEqualTo(String value) {
+            addCriterion("logo_img_url <=", value, "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlLike(String value) {
+            addCriterion("logo_img_url like", "%" + value + "%", "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlNotLike(String value) {
+            addCriterion("logo_img_url not like", "%" + value + "%", "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlIn(List<String> values) {
+            addCriterion("logo_img_url in", values, "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlNotIn(List<String> values) {
+            addCriterion("logo_img_url not in", values, "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlBetween(String value1, String value2) {
+            addCriterion("logo_img_url between", value1, value2, "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andLogoImgUrlNotBetween(String value1, String value2) {
+            addCriterion("logo_img_url not between", value1, value2, "logoImgUrl");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextIsNull() {
+            addCriterion("bottom_text is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextIsNotNull() {
+            addCriterion("bottom_text is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextEqualTo(String value) {
+            addCriterion("bottom_text =", value, "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextNotEqualTo(String value) {
+            addCriterion("bottom_text <>", value, "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextGreaterThan(String value) {
+            addCriterion("bottom_text >", value, "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextGreaterThanOrEqualTo(String value) {
+            addCriterion("bottom_text >=", value, "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextLessThan(String value) {
+            addCriterion("bottom_text <", value, "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextLessThanOrEqualTo(String value) {
+            addCriterion("bottom_text <=", value, "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextLike(String value) {
+            addCriterion("bottom_text like", "%" + value + "%", "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextNotLike(String value) {
+            addCriterion("bottom_text not like", "%" + value + "%", "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextIn(List<String> values) {
+            addCriterion("bottom_text in", values, "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextNotIn(List<String> values) {
+            addCriterion("bottom_text not in", values, "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextBetween(String value1, String value2) {
+            addCriterion("bottom_text between", value1, value2, "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andBottomTextNotBetween(String value1, String value2) {
+            addCriterion("bottom_text not between", value1, value2, "bottomText");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNull() {
+            addCriterion("remark is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNotNull() {
+            addCriterion("remark is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkEqualTo(String value) {
+            addCriterion("remark =", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotEqualTo(String value) {
+            addCriterion("remark <>", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThan(String value) {
+            addCriterion("remark >", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
+            addCriterion("remark >=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThan(String value) {
+            addCriterion("remark <", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThanOrEqualTo(String value) {
+            addCriterion("remark <=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLike(String value) {
+            addCriterion("remark like", "%" + value + "%", "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotLike(String value) {
+            addCriterion("remark not like", "%" + value + "%", "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIn(List<String> values) {
+            addCriterion("remark in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotIn(List<String> values) {
+            addCriterion("remark not in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkBetween(String value1, String value2) {
+            addCriterion("remark between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotBetween(String value1, String value2) {
+            addCriterion("remark not between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNull() {
+            addCriterion("update_by_user_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIsNotNull() {
+            addCriterion("update_by_user_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdEqualTo(String value) {
+            addCriterion("update_by_user_id =", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotEqualTo(String value) {
+            addCriterion("update_by_user_id <>", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThan(String value) {
+            addCriterion("update_by_user_id >", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id >=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThan(String value) {
+            addCriterion("update_by_user_id <", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_id <=", value, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdLike(String value) {
+            addCriterion("update_by_user_id like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotLike(String value) {
+            addCriterion("update_by_user_id not like", "%" + value + "%", "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdIn(List<String> values) {
+            addCriterion("update_by_user_id in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotIn(List<String> values) {
+            addCriterion("update_by_user_id not in", values, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdBetween(String value1, String value2) {
+            addCriterion("update_by_user_id between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserIdNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_id not between", value1, value2, "updateByUserId");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNull() {
+            addCriterion("update_by_user_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIsNotNull() {
+            addCriterion("update_by_user_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeEqualTo(String value) {
+            addCriterion("update_by_user_code =", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotEqualTo(String value) {
+            addCriterion("update_by_user_code <>", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThan(String value) {
+            addCriterion("update_by_user_code >", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code >=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThan(String value) {
+            addCriterion("update_by_user_code <", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLessThanOrEqualTo(String value) {
+            addCriterion("update_by_user_code <=", value, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeLike(String value) {
+            addCriterion("update_by_user_code like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotLike(String value) {
+            addCriterion("update_by_user_code not like", "%" + value + "%", "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeIn(List<String> values) {
+            addCriterion("update_by_user_code in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotIn(List<String> values) {
+            addCriterion("update_by_user_code not in", values, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeBetween(String value1, String value2) {
+            addCriterion("update_by_user_code between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateByUserCodeNotBetween(String value1, String value2) {
+            addCriterion("update_by_user_code not between", value1, value2, "updateByUserCode");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 20 - 0
wms-center/src/main/java/com/lote/wms/base/website/service/WebsiteConfigService.java

@@ -0,0 +1,20 @@
+package com.lote.wms.base.website.service;
+
+import com.lote.wms.base.website.entity.WebsiteConfig;
+import org.mybatis.plugin.model.Pager;
+
+public interface WebsiteConfigService {
+	WebsiteConfig add(WebsiteConfig record);
+
+	boolean delete(String id);
+
+	WebsiteConfig update(WebsiteConfig record);
+
+	WebsiteConfig get(String id);
+
+	Pager<WebsiteConfig> list(int page, int limit);
+
+	WebsiteConfig get();
+
+	int set(WebsiteConfig websiteConfig);
+}

+ 93 - 0
wms-center/src/main/java/com/lote/wms/base/website/service/impl/WebsiteConfigServiceImpl.java

@@ -0,0 +1,93 @@
+package com.lote.wms.base.website.service.impl;
+
+import com.lote.wms.base.website.dao.WebsiteConfigMapper;
+import com.lote.wms.base.website.entity.WebsiteConfig;
+import com.lote.wms.base.website.entity.WebsiteConfigCriteria.Criteria;
+import com.lote.wms.base.website.entity.WebsiteConfigCriteria;
+import com.lote.wms.base.website.service.WebsiteConfigService;
+import com.lote.wms.common.core.cache.redis.RedisClient;
+import com.lote.wms.common.core.db.IdWorkerAide;
+
+import java.util.List;
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service("websiteConfigService")
+public class WebsiteConfigServiceImpl implements WebsiteConfigService {
+	@Autowired
+	private WebsiteConfigMapper websiteConfigMapper;
+
+	private static final Logger logger = LoggerFactory.getLogger(WebsiteConfigServiceImpl.class);
+
+	public WebsiteConfig add(WebsiteConfig record) {
+		if (this.websiteConfigMapper.insertSelective(record) == 1)
+			return record;
+		return null;
+	}
+
+	public boolean delete(String id) {
+		return this.websiteConfigMapper.deleteByPrimaryKey(id) == 1;
+	}
+
+	public WebsiteConfig update(WebsiteConfig record) {
+		if (this.websiteConfigMapper.updateByPrimaryKeySelective(record) == 1)
+			return record;
+		return null;
+	}
+
+	public WebsiteConfig get(String id) {
+		return this.websiteConfigMapper.selectByPrimaryKey(id);
+	}
+
+	public Pager<WebsiteConfig> list(int page, int limit) {
+		WebsiteConfigCriteria criteria = new WebsiteConfigCriteria();
+		criteria.setPage(page);
+		criteria.setLimit(limit);
+		Criteria cri = criteria.createCriteria();
+		List<WebsiteConfig> list = websiteConfigMapper.selectByConditionList(criteria);
+		return PagerUtil.getPager(list, criteria);
+	}
+
+	@Override
+	public WebsiteConfig get() {
+		// 先从redis查询
+		String key = "WebsiteConfig-center";
+		WebsiteConfig config = (WebsiteConfig) RedisClient.getInstance().getObject(key);
+		if (config != null) {
+			return config;
+		}
+
+		WebsiteConfigCriteria criteria = new WebsiteConfigCriteria();
+		criteria.setPage(1);
+		criteria.setLimit(1);
+		Criteria cri = criteria.createCriteria();
+		List<WebsiteConfig> list = websiteConfigMapper.selectByConditionList(criteria);
+		if (list.size() != 0) {
+			config = list.get(0);
+
+			// 设置进redis
+			RedisClient.getInstance().setObject(key, config, 7200);
+
+			return config;
+		}
+
+		return new WebsiteConfig();
+	}
+
+	@Override
+	public int set(WebsiteConfig websiteConfig) {
+		// 删除全部
+		WebsiteConfigCriteria criteria = new WebsiteConfigCriteria();
+		Criteria cri = criteria.createCriteria();
+		cri.andIdIsNotNull();
+		websiteConfigMapper.deleteByCondition(criteria);
+		// 插入
+		websiteConfig.setId(IdWorkerAide.nextId());
+		add(websiteConfig);
+		return 1;
+	}
+}

+ 53 - 0
wms-center/src/main/java/com/lote/wms/common/mq/consumer/SyncCustomer.java

@@ -0,0 +1,53 @@
+package com.lote.wms.common.mq.consumer;
+
+import javax.annotation.Resource;
+import javax.jms.JMSException;
+import javax.jms.Session;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jms.annotation.JmsListener;
+import org.springframework.jms.listener.adapter.MessageListenerAdapter;
+import org.springframework.jms.support.converter.MessageConversionException;
+import org.springframework.stereotype.Component;
+
+import com.lote.wms.common.constants.QueueDefination;
+import com.lote.wms.common.model.JmsMessage;
+import com.lote.wms.common.utils.GsonUtil;
+import com.lote.wms.user.customer.dao.CustomerMapper;
+import com.lote.wms.user.customer.entity.Customer;
+import com.lote.wms.user.customer.entity.CustomerCriteria;
+
+/**
+ * 消息消费者
+ * 
+ * @author yechao
+ *
+ */
+@Component("syncCustomer")
+public class SyncCustomer extends MessageListenerAdapter {
+
+	private static final Logger log = LoggerFactory.getLogger(SyncCustomer.class);
+
+	@Resource
+	private CustomerMapper customerMapper;
+
+	@JmsListener(destination = QueueDefination.SYNC_CUSTOMER)
+	public void handleMessage(JmsMessage jmsMessage) throws JMSException {
+		try {
+			log.info("收到消息SYNC_CUSTOMER:" + GsonUtil.toJson(jmsMessage));
+
+			Customer customer = (Customer) jmsMessage.getData();
+
+			CustomerCriteria condition = new CustomerCriteria();
+			condition.createCriteria().andIdEqualTo(customer.getId());
+			if (customerMapper.countByCondition(condition) > 0) {
+				this.customerMapper.updateByPrimaryKeySelective(customer); // 更新
+			}
+		} catch (MessageConversionException e) {
+			e.printStackTrace();
+		}
+
+	}
+
+}

+ 57 - 0
wms-center/src/main/java/com/lote/wms/common/mq/consumer/SyncUser.java

@@ -0,0 +1,57 @@
+package com.lote.wms.common.mq.consumer;
+
+import javax.annotation.Resource;
+import javax.jms.JMSException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jms.annotation.JmsListener;
+import org.springframework.jms.listener.adapter.MessageListenerAdapter;
+import org.springframework.jms.support.converter.MessageConversionException;
+import org.springframework.stereotype.Component;
+
+import com.lote.wms.common.constants.QueueDefination;
+import com.lote.wms.common.model.JmsMessage;
+import com.lote.wms.common.utils.GsonUtil;
+import com.lote.wms.user.user.dao.UserMapper;
+import com.lote.wms.user.user.entity.User;
+import com.lote.wms.user.user.entity.UserCriteria;
+import com.lote.wms.user.user.service.UserService;
+
+/**
+ * 消息消费者
+ * 
+ * @author yechao
+ *
+ */
+@Component("syncUser")
+public class SyncUser extends MessageListenerAdapter {
+
+	private static final Logger log = LoggerFactory.getLogger(SyncUser.class);
+
+	@Resource
+	private UserService userService;
+
+	@Resource
+	private UserMapper userMapper;
+
+	@JmsListener(destination = QueueDefination.SYNC_USER)
+	public void handleMessage(JmsMessage jmsMessage) throws JMSException {
+		try {
+			log.info("收到消息SYNC_USER:" + GsonUtil.toJson(jmsMessage));
+
+			User user = (User) jmsMessage.getData();
+
+			UserCriteria condition = new UserCriteria();
+			condition.createCriteria().andIdEqualTo(user.getId());
+			if (userMapper.countByCondition(condition) > 0) {
+				this.userMapper.updateByPrimaryKeySelective(user); // 更新
+			}
+
+		} catch (MessageConversionException e) {
+			e.printStackTrace();
+		}
+
+	}
+
+}

+ 25 - 0
wms-center/src/main/java/com/lote/wms/config/RedisConfiguration.java

@@ -0,0 +1,25 @@
+package com.lote.wms.config;
+
+import com.lote.wms.common.core.cache.redis.RedisConfig;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+
+/**
+ * @author Scott Chen
+ * @date 2020-08-12
+ */
+@Configuration
+@PropertySource(value= {
+        "classpath:center/redis.properties"
+})
+public class RedisConfiguration {
+
+    @Bean
+    @ConfigurationProperties(prefix = "redis")
+    public RedisConfig redisConfig() {
+        return new RedisConfig();
+    }
+
+}

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است