diff --git a/.gitignore b/.gitignore index 8afe99c..0bcd08c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,12 @@ target .idea/workspace.xml +.idea/dataSources +.idea/sqldialects.xml +.idea/dataSources.local.xml +.idea/dataSources.xml +.idea/kotlinc.xml +.idea/misc.xml +.idea/uiDesigner.xml +.idea/libraries +src/main/resources/jdbc.properties +src/test \ No newline at end of file diff --git a/.gitignore~ b/.gitignore~ deleted file mode 100644 index d913617..0000000 --- a/.gitignore~ +++ /dev/null @@ -1,2 +0,0 @@ -target - diff --git a/.idea/libraries/Maven__antlr_antlr_2_7_7.xml b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml deleted file mode 100644 index b8d93d8..0000000 --- a/.idea/libraries/Maven__antlr_antlr_2_7_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_classmate_1_3_0.xml b/.idea/libraries/Maven__com_fasterxml_classmate_1_3_0.xml deleted file mode 100644 index 073c2de..0000000 --- a/.idea/libraries/Maven__com_fasterxml_classmate_1_3_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_3_1.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_3_1.xml deleted file mode 100644 index d7b5038..0000000 --- a/.idea/libraries/Maven__com_google_code_gson_gson_2_3_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_dbcp_commons_dbcp_1_4.xml b/.idea/libraries/Maven__commons_dbcp_commons_dbcp_1_4.xml deleted file mode 100644 index 49c39ce..0000000 --- a/.idea/libraries/Maven__commons_dbcp_commons_dbcp_1_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml deleted file mode 100644 index 18d3b23..0000000 --- a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml b/.idea/libraries/Maven__commons_io_commons_io_2_2.xml deleted file mode 100644 index f8084ec..0000000 --- a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml deleted file mode 100644 index eab40b3..0000000 --- a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_pool_commons_pool_1_6.xml b/.idea/libraries/Maven__commons_pool_commons_pool_1_6.xml deleted file mode 100644 index 8393648..0000000 --- a/.idea/libraries/Maven__commons_pool_commons_pool_1_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml b/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml deleted file mode 100644 index 14681ee..0000000 --- a/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_annotation_jsr250_api_1_0.xml b/.idea/libraries/Maven__javax_annotation_jsr250_api_1_0.xml deleted file mode 100644 index e367958..0000000 --- a/.idea/libraries/Maven__javax_annotation_jsr250_api_1_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_el_el_api_2_2.xml b/.idea/libraries/Maven__javax_el_el_api_2_2.xml deleted file mode 100644 index 069511b..0000000 --- a/.idea/libraries/Maven__javax_el_el_api_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_enterprise_cdi_api_1_1.xml b/.idea/libraries/Maven__javax_enterprise_cdi_api_1_1.xml deleted file mode 100644 index d54bc25..0000000 --- a/.idea/libraries/Maven__javax_enterprise_cdi_api_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_inject_javax_inject_1.xml b/.idea/libraries/Maven__javax_inject_javax_inject_1.xml deleted file mode 100644 index 93cf65a..0000000 --- a/.idea/libraries/Maven__javax_inject_javax_inject_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml deleted file mode 100644 index c24f7e3..0000000 --- a/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_2.xml b/.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_2.xml deleted file mode 100644 index d30f8a2..0000000 --- a/.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml b/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml deleted file mode 100644 index f329893..0000000 --- a/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml b/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml deleted file mode 100644 index 940ce73..0000000 --- a/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml deleted file mode 100644 index d411041..0000000 --- a/.idea/libraries/Maven__junit_junit_4_12.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__log4j_log4j_1_2_17.xml b/.idea/libraries/Maven__log4j_log4j_1_2_17.xml deleted file mode 100644 index e383c1b..0000000 --- a/.idea/libraries/Maven__log4j_log4j_1_2_17.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_35.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_35.xml deleted file mode 100644 index da90023..0000000 --- a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_35.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sf_ehcache_ehcache_2_10_3.xml b/.idea/libraries/Maven__net_sf_ehcache_ehcache_2_10_3.xml deleted file mode 100644 index 459471a..0000000 --- a/.idea/libraries/Maven__net_sf_ehcache_ehcache_2_10_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml deleted file mode 100644 index 666266c..0000000 --- a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_geronimo_specs_geronimo_jta_1_1_spec_1_1_1.xml b/.idea/libraries/Maven__org_apache_geronimo_specs_geronimo_jta_1_1_spec_1_1_1.xml deleted file mode 100644 index a6f25db..0000000 --- a/.idea/libraries/Maven__org_apache_geronimo_specs_geronimo_jta_1_1_spec_1_1_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_7_4.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_7_4.xml deleted file mode 100644 index d359cab..0000000 --- a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_7_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_4.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_4.xml deleted file mode 100644 index e73605f..0000000 --- a/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_4.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_4.xml deleted file mode 100644 index b1fe82b..0000000 --- a/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml deleted file mode 100644 index f58bbc1..0000000 --- a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_0_1_Final.xml b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_0_1_Final.xml deleted file mode 100644 index ce34f42..0000000 --- a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_0_1_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_core_5_2_5_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_core_5_2_5_Final.xml deleted file mode 100644 index 07eb2cd..0000000 --- a/.idea/libraries/Maven__org_hibernate_hibernate_core_5_2_5_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_ehcache_5_2_5_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_ehcache_5_2_5_Final.xml deleted file mode 100644 index b883580..0000000 --- a/.idea/libraries/Maven__org_hibernate_hibernate_ehcache_5_2_5_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml deleted file mode 100644 index 6c5e17f..0000000 --- a/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_0_Final.xml b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_0_Final.xml deleted file mode 100644 index 6492b2b..0000000 --- a/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml b/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml deleted file mode 100644 index c21c9b0..0000000 --- a/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_jandex_2_0_3_Final.xml b/.idea/libraries/Maven__org_jboss_jandex_2_0_3_Final.xml deleted file mode 100644 index b841e21..0000000 --- a/.idea/libraries/Maven__org_jboss_jandex_2_0_3_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml deleted file mode 100644 index 186d87f..0000000 --- a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_spec_javax_interceptor_jboss_interceptors_api_1_1_spec_1_0_0_Beta1.xml b/.idea/libraries/Maven__org_jboss_spec_javax_interceptor_jboss_interceptors_api_1_1_spec_1_0_0_Beta1.xml deleted file mode 100644 index 8b4d497..0000000 --- a/.idea/libraries/Maven__org_jboss_spec_javax_interceptor_jboss_interceptors_api_1_1_spec_1_0_0_Beta1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_json_json_20160810.xml b/.idea/libraries/Maven__org_json_json_20160810.xml deleted file mode 100644 index 774f062..0000000 --- a/.idea/libraries/Maven__org_json_json_20160810.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml deleted file mode 100644 index 1b644dd..0000000 --- a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_21.xml b/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_21.xml deleted file mode 100644 index 5ca45bb..0000000 --- a/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_21.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aop_4_3_4_RELEASE.xml deleted file mode 100644 index 298a82c..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_aop_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_beans_4_3_4_RELEASE.xml deleted file mode 100644 index 92af269..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_beans_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_4_3_4_RELEASE.xml deleted file mode 100644 index e151b4d..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_context_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_core_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_core_4_3_4_RELEASE.xml deleted file mode 100644 index 519ca31..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_core_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_expression_4_3_4_RELEASE.xml deleted file mode 100644 index ffd9732..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_expression_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_4_RELEASE.xml deleted file mode 100644 index a64d25e..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_orm_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_orm_4_3_4_RELEASE.xml deleted file mode 100644 index e217a12..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_orm_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_test_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_test_4_3_4_RELEASE.xml deleted file mode 100644 index 3627b01..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_test_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_tx_4_3_4_RELEASE.xml deleted file mode 100644 index 8f1f648..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_tx_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_web_4_3_4_RELEASE.xml deleted file mode 100644 index 2a3e87e..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_web_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_4_RELEASE.xml deleted file mode 100644 index e0e1e66..0000000 --- a/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 54384ad..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PVSystem.iml b/PVSystem.iml index 1de5917..8a7e472 100644 --- a/PVSystem.iml +++ b/PVSystem.iml @@ -31,9 +31,10 @@ + - + @@ -85,5 +86,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/shupv/controller/AjaxController.java b/src/main/java/com/shupv/controller/AjaxController.java new file mode 100644 index 0000000..18715d3 --- /dev/null +++ b/src/main/java/com/shupv/controller/AjaxController.java @@ -0,0 +1,32 @@ +package com.shupv.controller; + +import com.shupv.service.SystemService; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.CookieValue; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * Created by Dell on 2017/4/22. + */ +@Controller +@RequestMapping(value = "ajax") +public class AjaxController { + @Autowired + private SystemService systemService; + + @RequestMapping(value = "/userInfo", produces = "text/html;charset=utf-8") + @ResponseBody + public String getRoleAndNickname(@CookieValue("pvsystemCookie") String userId) { + return systemService.getNicknameAndRolenameByUserId(userId); + } + + @RequestMapping(value = "/project",produces = "text/html;charset=utf-8") + @ResponseBody + public String getProjects(@CookieValue("pvsystemCookie") String userId){ + return systemService.getProjects(userId); + } +} diff --git a/src/main/java/com/shupv/controller/ComponentController.java b/src/main/java/com/shupv/controller/ComponentController.java new file mode 100644 index 0000000..0d8e19e --- /dev/null +++ b/src/main/java/com/shupv/controller/ComponentController.java @@ -0,0 +1,74 @@ +package com.shupv.controller; + +import com.shupv.service.ComponentService; +import com.shupv.service.ProjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.CookieValue; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * Created by chengs on 17-5-6. + */ +@Controller +@RequestMapping(value = "/component", produces = "text/html;charset=utf-8") +public class ComponentController { + @Autowired + private ComponentService componentService; + /* + 前两个为测试用接口,为了简化,不需要输入参数 + */ + @RequestMapping("/createComponent") + @ResponseBody + public String createComponent() { + return componentService.createComponent(); + } + + @RequestMapping("/queryComponent") + @ResponseBody + public String queryComponent() { + return componentService.queryComponent(); + } + @RequestMapping("/createCI") + @ResponseBody + /* + 后一个为正式插入接口,需要输入参数 + CI表示:CentralizedInverter:集中式逆变器 + */ + public String createCI(@RequestParam String manufacturersName,//厂家 + String model,//型号 + int maxDCInputPower,//最大直流输入功率 + int maxInputVoltage,//最大效率 + int startVoltage,//启动电压 + int mppLVL, // LVL(Lower Voltage Limit, 电压下限) + int mppVL, // VL(Voltage Limit, 电压上限) + int maxDCInputCurrent, //最大直流输入电流 + int ratedACOutputPower,//额定交流输出功率 + int maxOutputPower,//最大输出功率 + int maxACOutputCurrent,//最大交流输出电流 + int ratedGridVoltage,//最大交流输出电流 + double maxEfficiency,//最大效率, + HttpServletRequest request) { + return componentService.createCI( + manufacturersName,//厂家 + model,//型号 + maxDCInputPower,//最大直流输入功率 + maxInputVoltage,//最大效率 + startVoltage,//启动电压 + mppLVL, // LVL(Lower Voltage Limit, 电压下限) + mppVL, // VL(Voltage Limit, 电压上限) + maxDCInputCurrent, //最大直流输入电流 + ratedACOutputPower,//额定交流输出功率 + maxOutputPower,//最大输出功率 + maxACOutputCurrent,//最大交流输出电流 + ratedGridVoltage,//最大交流输出电流 + maxEfficiency//最大效率, + ); + } +} diff --git a/src/main/java/com/shupv/controller/LoginController.java b/src/main/java/com/shupv/controller/LoginController.java index 5c7438d..b6789bc 100644 --- a/src/main/java/com/shupv/controller/LoginController.java +++ b/src/main/java/com/shupv/controller/LoginController.java @@ -1,16 +1,56 @@ package com.shupv.controller; +import com.shupv.service.SystemService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** * Created by zihua on 17-3-29. */ @Controller -@RequestMapping("/") +@RequestMapping("/login") public class LoginController { - @RequestMapping() - public String index(){ + @Autowired + private SystemService systemService; + + @RequestMapping(value = "/index") + public String index() { return "index"; } + + @RequestMapping(value = "") + public String loginCheck(@RequestParam String userId, String password, + HttpServletResponse response, HttpServletRequest request) { + boolean isOk = systemService.checkUserByIdAndPwd(userId, password); + if (isOk) { + Cookie cookie = new Cookie("pvsystemCookie", userId); + cookie.setMaxAge(60 * 60 * 24 * 3); + response.addCookie(cookie); + return "redirect:/home"; + } else { + request.getSession().setAttribute("msg", "用户不存在"); + return "redirect:/"; + } + } + + /** + * 注销 + * 把cookies设定为无效 + * by lcc + */ + @RequestMapping(value = "/loginOut") + public String loginOut(HttpServletRequest request, HttpServletResponse response) { + Cookie[] cookie = request.getCookies(); + for (Cookie k : cookie) { + k.setMaxAge(0); + response.addCookie(k); + } + return "redirect:/"; + } } diff --git a/src/main/java/com/shupv/controller/MainController.java b/src/main/java/com/shupv/controller/MainController.java new file mode 100644 index 0000000..514540e --- /dev/null +++ b/src/main/java/com/shupv/controller/MainController.java @@ -0,0 +1,15 @@ +package com.shupv.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * Created by Dell on 2017/4/29. + */ +@Controller +public class MainController { + @RequestMapping(value = "/") + public String index(){ + return "/"; + } +} diff --git a/src/main/java/com/shupv/controller/ProjectController.java b/src/main/java/com/shupv/controller/ProjectController.java new file mode 100644 index 0000000..d51394a --- /dev/null +++ b/src/main/java/com/shupv/controller/ProjectController.java @@ -0,0 +1,50 @@ +package com.shupv.controller; + +import com.shupv.service.ProjectService; +import com.shupv.service.SystemService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.CookieValue; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletResponse; + +/** + * Created by chengs on 17-4-22. + */ + +@Controller +@RequestMapping("project") +public class ProjectController { + @Autowired + private SystemService service; + @Autowired + private ProjectService projectService; + + @RequestMapping("/createProject") + @ResponseBody + public String createProject(@CookieValue("pvsystemCookie") String cookieValue, String projectName) { + String userId = cookieValue; + return service.createProject(userId, projectName); + } + + @RequestMapping(value = "/current", produces = "text/html;charset=utf-8") + @ResponseBody + public String getCurrentProject(@CookieValue("pvsystemCookie") String cookie, + @RequestParam(defaultValue = "###latest###") String projectName) { + String userId = cookie; + return projectService.getCurrentProject(userId, projectName); + } + + @RequestMapping(value = "/checkProjectName", produces = "text/html;charset=utf-8") + @ResponseBody + public String checkProjectName(@CookieValue("pvsystemCookie") String cookie, String projectName) { + String userId = cookie; + return projectService.ckeckProjectName(userId, projectName); + } + + +} diff --git a/src/main/java/com/shupv/controller/RegisterController.java b/src/main/java/com/shupv/controller/RegisterController.java new file mode 100644 index 0000000..e0e4c2c --- /dev/null +++ b/src/main/java/com/shupv/controller/RegisterController.java @@ -0,0 +1,58 @@ +package com.shupv.controller; + +import com.shupv.service.SystemService; +import com.shupv.tools.JSONStatus; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * Created by Dell on 2017/4/22. + */ +@Controller +@RequestMapping(value = "register") +public class RegisterController { + @Autowired + private SystemService systemService; + @RequestMapping(value = "") + public String home(){ + return "register"; + } + + @RequestMapping(value = "/checkUser") + @ResponseBody + public String checkUser(@RequestParam String userId){ + JSONStatus jsonStatus = new JSONStatus(systemService.checkUserById(userId)); + return jsonStatus.toString(); + } + + + /** + * String s为JSON字符串, + * key:userId + * key:password + * key:nickname + * 以上三点为必填字段,其余字段为mail,phoneNum,userName + */ + @RequestMapping(value = "/register") + public String register(@RequestParam String userId, String password, + String nickname, HttpServletResponse response, + HttpServletRequest request){ + if (systemService.register(userId, password, nickname)){ + Cookie cookie = new Cookie("pvsystemCookie",userId); + cookie.setMaxAge(60*60*24*3); + response.addCookie(cookie); + return "redirect:/home"; + } else { + request.getSession().setAttribute("registerMsg", "该用户已存在"); + return "redirect:/register"; + } + } +} diff --git a/src/main/java/com/shupv/controller/SystemController.java b/src/main/java/com/shupv/controller/SystemController.java new file mode 100644 index 0000000..a22f5a8 --- /dev/null +++ b/src/main/java/com/shupv/controller/SystemController.java @@ -0,0 +1,129 @@ +package com.shupv.controller; + +import com.shupv.service.ProjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.CookieValue; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletResponse; + +/** + * Created by dawang on 17-4-16. + */ +@Controller +@RequestMapping(value = "home") +public class SystemController { + @RequestMapping(value = "") + public String home() { + return "home2"; + } + + @RequestMapping(value = "/information") + public String information() { + return "information"; + } + + @RequestMapping(value = "/project") + public String project() { + return "project"; + } + + @RequestMapping(value = "/weather") + public String weather() { + return "weather"; + } + + @RequestMapping(value = "/zjxx") + public String zjxx() { + return "zjxx"; + } + + @RequestMapping(value = "/fwqj") + public String fwqj() { + return "fwqj"; + } + + @RequestMapping(value = "/zjbj") + public String zjbj() { + return "zjbj"; + } + + @RequestMapping(value = "/diyacesheji") + public String diyacesheji() { + return "diyacesheji"; + } + + @RequestMapping(value = "/gaoyc") + public String gaoyc() { + return "gaoyc"; + } + + @RequestMapping(value = "/xiaolu") + public String xiaolu() { + return "xiaolu"; + } + + @RequestMapping(value = "/xiaoyi") + public String xiaoyi() { + return "xiaoyi"; + } + + @RequestMapping(value = "/baogao") + public String baogao() { + return "baogao"; + } + + @RequestMapping(value = "/forget") + public String forget() { + return "forget"; + } + + + @RequestMapping(value="/list") + public String list(){ return "list";} + @RequestMapping(value = "/forget2") + public String forget2() { + return "forget2"; + } + + @RequestMapping(value = "/newProject") + public String newProject(String projectName, HttpServletResponse response) { + System.out.println(projectName); + Cookie curProject = new Cookie("curProject", projectName); + response.addCookie(curProject); + return "newProject"; + } + + @RequestMapping(value = "/person") + public String persion() { + return "person"; + } + + /** + * 点击“立即注册”后进入到register.jsp页面 + * + * @return + */ + @RequestMapping(value = "/register") + public String register() { + return "register"; + } + + /** + * 点击“我的项目”后进入到projectList.jsp页面 + * + * @return + */ + @Autowired + private ProjectService projectService; + @RequestMapping(value = "/projectList") + @ResponseBody + public String projectList(@CookieValue("pvsystemCookie") String cookie) { + String userId=cookie; + return projectService.getMyProject(userId); + } +} + diff --git a/src/main/java/com/shupv/controller/jdController.java b/src/main/java/com/shupv/controller/jdController.java new file mode 100644 index 0000000..3f86b25 --- /dev/null +++ b/src/main/java/com/shupv/controller/jdController.java @@ -0,0 +1,22 @@ +package com.shupv.controller; + +import com.shupv.service.ProjectService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * Created by cc on 17-5-2. + */ +@Controller +@RequestMapping("a") +public class jdController { + @RequestMapping("/a") + @ResponseBody + public String jd(String json) { + ProjectService projectService=new ProjectService(); + + return projectService.getfwqj(json); + } + +} diff --git a/src/main/java/com/shupv/dao/BaseDao.java b/src/main/java/com/shupv/dao/BaseDao.java new file mode 100644 index 0000000..597ef79 --- /dev/null +++ b/src/main/java/com/shupv/dao/BaseDao.java @@ -0,0 +1,24 @@ +package com.shupv.dao; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + + +/** + * Created by Dell on 2017/4/22. + */ + +public abstract class BaseDao { + @Resource + private SessionFactory sessionFactory; + + public Session getSession(){ + return sessionFactory.getCurrentSession(); + } + + +} diff --git a/src/main/java/com/shupv/dao/ComponentDao.java b/src/main/java/com/shupv/dao/ComponentDao.java new file mode 100644 index 0000000..6bf3e69 --- /dev/null +++ b/src/main/java/com/shupv/dao/ComponentDao.java @@ -0,0 +1,80 @@ +package com.shupv.dao; + +import com.shupv.entity.CentralizedInverter; +import com.shupv.entity.Project; +import com.shupv.entity.User; +import org.json.JSONArray; +import org.json.JSONObject; +import org.springframework.stereotype.Repository; + +import java.util.Date; +import java.util.List; + +import static com.shupv.tools.SecurityTools.nullCheck; + +/** + * Created by chengs on 17-5-6. + */ +@Repository +public class ComponentDao extends BaseDao { + + public JSONObject createComponent() { + JSONObject result = new JSONObject(); + try { + CentralizedInverter centralizedInverter=new CentralizedInverter(); + centralizedInverter.setManufacturersName("阳光电源"); + centralizedInverter.setModel("SG800MX"); + centralizedInverter.setMaxDCInputPower(900000); + centralizedInverter.setMaxInputVoltage(1000); + centralizedInverter.setStartVoltage(565); + centralizedInverter.setMppLVL(545); + centralizedInverter.setMppVL(820); + centralizedInverter.setMaxDCInputCurrent(1600); + centralizedInverter.setRatedACOutputPower(800000); + centralizedInverter.setMaxOutputPower(880000); + centralizedInverter.setMaxACOutputCurrent(1512); + centralizedInverter.setRatedGridVoltage(342); + centralizedInverter.setMaxEfficiency(98.7); + this.getSession().save(centralizedInverter); + result.put("status", true); + } catch (Exception e) { + result.put("status", false); + } finally { + return result; + } + } + + public List queryComponent() { + try { + return this.getSession().createQuery("from CentralizedInverter").list(); + } catch (Exception e) { + return null; + } + } + + public JSONObject createCI(String manufacturersName, String model, int maxDCInputPower, int maxInputVoltage, int startVoltage, int mppLVL, int mppVL, int maxDCInputCurrent, int ratedACOutputPower, int maxOutputPower, int maxACOutputCurrent, int ratedGridVoltage, double maxEfficiency) { + JSONObject result = new JSONObject(); + try { + CentralizedInverter centralizedInverter=new CentralizedInverter(); + centralizedInverter.setManufacturersName(manufacturersName); + centralizedInverter.setModel(model); + centralizedInverter.setMaxDCInputPower(maxDCInputPower); + centralizedInverter.setMaxInputVoltage(maxInputVoltage); + centralizedInverter.setStartVoltage(startVoltage); + centralizedInverter.setMppLVL(mppLVL); + centralizedInverter.setMppVL(mppVL); + centralizedInverter.setMaxDCInputCurrent(maxDCInputCurrent); + centralizedInverter.setRatedACOutputPower(ratedACOutputPower); + centralizedInverter.setMaxOutputPower(maxOutputPower); + centralizedInverter.setMaxACOutputCurrent(maxACOutputCurrent); + centralizedInverter.setRatedGridVoltage(ratedGridVoltage); + centralizedInverter.setMaxEfficiency(maxEfficiency); + this.getSession().save(centralizedInverter); + result.put("status", true); + } catch (Exception e) { + result.put("status", false); + } finally { + return result; + } + } +} diff --git a/src/main/java/com/shupv/dao/ProjectDao.java b/src/main/java/com/shupv/dao/ProjectDao.java new file mode 100644 index 0000000..394efb8 --- /dev/null +++ b/src/main/java/com/shupv/dao/ProjectDao.java @@ -0,0 +1,131 @@ +package com.shupv.dao; + +import com.shupv.entity.Project; +import com.shupv.entity.User; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +import java.util.Date; +import java.util.Set; +import java.util.TreeSet; + +/** + * Created by chengs on 17-4-22. + */ +/* +* 1.通过Cookie获取用户的唯一标识ID +* 2. +* +* 新增/查询/删除/修改 +* +* */ + + +@Repository +public class ProjectDao extends BaseDao { + @Autowired + private UserDao userDao; + + /** + * 创建项目 + * + * @param userId + * @return 返回{"status":"true"} + */ + public JSONObject createProject(String userId, String projectName) { + JSONObject result = new JSONObject(); + User user = this.getSession().get(User.class, userId); + try { + Project project = new Project(); + project.setProjectName(projectName); + project.setUser(user); + project.setBuildDate(new Date()); + this.getSession().save(project); + result.put("status", true); + } catch (Exception e) { + result.put("status", false); + } finally { + return result; + } + } + + public JSONObject updateProject(String projectId) { + JSONObject result = new JSONObject(); + User user = this.getSession().get(User.class, projectId); + try { + + } catch (Exception e) { + + } finally { + return result; + } + } + + /** + * 通过项目的projectName和用户的id来获取项目信息 + * @param p_name,u_id + * @return + */ + public Project getProjectByPNameAndUId(String u_id, String p_name){ + try { + User user = userDao.getUserById(u_id); + Project project = (Project) this.getSession(). + createQuery("from Project where projectName=? and user=?") + .setParameter(0, p_name) + .setParameter(1, user) + .list() + .get(0); + return project; + }catch (NullPointerException e){ + return null; + } + } + + /** + * 更新项目信息,返回是否成功 + * @param project + * @return + */ + public boolean update(Project project){ + try { + this.getSession().save(project); + return true; + }catch (Exception e){ + return false; + } + } + + + public Project getCurrentProject(String userId, String projectName) { + User u = this.getSession().get(User.class, userId); + TreeSet t = new TreeSet(u.getProjectSet()); + Project pr = null; + if (projectName.equals("###latest###")) { + for (Project p : t) { + pr = p; + break; + } + } else { + for (Project p : u.getProjectSet()) { + if (p.getProjectName().equals(projectName)) { + pr = p; + break; + } + } + } + + return pr; + } + /** + * 查询当前用户所有项目 返回 id 项目名称 创建时间 + * @param userId + * @return String + * by lcc + */ + public Set getAllProjects(String userId){ + User user =this.getSession().get(User.class,userId); + Set projectSet= user.getProjectSet(); + return projectSet; + } +} diff --git a/src/main/java/com/shupv/dao/RoleDao.java b/src/main/java/com/shupv/dao/RoleDao.java new file mode 100644 index 0000000..708e8a9 --- /dev/null +++ b/src/main/java/com/shupv/dao/RoleDao.java @@ -0,0 +1,18 @@ +package com.shupv.dao; + +import com.shupv.entity.Role; +import org.json.JSONObject; +import org.springframework.stereotype.Repository; + +import static com.shupv.tools.SecurityTools.nullCheck; + +/** + * Created by Dell on 2017/4/22. + */ +@Repository +public class RoleDao extends BaseDao { + public Role getRoleById(String id){ + Role role = this.getSession().get(Role.class, id); + return role; + } +} diff --git a/src/main/java/com/shupv/dao/UserDao.java b/src/main/java/com/shupv/dao/UserDao.java new file mode 100644 index 0000000..1ec188e --- /dev/null +++ b/src/main/java/com/shupv/dao/UserDao.java @@ -0,0 +1,57 @@ +package com.shupv.dao; + +import com.shupv.entity.Project; +import com.shupv.entity.User; +import org.json.JSONObject; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resources; +import java.io.IOException; +import java.util.List; +import java.util.Set; + +import static com.shupv.tools.SecurityTools.nullCheck; + +/** + * Created by Dell on 2017/4/22. + */ +@Repository +public class UserDao extends BaseDao { + public JSONObject getUserByIdAndPwd(String id, String pwd) { + JSONObject jsonObject = new JSONObject(); + try { + User user = this.getSession().get(User.class, id); + if (user.getPassword().equals(pwd)) { + jsonObject.put("userId", nullCheck(id)); + jsonObject.put("nickname", nullCheck(user.getName())); + jsonObject.put("userName", nullCheck(user.getUserName())); + jsonObject.put("mail", nullCheck(user.getMail())); + jsonObject.put("phoneNum", nullCheck(user.getPhoneNumber())); + return jsonObject; + } else { + return null; + } + }catch (Exception e){ + return null; + } + } + + public User getUserById(String id) { + User user = this.getSession().get(User.class, id); + return user; + } + + public boolean insert(User user) { + try { + this.getSession().save(user); + return true; + }catch (Exception e){ + return false; + } + } + + public Set getProjectsById(String userId){ + return this.getUserById(userId).getProjectSet(); + } + +} diff --git a/src/main/java/com/shupv/entity/Cable.java b/src/main/java/com/shupv/entity/Cable.java new file mode 100644 index 0000000..0f0c231 --- /dev/null +++ b/src/main/java/com/shupv/entity/Cable.java @@ -0,0 +1,84 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by Dell on 2017/4/5. + */ +// 电缆 +@Entity +public class Cable implements Serializable{ + private int id; + private String name; + private String model;//型号 + private int allowableCarryingCapacity;//允许载流量 + private int capacity;//容量 + private Set centralizedTransformSet + = new HashSet(); + private Set groupTransformerSet + = new HashSet(); + + @OneToMany(mappedBy = "cable",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getGroupTransformerSet() { + return groupTransformerSet; + } + + public void setGroupTransformerSet(Set groupTransformerSet) { + this.groupTransformerSet = groupTransformerSet; + } + + @Id + @Column(name = "cable_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public int getAllowableCarryingCapacity() { + return allowableCarryingCapacity; + } + + public void setAllowableCarryingCapacity(int allowableCarryingCapacity) { + this.allowableCarryingCapacity = allowableCarryingCapacity; + } + + public int getCapacity() { + return capacity; + } + + public void setCapacity(int capacity) { + this.capacity = capacity; + } + + @OneToMany(mappedBy = "cable",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getCentralizedTransformSet() { + return centralizedTransformSet; + } + + public void setCentralizedTransformSet(Set centralizedTransformSet) { + this.centralizedTransformSet = centralizedTransformSet; + } +} diff --git a/src/main/java/com/shupv/entity/CentralizedInverter.java b/src/main/java/com/shupv/entity/CentralizedInverter.java new file mode 100644 index 0000000..fb7f103 --- /dev/null +++ b/src/main/java/com/shupv/entity/CentralizedInverter.java @@ -0,0 +1,154 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by Dell on 2017/4/4. + */ +// 集中式逆变器 +@Entity +public class CentralizedInverter implements Serializable{ + private int id; + private String manufacturersName;//厂家 + private String model;//型号 + private int maxDCInputPower;//最大直流输入功率 + private int maxInputVoltage;//最大效率 + private int startVoltage;//启动电压 + private int mppLVL; // LVL(Lower Voltage Limit, 电压下限) + private int mppVL; // VL(Voltage Limit, 电压上限) + private int maxDCInputCurrent; //最大直流输入电流 + private int ratedACOutputPower;//额定交流输出功率 + private int maxOutputPower;//最大输出功率 + private int maxACOutputCurrent;//最大交流输出电流 + private int ratedGridVoltage;//最大交流输出电流 + private double maxEfficiency;//最大效率 + private Set centralizedTransformSet + = new HashSet(); + + @Id + @Column(name = "centralized_inverter_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getManufacturersName() { + return manufacturersName; + } + + public void setManufacturersName(String manufacturersName) { + this.manufacturersName = manufacturersName; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + @OneToMany(mappedBy = "centralizedInverter",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getCentralizedTransformSet() { + return centralizedTransformSet; + } + + public void setCentralizedTransformSet(Set centralizedTransformSet) { + this.centralizedTransformSet = centralizedTransformSet; + } + + public int getMaxDCInputPower() { + return maxDCInputPower; + } + + public void setMaxDCInputPower(int maxDCInputPower) { + this.maxDCInputPower = maxDCInputPower; + } + + public int getMaxInputVoltage() { + return maxInputVoltage; + } + + public void setMaxInputVoltage(int maxInputVoltage) { + this.maxInputVoltage = maxInputVoltage; + } + + public int getStartVoltage() { + return startVoltage; + } + + public void setStartVoltage(int startVoltage) { + this.startVoltage = startVoltage; + } + + public int getMppLVL() { + return mppLVL; + } + + public void setMppLVL(int mppLVL) { + this.mppLVL = mppLVL; + } + + public int getMppVL() { + return mppVL; + } + + public void setMppVL(int mppVL) { + this.mppVL = mppVL; + } + + public int getMaxDCInputCurrent() { + return maxDCInputCurrent; + } + + public void setMaxDCInputCurrent(int maxDCInputCurrent) { + this.maxDCInputCurrent = maxDCInputCurrent; + } + + public int getRatedACOutputPower() { + return ratedACOutputPower; + } + + public void setRatedACOutputPower(int ratedACOutputPower) { + this.ratedACOutputPower = ratedACOutputPower; + } + + public int getMaxOutputPower() { + return maxOutputPower; + } + + public void setMaxOutputPower(int maxOutputPower) { + this.maxOutputPower = maxOutputPower; + } + + public int getMaxACOutputCurrent() { + return maxACOutputCurrent; + } + + public void setMaxACOutputCurrent(int maxACOutputCurrent) { + this.maxACOutputCurrent = maxACOutputCurrent; + } + + public int getRatedGridVoltage() { + return ratedGridVoltage; + } + + public void setRatedGridVoltage(int ratedGridVoltage) { + this.ratedGridVoltage = ratedGridVoltage; + } + + public double getMaxEfficiency() { + return maxEfficiency; + } + + public void setMaxEfficiency(double maxEfficiency) { + this.maxEfficiency = maxEfficiency; + } +} diff --git a/src/main/java/com/shupv/entity/CentralizedTransform.java b/src/main/java/com/shupv/entity/CentralizedTransform.java new file mode 100644 index 0000000..ab47e7e --- /dev/null +++ b/src/main/java/com/shupv/entity/CentralizedTransform.java @@ -0,0 +1,78 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +// 集中式变压器 +@Entity +public class CentralizedTransform implements Transformer, Serializable { + private int id; + private CentralizedInverter centralizedInverter;//集中式逆变器 + private DCBus dcBus;//直流汇流箱 + private Cable cable;//电缆 + private DCBox dcBox;//直流配电柜 + private Set lowPressureDeviceSet + = new HashSet(); + + @Id + @Column(name = "centralized_transform_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "centralized_inverter_id") + public CentralizedInverter getCentralizedInverter() { + return centralizedInverter; + } + + public void setCentralizedInverter(CentralizedInverter centralizedInverter) { + this.centralizedInverter = centralizedInverter; + } + + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "dcbus_id") + public DCBus getDcBus() { + return dcBus; + } + + public void setDcBus(DCBus dcBus) { + this.dcBus = dcBus; + } + + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "cable_id") + public Cable getCable() { + return cable; + } + + public void setCable(Cable cable) { + this.cable = cable; + } + + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "dcbox_id") + public DCBox getDcBox() { + return dcBox; + } + + public void setDcBox(DCBox dcBox) { + this.dcBox = dcBox; + } + + @OneToMany(mappedBy = "centralizedTransform",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getLowPressureDeviceSet() { + return lowPressureDeviceSet; + } + + public void setLowPressureDeviceSet(Set lowPressureDeviceSet) { + this.lowPressureDeviceSet = lowPressureDeviceSet; + } +} diff --git a/src/main/java/com/shupv/entity/ClimaticData.java b/src/main/java/com/shupv/entity/ClimaticData.java new file mode 100644 index 0000000..961ee64 --- /dev/null +++ b/src/main/java/com/shupv/entity/ClimaticData.java @@ -0,0 +1,97 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by cc on 17-4-4. + */ +@Entity +public class ClimaticData implements Serializable{ + private int climaticId;//编号 + private int month;//月份 + private double irradiance;//辐照度 + private double temperature;//温度 + private double humidity;//湿度 + private double windSpeed;//风速 + private double longitude;//经度 + private double latitude;//纬度 + private Set projects = new HashSet(); + + @OneToMany(mappedBy = "climaticData",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getProjects() { + return projects; + } + + public void setProjects(Set projects) { + this.projects = projects; + } + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public int getClimaticId() { + return climaticId; + } + + public void setClimaticId(int climaticId) { + this.climaticId = climaticId; + } + + public int getMonth() { + return month; + } + + public void setMonth(int month) { + this.month = month; + } + + public double getIrradiance() { + return irradiance; + } + + public void setIrradiance(double irradiance) { + this.irradiance = irradiance; + } + + public double getTemperature() { + return temperature; + } + + public void setTemperature(double temperature) { + this.temperature = temperature; + } + + public double getHumidity() { + return humidity; + } + + public void setHumidity(double humidity) { + this.humidity = humidity; + } + + public double getWindSpeed() { + return windSpeed; + } + + public void setWindSpeed(double windSpeed) { + this.windSpeed = windSpeed; + } + + public double getLongitude() { + return longitude; + } + + public void setLongitude(double longitude) { + this.longitude = longitude; + } + + public double getLatitude() { + return latitude; + } + + public void setLatitude(double latitude) { + this.latitude = latitude; + } +} diff --git a/src/main/java/com/shupv/entity/DCBox.java b/src/main/java/com/shupv/entity/DCBox.java new file mode 100644 index 0000000..7da40e1 --- /dev/null +++ b/src/main/java/com/shupv/entity/DCBox.java @@ -0,0 +1,91 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by Dell on 2017/4/5. + */ +// 直流配电柜 +@Entity +public class DCBox implements Serializable{ + private int id; + private String companyName;//公司 + private String model;//型号 + private int numOfAccessDCChannels;//接入直流路数 + private int limitOfInputDCPower;//输入直流功率上限 + private int limitOfIOTotalCurrent;//输入输出总电流上限 + private int limitOfATOCV; // AOCV(Access Open Circuit Voltage, 接入开路电压) + private Set centralizedTransformSet + = new HashSet(); + + @Id + @Column(name = "dcbox_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getCompanyName() { + return companyName; + } + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public int getNumOfAccessDCChannels() { + return numOfAccessDCChannels; + } + + public void setNumOfAccessDCChannels(int numOfAccessDCChannels) { + this.numOfAccessDCChannels = numOfAccessDCChannels; + } + + public int getLimitOfInputDCPower() { + return limitOfInputDCPower; + } + + public void setLimitOfInputDCPower(int limitOfInputDCPower) { + this.limitOfInputDCPower = limitOfInputDCPower; + } + + public int getLimitOfIOTotalCurrent() { + return limitOfIOTotalCurrent; + } + + public void setLimitOfIOTotalCurrent(int limitOfIOTotalCurrent) { + this.limitOfIOTotalCurrent = limitOfIOTotalCurrent; + } + + @OneToMany(mappedBy = "dcBox",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getCentralizedTransformSet() { + return centralizedTransformSet; + } + + public void setCentralizedTransformSet(Set centralizedTransformSet) { + this.centralizedTransformSet = centralizedTransformSet; + } + + public int getLimitOfATOCV() { + return limitOfATOCV; + } + + public void setLimitOfATOCV(int limitOfATOCV) { + this.limitOfATOCV = limitOfATOCV; + } +} diff --git a/src/main/java/com/shupv/entity/DCBus.java b/src/main/java/com/shupv/entity/DCBus.java new file mode 100644 index 0000000..c4d7722 --- /dev/null +++ b/src/main/java/com/shupv/entity/DCBus.java @@ -0,0 +1,111 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by Dell on 2017/4/4. + */ + + +// 直流汇流箱 +@Entity +public class DCBus implements Serializable { + private int id; + private String manufacturersName;//厂家 + private String model;//型号 + private int numOfInputs;//输入路数 + private int inputCurrentLimit;//输入电流上限 + private boolean haveDCCB; // DCCB(DC Circuit Breaker, 直流断路器) + private boolean haveLPM; // LPM(Lightning Protection Monitoring, 防雷失效监控) + private boolean haveMonitoringUnit;//MonitoringUnit 监控单元 + private boolean haveAuxiliaryPower;//AuxiliaryPower 辅助电源 + private Set centralizedTransformSet + = new HashSet(); + + @OneToMany(mappedBy = "dcBus",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getCentralizedTransformSet() { + return centralizedTransformSet; + } + + public void setCentralizedTransformSet(Set centralizedTransformSet) { + this.centralizedTransformSet = centralizedTransformSet; + } + + @Id + @Column(name = "dcbus_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getManufacturersName() { + return manufacturersName; + } + + public void setManufacturersName(String manufacturersName) { + this.manufacturersName = manufacturersName; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public int getNumOfInputs() { + return numOfInputs; + } + + public void setNumOfInputs(int numOfInputs) { + this.numOfInputs = numOfInputs; + } + + public int getInputCurrentLimit() { + return inputCurrentLimit; + } + + public void setInputCurrentLimit(int inputCurrentLimit) { + this.inputCurrentLimit = inputCurrentLimit; + } + + public boolean isHaveDCCB() { + return haveDCCB; + } + + public void setHaveDCCB(boolean haveDCCB) { + this.haveDCCB = haveDCCB; + } + + public boolean isHaveLPM() { + return haveLPM; + } + + public void setHaveLPM(boolean haveLPM) { + this.haveLPM = haveLPM; + } + + public boolean isHaveMonitoringUnit() { + return haveMonitoringUnit; + } + + public void setHaveMonitoringUnit(boolean haveMonitoringUnit) { + this.haveMonitoringUnit = haveMonitoringUnit; + } + + public boolean isHaveAuxiliaryPower() { + return haveAuxiliaryPower; + } + + public void setHaveAuxiliaryPower(boolean haveAuxiliaryPower) { + this.haveAuxiliaryPower = haveAuxiliaryPower; + } +} diff --git a/src/main/java/com/shupv/entity/GroupInverter.java b/src/main/java/com/shupv/entity/GroupInverter.java new file mode 100644 index 0000000..93b1adf --- /dev/null +++ b/src/main/java/com/shupv/entity/GroupInverter.java @@ -0,0 +1,164 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by Dell on 2017/4/5. + */ + +// 组串式逆变器 +@Entity +public class GroupInverter implements Serializable { + private int id; + private String manufacturersName;//厂家 + private String model;//型号 + private int maxInputPower;//最大输入功率 + private int maxInputVoltage;//最大输入电压 + private int ratedInputVoltage;//额定输入电压 + private int mppLVL; // LVL(Lower Voltage Limit, 电压下限) + private int mppVL; // VL(Voltage Limit, 电压上限) + private int numOfMPPT;//MPPT数量 + private double maxInputCurrent;//最大输入电流 + private double maxAllowedInputCurrent;//输入端子最大允许电流 + private int ratedOutputPower;//额定输出功率 + private int maxOutputPower;//最大输出功率 + private double maxOutputCurrent;//最大输出电流 + private double maxEfficiency;//最大效率 + private Set groupTransformerSet + = new HashSet(); + + @OneToMany(mappedBy = "groupInverter",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getGroupTransformerSet() { + return groupTransformerSet; + } + + public void setGroupTransformerSet(Set groupTransformerSet) { + this.groupTransformerSet = groupTransformerSet; + } + + @Id + @Column(name = "group_inverter_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getManufacturersName() { + return manufacturersName; + } + + public void setManufacturersName(String manufacturersName) { + this.manufacturersName = manufacturersName; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public int getMaxInputPower() { + return maxInputPower; + } + + public void setMaxInputPower(int maxInputPower) { + this.maxInputPower = maxInputPower; + } + + public int getMaxInputVoltage() { + return maxInputVoltage; + } + + public void setMaxInputVoltage(int maxInputVoltage) { + this.maxInputVoltage = maxInputVoltage; + } + + public int getRatedInputVoltage() { + return ratedInputVoltage; + } + + public void setRatedInputVoltage(int ratedInputVoltage) { + this.ratedInputVoltage = ratedInputVoltage; + } + + public int getMppLVL() { + return mppLVL; + } + + public void setMppLVL(int mppLVL) { + this.mppLVL = mppLVL; + } + + public int getMppVL() { + return mppVL; + } + + public void setMppVL(int mppVL) { + this.mppVL = mppVL; + } + + public int getNumOfMPPT() { + return numOfMPPT; + } + + public void setNumOfMPPT(int numOfMPPT) { + this.numOfMPPT = numOfMPPT; + } + + public double getMaxInputCurrent() { + return maxInputCurrent; + } + + public void setMaxInputCurrent(double maxInputCurrent) { + this.maxInputCurrent = maxInputCurrent; + } + + public double getMaxAllowedInputCurrent() { + return maxAllowedInputCurrent; + } + + public void setMaxAllowedInputCurrent(double maxAllowedInputCurrent) { + this.maxAllowedInputCurrent = maxAllowedInputCurrent; + } + + public int getRatedOutputPower() { + return ratedOutputPower; + } + + public void setRatedOutputPower(int ratedOutputPower) { + this.ratedOutputPower = ratedOutputPower; + } + + public int getMaxOutputPower() { + return maxOutputPower; + } + + public void setMaxOutputPower(int maxOutputPower) { + this.maxOutputPower = maxOutputPower; + } + + public double getMaxOutputCurrent() { + return maxOutputCurrent; + } + + public void setMaxOutputCurrent(double maxOutputCurrent) { + this.maxOutputCurrent = maxOutputCurrent; + } + + public double getMaxEfficiency() { + return maxEfficiency; + } + + public void setMaxEfficiency(double maxEfficiency) { + this.maxEfficiency = maxEfficiency; + } +} diff --git a/src/main/java/com/shupv/entity/GroupTransformer.java b/src/main/java/com/shupv/entity/GroupTransformer.java new file mode 100644 index 0000000..813fc3c --- /dev/null +++ b/src/main/java/com/shupv/entity/GroupTransformer.java @@ -0,0 +1,60 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by Dell on 2017/4/4. + */ + +// 组串式变压器 +@Entity +public class GroupTransformer implements Transformer,Serializable { + private int id; + private GroupInverter groupInverter;//组串式逆变器 + private Cable cable;//电缆 + private SetlowPressureDeviceSet + = new HashSet(); + + @Id + @Column(name = "group_transformer_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "group_inverter_id") + public GroupInverter getGroupInverter() { + return groupInverter; + } + + public void setGroupInverter(GroupInverter groupInverter) { + this.groupInverter = groupInverter; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "cable_id") + public Cable getCable() { + return cable; + } + + public void setCable(Cable cable) { + this.cable = cable; + } + + @OneToMany(mappedBy = "groupTransformer",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getLowPressureDeviceSet() { + return lowPressureDeviceSet; + } + + public void setLowPressureDeviceSet(Set lowPressureDeviceSet) { + this.lowPressureDeviceSet = lowPressureDeviceSet; + } +} diff --git a/src/main/java/com/shupv/entity/HighPressure.java b/src/main/java/com/shupv/entity/HighPressure.java new file mode 100644 index 0000000..699deb5 --- /dev/null +++ b/src/main/java/com/shupv/entity/HighPressure.java @@ -0,0 +1,10 @@ +package com.shupv.entity; + +import java.io.Serializable; + +/** + * Created by chengs on 17-4-5. + */ +//高压侧接口 +public interface HighPressure { +} diff --git a/src/main/java/com/shupv/entity/HighPressureDevice.java b/src/main/java/com/shupv/entity/HighPressureDevice.java new file mode 100644 index 0000000..497d5ca --- /dev/null +++ b/src/main/java/com/shupv/entity/HighPressureDevice.java @@ -0,0 +1,79 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by chengs on 17-4-5. + */ +//高压侧设备 +@Entity +public class HighPressureDevice implements Serializable { + private int id; + private int deviceSize;//设备类型 + private KV10 kv10;//10kv高压侧 + private KV35 kv35;//35kv高压侧 + private KV038 kv038;//0.38kv高压侧 + private Set projects = new HashSet(); + public HighPressureDevice(){} + + @OneToMany(mappedBy = "highPressureDevice",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getProjects() { + return projects; + } + + public void setProjects(Set projects) { + this.projects = projects; + } + + @Id + @Column(name = "high_pressure_device_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getDeviceSize() { + return deviceSize; + } + + public void setDeviceSize(int deviceSize) { + this.deviceSize = deviceSize; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "kv10_id") + public KV10 getKv10() { + return kv10; + } + + public void setKv10(KV10 kv10) { + this.kv10 = kv10; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "kv35_id") + public KV35 getKv35() { + return kv35; + } + + public void setKv35(KV35 kv35) { + this.kv35 = kv35; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "kv038_id") + public KV038 getKv038() { + return kv038; + } + + public void setKv038(KV038 kv038) { + this.kv038 = kv038; + } +} diff --git a/src/main/java/com/shupv/entity/HighSwitchCabinet.java b/src/main/java/com/shupv/entity/HighSwitchCabinet.java new file mode 100644 index 0000000..6007a86 --- /dev/null +++ b/src/main/java/com/shupv/entity/HighSwitchCabinet.java @@ -0,0 +1,116 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by chengs on 17-4-5. + */ +@Entity +public class HighSwitchCabinet implements Serializable { + private int id; + private String brand;//品牌 + private String modelNumber;//型号 + private boolean isHighPressure;//高低压类型 + private double generatrixRatedElectricity;//母线额定电流/A + private double ratedVoltage;//额定电压/V + private double ratedFrequency;//额定频率/Hz + private int safeguardLevel;//防护等级 + private String application;//用途 + private String structureFrom;//结构形式 + private Set kv35Set = new HashSet(); + + @Id + @Column(name = "highSwitchCabinetId") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + @OneToMany(mappedBy = "highSwitchCabinet",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getKv35Set() { + return kv35Set; + } + + public void setKv35Set(Set kv35Set) { + this.kv35Set = kv35Set; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getModelNumber() { + return modelNumber; + } + + public void setModelNumber(String modelNumber) { + this.modelNumber = modelNumber; + } + + public boolean isHighPressure() { + return isHighPressure; + } + + public void setHighPressure(boolean highPressure) { + isHighPressure = highPressure; + } + + public double getGeneratrixRatedElectricity() { + return generatrixRatedElectricity; + } + + public void setGeneratrixRatedElectricity(double generatrixRatedElectricity) { + this.generatrixRatedElectricity = generatrixRatedElectricity; + } + + public double getRatedVoltage() { + return ratedVoltage; + } + + public void setRatedVoltage(double ratedVoltage) { + this.ratedVoltage = ratedVoltage; + } + + public double getRatedFrequency() { + return ratedFrequency; + } + + public void setRatedFrequency(double ratedFrequency) { + this.ratedFrequency = ratedFrequency; + } + + public int getSafeguardLevel() { + return safeguardLevel; + } + + public void setSafeguardLevel(int safeguardLevel) { + this.safeguardLevel = safeguardLevel; + } + + public String getApplication() { + return application; + } + + public void setApplication(String application) { + this.application = application; + } + + public String getStructureFrom() { + return structureFrom; + } + + public void setStructureFrom(String structureFrom) { + this.structureFrom = structureFrom; + } +} diff --git a/src/main/java/com/shupv/entity/KV038.java b/src/main/java/com/shupv/entity/KV038.java new file mode 100644 index 0000000..3dd4390 --- /dev/null +++ b/src/main/java/com/shupv/entity/KV038.java @@ -0,0 +1,46 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by chengs on 17-4-5. + */ +@Entity +public class KV038 implements HighPressure,Serializable { + private int id; + private LowSwitchCabinet lowSwitchCabinet;//开关柜编号 + private Set highPressureDevices + = new HashSet(); + + @OneToMany(mappedBy = "kv038",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getHighPressureDevices() { + return highPressureDevices; + } + + public void setHighPressureDevices(Set highPressureDevices) { + this.highPressureDevices = highPressureDevices; + } + + @Id + @Column(name = "kv038_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "low_switch_cabinet_id") + public LowSwitchCabinet getLowSwitchCabinet() { + return lowSwitchCabinet; + } + + public void setLowSwitchCabinet(LowSwitchCabinet lowSwitchCabinet) { + this.lowSwitchCabinet = lowSwitchCabinet; + } +} diff --git a/src/main/java/com/shupv/entity/KV10.java b/src/main/java/com/shupv/entity/KV10.java new file mode 100644 index 0000000..455258d --- /dev/null +++ b/src/main/java/com/shupv/entity/KV10.java @@ -0,0 +1,58 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by chengs on 17-4-5. + */ +@Entity +public class KV10 implements HighPressure,Serializable { + private int id; + private LowSwitchCabinet lowSwitchCabinet;//低压开关柜编号 + private StepUpTransformer stepUpTransformer;//升压变压器编号 + private Set highPressureDevices + = new HashSet(); + + @OneToMany(mappedBy = "kv10",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getHighPressureDevices() { + return highPressureDevices; + } + + public void setHighPressureDevices(Set highPressureDevices) { + this.highPressureDevices = highPressureDevices; + } + + @Id + @Column(name = "kv10_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "low_switch_cabinet_id") + public LowSwitchCabinet getLowSwitchCabinet() { + return lowSwitchCabinet; + } + + public void setLowSwitchCabinet(LowSwitchCabinet lowSwitchCabinet) { + this.lowSwitchCabinet = lowSwitchCabinet; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "step_up_transformer_id") + public StepUpTransformer getStepUpTransformer() { + return stepUpTransformer; + } + + public void setStepUpTransformer(StepUpTransformer stepUpTransformer) { + this.stepUpTransformer = stepUpTransformer; + } +} diff --git a/src/main/java/com/shupv/entity/KV35.java b/src/main/java/com/shupv/entity/KV35.java new file mode 100644 index 0000000..1487a1a --- /dev/null +++ b/src/main/java/com/shupv/entity/KV35.java @@ -0,0 +1,69 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by chengs on 17-4-5. + */ +@Entity +public class KV35 implements Serializable { + private int id; + private LowSwitchCabinet lowSwitchCabinet;//低压开关柜编号 + private HighSwitchCabinet highSwitchCabinet;//高压开关柜编号 + private StepUpTransformer stepUpTransformer;//升压变压器编号 + private Set highPressureDevices + = new HashSet(); + + @OneToMany(mappedBy = "kv35",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getHighPressureDevices() { + return highPressureDevices; + } + + public void setHighPressureDevices(Set highPressureDevices) { + this.highPressureDevices = highPressureDevices; + } + + @Id + @Column(name = "kv35_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "low_switch_cabinet_id") + public LowSwitchCabinet getLowSwitchCabinet() { + return lowSwitchCabinet; + } + + public void setLowSwitchCabinet(LowSwitchCabinet lowSwitchCabinet) { + this.lowSwitchCabinet = lowSwitchCabinet; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "highSwitchCabinetId") + public HighSwitchCabinet getHighSwitchCabinet() { + return highSwitchCabinet; + } + + public void setHighSwitchCabinet(HighSwitchCabinet highSwitchCabinet) { + this.highSwitchCabinet = highSwitchCabinet; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "step_up_transformer_id") + public StepUpTransformer getStepUpTransformer() { + return stepUpTransformer; + } + + public void setStepUpTransformer(StepUpTransformer stepUpTransformer) { + this.stepUpTransformer = stepUpTransformer; + } +} diff --git a/src/main/java/com/shupv/entity/LowPressureDevice.java b/src/main/java/com/shupv/entity/LowPressureDevice.java new file mode 100644 index 0000000..239331e --- /dev/null +++ b/src/main/java/com/shupv/entity/LowPressureDevice.java @@ -0,0 +1,65 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by cc on 17-4-4. + */ +@Entity +public class LowPressureDevice implements Serializable { + private int lowPressureDeviceId;//编号 + private int series;//系列 + private CentralizedTransform centralizedTransform;//集中式变压器 + private GroupTransformer groupTransformer;//组串式变压器 + private Set projects = new HashSet(); + + public int getSeries() { + return series; + } + + public void setSeries(int series) { + this.series = series; + } + + @OneToMany(mappedBy = "lowPressureDevice",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getProjects() { + return projects; + } + + public void setProjects(Set projects) { + this.projects = projects; + } + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public int getLowPressureDeviceId() { + return lowPressureDeviceId; + } + + public void setLowPressureDeviceId(int lowPressureDeviceId) { + this.lowPressureDeviceId = lowPressureDeviceId; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "centralized_transform_id") + public CentralizedTransform getCentralizedTransform() { + return centralizedTransform; + } + + public void setCentralizedTransform(CentralizedTransform centralizedTransform) { + this.centralizedTransform = centralizedTransform; + } + + @ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinColumn(name = "group_transformer_id") + public GroupTransformer getGroupTransformer() { + return groupTransformer; + } + + public void setGroupTransformer(GroupTransformer groupTransformer) { + this.groupTransformer = groupTransformer; + } +} diff --git a/src/main/java/com/shupv/entity/LowSwitchCabinet.java b/src/main/java/com/shupv/entity/LowSwitchCabinet.java new file mode 100644 index 0000000..0156c95 --- /dev/null +++ b/src/main/java/com/shupv/entity/LowSwitchCabinet.java @@ -0,0 +1,138 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by chengs on 17-4-5. + */ +@Entity +public class LowSwitchCabinet implements Serializable { + private int id; + private String brand;//品牌 + private String modelNumber;//型号 + private boolean isHighPressure;//高低压类型 + private double generatrixRatedElectricity;//母线额定电流/A + private double ratedVoltage;//额定电压/V + private double ratedFrequency;//额定频率/Hz + private int safeguardLevel;//防护等级 + private String application;//用途 + private String structureFrom;//结构形式 + private Set kv10Set = new HashSet(); + private Set kv35Set = new HashSet(); + private Set kv038Set = new HashSet(); + + @Id + @Column(name = "low_switch_cabinet_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + + + @OneToMany(mappedBy = "lowSwitchCabinet",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getKv10Set() { + return kv10Set; + } + + public void setKv10Set(Set kv10Set) { + this.kv10Set = kv10Set; + } + + @OneToMany(mappedBy = "lowSwitchCabinet",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getKv35Set() { + return kv35Set; + } + + public void setKv35Set(Set kv35Set) { + this.kv35Set = kv35Set; + } + + @OneToMany(mappedBy = "lowSwitchCabinet",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getKv038Set() { + return kv038Set; + } + + public void setKv038Set(Set kv038Set) { + this.kv038Set = kv038Set; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getModelNumber() { + return modelNumber; + } + + public void setModelNumber(String modelNumber) { + this.modelNumber = modelNumber; + } + + public boolean isHighPressure() { + return isHighPressure; + } + + public void setHighPressure(boolean highPressure) { + isHighPressure = highPressure; + } + + public double getGeneratrixRatedElectricity() { + return generatrixRatedElectricity; + } + + public void setGeneratrixRatedElectricity(double generatrixRatedElectricity) { + this.generatrixRatedElectricity = generatrixRatedElectricity; + } + + public double getRatedVoltage() { + return ratedVoltage; + } + + public void setRatedVoltage(double ratedVoltage) { + this.ratedVoltage = ratedVoltage; + } + + public double getRatedFrequency() { + return ratedFrequency; + } + + public void setRatedFrequency(double ratedFrequency) { + this.ratedFrequency = ratedFrequency; + } + + public int getSafeguardLevel() { + return safeguardLevel; + } + + public void setSafeguardLevel(int safeguardLevel) { + this.safeguardLevel = safeguardLevel; + } + + public String getApplication() { + return application; + } + + public void setApplication(String application) { + this.application = application; + } + + public String getStructureFrom() { + return structureFrom; + } + + public void setStructureFrom(String structureFrom) { + this.structureFrom = structureFrom; + } +} diff --git a/src/main/java/com/shupv/entity/PVPanel.java b/src/main/java/com/shupv/entity/PVPanel.java new file mode 100644 index 0000000..8a48c4a --- /dev/null +++ b/src/main/java/com/shupv/entity/PVPanel.java @@ -0,0 +1,187 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by cc on 17-4-4. + */ +@Entity +public class PVPanel implements Serializable { + private int PVPId;//光伏电板设备编号 + private String company;//公司名 + private String form;//类型 + private String series;//系列 + private double peakPower;//峰值功率 + private double transferPower;//转换功率 + private double openCircuitVoltage;//开路电压 + private double maxPowerVoltage;//最大功率电压 + private double maxPowerCurrentl;//最大功率电流 + private double shortCircuitCurrent;//短路电流 + private double TCsopenCircuitVoltage;//开路电压温度系数(有TC前缀) + private double TCmaxPower;//最大功率温度系数 + private double TCshortCircuitCurrent;//短路电流温度系数 + private double length;//长度 + private double width;//宽度 + private double weight;//重量 + private double upperOperatingTemperature;//工作温度上限 + private double lowerOperatingTemperature;//工作温度下限 + private Set projects = new HashSet(); + + @OneToMany(mappedBy = "pvPanel",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getProjects() { + return projects; + } + + public void setProjects(Set projects) { + this.projects = projects; + } + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public int getPVPId() { + return PVPId; + } + + public void setPVPId(int PVPId) { + this.PVPId = PVPId; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + public String getForm() { + return form; + } + + public void setForm(String form) { + this.form = form; + } + + public String getSeries() { + return series; + } + + public void setSeries(String series) { + this.series = series; + } + + public double getPeakPower() { + return peakPower; + } + + public void setPeakPower(double peakPower) { + this.peakPower = peakPower; + } + + public double getTransferPower() { + return transferPower; + } + + public void setTransferPower(double transferPower) { + this.transferPower = transferPower; + } + + public double getOpenCircuitVoltage() { + return openCircuitVoltage; + } + + public void setOpenCircuitVoltage(double openCircuitVoltage) { + this.openCircuitVoltage = openCircuitVoltage; + } + + public double getMaxPowerVoltage() { + return maxPowerVoltage; + } + + public void setMaxPowerVoltage(double maxPowerVoltage) { + this.maxPowerVoltage = maxPowerVoltage; + } + + public double getMaxPowerCurrentl() { + return maxPowerCurrentl; + } + + public void setMaxPowerCurrentl(double maxPowerCurrentl) { + this.maxPowerCurrentl = maxPowerCurrentl; + } + + public double getShortCircuitCurrent() { + return shortCircuitCurrent; + } + + public void setShortCircuitCurrent(double shortCircuitCurrent) { + this.shortCircuitCurrent = shortCircuitCurrent; + } + + public double getTCsopenCircuitVoltage() { + return TCsopenCircuitVoltage; + } + + public void setTCsopenCircuitVoltage(double TCsopenCircuitVoltage) { + this.TCsopenCircuitVoltage = TCsopenCircuitVoltage; + } + + public double getTCmaxPower() { + return TCmaxPower; + } + + public void setTCmaxPower(double TCmaxPower) { + this.TCmaxPower = TCmaxPower; + } + + public double getTCshortCircuitCurrent() { + return TCshortCircuitCurrent; + } + + public void setTCshortCircuitCurrent(double TCshortCircuitCurrent) { + this.TCshortCircuitCurrent = TCshortCircuitCurrent; + } + + public double getLength() { + return length; + } + + public void setLength(double length) { + this.length = length; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getWeight() { + return weight; + } + + public void setWeight(double weight) { + this.weight = weight; + } + + public double getUpperOperatingTemperature() { + return upperOperatingTemperature; + } + + public void setUpperOperatingTemperature(double upperOperatingTemperature) { + this.upperOperatingTemperature = upperOperatingTemperature; + } + + public double getLowerOperatingTemperature() { + return lowerOperatingTemperature; + } + + public void setLowerOperatingTemperature(double lowerOperatingTemperature) { + this.lowerOperatingTemperature = lowerOperatingTemperature; + } +} diff --git a/src/main/java/com/shupv/entity/Permit.java b/src/main/java/com/shupv/entity/Permit.java new file mode 100644 index 0000000..f1a1682 --- /dev/null +++ b/src/main/java/com/shupv/entity/Permit.java @@ -0,0 +1,52 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by cc on 17-4-4. + */ +@Entity +public class Permit implements Serializable{ + private int permitId; //权限编号 + private String permitName; + private String url; + private Set role = new HashSet();//角色集 + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public int getPermitId() { + return permitId; + } + + public void setPermitId(int permitId) { + permitId = permitId; + } + + public String getPermitName() { + return permitName; + } + + public void setPermitName(String permitName) { + this.permitName = permitName; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + @ManyToMany(mappedBy = "permit",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getRole() { + return role; + } + + public void setRole(Set role) { + this.role = role; + } +} diff --git a/src/main/java/com/shupv/entity/Project.java b/src/main/java/com/shupv/entity/Project.java new file mode 100644 index 0000000..61f50f4 --- /dev/null +++ b/src/main/java/com/shupv/entity/Project.java @@ -0,0 +1,137 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by cc on 17-4-4. + */ +@Entity +public class Project implements Serializable, Comparable { + private int projectId; + private String projectName; + private PVPanel pvPanel; + private int row;//光伏电板行数 + private int col;//光伏电板列数 + private ClimaticData climaticData;//气象数据 + private LowPressureDevice lowPressureDevice;//低压侧设备 + private HighPressureDevice highPressureDevice;//高压侧设备 + private String site;//拟建地点 + private Date buildDate;//建设时间 + private String comment;//备注 + private User user; + + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "userId") + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public int getProjectId() { + return projectId; + } + + public void setProjectId(int projectId) { + this.projectId = projectId; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "PVPId") + public PVPanel getPvPanel() { + return pvPanel; + } + + public void setPvPanel(PVPanel pvPanel) { + this.pvPanel = pvPanel; + } + + public int getRow() { + return row; + } + + public void setRow(int row) { + this.row = row; + } + + public int getCol() { + return col; + } + + public void setCol(int col) { + this.col = col; + } + + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "climaticId") + public ClimaticData getClimaticData() { + return climaticData; + } + + public void setClimaticData(ClimaticData climaticData) { + this.climaticData = climaticData; + } + + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "high_pressure_device_id") + public LowPressureDevice getLowPressureDevice() { + return lowPressureDevice; + } + + public void setLowPressureDevice(LowPressureDevice lowPressureDevice) { + this.lowPressureDevice = lowPressureDevice; + } + + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "lowPressureDeviceId") + public HighPressureDevice getHighPressureDevice() { + return highPressureDevice; + } + + public void setHighPressureDevice(HighPressureDevice highPressureDevice) { + this.highPressureDevice = highPressureDevice; + } + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public Date getBuildDate() { + return buildDate; + } + + public void setBuildDate(Date buildDate) { + this.buildDate = buildDate; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + @Override + public int compareTo(Project o) { + return -1 * this.buildDate.compareTo(o.buildDate); + } +} diff --git a/src/main/java/com/shupv/entity/Role.java b/src/main/java/com/shupv/entity/Role.java index ce4f0eb..2d6de77 100644 --- a/src/main/java/com/shupv/entity/Role.java +++ b/src/main/java/com/shupv/entity/Role.java @@ -1,25 +1,58 @@ package com.shupv.entity; +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + /** * Created by zihua on 17-3-29. */ -public class Role { - public String tt; - private String tttt; +@Entity +public class Role implements Serializable { + private String roleName; + private String roleId; //权限id (编号) + private Set permit = new HashSet(); //角色拥有的权限集 + private Set users = new HashSet(); + + public String getRoleName() { + return roleName; + } + + public void setRoleName(String roleName) { + this.roleName = roleName; + } - public String getTt() { - return tt; + @Id + public String getRoleId() { + return roleId; } - public void setTt(String tt) { - this.tt = tt; + public void setRoleId(String roleId) { + this.roleId = roleId; } - public String getTttt() { - return tttt; + @ManyToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER) + @JoinTable( + name = "role_permit", + joinColumns = @JoinColumn(name = "roleId"),//主控方主键 + inverseJoinColumns = @JoinColumn(name = "permitId")//被控方主键 + ) + public Set getPermit() { + return permit; } - public void setTttt(String tttt) { - this.tttt = tttt; + public void setPermit(Set permit) { + this.permit = permit; + } + + @OneToMany(mappedBy = "role",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getUsers() { + return users; + } + + public void setUsers(Set users) { + this.users = users; } } + diff --git a/src/main/java/com/shupv/entity/StepUpTransformer.java b/src/main/java/com/shupv/entity/StepUpTransformer.java new file mode 100644 index 0000000..77f2994 --- /dev/null +++ b/src/main/java/com/shupv/entity/StepUpTransformer.java @@ -0,0 +1,144 @@ +package com.shupv.entity; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +/** + * Created by chengs on 17-4-5. + */ +@Entity +public class StepUpTransformer implements Serializable { + private int id; + private String deviceName;//产品名 + private int size;//类型 + private String modelNumber;//分类 + private double ratedCapacity;//额定容量 + private double loadLoss;//负载损耗(W) + private double noloadElectricity;//空载电流(%) + private double shortCircuitImpedance;//短路阻抗(%) + private double ratedVoltage;//额定电压(V) + private String highPressureBranchRange;//高压分接范围,这是一个范围 + private int linkedGroupId;//联结组标号 + private double noloadLoss;//空载损耗(W) + private Set kv10Set = new HashSet(); + private Set kv35Set = new HashSet(); + public StepUpTransformer(){} + + @Id + @Column(name = "step_up_transformer_id") + @GeneratedValue(strategy = GenerationType.AUTO) + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public int getSize() { + return size; + } + + public void setSize(int size) { + this.size = size; + } + + public String getModelNumber() { + return modelNumber; + } + + public void setModelNumber(String modelNumber) { + this.modelNumber = modelNumber; + } + + public double getRatedCapacity() { + return ratedCapacity; + } + + public void setRatedCapacity(double ratedCapacity) { + this.ratedCapacity = ratedCapacity; + } + + public double getLoadLoss() { + return loadLoss; + } + + public void setLoadLoss(double loadLoss) { + this.loadLoss = loadLoss; + } + + public double getNoloadElectricity() { + return noloadElectricity; + } + + public void setNoloadElectricity(double noloadElectricity) { + this.noloadElectricity = noloadElectricity; + } + + public double getShortCircuitImpedance() { + return shortCircuitImpedance; + } + + public void setShortCircuitImpedance(double shortCircuitImpedance) { + this.shortCircuitImpedance = shortCircuitImpedance; + } + + public double getRatedVoltage() { + return ratedVoltage; + } + + public void setRatedVoltage(double ratedVoltage) { + this.ratedVoltage = ratedVoltage; + } + + public String getHighPressureBranchRange() { + return highPressureBranchRange; + } + + public void setHighPressureBranchRange(String highPressureBranchRange) { + this.highPressureBranchRange = highPressureBranchRange; + } + + public int getLinkedGroupId() { + return linkedGroupId; + } + + public void setLinkedGroupId(int linkedGroupId) { + this.linkedGroupId = linkedGroupId; + } + + public double getNoloadLoss() { + return noloadLoss; + } + + public void setNoloadLoss(double noloadLoss) { + this.noloadLoss = noloadLoss; + } + + @OneToMany(mappedBy = "stepUpTransformer",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getKv10Set() { + return kv10Set; + } + + public void setKv10Set(Set kv10Set) { + this.kv10Set = kv10Set; + } + @OneToMany(mappedBy = "stepUpTransformer",cascade = CascadeType.ALL,fetch = FetchType.EAGER) + public Set getKv35Set() { + return kv35Set; + } + + public void setKv35Set(Set kv35Set) { + this.kv35Set = kv35Set; + } +} diff --git a/src/main/java/com/shupv/entity/Transformer.java b/src/main/java/com/shupv/entity/Transformer.java new file mode 100644 index 0000000..0ab366c --- /dev/null +++ b/src/main/java/com/shupv/entity/Transformer.java @@ -0,0 +1,5 @@ +package com.shupv.entity; + + +public interface Transformer { +} diff --git a/src/main/java/com/shupv/entity/User.java b/src/main/java/com/shupv/entity/User.java index 352ea36..b47584d 100644 --- a/src/main/java/com/shupv/entity/User.java +++ b/src/main/java/com/shupv/entity/User.java @@ -1,21 +1,40 @@ package com.shupv.entity; +import javax.persistence.*; +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; +import java.util.TreeSet; + /** * Created by zihua on 17-3-29. */ -public class User { - private int userId; +@Entity +public class User implements Serializable { + private String userId;//用户的id private String userName; private String password; private String phoneNumber; - private Role role; + private Role role;//用户所对应的角色 private String name; + private String mail; + private Set projectSet = new TreeSet(); + + @OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.EAGER) + public Set getProjectSet() { + return projectSet; + } + + public void setProjectSet(Set projectSet) { + this.projectSet = projectSet; + } - public int getUserId() { + @Id + public String getUserId() { return userId; } - public void setUserId(int userId) { + public void setUserId(String userId) { this.userId = userId; } @@ -43,6 +62,8 @@ public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "roleId") public Role getRole() { return role; } @@ -58,4 +79,12 @@ public String getName() { public void setName(String name) { this.name = name; } + + public String getMail() { + return mail; + } + + public void setMail(String mail) { + this.mail = mail; + } } diff --git a/src/main/java/com/shupv/entity/qwefcsd.java b/src/main/java/com/shupv/entity/qwefcsd.java deleted file mode 100644 index 2f4063b..0000000 --- a/src/main/java/com/shupv/entity/qwefcsd.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.shupv.entity; - -/** - * Created by cc on 17-4-5. - */ -public class qwefcsd { -} diff --git a/src/main/java/com/shupv/service/ComponentService.java b/src/main/java/com/shupv/service/ComponentService.java new file mode 100644 index 0000000..aa5c45e --- /dev/null +++ b/src/main/java/com/shupv/service/ComponentService.java @@ -0,0 +1,54 @@ +package com.shupv.service; + +import com.shupv.dao.ComponentDao; + +import com.shupv.entity.CentralizedInverter; +import com.shupv.tools.JSONArrayCentralizedInverter; +import org.json.JSONArray; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * Created by chengs on 17-5-6. + */ +@Service +public class ComponentService { + + @Autowired + private ComponentDao componentDao; + + public String createComponent() { + return componentDao.createComponent().toString(); + } + + public String queryComponent() { + List result=componentDao.queryComponent(); + if(result==null){ + return new JSONArray().put(new JSONObject().put("status","false")).toString(); + }else{ + return JSONArrayCentralizedInverter.formatCentralizedInverterArray(result).toString(); + } + } + + public String createCI(String manufacturersName, String model, int maxDCInputPower, int maxInputVoltage, int startVoltage, int mppLVL, int mppVL, int maxDCInputCurrent, int ratedACOutputPower, int maxOutputPower, int maxACOutputCurrent, int ratedGridVoltage, double maxEfficiency) { + return componentDao.createCI( + manufacturersName,//厂家 + model,//型号 + maxDCInputPower,//最大直流输入功率 + maxInputVoltage,//最大效率 + startVoltage,//启动电压 + mppLVL, // LVL(Lower Voltage Limit, 电压下限) + mppVL, // VL(Voltage Limit, 电压上限) + maxDCInputCurrent, //最大直流输入电流 + ratedACOutputPower,//额定交流输出功率 + maxOutputPower,//最大输出功率 + maxACOutputCurrent,//最大交流输出电流 + ratedGridVoltage,//最大交流输出电流 + maxEfficiency//最大效率, + ).toString(); + } +} diff --git a/src/main/java/com/shupv/service/ProjectService.java b/src/main/java/com/shupv/service/ProjectService.java new file mode 100644 index 0000000..f2925d3 --- /dev/null +++ b/src/main/java/com/shupv/service/ProjectService.java @@ -0,0 +1,173 @@ +package com.shupv.service; + + +import com.shupv.dao.ProjectDao; +import com.shupv.entity.ClimaticData; +import com.shupv.entity.Project; +import com.shupv.tools.JSONStatus; +import org.json.JSONArray; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Set; + +import static com.shupv.tools.SecurityTools.nullCheck; +import static com.shupv.tools.SkipJson.formatProject; + +/** + * Created by zihua on 17-4-30. + */ +@Service +public class ProjectService { + @Autowired + private ProjectDao projectDao; + + public String getCurrentProject(String userId, String projectName) { + Project project = projectDao.getCurrentProject(userId, projectName); + return formatProject(project).toString(); + } + + public String ckeckProjectName(String userId, String projectName) { + Project project = projectDao.getCurrentProject(userId, projectName); + if(project==null)return new JSONStatus(true).toString(); + else return new JSONStatus(false).toString(); + } + + /** + * 通过项目的projectName和用户的id来获取项目信息 + * @param p_name,u_id + * @return 项目信息的JSON字符串 + */ + public String getProjectInfo(String u_id, String p_name){ + Project project = projectDao.getProjectByPNameAndUId(u_id, p_name); + if (project == null){ + JSONStatus jsonStatus = new JSONStatus(false); + return jsonStatus.toString(); + }else { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("projectId", u_id); + jsonObject.put("buildDate", nullCheck(project.getBuildDate())); + jsonObject.put("col", nullCheck(project.getCol())); + jsonObject.put("row", nullCheck(project.getRow())); + jsonObject.put("comment", nullCheck(project.getComment())); + jsonObject.put("projectName", p_name); + jsonObject.put("site", nullCheck(project.getSite())); + return jsonObject.toString(); + } + } + + /** + * 更改项目信息(注:如果一个属性值为空,用空字符串表示) + * @param u_id,p_name,jsonStr + * @return 是否成功修改 + */ + public String updateProjectInfo(String u_id, String p_name, String jsonStr){ + JSONObject jsonObject = new JSONObject(jsonStr); + Project project = projectDao.getProjectByPNameAndUId(u_id, p_name); + if (jsonObject.getString("projectName") != null){ + project.setProjectName(jsonObject.getString("projectName")); + } + project.setCol(jsonObject.getInt("col")); + project.setRow(jsonObject.getInt("row")); + project.setComment(jsonObject.getString("comment")); + project.setSite(jsonObject.getString("site")); + JSONStatus isOk = new JSONStatus(projectDao.update(project)); + return isOk.toString(); + } + + /** + * 通过用户的id和项目的name获取项目的气象信息 + * @param u_id + * @param p_name + * @return + */ + public String getClimaticInfo(String u_id, String p_name){ + Project project = projectDao.getProjectByPNameAndUId(u_id, p_name); + if (project.getClimaticData() == null){ + return new JSONStatus(false).toString(); + } + else { + ClimaticData climaticData = project.getClimaticData(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("climaticId", nullCheck(climaticData.getClimaticId())); + jsonObject.put("month", nullCheck(climaticData.getMonth())); + jsonObject.put("irradiance", nullCheck(climaticData.getIrradiance())); + jsonObject.put("temperature", nullCheck(climaticData.getTemperature())); + jsonObject.put("humidity", nullCheck(climaticData.getHumidity())); + jsonObject.put("windSpeed", nullCheck(climaticData.getWindSpeed())); + jsonObject.put("longitude", nullCheck(climaticData.getLongitude())); + jsonObject.put("latitude", nullCheck(climaticData.getLatitude())); + return jsonObject.toString(); + } + } + /** + * 方位角,倾角查询 + * (注:如果属性值都为空,用空字符串表示,公式没拿到) + * @param jsonStr + * @return res.toString(); + * by lcc + */ + public String getfwqj(String jsonStr){ + if(jsonStr==null) + return "null"; + JSONObject jsonObject=new JSONObject(jsonStr); + //获取方位角和倾角 + double fwj=jsonObject.getDouble("fwj"); + double qj=jsonObject.getDouble("qj"); + //计算年总辐照度 + double nzfzd=0; + //计算组件年输出电量 + double zjnscdl=0; + //计算月总辐照度 + double yzfzd=0; + //计算组件月输出电量 + double zjyscdl=0; + JSONObject res=new JSONObject(); + res.put("nzfzd",nzfzd); + res.put("zjnscdl",zjnscdl); + res.put("yzfzd",yzfzd); + res.put("zjyscdl",zjyscdl); + return res.toString(); + } + /** + * 组件布局查询(公式都不知道!!!),没写好,暂时这样 + * (注:如果属性值都为空,用空字符串表示) + * + */ + public String getzjbj(String jsonStr){ + if(jsonStr==null) + return "null"; + JSONObject jsonObject=new JSONObject(jsonStr); + //获取容量(KW),总组件数(个),区域长L(m),左右间距d(m),区域宽W(m),m数,n数,前后间距(D(m)) + double rl=jsonObject.getDouble("rl"); + double zzjs=jsonObject.getDouble("zzjs"); + double qyc=jsonObject.getDouble("qyc"); + double zyjj=jsonObject.getDouble("zyjj"); + double qyk=jsonObject.getDouble("qyk"); + double mshu=jsonObject.getDouble("mshu"); + double nshu=jsonObject.getDouble("nshu"); + double qhjj=jsonObject.getDouble("qhjj"); + //计算区域长可放置阵列数,左右剩余间距(m),区域长可放置阵列数,前后剩余间距(m),区域宽可放置阵列数 + //总占地面积(m2),总组件数(个),总容量(KW) + double xxxxxxx=0; + return "0"; + } + /** + * 查询当前用户所有项目 返回 id 项目名称 创建时间 + * @param userId + * @return String + */ + public String getMyProject(String userId){ + Set projects=projectDao.getAllProjects(userId); + JSONArray jsonArr=new JSONArray(); + for(Project p:projects){ + JSONObject jsonStr=new JSONObject(); + jsonStr.put("p_id",nullCheck(p.getProjectId())); + jsonStr.put("p_name",nullCheck(p.getProjectName())); + jsonStr.put("p_buildDate",nullCheck(p.getBuildDate())); + jsonArr.put(jsonStr); + } + return jsonArr.toString(); + } +} diff --git a/src/main/java/com/shupv/service/SystemService.java b/src/main/java/com/shupv/service/SystemService.java new file mode 100644 index 0000000..2091e23 --- /dev/null +++ b/src/main/java/com/shupv/service/SystemService.java @@ -0,0 +1,117 @@ +package com.shupv.service; + +/** + * Created by zihua on 17-4-16. + */ + +import com.shupv.dao.ProjectDao; +import com.shupv.dao.RoleDao; +import com.shupv.dao.UserDao; +import com.shupv.entity.Project; +import com.shupv.entity.User; +import com.shupv.tools.SecurityTools; +import org.json.JSONArray; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +import java.util.Set; + +import static com.shupv.tools.SecurityTools.nullCheck; + +@Service +public class SystemService { + @Autowired + private UserDao userDao; + @Autowired + private RoleDao roleDao; + + @Autowired + private ProjectDao projectDao; + + /** 登录时通过id和password检查用户是否存在 + * @param id + * @param password + * @return 返回是否存在该用户 + */ + + public boolean checkUserByIdAndPwd(String id, String password) { + password = SecurityTools.md5(password); + if (userDao.getUserByIdAndPwd(id, password) == null) { + return false; + } else { + return true; + } + } + + /**通过id检查用户是否存在 + * @param id + * @return 返回是否存在该用户 + */ + public boolean checkUserById(String id) { + if (userDao.getUserById(id) == null) { + return false; + } else { + return true; + } + } + + /**通过id,password和nickname注册一个用户 + * @param id + * @param password + * @param nickname + * @return 返回注册结果是否成功 + */ + public boolean register(String id, String password, String nickname) { + User user = new User(); + user.setUserId(id); + user.setPassword(SecurityTools.md5(password)); + user.setName(nickname); + user.setRole(roleDao.getRoleById("1001")); + return userDao.insert(user); + } + + /** + * 通过userId获取该用户的nickname和roleName + * + * @param userId + * @return 返回该用户的JSON字符串 + */ + public String getNicknameAndRolenameByUserId(String userId) { + JSONObject jsonObject = new JSONObject(); + User user = userDao.getUserById(userId); + jsonObject.put("nickname", nullCheck(user.getName())); + jsonObject.put("roleName", nullCheck(user.getRole().getRoleName())); + return jsonObject.toString(); + } + + public String createProject(String userId,String projectName){ + return projectDao.createProject(userId,projectName).toString(); + } + + + /** + * 通过userId查找该用户的所有创建过的项目 + * @param userId + * @return 返回该用户所有的项目(所含属性为projectName,buildDate) + * 的JSON字符串 + */ + public String getProjects(String userId){ + JSONArray jsonArray = new JSONArray(); + Set projects = userDao.getProjectsById(userId); + for (Project i:projects) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("projectName", nullCheck(i.getProjectName())); + jsonObject.put("buildDate", nullCheck(i.getBuildDate())); + jsonObject.put("comment",nullCheck(i.getComment())); + jsonArray.put(jsonObject); + } + return jsonArray.toString(); + } + + public String updateProject(String projectId){ + return projectDao.updateProject(projectId).toString(); + } + +} diff --git a/src/main/java/com/shupv/service/UserService.java b/src/main/java/com/shupv/service/UserService.java new file mode 100644 index 0000000..b0f478f --- /dev/null +++ b/src/main/java/com/shupv/service/UserService.java @@ -0,0 +1,10 @@ +package com.shupv.service; + +import org.springframework.stereotype.Service; + +/** + * Created by zihua on 17-4-30. + */ +@Service +public class UserService { +} diff --git a/src/main/java/com/shupv/tools/JSONArrayCentralizedInverter.java b/src/main/java/com/shupv/tools/JSONArrayCentralizedInverter.java new file mode 100644 index 0000000..697a868 --- /dev/null +++ b/src/main/java/com/shupv/tools/JSONArrayCentralizedInverter.java @@ -0,0 +1,39 @@ +package com.shupv.tools; + +import com.shupv.entity.CentralizedInverter; +import com.shupv.entity.Project; +import org.json.JSONArray; +import org.json.JSONObject; + +import java.util.List; + +import static com.shupv.tools.SecurityTools.nullCheck; + +/** + * Created by chengs on 17-5-6. + */ +public class JSONArrayCentralizedInverter { + public static JSONArray formatCentralizedInverterArray(List centralizedInverterList) { + JSONArray jsonArray=new JSONArray(); + for(int i=0;i org.hibernate.dialect.MySQLDialect - false - false + true + true false false thread diff --git a/src/main/resources/jdbc.properties b/src/main/resources/jdbc.properties deleted file mode 100644 index db4802d..0000000 --- a/src/main/resources/jdbc.properties +++ /dev/null @@ -1,4 +0,0 @@ -jdbc.driverClassName=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://localhost:3306/pvsystem?useUnicode=true&&characterEncoding=utf-8 -jdbc.username=root -jdbc.password=123456 diff --git a/src/main/resources/pvsystem.sql b/src/main/resources/pvsystem.sql new file mode 100644 index 0000000..2982ffd --- /dev/null +++ b/src/main/resources/pvsystem.sql @@ -0,0 +1,437 @@ +/* +Navicat MySQL Data Transfer + +Source Server : sql +Source Server Version : 50717 +Source Host : localhost:3306 +Source Database : pvsystem + +Target Server Type : MYSQL +Target Server Version : 50717 +File Encoding : 65001 + +Date: 2017-04-16 22:32:03 +*/ + +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `cable` +-- ---------------------------- +DROP TABLE IF EXISTS `cable`; +CREATE TABLE `cable` ( + `cable_id` int(11) NOT NULL, + `allowableCarryingCapacity` int(11) NOT NULL, + `capacity` int(11) NOT NULL, + `model` varchar(255) DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + PRIMARY KEY (`cable_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of cable +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `centralizedinverter` +-- ---------------------------- +DROP TABLE IF EXISTS `centralizedinverter`; +CREATE TABLE `centralizedinverter` ( + `centralized_inverter_id` int(11) NOT NULL, + `manufacturersName` varchar(255) DEFAULT NULL, + `maxACOutputCurrent` int(11) NOT NULL, + `maxDCInputCurrent` int(11) NOT NULL, + `maxDCInputPower` int(11) NOT NULL, + `maxEfficiency` double NOT NULL, + `maxInputVoltage` int(11) NOT NULL, + `maxOutputPower` int(11) NOT NULL, + `model` varchar(255) DEFAULT NULL, + `mppLVL` int(11) NOT NULL, + `mppVL` int(11) NOT NULL, + `ratedACOutputPower` int(11) NOT NULL, + `ratedGridVoltage` int(11) NOT NULL, + `startVoltage` int(11) NOT NULL, + PRIMARY KEY (`centralized_inverter_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of centralizedinverter +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `centralizedtransform` +-- ---------------------------- +DROP TABLE IF EXISTS `centralizedtransform`; +CREATE TABLE `centralizedtransform` ( + `centralized_transform_id` int(11) NOT NULL, + `cable_id` int(11) DEFAULT NULL, + `centralized_inverter_id` int(11) DEFAULT NULL, + `dcbox_id` int(11) DEFAULT NULL, + `dcbus_id` int(11) DEFAULT NULL, + PRIMARY KEY (`centralized_transform_id`), + KEY `FKmcegh8v948seuqco8248e1utr` (`cable_id`), + KEY `FKhhh9teymlq5pru9b1q5e1tvwh` (`centralized_inverter_id`), + KEY `FKo7fe1q5wicusamr8mlb4vm75g` (`dcbox_id`), + KEY `FK5seo3gal6mew2pk4eld4r0nsd` (`dcbus_id`), + CONSTRAINT `FK5seo3gal6mew2pk4eld4r0nsd` FOREIGN KEY (`dcbus_id`) REFERENCES `dcbus` (`dcbus_id`), + CONSTRAINT `FKhhh9teymlq5pru9b1q5e1tvwh` FOREIGN KEY (`centralized_inverter_id`) REFERENCES `centralizedinverter` (`centralized_inverter_id`), + CONSTRAINT `FKmcegh8v948seuqco8248e1utr` FOREIGN KEY (`cable_id`) REFERENCES `cable` (`cable_id`), + CONSTRAINT `FKo7fe1q5wicusamr8mlb4vm75g` FOREIGN KEY (`dcbox_id`) REFERENCES `dcbox` (`dcbox_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of centralizedtransform +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `climaticdata` +-- ---------------------------- +DROP TABLE IF EXISTS `climaticdata`; +CREATE TABLE `climaticdata` ( + `climaticId` int(11) NOT NULL, + `humidity` double NOT NULL, + `irradiance` double NOT NULL, + `latitude` double NOT NULL, + `longitude` double NOT NULL, + `month` int(11) NOT NULL, + `temperature` double NOT NULL, + `windSpeed` double NOT NULL, + PRIMARY KEY (`climaticId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of climaticdata +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `dcbox` +-- ---------------------------- +DROP TABLE IF EXISTS `dcbox`; +CREATE TABLE `dcbox` ( + `dcbox_id` int(11) NOT NULL, + `companyName` varchar(255) DEFAULT NULL, + `limitOfATOCV` int(11) NOT NULL, + `limitOfIOTotalCurrent` int(11) NOT NULL, + `limitOfInputDCPower` int(11) NOT NULL, + `model` varchar(255) DEFAULT NULL, + `numOfAccessDCChannels` int(11) NOT NULL, + PRIMARY KEY (`dcbox_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of dcbox +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `dcbus` +-- ---------------------------- +DROP TABLE IF EXISTS `dcbus`; +CREATE TABLE `dcbus` ( + `dcbus_id` int(11) NOT NULL, + `haveAuxiliaryPower` bit(1) NOT NULL, + `haveDCCB` bit(1) NOT NULL, + `haveLPM` bit(1) NOT NULL, + `haveMonitoringUnit` bit(1) NOT NULL, + `inputCurrentLimit` int(11) NOT NULL, + `manufacturersName` varchar(255) DEFAULT NULL, + `model` varchar(255) DEFAULT NULL, + `numOfInputs` int(11) NOT NULL, + PRIMARY KEY (`dcbus_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of dcbus +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `groupinverter` +-- ---------------------------- +DROP TABLE IF EXISTS `groupinverter`; +CREATE TABLE `groupinverter` ( + `group_inverter_id` int(11) NOT NULL, + `manufacturersName` varchar(255) DEFAULT NULL, + `maxAllowedInputCurrent` double NOT NULL, + `maxEfficiency` double NOT NULL, + `maxInputCurrent` double NOT NULL, + `maxInputPower` int(11) NOT NULL, + `maxInputVoltage` int(11) NOT NULL, + `maxOutputCurrent` double NOT NULL, + `maxOutputPower` int(11) NOT NULL, + `model` varchar(255) DEFAULT NULL, + `mppLVL` int(11) NOT NULL, + `mppVL` int(11) NOT NULL, + `numOfMPPT` int(11) NOT NULL, + `ratedInputVoltage` int(11) NOT NULL, + `ratedOutputPower` int(11) NOT NULL, + PRIMARY KEY (`group_inverter_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of groupinverter +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `grouptransformer` +-- ---------------------------- +DROP TABLE IF EXISTS `grouptransformer`; +CREATE TABLE `grouptransformer` ( + `group_transformer_id` int(11) NOT NULL, + `cable_id` int(11) DEFAULT NULL, + `group_inverter_id` int(11) DEFAULT NULL, + PRIMARY KEY (`group_transformer_id`), + KEY `FKqa5fv8ppdhaoya2nv4j7ros43` (`cable_id`), + KEY `FK4jffbtg5erkc3eb31l57ux08f` (`group_inverter_id`), + CONSTRAINT `FK4jffbtg5erkc3eb31l57ux08f` FOREIGN KEY (`group_inverter_id`) REFERENCES `groupinverter` (`group_inverter_id`), + CONSTRAINT `FKqa5fv8ppdhaoya2nv4j7ros43` FOREIGN KEY (`cable_id`) REFERENCES `cable` (`cable_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of grouptransformer +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `highpressuredevice` +-- ---------------------------- +DROP TABLE IF EXISTS `highpressuredevice`; +CREATE TABLE `highpressuredevice` ( + `high_pressure_device_id` int(11) NOT NULL, + `deviceSize` int(11) NOT NULL, + `kv038_id` int(11) DEFAULT NULL, + `kv10_id` int(11) DEFAULT NULL, + `kv35_id` int(11) DEFAULT NULL, + PRIMARY KEY (`high_pressure_device_id`), + KEY `FKf1pbrkle2oow00oem4o84ccfr` (`kv038_id`), + KEY `FKffrd2a3jwhdvbddexs27uk45c` (`kv10_id`), + KEY `FKlpdbhf090se7vv6i29okia571` (`kv35_id`), + CONSTRAINT `FKf1pbrkle2oow00oem4o84ccfr` FOREIGN KEY (`kv038_id`) REFERENCES `kv038` (`kv038_id`), + CONSTRAINT `FKffrd2a3jwhdvbddexs27uk45c` FOREIGN KEY (`kv10_id`) REFERENCES `kv10` (`kv10_id`), + CONSTRAINT `FKlpdbhf090se7vv6i29okia571` FOREIGN KEY (`kv35_id`) REFERENCES `kv35` (`kv35_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of highpressuredevice +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `kv038` +-- ---------------------------- +DROP TABLE IF EXISTS `kv038`; +CREATE TABLE `kv038` ( + `kv038_id` int(11) NOT NULL, + `low_switch_cabinet_id` int(11) DEFAULT NULL, + PRIMARY KEY (`kv038_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of kv038 +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `kv10` +-- ---------------------------- +DROP TABLE IF EXISTS `kv10`; +CREATE TABLE `kv10` ( + `kv10_id` int(11) NOT NULL, + `low_switch_cabinet_id` int(11) DEFAULT NULL, + `step_up_transformer_id` int(11) DEFAULT NULL, + PRIMARY KEY (`kv10_id`), + KEY `FKjr7jygw42s0jswu576d0sn65d` (`step_up_transformer_id`), + CONSTRAINT `FKjr7jygw42s0jswu576d0sn65d` FOREIGN KEY (`step_up_transformer_id`) REFERENCES `stepuptransformer` (`step_up_transformer_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of kv10 +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `kv35` +-- ---------------------------- +DROP TABLE IF EXISTS `kv35`; +CREATE TABLE `kv35` ( + `kv35_id` int(11) NOT NULL, + `high_switch_cabinet_id` int(11) DEFAULT NULL, + `low_switch_cabinet_id` int(11) DEFAULT NULL, + `step_up_transformer_id` int(11) DEFAULT NULL, + PRIMARY KEY (`kv35_id`), + KEY `FKkoobo1r9ieh0wptp9b8lm82n5` (`step_up_transformer_id`), + CONSTRAINT `FKkoobo1r9ieh0wptp9b8lm82n5` FOREIGN KEY (`step_up_transformer_id`) REFERENCES `stepuptransformer` (`step_up_transformer_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of kv35 +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `lowpressuredevice` +-- ---------------------------- +DROP TABLE IF EXISTS `lowpressuredevice`; +CREATE TABLE `lowpressuredevice` ( + `lowPressureDeviceId` int(11) NOT NULL, + `series` int(11) NOT NULL, + `centralized_transform_id` int(11) DEFAULT NULL, + `group_transformer_id` int(11) DEFAULT NULL, + PRIMARY KEY (`lowPressureDeviceId`), + KEY `FK9mp587eti1nungse3gajcfao1` (`centralized_transform_id`), + KEY `FKd37wfruqfrbxbifpjbabjisqt` (`group_transformer_id`), + CONSTRAINT `FK9mp587eti1nungse3gajcfao1` FOREIGN KEY (`centralized_transform_id`) REFERENCES `centralizedtransform` (`centralized_transform_id`), + CONSTRAINT `FKd37wfruqfrbxbifpjbabjisqt` FOREIGN KEY (`group_transformer_id`) REFERENCES `grouptransformer` (`group_transformer_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of lowpressuredevice +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `permit` +-- ---------------------------- +DROP TABLE IF EXISTS `permit`; +CREATE TABLE `permit` ( + `permitId` int(11) NOT NULL, + `permitName` varchar(255) DEFAULT NULL, + `url` varchar(255) DEFAULT NULL, + PRIMARY KEY (`permitId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of permit +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `project` +-- ---------------------------- +DROP TABLE IF EXISTS `project`; +CREATE TABLE `project` ( + `projectId` int(11) NOT NULL, + `buildDate` datetime DEFAULT NULL, + `col` int(11) NOT NULL, + `comment` varchar(255) DEFAULT NULL, + `projectName` varchar(255) DEFAULT NULL, + `row` int(11) NOT NULL, + `site` varchar(255) DEFAULT NULL, + `climaticId` int(11) DEFAULT NULL, + `lowPressureDeviceId` int(11) DEFAULT NULL, + `high_pressure_device_id` int(11) DEFAULT NULL, + `PVPId` int(11) DEFAULT NULL, + `userId` int(11) DEFAULT NULL, + PRIMARY KEY (`projectId`), + KEY `FK81h3howstod6vkq85gwhscda0` (`climaticId`), + KEY `FK8jq8vgvr0s90uerj6lfuop6wu` (`lowPressureDeviceId`), + KEY `FK6080fqt6hw99e1yfq714tprix` (`high_pressure_device_id`), + KEY `FK9kpxnhnvvjr3ghq8f0mquqjs6` (`PVPId`), + KEY `FK1wtggfel74ptpbx1fbnav6bjy` (`userId`), + CONSTRAINT `FK1wtggfel74ptpbx1fbnav6bjy` FOREIGN KEY (`userId`) REFERENCES `user` (`userId`), + CONSTRAINT `FK6080fqt6hw99e1yfq714tprix` FOREIGN KEY (`high_pressure_device_id`) REFERENCES `lowpressuredevice` (`lowPressureDeviceId`), + CONSTRAINT `FK81h3howstod6vkq85gwhscda0` FOREIGN KEY (`climaticId`) REFERENCES `climaticdata` (`climaticId`), + CONSTRAINT `FK8jq8vgvr0s90uerj6lfuop6wu` FOREIGN KEY (`lowPressureDeviceId`) REFERENCES `highpressuredevice` (`high_pressure_device_id`), + CONSTRAINT `FK9kpxnhnvvjr3ghq8f0mquqjs6` FOREIGN KEY (`PVPId`) REFERENCES `pvpanel` (`PVPId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of project +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `pvpanel` +-- ---------------------------- +DROP TABLE IF EXISTS `pvpanel`; +CREATE TABLE `pvpanel` ( + `PVPId` int(11) NOT NULL, + `TCmaxPower` double NOT NULL, + `TCshortCircuitCurrent` double NOT NULL, + `TCsopenCircuitVoltage` double NOT NULL, + `company` varchar(255) DEFAULT NULL, + `form` varchar(255) DEFAULT NULL, + `length` double NOT NULL, + `lowerOperatingTemperature` double NOT NULL, + `maxPowerCurrentl` double NOT NULL, + `maxPowerVoltage` double NOT NULL, + `openCircuitVoltage` double NOT NULL, + `peakPower` double NOT NULL, + `series` varchar(255) DEFAULT NULL, + `shortCircuitCurrent` double NOT NULL, + `transferPower` double NOT NULL, + `upperOperatingTemperature` double NOT NULL, + `weight` double NOT NULL, + `width` double NOT NULL, + PRIMARY KEY (`PVPId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of pvpanel +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `role` +-- ---------------------------- +DROP TABLE IF EXISTS `role`; +CREATE TABLE `role` ( + `roleId` varchar(255) NOT NULL, + `roleName` varchar(255) DEFAULT NULL, + PRIMARY KEY (`roleId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of role +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `role_permit` +-- ---------------------------- +DROP TABLE IF EXISTS `role_permit`; +CREATE TABLE `role_permit` ( + `roleId` varchar(255) NOT NULL, + `permitId` int(11) NOT NULL, + PRIMARY KEY (`roleId`,`permitId`), + KEY `FK1idg0f7oktnapj6fb4b73lle3` (`permitId`), + CONSTRAINT `FK1idg0f7oktnapj6fb4b73lle3` FOREIGN KEY (`permitId`) REFERENCES `permit` (`permitId`), + CONSTRAINT `FK4dqy49cdfrc1ux10xcv13y9i1` FOREIGN KEY (`roleId`) REFERENCES `role` (`roleId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of role_permit +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `stepuptransformer` +-- ---------------------------- +DROP TABLE IF EXISTS `stepuptransformer`; +CREATE TABLE `stepuptransformer` ( + `step_up_transformer_id` int(11) NOT NULL, + `deviceName` varchar(255) DEFAULT NULL, + `highPressureBranchRange` varchar(255) DEFAULT NULL, + `linkedGroupId` int(11) NOT NULL, + `loadLoss` double NOT NULL, + `modelNumber` varchar(255) DEFAULT NULL, + `noloadElectricity` double NOT NULL, + `noloadLoss` double NOT NULL, + `ratedCapacity` double NOT NULL, + `ratedVoltage` double NOT NULL, + `shortCircuitImpedance` double NOT NULL, + `size` int(11) NOT NULL, + PRIMARY KEY (`step_up_transformer_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of stepuptransformer +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `user` +-- ---------------------------- +DROP TABLE IF EXISTS `user`; +CREATE TABLE `user` ( + `userId` int(11) NOT NULL, + `mail` varchar(255) DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `password` varchar(255) DEFAULT NULL, + `phoneNumber` varchar(255) DEFAULT NULL, + `userName` varchar(255) DEFAULT NULL, + `roleId` varchar(255) DEFAULT NULL, + PRIMARY KEY (`userId`), + KEY `FK8inc89ty03smkvd9txfpjvn3m` (`roleId`), + CONSTRAINT `FK8inc89ty03smkvd9txfpjvn3m` FOREIGN KEY (`roleId`) REFERENCES `role` (`roleId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of user +-- ---------------------------- diff --git "a/src/main/resources/\344\273\273\345\212\241\350\257\264\346\230\216.txt" "b/src/main/resources/\344\273\273\345\212\241\350\257\264\346\230\216.txt" new file mode 100644 index 0000000..925e155 --- /dev/null +++ "b/src/main/resources/\344\273\273\345\212\241\350\257\264\346\230\216.txt" @@ -0,0 +1,35 @@ +情景: +现在系统可以个用户添加两个 cookie,分别是 +pvsystemCookie,值为用户唯一标识userId +curProject,值为项目名称 +一个用户的项目名称不能重名,通过 pvsystemCookie可以确定哪一个用户,通过curProject可以确定用户的哪一个项目 + + +任务: +雨果: +1.项目信息的查询接口,更改接口 +2.项目地理气象查询接口,更改接口 +3.项目组件选型查询,更改接口 + +李长城: +1.项目方位角查询,更改接口 +2.项目组件布局查询,更改接口 + +罗成盛: +1.项目低压侧所需的数据查询接口,更改接口 +2.项目高压侧所需的数据查询接口,更改接口 + +说明: +我们都是项目经理,每个人负责的每一个部分都需要自己去分析需要做什么 +有问题就问,不然我就默认你们都会了!!!! + +吴霞: +继续完成完善界面. + +王孟桃: +听吴霞安排 + +陈瑶: +同上 + + diff --git a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/AutoFill/js/dataTables.autoFill.min.js b/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/AutoFill/js/dataTables.autoFill.min.js deleted file mode 100644 index 97ee549..0000000 --- a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/AutoFill/js/dataTables.autoFill.min.js +++ /dev/null @@ -1,23 +0,0 @@ -/*! - AutoFill 2.1.3 - ©2008-2016 SpryMedia Ltd - datatables.net/license -*/ -(function(e){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(l){return e(l,window,document)}):"object"===typeof exports?module.exports=function(l,i){l||(l=window);if(!i||!i.fn.dataTable)i=require("datatables.net")(l,i).$;return e(i,l,l.document)}:e(jQuery,window,document)})(function(e,l,i,q){var k=e.fn.dataTable,o=0,j=function(c,b){if(!k.versionCheck||!k.versionCheck("1.10.8"))throw"Warning: AutoFill requires DataTables 1.10.8 or greater";this.c=e.extend(!0,{},k.defaults.autoFill, -j.defaults,b);this.s={dt:new k.Api(c),namespace:".autoFill"+o++,scroll:{},scrollInterval:null,handle:{height:0,width:0}};this.dom={handle:e('
'),select:{top:e('
'),right:e('
'),bottom:e('
'),left:e('
')},background:e('
'),list:e('
'+this.s.dt.i18n("autoFill.info", -"")+"
    "),dtScroll:null,offsetParent:null};this._constructor()};e.extend(j.prototype,{_constructor:function(){var c=this,b=this.s.dt,a=e("div.dataTables_scrollBody",this.s.dt.table().container());a.length&&(this.dom.dtScroll=a,"static"===a.css("position")&&a.css("position","relative"));this._focusListener();this.dom.handle.on("mousedown",function(a){c._mousedown(a);return false});b.on("destroy.autoFill",function(){b.off(".autoFill");e(b.table().body()).off(c.s.namespace);e(i.body).off(c.s.namespace)})}, -_attach:function(c){var b=this.s.dt,a=b.cell(c).index(),d=this.dom.handle,f=this.s.handle;if(!a||-1===b.columns(this.c.columns).indexes().indexOf(a.column))this._detach();else{this.dom.offsetParent||(this.dom.offsetParent=e(b.table().node()).offsetParent());if(!f.height||!f.width)d.appendTo("body"),f.height=d.outerHeight(),f.width=d.outerWidth();b=this._getPosition(c,this.dom.offsetParent);this.dom.attachedTo=c;d.css({top:b.top+c.offsetHeight-f.height,left:b.left+c.offsetWidth-f.width}).appendTo(this.dom.offsetParent)}}, -_actionSelector:function(c){var b=this,a=this.s.dt,d=j.actions,f=[];e.each(d,function(b,d){d.available(a,c)&&f.push(b)});if(1===f.length&&!1===this.c.alwaysAsk){var h=d[f[0]].execute(a,c);this._update(h,c)}else{var g=this.dom.list.children("ul").empty();f.push("cancel");e.each(f,function(f,h){g.append(e("
  • ").append('
    '+d[h].option(a,c)+"
    ").append(e('
    ').append(e('").on("click",function(){var f=d[h].execute(a,c,e(this).closest("li"));b._update(f,c);b.dom.background.remove();b.dom.list.remove()}))))});this.dom.background.appendTo("body");this.dom.list.appendTo("body");this.dom.list.css("margin-top",-1*(this.dom.list.outerHeight()/2))}},_detach:function(){this.dom.attachedTo=null;this.dom.handle.detach()},_drawSelection:function(c){var b=this.s.dt,a=this.s.start,d=e(this.dom.start),f=e(c),h={row:b.rows({page:"current"}).nodes().indexOf(f.parent()[0]), -column:f.index()},c=b.column.index("toData",h.column);if(b.cell(f).any()&&-1!==b.columns(this.c.columns).indexes().indexOf(c)){this.s.end=h;var g,b=a.row=b;d--)a.push(d);return a},_shiftScroll:function(c){var b=this,a=this.s.scroll,d=!1,f=c.pageY-i.body.scrollTop,e=c.pageX-i.body.scrollLeft,g,j,k,l;65>f?g=-5:f>a.windowHeight-65&&(g=5);65>e?j=-5:e>a.windowWidth-65&&(j=5);null!==a.dtTop&&c.pageY -a.dtTop+a.dtHeight-65&&(k=5);null!==a.dtLeft&&c.pageXa.dtLeft+a.dtWidth-65&&(l=5);g||j||k||l?(a.windowVert=g,a.windowHoriz=j,a.dtVert=k,a.dtHoriz=l,d=!0):this.s.scrollInterval&&(clearInterval(this.s.scrollInterval),this.s.scrollInterval=null);!this.s.scrollInterval&&d&&(this.s.scrollInterval=setInterval(function(){if(a.windowVert)i.body.scrollTop=i.body.scrollTop+a.windowVert;if(a.windowHoriz)i.body.scrollLeft=i.body.scrollLeft+a.windowHoriz;if(a.dtVert|| -a.dtHoriz){var c=b.dom.dtScroll[0];if(a.dtVert)c.scrollTop=c.scrollTop+a.dtVert;if(a.dtHoriz)c.scrollLeft=c.scrollLeft+a.dtHoriz}},20))},_update:function(c,b){if(!1!==c){var a=this.s.dt,d;this._emitEvent("preAutoFill",[a,b]);this._editor(b);if(null!==this.c.update?this.c.update:!this.c.editor){for(var f=0,e=b.length;f')},execute:function(c,b,a){for(var c=1*b[0][0].data,a=1*e("input",a).val(),d=0,f=b.length;d"+b[0][0].label+"")},execute:function(c,b){for(var a=b[0][0].data,d=0,f=b.length;ddiv{padding:1em}ul.dt-button-collection.dropdown-menu{display:block;z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.dropdown-menu.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.dropdown-menu.fixed.two-column{margin-left:-150px}ul.dt-button-collection.dropdown-menu.fixed.three-column{margin-left:-225px}ul.dt-button-collection.dropdown-menu.fixed.four-column{margin-left:-300px}ul.dt-button-collection.dropdown-menu>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.dropdown-menu.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.dropdown-menu.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.dropdown-menu.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2001}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5em}div.dt-buttons a.btn{float:none}} diff --git a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.bootstrap4.min.css b/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.bootstrap4.min.css deleted file mode 100644 index 50839c5..0000000 --- a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.bootstrap4.min.css +++ /dev/null @@ -1 +0,0 @@ -div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}ul.dt-button-collection.dropdown-menu{display:block;z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.dropdown-menu.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.dropdown-menu.fixed.two-column{margin-left:-150px}ul.dt-button-collection.dropdown-menu.fixed.three-column{margin-left:-225px}ul.dt-button-collection.dropdown-menu.fixed.four-column{margin-left:-300px}ul.dt-button-collection.dropdown-menu>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.dropdown-menu.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.dropdown-menu.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.dropdown-menu.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}ul.dt-button-collection{-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.fixed.two-column{margin-left:-150px}ul.dt-button-collection.fixed.three-column{margin-left:-225px}ul.dt-button-collection.fixed.four-column{margin-left:-300px}ul.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}ul.dt-button-collection.fixed{max-width:none}ul.dt-button-collection.fixed:before,ul.dt-button-collection.fixed:after{display:none}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5em}div.dt-buttons a.btn{float:none}} diff --git a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.dataTables.min.css b/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.dataTables.min.css deleted file mode 100644 index a8758ee..0000000 --- a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.dataTables.min.css +++ /dev/null @@ -1 +0,0 @@ -div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}button.dt-button,div.dt-button,a.dt-button{position:relative;display:inline-block;box-sizing:border-box;margin-right:0.333em;padding:0.5em 1em;border:1px solid #999;border-radius:2px;cursor:pointer;font-size:0.88em;color:black;white-space:nowrap;overflow:hidden;background-color:#e9e9e9;background-image:-webkit-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-moz-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-ms-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-o-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:linear-gradient(to bottom, #fff 0%, #e9e9e9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='white', EndColorStr='#e9e9e9');-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;outline:none}button.dt-button.disabled,div.dt-button.disabled,a.dt-button.disabled{color:#999;border:1px solid #d0d0d0;cursor:default;background-color:#f9f9f9;background-image:-webkit-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-moz-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-ms-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-o-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:linear-gradient(to bottom, #fff 0%, #f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#ffffff', EndColorStr='#f9f9f9')}button.dt-button:active:not(.disabled),button.dt-button.active:not(.disabled),div.dt-button:active:not(.disabled),div.dt-button.active:not(.disabled),a.dt-button:active:not(.disabled),a.dt-button.active:not(.disabled){background-color:#e2e2e2;background-image:-webkit-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-moz-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-ms-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-o-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:linear-gradient(to bottom, #f3f3f3 0%, #e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f3f3f3', EndColorStr='#e2e2e2');box-shadow:inset 1px 1px 3px #999999}button.dt-button:active:not(.disabled):hover:not(.disabled),button.dt-button.active:not(.disabled):hover:not(.disabled),div.dt-button:active:not(.disabled):hover:not(.disabled),div.dt-button.active:not(.disabled):hover:not(.disabled),a.dt-button:active:not(.disabled):hover:not(.disabled),a.dt-button.active:not(.disabled):hover:not(.disabled){box-shadow:inset 1px 1px 3px #999999;background-color:#cccccc;background-image:-webkit-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-moz-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-ms-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-o-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:linear-gradient(to bottom, #eaeaea 0%, #ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#eaeaea', EndColorStr='#cccccc')}button.dt-button:hover,div.dt-button:hover,a.dt-button:hover{text-decoration:none}button.dt-button:hover:not(.disabled),div.dt-button:hover:not(.disabled),a.dt-button:hover:not(.disabled){border:1px solid #666;background-color:#e0e0e0;background-image:-webkit-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-moz-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-ms-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-o-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:linear-gradient(to bottom, #f9f9f9 0%, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f9f9f9', EndColorStr='#e0e0e0')}button.dt-button:focus:not(.disabled),div.dt-button:focus:not(.disabled),a.dt-button:focus:not(.disabled){border:1px solid #426c9e;text-shadow:0 1px 0 #c4def1;outline:none;background-color:#79ace9;background-image:-webkit-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-moz-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-ms-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-o-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:linear-gradient(to bottom, #bddef4 0%, #79ace9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#bddef4', EndColorStr='#79ace9')}.dt-button embed{outline:none}div.dt-buttons{position:relative;float:left}div.dt-buttons.buttons-right{float:right}div.dt-button-collection{position:absolute;top:0;left:0;width:150px;margin-top:3px;padding:8px 8px 4px 8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.4);background-color:white;overflow:hidden;z-index:2002;border-radius:5px;box-shadow:3px 3px 5px rgba(0,0,0,0.3);z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection button.dt-button,div.dt-button-collection div.dt-button,div.dt-button-collection a.dt-button{position:relative;left:0;right:0;display:block;float:none;margin-bottom:4px;margin-right:0}div.dt-button-collection button.dt-button:active:not(.disabled),div.dt-button-collection button.dt-button.active:not(.disabled),div.dt-button-collection div.dt-button:active:not(.disabled),div.dt-button-collection div.dt-button.active:not(.disabled),div.dt-button-collection a.dt-button:active:not(.disabled),div.dt-button-collection a.dt-button.active:not(.disabled){background-color:#dadada;background-image:-webkit-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-moz-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-ms-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-o-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:linear-gradient(to bottom, #f0f0f0 0%, #dadada 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f0f0f0', EndColorStr='#dadada');box-shadow:inset 1px 1px 3px #666}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:2001}@media screen and (max-width: 640px){div.dt-buttons{float:none !important;text-align:center}} diff --git a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.foundation.min.css b/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.foundation.min.css deleted file mode 100644 index 6caef67..0000000 --- a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.foundation.min.css +++ /dev/null @@ -1 +0,0 @@ -div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}ul.dt-buttons li{margin:0}ul.dt-buttons li.active a{box-shadow:inset 0 0 10px rgba(0,0,0,0.6)}ul.dt-buttons.button-group a{margin-bottom:0}ul.dt-button-collection.f-dropdown{-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.f-dropdown.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.f-dropdown.fixed.two-column{margin-left:-150px}ul.dt-button-collection.f-dropdown.fixed.three-column{margin-left:-225px}ul.dt-button-collection.f-dropdown.fixed.four-column{margin-left:-300px}ul.dt-button-collection.f-dropdown>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.f-dropdown.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.f-dropdown.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.f-dropdown.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}ul.dt-button-collection.f-dropdown.fixed{max-width:none}ul.dt-button-collection.f-dropdown.fixed:before,ul.dt-button-collection.f-dropdown.fixed:after{display:none}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:88}@media screen and (max-width: 767px){ul.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5rem}ul.dt-buttons li{float:none}}div.button-group.stacked.dropdown-pane{margin-top:2px;padding:1px;z-index:89}div.button-group.stacked.dropdown-pane a.button{margin-bottom:1px;border-right:none}div.button-group.stacked.dropdown-pane a.button:last-child{margin-bottom:0} diff --git a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.jqueryui.min.css b/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.jqueryui.min.css deleted file mode 100644 index 51662b2..0000000 --- a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.jqueryui.min.css +++ /dev/null @@ -1 +0,0 @@ -div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}div.dt-buttons{position:relative;float:left}div.dt-buttons .dt-button{margin-right:0}div.dt-buttons .dt-button span.ui-icon{display:inline-block;vertical-align:middle;margin-top:-2px}div.dt-buttons .dt-button:active{outline:none}div.dt-buttons .dt-button:hover>span{background-color:rgba(0,0,0,0.05)}div.dt-button-collection{position:absolute;top:0;left:0;width:150px;margin-top:3px;padding:8px 8px 4px 8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.4);background-color:#f3f3f3;background-color:rgba(255,255,255,0.3);overflow:hidden;z-index:2002;border-radius:5px;box-shadow:3px 3px 5px rgba(0,0,0,0.3);z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px;-webkit-column-gap:0;-moz-column-gap:0;-ms-column-gap:0;-o-column-gap:0;column-gap:0}div.dt-button-collection .dt-button{position:relative;left:0;right:0;display:block;float:none;margin-right:0}div.dt-button-collection .dt-button:last-child{margin-bottom:4px}div.dt-button-collection .dt-button:hover>span{background-color:rgba(0,0,0,0.05)}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:2001}@media screen and (max-width: 640px){div.dt-buttons{float:none !important;text-align:center}} diff --git a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.semanticui.min.css b/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.semanticui.min.css deleted file mode 100644 index cb48f54..0000000 --- a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/css/buttons.semanticui.min.css +++ /dev/null @@ -1 +0,0 @@ -div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}div.dt-button-collection{position:absolute;top:0;left:0;width:150px;margin-top:3px !important;z-index:2002;background:white;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}button.buttons-collection.ui.button span:after{display:inline-block;content:"▾";padding-left:0.5em}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2001}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5em}div.dt-buttons a.btn{float:none}} diff --git a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/js/buttons.colVis.min.js b/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/js/buttons.colVis.min.js deleted file mode 100644 index 16af227..0000000 --- a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/js/buttons.colVis.min.js +++ /dev/null @@ -1,5 +0,0 @@ -(function(g){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(d){return g(d,window,document)}):"object"===typeof exports?module.exports=function(d,e){d||(d=window);if(!e||!e.fn.dataTable)e=require("datatables.net")(d,e).$;e.fn.dataTable.Buttons||require("datatables.net-buttons")(d,e);return g(e,d,d.document)}:g(jQuery,window,document)})(function(g,d,e,h){d=g.fn.dataTable;g.extend(d.ext.buttons,{colvis:function(a,b){return{extend:"collection", -text:function(a){return a.i18n("buttons.colvis","Column visibility")},className:"buttons-colvis",buttons:[{extend:"columnsToggle",columns:b.columns}]}},columnsToggle:function(a,b){return a.columns(b.columns).indexes().map(function(a){return{extend:"columnToggle",columns:a}}).toArray()},columnToggle:function(a,b){return{extend:"columnVisibility",columns:b.columns}},columnsVisibility:function(a,b){return a.columns(b.columns).indexes().map(function(a){return{extend:"columnVisibility",columns:a,visibility:b.visibility}}).toArray()}, -columnVisibility:{columns:h,text:function(a,b,c){return c._columnText(a,c.columns)},className:"buttons-columnVisibility",action:function(a,b,c,f){a=b.columns(f.columns);b=a.visible();a.visible(f.visibility!==h?f.visibility:!(b.length&&b[0]))},init:function(a,b,c){var f=this;a.on("column-visibility.dt"+c.namespace,function(b,d){d.bDestroying||f.active(a.column(c.columns).visible())}).on("column-reorder.dt"+c.namespace,function(b,d,e){1===a.columns(c.columns).count()&&("number"===typeof c.columns&& -(c.columns=e.mapping[c.columns]),b=a.column(c.columns),f.text(c._columnText(a,c.columns)),f.active(b.visible()))});this.active(a.column(c.columns).visible())},destroy:function(a,b,c){a.off("column-visibility.dt"+c.namespace).off("column-reorder.dt"+c.namespace)},_columnText:function(a,b){var c=a.column(b).index();return a.settings()[0].aoColumns[c].sTitle.replace(/\n/g," ").replace(/<.*?>/g,"").replace(/^\s+|\s+$/g,"")}},colvisRestore:{className:"buttons-colvisRestore",text:function(a){return a.i18n("buttons.colvisRestore", -"Restore visibility")},init:function(a,b,c){c._visOriginal=a.columns().indexes().map(function(b){return a.column(b).visible()}).toArray()},action:function(a,b,c,d){b.columns().every(function(a){a=b.colReorder&&b.colReorder.transpose?b.colReorder.transpose(a,"toOriginal"):a;this.visible(d._visOriginal[a])})}},colvisGroup:{className:"buttons-colvisGroup",action:function(a,b,c,d){b.columns(d.show).visible(!0,!1);b.columns(d.hide).visible(!1,!1);b.columns.adjust()},show:[],hide:[]}});return d.Buttons}); diff --git a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/js/buttons.html5.min.js b/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/js/buttons.html5.min.js deleted file mode 100644 index 48d0279..0000000 --- a/src/main/webapp/WEB-INF/statics/DataTables-1.10.13/extensions/Buttons/js/buttons.html5.min.js +++ /dev/null @@ -1,25 +0,0 @@ -(function(i){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(g){return i(g,window,document)}):"object"===typeof exports?module.exports=function(g,k,q,r){g||(g=window);if(!k||!k.fn.dataTable)k=require("datatables.net")(g,k).$;k.fn.dataTable.Buttons||require("datatables.net-buttons")(g,k);return i(k,g,g.document,q,r)}:i(jQuery,window,document)})(function(i,g,k,q,r,p){function y(a,c){s===p&&(s=-1===v.serializeToString(i.parseXML(z["xl/worksheets/sheet1.xml"])).indexOf("xmlns:r")); -i.each(c,function(c,b){if(i.isPlainObject(b)){var e=a.folder(c);y(e,b)}else{if(s){var e=b.childNodes[0],f,h,m=[];for(f=e.attributes.length-1;0<=f;f--){h=e.attributes[f].nodeName;var g=e.attributes[f].nodeValue;-1!==h.indexOf(":")&&(m.push({name:h,value:g}),e.removeAttribute(h))}f=0;for(h=m.length;f'+ -e),e=e.replace(/_dt_b_namespace_token_/g,":"));e=e.replace(/<(.*?) xmlns=""(.*?)>/g,"<$1 $2>");a.file(c,e)}})}function n(a,c,d){var b=a.createElement(c);d&&(d.attr&&i(b).attr(d.attr),d.children&&i.each(d.children,function(a,c){b.appendChild(c)}),d.text&&b.appendChild(a.createTextNode(d.text)));return b}function I(a,c){var d=a.header[c].length,b;a.footer&&a.footer[c].length>d&&(d=a.footer[c].length);for(var e=0,f=a.body.length;ed&&(d=b),401*a[1]?!0:!1};try{var v=new XMLSerializer,s}catch(O){}var z={"_rels/.rels":'', -"xl/_rels/workbook.xml.rels":'',"[Content_Types].xml":'', -"xl/workbook.xml":'', -"xl/worksheets/sheet1.xml":'',"xl/styles.xml":''}, -H=[{match:/^\-?\d+\.\d%$/,style:60,fmt:function(a){return a/100}},{match:/^\-?\d+\.?\d*%$/,style:56,fmt:function(a){return a/100}},{match:/^\-?\$[\d,]+.?\d*$/,style:57},{match:/^\-?£[\d,]+.?\d*$/,style:58},{match:/^\-?€[\d,]+.?\d*$/,style:59},{match:/^\([\d,]+\)$/,style:61,fmt:function(a){return-1*a.replace(/[\(\)]/g,"")}},{match:/^\([\d,]+\.\d{2}\)$/,style:62,fmt:function(a){return-1*a.replace(/[\(\)]/g,"")}},{match:/^[\d,]+$/,style:63},{match:/^[\d,]+\.\d{2}$/,style:64}];l.ext.buttons.copyHtml5= -{className:"buttons-copy buttons-html5",text:function(a){return a.i18n("buttons.copy","Copy")},action:function(a,c,d,b){var a=F(c,b),e=a.str,d=i("
    ").css({height:1,width:1,overflow:"hidden",position:"fixed",top:0,left:0});b.customize&&(e=b.customize(e,b));b=i("", o.noCloneChecked = !!b.cloneNode(!0).lastChild.defaultValue - }(); - var qa = d.documentElement, ra = /^key/, sa = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, ta = /^([^.]*)(?:\.(.+)|)/; - - function ua() { - return !0 - } - - function va() { - return !1 - } - - function wa() { - try { - return d.activeElement - } catch (a) { - } - } - - function xa(a, b, c, d, e, f) { - var g, h; - if ("object" == typeof b) { - "string" != typeof c && (d = d || c, c = void 0); - for (h in b)xa(a, h, c, d, b[h], f); - return a - } - if (null == d && null == e ? (e = c, d = c = void 0) : null == e && ("string" == typeof c ? (e = d, d = void 0) : (e = d, d = c, c = void 0)), e === !1) e = va; else if (!e)return a; - return 1 === f && (g = e, e = function (a) { - return r().off(a), g.apply(this, arguments) - }, e.guid = g.guid || (g.guid = r.guid++)), a.each(function () { - r.event.add(this, b, e, d, c) - }) - } - - r.event = { - global: {}, add: function (a, b, c, d, e) { - var f, g, h, i, j, k, l, m, n, o, p, q = V.get(a); - if (q) { - c.handler && (f = c, c = f.handler, e = f.selector), e && r.find.matchesSelector(qa, e), c.guid || (c.guid = r.guid++), (i = q.events) || (i = q.events = {}), (g = q.handle) || (g = q.handle = function (b) { - return "undefined" != typeof r && r.event.triggered !== b.type ? r.event.dispatch.apply(a, arguments) : void 0 - }), b = (b || "").match(K) || [""], j = b.length; - while (j--)h = ta.exec(b[j]) || [], n = p = h[1], o = (h[2] || "").split(".").sort(), n && (l = r.event.special[n] || {}, n = (e ? l.delegateType : l.bindType) || n, l = r.event.special[n] || {}, k = r.extend({ - type: n, - origType: p, - data: d, - handler: c, - guid: c.guid, - selector: e, - needsContext: e && r.expr.match.needsContext.test(e), - namespace: o.join(".") - }, f), (m = i[n]) || (m = i[n] = [], m.delegateCount = 0, l.setup && l.setup.call(a, d, o, g) !== !1 || a.addEventListener && a.addEventListener(n, g)), l.add && (l.add.call(a, k), k.handler.guid || (k.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, k) : m.push(k), r.event.global[n] = !0) - } - }, remove: function (a, b, c, d, e) { - var f, g, h, i, j, k, l, m, n, o, p, q = V.hasData(a) && V.get(a); - if (q && (i = q.events)) { - b = (b || "").match(K) || [""], j = b.length; - while (j--)if (h = ta.exec(b[j]) || [], n = p = h[1], o = (h[2] || "").split(".").sort(), n) { - l = r.event.special[n] || {}, n = (d ? l.delegateType : l.bindType) || n, m = i[n] || [], h = h[2] && new RegExp("(^|\\.)" + o.join("\\.(?:.*\\.|)") + "(\\.|$)"), g = f = m.length; - while (f--)k = m[f], !e && p !== k.origType || c && c.guid !== k.guid || h && !h.test(k.namespace) || d && d !== k.selector && ("**" !== d || !k.selector) || (m.splice(f, 1), k.selector && m.delegateCount--, l.remove && l.remove.call(a, k)); - g && !m.length && (l.teardown && l.teardown.call(a, o, q.handle) !== !1 || r.removeEvent(a, n, q.handle), delete i[n]) - } else for (n in i)r.event.remove(a, n + b[j], c, d, !0); - r.isEmptyObject(i) && V.remove(a, "handle events") - } - }, dispatch: function (a) { - var b = r.event.fix(a), c, d, e, f, g, h, i = new Array(arguments.length), j = (V.get(this, "events") || {})[b.type] || [], k = r.event.special[b.type] || {}; - for (i[0] = b, c = 1; c < arguments.length; c++)i[c] = arguments[c]; - if (b.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, b) !== !1) { - h = r.event.handlers.call(this, b, j), c = 0; - while ((f = h[c++]) && !b.isPropagationStopped()) { - b.currentTarget = f.elem, d = 0; - while ((g = f.handlers[d++]) && !b.isImmediatePropagationStopped())b.rnamespace && !b.rnamespace.test(g.namespace) || (b.handleObj = g, b.data = g.data, e = ((r.event.special[g.origType] || {}).handle || g.handler).apply(f.elem, i), void 0 !== e && (b.result = e) === !1 && (b.preventDefault(), b.stopPropagation())) - } - return k.postDispatch && k.postDispatch.call(this, b), b.result - } - }, handlers: function (a, b) { - var c, d, e, f, g, h = [], i = b.delegateCount, j = a.target; - if (i && j.nodeType && !("click" === a.type && a.button >= 1))for (; j !== this; j = j.parentNode || this)if (1 === j.nodeType && ("click" !== a.type || j.disabled !== !0)) { - for (f = [], g = {}, c = 0; c < i; c++)d = b[c], e = d.selector + " ", void 0 === g[e] && (g[e] = d.needsContext ? r(e, this).index(j) > -1 : r.find(e, this, null, [j]).length), g[e] && f.push(d); - f.length && h.push({elem: j, handlers: f}) - } - return j = this, i < b.length && h.push({elem: j, handlers: b.slice(i)}), h - }, addProp: function (a, b) { - Object.defineProperty(r.Event.prototype, a, { - enumerable: !0, - configurable: !0, - get: r.isFunction(b) ? function () { - if (this.originalEvent)return b(this.originalEvent) - } : function () { - if (this.originalEvent)return this.originalEvent[a] - }, - set: function (b) { - Object.defineProperty(this, a, {enumerable: !0, configurable: !0, writable: !0, value: b}) - } - }) - }, fix: function (a) { - return a[r.expando] ? a : new r.Event(a) - }, special: { - load: {noBubble: !0}, focus: { - trigger: function () { - if (this !== wa() && this.focus)return this.focus(), !1 - }, delegateType: "focusin" - }, blur: { - trigger: function () { - if (this === wa() && this.blur)return this.blur(), !1 - }, delegateType: "focusout" - }, click: { - trigger: function () { - if ("checkbox" === this.type && this.click && r.nodeName(this, "input"))return this.click(), !1 - }, _default: function (a) { - return r.nodeName(a.target, "a") - } - }, beforeunload: { - postDispatch: function (a) { - void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result) - } - } - } - }, r.removeEvent = function (a, b, c) { - a.removeEventListener && a.removeEventListener(b, c) - }, r.Event = function (a, b) { - return this instanceof r.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? ua : va, this.target = a.target && 3 === a.target.nodeType ? a.target.parentNode : a.target, this.currentTarget = a.currentTarget, this.relatedTarget = a.relatedTarget) : this.type = a, b && r.extend(this, b), this.timeStamp = a && a.timeStamp || r.now(), void(this[r.expando] = !0)) : new r.Event(a, b) - }, r.Event.prototype = { - constructor: r.Event, - isDefaultPrevented: va, - isPropagationStopped: va, - isImmediatePropagationStopped: va, - isSimulated: !1, - preventDefault: function () { - var a = this.originalEvent; - this.isDefaultPrevented = ua, a && !this.isSimulated && a.preventDefault() - }, - stopPropagation: function () { - var a = this.originalEvent; - this.isPropagationStopped = ua, a && !this.isSimulated && a.stopPropagation() - }, - stopImmediatePropagation: function () { - var a = this.originalEvent; - this.isImmediatePropagationStopped = ua, a && !this.isSimulated && a.stopImmediatePropagation(), this.stopPropagation() - } - }, r.each({ - altKey: !0, - bubbles: !0, - cancelable: !0, - changedTouches: !0, - ctrlKey: !0, - detail: !0, - eventPhase: !0, - metaKey: !0, - pageX: !0, - pageY: !0, - shiftKey: !0, - view: !0, - "char": !0, - charCode: !0, - key: !0, - keyCode: !0, - button: !0, - buttons: !0, - clientX: !0, - clientY: !0, - offsetX: !0, - offsetY: !0, - pointerId: !0, - pointerType: !0, - screenX: !0, - screenY: !0, - targetTouches: !0, - toElement: !0, - touches: !0, - which: function (a) { - var b = a.button; - return null == a.which && ra.test(a.type) ? null != a.charCode ? a.charCode : a.keyCode : !a.which && void 0 !== b && sa.test(a.type) ? 1 & b ? 1 : 2 & b ? 3 : 4 & b ? 2 : 0 : a.which - } - }, r.event.addProp), r.each({ - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" - }, function (a, b) { - r.event.special[a] = { - delegateType: b, bindType: b, handle: function (a) { - var c, d = this, e = a.relatedTarget, f = a.handleObj; - return e && (e === d || r.contains(d, e)) || (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c - } - } - }), r.fn.extend({ - on: function (a, b, c, d) { - return xa(this, a, b, c, d) - }, one: function (a, b, c, d) { - return xa(this, a, b, c, d, 1) - }, off: function (a, b, c) { - var d, e; - if (a && a.preventDefault && a.handleObj)return d = a.handleObj, r(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this; - if ("object" == typeof a) { - for (e in a)this.off(e, b, a[e]); - return this - } - return b !== !1 && "function" != typeof b || (c = b, b = void 0), c === !1 && (c = va), this.each(function () { - r.event.remove(this, a, c, b) - }) - } - }); - var ya = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, za = /\s*$/g; - - function Da(a, b) { - return r.nodeName(a, "table") && r.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? a.getElementsByTagName("tbody")[0] || a : a - } - - function Ea(a) { - return a.type = (null !== a.getAttribute("type")) + "/" + a.type, a - } - - function Fa(a) { - var b = Ba.exec(a.type); - return b ? a.type = b[1] : a.removeAttribute("type"), a - } - - function Ga(a, b) { - var c, d, e, f, g, h, i, j; - if (1 === b.nodeType) { - if (V.hasData(a) && (f = V.access(a), g = V.set(b, f), j = f.events)) { - delete g.handle, g.events = {}; - for (e in j)for (c = 0, d = j[e].length; c < d; c++)r.event.add(b, e, j[e][c]) - } - W.hasData(a) && (h = W.access(a), i = r.extend({}, h), W.set(b, i)) - } - } - - function Ha(a, b) { - var c = b.nodeName.toLowerCase(); - "input" === c && ia.test(a.type) ? b.checked = a.checked : "input" !== c && "textarea" !== c || (b.defaultValue = a.defaultValue) - } - - function Ia(a, b, c, d) { - b = g.apply([], b); - var e, f, h, i, j, k, l = 0, m = a.length, n = m - 1, q = b[0], s = r.isFunction(q); - if (s || m > 1 && "string" == typeof q && !o.checkClone && Aa.test(q))return a.each(function (e) { - var f = a.eq(e); - s && (b[0] = q.call(this, e, f.html())), Ia(f, b, c, d) - }); - if (m && (e = pa(b, a[0].ownerDocument, !1, a, d), f = e.firstChild, 1 === e.childNodes.length && (e = f), f || d)) { - for (h = r.map(ma(e, "script"), Ea), i = h.length; l < m; l++)j = e, l !== n && (j = r.clone(j, !0, !0), i && r.merge(h, ma(j, "script"))), c.call(a[l], j, l); - if (i)for (k = h[h.length - 1].ownerDocument, r.map(h, Fa), l = 0; l < i; l++)j = h[l], ka.test(j.type || "") && !V.access(j, "globalEval") && r.contains(k, j) && (j.src ? r._evalUrl && r._evalUrl(j.src) : p(j.textContent.replace(Ca, ""), k)) - } - return a - } - - function Ja(a, b, c) { - for (var d, e = b ? r.filter(b, a) : a, f = 0; null != (d = e[f]); f++)c || 1 !== d.nodeType || r.cleanData(ma(d)), d.parentNode && (c && r.contains(d.ownerDocument, d) && na(ma(d, "script")), d.parentNode.removeChild(d)); - return a - } - - r.extend({ - htmlPrefilter: function (a) { - return a.replace(ya, "<$1>") - }, clone: function (a, b, c) { - var d, e, f, g, h = a.cloneNode(!0), i = r.contains(a.ownerDocument, a); - if (!(o.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || r.isXMLDoc(a)))for (g = ma(h), f = ma(a), d = 0, e = f.length; d < e; d++)Ha(f[d], g[d]); - if (b)if (c)for (f = f || ma(a), g = g || ma(h), d = 0, e = f.length; d < e; d++)Ga(f[d], g[d]); else Ga(a, h); - return g = ma(h, "script"), g.length > 0 && na(g, !i && ma(a, "script")), h - }, cleanData: function (a) { - for (var b, c, d, e = r.event.special, f = 0; void 0 !== (c = a[f]); f++)if (T(c)) { - if (b = c[V.expando]) { - if (b.events)for (d in b.events)e[d] ? r.event.remove(c, d) : r.removeEvent(c, d, b.handle); - c[V.expando] = void 0 - } - c[W.expando] && (c[W.expando] = void 0) - } - } - }), r.fn.extend({ - detach: function (a) { - return Ja(this, a, !0) - }, remove: function (a) { - return Ja(this, a) - }, text: function (a) { - return S(this, function (a) { - return void 0 === a ? r.text(this) : this.empty().each(function () { - 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = a) - }) - }, null, a, arguments.length) - }, append: function () { - return Ia(this, arguments, function (a) { - if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { - var b = Da(this, a); - b.appendChild(a) - } - }) - }, prepend: function () { - return Ia(this, arguments, function (a) { - if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { - var b = Da(this, a); - b.insertBefore(a, b.firstChild) - } - }) - }, before: function () { - return Ia(this, arguments, function (a) { - this.parentNode && this.parentNode.insertBefore(a, this) - }) - }, after: function () { - return Ia(this, arguments, function (a) { - this.parentNode && this.parentNode.insertBefore(a, this.nextSibling) - }) - }, empty: function () { - for (var a, b = 0; null != (a = this[b]); b++)1 === a.nodeType && (r.cleanData(ma(a, !1)), a.textContent = ""); - return this - }, clone: function (a, b) { - return a = null != a && a, b = null == b ? a : b, this.map(function () { - return r.clone(this, a, b) - }) - }, html: function (a) { - return S(this, function (a) { - var b = this[0] || {}, c = 0, d = this.length; - if (void 0 === a && 1 === b.nodeType)return b.innerHTML; - if ("string" == typeof a && !za.test(a) && !la[(ja.exec(a) || ["", ""])[1].toLowerCase()]) { - a = r.htmlPrefilter(a); - try { - for (; c < d; c++)b = this[c] || {}, 1 === b.nodeType && (r.cleanData(ma(b, !1)), b.innerHTML = a); - b = 0 - } catch (e) { - } - } - b && this.empty().append(a) - }, null, a, arguments.length) - }, replaceWith: function () { - var a = []; - return Ia(this, arguments, function (b) { - var c = this.parentNode; - r.inArray(this, a) < 0 && (r.cleanData(ma(this)), c && c.replaceChild(b, this)) - }, a) - } - }), r.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" - }, function (a, b) { - r.fn[a] = function (a) { - for (var c, d = [], e = r(a), f = e.length - 1, g = 0; g <= f; g++)c = g === f ? this : this.clone(!0), r(e[g])[b](c), h.apply(d, c.get()); - return this.pushStack(d) - } - }); - var Ka = /^margin/, La = new RegExp("^(" + _ + ")(?!px)[a-z%]+$", "i"), Ma = function (b) { - var c = b.ownerDocument.defaultView; - return c && c.opener || (c = a), c.getComputedStyle(b) - }; - !function () { - function b() { - if (i) { - i.style.cssText = "box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%", i.innerHTML = "", qa.appendChild(h); - var b = a.getComputedStyle(i); - c = "1%" !== b.top, g = "2px" === b.marginLeft, e = "4px" === b.width, i.style.marginRight = "50%", f = "4px" === b.marginRight, qa.removeChild(h), i = null - } - } - - var c, e, f, g, h = d.createElement("div"), i = d.createElement("div"); - i.style && (i.style.backgroundClip = "content-box", i.cloneNode(!0).style.backgroundClip = "", o.clearCloneStyle = "content-box" === i.style.backgroundClip, h.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute", h.appendChild(i), r.extend(o, { - pixelPosition: function () { - return b(), c - }, boxSizingReliable: function () { - return b(), e - }, pixelMarginRight: function () { - return b(), f - }, reliableMarginLeft: function () { - return b(), g - } - })) - }(); - function Na(a, b, c) { - var d, e, f, g, h = a.style; - return c = c || Ma(a), c && (g = c.getPropertyValue(b) || c[b], "" !== g || r.contains(a.ownerDocument, a) || (g = r.style(a, b)), !o.pixelMarginRight() && La.test(g) && Ka.test(b) && (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = g, g = c.width, h.width = d, h.minWidth = e, h.maxWidth = f)), void 0 !== g ? g + "" : g - } - - function Oa(a, b) { - return { - get: function () { - return a() ? void delete this.get : (this.get = b).apply(this, arguments) - } - } - } - - var Pa = /^(none|table(?!-c[ea]).+)/, Qa = { - position: "absolute", - visibility: "hidden", - display: "block" - }, Ra = {letterSpacing: "0", fontWeight: "400"}, Sa = ["Webkit", "Moz", "ms"], Ta = d.createElement("div").style; - - function Ua(a) { - if (a in Ta)return a; - var b = a[0].toUpperCase() + a.slice(1), c = Sa.length; - while (c--)if (a = Sa[c] + b, a in Ta)return a - } - - function Va(a, b, c) { - var d = aa.exec(b); - return d ? Math.max(0, d[2] - (c || 0)) + (d[3] || "px") : b - } - - function Wa(a, b, c, d, e) { - var f, g = 0; - for (f = c === (d ? "border" : "content") ? 4 : "width" === b ? 1 : 0; f < 4; f += 2)"margin" === c && (g += r.css(a, c + ba[f], !0, e)), d ? ("content" === c && (g -= r.css(a, "padding" + ba[f], !0, e)), "margin" !== c && (g -= r.css(a, "border" + ba[f] + "Width", !0, e))) : (g += r.css(a, "padding" + ba[f], !0, e), "padding" !== c && (g += r.css(a, "border" + ba[f] + "Width", !0, e))); - return g - } - - function Xa(a, b, c) { - var d, e = !0, f = Ma(a), g = "border-box" === r.css(a, "boxSizing", !1, f); - if (a.getClientRects().length && (d = a.getBoundingClientRect()[b]), d <= 0 || null == d) { - if (d = Na(a, b, f), (d < 0 || null == d) && (d = a.style[b]), La.test(d))return d; - e = g && (o.boxSizingReliable() || d === a.style[b]), d = parseFloat(d) || 0 - } - return d + Wa(a, b, c || (g ? "border" : "content"), e, f) + "px" - } - - r.extend({ - cssHooks: { - opacity: { - get: function (a, b) { - if (b) { - var c = Na(a, "opacity"); - return "" === c ? "1" : c - } - } - } - }, - cssNumber: { - animationIterationCount: !0, - columnCount: !0, - fillOpacity: !0, - flexGrow: !0, - flexShrink: !0, - fontWeight: !0, - lineHeight: !0, - opacity: !0, - order: !0, - orphans: !0, - widows: !0, - zIndex: !0, - zoom: !0 - }, - cssProps: {"float": "cssFloat"}, - style: function (a, b, c, d) { - if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) { - var e, f, g, h = r.camelCase(b), i = a.style; - return b = r.cssProps[h] || (r.cssProps[h] = Ua(h) || h), g = r.cssHooks[b] || r.cssHooks[h], void 0 === c ? g && "get" in g && void 0 !== (e = g.get(a, !1, d)) ? e : i[b] : (f = typeof c, "string" === f && (e = aa.exec(c)) && e[1] && (c = ea(a, b, e), f = "number"), null != c && c === c && ("number" === f && (c += e && e[3] || (r.cssNumber[h] ? "" : "px")), o.clearCloneStyle || "" !== c || 0 !== b.indexOf("background") || (i[b] = "inherit"), g && "set" in g && void 0 === (c = g.set(a, c, d)) || (i[b] = c)), void 0) - } - }, - css: function (a, b, c, d) { - var e, f, g, h = r.camelCase(b); - return b = r.cssProps[h] || (r.cssProps[h] = Ua(h) || h), g = r.cssHooks[b] || r.cssHooks[h], g && "get" in g && (e = g.get(a, !0, c)), void 0 === e && (e = Na(a, b, d)), "normal" === e && b in Ra && (e = Ra[b]), "" === c || c ? (f = parseFloat(e), c === !0 || isFinite(f) ? f || 0 : e) : e - } - }), r.each(["height", "width"], function (a, b) { - r.cssHooks[b] = { - get: function (a, c, d) { - if (c)return !Pa.test(r.css(a, "display")) || a.getClientRects().length && a.getBoundingClientRect().width ? Xa(a, b, d) : da(a, Qa, function () { - return Xa(a, b, d) - }) - }, set: function (a, c, d) { - var e, f = d && Ma(a), g = d && Wa(a, b, d, "border-box" === r.css(a, "boxSizing", !1, f), f); - return g && (e = aa.exec(c)) && "px" !== (e[3] || "px") && (a.style[b] = c, c = r.css(a, b)), Va(a, c, g) - } - } - }), r.cssHooks.marginLeft = Oa(o.reliableMarginLeft, function (a, b) { - if (b)return (parseFloat(Na(a, "marginLeft")) || a.getBoundingClientRect().left - da(a, {marginLeft: 0}, function () { - return a.getBoundingClientRect().left - })) + "px" - }), r.each({margin: "", padding: "", border: "Width"}, function (a, b) { - r.cssHooks[a + b] = { - expand: function (c) { - for (var d = 0, e = {}, f = "string" == typeof c ? c.split(" ") : [c]; d < 4; d++)e[a + ba[d] + b] = f[d] || f[d - 2] || f[0]; - return e - } - }, Ka.test(a) || (r.cssHooks[a + b].set = Va) - }), r.fn.extend({ - css: function (a, b) { - return S(this, function (a, b, c) { - var d, e, f = {}, g = 0; - if (r.isArray(b)) { - for (d = Ma(a), e = b.length; g < e; g++)f[b[g]] = r.css(a, b[g], !1, d); - return f - } - return void 0 !== c ? r.style(a, b, c) : r.css(a, b) - }, a, b, arguments.length > 1) - } - }); - function Ya(a, b, c, d, e) { - return new Ya.prototype.init(a, b, c, d, e) - } - - r.Tween = Ya, Ya.prototype = { - constructor: Ya, init: function (a, b, c, d, e, f) { - this.elem = a, this.prop = c, this.easing = e || r.easing._default, this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (r.cssNumber[c] ? "" : "px") - }, cur: function () { - var a = Ya.propHooks[this.prop]; - return a && a.get ? a.get(this) : Ya.propHooks._default.get(this) - }, run: function (a) { - var b, c = Ya.propHooks[this.prop]; - return this.options.duration ? this.pos = b = r.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a, this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : Ya.propHooks._default.set(this), this - } - }, Ya.prototype.init.prototype = Ya.prototype, Ya.propHooks = { - _default: { - get: function (a) { - var b; - return 1 !== a.elem.nodeType || null != a.elem[a.prop] && null == a.elem.style[a.prop] ? a.elem[a.prop] : (b = r.css(a.elem, a.prop, ""), b && "auto" !== b ? b : 0) - }, set: function (a) { - r.fx.step[a.prop] ? r.fx.step[a.prop](a) : 1 !== a.elem.nodeType || null == a.elem.style[r.cssProps[a.prop]] && !r.cssHooks[a.prop] ? a.elem[a.prop] = a.now : r.style(a.elem, a.prop, a.now + a.unit) - } - } - }, Ya.propHooks.scrollTop = Ya.propHooks.scrollLeft = { - set: function (a) { - a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now) - } - }, r.easing = { - linear: function (a) { - return a - }, swing: function (a) { - return .5 - Math.cos(a * Math.PI) / 2 - }, _default: "swing" - }, r.fx = Ya.prototype.init, r.fx.step = {}; - var Za, $a, _a = /^(?:toggle|show|hide)$/, ab = /queueHooks$/; - - function bb() { - $a && (a.requestAnimationFrame(bb), r.fx.tick()) - } - - function cb() { - return a.setTimeout(function () { - Za = void 0 - }), Za = r.now() - } - - function db(a, b) { - var c, d = 0, e = {height: a}; - for (b = b ? 1 : 0; d < 4; d += 2 - b)c = ba[d], e["margin" + c] = e["padding" + c] = a; - return b && (e.opacity = e.width = a), e - } - - function eb(a, b, c) { - for (var d, e = (hb.tweeners[b] || []).concat(hb.tweeners["*"]), f = 0, g = e.length; f < g; f++)if (d = e[f].call(c, b, a))return d - } - - function fb(a, b, c) { - var d, e, f, g, h, i, j, k, l = "width" in b || "height" in b, m = this, n = {}, o = a.style, p = a.nodeType && ca(a), q = V.get(a, "fxshow"); - c.queue || (g = r._queueHooks(a, "fx"), null == g.unqueued && (g.unqueued = 0, h = g.empty.fire, g.empty.fire = function () { - g.unqueued || h() - }), g.unqueued++, m.always(function () { - m.always(function () { - g.unqueued--, r.queue(a, "fx").length || g.empty.fire() - }) - })); - for (d in b)if (e = b[d], _a.test(e)) { - if (delete b[d], f = f || "toggle" === e, e === (p ? "hide" : "show")) { - if ("show" !== e || !q || void 0 === q[d])continue; - p = !0 - } - n[d] = q && q[d] || r.style(a, d) - } - if (i = !r.isEmptyObject(b), i || !r.isEmptyObject(n)) { - l && 1 === a.nodeType && (c.overflow = [o.overflow, o.overflowX, o.overflowY], j = q && q.display, null == j && (j = V.get(a, "display")), k = r.css(a, "display"), "none" === k && (j ? k = j : (ha([a], !0), j = a.style.display || j, k = r.css(a, "display"), ha([a]))), ("inline" === k || "inline-block" === k && null != j) && "none" === r.css(a, "float") && (i || (m.done(function () { - o.display = j - }), null == j && (k = o.display, j = "none" === k ? "" : k)), o.display = "inline-block")), c.overflow && (o.overflow = "hidden", m.always(function () { - o.overflow = c.overflow[0], o.overflowX = c.overflow[1], o.overflowY = c.overflow[2] - })), i = !1; - for (d in n)i || (q ? "hidden" in q && (p = q.hidden) : q = V.access(a, "fxshow", {display: j}), f && (q.hidden = !p), p && ha([a], !0), m.done(function () { - p || ha([a]), V.remove(a, "fxshow"); - for (d in n)r.style(a, d, n[d]) - })), i = eb(p ? q[d] : 0, d, m), d in q || (q[d] = i.start, p && (i.end = i.start, i.start = 0)) - } - } - - function gb(a, b) { - var c, d, e, f, g; - for (c in a)if (d = r.camelCase(c), e = b[d], f = a[c], r.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = r.cssHooks[d], g && "expand" in g) { - f = g.expand(f), delete a[d]; - for (c in f)c in a || (a[c] = f[c], b[c] = e) - } else b[d] = e - } - - function hb(a, b, c) { - var d, e, f = 0, g = hb.prefilters.length, h = r.Deferred().always(function () { - delete i.elem - }), i = function () { - if (e)return !1; - for (var b = Za || cb(), c = Math.max(0, j.startTime + j.duration - b), d = c / j.duration || 0, f = 1 - d, g = 0, i = j.tweens.length; g < i; g++)j.tweens[g].run(f); - return h.notifyWith(a, [j, f, c]), f < 1 && i ? c : (h.resolveWith(a, [j]), !1) - }, j = h.promise({ - elem: a, - props: r.extend({}, b), - opts: r.extend(!0, {specialEasing: {}, easing: r.easing._default}, c), - originalProperties: b, - originalOptions: c, - startTime: Za || cb(), - duration: c.duration, - tweens: [], - createTween: function (b, c) { - var d = r.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing); - return j.tweens.push(d), d - }, - stop: function (b) { - var c = 0, d = b ? j.tweens.length : 0; - if (e)return this; - for (e = !0; c < d; c++)j.tweens[c].run(1); - return b ? (h.notifyWith(a, [j, 1, 0]), h.resolveWith(a, [j, b])) : h.rejectWith(a, [j, b]), this - } - }), k = j.props; - for (gb(k, j.opts.specialEasing); f < g; f++)if (d = hb.prefilters[f].call(j, a, k, j.opts))return r.isFunction(d.stop) && (r._queueHooks(j.elem, j.opts.queue).stop = r.proxy(d.stop, d)), d; - return r.map(k, eb, j), r.isFunction(j.opts.start) && j.opts.start.call(a, j), r.fx.timer(r.extend(i, { - elem: a, - anim: j, - queue: j.opts.queue - })), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always) - } - - r.Animation = r.extend(hb, { - tweeners: { - "*": [function (a, b) { - var c = this.createTween(a, b); - return ea(c.elem, a, aa.exec(b), c), c - }] - }, tweener: function (a, b) { - r.isFunction(a) ? (b = a, a = ["*"]) : a = a.match(K); - for (var c, d = 0, e = a.length; d < e; d++)c = a[d], hb.tweeners[c] = hb.tweeners[c] || [], hb.tweeners[c].unshift(b) - }, prefilters: [fb], prefilter: function (a, b) { - b ? hb.prefilters.unshift(a) : hb.prefilters.push(a) - } - }), r.speed = function (a, b, c) { - var e = a && "object" == typeof a ? r.extend({}, a) : { - complete: c || !c && b || r.isFunction(a) && a, - duration: a, - easing: c && b || b && !r.isFunction(b) && b - }; - return r.fx.off || d.hidden ? e.duration = 0 : "number" != typeof e.duration && (e.duration in r.fx.speeds ? e.duration = r.fx.speeds[e.duration] : e.duration = r.fx.speeds._default), null != e.queue && e.queue !== !0 || (e.queue = "fx"), e.old = e.complete, e.complete = function () { - r.isFunction(e.old) && e.old.call(this), e.queue && r.dequeue(this, e.queue) - }, e - }, r.fn.extend({ - fadeTo: function (a, b, c, d) { - return this.filter(ca).css("opacity", 0).show().end().animate({opacity: b}, a, c, d) - }, animate: function (a, b, c, d) { - var e = r.isEmptyObject(a), f = r.speed(b, c, d), g = function () { - var b = hb(this, r.extend({}, a), f); - (e || V.get(this, "finish")) && b.stop(!0) - }; - return g.finish = g, e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g) - }, stop: function (a, b, c) { - var d = function (a) { - var b = a.stop; - delete a.stop, b(c) - }; - return "string" != typeof a && (c = b, b = a, a = void 0), b && a !== !1 && this.queue(a || "fx", []), this.each(function () { - var b = !0, e = null != a && a + "queueHooks", f = r.timers, g = V.get(this); - if (e) g[e] && g[e].stop && d(g[e]); else for (e in g)g[e] && g[e].stop && ab.test(e) && d(g[e]); - for (e = f.length; e--;)f[e].elem !== this || null != a && f[e].queue !== a || (f[e].anim.stop(c), b = !1, f.splice(e, 1)); - !b && c || r.dequeue(this, a) - }) - }, finish: function (a) { - return a !== !1 && (a = a || "fx"), this.each(function () { - var b, c = V.get(this), d = c[a + "queue"], e = c[a + "queueHooks"], f = r.timers, g = d ? d.length : 0; - for (c.finish = !0, r.queue(this, a, []), e && e.stop && e.stop.call(this, !0), b = f.length; b--;)f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1)); - for (b = 0; b < g; b++)d[b] && d[b].finish && d[b].finish.call(this); - delete c.finish - }) - } - }), r.each(["toggle", "show", "hide"], function (a, b) { - var c = r.fn[b]; - r.fn[b] = function (a, d, e) { - return null == a || "boolean" == typeof a ? c.apply(this, arguments) : this.animate(db(b, !0), a, d, e) - } - }), r.each({ - slideDown: db("show"), - slideUp: db("hide"), - slideToggle: db("toggle"), - fadeIn: {opacity: "show"}, - fadeOut: {opacity: "hide"}, - fadeToggle: {opacity: "toggle"} - }, function (a, b) { - r.fn[a] = function (a, c, d) { - return this.animate(b, a, c, d) - } - }), r.timers = [], r.fx.tick = function () { - var a, b = 0, c = r.timers; - for (Za = r.now(); b < c.length; b++)a = c[b], a() || c[b] !== a || c.splice(b--, 1); - c.length || r.fx.stop(), Za = void 0 - }, r.fx.timer = function (a) { - r.timers.push(a), a() ? r.fx.start() : r.timers.pop() - }, r.fx.interval = 13, r.fx.start = function () { - $a || ($a = a.requestAnimationFrame ? a.requestAnimationFrame(bb) : a.setInterval(r.fx.tick, r.fx.interval)) - }, r.fx.stop = function () { - a.cancelAnimationFrame ? a.cancelAnimationFrame($a) : a.clearInterval($a), $a = null - }, r.fx.speeds = {slow: 600, fast: 200, _default: 400}, r.fn.delay = function (b, c) { - return b = r.fx ? r.fx.speeds[b] || b : b, c = c || "fx", this.queue(c, function (c, d) { - var e = a.setTimeout(c, b); - d.stop = function () { - a.clearTimeout(e) - } - }) - }, function () { - var a = d.createElement("input"), b = d.createElement("select"), c = b.appendChild(d.createElement("option")); - a.type = "checkbox", o.checkOn = "" !== a.value, o.optSelected = c.selected, a = d.createElement("input"), a.value = "t", a.type = "radio", o.radioValue = "t" === a.value - }(); - var ib, jb = r.expr.attrHandle; - r.fn.extend({ - attr: function (a, b) { - return S(this, r.attr, a, b, arguments.length > 1) - }, removeAttr: function (a) { - return this.each(function () { - r.removeAttr(this, a) - }) - } - }), r.extend({ - attr: function (a, b, c) { - var d, e, f = a.nodeType; - if (3 !== f && 8 !== f && 2 !== f)return "undefined" == typeof a.getAttribute ? r.prop(a, b, c) : (1 === f && r.isXMLDoc(a) || (e = r.attrHooks[b.toLowerCase()] || (r.expr.match.bool.test(b) ? ib : void 0)), - void 0 !== c ? null === c ? void r.removeAttr(a, b) : e && "set" in e && void 0 !== (d = e.set(a, c, b)) ? d : (a.setAttribute(b, c + ""), c) : e && "get" in e && null !== (d = e.get(a, b)) ? d : (d = r.find.attr(a, b), null == d ? void 0 : d)) - }, attrHooks: { - type: { - set: function (a, b) { - if (!o.radioValue && "radio" === b && r.nodeName(a, "input")) { - var c = a.value; - return a.setAttribute("type", b), c && (a.value = c), b - } - } - } - }, removeAttr: function (a, b) { - var c, d = 0, e = b && b.match(K); - if (e && 1 === a.nodeType)while (c = e[d++])a.removeAttribute(c) - } - }), ib = { - set: function (a, b, c) { - return b === !1 ? r.removeAttr(a, c) : a.setAttribute(c, c), c - } - }, r.each(r.expr.match.bool.source.match(/\w+/g), function (a, b) { - var c = jb[b] || r.find.attr; - jb[b] = function (a, b, d) { - var e, f, g = b.toLowerCase(); - return d || (f = jb[g], jb[g] = e, e = null != c(a, b, d) ? g : null, jb[g] = f), e - } - }); - var kb = /^(?:input|select|textarea|button)$/i, lb = /^(?:a|area)$/i; - r.fn.extend({ - prop: function (a, b) { - return S(this, r.prop, a, b, arguments.length > 1) - }, removeProp: function (a) { - return this.each(function () { - delete this[r.propFix[a] || a] - }) - } - }), r.extend({ - prop: function (a, b, c) { - var d, e, f = a.nodeType; - if (3 !== f && 8 !== f && 2 !== f)return 1 === f && r.isXMLDoc(a) || (b = r.propFix[b] || b, e = r.propHooks[b]), void 0 !== c ? e && "set" in e && void 0 !== (d = e.set(a, c, b)) ? d : a[b] = c : e && "get" in e && null !== (d = e.get(a, b)) ? d : a[b] - }, propHooks: { - tabIndex: { - get: function (a) { - var b = r.find.attr(a, "tabindex"); - return b ? parseInt(b, 10) : kb.test(a.nodeName) || lb.test(a.nodeName) && a.href ? 0 : -1 - } - } - }, propFix: {"for": "htmlFor", "class": "className"} - }), o.optSelected || (r.propHooks.selected = { - get: function (a) { - var b = a.parentNode; - return b && b.parentNode && b.parentNode.selectedIndex, null - }, set: function (a) { - var b = a.parentNode; - b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex) - } - }), r.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { - r.propFix[this.toLowerCase()] = this - }); - function mb(a) { - var b = a.match(K) || []; - return b.join(" ") - } - - function nb(a) { - return a.getAttribute && a.getAttribute("class") || "" - } - - r.fn.extend({ - addClass: function (a) { - var b, c, d, e, f, g, h, i = 0; - if (r.isFunction(a))return this.each(function (b) { - r(this).addClass(a.call(this, b, nb(this))) - }); - if ("string" == typeof a && a) { - b = a.match(K) || []; - while (c = this[i++])if (e = nb(c), d = 1 === c.nodeType && " " + mb(e) + " ") { - g = 0; - while (f = b[g++])d.indexOf(" " + f + " ") < 0 && (d += f + " "); - h = mb(d), e !== h && c.setAttribute("class", h) - } - } - return this - }, removeClass: function (a) { - var b, c, d, e, f, g, h, i = 0; - if (r.isFunction(a))return this.each(function (b) { - r(this).removeClass(a.call(this, b, nb(this))) - }); - if (!arguments.length)return this.attr("class", ""); - if ("string" == typeof a && a) { - b = a.match(K) || []; - while (c = this[i++])if (e = nb(c), d = 1 === c.nodeType && " " + mb(e) + " ") { - g = 0; - while (f = b[g++])while (d.indexOf(" " + f + " ") > -1)d = d.replace(" " + f + " ", " "); - h = mb(d), e !== h && c.setAttribute("class", h) - } - } - return this - }, toggleClass: function (a, b) { - var c = typeof a; - return "boolean" == typeof b && "string" === c ? b ? this.addClass(a) : this.removeClass(a) : r.isFunction(a) ? this.each(function (c) { - r(this).toggleClass(a.call(this, c, nb(this), b), b) - }) : this.each(function () { - var b, d, e, f; - if ("string" === c) { - d = 0, e = r(this), f = a.match(K) || []; - while (b = f[d++])e.hasClass(b) ? e.removeClass(b) : e.addClass(b) - } else void 0 !== a && "boolean" !== c || (b = nb(this), b && V.set(this, "__className__", b), this.setAttribute && this.setAttribute("class", b || a === !1 ? "" : V.get(this, "__className__") || "")) - }) - }, hasClass: function (a) { - var b, c, d = 0; - b = " " + a + " "; - while (c = this[d++])if (1 === c.nodeType && (" " + mb(nb(c)) + " ").indexOf(b) > -1)return !0; - return !1 - } - }); - var ob = /\r/g; - r.fn.extend({ - val: function (a) { - var b, c, d, e = this[0]; - { - if (arguments.length)return d = r.isFunction(a), this.each(function (c) { - var e; - 1 === this.nodeType && (e = d ? a.call(this, c, r(this).val()) : a, null == e ? e = "" : "number" == typeof e ? e += "" : r.isArray(e) && (e = r.map(e, function (a) { - return null == a ? "" : a + "" - })), b = r.valHooks[this.type] || r.valHooks[this.nodeName.toLowerCase()], b && "set" in b && void 0 !== b.set(this, e, "value") || (this.value = e)) - }); - if (e)return b = r.valHooks[e.type] || r.valHooks[e.nodeName.toLowerCase()], b && "get" in b && void 0 !== (c = b.get(e, "value")) ? c : (c = e.value, "string" == typeof c ? c.replace(ob, "") : null == c ? "" : c) - } - } - }), r.extend({ - valHooks: { - option: { - get: function (a) { - var b = r.find.attr(a, "value"); - return null != b ? b : mb(r.text(a)) - } - }, select: { - get: function (a) { - var b, c, d, e = a.options, f = a.selectedIndex, g = "select-one" === a.type, h = g ? null : [], i = g ? f + 1 : e.length; - for (d = f < 0 ? i : g ? f : 0; d < i; d++)if (c = e[d], (c.selected || d === f) && !c.disabled && (!c.parentNode.disabled || !r.nodeName(c.parentNode, "optgroup"))) { - if (b = r(c).val(), g)return b; - h.push(b) - } - return h - }, set: function (a, b) { - var c, d, e = a.options, f = r.makeArray(b), g = e.length; - while (g--)d = e[g], (d.selected = r.inArray(r.valHooks.option.get(d), f) > -1) && (c = !0); - return c || (a.selectedIndex = -1), f - } - } - } - }), r.each(["radio", "checkbox"], function () { - r.valHooks[this] = { - set: function (a, b) { - if (r.isArray(b))return a.checked = r.inArray(r(a).val(), b) > -1 - } - }, o.checkOn || (r.valHooks[this].get = function (a) { - return null === a.getAttribute("value") ? "on" : a.value - }) - }); - var pb = /^(?:focusinfocus|focusoutblur)$/; - r.extend(r.event, { - trigger: function (b, c, e, f) { - var g, h, i, j, k, m, n, o = [e || d], p = l.call(b, "type") ? b.type : b, q = l.call(b, "namespace") ? b.namespace.split(".") : []; - if (h = i = e = e || d, 3 !== e.nodeType && 8 !== e.nodeType && !pb.test(p + r.event.triggered) && (p.indexOf(".") > -1 && (q = p.split("."), p = q.shift(), q.sort()), k = p.indexOf(":") < 0 && "on" + p, b = b[r.expando] ? b : new r.Event(p, "object" == typeof b && b), b.isTrigger = f ? 2 : 3, b.namespace = q.join("."), b.rnamespace = b.namespace ? new RegExp("(^|\\.)" + q.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = e), c = null == c ? [b] : r.makeArray(c, [b]), n = r.event.special[p] || {}, f || !n.trigger || n.trigger.apply(e, c) !== !1)) { - if (!f && !n.noBubble && !r.isWindow(e)) { - for (j = n.delegateType || p, pb.test(j + p) || (h = h.parentNode); h; h = h.parentNode)o.push(h), i = h; - i === (e.ownerDocument || d) && o.push(i.defaultView || i.parentWindow || a) - } - g = 0; - while ((h = o[g++]) && !b.isPropagationStopped())b.type = g > 1 ? j : n.bindType || p, m = (V.get(h, "events") || {})[b.type] && V.get(h, "handle"), m && m.apply(h, c), m = k && h[k], m && m.apply && T(h) && (b.result = m.apply(h, c), b.result === !1 && b.preventDefault()); - return b.type = p, f || b.isDefaultPrevented() || n._default && n._default.apply(o.pop(), c) !== !1 || !T(e) || k && r.isFunction(e[p]) && !r.isWindow(e) && (i = e[k], i && (e[k] = null), r.event.triggered = p, e[p](), r.event.triggered = void 0, i && (e[k] = i)), b.result - } - }, simulate: function (a, b, c) { - var d = r.extend(new r.Event, c, {type: a, isSimulated: !0}); - r.event.trigger(d, null, b) - } - }), r.fn.extend({ - trigger: function (a, b) { - return this.each(function () { - r.event.trigger(a, b, this) - }) - }, triggerHandler: function (a, b) { - var c = this[0]; - if (c)return r.event.trigger(a, b, c, !0) - } - }), r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (a, b) { - r.fn[b] = function (a, c) { - return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) - } - }), r.fn.extend({ - hover: function (a, b) { - return this.mouseenter(a).mouseleave(b || a) - } - }), o.focusin = "onfocusin" in a, o.focusin || r.each({focus: "focusin", blur: "focusout"}, function (a, b) { - var c = function (a) { - r.event.simulate(b, a.target, r.event.fix(a)) - }; - r.event.special[b] = { - setup: function () { - var d = this.ownerDocument || this, e = V.access(d, b); - e || d.addEventListener(a, c, !0), V.access(d, b, (e || 0) + 1) - }, teardown: function () { - var d = this.ownerDocument || this, e = V.access(d, b) - 1; - e ? V.access(d, b, e) : (d.removeEventListener(a, c, !0), V.remove(d, b)) - } - } - }); - var qb = a.location, rb = r.now(), sb = /\?/; - r.parseXML = function (b) { - var c; - if (!b || "string" != typeof b)return null; - try { - c = (new a.DOMParser).parseFromString(b, "text/xml") - } catch (d) { - c = void 0 - } - return c && !c.getElementsByTagName("parsererror").length || r.error("Invalid XML: " + b), c - }; - var tb = /\[\]$/, ub = /\r?\n/g, vb = /^(?:submit|button|image|reset|file)$/i, wb = /^(?:input|select|textarea|keygen)/i; - - function xb(a, b, c, d) { - var e; - if (r.isArray(b)) r.each(b, function (b, e) { - c || tb.test(a) ? d(a, e) : xb(a + "[" + ("object" == typeof e && null != e ? b : "") + "]", e, c, d) - }); else if (c || "object" !== r.type(b)) d(a, b); else for (e in b)xb(a + "[" + e + "]", b[e], c, d) - } - - r.param = function (a, b) { - var c, d = [], e = function (a, b) { - var c = r.isFunction(b) ? b() : b; - d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(null == c ? "" : c) - }; - if (r.isArray(a) || a.jquery && !r.isPlainObject(a)) r.each(a, function () { - e(this.name, this.value) - }); else for (c in a)xb(c, a[c], b, e); - return d.join("&") - }, r.fn.extend({ - serialize: function () { - return r.param(this.serializeArray()) - }, serializeArray: function () { - return this.map(function () { - var a = r.prop(this, "elements"); - return a ? r.makeArray(a) : this - }).filter(function () { - var a = this.type; - return this.name && !r(this).is(":disabled") && wb.test(this.nodeName) && !vb.test(a) && (this.checked || !ia.test(a)) - }).map(function (a, b) { - var c = r(this).val(); - return null == c ? null : r.isArray(c) ? r.map(c, function (a) { - return {name: b.name, value: a.replace(ub, "\r\n")} - }) : {name: b.name, value: c.replace(ub, "\r\n")} - }).get() - } - }); - var yb = /%20/g, zb = /#.*$/, Ab = /([?&])_=[^&]*/, Bb = /^(.*?):[ \t]*([^\r\n]*)$/gm, Cb = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, Db = /^(?:GET|HEAD)$/, Eb = /^\/\//, Fb = {}, Gb = {}, Hb = "*/".concat("*"), Ib = d.createElement("a"); - Ib.href = qb.href; - function Jb(a) { - return function (b, c) { - "string" != typeof b && (c = b, b = "*"); - var d, e = 0, f = b.toLowerCase().match(K) || []; - if (r.isFunction(c))while (d = f[e++])"+" === d[0] ? (d = d.slice(1) || "*", (a[d] = a[d] || []).unshift(c)) : (a[d] = a[d] || []).push(c) - } - } - - function Kb(a, b, c, d) { - var e = {}, f = a === Gb; - - function g(h) { - var i; - return e[h] = !0, r.each(a[h] || [], function (a, h) { - var j = h(b, c, d); - return "string" != typeof j || f || e[j] ? f ? !(i = j) : void 0 : (b.dataTypes.unshift(j), g(j), !1) - }), i - } - - return g(b.dataTypes[0]) || !e["*"] && g("*") - } - - function Lb(a, b) { - var c, d, e = r.ajaxSettings.flatOptions || {}; - for (c in b)void 0 !== b[c] && ((e[c] ? a : d || (d = {}))[c] = b[c]); - return d && r.extend(!0, a, d), a - } - - function Mb(a, b, c) { - var d, e, f, g, h = a.contents, i = a.dataTypes; - while ("*" === i[0])i.shift(), void 0 === d && (d = a.mimeType || b.getResponseHeader("Content-Type")); - if (d)for (e in h)if (h[e] && h[e].test(d)) { - i.unshift(e); - break - } - if (i[0] in c) f = i[0]; else { - for (e in c) { - if (!i[0] || a.converters[e + " " + i[0]]) { - f = e; - break - } - g || (g = e) - } - f = f || g - } - if (f)return f !== i[0] && i.unshift(f), c[f] - } - - function Nb(a, b, c, d) { - var e, f, g, h, i, j = {}, k = a.dataTypes.slice(); - if (k[1])for (g in a.converters)j[g.toLowerCase()] = a.converters[g]; - f = k.shift(); - while (f)if (a.responseFields[f] && (c[a.responseFields[f]] = b), !i && d && a.dataFilter && (b = a.dataFilter(b, a.dataType)), i = f, f = k.shift())if ("*" === f) f = i; else if ("*" !== i && i !== f) { - if (g = j[i + " " + f] || j["* " + f], !g)for (e in j)if (h = e.split(" "), h[1] === f && (g = j[i + " " + h[0]] || j["* " + h[0]])) { - g === !0 ? g = j[e] : j[e] !== !0 && (f = h[0], k.unshift(h[1])); - break - } - if (g !== !0)if (g && a["throws"]) b = g(b); else try { - b = g(b) - } catch (l) { - return {state: "parsererror", error: g ? l : "No conversion from " + i + " to " + f} - } - } - return {state: "success", data: b} - } - - r.extend({ - active: 0, - lastModified: {}, - etag: {}, - ajaxSettings: { - url: qb.href, - type: "GET", - isLocal: Cb.test(qb.protocol), - global: !0, - processData: !0, - async: !0, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - accepts: { - "*": Hb, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - contents: {xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/}, - responseFields: {xml: "responseXML", text: "responseText", json: "responseJSON"}, - converters: {"* text": String, "text html": !0, "text json": JSON.parse, "text xml": r.parseXML}, - flatOptions: {url: !0, context: !0} - }, - ajaxSetup: function (a, b) { - return b ? Lb(Lb(a, r.ajaxSettings), b) : Lb(r.ajaxSettings, a) - }, - ajaxPrefilter: Jb(Fb), - ajaxTransport: Jb(Gb), - ajax: function (b, c) { - "object" == typeof b && (c = b, b = void 0), c = c || {}; - var e, f, g, h, i, j, k, l, m, n, o = r.ajaxSetup({}, c), p = o.context || o, q = o.context && (p.nodeType || p.jquery) ? r(p) : r.event, s = r.Deferred(), t = r.Callbacks("once memory"), u = o.statusCode || {}, v = {}, w = {}, x = "canceled", y = { - readyState: 0, - getResponseHeader: function (a) { - var b; - if (k) { - if (!h) { - h = {}; - while (b = Bb.exec(g))h[b[1].toLowerCase()] = b[2] - } - b = h[a.toLowerCase()] - } - return null == b ? null : b - }, - getAllResponseHeaders: function () { - return k ? g : null - }, - setRequestHeader: function (a, b) { - return null == k && (a = w[a.toLowerCase()] = w[a.toLowerCase()] || a, v[a] = b), this - }, - overrideMimeType: function (a) { - return null == k && (o.mimeType = a), this - }, - statusCode: function (a) { - var b; - if (a)if (k) y.always(a[y.status]); else for (b in a)u[b] = [u[b], a[b]]; - return this - }, - abort: function (a) { - var b = a || x; - return e && e.abort(b), A(0, b), this - } - }; - if (s.promise(y), o.url = ((b || o.url || qb.href) + "").replace(Eb, qb.protocol + "//"), o.type = c.method || c.type || o.method || o.type, o.dataTypes = (o.dataType || "*").toLowerCase().match(K) || [""], null == o.crossDomain) { - j = d.createElement("a"); - try { - j.href = o.url, j.href = j.href, o.crossDomain = Ib.protocol + "//" + Ib.host != j.protocol + "//" + j.host - } catch (z) { - o.crossDomain = !0 - } - } - if (o.data && o.processData && "string" != typeof o.data && (o.data = r.param(o.data, o.traditional)), Kb(Fb, o, c, y), k)return y; - l = r.event && o.global, l && 0 === r.active++ && r.event.trigger("ajaxStart"), o.type = o.type.toUpperCase(), o.hasContent = !Db.test(o.type), f = o.url.replace(zb, ""), o.hasContent ? o.data && o.processData && 0 === (o.contentType || "").indexOf("application/x-www-form-urlencoded") && (o.data = o.data.replace(yb, "+")) : (n = o.url.slice(f.length), o.data && (f += (sb.test(f) ? "&" : "?") + o.data, delete o.data), o.cache === !1 && (f = f.replace(Ab, "$1"), n = (sb.test(f) ? "&" : "?") + "_=" + rb++ + n), o.url = f + n), o.ifModified && (r.lastModified[f] && y.setRequestHeader("If-Modified-Since", r.lastModified[f]), r.etag[f] && y.setRequestHeader("If-None-Match", r.etag[f])), (o.data && o.hasContent && o.contentType !== !1 || c.contentType) && y.setRequestHeader("Content-Type", o.contentType), y.setRequestHeader("Accept", o.dataTypes[0] && o.accepts[o.dataTypes[0]] ? o.accepts[o.dataTypes[0]] + ("*" !== o.dataTypes[0] ? ", " + Hb + "; q=0.01" : "") : o.accepts["*"]); - for (m in o.headers)y.setRequestHeader(m, o.headers[m]); - if (o.beforeSend && (o.beforeSend.call(p, y, o) === !1 || k))return y.abort(); - if (x = "abort", t.add(o.complete), y.done(o.success), y.fail(o.error), e = Kb(Gb, o, c, y)) { - if (y.readyState = 1, l && q.trigger("ajaxSend", [y, o]), k)return y; - o.async && o.timeout > 0 && (i = a.setTimeout(function () { - y.abort("timeout") - }, o.timeout)); - try { - k = !1, e.send(v, A) - } catch (z) { - if (k)throw z; - A(-1, z) - } - } else A(-1, "No Transport"); - function A(b, c, d, h) { - var j, m, n, v, w, x = c; - k || (k = !0, i && a.clearTimeout(i), e = void 0, g = h || "", y.readyState = b > 0 ? 4 : 0, j = b >= 200 && b < 300 || 304 === b, d && (v = Mb(o, y, d)), v = Nb(o, v, y, j), j ? (o.ifModified && (w = y.getResponseHeader("Last-Modified"), w && (r.lastModified[f] = w), w = y.getResponseHeader("etag"), w && (r.etag[f] = w)), 204 === b || "HEAD" === o.type ? x = "nocontent" : 304 === b ? x = "notmodified" : (x = v.state, m = v.data, n = v.error, j = !n)) : (n = x, !b && x || (x = "error", b < 0 && (b = 0))), y.status = b, y.statusText = (c || x) + "", j ? s.resolveWith(p, [m, x, y]) : s.rejectWith(p, [y, x, n]), y.statusCode(u), u = void 0, l && q.trigger(j ? "ajaxSuccess" : "ajaxError", [y, o, j ? m : n]), t.fireWith(p, [y, x]), l && (q.trigger("ajaxComplete", [y, o]), --r.active || r.event.trigger("ajaxStop"))) - } - - return y - }, - getJSON: function (a, b, c) { - return r.get(a, b, c, "json") - }, - getScript: function (a, b) { - return r.get(a, void 0, b, "script") - } - }), r.each(["get", "post"], function (a, b) { - r[b] = function (a, c, d, e) { - return r.isFunction(c) && (e = e || d, d = c, c = void 0), r.ajax(r.extend({ - url: a, - type: b, - dataType: e, - data: c, - success: d - }, r.isPlainObject(a) && a)) - } - }), r._evalUrl = function (a) { - return r.ajax({url: a, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, "throws": !0}) - }, r.fn.extend({ - wrapAll: function (a) { - var b; - return this[0] && (r.isFunction(a) && (a = a.call(this[0])), b = r(a, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && b.insertBefore(this[0]), b.map(function () { - var a = this; - while (a.firstElementChild)a = a.firstElementChild; - return a - }).append(this)), this - }, wrapInner: function (a) { - return r.isFunction(a) ? this.each(function (b) { - r(this).wrapInner(a.call(this, b)) - }) : this.each(function () { - var b = r(this), c = b.contents(); - c.length ? c.wrapAll(a) : b.append(a) - }) - }, wrap: function (a) { - var b = r.isFunction(a); - return this.each(function (c) { - r(this).wrapAll(b ? a.call(this, c) : a) - }) - }, unwrap: function (a) { - return this.parent(a).not("body").each(function () { - r(this).replaceWith(this.childNodes) - }), this - } - }), r.expr.pseudos.hidden = function (a) { - return !r.expr.pseudos.visible(a) - }, r.expr.pseudos.visible = function (a) { - return !!(a.offsetWidth || a.offsetHeight || a.getClientRects().length) - }, r.ajaxSettings.xhr = function () { - try { - return new a.XMLHttpRequest - } catch (b) { - } - }; - var Ob = {0: 200, 1223: 204}, Pb = r.ajaxSettings.xhr(); - o.cors = !!Pb && "withCredentials" in Pb, o.ajax = Pb = !!Pb, r.ajaxTransport(function (b) { - var c, d; - if (o.cors || Pb && !b.crossDomain)return { - send: function (e, f) { - var g, h = b.xhr(); - if (h.open(b.type, b.url, b.async, b.username, b.password), b.xhrFields)for (g in b.xhrFields)h[g] = b.xhrFields[g]; - b.mimeType && h.overrideMimeType && h.overrideMimeType(b.mimeType), b.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"); - for (g in e)h.setRequestHeader(g, e[g]); - c = function (a) { - return function () { - c && (c = d = h.onload = h.onerror = h.onabort = h.onreadystatechange = null, "abort" === a ? h.abort() : "error" === a ? "number" != typeof h.status ? f(0, "error") : f(h.status, h.statusText) : f(Ob[h.status] || h.status, h.statusText, "text" !== (h.responseType || "text") || "string" != typeof h.responseText ? {binary: h.response} : {text: h.responseText}, h.getAllResponseHeaders())) - } - }, h.onload = c(), d = h.onerror = c("error"), void 0 !== h.onabort ? h.onabort = d : h.onreadystatechange = function () { - 4 === h.readyState && a.setTimeout(function () { - c && d() - }) - }, c = c("abort"); - try { - h.send(b.hasContent && b.data || null) - } catch (i) { - if (c)throw i - } - }, abort: function () { - c && c() - } - } - }), r.ajaxPrefilter(function (a) { - a.crossDomain && (a.contents.script = !1) - }), r.ajaxSetup({ - accepts: {script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"}, - contents: {script: /\b(?:java|ecma)script\b/}, - converters: { - "text script": function (a) { - return r.globalEval(a), a - } - } - }), r.ajaxPrefilter("script", function (a) { - void 0 === a.cache && (a.cache = !1), a.crossDomain && (a.type = "GET") - }), r.ajaxTransport("script", function (a) { - if (a.crossDomain) { - var b, c; - return { - send: function (e, f) { - b = r(" + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    综合经济效益表
    名称金额备注
    项目总现金支出含税
    其中:设计费含税
    设备费含税
    建安费含税
    监理费含税
    其他费用含税
    项目建设成本不含税
    建设期
    收益期
    年总收入 
    +
    + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/chenben.jsp b/src/main/webapp/WEB-INF/views/chenben.jsp new file mode 100644 index 0000000..8353b72 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/chenben.jsp @@ -0,0 +1,101 @@ +<%-- + Created by IntelliJ IDEA. + User: acer1 + Date: 2017/5/6 + Time: 9:12 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + 投资成本 + + + + + + +
    +
    + +
    + +
    + +
    项目总收入预算
    + + + + + + + + + + + + +
    其他年发电量/Kwh产值(含税)/元产值(不含税)/元年补贴(不含税)/元年收入(含税)/元年收入(不含税)/元
    + +
    + + +
    +
    +
    +
    +

    合同

    +
    +
    + < +
    +
    + +
    +
    + +
    + + + + + + + + +
    +
    + +
    +
    +

    集中式变压器

    +
    +
    +
    + 集中式逆变器 + +
    +
    +
    +
    + 直流汇流箱 + +
    +
    +
    +
    + 直流配电柜 + +
    +
    +
    +
    + 电缆 +
    + 电缆 +
    +
    +
    +
    +
    + +
    +

    组串式逆变器

    +
    +
    +
    + 组串式逆变器 + +
    +
    + +
    +
    + 电缆 +
    + 电缆 +
    +
    +
    +
    +
    +
    + 确认 + 返回 +
    + + + + +
    +
    + + +
  • +
    + + +
    +
    + + + + +
    +
    + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/forget.jsp b/src/main/webapp/WEB-INF/views/forget.jsp new file mode 100644 index 0000000..a277de1 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/forget.jsp @@ -0,0 +1,84 @@ +<%-- + Created by IntelliJ IDEA. + User: acer1 + Date: 2017/4/23 + Time: 16:42 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + 找回密码 + + + + + + + + + + +
    +
    +
    +
    +

    验证手机号

    +
    +
    +
    +
    + +
    + +
    +
    +

    请输入正确的手机号

    +
    +
    +
    +
    + + 登录 +
    +
    +
    +
    + +
    +
    + +
    + diff --git a/src/main/webapp/WEB-INF/views/forget2.jsp b/src/main/webapp/WEB-INF/views/forget2.jsp new file mode 100644 index 0000000..5d08fa1 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/forget2.jsp @@ -0,0 +1,86 @@ +<%-- + Created by IntelliJ IDEA. + User: acer1 + Date: 2017/4/29 + Time: 10:23 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + 找回密码 + + + + + + + + +
    +
    +
    +
    +

    验证手机号:

    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + + diff --git a/src/main/webapp/WEB-INF/views/fwqj.jsp b/src/main/webapp/WEB-INF/views/fwqj.jsp new file mode 100644 index 0000000..eb1899b --- /dev/null +++ b/src/main/webapp/WEB-INF/views/fwqj.jsp @@ -0,0 +1,115 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + + 方位倾角和设计 + + + + + + + + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    方位角和倾角

    +
    +
    +
    + 方位角: + +
    +
    + 倾角: + +
    +
    + +
    +
    +确认 +返回 +
    + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/gaoyc.jsp b/src/main/webapp/WEB-INF/views/gaoyc.jsp new file mode 100644 index 0000000..015fd5f --- /dev/null +++ b/src/main/webapp/WEB-INF/views/gaoyc.jsp @@ -0,0 +1,351 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + 高压侧设计 + + + + + + + + +
    +

    接入电网等级:

    + 10Kv       + 35kv       + 0.38kv +
    +
    +
    +
    + 低压开关柜 + +
    +
    + +
    +
    + 升压变压器 + +
    +
    +
    +
    + 高压开关柜 + +
    +
    +
    +
    +
    +
    + 确认 + 返回 +
    + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/home2.jsp b/src/main/webapp/WEB-INF/views/home2.jsp new file mode 100644 index 0000000..54948a1 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/home2.jsp @@ -0,0 +1,92 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + + + + + + + + 首页 + + + + +
    +
    +
    +
    +

    光伏效益分析平台欢迎您!

    +

    欢迎来到我们的平台.

    +

    了解更多

    +
    +
    +
    + + + +
    + + + + + + diff --git a/src/main/webapp/WEB-INF/views/index.jsp b/src/main/webapp/WEB-INF/views/index.jsp deleted file mode 100644 index 139aa50..0000000 --- a/src/main/webapp/WEB-INF/views/index.jsp +++ /dev/null @@ -1,17 +0,0 @@ -<%-- - Created by IntelliJ IDEA. - User: zihua - Date: 17-3-29 - Time: 下午8:59 - To change this template use File | Settings | File Templates. ---%> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - 光伏发电效益分析系统 - - -

    请登录

    - - - diff --git a/src/main/webapp/WEB-INF/views/information.jsp b/src/main/webapp/WEB-INF/views/information.jsp new file mode 100644 index 0000000..919d32d --- /dev/null +++ b/src/main/webapp/WEB-INF/views/information.jsp @@ -0,0 +1,118 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + 项目信息 + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    项目基本信息
    项目名称:
    拟建地点:
    建设单位:
    时间: + +
    备注:
    地理位置:经度            纬度
    +
    + 确认 + 返回 +
    +
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/list.jsp b/src/main/webapp/WEB-INF/views/list.jsp new file mode 100644 index 0000000..3cc1c2e --- /dev/null +++ b/src/main/webapp/WEB-INF/views/list.jsp @@ -0,0 +1,248 @@ +<%-- + Created by IntelliJ IDEA. + User: acer1 + Date: 2017/5/6 + Time: 8:56 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + 参数列表 + + + + + + + + + +
    +

    请填写下面的参数

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    设备费单价(元/w)建安费单价(元/w)设计费单价(元/w)监理费单价(元/w)分包税金及其他费(元/w)
    综合利率(%)电站年限/年建设期(月)结算周期(月)地方电价(元/KWh)
    分享比例上网电价(元/KWh)自用比例补贴电价1(元/KWh)补贴1年限(年)
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    补贴电价2(元/KWh)补贴2年限(年)销售电价售电增值服务税补贴收入
    运维分包单价部分费用分摊率期间费用分摊率项目人工成本工本率项目建造期业务活费动
    项目直接费用利息利率项目建造期差旅费项目直接费用补贴电价2(元/KWh)补贴2年限(年)
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    补贴电价2(元/KWh)补贴2年限(年)销售电价售电增值服务税补贴收入
    运维分包单价部分费用分摊率期间费用分摊率项目人工成本工本率项目建造期业务活费动
    项目直接费用利息利率项目建造期差旅费项目直接费用补贴电价2(元/KWh)补贴2年限(年)
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    补贴电价2(元/KWh)补贴2年限(年)销售电价售电增值服务税补贴收入
    运维分包单价部分费用分摊率期间费用分摊率项目人工成本工本率项目建造期业务活费动
    项目直接费用利息利率项目建造期差旅费项目直接费用补贴电价2(元/KWh)补贴2年限(年)
    +
    + + diff --git a/src/main/webapp/WEB-INF/views/newProject.jsp b/src/main/webapp/WEB-INF/views/newProject.jsp new file mode 100644 index 0000000..089eaed --- /dev/null +++ b/src/main/webapp/WEB-INF/views/newProject.jsp @@ -0,0 +1,160 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + + + + + + + 流程 + + + + +
    +
    +
    +
    + 项目信息 + +
    +
    + +
    +
    + 地理气象 + +
    +
    +
    +
    + 组件选型 + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + 组件布局 + +
    +
    +
    +
    + 低压侧设计 + +
    +
    +
    +
    + 高压侧设计 + +
    +
    +
    +
    + 效率分析 + +
    +
    +
    +
    + +
    +
    +
    + 效益分析 + +
    +
    +
    +
    + 报告 +
    + 报告 +
    +
    +
    +
    + + + + <%----%> + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/person.jsp b/src/main/webapp/WEB-INF/views/person.jsp new file mode 100644 index 0000000..6985284 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/person.jsp @@ -0,0 +1,159 @@ +<%-- + Created by IntelliJ IDEA. + User: acer1 + Date: 2017/4/27 + Time: 16:37 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + 个人中心 + + + + + + + + +
    +
    +
    + + + +
    +
    +

    个人信息

    + + + + + + + + + + + + + + + + + +
    用户名:dawang
    昵称:
    手机号:18717850836
    所在公司:
    +
    +
    +

    修改昵称

    +
    +
    +
    + +
    +

    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +

    绑定手机

    +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    +
    +

    修改密码

    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    + +
    + + +
    +
    + + + diff --git a/src/main/webapp/WEB-INF/views/project.jsp b/src/main/webapp/WEB-INF/views/project.jsp new file mode 100644 index 0000000..062f15b --- /dev/null +++ b/src/main/webapp/WEB-INF/views/project.jsp @@ -0,0 +1,711 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + + 自定义设备 + + + + + + + +
    +
    +
    +
    + + + + + + + + +
    +
    +
    +
    +
    +

    光伏组件

    + +
    +
    + + + + + + + + + + +
    公司类型系列型号峰值功率转换效率操作
    +
    +
    + +
    +
    +

    集中式逆变器

    + +
    +
    + + + + + + +
    公司型号操作
    +
    +
    + +
    +
    +

    直流汇流箱

    + +
    +
    + + + + + + +
    厂家型号操作
    +
    +
    + +
    +
    +

    直流配电柜

    + +
    +
    + + + + + + +
    公司型号操作
    +
    +
    + +
    +
    +

    组串式逆变器

    + +
    +
    + + + + + + +
    厂家型号操作
    +
    +
    + +
    +
    +

    电缆

    + +
    +
    + + + + + + +
    名称型号操作
    +
    +
    + +
    +
    +

    开关柜

    + +
    +
    + + + + + + + +
    品牌型号类型操作
    +
    +
    + +
    +
    +

    升压变压器

    + +
    +
    + + + + + + + +
    产品名类型额定容量操作
    +
    +
    +
    +
    +
    + + +
    +
    +
    +

    新用户注册

    +

    已有账号?马上登录 +

    +

    +
    + +
    + +
    +
    +

    用户名不能为空

    +
    +
    +
    + +
    + +
    +
    +

    昵称不能为空

    +
    +
    +
    + +
    + +
    +
    +

    密码字母加数字组合不能少于6位

    +
    +
    +
    + +
    + +
    +
    +

    密码输入不一致

    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    + ${registerMsg} + <%session.removeAttribute("registerMsg");%> +
    + + +
    +
    + + + diff --git a/src/main/webapp/WEB-INF/views/xiaolu.jsp b/src/main/webapp/WEB-INF/views/xiaolu.jsp new file mode 100644 index 0000000..7e124ce --- /dev/null +++ b/src/main/webapp/WEB-INF/views/xiaolu.jsp @@ -0,0 +1,117 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + 效率分析 + + + + + + + + +
    +
    +
    +
    +

    年平均综合损度表

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    损耗因素阴影损耗灰尘等遮挡损耗组件升温损耗直流电缆损耗组串内分配损耗逆变器运行损耗变压器运行损耗交流电缆损耗故障检修、电网等其他损耗总损耗值:总效率值:
    效率预估值/%
    +
    +
    +
    +
    +
    +
    + 系统年并入电网电量: +
    +
    +
    + +
    + 组件性能衰减(%):     + 发电系统运行年数(年):
    + 第多少年 + +
    + 确认 + 返回 +
    +
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/xiaoyi.jsp b/src/main/webapp/WEB-INF/views/xiaoyi.jsp new file mode 100644 index 0000000..6bf0e15 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/xiaoyi.jsp @@ -0,0 +1,102 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + 效益分析 + + + + + + + + +
    +
    +
    +
    + 参数列表 + +
    +
    +
    +
    + 投资成本 + +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    + 收益期状况 + +
    +
    +
    +
    + 综合指标 + +
    +
    + +
    +
    +
    + 返回 +
    + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/xiaoyizonghe.jsp b/src/main/webapp/WEB-INF/views/xiaoyizonghe.jsp new file mode 100644 index 0000000..3cba8c3 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/xiaoyizonghe.jsp @@ -0,0 +1,60 @@ +<%-- + Created by IntelliJ IDEA. + User: acer1 + Date: 2017/5/6 + Time: 10:41 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + 综合指标 + + + + + + + +
    +
    + + + + + + +
    项目销售毛利项目现金净流入
    + +
    +
    + + diff --git a/src/main/webapp/WEB-INF/views/zjbj.jsp b/src/main/webapp/WEB-INF/views/zjbj.jsp new file mode 100644 index 0000000..75993c8 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/zjbj.jsp @@ -0,0 +1,173 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + 组件布局 + + + + + + + + +
    +
    +
    + + +
    + +
    + 阵列排列方式:   横排    + 竖排
    + + + + + + + + + + + + + +
    m数:n数:
    前后间距(D(m)):推荐间距:
    +
    +
    +
    +
    +
    +
    +
    + 自定义安装容量(KW) +
    +
    + 容量(KW):
    + 总组件数(个): +
    +
    +
    +
    +
    +
    + 自定义面积 +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    区域长L(m):     区域宽W(m):
    左右间距d(m):     左右剩余间距(m):0.00
    区域长可放置阵列数:0     前后剩余间距(m):0.00
    区域宽可放置阵列数:0     总占地面积(m2):0
    总组件数(个):0     总容量(KW):0
    +
    +
    +
    +
    +
    + 确认 + 返回 +
    + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/zjxx.jsp b/src/main/webapp/WEB-INF/views/zjxx.jsp new file mode 100644 index 0000000..2252080 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/zjxx.jsp @@ -0,0 +1,156 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + 组件选型 + + + + + + + + + + + + +
    +
    +

    选择组件

    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    开路电压(v)最大功率点电压(v)最大功率点电流(A)转换效率(%)短路电流(A)开路电压温度系数(%/℃)最大温度功率系数(%/℃)
    22222222222222
    短路电流温度系数(%/℃)长度(mm)宽度(mm)重量(kg)工作温度下限(℃)工作温度下限(℃)
    222222222222
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp new file mode 100644 index 0000000..4f4abe9 --- /dev/null +++ b/src/main/webapp/index.jsp @@ -0,0 +1,105 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + 光伏软件登录 + + + + + +
    + +
    +
    +
    +
    +

    欢迎登录

    +
    +
    + +
    + +
    +
    +

    +
    +
    +
    + +
    + +
    +
    +

    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    + + 立即注册 +
    +
    +
    +
    + +
    +
    +
    + +
    + ${msg} + <%session.removeAttribute("msg");%> +
    + + +