首次提交

main
gaoshuguang 6 months ago
commit e6b9730f55

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="2946b0f1-7658-4cd7-b64c-b4cf9460f748" />
</component>
</module>

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AnalysisProjectProfileManager">
<option name="PROJECT_PROFILE" />
<option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
<list size="0" />
</component>
<component name="SuppressionsComponent">
<option name="suppComments" value="[]" />
</component>
</project>

@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="FxWxInfoQuery" />
</profile>
</annotationProcessing>
</component>
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
<module name="FxWxInfoQuery" options="-parameters" />
</option>
</component>
</project>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" defaultCharsetForPropertiesFiles="UTF-8">
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="PROJECT" charset="UTF-8" />
</component>
</project>

@ -0,0 +1,42 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="AlibabaVarargsParameter" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DuplicatedCode" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<Languages>
<language minSize="114" name="Java" />
</Languages>
</inspection_tool>
<inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
<option name="TOP_LEVEL_CLASS_OPTIONS">
<value>
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
<option name="REQUIRED_TAGS" value="" />
</value>
</option>
<option name="INNER_CLASS_OPTIONS">
<value>
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
<option name="REQUIRED_TAGS" value="" />
</value>
</option>
<option name="METHOD_OPTIONS">
<value>
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
<option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
</value>
</option>
<option name="FIELD_OPTIONS">
<value>
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
<option name="REQUIRED_TAGS" value="" />
</value>
</option>
<option name="IGNORE_DEPRECATED" value="false" />
<option name="IGNORE_JAVADOC_PERIOD" value="true" />
<option name="IGNORE_DUPLICATED_THROWS" value="false" />
<option name="IGNORE_POINT_TO_ITSELF" value="false" />
<option name="myAdditionalJavadocTags" value="Author,Date,Description,Author:,Date:,Description:,,Param:,return:,date,author:,date:,description:" />
</inspection_tool>
</profile>
</component>

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://maven.aliyun.com/repository/public" />
</remote-repository>
</component>
</project>

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="FindBugsConfigurable">
<option name="make" value="true" />
<option name="effort" value="default" />
<option name="priority" value="Medium" />
<option name="excludeFilter" value="" />
</component>
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
<component name="ProjectType">
<option name="id" value="jpab" />
</component>
<component name="SuppressionsComponent">
<option name="suppComments" value="[]" />
</component>
</project>

@ -0,0 +1,465 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AnalysisProjectProfileManager">
<option name="PROJECT_PROFILE" value="Project Default" />
<option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
<scopes />
<profiles>
<profile profile_name="Project Default" version="1.0" is_locked="false">
<coding_rule class="AM_CREATES_EMPTY_JAR_FILE_ENTRY" level="MAJOR" enabled="true" />
<coding_rule class="AM_CREATES_EMPTY_ZIP_FILE_ENTRY" level="MAJOR" enabled="true" />
<coding_rule class="AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION" level="CRITICAL" enabled="false" />
<coding_rule class="BAC_BAD_APPLET_CONSTRUCTOR" level="MAJOR" enabled="false" />
<coding_rule class="BC_BAD_CAST_TO_ABSTRACT_COLLECTION" level="MAJOR" enabled="true" />
<coding_rule class="BC_BAD_CAST_TO_CONCRETE_COLLECTION" level="CRITICAL" enabled="true" />
<coding_rule class="BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS" level="CRITICAL" enabled="true" />
<coding_rule class="BC_IMPOSSIBLE_CAST" level="BLOCKER" enabled="true" />
<coding_rule class="BC_IMPOSSIBLE_DOWNCAST" level="MAJOR" enabled="false" />
<coding_rule class="BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY" level="MAJOR" enabled="false" />
<coding_rule class="BC_IMPOSSIBLE_INSTANCEOF" level="CRITICAL" enabled="true" />
<coding_rule class="BC_UNCONFIRMED_CAST" level="CRITICAL" enabled="true" />
<coding_rule class="BC_UNCONFIRMED_CAST_OF_RETURN_VALUE" level="CRITICAL" enabled="false" />
<coding_rule class="BC_VACUOUS_INSTANCEOF" level="CRITICAL" enabled="true" />
<coding_rule class="BIT_ADD_OF_SIGNED_BYTE" level="CRITICAL" enabled="true" />
<coding_rule class="BIT_AND" level="CRITICAL" enabled="true" />
<coding_rule class="BIT_AND_ZZ" level="CRITICAL" enabled="true" />
<coding_rule class="BIT_IOR" level="CRITICAL" enabled="true" />
<coding_rule class="BIT_IOR_OF_SIGNED_BYTE" level="CRITICAL" enabled="true" />
<coding_rule class="BIT_SIGNED_CHECK" level="CRITICAL" enabled="true" />
<coding_rule class="BIT_SIGNED_CHECK_HIGH_BIT" level="CRITICAL" enabled="true" />
<coding_rule class="BOA_BADLY_OVERRIDDEN_ADAPTER" level="CRITICAL" enabled="true" />
<coding_rule class="BSHIFT_WRONG_ADD_PRIORITY" level="MAJOR" enabled="false" />
<coding_rule class="BX_BOXING_IMMEDIATELY_UNBOXED" level="MAJOR" enabled="true" />
<coding_rule class="BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION" level="MAJOR" enabled="true" />
<coding_rule class="BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR" level="MAJOR" enabled="true" />
<coding_rule class="BX_UNBOXING_IMMEDIATELY_REBOXED" level="CRITICAL" enabled="false" />
<coding_rule class="CAA_COVARIANT_ARRAY_ELEMENT_STORE" level="MAJOR" enabled="false" />
<coding_rule class="CAA_COVARIANT_ARRAY_FIELD" level="MAJOR" enabled="false" />
<coding_rule class="CAA_COVARIANT_ARRAY_LOCAL" level="MAJOR" enabled="false" />
<coding_rule class="CAA_COVARIANT_ARRAY_RETURN" level="MAJOR" enabled="false" />
<coding_rule class="CD_CIRCULAR_DEPENDENCY" level="MAJOR" enabled="false" />
<coding_rule class="CI_CONFUSED_INHERITANCE" level="MINOR" enabled="true" />
<coding_rule class="CNT_ROUGH_CONSTANT_VALUE" level="MAJOR" enabled="false" />
<coding_rule class="CN_IDIOM" level="MAJOR" enabled="true" />
<coding_rule class="CN_IDIOM_NO_SUPER_CALL" level="MAJOR" enabled="true" />
<coding_rule class="CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE" level="MAJOR" enabled="true" />
<coding_rule class="CO_ABSTRACT_SELF" level="MAJOR" enabled="true" />
<coding_rule class="CO_COMPARETO_INCORRECT_FLOATING" level="MAJOR" enabled="false" />
<coding_rule class="CO_COMPARETO_RESULTS_MIN_VALUE" level="CRITICAL" enabled="false" />
<coding_rule class="CO_SELF_NO_OBJECT" level="MAJOR" enabled="true" />
<coding_rule class="DB_DUPLICATE_BRANCHES" level="CRITICAL" enabled="true" />
<coding_rule class="DB_DUPLICATE_SWITCH_CLAUSES" level="CRITICAL" enabled="true" />
<coding_rule class="DC_DOUBLECHECK" level="MAJOR" enabled="true" />
<coding_rule class="DC_PARTIALLY_CONSTRUCTED" level="MAJOR" enabled="false" />
<coding_rule class="DE_MIGHT_DROP" level="MAJOR" enabled="true" />
<coding_rule class="DE_MIGHT_IGNORE" level="MAJOR" enabled="true" />
<coding_rule class="DLS_DEAD_LOCAL_INCREMENT_IN_RETURN" level="MAJOR" enabled="false" />
<coding_rule class="DLS_DEAD_LOCAL_STORE" level="CRITICAL" enabled="true" />
<coding_rule class="DLS_DEAD_LOCAL_STORE_IN_RETURN" level="CRITICAL" enabled="true" />
<coding_rule class="DLS_DEAD_LOCAL_STORE_OF_NULL" level="CRITICAL" enabled="true" />
<coding_rule class="DLS_DEAD_LOCAL_STORE_SHADOWS_FIELD" level="CRITICAL" enabled="false" />
<coding_rule class="DLS_DEAD_STORE_OF_CLASS_LITERAL" level="CRITICAL" enabled="true" />
<coding_rule class="DLS_OVERWRITTEN_INCREMENT" level="CRITICAL" enabled="true" />
<coding_rule class="DL_SYNCHRONIZATION_ON_BOOLEAN" level="CRITICAL" enabled="true" />
<coding_rule class="DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE" level="CRITICAL" enabled="true" />
<coding_rule class="DL_SYNCHRONIZATION_ON_SHARED_CONSTANT" level="CRITICAL" enabled="true" />
<coding_rule class="DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION" level="MAJOR" enabled="true" />
<coding_rule class="DMI_ARGUMENTS_WRONG_ORDER" level="CRITICAL" enabled="false" />
<coding_rule class="DMI_BAD_MONTH" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE" level="CRITICAL" enabled="false" />
<coding_rule class="DMI_BLOCKING_METHODS_ON_URL" level="BLOCKER" enabled="true" />
<coding_rule class="DMI_CALLING_NEXT_FROM_HASNEXT" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_COLLECTION_OF_URLS" level="BLOCKER" enabled="true" />
<coding_rule class="DMI_CONSTANT_DB_PASSWORD" level="BLOCKER" enabled="true" />
<coding_rule class="DMI_DOH" level="CRITICAL" enabled="false" />
<coding_rule class="DMI_EMPTY_DB_PASSWORD" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS" level="CRITICAL" enabled="false" />
<coding_rule class="DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR" level="MINOR" enabled="true" />
<coding_rule class="DMI_HARDCODED_ABSOLUTE_FILENAME" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_INVOKING_HASHCODE_ON_ARRAY" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_INVOKING_TOSTRING_ON_ARRAY" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_NONSERIALIZABLE_OBJECT_WRITTEN" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_RANDOM_USED_ONLY_ONCE" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS" level="MINOR" enabled="true" />
<coding_rule class="DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED" level="MAJOR" enabled="true" />
<coding_rule class="DMI_UNSUPPORTED_METHOD" level="MAJOR" enabled="true" />
<coding_rule class="DMI_USELESS_SUBSTRING" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION" level="CRITICAL" enabled="true" />
<coding_rule class="DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD" level="MINOR" enabled="true" />
<coding_rule class="DMI_VACUOUS_SELF_COLLECTION_CALL" level="CRITICAL" enabled="true" />
<coding_rule class="DM_BOOLEAN_CTOR" level="MAJOR" enabled="true" />
<coding_rule class="DM_BOXED_PRIMITIVE_FOR_COMPARE" level="MAJOR" enabled="false" />
<coding_rule class="DM_BOXED_PRIMITIVE_FOR_PARSING" level="MAJOR" enabled="false" />
<coding_rule class="DM_BOXED_PRIMITIVE_TOSTRING" level="MAJOR" enabled="true" />
<coding_rule class="DM_CONVERT_CASE" level="INFO" enabled="true" />
<coding_rule class="DM_DEFAULT_ENCODING" level="CRITICAL" enabled="false" />
<coding_rule class="DM_EXIT" level="MAJOR" enabled="true" />
<coding_rule class="DM_FP_NUMBER_CTOR" level="MAJOR" enabled="true" />
<coding_rule class="DM_GC" level="MAJOR" enabled="true" />
<coding_rule class="DM_INVALID_MIN_MAX" level="MAJOR" enabled="false" />
<coding_rule class="DM_MONITOR_WAIT_ON_CONDITION" level="MAJOR" enabled="true" />
<coding_rule class="DM_NEW_FOR_GETCLASS" level="MAJOR" enabled="true" />
<coding_rule class="DM_NEXTINT_VIA_NEXTDOUBLE" level="MAJOR" enabled="true" />
<coding_rule class="DM_NUMBER_CTOR" level="CRITICAL" enabled="true" />
<coding_rule class="DM_RUN_FINALIZERS_ON_EXIT" level="MAJOR" enabled="true" />
<coding_rule class="DM_STRING_CTOR" level="MAJOR" enabled="true" />
<coding_rule class="DM_STRING_TOSTRING" level="INFO" enabled="true" />
<coding_rule class="DM_STRING_VOID_CTOR" level="MAJOR" enabled="true" />
<coding_rule class="DM_USELESS_THREAD" level="MAJOR" enabled="true" />
<coding_rule class="DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED" level="MAJOR" enabled="true" />
<coding_rule class="DP_DO_INSIDE_DO_PRIVILEGED" level="MAJOR" enabled="true" />
<coding_rule class="EC_ARRAY_AND_NONARRAY" level="CRITICAL" enabled="true" />
<coding_rule class="EC_BAD_ARRAY_COMPARE" level="CRITICAL" enabled="true" />
<coding_rule class="EC_INCOMPATIBLE_ARRAY_COMPARE" level="MAJOR" enabled="false" />
<coding_rule class="EC_NULL_ARG" level="CRITICAL" enabled="true" />
<coding_rule class="EC_UNRELATED_CLASS_AND_INTERFACE" level="CRITICAL" enabled="true" />
<coding_rule class="EC_UNRELATED_INTERFACES" level="CRITICAL" enabled="true" />
<coding_rule class="EC_UNRELATED_TYPES" level="CRITICAL" enabled="true" />
<coding_rule class="EC_UNRELATED_TYPES_USING_POINTER_EQUALITY" level="CRITICAL" enabled="true" />
<coding_rule class="EI_EXPOSE_REP" level="MAJOR" enabled="true" />
<coding_rule class="EI_EXPOSE_REP2" level="MAJOR" enabled="true" />
<coding_rule class="EI_EXPOSE_STATIC_REP2" level="MAJOR" enabled="true" />
<coding_rule class="EQ_ABSTRACT_SELF" level="MAJOR" enabled="true" />
<coding_rule class="EQ_ALWAYS_FALSE" level="BLOCKER" enabled="true" />
<coding_rule class="EQ_ALWAYS_TRUE" level="BLOCKER" enabled="true" />
<coding_rule class="EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS" level="MAJOR" enabled="true" />
<coding_rule class="EQ_COMPARETO_USE_OBJECT_EQUALS" level="CRITICAL" enabled="true" />
<coding_rule class="EQ_COMPARING_CLASS_NAMES" level="MAJOR" enabled="true" />
<coding_rule class="EQ_DOESNT_OVERRIDE_EQUALS" level="MAJOR" enabled="false" />
<coding_rule class="EQ_DONT_DEFINE_EQUALS_FOR_ENUM" level="MAJOR" enabled="true" />
<coding_rule class="EQ_GETCLASS_AND_CLASS_CONSTANT" level="CRITICAL" enabled="true" />
<coding_rule class="EQ_OTHER_NO_OBJECT" level="MAJOR" enabled="true" />
<coding_rule class="EQ_OTHER_USE_OBJECT" level="MAJOR" enabled="true" />
<coding_rule class="EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC" level="MAJOR" enabled="true" />
<coding_rule class="EQ_SELF_NO_OBJECT" level="MAJOR" enabled="true" />
<coding_rule class="EQ_SELF_USE_OBJECT" level="MAJOR" enabled="true" />
<coding_rule class="EQ_UNUSUAL" level="MINOR" enabled="true" />
<coding_rule class="ES_COMPARING_PARAMETER_STRING_WITH_EQ" level="MAJOR" enabled="true" />
<coding_rule class="ES_COMPARING_STRINGS_WITH_EQ" level="MAJOR" enabled="true" />
<coding_rule class="ESync_EMPTY_SYNC" level="MAJOR" enabled="true" />
<coding_rule class="FB_MISSING_EXPECTED_WARNING" level="CRITICAL" enabled="false" />
<coding_rule class="FB_UNEXPECTED_WARNING" level="CRITICAL" enabled="false" />
<coding_rule class="FE_FLOATING_POINT_EQUALITY" level="CRITICAL" enabled="true" />
<coding_rule class="FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER" level="CRITICAL" enabled="true" />
<coding_rule class="FI_EMPTY" level="MAJOR" enabled="true" />
<coding_rule class="FI_EXPLICIT_INVOCATION" level="MAJOR" enabled="true" />
<coding_rule class="FI_FINALIZER_NULLS_FIELDS" level="MAJOR" enabled="true" />
<coding_rule class="FI_FINALIZER_ONLY_NULLS_FIELDS" level="MAJOR" enabled="true" />
<coding_rule class="FI_MISSING_SUPER_CALL" level="MAJOR" enabled="true" />
<coding_rule class="FI_NULLIFY_SUPER" level="CRITICAL" enabled="true" />
<coding_rule class="FI_PUBLIC_SHOULD_BE_PROTECTED" level="MAJOR" enabled="true" />
<coding_rule class="FI_USELESS" level="MINOR" enabled="true" />
<coding_rule class="FL_MATH_USING_FLOAT_PRECISION" level="CRITICAL" enabled="true" />
<coding_rule class="GC_UNCHECKED_TYPE_IN_GENERIC_CALL" level="CRITICAL" enabled="true" />
<coding_rule class="GC_UNRELATED_TYPES" level="CRITICAL" enabled="true" />
<coding_rule class="HE_EQUALS_NO_HASHCODE" level="MAJOR" enabled="true" />
<coding_rule class="HE_EQUALS_USE_HASHCODE" level="CRITICAL" enabled="true" />
<coding_rule class="HE_HASHCODE_NO_EQUALS" level="CRITICAL" enabled="true" />
<coding_rule class="HE_HASHCODE_USE_OBJECT_EQUALS" level="CRITICAL" enabled="true" />
<coding_rule class="HE_INHERITS_EQUALS_USE_HASHCODE" level="CRITICAL" enabled="true" />
<coding_rule class="HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS" level="CRITICAL" enabled="true" />
<coding_rule class="HE_USE_OF_UNHASHABLE_CLASS" level="CRITICAL" enabled="true" />
<coding_rule class="HRS_REQUEST_PARAMETER_TO_COOKIE" level="MAJOR" enabled="true" />
<coding_rule class="HRS_REQUEST_PARAMETER_TO_HTTP_HEADER" level="MAJOR" enabled="true" />
<coding_rule class="HSC_HUGE_SHARED_STRING_CONSTANT" level="CRITICAL" enabled="true" />
<coding_rule class="IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD" level="MAJOR" enabled="true" />
<coding_rule class="ICAST_BAD_SHIFT_AMOUNT" level="CRITICAL" enabled="true" />
<coding_rule class="ICAST_IDIV_CAST_TO_DOUBLE" level="CRITICAL" enabled="true" />
<coding_rule class="ICAST_INTEGER_MULTIPLY_CAST_TO_LONG" level="CRITICAL" enabled="true" />
<coding_rule class="ICAST_INT_2_LONG_AS_INSTANT" level="CRITICAL" enabled="false" />
<coding_rule class="ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL" level="CRITICAL" enabled="true" />
<coding_rule class="ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND" level="CRITICAL" enabled="true" />
<coding_rule class="ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT" level="CRITICAL" enabled="true" />
<coding_rule class="IC_INIT_CIRCULARITY" level="CRITICAL" enabled="true" />
<coding_rule class="IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION" level="MAJOR" enabled="true" />
<coding_rule class="IIL_ELEMENTS_GET_LENGTH_IN_LOOP" level="MAJOR" enabled="false" />
<coding_rule class="IIL_PATTERN_COMPILE_IN_LOOP" level="MAJOR" enabled="false" />
<coding_rule class="IIL_PATTERN_COMPILE_IN_LOOP_INDIRECT" level="MAJOR" enabled="false" />
<coding_rule class="IIL_PREPARE_STATEMENT_IN_LOOP" level="MAJOR" enabled="false" />
<coding_rule class="IIO_INEFFICIENT_INDEX_OF" level="MAJOR" enabled="false" />
<coding_rule class="IIO_INEFFICIENT_LAST_INDEX_OF" level="MAJOR" enabled="false" />
<coding_rule class="IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD" level="CRITICAL" enabled="true" />
<coding_rule class="IJU_BAD_SUITE_METHOD" level="CRITICAL" enabled="true" />
<coding_rule class="IJU_NO_TESTS" level="CRITICAL" enabled="true" />
<coding_rule class="IJU_SETUP_NO_SUPER" level="CRITICAL" enabled="true" />
<coding_rule class="IJU_SUITE_NOT_STATIC" level="CRITICAL" enabled="true" />
<coding_rule class="IJU_TEARDOWN_NO_SUPER" level="CRITICAL" enabled="true" />
<coding_rule class="IL_CONTAINER_ADDED_TO_ITSELF" level="CRITICAL" enabled="true" />
<coding_rule class="IL_INFINITE_LOOP" level="CRITICAL" enabled="true" />
<coding_rule class="IL_INFINITE_RECURSIVE_LOOP" level="CRITICAL" enabled="true" />
<coding_rule class="IMA_INEFFICIENT_MEMBER_ACCESS" level="MAJOR" enabled="false" />
<coding_rule class="IMSE_DONT_CATCH_IMSE" level="MAJOR" enabled="true" />
<coding_rule class="IM_AVERAGE_COMPUTATION_COULD_OVERFLOW" level="CRITICAL" enabled="true" />
<coding_rule class="IM_BAD_CHECK_FOR_ODD" level="CRITICAL" enabled="true" />
<coding_rule class="IM_MULTIPLYING_RESULT_OF_IREM" level="CRITICAL" enabled="true" />
<coding_rule class="INT_BAD_COMPARISON_WITH_INT_VALUE" level="CRITICAL" enabled="false" />
<coding_rule class="INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE" level="CRITICAL" enabled="true" />
<coding_rule class="INT_BAD_COMPARISON_WITH_SIGNED_BYTE" level="CRITICAL" enabled="true" />
<coding_rule class="INT_BAD_REM_BY_1" level="CRITICAL" enabled="true" />
<coding_rule class="INT_VACUOUS_BIT_OPERATION" level="CRITICAL" enabled="true" />
<coding_rule class="INT_VACUOUS_COMPARISON" level="CRITICAL" enabled="true" />
<coding_rule class="IO_APPENDING_TO_OBJECT_OUTPUT_STREAM" level="CRITICAL" enabled="true" />
<coding_rule class="IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN" level="CRITICAL" enabled="true" />
<coding_rule class="IS2_INCONSISTENT_SYNC" level="CRITICAL" enabled="true" />
<coding_rule class="ISC_INSTANTIATE_STATIC_CLASS" level="MAJOR" enabled="true" />
<coding_rule class="IS_FIELD_NOT_GUARDED" level="CRITICAL" enabled="true" />
<coding_rule class="ITA_INEFFICIENT_TO_ARRAY" level="CRITICAL" enabled="true" />
<coding_rule class="IT_NO_SUCH_ELEMENT" level="MINOR" enabled="true" />
<coding_rule class="J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION" level="CRITICAL" enabled="true" />
<coding_rule class="JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS" level="MINOR" enabled="true" />
<coding_rule class="JLM_JSR166_LOCK_MONITORENTER" level="CRITICAL" enabled="true" />
<coding_rule class="JLM_JSR166_UTILCONCURRENT_MONITORENTER" level="CRITICAL" enabled="false" />
<coding_rule class="JML_JSR166_CALLING_WAIT_RATHER_THAN_AWAIT" level="CRITICAL" enabled="false" />
<coding_rule class="LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE" level="MAJOR" enabled="false" />
<coding_rule class="LI_LAZY_INIT_STATIC" level="CRITICAL" enabled="true" />
<coding_rule class="LI_LAZY_INIT_UPDATE_STATIC" level="CRITICAL" enabled="true" />
<coding_rule class="ME_ENUM_FIELD_SETTER" level="MAJOR" enabled="false" />
<coding_rule class="ME_MUTABLE_ENUM_FIELD" level="MAJOR" enabled="false" />
<coding_rule class="MF_CLASS_MASKS_FIELD" level="MAJOR" enabled="true" />
<coding_rule class="MF_METHOD_MASKS_FIELD" level="MAJOR" enabled="true" />
<coding_rule class="ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD" level="MAJOR" enabled="true" />
<coding_rule class="ML_SYNC_ON_UPDATED_FIELD" level="MAJOR" enabled="true" />
<coding_rule class="MSF_MUTABLE_SERVLET_FIELD" level="MAJOR" enabled="true" />
<coding_rule class="MS_CANNOT_BE_FINAL" level="MAJOR" enabled="true" />
<coding_rule class="MS_EXPOSE_REP" level="CRITICAL" enabled="true" />
<coding_rule class="MS_FINAL_PKGPROTECT" level="MAJOR" enabled="true" />
<coding_rule class="MS_MUTABLE_ARRAY" level="MAJOR" enabled="true" />
<coding_rule class="MS_MUTABLE_COLLECTION" level="MAJOR" enabled="false" />
<coding_rule class="MS_MUTABLE_COLLECTION_PKGPROTECT" level="MAJOR" enabled="false" />
<coding_rule class="MS_MUTABLE_HASHTABLE" level="MAJOR" enabled="true" />
<coding_rule class="MS_OOI_PKGPROTECT" level="MAJOR" enabled="true" />
<coding_rule class="MS_PKGPROTECT" level="MAJOR" enabled="true" />
<coding_rule class="MS_SHOULD_BE_FINAL" level="MAJOR" enabled="true" />
<coding_rule class="MS_SHOULD_BE_REFACTORED_TO_BE_FINAL" level="CRITICAL" enabled="false" />
<coding_rule class="MTIA_SUSPECT_SERVLET_INSTANCE_FIELD" level="CRITICAL" enabled="true" />
<coding_rule class="MTIA_SUSPECT_STRUTS_INSTANCE_FIELD" level="CRITICAL" enabled="true" />
<coding_rule class="MWN_MISMATCHED_NOTIFY" level="CRITICAL" enabled="true" />
<coding_rule class="MWN_MISMATCHED_WAIT" level="CRITICAL" enabled="true" />
<coding_rule class="NM_BAD_EQUAL" level="MAJOR" enabled="false" />
<coding_rule class="NM_CLASS_NAMING_CONVENTION" level="MAJOR" enabled="false" />
<coding_rule class="NM_CLASS_NOT_EXCEPTION" level="MAJOR" enabled="true" />
<coding_rule class="NM_CONFUSING" level="MAJOR" enabled="true" />
<coding_rule class="NM_FIELD_NAMING_CONVENTION" level="MAJOR" enabled="false" />
<coding_rule class="NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER" level="MAJOR" enabled="true" />
<coding_rule class="NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER" level="MAJOR" enabled="true" />
<coding_rule class="NM_LCASE_HASHCODE" level="MAJOR" enabled="false" />
<coding_rule class="NM_LCASE_TOSTRING" level="MAJOR" enabled="false" />
<coding_rule class="NM_METHOD_CONSTRUCTOR_CONFUSION" level="MAJOR" enabled="true" />
<coding_rule class="NM_METHOD_NAMING_CONVENTION" level="MAJOR" enabled="false" />
<coding_rule class="NM_SAME_SIMPLE_NAME_AS_INTERFACE" level="MAJOR" enabled="true" />
<coding_rule class="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS" level="MAJOR" enabled="true" />
<coding_rule class="NM_VERY_CONFUSING" level="MAJOR" enabled="true" />
<coding_rule class="NM_VERY_CONFUSING_INTENTIONAL" level="MAJOR" enabled="true" />
<coding_rule class="NM_WRONG_PACKAGE" level="MAJOR" enabled="true" />
<coding_rule class="NM_WRONG_PACKAGE_INTENTIONAL" level="MAJOR" enabled="true" />
<coding_rule class="NN_NAKED_NOTIFY" level="CRITICAL" enabled="true" />
<coding_rule class="NOISE_FIELD_REFERENCE" level="MAJOR" enabled="false" />
<coding_rule class="NOISE_METHOD_CALL" level="MAJOR" enabled="false" />
<coding_rule class="NOISE_NULL_DEREFERENCE" level="MAJOR" enabled="false" />
<coding_rule class="NOISE_OPERATION" level="MAJOR" enabled="false" />
<coding_rule class="NO_NOTIFY_NOT_NOTIFYALL" level="CRITICAL" enabled="true" />
<coding_rule class="NP_ALWAYS_NULL" level="CRITICAL" enabled="true" />
<coding_rule class="NP_ALWAYS_NULL_EXCEPTION" level="CRITICAL" enabled="true" />
<coding_rule class="NP_ARGUMENT_MIGHT_BE_NULL" level="MAJOR" enabled="true" />
<coding_rule class="NP_BOOLEAN_RETURN_NULL" level="MAJOR" enabled="true" />
<coding_rule class="NP_CLONE_COULD_RETURN_NULL" level="CRITICAL" enabled="true" />
<coding_rule class="NP_CLOSING_NULL" level="MAJOR" enabled="false" />
<coding_rule class="NP_DEREFERENCE_OF_READLINE_VALUE" level="CRITICAL" enabled="true" />
<coding_rule class="NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT" level="CRITICAL" enabled="true" />
<coding_rule class="NP_GUARANTEED_DEREF" level="BLOCKER" enabled="true" />
<coding_rule class="NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH" level="CRITICAL" enabled="true" />
<coding_rule class="NP_IMMEDIATE_DEREFERENCE_OF_READLINE" level="CRITICAL" enabled="true" />
<coding_rule class="NP_LOAD_OF_KNOWN_NULL_VALUE" level="CRITICAL" enabled="true" />
<coding_rule class="NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION" level="MAJOR" enabled="false" />
<coding_rule class="NP_METHOD_RETURN_RELAXING_ANNOTATION" level="MAJOR" enabled="false" />
<coding_rule class="NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR" level="CRITICAL" enabled="false" />
<coding_rule class="NP_NONNULL_PARAM_VIOLATION" level="CRITICAL" enabled="true" />
<coding_rule class="NP_NONNULL_RETURN_VIOLATION" level="CRITICAL" enabled="true" />
<coding_rule class="NP_NULL_INSTANCEOF" level="BLOCKER" enabled="true" />
<coding_rule class="NP_NULL_ON_SOME_PATH" level="CRITICAL" enabled="true" />
<coding_rule class="NP_NULL_ON_SOME_PATH_EXCEPTION" level="CRITICAL" enabled="true" />
<coding_rule class="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE" level="CRITICAL" enabled="true" />
<coding_rule class="NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE" level="CRITICAL" enabled="true" />
<coding_rule class="NP_NULL_PARAM_DEREF" level="CRITICAL" enabled="true" />
<coding_rule class="NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS" level="CRITICAL" enabled="true" />
<coding_rule class="NP_NULL_PARAM_DEREF_NONVIRTUAL" level="CRITICAL" enabled="true" />
<coding_rule class="NP_OPTIONAL_RETURN_NULL" level="MAJOR" enabled="false" />
<coding_rule class="NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE" level="CRITICAL" enabled="true" />
<coding_rule class="NP_STORE_INTO_NONNULL_FIELD" level="CRITICAL" enabled="true" />
<coding_rule class="NP_SYNC_AND_NULL_CHECK_FIELD" level="MAJOR" enabled="true" />
<coding_rule class="NP_TOSTRING_COULD_RETURN_NULL" level="CRITICAL" enabled="true" />
<coding_rule class="NP_UNWRITTEN_FIELD" level="MAJOR" enabled="false" />
<coding_rule class="NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD" level="CRITICAL" enabled="false" />
<coding_rule class="NS_DANGEROUS_NON_SHORT_CIRCUIT" level="CRITICAL" enabled="true" />
<coding_rule class="NS_NON_SHORT_CIRCUIT" level="MAJOR" enabled="true" />
<coding_rule class="OBL_UNSATISFIED_OBLIGATION" level="CRITICAL" enabled="false" />
<coding_rule class="OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE" level="CRITICAL" enabled="false" />
<coding_rule class="ODR_OPEN_DATABASE_RESOURCE" level="CRITICAL" enabled="true" />
<coding_rule class="ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH" level="CRITICAL" enabled="true" />
<coding_rule class="OS_OPEN_STREAM" level="CRITICAL" enabled="true" />
<coding_rule class="OS_OPEN_STREAM_EXCEPTION_PATH" level="CRITICAL" enabled="true" />
<coding_rule class="PS_PUBLIC_SEMAPHORES" level="CRITICAL" enabled="true" />
<coding_rule class="PT_ABSOLUTE_PATH_TRAVERSAL" level="CRITICAL" enabled="false" />
<coding_rule class="PT_RELATIVE_PATH_TRAVERSAL" level="CRITICAL" enabled="false" />
<coding_rule class="PZLA_PREFER_ZERO_LENGTH_ARRAYS" level="MAJOR" enabled="true" />
<coding_rule class="PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS" level="CRITICAL" enabled="false" />
<coding_rule class="QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT" level="CRITICAL" enabled="true" />
<coding_rule class="QF_QUESTIONABLE_FOR_LOOP" level="CRITICAL" enabled="true" />
<coding_rule class="RANGE_ARRAY_INDEX" level="MAJOR" enabled="false" />
<coding_rule class="RANGE_ARRAY_LENGTH" level="MAJOR" enabled="false" />
<coding_rule class="RANGE_ARRAY_OFFSET" level="MAJOR" enabled="false" />
<coding_rule class="RANGE_STRING_INDEX" level="MAJOR" enabled="false" />
<coding_rule class="RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE" level="CRITICAL" enabled="true" />
<coding_rule class="RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES" level="CRITICAL" enabled="true" />
<coding_rule class="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" level="CRITICAL" enabled="true" />
<coding_rule class="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE" level="CRITICAL" enabled="true" />
<coding_rule class="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE" level="CRITICAL" enabled="true" />
<coding_rule class="RC_REF_COMPARISON" level="CRITICAL" enabled="true" />
<coding_rule class="RC_REF_COMPARISON_BAD_PRACTICE" level="MAJOR" enabled="false" />
<coding_rule class="RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN" level="MAJOR" enabled="false" />
<coding_rule class="REC_CATCH_EXCEPTION" level="MAJOR" enabled="true" />
<coding_rule class="RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION" level="CRITICAL" enabled="true" />
<coding_rule class="RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION" level="CRITICAL" enabled="true" />
<coding_rule class="RE_POSSIBLE_UNINTENDED_PATTERN" level="CRITICAL" enabled="true" />
<coding_rule class="RI_REDUNDANT_INTERFACES" level="MAJOR" enabled="true" />
<coding_rule class="RR_NOT_CHECKED" level="MAJOR" enabled="true" />
<coding_rule class="RS_READOBJECT_SYNC" level="CRITICAL" enabled="true" />
<coding_rule class="RU_INVOKE_RUN" level="MAJOR" enabled="true" />
<coding_rule class="RV_01_TO_INT" level="MAJOR" enabled="true" />
<coding_rule class="RV_ABSOLUTE_VALUE_OF_HASHCODE" level="CRITICAL" enabled="true" />
<coding_rule class="RV_ABSOLUTE_VALUE_OF_RANDOM_INT" level="CRITICAL" enabled="true" />
<coding_rule class="RV_CHECK_COMPARETO_FOR_SPECIFIC_RETURN_VALUE" level="CRITICAL" enabled="false" />
<coding_rule class="RV_CHECK_FOR_POSITIVE_INDEXOF" level="MINOR" enabled="true" />
<coding_rule class="RV_DONT_JUST_NULL_CHECK_READLINE" level="MAJOR" enabled="true" />
<coding_rule class="RV_EXCEPTION_NOT_THROWN" level="CRITICAL" enabled="true" />
<coding_rule class="RV_NEGATING_RESULT_OF_COMPARETO" level="CRITICAL" enabled="false" />
<coding_rule class="RV_REM_OF_HASHCODE" level="CRITICAL" enabled="true" />
<coding_rule class="RV_REM_OF_RANDOM_INT" level="CRITICAL" enabled="true" />
<coding_rule class="RV_RETURN_VALUE_IGNORED" level="MINOR" enabled="true" />
<coding_rule class="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE" level="MAJOR" enabled="true" />
<coding_rule class="RV_RETURN_VALUE_IGNORED_INFERRED" level="CRITICAL" enabled="false" />
<coding_rule class="RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT" level="MAJOR" enabled="false" />
<coding_rule class="RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED" level="MAJOR" enabled="false" />
<coding_rule class="RpC_REPEATED_CONDITIONAL_TEST" level="MAJOR" enabled="true" />
<coding_rule class="SA_FIELD_DOUBLE_ASSIGNMENT" level="CRITICAL" enabled="true" />
<coding_rule class="SA_FIELD_SELF_ASSIGNMENT" level="CRITICAL" enabled="true" />
<coding_rule class="SA_FIELD_SELF_COMPARISON" level="CRITICAL" enabled="true" />
<coding_rule class="SA_FIELD_SELF_COMPUTATION" level="CRITICAL" enabled="true" />
<coding_rule class="SA_LOCAL_DOUBLE_ASSIGNMENT" level="CRITICAL" enabled="true" />
<coding_rule class="SA_LOCAL_SELF_ASSIGNMENT" level="CRITICAL" enabled="true" />
<coding_rule class="SA_LOCAL_SELF_ASSIGNMENT_INSTEAD_OF_FIELD" level="CRITICAL" enabled="false" />
<coding_rule class="SA_LOCAL_SELF_COMPARISON" level="CRITICAL" enabled="true" />
<coding_rule class="SA_LOCAL_SELF_COMPUTATION" level="CRITICAL" enabled="true" />
<coding_rule class="SBSC_USE_STRINGBUFFER_CONCATENATION" level="CRITICAL" enabled="true" />
<coding_rule class="SC_START_IN_CTOR" level="CRITICAL" enabled="true" />
<coding_rule class="SE_BAD_FIELD" level="MINOR" enabled="false" />
<coding_rule class="SE_BAD_FIELD_INNER_CLASS" level="MINOR" enabled="true" />
<coding_rule class="SE_BAD_FIELD_STORE" level="CRITICAL" enabled="true" />
<coding_rule class="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE" level="MAJOR" enabled="true" />
<coding_rule class="SE_INNER_CLASS" level="MAJOR" enabled="true" />
<coding_rule class="SE_METHOD_MUST_BE_PRIVATE" level="MAJOR" enabled="true" />
<coding_rule class="SE_NONFINAL_SERIALVERSIONID" level="CRITICAL" enabled="true" />
<coding_rule class="SE_NONLONG_SERIALVERSIONID" level="MAJOR" enabled="true" />
<coding_rule class="SE_NONSTATIC_SERIALVERSIONID" level="MAJOR" enabled="true" />
<coding_rule class="SE_NO_SERIALVERSIONID" level="MAJOR" enabled="true" />
<coding_rule class="SE_NO_SUITABLE_CONSTRUCTOR" level="MAJOR" enabled="true" />
<coding_rule class="SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION" level="MAJOR" enabled="true" />
<coding_rule class="SE_PRIVATE_READ_RESOLVE_NOT_INHERITED" level="MAJOR" enabled="true" />
<coding_rule class="SE_READ_RESOLVE_IS_STATIC" level="MAJOR" enabled="true" />
<coding_rule class="SE_READ_RESOLVE_MUST_RETURN_OBJECT" level="MAJOR" enabled="true" />
<coding_rule class="SE_TRANSIENT_FIELD_NOT_RESTORED" level="MAJOR" enabled="true" />
<coding_rule class="SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS" level="MAJOR" enabled="true" />
<coding_rule class="SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH" level="MAJOR" enabled="false" />
<coding_rule class="SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW" level="MAJOR" enabled="false" />
<coding_rule class="SF_SWITCH_FALLTHROUGH" level="MAJOR" enabled="false" />
<coding_rule class="SF_SWITCH_NO_DEFAULT" level="MAJOR" enabled="false" />
<coding_rule class="SIC_INNER_SHOULD_BE_STATIC" level="MAJOR" enabled="true" />
<coding_rule class="SIC_INNER_SHOULD_BE_STATIC_ANON" level="MAJOR" enabled="true" />
<coding_rule class="SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS" level="MAJOR" enabled="true" />
<coding_rule class="SIC_THREADLOCAL_DEADLY_EMBRACE" level="MAJOR" enabled="false" />
<coding_rule class="SIO_SUPERFLUOUS_INSTANCEOF" level="CRITICAL" enabled="true" />
<coding_rule class="SI_INSTANCE_BEFORE_FINALS_ASSIGNED" level="CRITICAL" enabled="true" />
<coding_rule class="SP_SPIN_ON_FIELD" level="MAJOR" enabled="true" />
<coding_rule class="SQL_BAD_PREPARED_STATEMENT_ACCESS" level="CRITICAL" enabled="true" />
<coding_rule class="SQL_BAD_RESULTSET_ACCESS" level="CRITICAL" enabled="true" />
<coding_rule class="SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE" level="CRITICAL" enabled="true" />
<coding_rule class="SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING" level="CRITICAL" enabled="true" />
<coding_rule class="SR_NOT_CHECKED" level="MAJOR" enabled="true" />
<coding_rule class="SS_SHOULD_BE_STATIC" level="MAJOR" enabled="true" />
<coding_rule class="STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE" level="CRITICAL" enabled="true" />
<coding_rule class="STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE" level="CRITICAL" enabled="true" />
<coding_rule class="STCAL_STATIC_CALENDAR_INSTANCE" level="CRITICAL" enabled="true" />
<coding_rule class="STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE" level="CRITICAL" enabled="true" />
<coding_rule class="STI_INTERRUPTED_ON_CURRENTTHREAD" level="CRITICAL" enabled="true" />
<coding_rule class="STI_INTERRUPTED_ON_UNKNOWNTHREAD" level="CRITICAL" enabled="true" />
<coding_rule class="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD" level="CRITICAL" enabled="true" />
<coding_rule class="SWL_SLEEP_WITH_LOCK_HELD" level="CRITICAL" enabled="true" />
<coding_rule class="SW_SWING_METHODS_INVOKED_IN_SWING_THREAD" level="MAJOR" enabled="true" />
<coding_rule class="TLW_TWO_LOCK_WAIT" level="MAJOR" enabled="true" />
<coding_rule class="TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED" level="CRITICAL" enabled="true" />
<coding_rule class="TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS" level="CRITICAL" enabled="false" />
<coding_rule class="TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK" level="CRITICAL" enabled="true" />
<coding_rule class="TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK" level="CRITICAL" enabled="true" />
<coding_rule class="TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK" level="CRITICAL" enabled="true" />
<coding_rule class="TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK" level="CRITICAL" enabled="true" />
<coding_rule class="TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED" level="CRITICAL" enabled="true" />
<coding_rule class="TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED" level="CRITICAL" enabled="false" />
<coding_rule class="UCF_USELESS_CONTROL_FLOW" level="CRITICAL" enabled="true" />
<coding_rule class="UCF_USELESS_CONTROL_FLOW_NEXT_LINE" level="CRITICAL" enabled="true" />
<coding_rule class="UC_USELESS_CONDITION" level="MAJOR" enabled="false" />
<coding_rule class="UC_USELESS_CONDITION_TYPE" level="MAJOR" enabled="false" />
<coding_rule class="UC_USELESS_OBJECT" level="MAJOR" enabled="false" />
<coding_rule class="UC_USELESS_OBJECT_STACK" level="MAJOR" enabled="false" />
<coding_rule class="UC_USELESS_VOID_METHOD" level="MAJOR" enabled="false" />
<coding_rule class="UG_SYNC_SET_UNSYNC_GET" level="MAJOR" enabled="true" />
<coding_rule class="UI_INHERITANCE_UNSAFE_GETRESOURCE" level="MAJOR" enabled="true" />
<coding_rule class="UL_UNRELEASED_LOCK" level="CRITICAL" enabled="true" />
<coding_rule class="UL_UNRELEASED_LOCK_EXCEPTION_PATH" level="CRITICAL" enabled="true" />
<coding_rule class="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS" level="CRITICAL" enabled="true" />
<coding_rule class="UM_UNNECESSARY_MATH" level="CRITICAL" enabled="true" />
<coding_rule class="UPM_UNCALLED_PRIVATE_METHOD" level="CRITICAL" enabled="true" />
<coding_rule class="URF_UNREAD_FIELD" level="MAJOR" enabled="true" />
<coding_rule class="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD" level="CRITICAL" enabled="false" />
<coding_rule class="UR_UNINIT_READ" level="MAJOR" enabled="true" />
<coding_rule class="UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR" level="MAJOR" enabled="false" />
<coding_rule class="USM_USELESS_ABSTRACT_METHOD" level="MAJOR" enabled="false" />
<coding_rule class="USM_USELESS_SUBCLASS_METHOD" level="MAJOR" enabled="false" />
<coding_rule class="UUF_UNUSED_FIELD" level="MAJOR" enabled="true" />
<coding_rule class="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD" level="CRITICAL" enabled="false" />
<coding_rule class="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR" level="MAJOR" enabled="false" />
<coding_rule class="UWF_NULL_FIELD" level="CRITICAL" enabled="true" />
<coding_rule class="UWF_UNWRITTEN_FIELD" level="MAJOR" enabled="false" />
<coding_rule class="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD" level="CRITICAL" enabled="false" />
<coding_rule class="UW_UNCOND_WAIT" level="MAJOR" enabled="true" />
<coding_rule class="VA_FORMAT_STRING_BAD_ARGUMENT" level="CRITICAL" enabled="true" />
<coding_rule class="VA_FORMAT_STRING_BAD_CONVERSION" level="CRITICAL" enabled="true" />
<coding_rule class="VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY" level="MAJOR" enabled="true" />
<coding_rule class="VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN" level="MAJOR" enabled="true" />
<coding_rule class="VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED" level="MAJOR" enabled="false" />
<coding_rule class="VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED" level="MAJOR" enabled="true" />
<coding_rule class="VA_FORMAT_STRING_ILLEGAL" level="CRITICAL" enabled="true" />
<coding_rule class="VA_FORMAT_STRING_MISSING_ARGUMENT" level="CRITICAL" enabled="true" />
<coding_rule class="VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT" level="CRITICAL" enabled="true" />
<coding_rule class="VA_FORMAT_STRING_USES_NEWLINE" level="CRITICAL" enabled="false" />
<coding_rule class="VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG" level="CRITICAL" enabled="true" />
<coding_rule class="VO_VOLATILE_INCREMENT" level="CRITICAL" enabled="false" />
<coding_rule class="VO_VOLATILE_REFERENCE_TO_ARRAY" level="MAJOR" enabled="true" />
<coding_rule class="VR_UNRESOLVABLE_REFERENCE" level="MAJOR" enabled="false" />
<coding_rule class="WA_AWAIT_NOT_IN_LOOP" level="CRITICAL" enabled="true" />
<coding_rule class="WA_NOT_IN_LOOP" level="CRITICAL" enabled="true" />
<coding_rule class="WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL" level="CRITICAL" enabled="true" />
<coding_rule class="WMI_WRONG_MAP_ITERATOR" level="CRITICAL" enabled="true" />
<coding_rule class="WS_WRITEOBJECT_SYNC" level="CRITICAL" enabled="true" />
<coding_rule class="XFB_XML_FACTORY_BYPASS" level="CRITICAL" enabled="true" />
<coding_rule class="XSS_REQUEST_PARAMETER_TO_JSP_WRITER" level="CRITICAL" enabled="true" />
<coding_rule class="XSS_REQUEST_PARAMETER_TO_SEND_ERROR" level="CRITICAL" enabled="true" />
<coding_rule class="XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER" level="CRITICAL" enabled="true" />
</profile>
</profiles>
<list size="0" />
</component>
</project>

@ -0,0 +1,234 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.nmgs</groupId>
<artifactId>FxWxInfoQuery</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>FxWxInfoQuery</name>
<description>FxWxInfoQuery</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.13.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<!-- spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 外置依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<!-- <scope>provided</scope>-->
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.20</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 密码加密-->
<dependency>
<groupId>com.enc</groupId>
<artifactId>EndPassJava</artifactId>
<version>1.0.0</version>
</dependency>
<!-- 格式化对象,方便输出日志 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.13</version>
</dependency>
<!--JWT鉴权-->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>4.3.0</version>
</dependency>
<!-- mybatisplus多表查询 -->
<dependency>
<groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
<!--S3-->
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.660</version>
<exclusions>
<exclusion>
<artifactId>aws-java-sdk-simpleworkflow</artifactId>
<groupId>com.amazonaws</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- MyBatis的多数据源 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.oracle.database.nls</groupId>
<artifactId>orai18n</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>FxWxInfoQuery</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.7.RELEASE</version>
<configuration>
<mainClass>com.nm.gsgl.ZcInfoQueryApplication</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<!--打包时去除配置文件-->
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>*.properties</exclude>
</excludes>
</resource>
</resources>
</build>
</project>

@ -0,0 +1,23 @@
package com.nmgs;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.scheduling.annotation.EnableAsync;
@EnableAsync
//@SpringBootApplication
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class })
public class FxWxInfoQueryApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(FxWxInfoQueryApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(FxWxInfoQueryApplication.class, args);
}
}

@ -0,0 +1,140 @@
package com.nmgs;
import com.nmgs.util.PathUtil;
import com.nmgs.util.PropertiesUtil;
import com.trkf.PasswordEncryption.PassWordUtils;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.PropertiesPropertySource;
import java.io.File;
import java.io.FileInputStream;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
@Configuration
public class MyEnvironmentPostProcessor implements EnvironmentPostProcessor {
@Override
public void postProcessEnvironment(ConfigurableEnvironment configurableEnvironment, SpringApplication application) {
System.out.println("非现场治超小程序-FxWxInfoQuery读取公用配置文件");
//公用配置文件路径
String path = PathUtil.applicationPath;
//本项目配置文件路径
String NewPath = PathUtil.projectApplicationPath;
System.out.println("Loading local settings from : " + path);
System.out.println("Loading local settings from : " + NewPath);
Properties properties = new Properties();
Properties Newproperties = new Properties();
try {
File fileproperties = new File(path);
File fileNewproperties = new File(NewPath);
// 判断文件夹是否存在
if (!fileproperties.exists()) {
fileproperties.createNewFile();
}
if (!fileNewproperties.exists()) {
fileNewproperties.createNewFile();
}
properties.load(new FileInputStream(path));
String DBType = properties.getProperty("DBType") == null ? "1" : properties.getProperty("DBType");
Newproperties.load(new FileInputStream(NewPath));
properties.setProperty("spring.logback.logPath",PathUtil.TomcatPath+"/logs");
String dbUrl = properties.getProperty("DBUrl");
//System.out.println(dbUrl);
if(!dbUrl.contains("serverTimezone=GMT%2b8")){
dbUrl=dbUrl+"&serverTimezone=GMT%2b8";
}
properties.setProperty("spring.datasource.dynamic.primary", "master");
properties.setProperty("spring.datasource.dynamic.strict", "false");
properties.setProperty("spring.datasource.dynamic.datasource.master.url",dbUrl);
properties.setProperty("spring.datasource.dynamic.datasource.master.username",properties.getProperty("DBUserName"));
properties.setProperty("spring.datasource.dynamic.datasource.master.password",PassWordUtils.decrypt(properties.getProperty("DBPassWord")));
switch (DBType) {
case "1":
properties.setProperty("spring.datasource.dynamic.datasource.master.driver-class-name", Newproperties.getProperty("sqlClassName"));
properties.setProperty("spring.datasource.validationQuery", Newproperties.getProperty("sqlvalidationQuery"));
properties.setProperty("spring.datasource.hikari.connection-test-query", Newproperties.getProperty("sqlvalidationQuery"));
break;
case "2":
properties.setProperty("spring.datasource.dynamic.datasource.master.driver-class-name", Newproperties.getProperty("OracleClassName"));
properties.setProperty("spring.datasource.validationQuery", Newproperties.getProperty("OraclevalidationQuery"));
properties.setProperty("spring.datasource.hikari.connection-test-query", Newproperties.getProperty("OraclevalidationQuery"));
break;
case "3":
properties.setProperty("spring.datasource.dynamic.datasource.master.driver-class-name", Newproperties.getProperty("DMClassName"));
properties.setProperty("spring.datasource.validationQuery", Newproperties.getProperty("DMvalidationQuery"));
properties.setProperty("spring.datasource.hikari.connection-test-query", Newproperties.getProperty("DMvalidationQuery"));
break;
case "4":
properties.setProperty("spring.datasource.dynamic.datasource.master.driver-class-name",Newproperties.getProperty("MySQLClassName"));
properties.setProperty("spring.datasource.validationQuery", Newproperties.getProperty("MySQLvalidationQuery"));
properties.setProperty("spring.datasource.hikari.connection-test-query", Newproperties.getProperty("MySQLvalidationQuery"));
break;
}
//集团0.12数据库
properties.setProperty("spring.datasource.dynamic.datasource.jt.driver-class-name", Newproperties.getProperty("OracleClassName"));
properties.setProperty("spring.datasource.dynamic.datasource.jt.url", properties.getProperty("JTDBUrl"));
properties.setProperty("spring.datasource.dynamic.datasource.jt.username", properties.getProperty("JTDBUserName"));
properties.setProperty("spring.datasource.dynamic.datasource.jt.password",PassWordUtils.decrypt( properties.getProperty("JTDBPassWord")));
System.out.println("---------------------------非现场治超小程序-FxWxInfoQuery-本次载入数据库----------------------");
System.out.println(" server.port : " + properties.getProperty("server.port"));
System.out.println(" url : " + properties.getProperty("spring.datasource.dynamic.datasource.master.url"));
System.out.println(" username : " + properties.getProperty("spring.datasource.dynamic.datasource.master.username"));
System.out.println(" password : " + properties.getProperty("spring.datasource.dynamic.datasource.master.password"));
System.out.println(" 集团url : " + properties.getProperty("spring.datasource.dynamic.datasource.jt.url"));
System.out.println(" 集团username : " + properties.getProperty("spring.datasource.dynamic.datasource.jt.username"));
System.out.println(" 集团password : " + properties.getProperty("spring.datasource.dynamic.datasource.jt.password"));
String appName=Newproperties.getProperty("spring.logback.appName");
String versionPath =PathUtil.versionPath;
File resourceDir = new File(versionPath);
String version = getVersionFileName(resourceDir);
new PropertiesUtil(PathUtil.applicationTextPath).set(appName+"Version",version);
System.out.println(" version : "+appName+"--->"+version);
//环境名称随意取,但尽量不能和其他环境名称相同,避免不生效
PropertiesPropertySource propertySource = new PropertiesPropertySource("environmentPostProcessor", properties);
PropertiesPropertySource newPropertySource = new PropertiesPropertySource("newEnvironmentPostProcessor", Newproperties);
//外部的文件是最先导入的
configurableEnvironment.getPropertySources().addFirst(propertySource);
//如果公用配置文件没有配置的则使用本项目的配置文件
configurableEnvironment.getPropertySources().addLast(newPropertySource);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws UnknownHostException {
String s = "123456";
String decrypt = PassWordUtils.encrypt(s);
System.out.println(decrypt);
String decrypt2 = PassWordUtils.decrypt("Kzo+eTY8OC47WWN1OSw9VTR6V2VCcF03");
System.out.println(decrypt2);
}
private static String getVersionFileName(File dir) {
String version="";
List<String> fileNames = new ArrayList<>();
if (dir == null || !dir.exists() || !dir.isDirectory()) {
return version;
}
File[] files = dir.listFiles();
if (files != null) {
for (File file : files) {
if (file.isFile() && file.getName().endsWith(".txt")) {
fileNames.add(file.getName());
}
}
}
if (!fileNames.isEmpty()) {
version = fileNames.get(0).replace(".txt", "");
}
return version;
}
}

@ -0,0 +1,44 @@
package com.nmgs.config;
/**
* @author: shuguang
* @date: 20221010 17:13
* @description:
*/
public class Constant {
/**
* 1-sqlserver 2-oracle3-4-mysql
*/
public static final String STR_ONE = "1";
public static final String STR_TWO = "2";
public static final String STR_THREE = "3";
public static final String STR_FOUR = "4";
public static final String STR_FIVE = "5";
public static final String STR_SIX = "6";
public static final String STR_ZERO = "0";
public static final String STR_TEN = "10";
public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
public static final String YYYYMMDD = "yyyyMMdd";
public static final String YYYYMMDDHH = "yyyyMMddHH";
public static final String YYMMDD = "yyMMdd";
public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
public static final String YYYY_MM_DD = "yyyy-MM-dd";
public static final String STR_TIME_000000 = " 00:00:00";
public static final String STR_TIME_235959 = " 23:59:59";
public static final String HTTP_127_0_0_1= "http://127.0.0.1:";
public static final String IMAGE_INTERFACE_NAME = "/WebService/MyWebService/GetWebServiceData?wsdl";
public static final String STR_PNG = ".png";
public static final String S3_URL = "http://IP:9000";
public static final String S3_ACCESS_KEY = "minioadmin";
public static final String S3_SECRET_KEY = "minioadmin";
public static final String IP_IMAGE_DB_URL = "jdbc:mysql://IP:3306/imagedb?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2b8";
public static final String IMAGE_DB_USERNAME = "nmggs";
public static final String IMAGE_DB_PassWord = "2zhLmcL";
public static final String STR_IP = "IP";
public static final String STR_MP4 = ".mp4";
public static final String STR_COLON = ":";
public static final String STR_COMMA = ",";
}

@ -0,0 +1,79 @@
package com.nmgs.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.Resource;
/**
*
* SpringMVCConfig使FilterConfig
*
* @author Administrator
*/
@SuppressWarnings("deprecation")
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Resource
private FilterConfig filterconfig;
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 设置拦截类
registry.addInterceptor(filterconfig)
.addPathPatterns("/**")
// 是否允许证书
.excludePathPatterns(
"/login/**",
"/404/**",
"/MenuIndex/**",
"/index.html",
"/assets/**",
"/testImage/**",
"/static/**",
"/IMG/**",
"/cstest**",
"/cztest**",
"/overload**",
"/getVideo**",
"/cp**",
"/gscp**",
"/ism**",
"/image**",
"/vd**",
"/FixedPoint**",
"/dataAuditing**",
"/error/**"
);
}
/**
*
*/
@Bean
public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
// 设置容许跨域请求的域名
//config.addAllowedOriginPattern("*");
config.addAllowedOrigin("*");
// 设置容许的方法
config.addAllowedMethod("*");
// 容许任何头
config.addAllowedHeader("*");
config.addExposedHeader("token");
//是否支持cookie跨域
config.setAllowCredentials(true);
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
return new CorsFilter(configSource);
}
}

@ -0,0 +1,17 @@
package com.nmgs.config;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.ErrorPageRegistrar;
import org.springframework.boot.web.server.ErrorPageRegistry;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
@Component
public class ErrorConfig implements ErrorPageRegistrar {
@Override
public void registerErrorPages(ErrorPageRegistry registry) {
ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/index.html");
registry.addErrorPages(error404Page);
}
}

@ -0,0 +1,69 @@
package com.nmgs.config;
import com.alibaba.fastjson2.JSONObject;
import com.nmgs.util.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.PrintWriter;
/**
*
*
* @author Administrator
*/
@Component
@Slf4j
public class FilterConfig implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if(request.getHeader("Origin")==null){
response.setHeader("Access-Control-Allow-Origin", "*");//支持跨域请求
}else{
//System.out.println("request.getHeader(\"Origin\")=======>" + request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));//支持跨域请求
}
response.setHeader("Access-Control-Allow-Credentials", "true");//是否支持cookie跨域
response.setHeader("Access-Control-Allow-Methods", "*");//X-forwared-port,X-forwarded-host,
response.setHeader("Access-Control-Allow-Headers", "Authorization,Origin, X-Requested-With, Content-Type, Accept,Access-Token");//Origin, X-Requested-With, Content-Type, Accept,Access-Token
response.setHeader("Set-Cookie", "SameSite=None");
String token = request.getHeader("token");
//log.info("token=={}",token);
//log.info("request=={}",request.getRequestURL());
if ("test".equals(token)) {
return true;
}
if (token != null) {
boolean result = TokenUtil.verify(token,request);
//判断绑定
if (result) {
//log.info("通过拦截器");
HttpSession session = request.getSession();
String Addtoken = TokenUtil.reToken(token);
session.setAttribute("token", Addtoken);
response.setHeader("token", Addtoken);
return true;
}
}
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
JSONObject res = new JSONObject();
res.put("status", "-1");
res.put("msg", "鉴权失败");
PrintWriter out = null;
out = response.getWriter();
out.write(res.toString());
out.flush();
out.close();
return false;
}
}

@ -0,0 +1,27 @@
package com.nmgs.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.nmgs.util.PropertiesUtil;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
String dbType = PropertiesUtil.getValue("DBType");
if (Constant.STR_ONE.equals(dbType)) {
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.SQL_SERVER2005));
} else if (Constant.STR_TWO.equals(dbType)) {
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
} else if (Constant.STR_THREE.equals(dbType)) {
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.DM));
} else if (Constant.STR_FOUR.equals(dbType)) {
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
}
return interceptor;
}
}

@ -0,0 +1,269 @@
package com.nmgs.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nmgs.entity.NameTable;
import com.nmgs.entity.ism.IsmIntervalCode;
import com.nmgs.mapper.IsmIntervalCodeMapper;
import com.nmgs.mapper.IsmPlateColorTextMapper;
import com.nmgs.mapper.IsmPlateTypeTextMapper;
import com.nmgs.mapper.IsmVehicleColorTextMapper;
import com.nmgs.mapper.IsmVehicleTypeTextMapper;
import com.nmgs.mapper.NameTableMapper;
import com.nmgs.mapper.PlateColorTextMapper;
import com.nmgs.mapper.RoadTableMapper;
import com.nmgs.mapper.SubCompanyTableMapper;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author: shuguang
* @date: 20250717 8:13
* @description:
*/
@RestController
@RequestMapping("/CommonCon")
public class CommonController {
@Resource
private SubCompanyTableMapper subCompanyTableMapper;
@Resource
private NameTableMapper nameTableMapper;
@Resource
private IsmPlateColorTextMapper ismPlateColorTextMapper;
@Resource
private RoadTableMapper roadTableMapper;
@Resource
private IsmPlateTypeTextMapper ismPlateTypeTextMapper;
@Resource
private IsmVehicleTypeTextMapper ismVehicleTypeTextMapper;
@Resource
private IsmVehicleColorTextMapper ismVehicleColorTextMapper;
@Resource
private IsmIntervalCodeMapper ismIntervalCodeMapper;
@Resource
private PlateColorTextMapper plateColorTextMapper;
@PostMapping("getStationNameList")
@ResponseBody
public Object getStationNameList(@RequestBody Map<String, Object> map) {
QueryWrapper<NameTable> queryWrapper = new QueryWrapper<>();
if (ObjectUtils.isNotEmpty(map.get("subcomno"))) {
queryWrapper.eq("subcomno", map.get("subcomno"));
}
if (ObjectUtils.isNotEmpty(map.get("lineid"))) {
queryWrapper.eq("lineid", map.get("lineid"));
}
return nameTableMapper.selectList(queryWrapper);
}
/**
* kindid=1
*/
@PostMapping("getOverStationNameList")
@ResponseBody
public Object getOverStationNameList(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
map.put("kindid", 1);
return nameTableMapper.getStationNameList(map);
}
/**
* kindid=2
*/
@PostMapping("getIsmStationNameList")
@ResponseBody
public Object getIsmStationNameList(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
map.put("kindid", 2);
return nameTableMapper.getStationNameList(map);
}
/**
* kindid=6
*/
@PostMapping("getGSCpStationNameList")
@ResponseBody
public Object getGSCpStationNameList(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
map.put("kindid", 6);
return nameTableMapper.getStationNameList(map);
}
/**
* kindid=4
*/
@PostMapping("getVdStationNameList")
@ResponseBody
public Object getVdStationNameList(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
map.put("kindid", 4);
return nameTableMapper.getStationNameList(map);
}
/**
* kindid=5
*/
@PostMapping("getFixedStationNameList")
@ResponseBody
public Object getFixedStationNameList(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
map.put("kindid", 5);
return nameTableMapper.getStationNameList(map);
}
@PostMapping("getSubCompanyList")
@ResponseBody
public Object getSubCompanyList(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
return subCompanyTableMapper.getSubCompanyList(map);
}
/**
* 线 kindid=5
*/
@PostMapping("getFixLineNameListBySubcomno")
@ResponseBody
public Object getFixLineNameListBySubcomno(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
map.put("kindid", 5);
return roadTableMapper.selectListBySubcomno(map);
}
/**
* 线 kindid=6
*/
@PostMapping("getGSLineNameListBySubcomno")
@ResponseBody
public Object getGSLineNameListBySubcomno(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
map.put("kindid", 6);
return roadTableMapper.selectListBySubcomno(map);
}
/**
* 线 kindid=2
*/
@PostMapping("getLineNameListBySubcomno")
@ResponseBody
public Object getLineNameListBySubcomno(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
map.put("kindid", 2);
return roadTableMapper.selectListBySubcomno(map);
}
/**
* 线 kindid=1
*/
@PostMapping("getOverLineNameListBySubcomno")
@ResponseBody
public Object getOverLineNameListBySubcomno(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
map.put("kindid", 1);
return roadTableMapper.selectListBySubcomno(map);
}
/**
* 线 kindid=4
*/
@PostMapping("getVdLineNameListBySubcomno")
@ResponseBody
public Object getVdLineNameListBySubcomno(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
map.put("kindid", 4);
return roadTableMapper.selectListBySubcomno(map);
}
@PostMapping("getLineNameList")
@ResponseBody
public Object getLineNameList(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
return roadTableMapper.selectLineNameList(map);
}
@PostMapping("getOverPlateColorList")
@ResponseBody
public Object getOverPlateColorList() {
return plateColorTextMapper.selectList(null);
}
@PostMapping("getPlateColorList")
@ResponseBody
public Object getPlateColorList() {
return ismPlateColorTextMapper.selectList(null);
}
@PostMapping("getPlateTypeList")
@ResponseBody
public Object getPlateTypeList() {
return ismPlateTypeTextMapper.selectList(null);
}
@PostMapping("getVehicleTypeList")
@ResponseBody
public Object getVehicleTypeList() {
return ismVehicleTypeTextMapper.selectList(null);
}
@PostMapping("getVehicleColorList")
@ResponseBody
public Object getVehicleColorList() {
return ismVehicleColorTextMapper.selectList(null);
}
@PostMapping("getIntervalCode")
@ResponseBody
public Object getIntervalCode(@RequestBody Map<String, Object> map) {
// 获取 phaseNum 参数,默认为 1
int phaseNum = (int) map.getOrDefault("phaseNum", 1);
map.put("phaseNum", phaseNum);
List<NameTable> nameTableList = new ArrayList<>();
if (ObjectUtils.isNotEmpty(map.get("istationid"))) {
IsmIntervalCode ismIntervalCode = ismIntervalCodeMapper.selectOneByStartSiteCode(map);
if (ismIntervalCode != null) {
map.put("stationid", ismIntervalCode.getEndSiteCode());
return nameTableMapper.selectListByStationId(map);
}
}
if (ObjectUtils.isNotEmpty(map.get("stationid"))) {
IsmIntervalCode ismIntervalCode = ismIntervalCodeMapper.selectOneByEndSiteCode(map);
if (ismIntervalCode != null) {
map.put("stationid", ismIntervalCode.getStartSiteCode());
return nameTableMapper.selectListByStationId(map);
}
}
return nameTableList;
}
}

@ -0,0 +1,38 @@
package com.nmgs.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nmgs.service.CpService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240122 9:27
* @description:
*/
@RestController
public class CpController {
@Resource
private CpService cpService;
@PostMapping("/HDCheckpoint/getHDCheckpointRoughPage")
public IPage getHDCheckpointRoughPage(@RequestBody Map<String,Object> map) {
return cpService.getHDCheckpointRoughPage(map);
}
@PostMapping("/HDCheckpoint/getPage")
public IPage getPage(@RequestBody Map<String,Object> map) {
return cpService.getPage(map);
}
@PostMapping("/HDCheckpoint/getGSHDCheckpointRoughPage")
public IPage getGSHDCheckpointRoughPage(@RequestBody Map<String,Object> map) {
return cpService.getGSHDCheckpointRoughPage(map);
}
@PostMapping("/HDCheckpoint/getGSPage")
public IPage getGSPage(@RequestBody Map<String,Object> map) {
return cpService.getGSPage(map);
}
}

@ -0,0 +1,29 @@
package com.nmgs.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nmgs.service.FpService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240531 15:34
* @description:
*/
@RestController
public class FpController {
@Resource
private FpService fpService;
@PostMapping("/FixedPoint/getPage")
public IPage getFixedPointPage(@RequestBody Map<String,Object> map) {
return fpService.getFixedPointPage(map);
}
@PostMapping("/FixedPoint/getFixedPointRoughPage")
public IPage getFixedPointRoughPage(@RequestBody Map<String,Object> map) {
return fpService.getFixedPointRoughPage(map);
}
}

@ -0,0 +1,61 @@
package com.nmgs.controller;
import com.nmgs.entity.Res;
import com.nmgs.enumeration.MessageEnum;
import com.nmgs.exception.PPException;
import com.nmgs.util.UuidUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240319 17:35
* @description:
*/
@RestController
@Slf4j
public class GetImgVideController {
@PostMapping("/getImgBase64")
public Res getImgBase64(@RequestBody Map<String, Object> map) {
String uuid = UuidUtil.getUuid();
String url = (String) map.get("url");
String listNO = (String) map.get("listNo");
log.info("[uuid:{}]-开始根据图片号-{},查询{}图片", uuid, listNO, url);
String result = null;
try {
URL httpUrl = new URL(url+"?listNo="+listNO); // 替换为你要请求的URL
HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection();
conn.setRequestMethod("GET"); // 可以是 "GET", "POST", "PUT", "DELETE", 等。
conn.setRequestProperty("Content-Type", "application/json");
int responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) { // 200
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
result=response.toString();
// 打印结果
log.info("[uuid:{}]-调用图像接口{}成功", uuid,url);
} else {
log.info("[uuid:{}]-调用图像接口{}失败", uuid,url);
}
} catch (Exception e) {
log.error("[uuid:{}]-调用图像接口{}失败,报错{}", uuid, url, e.getMessage(), e);
throw new PPException(MessageEnum..getCode(), MessageEnum..getMessage());
}
return Res.success(result);
}
}

@ -0,0 +1,36 @@
package com.nmgs.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nmgs.entity.Res;
import com.nmgs.service.HomeService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
* @author: shuguang
* @date: 20250718 14:06
* @description:
*/
@RestController
public class HomeController {
@Resource
private HomeService homeService;
@PostMapping("/selectDataAggregation")
public Res selectDataAggregation(@RequestBody Map<String,Object> map) {
return homeService.selectDataAggregation(map);
}
@PostMapping("/selectDataMonitoring")
public Res selectDataMonitoring(@RequestBody Map<String,Object> map) {
return homeService.selectDataMonitoring(map);
}
@PostMapping("/selectSiteInfo")
public IPage selectSiteInfo(@RequestBody Map<String,Object> map) {
return homeService.selectSiteInfo(map);
}
}

@ -0,0 +1,32 @@
package com.nmgs.controller;
import com.nmgs.service.ImgVideoService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
@RestController
@RequestMapping("/IMG")
public class IMGController {
@Resource
ImgVideoService imgVideoService;
@GetMapping("/getImgBase643")
public void getImgBase643(@RequestParam("listNo") String listNo,@RequestParam("subComNo") String subComNo, HttpServletResponse response) {
imgVideoService.getImgBase643(listNo,subComNo, response);
}
@GetMapping("/getNoVideoImg")
public void getNoVideoImg( HttpServletResponse response) {
imgVideoService.getNoVideoImg( response);
}
@GetMapping("/queryVideoStream")
public void queryVideoStream(@RequestParam("videNo")String videNo,@RequestParam("subComNo") String subComNo, HttpServletResponse response) {
//视频资源存储信息
imgVideoService.queryVideoStream(videNo, subComNo, response);
}
}

@ -0,0 +1,29 @@
package com.nmgs.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nmgs.service.IsmService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240122 9:23
* @description:
*/
@RestController
public class IsmController {
@Resource
private IsmService ismService;
@PostMapping("/IntervalSpeed/getRoughPage")
public IPage getRoughPage(@RequestBody Map<String,Object> map) {
return ismService.getRoughPage(map);
}
@PostMapping("/IntervalSpeed/getPage")
public IPage getPage(@RequestBody Map<String,Object> map) {
return ismService.getPage(map);
}
}

@ -0,0 +1,50 @@
package com.nmgs.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nmgs.entity.Res;
import com.nmgs.service.OverloadService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
* @author: shuguang
* @date: 20231027 14:46
* @description:
*/
@RestController
public class OverloadController {
@Resource
private OverloadService overloadService;
@PostMapping("/NoParkOverLoad/queryImageInfo")
public Res queryImageInfo(@RequestBody Map<String, Object> map) {
String result = overloadService.queryImageInfo(map);
return Res.success(result);
}
@PostMapping("/NoParkOverLoad/getCarColorList")
public Object getCarColorList() {
return overloadService.getCarColorList();
}
@PostMapping("/NoParkOverLoad/getOverRoughPage")
public IPage getOverRoughPage(@RequestBody Map<String,Object> map) {
return overloadService.getOverRoughPage(map);
}
@PostMapping("/NoParkOverLoad/getPage")
public IPage getPage(@RequestBody Map<String,Object> map) {
return overloadService.getPage(map);
}
@RequestMapping("/getVideo")
public void getVideo(HttpServletRequest request, HttpServletResponse response, String videUrl) {
overloadService.queryVideoStream(videUrl, request, response);
}
}

@ -0,0 +1,69 @@
package com.nmgs.controller;
import com.nmgs.entity.Res;
import com.nmgs.service.UserService;
import com.nmgs.util.TokenUtil;
import com.nmgs.util.UuidUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpSession;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Base64;
import java.util.Map;
import java.util.Random;
/**
* @author: shuguang
* @date: 20250716 10:13
* @description:
*/
@RestController
@RequestMapping("/login")
@Slf4j
public class UserController {
@Resource
private UserService userService;
@PostMapping("/check")
public Res login(@RequestBody Map<String,Object> map) {
// 获取存储在会话中的验证码和生成时间
String uuid = UuidUtil.getUuid();
try {
String loginName = StringUtils.deleteWhitespace(map.get("loginName").toString());
String loginPwd = StringUtils.deleteWhitespace(map.get("loginPwd").toString());
// 验证用户名和密码
if (userService.login(loginName, loginPwd)) {
String token = TokenUtil.token(loginName);
log.info("[uuid:{}]-登录成功,用户名:{}", uuid,loginName);
return new Res(0,token,"登录成功!");
} else {
log.info("[uuid:{}]-登录失败,用户名或密码错误!",uuid);
return new Res(1,"","登录失败,用户名或密码错误!");
}
} catch (Exception e) {
log.error("[uuid:{}]-登录失败,报错为:{}", uuid, e.getMessage(), e);
}
return new Res(1,"","登录失败!");
}
/**
*
*
* @param map loginNameloginPwdnewLoginPwdMap
* @return
*/
@PostMapping("/updatePassword")
public Res updatePassword(@RequestBody Map<String, Object> map) {
return userService.updatePassword(map);
}
}

@ -0,0 +1,37 @@
package com.nmgs.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nmgs.service.VdService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240122 9:31
* @description:
*/
@RestController
public class VdController {
@Resource
private VdService vdService;
@PostMapping("/VehicleIdentification/getPage")
public IPage getPage(@RequestBody Map<String,Object> map) {
return vdService.getPage(map);
}
@PostMapping("/VehicleIdentification/getRoughPage")
public IPage getRoughPage(@RequestBody Map<String,Object> map) {
return vdService.getRoughPage(map);
}
@PostMapping("/VehicleIdentification/getTypeList")
public Object getTypeList() {
return vdService.getTypeList();
}
@PostMapping("/VehicleIdentification/getVdVehicleColorList")
public Object getVdVehicleColorList() {
return vdService.getVdVehicleColorList();
}
}

@ -0,0 +1,25 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240128 12:55
* @description:
*/
@Data
@TableName("equip_text")
public class EquipText {
@TableField("equipid")
private String equipid;
@TableField("equipName")
private String equipName;
@TableField("ip")
private String ip;
@TableField("stationid")
private String stationid;
@TableField("kindid")
private Integer kindid;
}

@ -0,0 +1,25 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240128 12:55
* @description:
*/
@Data
@TableName("equip_text")
public class EquipText2 {
@TableField("equipid")
private String equipid;
@TableField("equipName")
private String equipName;
@TableField("ip")
private String ip;
@TableField("stationid")
private String stationid;
@TableField("kindid")
private Integer kindid;
}

@ -0,0 +1,21 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20231220 15:34
* @description:
*/
@Data
@TableName("equip_type_text")
public class EquipTypeText {
@TableField("type")
private Integer type;
@TableField("text")
private String text;
}

@ -0,0 +1,20 @@
package com.nmgs.entity;
import lombok.Data;
/**
* @author: shuguang
* @date: 20230815 16:05
* @description:
*/
@Data
public class ImageData {
/**
*
*/
private String resultText;
/**
* base64
*/
private String resultData;
}

@ -0,0 +1,21 @@
package com.nmgs.entity;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
public class MyReturnMap implements Serializable {
private static final long serialVersionUID = 1L;
public static Map<String, Object> returnMap = new HashMap();
public MyReturnMap() {
}
public static void setMap(Map<String, Object> newMap) {
returnMap.putAll(newMap);
}
static {
returnMap.put("InfoType", "1");
}
}

@ -0,0 +1,34 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240128 12:15
* @description:
*/
@Data
@TableName("name_table")
public class NameTable {
@TableField("stationid")
private String stationid;
@TableField("stationName")
private String stationName;
@TableField("pileNumber")
private String pileNumber;
@TableField("lineid")
private String lineid;
@TableField("ip")
private String ip;
@TableField("subcomno")
private Integer subcomno;
@TableField("lng")
private String lng;
@TableField("lat")
private String lat;
@TableField("kindid")
private Integer kindid;
}

@ -0,0 +1,300 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20231211 15:21
* @description:
*/
@Data
@TableName("overload_detail")
public class OverLoadDetail {
/**
*
* 8+1+yyMMddHHmmss+4,0
*/
@TableId("businum")
private String businum;
/**
*
* 85+3
* G0018392G0018392
*/
@TableField("sitecode")
private String sitecode;
/**
*
*/
@TableField("roadwaynumber")
private String roadwaynumber;
/**
*
* 0- 3-4-;5-
*/
@TableField("sitetype")
private Integer sitetype;
/**
*
*/
@TableField("vehplate")
private String vehplate;
/**
*
* 0-1-2-3-4-绿5- 绿6-9-11-绿12-
*/
@TableField("platecolor")
private String platecolor;
/**
*
* yyyy-MM-dd HH:mm:ss
*/
@TableField("detectiontime")
private Date detectiontime;
/**
*
*/
@TableField("axlenum")
private Integer axlenum;
/**
*
*/
@TableField("axlegroupnum")
private Integer axlegroupnum;
/**
*
*/
@TableField("axlegrouptype")
private String axlegrouptype;
/**
*
* km/h
*/
@TableField("speed")
private Integer speed;
/**
*
*/
@TableField("acc")
private Integer acc;
/**
*
*/
@TableField("vehlength")
private Integer vehlength;
/**
*
*/
@TableField("vehwidth")
private Integer vehwidth;
/**
*
*/
@TableField("vehheight")
private Integer vehheight;
/**
*
*/
@TableField("totalweight")
private Integer totalweight;
/**
* 1
*/
@TableField("axleweight1")
private Integer axleweight1;
/**
* 2
*/
@TableField("axleweight2")
private Integer axleweight2;
/**
* 3
*/
@TableField("axleweight3")
private Integer axleweight3;
/**
* 4
*/
@TableField("axleweight4")
private Integer axleweight4;
/**
* 5
*/
@TableField("axleweight5")
private Integer axleweight5;
/**
* 6
*/
@TableField("axleweight6")
private Integer axleweight6;
/**
* 7
*/
@TableField("axleweight7")
private Integer axleweight7;
/**
* 8
*/
@TableField("axleweight8")
private Integer axleweight8;
/**
* 1-2
*/
@TableField("axledis1")
private Integer axledis1;
/**
* 2-3
*/
@TableField("axledis2")
private Integer axledis2;
/**
* 3-4
*/
@TableField("axledis3")
private Integer axledis3;
/**
* 4-5
*/
@TableField("axledis4")
private Integer axledis4;
/**
* 5-6
*/
@TableField("axledis5")
private Integer axledis5;
/**
* 6-7
*/
@TableField("axledis6")
private Integer axledis6;
/**
* 7-8
*/
@TableField("axledis7")
private Integer axledis7;
/**
*
*/
@TableField("wholeover")
private Integer wholeover;
/**
*
* 0-1-
*/
@TableField("overlimitflag")
private Integer overlimitflag;
/**
*
*/
@TableField("overrate")
private Double overrate;
/**
*
*/
@TableField("limitweight")
private Integer limitweight;
/**
*
*/
@TableField("limitlength")
private Integer limitlength;
/**
*
*/
@TableField("limitwidth")
private Integer limitwidth;
/**
*
*/
@TableField("limitheight")
private Integer limitheight;
/**
*
* 0-1-0
*/
@TableField("singleordouble")
private Integer singleordouble;
/**
*
* 0-1-
*/
@TableField("ifblack")
private Integer ifblack;
/**
*
* 0-1-
*/
@TableField("ifmassivetransport")
private Integer ifmassivetransport;
/**
*
*/
@TableField("massivetransportpeimitnum")
private String massivetransportpeimitnum;
/**
*
*/
@TableField("truckorcoach")
private String truckorcoach;
/**
* 绿
*/
@TableField("ifgreenpass")
private String ifgreenpass;
/**
*
*/
@TableField("ifspecial")
private String ifspecial;
/**
*
*/
@TableField("ifrecheck")
private String ifrecheck;
/**
*
* 0-1-
*/
@TableField("roadwaydirection")
private String roadwaydirection;
/**
*
*/
@TableField("firstbusinum")
private String firstbusinum;
/**
*
*/
@TableField("headpic")
private String headpic;
/**
*
*/
@TableField("wholepic")
private String wholepic;
/**
*
*/
@TableField("tailpic")
private String tailpic;
/**
*
*/
@TableField("platepic")
private String platepic;
/**
*
*/
@TableField("shortvideo")
private String shortvideo;
/**
*
*/
@TableField("subcomno")
private String subcomno;
}

@ -0,0 +1,300 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20231211 15:21
* @description:
*/
@Data
@TableName("overload_detail_temp")
public class OverLoadDetailTemp {
/**
*
* 8+1+yyMMddHHmmss+4,0
*/
@TableId("businum")
private String businum;
/**
*
* 85+3
* G0018392G0018392
*/
@TableField("sitecode")
private String sitecode;
/**
*
*/
@TableField("roadwaynumber")
private String roadwaynumber;
/**
*
* 0- 3-4-;5-
*/
@TableField("sitetype")
private Integer sitetype;
/**
*
*/
@TableField("vehplate")
private String vehplate;
/**
*
* 0-1-2-3-4-绿5- 绿6-9-11-绿12-
*/
@TableField("platecolor")
private String platecolor;
/**
*
* yyyy-MM-dd HH:mm:ss
*/
@TableField("detectiontime")
private Date detectiontime;
/**
*
*/
@TableField("axlenum")
private Integer axlenum;
/**
*
*/
@TableField("axlegroupnum")
private Integer axlegroupnum;
/**
*
*/
@TableField("axlegrouptype")
private String axlegrouptype;
/**
*
* km/h
*/
@TableField("speed")
private Integer speed;
/**
*
*/
@TableField("acc")
private Integer acc;
/**
*
*/
@TableField("vehlength")
private Integer vehlength;
/**
*
*/
@TableField("vehwidth")
private Integer vehwidth;
/**
*
*/
@TableField("vehheight")
private Integer vehheight;
/**
*
*/
@TableField("totalweight")
private Integer totalweight;
/**
* 1
*/
@TableField("axleweight1")
private Integer axleweight1;
/**
* 2
*/
@TableField("axleweight2")
private Integer axleweight2;
/**
* 3
*/
@TableField("axleweight3")
private Integer axleweight3;
/**
* 4
*/
@TableField("axleweight4")
private Integer axleweight4;
/**
* 5
*/
@TableField("axleweight5")
private Integer axleweight5;
/**
* 6
*/
@TableField("axleweight6")
private Integer axleweight6;
/**
* 7
*/
@TableField("axleweight7")
private Integer axleweight7;
/**
* 8
*/
@TableField("axleweight8")
private Integer axleweight8;
/**
* 1-2
*/
@TableField("axledis1")
private Integer axledis1;
/**
* 2-3
*/
@TableField("axledis2")
private Integer axledis2;
/**
* 3-4
*/
@TableField("axledis3")
private Integer axledis3;
/**
* 4-5
*/
@TableField("axledis4")
private Integer axledis4;
/**
* 5-6
*/
@TableField("axledis5")
private Integer axledis5;
/**
* 6-7
*/
@TableField("axledis6")
private Integer axledis6;
/**
* 7-8
*/
@TableField("axledis7")
private Integer axledis7;
/**
*
*/
@TableField("wholeover")
private Integer wholeover;
/**
*
* 0-1-
*/
@TableField("overlimitflag")
private Integer overlimitflag;
/**
*
*/
@TableField("overrate")
private Double overrate;
/**
*
*/
@TableField("limitweight")
private Integer limitweight;
/**
*
*/
@TableField("limitlength")
private Integer limitlength;
/**
*
*/
@TableField("limitwidth")
private Integer limitwidth;
/**
*
*/
@TableField("limitheight")
private Integer limitheight;
/**
*
* 0-1-0
*/
@TableField("singleordouble")
private Integer singleordouble;
/**
*
* 0-1-
*/
@TableField("ifblack")
private Integer ifblack;
/**
*
* 0-1-
*/
@TableField("ifmassivetransport")
private Integer ifmassivetransport;
/**
*
*/
@TableField("massivetransportpeimitnum")
private String massivetransportpeimitnum;
/**
*
*/
@TableField("truckorcoach")
private String truckorcoach;
/**
* 绿
*/
@TableField("ifgreenpass")
private String ifgreenpass;
/**
*
*/
@TableField("ifspecial")
private String ifspecial;
/**
*
*/
@TableField("ifrecheck")
private String ifrecheck;
/**
*
* 0-1-
*/
@TableField("roadwaydirection")
private String roadwaydirection;
/**
*
*/
@TableField("firstbusinum")
private String firstbusinum;
/**
*
*/
@TableField("headpic")
private String headpic;
/**
*
*/
@TableField("wholepic")
private String wholepic;
/**
*
*/
@TableField("tailpic")
private String tailpic;
/**
*
*/
@TableField("platepic")
private String platepic;
/**
*
*/
@TableField("shortvideo")
private String shortvideo;
/**
*
*/
@TableField("subcomno")
private String subcomno;
}

@ -0,0 +1,74 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20231220 15:21
* @description:
*/
@Data
@TableName("overload_equipstatus")
public class OverLoadEquipStatus {
/**
*
* 85+3
* G0018392G0018392
*/
@TableField("sitecode")
private String sitecode;
/**
*
*/
@TableField("roadwaynumber")
private String roadwaynumber;
/**
*
* 0- 3-4-;5-
*/
@TableField("sitetype")
private Integer sitetype;
/**
*
*/
@TableField("version")
private String version;
/**
* IP
*/
@TableField("ip")
private String ip;
/**
*
*/
@TableField("equiptype")
private Integer equiptype;
/**
* IP
*/
@TableField("equipip")
private String equipip;
/**
* yyyy-MM-dd HH:mm:ss
*/
@TableField("detectiontime")
private String detectiontime;
/**
*
* 01线23
*/
@TableField("status")
private Integer status;
/**
*
*/
@TableField("statusdetail")
private String statusdetail;
/**
*
*/
@TableField("remarks")
private String remarks;
}

@ -0,0 +1,19 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20231212 8:10
* @description:
*/
@Data
@TableName("platecolor_text")
public class PlateColorText {
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,44 @@
package com.nmgs.entity;
import com.nmgs.enumeration.MessageEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: shuguang
* @date: 20230811 14:09
* @description:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Res implements Serializable {
private static final long serialVersionUID = 1L;
private Integer code;
private Object data = "";
private String message = "";
public static Res success() {
Res result = new Res();
result.setCode(Integer.valueOf(MessageEnum..getCode()));
result.setMessage(MessageEnum..getMessage());
return result;
}
public static Res success(Object data) {
Res result = new Res();
result.setCode(Integer.valueOf(MessageEnum..getCode()));
result.setMessage(MessageEnum..getMessage());
result.setData(data);
return result;
}
public static Res fail(Object data) {
Res result = new Res();
result.setCode(Integer.valueOf(MessageEnum..getCode()));
result.setMessage(MessageEnum..getMessage());
result.setData(data);
return result;
}
}

@ -0,0 +1,21 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240515 14:40
* @description:
*/
@Data
@TableName("road_table")
public class RoadTable {
@TableField("lineid")
private String lineid;
@TableField("lineName")
private String lineName;
@TableField("scale")
private Double scale;
}

@ -0,0 +1,14 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
public class S3Config {
private String url;
private String user;
private String passWord;
}

@ -0,0 +1,19 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20231212 8:10
* @description:
*/
@Data
@TableName("sitetype_text")
public class SiteTypeText {
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,21 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20231220 15:34
* @description:
*/
@Data
@TableName("status_detail_text")
public class StatusDetailText {
@TableField("type")
private Integer type;
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,23 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240130 15:44
* @description:
*/
@TableName("subcompany_table")
@Data
public class SubCompanyTable {
@TableField("subcomno")
private Integer subcomno;
@TableField("subcomname")
private String subcomname;
@TableField("ip")
private String ip;
@TableField("port")
private Integer port;
}

@ -0,0 +1,19 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240122 16:55
* @description:
*/
@Data
@TableName("type_text")
public class TypeText {
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,45 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20250716 10:09
* @description:
*/
@Data
@TableName("user_table")
public class User {
@TableField("USERID")
private String userId;
@TableField("LOGINNAME")
private String loginName;
@TableField("USERNAME")
private String userName;
@TableField("SUBCOMNO")
private Integer subComNo;
@TableField("UNITCLASS")
private Integer unitClass;
@TableField("LOGINPWD")
private String loginPwd;
@TableField("DEPTID")
private String deptId;
@TableField("MOBILENUM")
private String mobileNum;
@TableField("PHONE")
private String phone;
@TableField("DUTY")
private String duty;
}

@ -0,0 +1,171 @@
package com.nmgs.entity.cp;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author: shuguang
* @date: 20240122 10:01
* @description:
*/
@Data
@TableName("cp_detail")
public class CpDetail {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("captureTime")
private Date captureTime;
/**
* -012: 3:
*/
@TableField("dataType")
private Integer dataType;
/**
*
*/
@TableField("corridorIn")
private Integer corridorIn;
/**
*
*/
@TableField("corridorOut")
private Integer corridorOut;
/**
*
*/
@TableField("rangeDistance")
private Integer rangeDistance;
/**
*
*/
@TableField("rangeLimitSpeed")
private Integer rangeLimitSpeed;
/**
*
*/
@TableField("rangeSpeed")
private Integer rangeSpeed;
/**
*
*/
@TableField("passNumber")
private Integer passNumber;
/**
*
*/
@TableField("laneNumber")
private Integer laneNumber;
/**
* enum{ 02 使 }
*/
@TableField("plateType")
private Integer plateType;
/**
* enum{绿}
*/
@TableField("plateColor")
private Integer plateColor;
/**
*
*/
@TableField("plateNumber")
private String plateNumber;
/**
* enum{}
*/
@TableField("vehicleType")
private Integer vehicleType;
/**
* enum{绿}
*/
@TableField("vehicleColor")
private Integer vehicleColor;
/**
*
*/
@TableField("vehicleSpeed")
private Integer vehicleSpeed;
/**
*
*/
@TableField("illegalCode")
private Integer illegalCode;
/**
*
*/
@TableField("illegalCodeChar")
private String illegalCodeChar;
/**
*
*/
@TableField("limitSpeed")
private Integer limitSpeed;
/**
*
*/
@TableField("picNumber")
private Integer picNumber;
/**
*
*/
@TableField("headPic")
private List<String> headPic;
/**
*
*/
@TableField("wholePic")
private List<String> wholePic;
/**
*
*/
@TableField("tailPic")
private List<String> tailPic;
/**
*
*/
@TableField("platePic")
private List<String> platePic;
/**
*
*/
@TableField("shortVideo")
private List<String> shortVideo;
/**
*
*/
@TableField("spaceCode")
private String spaceCode;
/**
* 1-2-
*/
@TableField("spaceInOrOut")
private Integer spaceInOrOut;
/**
*
*/
@TableField("subcomno")
private Integer subcomno;
/**
*
* 1-2-
*/
@TableField("direction")
private Integer direction;
}

@ -0,0 +1,165 @@
package com.nmgs.entity.cp;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author: shuguang
* @date: 20240122 10:01
* @description:
*/
@Data
@TableName("cp_detail_temp")
public class CpDetailTemp {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("captureTime")
private Date captureTime;
/**
* -012: 3:
*/
@TableField("dataType")
private Integer dataType;
/**
*
*/
@TableField("corridorIn")
private Integer corridorIn;
/**
*
*/
@TableField("corridorOut")
private Integer corridorOut;
/**
*
*/
@TableField("rangeDistance")
private Integer rangeDistance;
/**
*
*/
@TableField("rangeLimitSpeed")
private Integer rangeLimitSpeed;
/**
*
*/
@TableField("rangeSpeed")
private Integer rangeSpeed;
/**
*
*/
@TableField("passNumber")
private Integer passNumber;
/**
*
*/
@TableField("laneNumber")
private Integer laneNumber;
/**
* enum{ 02 使 }
*/
@TableField("plateType")
private Integer plateType;
/**
* enum{绿}
*/
@TableField("plateColor")
private Integer plateColor;
/**
*
*/
@TableField("plateNumber")
private String plateNumber;
/**
* enum{}
*/
@TableField("vehicleType")
private Integer vehicleType;
/**
* enum{绿}
*/
@TableField("vehicleColor")
private Integer vehicleColor;
/**
*
*/
@TableField("vehicleSpeed")
private Integer vehicleSpeed;
/**
*
*/
@TableField("illegalCode")
private Integer illegalCode;
/**
*
*/
@TableField("illegalCodeChar")
private String illegalCodeChar;
/**
*
*/
@TableField("limitSpeed")
private Integer limitSpeed;
/**
*
*/
@TableField("picNumber")
private Integer picNumber;
/**
*
*/
@TableField("headPic")
private List<String> headPic;
/**
*
*/
@TableField("wholePic")
private List<String> wholePic;
/**
*
*/
@TableField("tailPic")
private List<String> tailPic;
/**
*
*/
@TableField("platePic")
private List<String> platePic;
/**
*
*/
@TableField("shortVideo")
private List<String> shortVideo;
/**
*
*/
@TableField("spaceCode")
private String spaceCode;
/**
* 1-2-
*/
@TableField("spaceInOrOut")
private Integer spaceInOrOut;
/**
*
*/
@TableField("subcomno")
private Integer subcomno;
}

@ -0,0 +1,52 @@
package com.nmgs.entity.cp;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20240122 11:18
* @description:
*/
@Data
@TableName("cp_equipstatus")
public class CpEquipStatus {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
* ip
*/
@TableField("equipIp")
private String equipIp;
/**
*
*/
@TableField("detectionTime")
private Date detectionTime;
/**
* -01线23
*/
@TableField("status")
private Integer status;
/**
*
*/
@TableField("statusDetail")
private String statusDetail;
/**
*
*/
@TableField("remarks")
private String remarks;
}

@ -0,0 +1,38 @@
package com.nmgs.entity.cp;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20240122 11:23
* @description:
*/
@Data
@TableName("cp_squadsum")
public class CpSquadSum {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("totalCount")
private String totalCount;
/**
*-yyyy-MM-dd HH:mm:ss
*/
@TableField("time")
private Date time;
}

@ -0,0 +1,171 @@
package com.nmgs.entity.cp;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author: shuguang
* @date: 2024531 15:21
* @description:
*/
@Data
@TableName("fp_detail")
public class FpDetail {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("captureTime")
private Date captureTime;
/**
* -012: 3:
*/
@TableField("dataType")
private Integer dataType;
/**
*
*/
@TableField("corridorIn")
private Integer corridorIn;
/**
*
*/
@TableField("corridorOut")
private Integer corridorOut;
/**
*
*/
@TableField("rangeDistance")
private Integer rangeDistance;
/**
*
*/
@TableField("rangeLimitSpeed")
private Integer rangeLimitSpeed;
/**
*
*/
@TableField("rangeSpeed")
private Integer rangeSpeed;
/**
*
*/
@TableField("passNumber")
private Integer passNumber;
/**
*
*/
@TableField("laneNumber")
private Integer laneNumber;
/**
* enum{ 02 使 }
*/
@TableField("plateType")
private Integer plateType;
/**
* enum{绿}
*/
@TableField("plateColor")
private Integer plateColor;
/**
*
*/
@TableField("plateNumber")
private String plateNumber;
/**
* enum{}
*/
@TableField("vehicleType")
private Integer vehicleType;
/**
* enum{绿}
*/
@TableField("vehicleColor")
private Integer vehicleColor;
/**
*
*/
@TableField("vehicleSpeed")
private Integer vehicleSpeed;
/**
*
*/
@TableField("illegalCode")
private Integer illegalCode;
/**
*
*/
@TableField("illegalCodeChar")
private String illegalCodeChar;
/**
*
*/
@TableField("limitSpeed")
private Integer limitSpeed;
/**
*
*/
@TableField("picNumber")
private Integer picNumber;
/**
*
*/
@TableField("headPic")
private List<String> headPic;
/**
*
*/
@TableField("wholePic")
private List<String> wholePic;
/**
*
*/
@TableField("tailPic")
private List<String> tailPic;
/**
*
*/
@TableField("platePic")
private List<String> platePic;
/**
*
*/
@TableField("shortVideo")
private List<String> shortVideo;
/**
*
*/
@TableField("spaceCode")
private String spaceCode;
/**
* 1-2-
*/
@TableField("spaceInOrOut")
private Integer spaceInOrOut;
/**
*
*/
@TableField("subcomno")
private Integer subcomno;
/**
*
* 1-2-
*/
@TableField("direction")
private Integer direction;
}

@ -0,0 +1,165 @@
package com.nmgs.entity.cp;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author: shuguang
* @date: 2024531 15:21
* @description:
*/
@Data
@TableName("fp_detail_temp")
public class FpDetailTemp {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("captureTime")
private Date captureTime;
/**
* -012: 3:
*/
@TableField("dataType")
private Integer dataType;
/**
*
*/
@TableField("corridorIn")
private Integer corridorIn;
/**
*
*/
@TableField("corridorOut")
private Integer corridorOut;
/**
*
*/
@TableField("rangeDistance")
private Integer rangeDistance;
/**
*
*/
@TableField("rangeLimitSpeed")
private Integer rangeLimitSpeed;
/**
*
*/
@TableField("rangeSpeed")
private Integer rangeSpeed;
/**
*
*/
@TableField("passNumber")
private Integer passNumber;
/**
*
*/
@TableField("laneNumber")
private Integer laneNumber;
/**
* enum{ 02 使 }
*/
@TableField("plateType")
private Integer plateType;
/**
* enum{绿}
*/
@TableField("plateColor")
private Integer plateColor;
/**
*
*/
@TableField("plateNumber")
private String plateNumber;
/**
* enum{}
*/
@TableField("vehicleType")
private Integer vehicleType;
/**
* enum{绿}
*/
@TableField("vehicleColor")
private Integer vehicleColor;
/**
*
*/
@TableField("vehicleSpeed")
private Integer vehicleSpeed;
/**
*
*/
@TableField("illegalCode")
private Integer illegalCode;
/**
*
*/
@TableField("illegalCodeChar")
private String illegalCodeChar;
/**
*
*/
@TableField("limitSpeed")
private Integer limitSpeed;
/**
*
*/
@TableField("picNumber")
private Integer picNumber;
/**
*
*/
@TableField("headPic")
private List<String> headPic;
/**
*
*/
@TableField("wholePic")
private List<String> wholePic;
/**
*
*/
@TableField("tailPic")
private List<String> tailPic;
/**
*
*/
@TableField("platePic")
private List<String> platePic;
/**
*
*/
@TableField("shortVideo")
private List<String> shortVideo;
/**
*
*/
@TableField("spaceCode")
private String spaceCode;
/**
* 1-2-
*/
@TableField("spaceInOrOut")
private Integer spaceInOrOut;
/**
*
*/
@TableField("subcomno")
private Integer subcomno;
}

@ -0,0 +1,165 @@
package com.nmgs.entity.cp;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author: shuguang
* @date: 20240122 10:01
* @description:
*/
@Data
@TableName("gscp_detail")
public class GSCpDetail {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("captureTime")
private Date captureTime;
/**
* -012: 3:
*/
@TableField("dataType")
private Integer dataType;
/**
*
*/
@TableField("corridorIn")
private Integer corridorIn;
/**
*
*/
@TableField("corridorOut")
private Integer corridorOut;
/**
*
*/
@TableField("rangeDistance")
private Integer rangeDistance;
/**
*
*/
@TableField("rangeLimitSpeed")
private Integer rangeLimitSpeed;
/**
*
*/
@TableField("rangeSpeed")
private Integer rangeSpeed;
/**
*
*/
@TableField("passNumber")
private Integer passNumber;
/**
*
*/
@TableField("laneNumber")
private Integer laneNumber;
/**
* enum{ 02 使 }
*/
@TableField("plateType")
private Integer plateType;
/**
* enum{绿}
*/
@TableField("plateColor")
private Integer plateColor;
/**
*
*/
@TableField("plateNumber")
private String plateNumber;
/**
* enum{}
*/
@TableField("vehicleType")
private Integer vehicleType;
/**
* enum{绿}
*/
@TableField("vehicleColor")
private Integer vehicleColor;
/**
*
*/
@TableField("vehicleSpeed")
private Integer vehicleSpeed;
/**
*
*/
@TableField("illegalCode")
private Integer illegalCode;
/**
*
*/
@TableField("illegalCodeChar")
private String illegalCodeChar;
/**
*
*/
@TableField("limitSpeed")
private Integer limitSpeed;
/**
*
*/
@TableField("picNumber")
private Integer picNumber;
/**
*
*/
@TableField("headPic")
private List<String> headPic;
/**
*
*/
@TableField("wholePic")
private List<String> wholePic;
/**
*
*/
@TableField("tailPic")
private List<String> tailPic;
/**
*
*/
@TableField("platePic")
private List<String> platePic;
/**
*
*/
@TableField("shortVideo")
private List<String> shortVideo;
/**
*
*/
@TableField("spaceCode")
private String spaceCode;
/**
* 1-2-
*/
@TableField("spaceInOrOut")
private Integer spaceInOrOut;
/**
*
*/
@TableField("subcomno")
private Integer subcomno;
}

@ -0,0 +1,165 @@
package com.nmgs.entity.cp;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author: shuguang
* @date: 20240122 10:01
* @description:
*/
@Data
@TableName("gscp_detail_temp")
public class GSCpDetailTemp {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("captureTime")
private Date captureTime;
/**
* -012: 3:
*/
@TableField("dataType")
private Integer dataType;
/**
*
*/
@TableField("corridorIn")
private Integer corridorIn;
/**
*
*/
@TableField("corridorOut")
private Integer corridorOut;
/**
*
*/
@TableField("rangeDistance")
private Integer rangeDistance;
/**
*
*/
@TableField("rangeLimitSpeed")
private Integer rangeLimitSpeed;
/**
*
*/
@TableField("rangeSpeed")
private Integer rangeSpeed;
/**
*
*/
@TableField("passNumber")
private Integer passNumber;
/**
*
*/
@TableField("laneNumber")
private Integer laneNumber;
/**
* enum{ 02 使 }
*/
@TableField("plateType")
private Integer plateType;
/**
* enum{绿}
*/
@TableField("plateColor")
private Integer plateColor;
/**
*
*/
@TableField("plateNumber")
private String plateNumber;
/**
* enum{}
*/
@TableField("vehicleType")
private Integer vehicleType;
/**
* enum{绿}
*/
@TableField("vehicleColor")
private Integer vehicleColor;
/**
*
*/
@TableField("vehicleSpeed")
private Integer vehicleSpeed;
/**
*
*/
@TableField("illegalCode")
private Integer illegalCode;
/**
*
*/
@TableField("illegalCodeChar")
private String illegalCodeChar;
/**
*
*/
@TableField("limitSpeed")
private Integer limitSpeed;
/**
*
*/
@TableField("picNumber")
private Integer picNumber;
/**
*
*/
@TableField("headPic")
private List<String> headPic;
/**
*
*/
@TableField("wholePic")
private List<String> wholePic;
/**
*
*/
@TableField("tailPic")
private List<String> tailPic;
/**
*
*/
@TableField("platePic")
private List<String> platePic;
/**
*
*/
@TableField("shortVideo")
private List<String> shortVideo;
/**
*
*/
@TableField("spaceCode")
private String spaceCode;
/**
* 1-2-
*/
@TableField("spaceInOrOut")
private Integer spaceInOrOut;
/**
*
*/
@TableField("subcomno")
private Integer subcomno;
}

@ -0,0 +1,20 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240122 15:40
* @description:
*/
@Data
@TableName("ism_datatype_text")
public class IsmDataTypeText {
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,193 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author: shuguang
* @date: 20240122 10:01
* @description:
*/
@Data
@TableName("ism_detail")
public class IsmDetail {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("captureTime")
private Date captureTime;
/**
* -012: 3:
*/
@TableField("dataType")
private Integer dataType;
/**
*
*/
@TableField("corridorIn")
private Integer corridorIn;
/**
*
*/
@TableField("corridorOut")
private Integer corridorOut;
/**
*
*/
@TableField("rangeDistance")
private Integer rangeDistance;
/**
*
*/
@TableField("rangeLimitSpeed")
private Integer rangeLimitSpeed;
/**
*
*/
@TableField("rangeSpeed")
private Integer rangeSpeed;
/**
*
*/
@TableField("passNumber")
private Integer passNumber;
/**
*
*/
@TableField("laneNumber")
private Integer laneNumber;
/**
* enum{ 02 使 }
*/
@TableField("plateType")
private Integer plateType;
/**
* enum{绿}
*/
@TableField("plateColor")
private Integer plateColor;
/**
*
*/
@TableField("plateNumber")
private String plateNumber;
/**
* enum{}
*/
@TableField("vehicleType")
private Integer vehicleType;
/**
* enum{绿}
*/
@TableField("vehicleColor")
private Integer vehicleColor;
/**
*
*/
@TableField("vehicleSpeed")
private Integer vehicleSpeed;
/**
*
*/
@TableField("illegalCode")
private Integer illegalCode;
/**
*
*/
@TableField("illegalCodeChar")
private String illegalCodeChar;
/**
*
*/
@TableField("limitSpeed")
private Integer limitSpeed;
/**
*
*/
@TableField("picNumber")
private Integer picNumber;
/**
*
*/
@TableField("headPic")
private List<String> headPic;
/**
*
*/
@TableField("wholePic")
private List<String> wholePic;
/**
*
*/
@TableField("tailPic")
private List<String> tailPic;
/**
*
*/
@TableField("platePic")
private List<String> platePic;
/**
*
*/
@TableField("shortVideo")
private List<String> shortVideo;
/**
* 1-0-
*/
@TableField("ismatch")
private Integer ismatch;
/**
*
*/
@TableField("remarks")
private String remarks;
/**
*
*/
@TableField("isiteCode")
private String isiteCode;
/**
*
*/
@TableField("iequipCode")
private String iequipCode;
/**
*
*/
@TableField("icaptureTime")
private Date icaptureTime;
/**
*
*/
@TableField("spaceCode")
private String spaceCode;
/**
*
*/
@TableField("subcomno")
private Integer subcomno;
/**
*
* 1-2-
*/
@TableField("direction")
private Integer direction;
}

@ -0,0 +1,193 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author: shuguang
* @date: 20240122 10:01
* @description:
*/
@Data
@TableName("ism_detail_temp")
public class IsmDetailTemp {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("captureTime")
private Date captureTime;
/**
* -012: 3:
*/
@TableField("dataType")
private Integer dataType;
/**
*
*/
@TableField("corridorIn")
private Integer corridorIn;
/**
*
*/
@TableField("corridorOut")
private Integer corridorOut;
/**
*
*/
@TableField("rangeDistance")
private Integer rangeDistance;
/**
*
*/
@TableField("rangeLimitSpeed")
private Integer rangeLimitSpeed;
/**
*
*/
@TableField("rangeSpeed")
private Integer rangeSpeed;
/**
*
*/
@TableField("passNumber")
private Integer passNumber;
/**
*
*/
@TableField("laneNumber")
private Integer laneNumber;
/**
* enum{ 02 使 }
*/
@TableField("plateType")
private Integer plateType;
/**
* enum{绿}
*/
@TableField("plateColor")
private Integer plateColor;
/**
*
*/
@TableField("plateNumber")
private String plateNumber;
/**
* enum{}
*/
@TableField("vehicleType")
private Integer vehicleType;
/**
* enum{绿}
*/
@TableField("vehicleColor")
private Integer vehicleColor;
/**
*
*/
@TableField("vehicleSpeed")
private Integer vehicleSpeed;
/**
*
*/
@TableField("illegalCode")
private Integer illegalCode;
/**
*
*/
@TableField("illegalCodeChar")
private String illegalCodeChar;
/**
*
*/
@TableField("limitSpeed")
private Integer limitSpeed;
/**
*
*/
@TableField("picNumber")
private Integer picNumber;
/**
*
*/
@TableField("headPic")
private List<String> headPic;
/**
*
*/
@TableField("wholePic")
private List<String> wholePic;
/**
*
*/
@TableField("tailPic")
private List<String> tailPic;
/**
*
*/
@TableField("platePic")
private List<String> platePic;
/**
*
*/
@TableField("shortVideo")
private List<String> shortVideo;
/**
* 1-0-
*/
@TableField("ismatch")
private Integer ismatch;
/**
*
*/
@TableField("remarks")
private String remarks;
/**
*
*/
@TableField("isiteCode")
private String isiteCode;
/**
*
*/
@TableField("iequipCode")
private String iequipCode;
/**
*
*/
@TableField("icaptureTime")
private Date icaptureTime;
/**
*
*/
@TableField("spaceCode")
private String spaceCode;
/**
*
*/
@TableField("subcomno")
private Integer subcomno;
/**
*
* 1-2-
*/
@TableField("direction")
private Integer direction;
}

@ -0,0 +1,52 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20240122 11:18
* @description:
*/
@Data
@TableName("ism_equipstatus")
public class IsmEquipStatus {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
* ip
*/
@TableField("equipIp")
private String equipIp;
/**
*
*/
@TableField("detectionTime")
private Date detectionTime;
/**
* -01线23
*/
@TableField("status")
private Integer status;
/**
*
*/
@TableField("statusDetail")
private String statusDetail;
/**
*
*/
@TableField("remarks")
private String remarks;
}

@ -0,0 +1,19 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240520 16:47
* @description:
*/
@Data
@TableName("ism_interval_code")
public class IsmIntervalCode {
@TableField("startSiteCode")
private String startSiteCode;
@TableField("endSiteCode")
private String endSiteCode;
}

@ -0,0 +1,20 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240122 15:40
* @description:
*/
@Data
@TableName("ism_pictype_text")
public class IsmPicTypeText {
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,20 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240122 15:40
* @description:
*/
@Data
@TableName("ism_platecolor_text")
public class IsmPlateColorText {
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,20 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240122 15:40
* @description:
*/
@Data
@TableName("ism_platetype_text")
public class IsmPlateTypeText {
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,38 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20240122 11:23
* @description:
*/
@Data
@TableName("ism_squadsum")
public class IsmSquadSum {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("totalCount")
private String totalCount;
/**
*-yyyy-MM-dd HH:mm:ss
*/
@TableField("time")
private Date time;
}

@ -0,0 +1,20 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240122 15:40
* @description:
*/
@Data
@TableName("ism_vehiclecolor_text")
public class IsmVehicleColorText {
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,20 @@
package com.nmgs.entity.ism;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240122 15:40
* @description:
*/
@Data
@TableName("ism_vehicletype_text")
public class IsmVehicleTypeText {
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,185 @@
package com.nmgs.entity.vd;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author: shuguang
* @date: 20240122 10:01
* @description:
*/
@Data
@TableName("vd_detail")
public class VdDetail {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
* ++
* 2019082412+
* 000001~999999
*/
@TableField("picId")
private String picId;
/**
* yyyymmdd+00~99
* 退
* 2019082412
*/
@TableField("hourBatchNo")
private String hourBatchNo;
/**
*
*/
@TableField("gantryId")
private String gantryId;
/**
* ETCHex
*/
@TableField("gantryHex")
private String gantryHex;
/**
* 12+2
*
* 101102103
* 201202203
*/
@TableField("gantryOrderNum")
private Integer gantryOrderNum;
/**
* 1- 2-
*/
@TableField("driveDir")
private Integer driveDir;
/**
* 101~2991
* 1-2-+2
* 01-99
*/
@TableField("cameraNum")
private Integer cameraNum;
/**
* yyyy-MM-dd HH:mm:ss
*/
@TableField("picTime")
private Date picTime;
/**
* 1-;2-
*/
@TableField("shootPosition")
private Integer shootPosition;
/**
*
*
*
* 11123
* 123
*/
@TableField("laneNum")
private String laneNum;
/**
*
*/
@TableField("vehicleplate")
private String vehicleplate;
/**
*
*/
@TableField("plateColor")
private Integer plateColor;
/**
*
*/
@TableField("vehicleSpeed")
private Integer vehicleSpeed;
/**
*
*/
@TableField("identifyType")
private Integer identifyType;
/**
*
*/
@TableField("identifyAxles")
private Integer identifyAxles;
/**
*
*/
@TableField("vehicleModel")
private String vehicleModel;
/**
*
* 1-
* 2-
* 3-
* 4-
* 5-
* 6-
* 7-
* 8-
* 9-绿
* 10-
* 11-
* 12-
* 13-
* 99-
*/
@TableField("vehicleColor")
private Integer vehicleColor;
/**
*
*/
@TableField("reliability")
private String reliability;
/**
*
*/
@TableField("imageSize")
private Integer imageSize;
/**
*
*/
@TableField("licenseImageSize")
private Integer licenseImageSize;
/**
*
*/
@TableField("headPic")
private List<String> headPic;
/**
*
*/
@TableField("wholePic")
private List<String> wholePic;
/**
*
*/
@TableField("tailPic")
private List<String> tailPic;
/**
*
*/
@TableField("platePic")
private List<String> platePic;
/**
*
*/
@TableField("shortVideo")
private List<String> shortVideo;
/**
*
*/
@TableField("subcomno")
private Integer subcomno;
}

@ -0,0 +1,52 @@
package com.nmgs.entity.vd;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20240122 11:18
* @description:
*/
@Data
@TableName("vd_equipstatus")
public class VdEquipStatus {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
* ip
*/
@TableField("equipIp")
private String equipIp;
/**
*
*/
@TableField("detectionTime")
private Date detectionTime;
/**
* -01线23
*/
@TableField("status")
private Integer status;
/**
*
*/
@TableField("statusDetail")
private String statusDetail;
/**
*
*/
@TableField("remarks")
private String remarks;
}

@ -0,0 +1,38 @@
package com.nmgs.entity.vd;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20240122 11:23
* @description:
*/
@Data
@TableName("vd_squadsum")
public class VdSquadSum {
/**
*
*/
@TableField("siteCode")
private String siteCode;
/**
*
*/
@TableField("equipCode")
private String equipCode;
/**
*
*/
@TableField("totalCount")
private String totalCount;
/**
*-yyyy-MM-dd HH:mm:ss
*/
@TableField("time")
private Date time;
}

@ -0,0 +1,19 @@
package com.nmgs.entity.vd;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240122 16:35
* @description:
*/
@Data
@TableName("vd_vehiclecolor_text")
public class VdVehicleColorText {
@TableField("value")
private Integer value;
@TableField("text")
private String text;
}

@ -0,0 +1,59 @@
package com.nmgs.enumeration;
/**
* @program: ftp-manager
* @description:
* @author: jumper Hou
* @create: 2022/9/8 17:46
**/
public class ErrorCode {
public static class BusinessErrorCode {
public static final String MISSING_PARAMETER = "缺少必要参数";
}
/**
* FTP
*/
public static class FtpConnectCode {
public static final String FTP_CONNECT_FAILED = "ftp服务器连接失败";
public static final String FTP_DISCONNECT_ERROR_OCCURRED = "ftp服务器断开连接异常";
}
/**
* ftp
*/
public static class FtpUploadErrorCode {
public static final String FILE_UPLOAD_FAILED = "文件上传失败";
public static final String FILE_UPLOAD_ERROR_OCCURRED = "文件上传发生异常";
}
/**
* ftp
*/
public static class FtpDownloadErrorCode {
public static final String FILE_DOWNLOAD_ERROR_OCCURRED = "文件下载发生异常";
public static final String FILE_DOWNLOAD_FAILED = "文件下载失败";
}
/**
* ftp
*/
public static class FtpCopyErrorCode {
public static final String FILE_COPY_ERROR_OCCURRED = "文件复制发生异常";
public static final String FILE_COPY_FAILED = "文件复制失败";
}
public static class FtpDeleteErrorCode {
public static final String FILE_DELETE_ERROR_OCCURRED = "文件删除发生异常";
public static final String FILE_DELETE_FAILED = "文件删除失败";
}
public static class FtpCheckErrorCode {
public static final String FILE_EXISTS = "文件已存在";
public static final String FILE_NO_EXISTS = "文件不存在";
}
}

@ -0,0 +1,61 @@
package com.nmgs.enumeration;
/**
* @author: shuguang
* @date: 20231212 17:24
* @description:
*/
public enum MessageEnum {
/**
*
*/
("0", "成功"),
/**
*
*/
("1", "失败"),
/**
*
*/
("10001", "车牌号码不能为空"),
/**
*
*/
("20001", "调用图像接口失败"),
("20002", "调用视频接口失败"),
/**
*
*/
Excel("30001", "导出Excel失败"),
("99999","操作失败"),
;
private String code;
private String message;
MessageEnum(String code, String message) {
this.code = code;
this.message = message;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

@ -0,0 +1,49 @@
package com.nmgs.exception;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*/
/**
* @author: shuguang
* @date: 20221015 16:27
* @description:
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class PPException extends RuntimeException{
/**
*
*/
private String errorCode;
/**
*
*/
private String errorMessage;
public PPException(String errorCode, String errorMessage) {
super(errorCode);
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
public PPException(String message, String errorCode, String errorMessage) {
super(message);
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
public PPException(String message, Throwable cause, String errorCode, String errorMessage) {
super(message, cause);
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
public PPException(Throwable cause, String errorCode, String errorMessage) {
super(cause);
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
}

@ -0,0 +1,40 @@
package com.nmgs.exception;
import com.alibaba.fastjson2.JSON;
import com.nmgs.enumeration.MessageEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
* @author: shuguang
* @date: 20221011 16:27
* @description:
*/
@RestControllerAdvice
@Slf4j
public class PPExceptionHandler {
/**
*
*/
@ExceptionHandler(PPException.class)
public <T> T handlePPException(PPException e) {
Result res = Result.error(e.getErrorCode(), e.getErrorMessage());
log.error("异常处理模块出参:{}", JSON.toJSONString(res));
return (T) JSON.toJSONString(res);
}
/**
*
*/
@ExceptionHandler(Exception.class)
public <T> T handleException(Exception e) {
log.info(e.getMessage(),e);
Result res = Result.error(MessageEnum..getCode(), MessageEnum..getMessage());
log.error("异常处理模块出参:{}", JSON.toJSONString(res));
return (T) JSON.toJSONString(res);
}
}

@ -0,0 +1,43 @@
package com.nmgs.exception;
import com.nmgs.enumeration.MessageEnum;
import lombok.Data;
/**
* @author: shuguang
* @date: 20221016 16:01
* @description:
*/
@Data
public class Result<T> {
private String code;
private String msg;
private T data;
public Result() {
}
public Result(T data) {
this.data = data;
}
public static Result success() {
Result result = new Result<>();
result.setCode(MessageEnum..getCode());
result.setMsg(MessageEnum..getMessage());
return result;
}
public static <T> Result<T> success(T data) {
Result<T> result = new Result<>(data);
result.setCode(MessageEnum..getCode());
result.setMsg(MessageEnum..getMessage());
return result;
}
public static Result error(String code, String msg) {
Result result = new Result();
result.setCode(code);
result.setMsg(msg);
return result;
}
}

@ -0,0 +1,21 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper;
import com.nmgs.entity.cp.CpDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240122 14:24
* @description:
*/
@Mapper
public interface CpDetailMapper extends MPJBaseMapper<CpDetail> {
IPage<Map<String, Object>> getPage(Page page,@Param("map") Map<String, Object> map);
}

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.CpDetailMapper">
<select id="getPage" resultType="java.util.Map">
SELECT
cp_detail.*,
nt.stationName AS stationName,
et.equipName AS equipName,
idtt.text AS dataTypeName,
iptt.text AS plateTypeName,
ipct.text AS plateColorName,
ivtt.text AS vehicleTypeName,
ivct.text AS vehicleColorName,
sct.subcomname AS subcomname,
sct.ip AS subIp,
sct.port AS subPort
FROM
<choose>
<when test="map.phaseNum == 1">
cmdatabase.cp_detail
</when>
<when test="map.phaseNum == 2">
cmdatabase2.cp_detail
</when>
<otherwise>
cmdatabaseall.cp_detail
</otherwise>
</choose>
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.name_table AS nt
</when>
<when test="map.phaseNum == 2">
cmdatabase2.name_table AS nt
</when>
<otherwise>
cmdatabaseall.name_table AS nt
</otherwise>
</choose>
ON nt.stationid = cp_detail.siteCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.equip_text et
</when>
<when test="map.phaseNum == 2">
cmdatabase2.equip_text et
</when>
<otherwise>
cmdatabaseall.equip_text et
</otherwise>
</choose>
ON et.equipid = cp_detail.equipCode
LEFT JOIN cmdatabase.ism_datatype_text AS idtt ON idtt.value = cp_detail.dataType
LEFT JOIN cmdatabase.ism_platetype_text AS iptt ON iptt.value = cp_detail.plateType
LEFT JOIN cmdatabase.ism_platecolor_text AS ipct ON ipct.value = cp_detail.plateColor
LEFT JOIN cmdatabase.ism_vehicletype_text AS ivtt ON ivtt.value = cp_detail.vehicleType
LEFT JOIN cmdatabase.ism_vehiclecolor_text AS ivct ON ivct.value = cp_detail.vehicleColor
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.subcompany_table AS sct
</when>
<when test="map.phaseNum == 2">
cmdatabase2.subcompany_table AS sct
</when>
<otherwise>
cmdatabaseall.subcompany_table AS sct
</otherwise>
</choose>
ON sct.subcomno = cp_detail.subcomno
WHERE 1=1
<if test="map.subcomno != null and map.subcomno != ''">
AND cp_detail.subcomno = #{map.subcomno}
</if>
<if test="map.lineid != null and map.lineid != ''">
AND nt.lineid = #{map.lineid}
</if>
<if test="map.stationid != null and map.stationid != ''">
AND cp_detail.siteCode = #{map.stationid}
</if>
<if test="map.vehplate != null and map.vehplate != ''">
AND cp_detail.plateNumber LIKE CONCAT('%', #{map.vehplate}, '%')
</if>
<if test="map.plateColor != null and map.plateColor != ''">
AND cp_detail.plateColor = #{map.plateColor}
</if>
<if test="map.plateType != null and map.plateType != ''">
AND cp_detail.plateType = #{map.plateType}
</if>
<if test="map.vehicleType != null and map.vehicleType != ''">
AND cp_detail.vehicleType = #{map.vehicleType}
</if>
<if test="map.vehicleColor != null and map.vehicleColor != ''">
AND cp_detail.vehicleColor = #{map.vehicleColor}
</if>
<if test="map.spaceInOrOut != null and map.spaceInOrOut != 0 and map.spaceInOrOut != ''">
AND cp_detail.spaceInOrOut = #{map.spaceInOrOut}
</if>
<if test="map.starttime != null and map.starttime != ''">
AND cp_detail.captureTime >= #{map.starttime}
</if>
<if test="map.endtime != null and map.endtime != ''">
AND cp_detail.captureTime &lt;= #{map.endtime}
</if>
ORDER BY cp_detail.captureTime DESC
</select>
</mapper>

@ -0,0 +1,21 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper;
import com.nmgs.entity.cp.CpDetailTemp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240122 14:24
* @description:
*/
@Mapper
public interface CpDetailTempMapper extends MPJBaseMapper<CpDetailTemp> {
IPage<Map<String, Object>> getHDCheckpointRoughPage(Page page,@Param("map") Map<String, Object> map);
}

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.CpDetailTempMapper">
<select id="getHDCheckpointRoughPage" resultType="java.util.Map">
SELECT
cp_detail_temp.*,
nt.stationName AS stationName,
et.equipName AS equipName,
idtt.text AS dataTypeName,
iptt.text AS plateTypeName,
ipct.text AS plateColorName,
ivtt.text AS vehicleTypeName,
ivct.text AS vehicleColorName,
sct.subcomname AS subcomname,
sct.ip AS subIp,
sct.port AS subPort
FROM
<choose>
<when test="map.phaseNum == 1">
cmdatabase.cp_detail_temp
</when>
<when test="map.phaseNum == 2">
cmdatabase2.cp_detail_temp
</when>
<otherwise>
cmdatabase.cp_detail_temp
</otherwise>
</choose>
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.name_table AS nt
</when>
<when test="map.phaseNum == 2">
cmdatabase2.name_table AS nt
</when>
<otherwise>
cmdatabase.name_table AS nt
</otherwise>
</choose>
ON nt.stationid = cp_detail_temp.siteCode
LEFT JOIN cmdatabase.equip_text AS et ON et.equipid = cp_detail_temp.equipCode
LEFT JOIN cmdatabase.ism_datatype_text AS idtt ON idtt.value = cp_detail_temp.dataType
LEFT JOIN cmdatabase.ism_platetype_text AS iptt ON iptt.value = cp_detail_temp.plateType
LEFT JOIN cmdatabase.ism_platecolor_text AS ipct ON ipct.value = cp_detail_temp.plateColor
LEFT JOIN cmdatabase.ism_vehicletype_text AS ivtt ON ivtt.value = cp_detail_temp.vehicleType
LEFT JOIN cmdatabase.ism_vehiclecolor_text AS ivct ON ivct.value = cp_detail_temp.vehicleColor
LEFT JOIN
<choose>
<when test="map.phaseNum == 2">
cmdatabase2.subcompany_table AS sct
</when>
<otherwise>
cmdatabase.subcompany_table AS sct
</otherwise>
</choose>
ON sct.subcomno = cp_detail_temp.subcomno
WHERE 1=1
<if test="map.subcomno != null">
AND cp_detail_temp.subcomno = #{map.subcomno}
</if>
<if test="map.lineid != null">
AND nt.lineid = #{map.lineid}
</if>
<if test="map.stationid != null">
AND cp_detail_temp.siteCode = #{map.stationid}
</if>
<if test="map.vehplate != null">
AND cp_detail_temp.plateNumber LIKE CONCAT('%', #{map.vehplate}, '%')
</if>
<if test="map.spaceInOrOut != null and map.spaceInOrOut != 0">
AND cp_detail_temp.spaceInOrOut = #{map.spaceInOrOut}
</if>
<if test="map.starttime != null">
AND cp_detail_temp.captureTime >= #{map.starttime}
</if>
<if test="map.endtime != null">
AND cp_detail_temp.captureTime &lt;= #{map.endtime}
</if>
ORDER BY cp_detail_temp.captureTime DESC
</select>
</mapper>

@ -0,0 +1,14 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.cp.CpEquipStatus;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: shuguang
* @date: 20240122 14:25
* @description:
*/
@Mapper
public interface CpEquipStatusMapper extends BaseMapper<CpEquipStatus> {
}

@ -0,0 +1,14 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.cp.CpSquadSum;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: shuguang
* @date: 20240122 14:26
* @description:
*/
@Mapper
public interface CpSquadSumMapper extends BaseMapper<CpSquadSum> {
}

@ -0,0 +1,14 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.EquipText;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: shuguang
* @date: 20240128 12:59
* @description:
*/
@Mapper
public interface EquipTextMapper extends BaseMapper<EquipText> {
}

@ -0,0 +1,14 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.EquipText2;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: shuguang
* @date: 20240128 12:59
* @description:
*/
@Mapper
public interface EquipTextMapper2 extends BaseMapper<EquipText2> {
}

@ -0,0 +1,14 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.EquipTypeText;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: shuguang
* @date: 20231220 15:38
* @description:
*/
@Mapper
public interface EquipTypeTextMapper extends BaseMapper<EquipTypeText> {
}

@ -0,0 +1,20 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper;
import com.nmgs.entity.cp.FpDetail;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240531 15:14
* @description:
*/
@Mapper
public interface FpDetailMapper extends MPJBaseMapper<FpDetail> {
IPage<Map<String, Object>> getFixedPointPage(Page page, Map<String, Object> map);
}

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.FpDetailMapper">
<select id="getFixedPointPage" resultType="java.util.Map">
SELECT
fp_detail.*,
nt.stationName AS stationName,
et.equipName AS equipName,
idtt.text AS dataTypeName,
iptt.text AS plateTypeName,
ipct.text AS plateColorName,
ivtt.text AS vehicleTypeName,
ivct.text AS vehicleColorName,
sct.subcomname AS subcomname,
sct.ip AS subIp,
sct.port AS subPort
FROM
<choose>
<when test="map.phaseNum == 1">
cmdatabase.fp_detail
</when>
<when test="map.phaseNum == 2">
cmdatabase2.fp_detail
</when>
<otherwise>
cmdatabaseall.fp_detail
</otherwise>
</choose>
LEFT JOIN cmdatabase.name_table AS nt ON nt.stationid = fp_detail.siteCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.equip_text et
</when>
<when test="map.phaseNum == 2">
cmdatabase2.equip_text et
</when>
<otherwise>
cmdatabaseall.equip_text et
</otherwise>
</choose>
ON et.equipid = fp_detail.equipCode
LEFT JOIN cmdatabase.ism_datatype_text AS idtt ON idtt.value = fp_detail.dataType
LEFT JOIN cmdatabase.ism_platetype_text AS iptt ON iptt.value = fp_detail.plateType
LEFT JOIN cmdatabase.ism_platecolor_text AS ipct ON ipct.value = fp_detail.plateColor
LEFT JOIN cmdatabase.ism_vehicletype_text AS ivtt ON ivtt.value = fp_detail.vehicleType
LEFT JOIN cmdatabase.ism_vehiclecolor_text AS ivct ON ivct.value = fp_detail.vehicleColor
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.subcompany_table AS sct
</when>
<when test="map.phaseNum == 2">
cmdatabase2.subcompany_table AS sct
</when>
<otherwise>
cmdatabaseall.subcompany_table AS sct
</otherwise>
</choose>
ON sct.subcomno = nt.subcomno
WHERE 1=1
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
<if test="map.lineid != null and map.lineid != ''">
AND nt.lineid = #{map.lineid}
</if>
<if test="map.stationid != null and map.stationid != ''">
AND fp_detail.siteCode = #{map.stationid}
</if>
<if test="map.vehplate != null and map.vehplate != ''">
AND fp_detail.plateNumber LIKE CONCAT('%', #{map.vehplate}, '%')
</if>
<if test="map.plateColor != null and map.plateColor != ''">
AND fp_detail.plateColor = #{map.plateColor}
</if>
<if test="map.plateType != null and map.plateType != ''">
AND fp_detail.plateType = #{map.plateType}
</if>
<if test="map.vehicleType != null and map.vehicleType != ''">
AND fp_detail.vehicleType = #{map.vehicleType}
</if>
<if test="map.vehicleColor != null and map.vehicleColor != ''">
AND fp_detail.vehicleColor = #{map.vehicleColor}
</if>
<if test="map.overspeedflag != null and map.overspeedflag != 2 and map.overspeedflag != ''">
<choose>
<when test="map.overspeedflag == 0">
AND fp_detail.vehicleSpeed &lt;= fp_detail.limitSpeed
</when>
<when test="map.overspeedflag == 1">
AND fp_detail.vehicleSpeed > fp_detail.limitSpeed
</when>
</choose>
</if>
<if test="map.starttime != null and map.starttime != ''">
AND fp_detail.captureTime >= #{map.starttime}
</if>
<if test="map.endtime != null and map.endtime != ''">
AND fp_detail.captureTime &lt;= #{map.endtime}
</if>
ORDER BY fp_detail.captureTime DESC
</select>
</mapper>

@ -0,0 +1,20 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper;
import com.nmgs.entity.cp.FpDetailTemp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240531 15:14
* @description:
*/
@Mapper
public interface FpDetailTempMapper extends MPJBaseMapper<FpDetailTemp> {
IPage<Map<String, Object>> getFixedPointRoughPage(Page page, @Param("map")Map<String, Object> map);
}

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.FpDetailTempMapper">
<select id="getFixedPointRoughPage" resultType="java.util.Map">
SELECT
fp_detail_temp.*,
nt.stationName AS stationName,
et.equipName AS equipName,
idtt.text AS dataTypeName,
iptt.text AS plateTypeName,
ipct.text AS plateColorName,
ivtt.text AS vehicleTypeName,
ivct.text AS vehicleColorName,
sct.subcomname AS subcomname,
sct.ip AS subIp,
sct.port AS subPort
FROM
<choose>
<when test="map.phaseNum == 1">
cmdatabase.fp_detail_temp
</when>
<when test="map.phaseNum == 2">
cmdatabase2.fp_detail_temp
</when>
<otherwise>
cmdatabase.fp_detail_temp
</otherwise>
</choose>
LEFT JOIN cmdatabase.name_table AS nt ON nt.stationid = fp_detail_temp.siteCode
LEFT JOIN cmdatabase.equip_text AS et ON et.equipid = fp_detail_temp.equipCode
LEFT JOIN cmdatabase.ism_datatype_text AS idtt ON idtt.value = fp_detail_temp.dataType
LEFT JOIN cmdatabase.ism_platetype_text AS iptt ON iptt.value = fp_detail_temp.plateType
LEFT JOIN cmdatabase.ism_platecolor_text AS ipct ON ipct.value = fp_detail_temp.plateColor
LEFT JOIN cmdatabase.ism_vehicletype_text AS ivtt ON ivtt.value = fp_detail_temp.vehicleType
LEFT JOIN cmdatabase.ism_vehiclecolor_text AS ivct ON ivct.value = fp_detail_temp.vehicleColor
LEFT JOIN
<choose>
<when test="map.phaseNum == 2">
cmdatabase2.subcompany_table AS sct
</when>
<otherwise>
cmdatabase.subcompany_table AS sct
</otherwise>
</choose>
ON sct.subcomno = nt.subcomno
WHERE 1=1
<if test="map.subcomno != null">
AND nt.subcomno = #{map.subcomno}
</if>
<if test="map.lineid != null">
AND nt.lineid = #{map.lineid}
</if>
<if test="map.stationid != null">
AND fp_detail_temp.siteCode = #{map.stationid}
</if>
<if test="map.vehplate != null">
AND fp_detail_temp.plateNumber LIKE CONCAT('%', #{map.vehplate}, '%')
</if>
<if test="map.overspeedflag != null and map.overspeedflag != 2">
<choose>
<when test="map.overspeedflag == 0">
AND fp_detail_temp.vehicleSpeed &lt;= fp_detail_temp.limitSpeed
</when>
<when test="map.overspeedflag == 1">
AND fp_detail_temp.vehicleSpeed > fp_detail_temp.limitSpeed
</when>
</choose>
</if>
<if test="map.starttime != null">
AND fp_detail_temp.captureTime >= #{map.starttime}
</if>
<if test="map.endtime != null">
AND fp_detail_temp.captureTime &lt;= #{map.endtime}
</if>
ORDER BY fp_detail_temp.captureTime DESC
</select>
</mapper>

@ -0,0 +1,21 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper;
import com.nmgs.entity.cp.GSCpDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240122 14:24
* @description:
*/
@Mapper
public interface GSCpDetailMapper extends MPJBaseMapper<GSCpDetail> {
IPage<Map<String, Object>> getGSPage(Page page, @Param("map")Map<String, Object> map);
}

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.GSCpDetailMapper">
<select id="getGSPage" resultType="java.util.Map">
SELECT
gscp_detail.*,
nt.stationName AS stationName,
et.equipName AS equipName,
idtt.text AS dataTypeName,
iptt.text AS plateTypeName,
ipct.text AS plateColorName,
ivtt.text AS vehicleTypeName,
ivct.text AS vehicleColorName,
sct.subcomname AS subcomname,
sct.ip AS subIp,
sct.port AS subPort
FROM
<choose>
<when test="map.phaseNum == 1">
cmdatabase.gscp_detail
</when>
<when test="map.phaseNum == 2">
cmdatabase2.gscp_detail
</when>
<otherwise>
cmdatabaseall.gscp_detail
</otherwise>
</choose>
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.name_table AS nt
</when>
<when test="map.phaseNum == 2">
cmdatabase2.name_table AS nt
</when>
<otherwise>
cmdatabaseall.name_table AS nt
</otherwise>
</choose>
ON nt.stationid = gscp_detail.siteCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.equip_text et
</when>
<when test="map.phaseNum == 2">
cmdatabase2.equip_text et
</when>
<otherwise>
cmdatabaseall.equip_text et
</otherwise>
</choose>
ON et.equipid = gscp_detail.equipCode
LEFT JOIN cmdatabase.ism_datatype_text AS idtt ON idtt.value = gscp_detail.dataType
LEFT JOIN cmdatabase.ism_platetype_text AS iptt ON iptt.value = gscp_detail.plateType
LEFT JOIN cmdatabase.ism_platecolor_text AS ipct ON ipct.value = gscp_detail.plateColor
LEFT JOIN cmdatabase.ism_vehicletype_text AS ivtt ON ivtt.value = gscp_detail.vehicleType
LEFT JOIN cmdatabase.ism_vehiclecolor_text AS ivct ON ivct.value = gscp_detail.vehicleColor
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.subcompany_table AS sct
</when>
<when test="map.phaseNum == 2">
cmdatabase2.subcompany_table AS sct
</when>
<otherwise>
cmdatabaseall.subcompany_table AS sct
</otherwise>
</choose>
ON sct.subcomno = gscp_detail.subcomno
WHERE 1=1
<if test="map.subcomno != null and map.subcomno != ''">
AND gscp_detail.subcomno = #{map.subcomno}
</if>
<if test="map.lineid != null and map.lineid != ''">
AND nt.lineid = #{map.lineid}
</if>
<if test="map.stationid != null and map.stationid != ''">
AND gscp_detail.siteCode = #{map.stationid}
</if>
<if test="map.vehplate != null and map.vehplate != ''">
AND gscp_detail.plateNumber LIKE CONCAT('%', #{map.vehplate}, '%')
</if>
<if test="map.plateColor != null and map.plateColor != ''">
AND gscp_detail.plateColor = #{map.plateColor}
</if>
<if test="map.plateType != null and map.plateType != ''">
AND gscp_detail.plateType = #{map.plateType}
</if>
<if test="map.vehicleType != null and map.vehicleType != ''">
AND gscp_detail.vehicleType = #{map.vehicleType}
</if>
<if test="map.vehicleColor != null and map.vehicleColor != ''">
AND gscp_detail.vehicleColor = #{map.vehicleColor}
</if>
<if test="map.spaceInOrOut != null and map.spaceInOrOut != 0 and map.spaceInOrOut != ''">
AND gscp_detail.spaceInOrOut = #{map.spaceInOrOut}
</if>
<if test="map.starttime != null and map.starttime != ''">
AND gscp_detail.captureTime >= #{map.starttime}
</if>
<if test="map.endtime != null and map.endtime != ''">
AND gscp_detail.captureTime &lt;= #{map.endtime}
</if>
ORDER BY gscp_detail.captureTime DESC
</select>
</mapper>

@ -0,0 +1,20 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper;
import com.nmgs.entity.cp.GSCpDetailTemp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240122 14:24
* @description:
*/
@Mapper
public interface GSCpDetailTempMapper extends MPJBaseMapper<GSCpDetailTemp> {
IPage<Map<String, Object>> getGSHDCheckpointRoughPage(Page page, @Param("map") Map<String, Object> map);
}

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.GSCpDetailTempMapper">
<select id="getGSHDCheckpointRoughPage" resultType="java.util.Map">
SELECT
gscp_detail_temp.*,
nt.stationName AS stationName,
et.equipName AS equipName,
idtt.text AS dataTypeName,
iptt.text AS plateTypeName,
ipct.text AS plateColorName,
ivtt.text AS vehicleTypeName,
ivct.text AS vehicleColorName,
sct.subcomname AS subcomname,
sct.ip AS subIp,
sct.port AS subPort
FROM
<choose>
<when test="map.phaseNum == 1">
cmdatabase.gscp_detail_temp
</when>
<when test="map.phaseNum == 2">
cmdatabase2.gscp_detail_temp
</when>
<otherwise>
cmdatabaseall.gscp_detail_temp
</otherwise>
</choose>
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.name_table AS nt
</when>
<when test="map.phaseNum == 2">
cmdatabase2.name_table AS nt
</when>
<otherwise>
cmdatabaseall.name_table AS nt
</otherwise>
</choose>
ON nt.stationid = gscp_detail_temp.siteCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.equip_text AS et
</when>
<when test="map.phaseNum == 2">
cmdatabase2.equip_text AS et
</when>
<otherwise>
cmdatabaseall.equip_text AS et
</otherwise>
</choose>
ON et.equipid = gscp_detail_temp.equipCode
LEFT JOIN cmdatabase.ism_datatype_text AS idtt ON idtt.value = gscp_detail_temp.dataType
LEFT JOIN cmdatabase.ism_platetype_text AS iptt ON iptt.value = gscp_detail_temp.plateType
LEFT JOIN cmdatabase.ism_platecolor_text AS ipct ON ipct.value = gscp_detail_temp.plateColor
LEFT JOIN cmdatabase.ism_vehicletype_text AS ivtt ON ivtt.value = gscp_detail_temp.vehicleType
LEFT JOIN cmdatabase.ism_vehiclecolor_text AS ivct ON ivct.value = gscp_detail_temp.vehicleColor
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.subcompany_table AS sct
</when>
<when test="map.phaseNum == 2">
cmdatabase2.subcompany_table AS sct
</when>
<otherwise>
cmdatabaseall.subcompany_table AS sct
</otherwise>
</choose>
ON sct.subcomno = gscp_detail_temp.subcomno
WHERE 1=1
<if test="map.subcomno != null">
AND gscp_detail_temp.subcomno = #{map.subcomno}
</if>
<if test="map.lineid != null">
AND nt.lineid = #{map.lineid}
</if>
<if test="map.stationid != null">
AND gscp_detail_temp.siteCode = #{map.stationid}
</if>
<if test="map.vehplate != null">
AND gscp_detail_temp.plateNumber LIKE CONCAT('%', #{map.vehplate}, '%')
</if>
<if test="map.spaceInOrOut != null and map.spaceInOrOut != 0">
AND gscp_detail_temp.spaceInOrOut = #{map.spaceInOrOut}
</if>
<if test="map.starttime != null">
AND gscp_detail_temp.captureTime >= #{map.starttime}
</if>
<if test="map.endtime != null">
AND gscp_detail_temp.captureTime &lt;= #{map.endtime}
</if>
ORDER BY gscp_detail_temp.captureTime DESC
</select>
</mapper>

@ -0,0 +1,20 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
@Mapper
public interface Get_OperMassageMapper {
List selectforlist(@Param("sql") String sql);
}

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.Get_OperMassageMapper">
<select id="selectforlist" parameterType="String" resultType="com.nmgs.util.HashMapUpper">
${sql}
</select>
</mapper>

@ -0,0 +1,37 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @author: shuguang
* @date: 20250718 14:16
* @description:
*/
@Mapper
public interface HomeMapper {
Map<String, Object> selectDataAggregation(@Param("map") Map<String, Object> map);
List<Map<String, Object>> selectDataMonitoring(@Param("map") Map<String, Object> map);
IPage<Map<String, Object>> selectOverloadUploadedSites(@Param("map") Map<String, Object> map, Page page);
IPage<Map<String, Object>> selectOverloadNotUploadedSites(@Param("map") Map<String, Object> map, Page page);
IPage<Map<String, Object>> selectFpUploadedSites(@Param("map") Map<String, Object> map, Page page);
IPage<Map<String, Object>> selectFpNotUploadedSites(@Param("map") Map<String, Object> map, Page page);
IPage<Map<String, Object>> selectCpUploadedSites(@Param("map") Map<String, Object> map, Page page);
IPage<Map<String, Object>> selectCpNotUploadedSites(@Param("map") Map<String, Object> map, Page page);
IPage<Map<String, Object>> selectVdUploadedSites(@Param("map") Map<String, Object> map, Page page);
IPage<Map<String, Object>> selectVdNotUploadedSites(@Param("map") Map<String, Object> map, Page page);
}

@ -0,0 +1,560 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.HomeMapper">
<select id="selectDataAggregation" resultType="java.util.Map">
SELECT
<choose>
<when test="map.phaseNum == 1">
(SELECT IFNULL(SUM(totalnum), 0) FROM cmdatabase.overload_today_sta WHERE detectiontime =
DATE_FORMAT(NOW(), '%Y%m%d')) AS overload_sum,
(SELECT IFNULL(SUM(totalCount), 0) FROM cmdatabase.ism_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS ism_sum,
(SELECT IFNULL(SUM(totalCount), 0) FROM cmdatabase.fp_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS fp_sum,
(select count(1) from (select siteCode from cmdatabase.vd_detail where picTime >DATE_ADD(now(),INTERVAL
-1 HOUR) GROUP BY siteCode)a) AS vd_sum
</when>
<when test="map.phaseNum == 2">
(SELECT IFNULL(SUM(totalnum), 0) FROM cmdatabase2.overload_today_sta WHERE detectiontime =
DATE_FORMAT(NOW(), '%Y%m%d')) AS overload_sum,
(SELECT IFNULL(SUM(totalCount), 0) FROM cmdatabase2.ism_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS ism_sum,
(SELECT IFNULL(SUM(totalCount), 0) FROM cmdatabase2.fp_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS fp_sum,
(select count(1) from (select siteCode from cmdatabase2.vd_detail where picTime >DATE_ADD(now(),INTERVAL
-1 HOUR) GROUP BY siteCode)a) AS vd_sum
</when>
<otherwise>
(SELECT IFNULL(SUM(totalnum), 0) FROM cmdatabaseall.overload_today_sta WHERE detectiontime =
DATE_FORMAT(NOW(), '%Y%m%d')) AS overload_sum,
(SELECT IFNULL(SUM(totalCount), 0) FROM cmdatabaseall.ism_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS ism_sum,
(SELECT IFNULL(SUM(totalCount), 0) FROM cmdatabaseall.fp_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS fp_sum,
(select count(1) from (select siteCode from cmdatabaseall.vd_detail where picTime >DATE_ADD(now(),INTERVAL
-1 HOUR) GROUP BY siteCode)a) AS vd_sum
</otherwise>
</choose>
</select>
<select id="selectDataMonitoring" resultType="java.util.Map">
<choose>
<when test="map.phaseNum == 1">
SELECT 'overload' AS type,
(SELECT IFNULL(SUM(outnum), 0) FROM cmdatabase.overload_today_sta WHERE detectiontime =
DATE_FORMAT(NOW(), '%Y%m%d')) AS overloadCount,
(SELECT COUNT(1) FROM (SELECT siteCode FROM cmdatabase.overload_today_sta WHERE detectiontime =
DATE_FORMAT(NOW(), '%Y%m%d') GROUP BY siteCode) AS a) AS uploadedSites,
(SELECT COUNT(1) FROM (SELECT a.stationid, IFNULL(b.num, 0) AS num FROM (SELECT stationid FROM
cmdatabase.name_table WHERE kindid=1 GROUP BY stationid) AS a LEFT JOIN (SELECT siteCode,
IFNULL(SUM(totalnum), 0) AS num FROM cmdatabase.overload_today_sta GROUP BY siteCode) AS b ON
a.stationid = b.siteCode) AS a WHERE a.num = 0) AS notUploadedSites
UNION ALL
SELECT 'ism' AS type,
(SELECT IFNULL(SUM(overSpeedCount), 0) FROM cmdatabase.ism_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS overloadCount,
(SELECT COUNT(1) FROM (SELECT a.stationid, IFNULL(b.num, 0) AS num FROM (SELECT stationid FROM
cmdatabase.name_table WHERE kindid = 2 GROUP BY stationid) AS a LEFT JOIN (SELECT siteCode, COUNT(1) AS
num FROM cmdatabase.cp_today_sta WHERE ismFlag=1 AND captureTime >= DATE_FORMAT(NOW(), '%Y%m%d') GROUP
BY siteCode) AS b ON a.stationid = b.siteCode) AS a WHERE a.num > 0) AS uploadedSites,
(SELECT COUNT(1) FROM (SELECT a.stationid, IFNULL(b.num, 0) AS num FROM (SELECT stationid FROM
cmdatabase.name_table WHERE kindid = 2 GROUP BY stationid) AS a LEFT JOIN (SELECT siteCode, COUNT(1) AS
num FROM cmdatabase.cp_today_sta WHERE ismFlag=1 AND captureTime >= DATE_FORMAT(NOW(), '%Y%m%d') GROUP
BY siteCode) AS b ON a.stationid = b.siteCode) AS a WHERE a.num = 0) AS notUploadedSites
UNION ALL
SELECT 'fp' AS type,
(SELECT IFNULL(SUM(overSpeedCount), 0) FROM cmdatabase.fp_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS overloadCount,
(SELECT COUNT(1) FROM (SELECT siteCode FROM cmdatabase.fp_today_sta WHERE captureTime =
DATE_FORMAT(NOW(), '%Y%m%d') GROUP BY siteCode) AS a) AS uploadedSites,
(SELECT COUNT(1) FROM (SELECT * FROM cmdatabase.name_table WHERE kindid=5 AND stationid NOT IN (SELECT
siteCode FROM cmdatabase.fp_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d') GROUP BY
siteCode)) AS a) AS notUploadedSites
UNION ALL
SELECT 'vd' AS type,
(select count(1) from (select siteCode from cmdatabase.vd_detail where picTime >DATE_ADD(now(),INTERVAL
-1 HOUR) GROUP BY siteCode)a) AS overloadCount,
(select count(1) from ( select * from cmdatabase.name_table where kindid=4 and stationid in (select
siteCode from cmdatabase.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY siteCode
))a) AS uploadedSites,
(select count(1) from ( select * from cmdatabase.name_table where kindid=4 and stationid not in (select
siteCode from cmdatabase.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY siteCode
))a) AS notUploadedSites
</when>
<when test="map.phaseNum == 2">
SELECT 'overload' AS type,
(SELECT IFNULL(SUM(outnum), 0) FROM cmdatabase2.overload_today_sta WHERE detectiontime =
DATE_FORMAT(NOW(), '%Y%m%d')) AS overloadCount,
(SELECT COUNT(1) FROM (SELECT siteCode FROM cmdatabase2.overload_today_sta WHERE detectiontime =
DATE_FORMAT(NOW(), '%Y%m%d') GROUP BY siteCode) AS a) AS uploadedSites,
(SELECT COUNT(1) FROM (SELECT a.stationid, IFNULL(b.num, 0) AS num FROM (SELECT stationid FROM
cmdatabase2.name_table WHERE kindid=1 GROUP BY stationid) AS a LEFT JOIN (SELECT siteCode,
IFNULL(SUM(totalnum), 0) AS num FROM cmdatabase2.overload_today_sta GROUP BY siteCode) AS b ON
a.stationid = b.siteCode) AS a WHERE a.num = 0) AS notUploadedSites
UNION ALL
SELECT 'ism' AS type,
(SELECT IFNULL(SUM(overSpeedCount), 0) FROM cmdatabase2.ism_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS overloadCount,
(SELECT COUNT(1) FROM (SELECT a.stationid, IFNULL(b.num, 0) AS num FROM (SELECT stationid FROM
cmdatabase2.name_table WHERE kindid = 2 GROUP BY stationid) AS a LEFT JOIN (SELECT siteCode, COUNT(1) AS
num FROM cmdatabase2.cp_today_sta WHERE ismFlag=1 AND captureTime >= DATE_FORMAT(NOW(), '%Y%m%d') GROUP
BY siteCode) AS b ON a.stationid = b.siteCode) AS a WHERE a.num > 0) AS uploadedSites,
(SELECT COUNT(1) FROM (SELECT a.stationid, IFNULL(b.num, 0) AS num FROM (SELECT stationid FROM
cmdatabase2.name_table WHERE kindid = 2 GROUP BY stationid) AS a LEFT JOIN (SELECT siteCode, COUNT(1) AS
num FROM cmdatabase2.cp_today_sta WHERE ismFlag=1 AND captureTime >= DATE_FORMAT(NOW(), '%Y%m%d') GROUP
BY siteCode) AS b ON a.stationid = b.siteCode) AS a WHERE a.num = 0) AS notUploadedSites
UNION ALL
SELECT 'fp' AS type,
(SELECT IFNULL(SUM(overSpeedCount), 0) FROM cmdatabase2.fp_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS overloadCount,
(SELECT COUNT(1) FROM (SELECT siteCode FROM cmdatabase2.fp_today_sta WHERE captureTime =
DATE_FORMAT(NOW(), '%Y%m%d') GROUP BY siteCode) AS a) AS uploadedSites,
(SELECT COUNT(1) FROM (SELECT * FROM cmdatabase2.name_table WHERE kindid=5 AND stationid NOT IN (SELECT
siteCode FROM cmdatabase2.fp_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d') GROUP BY
siteCode)) AS a) AS notUploadedSites
UNION ALL
SELECT 'vd' AS type,
(select count(1) from (select siteCode from cmdatabase2.vd_detail where picTime >DATE_ADD(now(),INTERVAL
-1 HOUR) GROUP BY siteCode)a) AS overloadCount,
(select count(1) from ( select * from cmdatabase2.name_table where kindid=4 and stationid in (select
siteCode from cmdatabase2.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY siteCode
))a) AS uploadedSites,
(select count(1) from ( select * from cmdatabase2.name_table where kindid=4 and stationid not in (select
siteCode from cmdatabase2.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY siteCode
))a) AS notUploadedSites
</when>
<otherwise>
SELECT 'overload' AS type,
(SELECT IFNULL(SUM(outnum), 0) FROM cmdatabaseall.overload_today_sta WHERE detectiontime =
DATE_FORMAT(NOW(), '%Y%m%d')) AS overloadCount,
(SELECT COUNT(1) FROM (SELECT siteCode FROM cmdatabaseall.overload_today_sta WHERE detectiontime =
DATE_FORMAT(NOW(), '%Y%m%d') GROUP BY siteCode) AS a) AS uploadedSites,
(SELECT COUNT(1) FROM (SELECT a.stationid, IFNULL(b.num, 0) AS num FROM (SELECT stationid FROM
cmdatabaseall.name_table WHERE kindid=1 GROUP BY stationid) AS a LEFT JOIN (SELECT siteCode,
IFNULL(SUM(totalnum), 0) AS num FROM cmdatabaseall.overload_today_sta GROUP BY siteCode) AS b ON
a.stationid = b.siteCode) AS a WHERE a.num = 0) AS notUploadedSites
UNION ALL
SELECT 'ism' AS type,
(SELECT IFNULL(SUM(overSpeedCount), 0) FROM cmdatabaseall.ism_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS overloadCount,
(SELECT COUNT(1) FROM (SELECT a.stationid, IFNULL(b.num, 0) AS num FROM (SELECT stationid FROM
cmdatabaseall.name_table WHERE kindid = 2 GROUP BY stationid) AS a LEFT JOIN (SELECT siteCode, COUNT(1) AS
num FROM cmdatabaseall.cp_today_sta WHERE ismFlag=1 AND captureTime >= DATE_FORMAT(NOW(), '%Y%m%d') GROUP
BY siteCode) AS b ON a.stationid = b.siteCode) AS a WHERE a.num > 0) AS uploadedSites,
(SELECT COUNT(1) FROM (SELECT a.stationid, IFNULL(b.num, 0) AS num FROM (SELECT stationid FROM
cmdatabaseall.name_table WHERE kindid = 2 GROUP BY stationid) AS a LEFT JOIN (SELECT siteCode, COUNT(1) AS
num FROM cmdatabaseall.cp_today_sta WHERE ismFlag=1 AND captureTime >= DATE_FORMAT(NOW(), '%Y%m%d') GROUP
BY siteCode) AS b ON a.stationid = b.siteCode) AS a WHERE a.num = 0) AS notUploadedSites
UNION ALL
SELECT 'fp' AS type,
(SELECT IFNULL(SUM(overSpeedCount), 0) FROM cmdatabaseall.fp_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')) AS overloadCount,
(SELECT COUNT(1) FROM (SELECT siteCode FROM cmdatabaseall.fp_today_sta WHERE captureTime =
DATE_FORMAT(NOW(), '%Y%m%d') GROUP BY siteCode) AS a) AS uploadedSites,
(SELECT COUNT(1) FROM (SELECT * FROM cmdatabaseall.name_table WHERE kindid=5 AND stationid NOT IN (SELECT
siteCode FROM cmdatabaseall.fp_today_sta WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d') GROUP BY
siteCode)) AS a) AS notUploadedSites
UNION ALL
SELECT 'vd' AS type,
(select count(1) from (select siteCode from cmdatabaseall.vd_detail where picTime >DATE_ADD(now(),INTERVAL
-1 HOUR) GROUP BY siteCode)a) AS overloadCount,
(select count(1) from ( select * from cmdatabaseall.name_table where kindid=4 and stationid in (select
siteCode from cmdatabaseall.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY siteCode
))a) AS uploadedSites,
(select count(1) from ( select * from cmdatabaseall.name_table where kindid=4 and stationid not in (select
siteCode from cmdatabaseall.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY siteCode
))a) AS notUploadedSites
</otherwise>
</choose>
</select>
<select id="selectOverloadUploadedSites" resultType="java.util.Map">
<choose>
<when test="map.phaseNum == 1">
SELECT s.subcomname,nt.*
FROM cmdatabase.name_table nt
LEFT JOIN (
SELECT siteCode
FROM cmdatabase.overload_today_sta
WHERE detectiontime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) ots ON nt.stationid = ots.siteCode
LEFT JOIN cmdatabase.subcompany_table s ON nt.subcomno = s.subcomno
WHERE nt.kindid = 1
AND ots.siteCode IS NOT NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<when test="map.phaseNum == 2">
SELECT s.subcomname,nt.*
FROM cmdatabase2.name_table nt
LEFT JOIN (
SELECT siteCode
FROM cmdatabase2.overload_today_sta
WHERE detectiontime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) ots ON nt.stationid = ots.siteCode
LEFT JOIN cmdatabase2.subcompany_table s ON nt.subcomno = s.subcomno
WHERE nt.kindid = 1
AND ots.siteCode IS NOT NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<otherwise>
SELECT s.subcomname,nt.*
FROM cmdatabaseall.name_table nt
LEFT JOIN (
SELECT siteCode
FROM cmdatabaseall.overload_today_sta
WHERE detectiontime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) ots ON nt.stationid = ots.siteCode
LEFT JOIN cmdatabaseall.subcompany_table s ON nt.subcomno = s.subcomno and nt.phaseNum = s.phaseNum
WHERE nt.kindid = 1
AND ots.siteCode IS NOT NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</otherwise>
</choose>
</select>
<select id="selectOverloadNotUploadedSites" resultType="java.util.Map">
<choose>
<when test="map.phaseNum == 1">
SELECT s.subcomname,nt.*
FROM cmdatabase.name_table nt
LEFT JOIN cmdatabase.subcompany_table s ON nt.subcomno = s.subcomno
LEFT JOIN (
SELECT siteCode, IFNULL(SUM(totalnum), 0) AS num
FROM cmdatabase.overload_today_sta
WHERE detectiontime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) b ON nt.stationid = b.siteCode
WHERE nt.kindid = 1 AND b.num IS NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<when test="map.phaseNum == 2">
SELECT s.subcomname,nt.*
FROM cmdatabase2.name_table nt
LEFT JOIN cmdatabase2.subcompany_table s ON nt.subcomno = s.subcomno
LEFT JOIN (
SELECT siteCode, IFNULL(SUM(totalnum), 0) AS num
FROM cmdatabase2.overload_today_sta
WHERE detectiontime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) b ON nt.stationid = b.siteCode
WHERE nt.kindid = 1 AND b.num IS NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<otherwise>
SELECT s.subcomname,nt.*
FROM cmdatabaseall.name_table nt
LEFT JOIN cmdatabaseall.subcompany_table s ON nt.subcomno = s.subcomno and nt.phaseNum = s.phaseNum
LEFT JOIN (
SELECT siteCode, IFNULL(SUM(totalnum), 0) AS num
FROM cmdatabaseall.overload_today_sta
WHERE detectiontime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) b ON nt.stationid = b.siteCode
WHERE nt.kindid = 1 AND b.num IS NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</otherwise>
</choose>
</select>
<select id="selectFpUploadedSites" resultType="java.util.Map">
<choose>
<when test="map.phaseNum == 1">
SELECT s.subcomname,nt.*
FROM cmdatabase.name_table nt
LEFT JOIN (
SELECT siteCode
FROM cmdatabase.fp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) ots ON nt.stationid = ots.siteCode
LEFT JOIN cmdatabase.subcompany_table s ON nt.subcomno = s.subcomno
WHERE nt.kindid = 5
AND ots.siteCode IS NOT NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<when test="map.phaseNum == 2">
SELECT s.subcomname,nt.*
FROM cmdatabase2.name_table nt
LEFT JOIN (
SELECT siteCode
FROM cmdatabase2.fp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) ots ON nt.stationid = ots.siteCode
LEFT JOIN cmdatabase2.subcompany_table s ON nt.subcomno = s.subcomno
WHERE nt.kindid = 5
AND ots.siteCode IS NOT NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<otherwise>
SELECT s.subcomname,nt.*
FROM cmdatabaseall.name_table nt
LEFT JOIN (
SELECT siteCode
FROM cmdatabaseall.fp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) ots ON nt.stationid = ots.siteCode
LEFT JOIN cmdatabaseall.subcompany_table s ON nt.subcomno = s.subcomno and nt.phaseNum = s.phaseNum
WHERE nt.kindid = 5
AND ots.siteCode IS NOT NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</otherwise>
</choose>
</select>
<select id="selectFpNotUploadedSites" resultType="java.util.Map">
<choose>
<when test="map.phaseNum == 1">
SELECT s.subcomname,nt.*
FROM cmdatabase.name_table nt
LEFT JOIN cmdatabase.subcompany_table s ON nt.subcomno = s.subcomno
LEFT JOIN (
SELECT siteCode, IFNULL(SUM(totalCount), 0) AS num
FROM cmdatabase.fp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) b ON nt.stationid = b.siteCode
WHERE nt.kindid = 5 AND b.num IS NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<when test="map.phaseNum == 2">
SELECT s.subcomname,nt.*
FROM cmdatabase2.name_table nt
LEFT JOIN cmdatabase2.subcompany_table s ON nt.subcomno = s.subcomno
LEFT JOIN (
SELECT siteCode, IFNULL(SUM(totalCount), 0) AS num
FROM cmdatabase2.fp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) b ON nt.stationid = b.siteCode
WHERE nt.kindid = 5 AND b.num IS NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<otherwise>
SELECT s.subcomname,nt.*
FROM cmdatabase.name_table nt
LEFT JOIN cmdatabaseall.subcompany_table s ON nt.subcomno = s.subcomno and nt.phaseNum = s.phaseNum
LEFT JOIN (
SELECT siteCode, IFNULL(SUM(totalCount), 0) AS num
FROM cmdatabaseall.fp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) b ON nt.stationid = b.siteCode
WHERE nt.kindid = 5 AND b.num IS NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</otherwise>
</choose>
</select>
<select id="selectCpUploadedSites" resultType="java.util.Map">
<choose>
<when test="map.phaseNum == 1">
SELECT s.subcomname,nt.*
FROM cmdatabase.name_table nt
LEFT JOIN (
SELECT siteCode
FROM cmdatabase.cp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) ots ON nt.stationid = ots.siteCode
LEFT JOIN cmdatabase.subcompany_table s ON nt.subcomno = s.subcomno
WHERE nt.kindid = 2
AND ots.siteCode IS NOT NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<when test="map.phaseNum == 2">
SELECT s.subcomname,nt.*
FROM cmdatabase2.name_table nt
LEFT JOIN (
SELECT siteCode
FROM cmdatabase2.cp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) ots ON nt.stationid = ots.siteCode
LEFT JOIN cmdatabase2.subcompany_table s ON nt.subcomno = s.subcomno
WHERE nt.kindid = 2
AND ots.siteCode IS NOT NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<otherwise>
SELECT s.subcomname,nt.*
FROM cmdatabaseall.name_table nt
LEFT JOIN (
SELECT siteCode
FROM cmdatabaseall.cp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) ots ON nt.stationid = ots.siteCode
LEFT JOIN cmdatabaseall.subcompany_table s ON nt.subcomno = s.subcomno and nt.phaseNum = s.phaseNum
WHERE nt.kindid = 2
AND ots.siteCode IS NOT NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</otherwise>
</choose>
</select>
<select id="selectCpNotUploadedSites" resultType="java.util.Map">
<choose>
<when test="map.phaseNum == 1">
SELECT s.subcomname,nt.*
FROM cmdatabase.name_table nt
LEFT JOIN cmdatabase.subcompany_table s ON nt.subcomno = s.subcomno
LEFT JOIN (
SELECT siteCode, IFNULL(SUM(totalCount), 0) AS num
FROM cmdatabase.cp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) b ON nt.stationid = b.siteCode
WHERE nt.kindid = 2 AND b.num IS NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<when test="map.phaseNum == 2">
SELECT s.subcomname,nt.*
FROM cmdatabase2.name_table nt
LEFT JOIN cmdatabase2.subcompany_table s ON nt.subcomno = s.subcomno
LEFT JOIN (
SELECT siteCode, IFNULL(SUM(totalCount), 0) AS num
FROM cmdatabase2.cp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) b ON nt.stationid = b.siteCode
WHERE nt.kindid = 2 AND b.num IS NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<otherwise>
SELECT s.subcomname,nt.*
FROM cmdatabaseall.name_table nt
LEFT JOIN cmdatabaseall.subcompany_table s ON nt.subcomno = s.subcomno and nt.phaseNum = s.phaseNum
LEFT JOIN (
SELECT siteCode, IFNULL(SUM(totalCount), 0) AS num
FROM cmdatabaseall.cp_today_sta
WHERE captureTime = DATE_FORMAT(NOW(), '%Y%m%d')
GROUP BY siteCode
) b ON nt.stationid = b.siteCode
WHERE nt.kindid = 2 AND b.num IS NULL
<if test="map.subcomno != null and map.subcomno != ''">
AND nt.subcomno = #{map.subcomno}
</if>
ORDER BY nt.subcomno, nt.lineid DESC
</otherwise>
</choose>
</select>
<select id="selectVdUploadedSites" resultType="java.util.Map">
<choose>
<when test="map.phaseNum == 1">
SELECT s.subcomname,nt.* FROM (SELECT * FROM cmdatabase.name_table where kindid=4 and stationid in
(select siteCode from cmdatabase.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY
siteCode)
<if test="map.subcomno != null and map.subcomno != ''">
AND subcomno = #{map.subcomno}
</if>
) nt
LEFT JOIN cmdatabase.subcompany_table s ON nt.subcomno = s.subcomno
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<when test="map.phaseNum == 2">
SELECT s.subcomname,nt.* FROM (SELECT * FROM cmdatabase2.name_table where kindid=4 and stationid in
(select siteCode from cmdatabase2.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY
siteCode)
<if test="map.subcomno != null and map.subcomno != ''">
AND subcomno = #{map.subcomno}
</if>
) nt
LEFT JOIN cmdatabase2.subcompany_table s ON nt.subcomno = s.subcomno
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<otherwise>
SELECT s.subcomname,nt.* FROM (SELECT * FROM cmdatabaseall.name_table where kindid=4 and stationid in
(select siteCode from cmdatabaseall.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY
siteCode)
<if test="map.subcomno != null and map.subcomno != ''">
AND subcomno = #{map.subcomno}
</if>
) nt
LEFT JOIN cmdatabaseall.subcompany_table s ON nt.subcomno = s.subcomno and nt.phaseNum = s.phaseNum
ORDER BY nt.subcomno, nt.lineid DESC
</otherwise>
</choose>
</select>
<select id="selectVdNotUploadedSites" resultType="java.util.Map">
<choose>
<when test="map.phaseNum == 1">
SELECT s.subcomname,nt.* FROM (SELECT * FROM cmdatabase.name_table where kindid=4 and stationid not in
(select siteCode from cmdatabase.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY
siteCode)
<if test="map.subcomno != null and map.subcomno != ''">
AND subcomno = #{map.subcomno}
</if>
) nt
LEFT JOIN cmdatabase.subcompany_table s ON nt.subcomno = s.subcomno
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<when test="map.phaseNum == 2">
SELECT s.subcomname,nt.* FROM (SELECT * FROM cmdatabase2.name_table where kindid=4 and stationid not in
(select siteCode from cmdatabase2.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP BY
siteCode)
<if test="map.subcomno != null and map.subcomno != ''">
AND subcomno = #{map.subcomno}
</if>
) nt
LEFT JOIN cmdatabase2.subcompany_table s ON nt.subcomno = s.subcomno
ORDER BY nt.subcomno, nt.lineid DESC
</when>
<otherwise>
SELECT s.subcomname,nt.* FROM (SELECT * FROM cmdatabaseall.name_table where kindid=4 and stationid not
in (select siteCode from cmdatabaseall.vd_detail where picTime >DATE_ADD(now(),INTERVAL -1 HOUR) GROUP
BY siteCode)
<if test="map.subcomno != null and map.subcomno != ''">
AND subcomno = #{map.subcomno}
</if>
) nt
LEFT JOIN cmdatabaseall.subcompany_table s ON nt.subcomno = s.subcomno and nt.phaseNum = s.phaseNum
ORDER BY nt.subcomno, nt.lineid DESC
</otherwise>
</choose>
</select>
</mapper>

@ -0,0 +1,14 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.ism.IsmDataTypeText;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: shuguang
* @date: 20240122 15:59
* @description:
*/
@Mapper
public interface IsmDataTypeTextMapper extends BaseMapper<IsmDataTypeText> {
}

@ -0,0 +1,21 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper;
import com.nmgs.entity.ism.IsmDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240122 14:21
* @description:
*/
@Mapper
public interface IsmDetailMapper extends MPJBaseMapper<IsmDetail> {
IPage<Map> getPage(Page page, @Param("map") Map<String, Object> map);
}

@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.IsmDetailMapper">
<select id="getPage" resultType="java.util.Map">
SELECT
t.*,
n.stationName AS stationName,
et.equipName AS equipName,
n2.stationName AS istationName,
et2.equipName AS iequipName,
idtt.text AS dataTypeName,
iptt.text AS plateTypeName,
ipct.text AS plateColorName,
ivtt.text AS vehicleTypeName,
ivct.text AS vehicleColorName,
sct.subcomname AS subcomname,
sct.ip AS subIp,
sct.port AS subPort
FROM
<choose>
<when test="map.phaseNum == 1">
cmdatabase.ism_detail t
</when>
<when test="map.phaseNum == 2">
cmdatabase2.ism_detail t
</when>
<otherwise>
cmdatabaseall.ism_detail t
</otherwise>
</choose>
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.name_table n
</when>
<when test="map.phaseNum == 2">
cmdatabase2.name_table n
</when>
<otherwise>
cmdatabaseall.name_table n
</otherwise>
</choose>
ON n.stationid = t.siteCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.equip_text et
</when>
<when test="map.phaseNum == 2">
cmdatabase2.equip_text et
</when>
<otherwise>
cmdatabaseall.equip_text et
</otherwise>
</choose>
ON et.equipid = t.equipCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.name_table n2
</when>
<when test="map.phaseNum == 2">
cmdatabase2.name_table n2
</when>
<otherwise>
cmdatabaseall.name_table n2
</otherwise>
</choose>
ON n2.stationid = t.isiteCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.equip_text et2
</when>
<when test="map.phaseNum == 2">
cmdatabase2.equip_text et2
</when>
<otherwise>
cmdatabaseall.equip_text et2
</otherwise>
</choose>
ON et2.equipid = t.iequipCode
LEFT JOIN
cmdatabase.ism_datatype_text idtt
ON idtt.value = t.dataType
LEFT JOIN
cmdatabase.ism_platetype_text iptt
ON iptt.value = t.plateType
LEFT JOIN
cmdatabase.ism_platecolor_text ipct
ON ipct.value = t.plateColor
LEFT JOIN
cmdatabase.ism_vehicletype_text ivtt
ON ivtt.value = t.vehicleType
LEFT JOIN
cmdatabase.ism_vehiclecolor_text ivct
ON ivct.value = t.vehicleColor
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.subcompany_table sct
</when>
<when test="map.phaseNum == 2">
cmdatabase2.subcompany_table sct
</when>
<otherwise>
cmdatabaseall.subcompany_table sct
</otherwise>
</choose>
ON sct.subcomno = n.subcomno
WHERE 1=1
<if test="map.subcomno != null and map.subcomno != ''">
AND n.subcomno = #{map.subcomno}
</if>
<if test="map.lineid != null and map.lineid != ''">
AND n.lineid = #{map.lineid}
</if>
<if test="map.istationid != null and map.istationid != ''">
AND t.isiteCode = #{map.istationid}
</if>
<if test="map.stationid != null and map.stationid != ''">
AND t.siteCode = #{map.stationid}
</if>
<if test="map.vehplate != null and map.vehplate !=''">
AND t.plateNumber LIKE CONCAT('%', #{map.vehplate}, '%')
</if>
<if test="map.plateColor != null and map.plateColor !=''">
AND t.plateColor = #{map.plateColor}
</if>
<if test="map.plateType != null and map.plateType !=''">
AND t.plateType = #{map.plateType}
</if>
<if test="map.vehicleType != null and map.vehicleType !=''">
AND t.vehicleType = #{map.vehicleType}
</if>
<if test="map.vehicleColor != null and map.vehicleColor !=''">
AND t.vehicleColor = #{map.vehicleColor}
</if>
<if test="map.overspeedflag != null and map.overspeedflag != 2 and map.overspeedflag !=''">
<choose>
<when test="map.overspeedflag == 0">
AND t.rangeSpeed &lt;= t.limitSpeed
</when>
<when test="map.overspeedflag == 1">
AND t.rangeSpeed > t.limitSpeed
</when>
</choose>
</if>
<if test="map.istarttime != null and map.istarttime !=''">
AND t.icaptureTime >= #{map.istarttime}
</if>
<if test="map.iendtime != null and map.iendtime !=''">
AND t.icaptureTime &lt;= #{map.iendtime}
</if>
<if test="map.starttime != null and map.starttime !=''">
AND t.captureTime >= #{map.starttime}
</if>
<if test="map.endtime != null and map.endtime !=''">
AND t.captureTime &lt;= #{map.endtime}
</if>
<if test="map.percentageStart != null and map.percentageStart !=''">
AND ((t.rangeSpeed - t.limitSpeed) / t.limitSpeed) * 100 >= #{map.percentageStart}
</if>
<if test="map.percentageEnd != null and map.percentageEnd !=''">
AND ((t.rangeSpeed - t.limitSpeed) / t.limitSpeed) * 100 &lt;= #{map.percentageEnd}
</if>
ORDER BY t.captureTime DESC
</select>
</mapper>

@ -0,0 +1,20 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper;
import com.nmgs.entity.ism.IsmDetailTemp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240122 14:21
* @description:
*/
@Mapper
public interface IsmDetailTempMapper extends MPJBaseMapper<IsmDetailTemp> {
IPage<Map> getRoughPage(Page page, @Param("map") Map<String, Object> map);
}

@ -0,0 +1,197 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.IsmDetailTempMapper">
<select id="getRoughPage" resultType="java.util.Map">
SELECT
t.*,
n.stationName AS stationName,
et.equipName AS equipName,
n2.stationName AS istationName,
et2.equipName AS iequipName,
idtt.text AS dataTypeName,
iptt.text AS plateTypeName,
ipct.text AS plateColorName,
ivtt.text AS vehicleTypeName,
ivct.text AS vehicleColorName,
sct.subcomname AS subcomname,
sct.ip AS subIp,
sct.port AS subPort
FROM
<choose>
<when test="map.phaseNum == 1">
cmdatabase.ism_detail_temp t
</when>
<when test="map.phaseNum == 2">
cmdatabase2.ism_detail_temp t
</when>
<otherwise>
cmdatabase.ism_detail_temp t
</otherwise>
</choose>
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.name_table n
</when>
<when test="map.phaseNum == 2">
cmdatabase2.name_table n
</when>
<otherwise>
cmdatabase.name_table n
</otherwise>
</choose>
ON n.stationid = t.siteCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.equip_text et
</when>
<when test="map.phaseNum == 2">
cmdatabase2.equip_text et
</when>
<otherwise>
cmdatabase.equip_text et
</otherwise>
</choose>
ON et.equipid = t.equipCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.name_table n2
</when>
<when test="map.phaseNum == 2">
cmdatabase2.name_table n2
</when>
<otherwise>
cmdatabase.name_table n2
</otherwise>
</choose>
ON n2.stationid = t.isiteCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.equip_text et2
</when>
<when test="map.phaseNum == 2">
cmdatabase2.equip_text et2
</when>
<otherwise>
cmdatabase.equip_text et2
</otherwise>
</choose>
ON et2.equipid = t.iequipCode
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.ism_datatype_text idtt
</when>
<when test="map.phaseNum == 2">
cmdatabase2.ism_datatype_text idtt
</when>
<otherwise>
cmdatabase.ism_datatype_text idtt
</otherwise>
</choose>
ON idtt.value = t.dataType
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.ism_platetype_text iptt
</when>
<when test="map.phaseNum == 2">
cmdatabase2.ism_platetype_text iptt
</when>
<otherwise>
cmdatabase.ism_platetype_text iptt
</otherwise>
</choose>
ON iptt.value = t.plateType
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.ism_platecolor_text ipct
</when>
<when test="map.phaseNum == 2">
cmdatabase2.ism_platecolor_text ipct
</when>
<otherwise>
cmdatabase.ism_platecolor_text ipct
</otherwise>
</choose>
ON ipct.value = t.plateColor
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.ism_vehicletype_text ivtt
</when>
<when test="map.phaseNum == 2">
cmdatabase2.ism_vehicletype_text ivtt
</when>
<otherwise>
cmdatabase.ism_vehicletype_text ivtt
</otherwise>
</choose>
ON ivtt.value = t.vehicleType
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.ism_vehiclecolor_text ivct
</when>
<when test="map.phaseNum == 2">
cmdatabase2.ism_vehiclecolor_text ivct
</when>
<otherwise>
cmdatabase.ism_vehiclecolor_text ivct
</otherwise>
</choose>
ON ivct.value = t.vehicleColor
LEFT JOIN
<choose>
<when test="map.phaseNum == 1">
cmdatabase.subcompany_table sct
</when>
<when test="map.phaseNum == 2">
cmdatabase2.subcompany_table sct
</when>
<otherwise>
cmdatabase.subcompany_table sct
</otherwise>
</choose>
ON sct.subcomno = n.subcomno
WHERE 1=1
<if test="map.subcomno != null">
AND n.subcomno = #{map.subcomno}
</if>
<if test="map.lineid != null">
AND n.lineid = #{map.lineid}
</if>
<if test="map.istationid != null">
AND t.isiteCode = #{map.istationid}
</if>
<if test="map.stationid != null">
AND t.siteCode = #{map.stationid}
</if>
<if test="map.vehplate != null">
AND t.plateNumber LIKE CONCAT('%', #{map.vehplate}, '%')
</if>
<if test="map.overspeedflag != null and map.overspeedflag != 2">
<choose>
<when test="map.overspeedflag == 0">
AND t.rangeSpeed &lt;= t.limitSpeed
</when>
<when test="map.overspeedflag == 1">
AND t.rangeSpeed > t.limitSpeed
</when>
</choose>
</if>
<if test="map.starttime != null">
AND t.captureTime >= #{map.starttime}
</if>
<if test="map.endtime != null">
AND t.captureTime &lt;= #{map.endtime}
</if>
ORDER BY t.captureTime DESC
</select>
</mapper>

@ -0,0 +1,14 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.ism.IsmEquipStatus;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: shuguang
* @date: 20240122 14:23
* @description:
*/
@Mapper
public interface IsmEquipStatusMapper extends BaseMapper<IsmEquipStatus> {
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save