From 67b194075a036051b32b26eb7ff7917f33e5803b Mon Sep 17 00:00:00 2001
From: sunrich <17596519046@163.com>
Date: Mon, 22 Oct 2018 10:03:37 +0800
Subject: [PATCH] =?UTF-8?q?jlr=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.classpath | 28 +
.gitignore | 1 +
.idea/.name | 1 +
.idea/artifacts/jlr_war.xml | 8 +
.idea/artifacts/jlr_war_exploded.xml | 94 +
.idea/compiler.xml | 16 +
.idea/encodings.xml | 6 +
.idea/libraries/Maven__antlr_antlr_2_7_7.xml | 13 +
.../Maven__aopalliance_aopalliance_1_0.xml | 13 +
.idea/libraries/Maven__asm_asm_3_1.xml | 13 +
.idea/libraries/Maven__cglib_cglib_2_2.xml | 13 +
.../Maven__cglib_cglib_nodep_2_2_2.xml | 13 +
.../Maven__com_alibaba_druid_1_0_15.xml | 13 +
.../Maven__com_alibaba_fastjson_1_1_39.xml | 13 +
.../Maven__com_caucho_hessian_4_0_33.xml | 13 +
...en__com_github_virtuald_curvesapi_1_03.xml | 13 +
.../Maven__com_google_guava_guava_17_0.xml | 13 +
.../Maven__com_oracle_ojdbc6_11_2_0_3.xml | 13 +
...mons_beanutils_commons_beanutils_1_8_0.xml | 13 +
...aven__commons_codec_commons_codec_1_10.xml | 13 +
..._collections_commons_collections_3_2_1.xml | 13 +
...ns_fileupload_commons_fileupload_1_2_2.xml | 13 +
...mons_httpclient_commons_httpclient_3_0.xml | 13 +
.../Maven__commons_io_commons_io_1_3_2.xml | 13 +
.../Maven__commons_lang_commons_lang_2_5.xml | 13 +
..._commons_logging_commons_logging_1_1_3.xml | 13 +
.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml | 13 +
.../Maven__javax_faces_jsf_api_1_2_04.xml | 13 +
.../Maven__javax_faces_jsf_impl_1_2_04.xml | 13 +
..._javax_servlet_javax_servlet_api_3_0_1.xml | 13 +
.../Maven__javax_servlet_jsp_jsp_api_2_1.xml | 13 +
.../Maven__javax_servlet_jstl_1_2.xml | 13 +
.../Maven__javax_transaction_jta_1_1.xml | 13 +
.idea/libraries/Maven__jstl_jstl_1_2.xml | 13 +
.idea/libraries/Maven__junit_junit_4_11.xml | 13 +
...ven__mysql_mysql_connector_java_5_1_21.xml | 13 +
...ven__net_sf_ehcache_ehcache_core_2_4_7.xml | 13 +
...aven__net_sf_ehcache_ehcache_web_2_0_4.xml | 13 +
.../Maven__net_sf_ezmorph_ezmorph_1_0_6.xml | 13 +
...en__net_sf_json_lib_json_lib_jdk15_2_4.xml | 13 +
.../Maven__org_apache_ant_ant_1_8_2.xml | 13 +
...ven__org_apache_ant_ant_launcher_1_8_2.xml | 13 +
...org_apache_commons_commons_lang3_3_3_2.xml | 13 +
...apache_httpcomponents_httpclient_4_3_6.xml | 13 +
...g_apache_httpcomponents_httpcore_4_3_3.xml | 13 +
...n__org_apache_openejb_javaee_api_5_0_1.xml | 13 +
.../Maven__org_apache_poi_poi_3_14.xml | 13 +
.../Maven__org_apache_poi_poi_ooxml_3_14.xml | 13 +
..._org_apache_poi_poi_ooxml_schemas_3_14.xml | 13 +
...en__org_apache_poi_poi_scratchpad_3_14.xml | 13 +
...che_servicemix_bundles_xerces_2_11_0_1.xml | 13 +
...en__org_apache_xmlbeans_xmlbeans_2_6_0.xml | 13 +
.../Maven__org_aspectj_aspectjrt_1_6_9.xml | 13 +
...Maven__org_aspectj_aspectjweaver_1_6_9.xml | 13 +
...odehaus_jackson_jackson_core_asl_1_9_7.xml | 13 +
...ehaus_jackson_jackson_mapper_asl_1_9_7.xml | 13 +
.../Maven__org_hamcrest_hamcrest_core_1_3.xml | 13 +
...ernate_commons_annotations_4_0_1_Final.xml | 13 +
...g_hibernate_hibernate_core_4_1_6_Final.xml | 13 +
...te_hibernate_entitymanager_4_1_6_Final.xml | 13 +
...hibernate_hibernate_envers_4_1_6_Final.xml | 13 +
...ence_hibernate_jpa_2_0_api_1_0_1_Final.xml | 13 +
...ven__org_javassist_javassist_3_15_0_GA.xml | 13 +
...g_jboss_logging_jboss_logging_3_1_0_GA.xml | 13 +
...s_transaction_api_1_1_spec_1_0_0_Final.xml | 13 +
.../libraries/Maven__org_jodd_jodd_3_3_8.xml | 13 +
.../Maven__org_json_json_20160810.xml | 13 +
...ven__org_quartz_scheduler_quartz_1_8_4.xml | 13 +
.../Maven__org_slf4j_slf4j_api_1_7_0.xml | 13 +
.../Maven__org_slf4j_slf4j_simple_1_7_0.xml | 13 +
...rity_spring_security_acl_3_1_1_RELEASE.xml | 13 +
...y_spring_security_config_3_1_1_RELEASE.xml | 13 +
...ity_spring_security_core_3_1_1_RELEASE.xml | 13 +
...ring_security_core_tiger_2_0_7_RELEASE.xml | 13 +
..._spring_security_taglibs_3_1_1_RELEASE.xml | 13 +
...rity_spring_security_web_3_1_1_RELEASE.xml | 13 +
...ringframework_spring_aop_3_2_5_RELEASE.xml | 13 +
...ngframework_spring_beans_3_2_5_RELEASE.xml | 13 +
...framework_spring_context_3_2_5_RELEASE.xml | 13 +
...k_spring_context_support_3_2_5_RELEASE.xml | 13 +
...ingframework_spring_core_3_2_5_RELEASE.xml | 13 +
...mework_spring_expression_3_2_5_RELEASE.xml | 13 +
...ingframework_spring_jdbc_3_2_5_RELEASE.xml | 13 +
...ringframework_spring_orm_3_2_5_RELEASE.xml | 13 +
...pringframework_spring_tx_3_2_5_RELEASE.xml | 13 +
...ringframework_spring_web_3_2_5_RELEASE.xml | 13 +
...gframework_spring_webmvc_3_2_5_RELEASE.xml | 13 +
.idea/libraries/Maven__sax_sax_2_0_1.xml | 13 +
.../libraries/Maven__stax_stax_api_1_0_1.xml | 13 +
.../Maven__xml_apis_xml_apis_1_4_01.xml | 13 +
.idea/misc.xml | 16 +
.idea/modules.xml | 8 +
.idea/uiDesigner.xml | 124 +
.idea/workspace.xml | 1288 ++
.project | 58 +
.settings/.jsdtscope | 12 +
.settings/org.eclipse.core.resources.prefs | 5 +
.settings/org.eclipse.jdt.core.prefs | 8 +
.settings/org.eclipse.m2e.core.prefs | 4 +
.settings/org.eclipse.wst.common.component | 11 +
....eclipse.wst.common.project.facet.core.xml | 8 +
...rg.eclipse.wst.jsdt.ui.superType.container | 1 +
.../org.eclipse.wst.jsdt.ui.superType.name | 1 +
.settings/org.eclipse.wst.validation.prefs | 2 +
jlr.iml | 135 +
pom.xml | 533 +
src/main/java/com/dubh/common/dao/Dao.java | 154 +
.../dao/hibernate/BaseDaoHibernate.java | 674 +
.../java/com/dubh/common/dto/BaseDto.java | 31 +
.../java/com/dubh/common/file/Downfile.java | 60 +
.../java/com/dubh/common/file/UploadFile.java | 243 +
.../java/com/dubh/sysconfig/EacheConfig.java | 21 +
src/main/java/com/dubh/sysconfig/ehcache.xml | 69 +
.../java/com/dubh/sysconfig/group.properties | 3 +
.../annotation/SystemControllerAfterLog.java | 16 +
.../annotation/SystemControllerBeforeLog.java | 16 +
.../syslog/annotation/SystemLogAspect.java | 263 +
.../syslog/annotation/SystemServiceLog.java | 20 +
src/main/java/com/hessian/HessianService.java | 10 +
.../excel/annotation/ColumnAnnotation.java | 15 +
.../java/com/ljh/excel/bean/BaseBean.java | 73 +
.../ljh/excel/bean/factory/ExcelFactory.java | 20 +
.../java/com/ljh/excel/parser/BaseParser.java | 100 +
.../com/ljh/excel/parser/BeanOperation.java | 248 +
.../java/com/ljh/excel/parser/FromHowTo.java | 142 +
.../java/com/ljh/excel/parser/Parser.java | 255 +
.../java/com/ljh/excel/test/MySqlTest.java | 101 +
src/main/java/com/ljh/excel/test/User.java | 54 +
src/main/java/com/quartz/UnlockOrder.java | 17 +
src/main/java/com/quartz/queryservlet.java | 81 +
src/main/java/com/util/AutoDtoFile.java | 59 +
src/main/java/com/util/BaiDuDistanceKm.java | 74 +
.../java/com/util/BaiduLatitudeUtils.java | 79 +
src/main/java/com/util/BuilderExcel.java | 197 +
src/main/java/com/util/Check.java | 42 +
src/main/java/com/util/ComTreeInfo.java | 45 +
src/main/java/com/util/Configmessage.java | 51 +
src/main/java/com/util/Distance.java | 51 +
src/main/java/com/util/Escape.java | 131 +
src/main/java/com/util/NetUtil.java | 210 +
.../java/com/util/NewFieldUtileTools.java | 155 +
src/main/java/com/util/OfficeUtil.java | 278 +
src/main/java/com/util/OutCall.java | 153 +
.../java/com/util/PinYin2Abbreviation.java | 102 +
src/main/java/com/util/ReadExcel.java | 141 +
src/main/java/com/util/ReadExcel2003.java | 109 +
src/main/java/com/util/ReadExcel2007.java | 112 +
src/main/java/com/util/RequestMessage.java | 139 +
src/main/java/com/util/RequestUtil.java | 1407 ++
src/main/java/com/util/SendMessage.java | 57 +
src/main/java/com/util/SetJsonObject.java | 39 +
src/main/java/com/util/SpringUtil.java | 20 +
src/main/java/com/util/Student.java | 69 +
src/main/java/com/util/SystemTool.java | 166 +
src/main/java/com/util/UniqId.java | 240 +
src/main/java/com/util/UtilTools.java | 917 +
src/main/java/com/util/Vo.java | 30 +
src/main/java/com/util/ZipUtil.java | 518 +
.../java/com/util/yzcode/BuilderCode.java | 146 +
src/main/java/com/zhongdao/jlr/BaiduTest.java | 78 +
src/main/java/com/zhongdao/jlr/Test.java | 55 +
.../jlr/business/action/BaseAction.java | 106 +
.../jlr/business/action/CasesAction.java | 176 +
.../jlr/business/action/CouponAction.java | 299 +
.../jlr/business/action/EnterpriseAction.java | 323 +
.../jlr/business/action/OrderCheckAction.java | 129 +
.../jlr/business/action/RoleAction.java | 177 +
.../jlr/business/action/SupplierAction.java | 332 +
.../jlr/business/action/UserAction.java | 227 +
.../zhongdao/jlr/business/dao/BaseDao.java | 25 +
.../zhongdao/jlr/business/dao/CaseDao.java | 48 +
.../zhongdao/jlr/business/dao/CouponDao.java | 53 +
.../jlr/business/dao/EnterpriseDao.java | 50 +
.../jlr/business/dao/OrderCheckDao.java | 51 +
.../zhongdao/jlr/business/dao/RoleDao.java | 62 +
.../jlr/business/dao/SupplierDao.java | 104 +
.../jlr/business/dao/UserInfoDao.java | 51 +
.../jlr/business/dao/impl/BaseDaoImpl.java | 99 +
.../jlr/business/dao/impl/CaseDaoImpl.java | 438 +
.../jlr/business/dao/impl/CouponDaoImpl.java | 394 +
.../business/dao/impl/EnterpriseDaoImpl.java | 115 +
.../business/dao/impl/OrderCheckDaoImpl.java | 277 +
.../jlr/business/dao/impl/RoleDaoImpl.java | 216 +
.../business/dao/impl/SupplierDaoImpl.java | 293 +
.../business/dao/impl/UserInfoDaoImpl.java | 138 +
.../business/interceptor/UserInterceptor.java | 40 +
.../jlr/business/listener/AutoRunServlet.java | 22 +
.../business/listener/StartupListener.java | 37 +
.../jlr/business/service/BaseService.java | 30 +
.../business/service/CasesListService.java | 67 +
.../jlr/business/service/CouponService.java | 88 +
.../business/service/EnterpriseService.java | 46 +
.../business/service/OrderCheckService.java | 48 +
.../jlr/business/service/RoleService.java | 56 +
.../jlr/business/service/SupplierService.java | 98 +
.../jlr/business/service/UserInfoService.java | 53 +
.../service/impl/BaseServiceImpl.java | 70 +
.../service/impl/CasesListServiceImpl.java | 475 +
.../service/impl/CouponServiceImpl.java | 459 +
.../service/impl/EnterpriseServiceImpl.java | 167 +
.../service/impl/OrderCheckServiceImpl.java | 40 +
.../service/impl/RoleServiceImpl.java | 199 +
.../service/impl/SupplierServiceImpl.java | 151 +
.../service/impl/UserInfoServiceImpl.java | 65 +
.../servlet/ReceiveCustomerInfoServlet.java | 10 +
.../jlr/business/vo/ConsumeQueryExcelVO.java | 104 +
.../zhongdao/jlr/business/vo/Contract.java | 31 +
.../jlr/business/vo/CouponConsumeJlr.java | 141 +
.../zhongdao/jlr/business/vo/CouponJlrVO.java | 76 +
.../jlr/business/vo/CouponRechargeJlr.java | 129 +
.../zhongdao/jlr/business/vo/Destination.java | 31 +
.../zhongdao/jlr/business/vo/Enterprise.java | 31 +
.../jlr/business/vo/EnterpriseExcelVO.java | 203 +
.../com/zhongdao/jlr/business/vo/JLRMenu.java | 44 +
.../zhongdao/jlr/business/vo/JLRRMenu.java | 41 +
.../zhongdao/jlr/business/vo/LoginUserVo.java | 127 +
.../jlr/business/vo/OrderCheckExcelVO.java | 135 +
.../zhongdao/jlr/business/vo/PageInfo.java | 47 +
.../jlr/business/vo/RechangeQueryExcelVO.java | 125 +
.../jlr/business/vo/UserOrderCSVVO.java | 214 +
.../jlr/business/vo/UserOrderExcelVO.java | 252 +
.../jlr/business/vo/UserOrderViewVO.java | 689 +
.../zhongdao/jlr/customer/ResponseInfo.java | 31 +
.../com/zhongdao/jlr/customer/TextConfig.java | 11 +
.../jlr/customer/dao/CustomerDao.java | 12 +
.../customer/dao/impl/CustomerDaoImpl.java | 16 +
.../customer/interceptor/UserInterceptor.java | 90 +
.../jlr/customer/service/CustomerService.java | 17 +
.../jlr/customer/web/CustomerController.java | 34 +
.../jlr/customer/web/vo/ClaimsOrderVo.java | 50 +
.../jlr/customer/web/vo/InsuranceContext.java | 52 +
.../zhongdao/jlr/customer/xss/XssFilter.java | 30 +
.../xss/XssHttpServletRequestWrapper.java | 48 +
.../java/com/zhongdao/jlr/enums/Week.java | 5 +
.../java/com/zhongdao/jlr/pojo/BaseMenu.java | 131 +
.../java/com/zhongdao/jlr/pojo/BaseRole.java | 100 +
.../zhongdao/jlr/pojo/BaseRoleAuthority.java | 39 +
.../java/com/zhongdao/jlr/pojo/BaseUser.java | 124 +
.../com/zhongdao/jlr/pojo/BaseUserRole.java | 50 +
.../zhongdao/jlr/pojo/CouponConsumeJlrPO.java | 171 +
.../jlr/pojo/CouponRechargeJlrPO.java | 161 +
.../com/zhongdao/jlr/pojo/EnterpriseJlr.java | 313 +
.../com/zhongdao/jlr/pojo/JLRAuthority.java | 62 +
.../java/com/zhongdao/jlr/pojo/JLRCoupon.java | 141 +
.../com/zhongdao/jlr/pojo/JLRDestination.java | 50 +
.../java/com/zhongdao/jlr/pojo/JLRRole.java | 64 +
.../com/zhongdao/jlr/pojo/JLRSupplier.java | 50 +
.../java/com/zhongdao/jlr/pojo/JLRUser.java | 120 +
.../zhongdao/jlr/pojo/JLRUserContract.java | 50 +
.../java/com/zhongdao/jlr/pojo/JLRepqr.java | 241 +
.../java/com/zhongdao/jlr/util/DateUtil.java | 152 +
.../com/zhongdao/jlr/util/ExportCSVUtil.java | 106 +
.../zhongdao/jlr/util/GeoAddressCenter.java | 235 +
.../zhongdao/jlr/util/HttpClientDownload.java | 141 +
src/main/java/com/zhongdao/jlr/util/MD5.java | 62 +
.../com/zhongdao/jlr/util/MTextUtils.java | 484 +
.../java/com/zhongdao/jlr/util/XJson.java | 436 +
.../applicationContext-hibernate.xml | 88 +
.../business/applicationContext-customer.xml | 22 +
.../business/applicationContext-zengwp.xml | 28 +
.../eache/applicationContext-eache.xml | 41 +
src/main/resources/files/Conditions.xlsx | Bin 0 -> 15296 bytes
src/main/resources/files/Outcomes.xlsx | Bin 0 -> 11283 bytes
src/main/webapp/404.html | 18 +
src/main/webapp/500.html | 18 +
src/main/webapp/META-INF/MANIFEST.MF | 3 +
.../webapp/WEB-INF/mvc-dispatcher-servlet.xml | 73 +
src/main/webapp/WEB-INF/web.xml | 133 +
src/main/webapp/css/addDialog.css | 97 +
src/main/webapp/css/demo.css | 21 +
src/main/webapp/css/dialog.css | 217 +
src/main/webapp/css/home.css | 756 +
src/main/webapp/css/index.css | 787 +
src/main/webapp/css/list.css | 42 +
src/main/webapp/css/login.css | 218 +
src/main/webapp/css/mc.css | 106 +
src/main/webapp/css/page.css | 28 +
src/main/webapp/css/printOut.css | 159 +
src/main/webapp/css/search.css | 82 +
src/main/webapp/css/style.css | 1159 ++
.../webapp/css/themes/black/accordion.css | 89 +
src/main/webapp/css/themes/black/calendar.css | 202 +
src/main/webapp/css/themes/black/combo.css | 35 +
src/main/webapp/css/themes/black/combobox.css | 39 +
src/main/webapp/css/themes/black/datagrid.css | 288 +
src/main/webapp/css/themes/black/datalist.css | 95 +
src/main/webapp/css/themes/black/datebox.css | 36 +
src/main/webapp/css/themes/black/dialog.css | 47 +
src/main/webapp/css/themes/black/easyui.css | 3220 ++++
src/main/webapp/css/themes/black/filebox.css | 20 +
.../themes/black/images/accordion_arrows.png | Bin 0 -> 122 bytes
.../webapp/css/themes/black/images/blank.gif | Bin 0 -> 43 bytes
.../themes/black/images/calendar_arrows.png | Bin 0 -> 173 bytes
.../css/themes/black/images/combo_arrow.png | Bin 0 -> 100 bytes
.../themes/black/images/datagrid_icons.png | Bin 0 -> 300 bytes
.../css/themes/black/images/datebox_arrow.png | Bin 0 -> 626 bytes
.../css/themes/black/images/layout_arrows.png | Bin 0 -> 179 bytes
.../css/themes/black/images/linkbutton_bg.png | Bin 0 -> 1274 bytes
.../css/themes/black/images/loading.gif | Bin 0 -> 1737 bytes
.../css/themes/black/images/menu_arrows.png | Bin 0 -> 134 bytes
.../themes/black/images/messager_icons.png | Bin 0 -> 6116 bytes
.../themes/black/images/pagination_icons.png | Bin 0 -> 339 bytes
.../css/themes/black/images/panel_tools.png | Bin 0 -> 184 bytes
.../themes/black/images/passwordbox_close.png | Bin 0 -> 149 bytes
.../themes/black/images/passwordbox_open.png | Bin 0 -> 160 bytes
.../themes/black/images/searchbox_button.png | Bin 0 -> 813 bytes
.../css/themes/black/images/slider_handle.png | Bin 0 -> 863 bytes
.../themes/black/images/spinner_arrows.png | Bin 0 -> 140 bytes
.../css/themes/black/images/tabs_icons.png | Bin 0 -> 144 bytes
.../css/themes/black/images/tagbox_icons.png | Bin 0 -> 133 bytes
.../css/themes/black/images/tree_icons.png | Bin 0 -> 3086 bytes
.../black/images/validatebox_warning.png | Bin 0 -> 921 bytes
src/main/webapp/css/themes/black/layout.css | 150 +
.../webapp/css/themes/black/linkbutton.css | 203 +
src/main/webapp/css/themes/black/menu.css | 119 +
.../webapp/css/themes/black/menubutton.css | 94 +
src/main/webapp/css/themes/black/messager.css | 44 +
.../webapp/css/themes/black/numberbox.css | 0
.../webapp/css/themes/black/pagination.css | 71 +
src/main/webapp/css/themes/black/panel.css | 265 +
.../webapp/css/themes/black/passwordbox.css | 6 +
.../webapp/css/themes/black/progressbar.css | 32 +
.../webapp/css/themes/black/propertygrid.css | 28 +
.../webapp/css/themes/black/searchbox.css | 61 +
src/main/webapp/css/themes/black/slider.css | 101 +
src/main/webapp/css/themes/black/spinner.css | 58 +
.../webapp/css/themes/black/splitbutton.css | 12 +
.../webapp/css/themes/black/switchbutton.css | 77 +
src/main/webapp/css/themes/black/tabs.css | 413 +
src/main/webapp/css/themes/black/tagbox.css | 44 +
src/main/webapp/css/themes/black/textbox.css | 139 +
src/main/webapp/css/themes/black/tooltip.css | 103 +
src/main/webapp/css/themes/black/tree.css | 161 +
.../webapp/css/themes/black/validatebox.css | 5 +
src/main/webapp/css/themes/black/window.css | 183 +
.../webapp/css/themes/bootstrap/accordion.css | 89 +
.../webapp/css/themes/bootstrap/calendar.css | 202 +
.../webapp/css/themes/bootstrap/combo.css | 35 +
.../webapp/css/themes/bootstrap/combobox.css | 39 +
.../webapp/css/themes/bootstrap/datagrid.css | 288 +
.../webapp/css/themes/bootstrap/datalist.css | 95 +
.../webapp/css/themes/bootstrap/datebox.css | 36 +
.../webapp/css/themes/bootstrap/dialog.css | 47 +
.../webapp/css/themes/bootstrap/easyui.css | 3239 ++++
.../webapp/css/themes/bootstrap/filebox.css | 20 +
.../bootstrap/images/accordion_arrows.png | Bin 0 -> 184 bytes
.../css/themes/bootstrap/images/blank.gif | Bin 0 -> 43 bytes
.../bootstrap/images/calendar_arrows.png | Bin 0 -> 173 bytes
.../themes/bootstrap/images/combo_arrow.png | Bin 0 -> 117 bytes
.../bootstrap/images/datagrid_icons.png | Bin 0 -> 307 bytes
.../themes/bootstrap/images/datebox_arrow.png | Bin 0 -> 626 bytes
.../themes/bootstrap/images/layout_arrows.png | Bin 0 -> 319 bytes
.../themes/bootstrap/images/linkbutton_bg.png | Bin 0 -> 1274 bytes
.../css/themes/bootstrap/images/loading.gif | Bin 0 -> 1737 bytes
.../themes/bootstrap/images/menu_arrows.png | Bin 0 -> 160 bytes
.../bootstrap/images/messager_icons.png | Bin 0 -> 6116 bytes
.../bootstrap/images/pagination_icons.png | Bin 0 -> 628 bytes
.../themes/bootstrap/images/panel_tools.png | Bin 0 -> 194 bytes
.../bootstrap/images/passwordbox_close.png | Bin 0 -> 159 bytes
.../bootstrap/images/passwordbox_open.png | Bin 0 -> 165 bytes
.../bootstrap/images/searchbox_button.png | Bin 0 -> 813 bytes
.../themes/bootstrap/images/slider_handle.png | Bin 0 -> 863 bytes
.../bootstrap/images/spinner_arrows.png | Bin 0 -> 149 bytes
.../themes/bootstrap/images/tabs_icons.png | Bin 0 -> 150 bytes
.../themes/bootstrap/images/tagbox_icons.png | Bin 0 -> 134 bytes
.../themes/bootstrap/images/tree_icons.png | Bin 0 -> 3115 bytes
.../bootstrap/images/validatebox_warning.png | Bin 0 -> 921 bytes
.../webapp/css/themes/bootstrap/layout.css | 150 +
.../css/themes/bootstrap/linkbutton.css | 203 +
src/main/webapp/css/themes/bootstrap/menu.css | 119 +
.../css/themes/bootstrap/menubutton.css | 94 +
.../webapp/css/themes/bootstrap/messager.css | 44 +
.../webapp/css/themes/bootstrap/numberbox.css | 0
.../css/themes/bootstrap/pagination.css | 71 +
.../webapp/css/themes/bootstrap/panel.css | 265 +
.../css/themes/bootstrap/passwordbox.css | 6 +
.../css/themes/bootstrap/progressbar.css | 32 +
.../css/themes/bootstrap/propertygrid.css | 28 +
.../webapp/css/themes/bootstrap/searchbox.css | 61 +
.../webapp/css/themes/bootstrap/slider.css | 101 +
.../webapp/css/themes/bootstrap/spinner.css | 58 +
.../css/themes/bootstrap/splitbutton.css | 12 +
.../css/themes/bootstrap/switchbutton.css | 77 +
src/main/webapp/css/themes/bootstrap/tabs.css | 413 +
.../webapp/css/themes/bootstrap/tagbox.css | 44 +
.../webapp/css/themes/bootstrap/textbox.css | 139 +
.../webapp/css/themes/bootstrap/tooltip.css | 103 +
src/main/webapp/css/themes/bootstrap/tree.css | 161 +
.../css/themes/bootstrap/validatebox.css | 5 +
.../webapp/css/themes/bootstrap/window.css | 183 +
src/main/webapp/css/themes/color.css | 210 +
.../webapp/css/themes/default/accordion.css | 89 +
.../webapp/css/themes/default/calendar.css | 202 +
src/main/webapp/css/themes/default/combo.css | 35 +
.../webapp/css/themes/default/combobox.css | 39 +
.../webapp/css/themes/default/datagrid.css | 288 +
.../webapp/css/themes/default/datalist.css | 95 +
.../webapp/css/themes/default/datebox.css | 36 +
src/main/webapp/css/themes/default/dialog.css | 47 +
src/main/webapp/css/themes/default/easyui.css | 3220 ++++
.../webapp/css/themes/default/filebox.css | 20 +
.../default/images/accordion_arrows.png | Bin 0 -> 184 bytes
.../css/themes/default/images/blank.gif | Bin 0 -> 43 bytes
.../themes/default/images/calendar_arrows.png | Bin 0 -> 173 bytes
.../css/themes/default/images/combo_arrow.png | Bin 0 -> 117 bytes
.../themes/default/images/datagrid_icons.png | Bin 0 -> 307 bytes
.../themes/default/images/datebox_arrow.png | Bin 0 -> 626 bytes
.../themes/default/images/layout_arrows.png | Bin 0 -> 319 bytes
.../themes/default/images/linkbutton_bg.png | Bin 0 -> 1274 bytes
.../css/themes/default/images/loading.gif | Bin 0 -> 1737 bytes
.../css/themes/default/images/menu_arrows.png | Bin 0 -> 160 bytes
.../themes/default/images/messager_icons.png | Bin 0 -> 6116 bytes
.../default/images/pagination_icons.png | Bin 0 -> 628 bytes
.../css/themes/default/images/panel_tools.png | Bin 0 -> 852 bytes
.../default/images/passwordbox_close.png | Bin 0 -> 159 bytes
.../default/images/passwordbox_open.png | Bin 0 -> 165 bytes
.../default/images/searchbox_button.png | Bin 0 -> 813 bytes
.../themes/default/images/slider_handle.png | Bin 0 -> 863 bytes
.../themes/default/images/spinner_arrows.png | Bin 0 -> 149 bytes
.../css/themes/default/images/tabs_icons.png | Bin 0 -> 150 bytes
.../themes/default/images/tagbox_icons.png | Bin 0 -> 134 bytes
.../css/themes/default/images/tree_icons.png | Bin 0 -> 3115 bytes
.../default/images/validatebox_warning.png | Bin 0 -> 921 bytes
src/main/webapp/css/themes/default/layout.css | 150 +
.../webapp/css/themes/default/linkbutton.css | 203 +
src/main/webapp/css/themes/default/menu.css | 119 +
.../webapp/css/themes/default/menubutton.css | 94 +
.../webapp/css/themes/default/messager.css | 44 +
.../webapp/css/themes/default/numberbox.css | 0
.../webapp/css/themes/default/pagination.css | 71 +
src/main/webapp/css/themes/default/panel.css | 265 +
.../webapp/css/themes/default/passwordbox.css | 6 +
.../webapp/css/themes/default/progressbar.css | 32 +
.../css/themes/default/propertygrid.css | 28 +
.../webapp/css/themes/default/searchbox.css | 61 +
src/main/webapp/css/themes/default/slider.css | 101 +
.../webapp/css/themes/default/spinner.css | 58 +
.../webapp/css/themes/default/splitbutton.css | 12 +
.../css/themes/default/switchbutton.css | 77 +
src/main/webapp/css/themes/default/tabs.css | 413 +
src/main/webapp/css/themes/default/tagbox.css | 44 +
.../webapp/css/themes/default/textbox.css | 139 +
.../webapp/css/themes/default/tooltip.css | 103 +
src/main/webapp/css/themes/default/tree.css | 161 +
.../webapp/css/themes/default/validatebox.css | 5 +
src/main/webapp/css/themes/default/window.css | 183 +
src/main/webapp/css/themes/gray/accordion.css | 89 +
src/main/webapp/css/themes/gray/calendar.css | 202 +
src/main/webapp/css/themes/gray/combo.css | 35 +
src/main/webapp/css/themes/gray/combobox.css | 39 +
src/main/webapp/css/themes/gray/datagrid.css | 288 +
src/main/webapp/css/themes/gray/datalist.css | 95 +
src/main/webapp/css/themes/gray/datebox.css | 36 +
src/main/webapp/css/themes/gray/dialog.css | 47 +
src/main/webapp/css/themes/gray/easyui.css | 3220 ++++
src/main/webapp/css/themes/gray/filebox.css | 20 +
.../themes/gray/images/accordion_arrows.png | Bin 0 -> 125 bytes
.../webapp/css/themes/gray/images/blank.gif | Bin 0 -> 43 bytes
.../themes/gray/images/calendar_arrows.png | Bin 0 -> 173 bytes
.../css/themes/gray/images/combo_arrow.png | Bin 0 -> 103 bytes
.../css/themes/gray/images/datagrid_icons.png | Bin 0 -> 330 bytes
.../css/themes/gray/images/datebox_arrow.png | Bin 0 -> 626 bytes
.../css/themes/gray/images/layout_arrows.png | Bin 0 -> 181 bytes
.../css/themes/gray/images/linkbutton_bg.png | Bin 0 -> 1274 bytes
.../webapp/css/themes/gray/images/loading.gif | Bin 0 -> 1737 bytes
.../css/themes/gray/images/menu_arrows.png | Bin 0 -> 160 bytes
.../css/themes/gray/images/messager_icons.png | Bin 0 -> 6116 bytes
.../themes/gray/images/pagination_icons.png | Bin 0 -> 466 bytes
.../css/themes/gray/images/panel_tools.png | Bin 0 -> 191 bytes
.../themes/gray/images/passwordbox_close.png | Bin 0 -> 149 bytes
.../themes/gray/images/passwordbox_open.png | Bin 0 -> 160 bytes
.../themes/gray/images/searchbox_button.png | Bin 0 -> 813 bytes
.../css/themes/gray/images/slider_handle.png | Bin 0 -> 863 bytes
.../css/themes/gray/images/spinner_arrows.png | Bin 0 -> 149 bytes
.../css/themes/gray/images/tabs_icons.png | Bin 0 -> 144 bytes
.../css/themes/gray/images/tagbox_icons.png | Bin 0 -> 133 bytes
.../css/themes/gray/images/tree_icons.png | Bin 0 -> 3115 bytes
.../gray/images/validatebox_warning.png | Bin 0 -> 921 bytes
src/main/webapp/css/themes/gray/layout.css | 150 +
.../webapp/css/themes/gray/linkbutton.css | 203 +
src/main/webapp/css/themes/gray/menu.css | 119 +
.../webapp/css/themes/gray/menubutton.css | 94 +
src/main/webapp/css/themes/gray/messager.css | 44 +
src/main/webapp/css/themes/gray/numberbox.css | 0
.../webapp/css/themes/gray/pagination.css | 71 +
src/main/webapp/css/themes/gray/panel.css | 265 +
.../webapp/css/themes/gray/passwordbox.css | 6 +
.../webapp/css/themes/gray/progressbar.css | 32 +
.../webapp/css/themes/gray/propertygrid.css | 28 +
src/main/webapp/css/themes/gray/searchbox.css | 61 +
src/main/webapp/css/themes/gray/slider.css | 101 +
src/main/webapp/css/themes/gray/spinner.css | 58 +
.../webapp/css/themes/gray/splitbutton.css | 12 +
.../webapp/css/themes/gray/switchbutton.css | 77 +
src/main/webapp/css/themes/gray/tabs.css | 413 +
src/main/webapp/css/themes/gray/tagbox.css | 44 +
src/main/webapp/css/themes/gray/textbox.css | 139 +
src/main/webapp/css/themes/gray/tooltip.css | 103 +
src/main/webapp/css/themes/gray/tree.css | 161 +
.../webapp/css/themes/gray/validatebox.css | 5 +
src/main/webapp/css/themes/gray/window.css | 183 +
src/main/webapp/css/themes/icon.css | 96 +
src/main/webapp/css/themes/icons/back.png | Bin 0 -> 912 bytes
src/main/webapp/css/themes/icons/blank.gif | Bin 0 -> 43 bytes
src/main/webapp/css/themes/icons/cancel.png | Bin 0 -> 1133 bytes
src/main/webapp/css/themes/icons/clear.png | Bin 0 -> 779 bytes
src/main/webapp/css/themes/icons/cut.png | Bin 0 -> 1024 bytes
src/main/webapp/css/themes/icons/edit_add.png | Bin 0 -> 1088 bytes
.../webapp/css/themes/icons/edit_remove.png | Bin 0 -> 625 bytes
src/main/webapp/css/themes/icons/filesave.png | Bin 0 -> 898 bytes
src/main/webapp/css/themes/icons/filter.png | Bin 0 -> 305 bytes
src/main/webapp/css/themes/icons/help.png | Bin 0 -> 1187 bytes
.../webapp/css/themes/icons/large_chart.png | Bin 0 -> 1669 bytes
.../webapp/css/themes/icons/large_clipart.png | Bin 0 -> 1727 bytes
.../webapp/css/themes/icons/large_picture.png | Bin 0 -> 1667 bytes
.../webapp/css/themes/icons/large_shapes.png | Bin 0 -> 1318 bytes
.../css/themes/icons/large_smartart.png | Bin 0 -> 1336 bytes
src/main/webapp/css/themes/icons/lock.png | Bin 0 -> 311 bytes
src/main/webapp/css/themes/icons/man.png | Bin 0 -> 244 bytes
src/main/webapp/css/themes/icons/mini_add.png | Bin 0 -> 244 bytes
.../webapp/css/themes/icons/mini_edit.png | Bin 0 -> 161 bytes
.../webapp/css/themes/icons/mini_refresh.png | Bin 0 -> 160 bytes
src/main/webapp/css/themes/icons/more.png | Bin 0 -> 110 bytes
src/main/webapp/css/themes/icons/no.png | Bin 0 -> 922 bytes
src/main/webapp/css/themes/icons/ok.png | Bin 0 -> 883 bytes
src/main/webapp/css/themes/icons/pencil.png | Bin 0 -> 713 bytes
src/main/webapp/css/themes/icons/print.png | Bin 0 -> 1057 bytes
src/main/webapp/css/themes/icons/redo.png | Bin 0 -> 708 bytes
src/main/webapp/css/themes/icons/reload.png | Bin 0 -> 1045 bytes
src/main/webapp/css/themes/icons/search.png | Bin 0 -> 813 bytes
src/main/webapp/css/themes/icons/sum.png | Bin 0 -> 289 bytes
src/main/webapp/css/themes/icons/tip.png | Bin 0 -> 743 bytes
src/main/webapp/css/themes/icons/undo.png | Bin 0 -> 707 bytes
.../webapp/css/themes/material/accordion.css | 89 +
.../webapp/css/themes/material/calendar.css | 202 +
src/main/webapp/css/themes/material/combo.css | 35 +
.../webapp/css/themes/material/combobox.css | 39 +
.../webapp/css/themes/material/datagrid.css | 282 +
.../webapp/css/themes/material/datalist.css | 95 +
.../webapp/css/themes/material/datebox.css | 36 +
.../webapp/css/themes/material/dialog.css | 47 +
.../webapp/css/themes/material/easyui.css | 3229 ++++
.../webapp/css/themes/material/filebox.css | 20 +
.../css/themes/material/images/Thumbs.db | Bin 0 -> 35328 bytes
.../material/images/accordion_arrows.png | Bin 0 -> 125 bytes
.../css/themes/material/images/blank.gif | Bin 0 -> 43 bytes
.../material/images/calendar_arrows.png | Bin 0 -> 173 bytes
.../themes/material/images/combo_arrow.png | Bin 0 -> 103 bytes
.../themes/material/images/datagrid_icons.png | Bin 0 -> 330 bytes
.../themes/material/images/datebox_arrow.png | Bin 0 -> 626 bytes
.../themes/material/images/layout_arrows.png | Bin 0 -> 181 bytes
.../themes/material/images/linkbutton_bg.png | Bin 0 -> 1274 bytes
.../css/themes/material/images/loading.gif | Bin 0 -> 1737 bytes
.../themes/material/images/menu_arrows.png | Bin 0 -> 160 bytes
.../themes/material/images/messager_icons.png | Bin 0 -> 6116 bytes
.../material/images/pagination_icons.png | Bin 0 -> 466 bytes
.../themes/material/images/panel_tools.png | Bin 0 -> 191 bytes
.../material/images/passwordbox_close.png | Bin 0 -> 149 bytes
.../material/images/passwordbox_open.png | Bin 0 -> 160 bytes
.../material/images/searchbox_button.png | Bin 0 -> 813 bytes
.../themes/material/images/slider_handle.png | Bin 0 -> 863 bytes
.../themes/material/images/spinner_arrows.png | Bin 0 -> 149 bytes
.../css/themes/material/images/tabs_icons.png | Bin 0 -> 144 bytes
.../themes/material/images/tagbox_icons.png | Bin 0 -> 133 bytes
.../css/themes/material/images/tree_icons.png | Bin 0 -> 3115 bytes
.../material/images/validatebox_warning.png | Bin 0 -> 921 bytes
.../webapp/css/themes/material/layout.css | 150 +
.../webapp/css/themes/material/linkbutton.css | 191 +
src/main/webapp/css/themes/material/menu.css | 119 +
.../webapp/css/themes/material/menubutton.css | 94 +
.../webapp/css/themes/material/messager.css | 44 +
.../webapp/css/themes/material/numberbox.css | 0
.../webapp/css/themes/material/pagination.css | 71 +
src/main/webapp/css/themes/material/panel.css | 259 +
.../css/themes/material/passwordbox.css | 6 +
.../css/themes/material/progressbar.css | 32 +
.../css/themes/material/propertygrid.css | 28 +
.../webapp/css/themes/material/searchbox.css | 61 +
.../webapp/css/themes/material/slider.css | 101 +
.../webapp/css/themes/material/spinner.css | 58 +
.../css/themes/material/splitbutton.css | 12 +
.../css/themes/material/switchbutton.css | 77 +
src/main/webapp/css/themes/material/tabs.css | 377 +
.../webapp/css/themes/material/tagbox.css | 44 +
.../webapp/css/themes/material/textbox.css | 139 +
.../webapp/css/themes/material/tooltip.css | 103 +
src/main/webapp/css/themes/material/tree.css | 161 +
.../css/themes/material/validatebox.css | 5 +
.../webapp/css/themes/material/window.css | 177 +
.../webapp/css/themes/metro/accordion.css | 89 +
src/main/webapp/css/themes/metro/calendar.css | 202 +
src/main/webapp/css/themes/metro/combo.css | 35 +
src/main/webapp/css/themes/metro/combobox.css | 39 +
src/main/webapp/css/themes/metro/datagrid.css | 282 +
src/main/webapp/css/themes/metro/datalist.css | 95 +
src/main/webapp/css/themes/metro/datebox.css | 36 +
src/main/webapp/css/themes/metro/dialog.css | 47 +
src/main/webapp/css/themes/metro/easyui.css | 3166 +++
src/main/webapp/css/themes/metro/filebox.css | 20 +
.../themes/metro/images/accordion_arrows.png | Bin 0 -> 184 bytes
.../webapp/css/themes/metro/images/blank.gif | Bin 0 -> 43 bytes
.../themes/metro/images/calendar_arrows.png | Bin 0 -> 173 bytes
.../css/themes/metro/images/combo_arrow.png | Bin 0 -> 117 bytes
.../themes/metro/images/datagrid_icons.png | Bin 0 -> 307 bytes
.../css/themes/metro/images/datebox_arrow.png | Bin 0 -> 626 bytes
.../css/themes/metro/images/layout_arrows.png | Bin 0 -> 319 bytes
.../css/themes/metro/images/linkbutton_bg.png | Bin 0 -> 1274 bytes
.../css/themes/metro/images/loading.gif | Bin 0 -> 1737 bytes
.../css/themes/metro/images/menu_arrows.png | Bin 0 -> 160 bytes
.../themes/metro/images/messager_icons.png | Bin 0 -> 6116 bytes
.../themes/metro/images/pagination_icons.png | Bin 0 -> 628 bytes
.../css/themes/metro/images/panel_tools.png | Bin 0 -> 194 bytes
.../themes/metro/images/passwordbox_close.png | Bin 0 -> 159 bytes
.../themes/metro/images/passwordbox_open.png | Bin 0 -> 165 bytes
.../themes/metro/images/searchbox_button.png | Bin 0 -> 813 bytes
.../css/themes/metro/images/slider_handle.png | Bin 0 -> 863 bytes
.../themes/metro/images/spinner_arrows.png | Bin 0 -> 149 bytes
.../css/themes/metro/images/tabs_icons.png | Bin 0 -> 150 bytes
.../css/themes/metro/images/tagbox_icons.png | Bin 0 -> 134 bytes
.../css/themes/metro/images/tree_icons.png | Bin 0 -> 3115 bytes
.../metro/images/validatebox_warning.png | Bin 0 -> 921 bytes
src/main/webapp/css/themes/metro/layout.css | 150 +
.../webapp/css/themes/metro/linkbutton.css | 203 +
src/main/webapp/css/themes/metro/menu.css | 119 +
.../webapp/css/themes/metro/menubutton.css | 94 +
src/main/webapp/css/themes/metro/messager.css | 44 +
.../webapp/css/themes/metro/numberbox.css | 0
.../webapp/css/themes/metro/pagination.css | 71 +
src/main/webapp/css/themes/metro/panel.css | 259 +
.../webapp/css/themes/metro/passwordbox.css | 6 +
.../webapp/css/themes/metro/progressbar.css | 32 +
.../webapp/css/themes/metro/propertygrid.css | 28 +
.../webapp/css/themes/metro/searchbox.css | 61 +
src/main/webapp/css/themes/metro/slider.css | 101 +
src/main/webapp/css/themes/metro/spinner.css | 58 +
.../webapp/css/themes/metro/splitbutton.css | 12 +
.../webapp/css/themes/metro/switchbutton.css | 77 +
src/main/webapp/css/themes/metro/tabs.css | 377 +
src/main/webapp/css/themes/metro/tagbox.css | 44 +
src/main/webapp/css/themes/metro/textbox.css | 139 +
src/main/webapp/css/themes/metro/tooltip.css | 103 +
src/main/webapp/css/themes/metro/tree.css | 161 +
.../webapp/css/themes/metro/validatebox.css | 5 +
src/main/webapp/css/themes/metro/window.css | 177 +
src/main/webapp/css/themes/mobile.css | 380 +
src/main/webapp/favicon.ico | Bin 0 -> 4286 bytes
src/main/webapp/images/0.jpg | Bin 0 -> 140910 bytes
src/main/webapp/images/00.jpg | Bin 0 -> 142919 bytes
src/main/webapp/images/000.jpg | Bin 0 -> 136252 bytes
src/main/webapp/images/1.png | Bin 0 -> 775805 bytes
src/main/webapp/images/2.png | Bin 0 -> 8789 bytes
src/main/webapp/images/4.png | Bin 0 -> 60440 bytes
src/main/webapp/images/Login.jpg | Bin 0 -> 406901 bytes
src/main/webapp/images/Login1.jpg | Bin 0 -> 328016 bytes
src/main/webapp/images/Login11.jpg | Bin 0 -> 298796 bytes
src/main/webapp/images/Login12.jpg | Bin 0 -> 380928 bytes
src/main/webapp/images/Login2.jpg | Bin 0 -> 419919 bytes
src/main/webapp/images/activeCheck.png | Bin 0 -> 1273 bytes
src/main/webapp/images/add.png | Bin 0 -> 14613 bytes
src/main/webapp/images/bb1.jpg | Bin 0 -> 70740 bytes
src/main/webapp/images/bg1.jpg | Bin 0 -> 262905 bytes
src/main/webapp/images/bg2.jpg | Bin 0 -> 337955 bytes
src/main/webapp/images/bgGround.jpg | Bin 0 -> 490809 bytes
src/main/webapp/images/bgGround3.jpg | Bin 0 -> 456992 bytes
src/main/webapp/images/carlogo.png | Bin 0 -> 112191 bytes
src/main/webapp/images/clear.png | Bin 0 -> 272 bytes
src/main/webapp/images/close.png | Bin 0 -> 531 bytes
src/main/webapp/images/favicon.png | Bin 0 -> 1563 bytes
src/main/webapp/images/jblogo.png | Bin 0 -> 11358 bytes
src/main/webapp/images/loginBg.jpg | Bin 0 -> 333399 bytes
src/main/webapp/images/loginBg2.jpg | Bin 0 -> 406901 bytes
src/main/webapp/images/mainbk.png | Bin 0 -> 261 bytes
src/main/webapp/images/menuArrow.png | Bin 0 -> 14667 bytes
src/main/webapp/images/menuArrowActive.png | Bin 0 -> 14653 bytes
src/main/webapp/images/powerIcon.png | Bin 0 -> 294 bytes
src/main/webapp/images/replaceMoney.png | Bin 0 -> 4076 bytes
src/main/webapp/images/replaceWalkCar.png | Bin 0 -> 2507 bytes
src/main/webapp/images/roadRepair.png | Bin 0 -> 3416 bytes
src/main/webapp/images/save.png | Bin 0 -> 1257 bytes
src/main/webapp/images/search.png | Bin 0 -> 292 bytes
src/main/webapp/images/sendWater.png | Bin 0 -> 3599 bytes
src/main/webapp/images/sign.png | Bin 0 -> 1278 bytes
src/main/webapp/images/timg.jpg | Bin 0 -> 25206 bytes
src/main/webapp/images/topLogo.png | Bin 0 -> 6274 bytes
src/main/webapp/images/top_bg.png | Bin 0 -> 16521 bytes
src/main/webapp/images/top_bg2.png | Bin 0 -> 17878 bytes
src/main/webapp/images/topbgnew.png | Bin 0 -> 16457 bytes
src/main/webapp/img/500.jpg | Bin 0 -> 115965 bytes
src/main/webapp/index.jsp | 27 +
.../webapp/js/DatePicker/My97DatePicker.htm | 49 +
src/main/webapp/js/DatePicker/WdatePicker.js | 39 +
src/main/webapp/js/DatePicker/calendar.js | 5 +
src/main/webapp/js/DatePicker/config.js | 12 +
src/main/webapp/js/DatePicker/lang/en.js | 14 +
src/main/webapp/js/DatePicker/lang/zh-cn.js | 14 +
src/main/webapp/js/DatePicker/lang/zh-tw.js | 14 +
.../webapp/js/DatePicker/skin/WdatePicker.css | 15 +
src/main/webapp/js/DatePicker/skin/date.png | Bin 0 -> 1573 bytes
.../webapp/js/DatePicker/skin/datePicker.gif | Bin 0 -> 1043 bytes
.../js/DatePicker/skin/default/datepicker.css | 246 +
.../webapp/js/DatePicker/skin/default/img.gif | Bin 0 -> 1578 bytes
.../webapp/js/DatePicker/skin/whyGreen/bg.jpg | Bin 0 -> 307 bytes
.../DatePicker/skin/whyGreen/datepicker.css | 256 +
.../js/DatePicker/skin/whyGreen/img.gif | Bin 0 -> 1679 bytes
src/main/webapp/js/business/balance.js | 462 +
src/main/webapp/js/business/caseEnter.js | 257 +
src/main/webapp/js/business/cases.js | 294 +
src/main/webapp/js/business/coupon.js | 467 +
src/main/webapp/js/business/coupon_query.js | 203 +
src/main/webapp/js/business/enterprise.js | 175 +
src/main/webapp/js/business/orderCheck.js | 300 +
src/main/webapp/js/business/orderCheckAll.js | 245 +
src/main/webapp/js/business/orderCheckHIs.js | 247 +
src/main/webapp/js/business/recharge_query.js | 153 +
src/main/webapp/js/business/role.js | 307 +
src/main/webapp/js/business/sue.js | 357 +
src/main/webapp/js/business/supplier.js | 698 +
src/main/webapp/js/business/user.js | 337 +
src/main/webapp/js/clear.js | 73 +
src/main/webapp/js/common.js | 722 +
src/main/webapp/js/easyloader.js | 190 +
src/main/webapp/js/jquery.easyui.min.js | 16078 ++++++++++++++++
src/main/webapp/js/jquery.easyui.mobile.js | 141 +
src/main/webapp/js/jquery.jqprint-0.3.js | 74 +
src/main/webapp/js/jquery.min.js | 5 +
src/main/webapp/js/loading.js | 15 +
src/main/webapp/js/locale/easyui-lang-af.js | 44 +
src/main/webapp/js/locale/easyui-lang-am.js | 46 +
src/main/webapp/js/locale/easyui-lang-ar.js | 45 +
src/main/webapp/js/locale/easyui-lang-bg.js | 44 +
src/main/webapp/js/locale/easyui-lang-ca.js | 44 +
src/main/webapp/js/locale/easyui-lang-cs.js | 44 +
src/main/webapp/js/locale/easyui-lang-cz.js | 44 +
src/main/webapp/js/locale/easyui-lang-da.js | 44 +
src/main/webapp/js/locale/easyui-lang-de.js | 63 +
src/main/webapp/js/locale/easyui-lang-el.js | 45 +
src/main/webapp/js/locale/easyui-lang-en.js | 45 +
src/main/webapp/js/locale/easyui-lang-es.js | 45 +
src/main/webapp/js/locale/easyui-lang-fr.js | 44 +
src/main/webapp/js/locale/easyui-lang-it.js | 64 +
src/main/webapp/js/locale/easyui-lang-jp.js | 45 +
src/main/webapp/js/locale/easyui-lang-ko.js | 45 +
src/main/webapp/js/locale/easyui-lang-nl.js | 44 +
src/main/webapp/js/locale/easyui-lang-pl.js | 45 +
.../webapp/js/locale/easyui-lang-pt_BR.js | 45 +
src/main/webapp/js/locale/easyui-lang-ru.js | 46 +
.../webapp/js/locale/easyui-lang-sv_SE.js | 45 +
src/main/webapp/js/locale/easyui-lang-tr.js | 59 +
.../webapp/js/locale/easyui-lang-zh_CN.js | 66 +
.../webapp/js/locale/easyui-lang-zh_TW.js | 48 +
src/main/webapp/js/page.js | 123 +
.../webapp/js/plugins/jquery.accordion.js | 350 +
src/main/webapp/js/plugins/jquery.calendar.js | 403 +
src/main/webapp/js/plugins/jquery.combo.js | 386 +
src/main/webapp/js/plugins/jquery.combobox.js | 587 +
.../webapp/js/plugins/jquery.combogrid.js | 346 +
.../webapp/js/plugins/jquery.combotree.js | 237 +
.../webapp/js/plugins/jquery.combotreegrid.js | 270 +
src/main/webapp/js/plugins/jquery.datagrid.js | 2574 +++
src/main/webapp/js/plugins/jquery.datalist.js | 136 +
src/main/webapp/js/plugins/jquery.datebox.js | 212 +
.../webapp/js/plugins/jquery.datetimebox.js | 178 +
.../js/plugins/jquery.datetimespinner.js | 61 +
src/main/webapp/js/plugins/jquery.dialog.js | 136 +
.../webapp/js/plugins/jquery.draggable.js | 304 +
.../webapp/js/plugins/jquery.droppable.js | 62 +
src/main/webapp/js/plugins/jquery.filebox.js | 98 +
src/main/webapp/js/plugins/jquery.form.js | 410 +
src/main/webapp/js/plugins/jquery.layout.js | 518 +
.../webapp/js/plugins/jquery.linkbutton.js | 184 +
src/main/webapp/js/plugins/jquery.menu.js | 491 +
.../webapp/js/plugins/jquery.menubutton.js | 128 +
src/main/webapp/js/plugins/jquery.messager.js | 187 +
src/main/webapp/js/plugins/jquery.mobile.js | 141 +
.../webapp/js/plugins/jquery.numberbox.js | 178 +
.../webapp/js/plugins/jquery.numberspinner.js | 58 +
.../webapp/js/plugins/jquery.pagination.js | 296 +
src/main/webapp/js/plugins/jquery.panel.js | 674 +
src/main/webapp/js/plugins/jquery.parser.js | 386 +
.../webapp/js/plugins/jquery.passwordbox.js | 156 +
.../webapp/js/plugins/jquery.progressbar.js | 84 +
.../webapp/js/plugins/jquery.propertygrid.js | 330 +
.../webapp/js/plugins/jquery.resizable.js | 170 +
.../webapp/js/plugins/jquery.searchbox.js | 132 +
src/main/webapp/js/plugins/jquery.slider.js | 339 +
src/main/webapp/js/plugins/jquery.spinner.js | 129 +
.../webapp/js/plugins/jquery.splitbutton.js | 49 +
.../webapp/js/plugins/jquery.switchbutton.js | 193 +
src/main/webapp/js/plugins/jquery.tabs.js | 708 +
src/main/webapp/js/plugins/jquery.tagbox.js | 218 +
src/main/webapp/js/plugins/jquery.textbox.js | 559 +
.../webapp/js/plugins/jquery.timespinner.js | 149 +
src/main/webapp/js/plugins/jquery.tooltip.js | 234 +
src/main/webapp/js/plugins/jquery.tree.js | 1247 ++
src/main/webapp/js/plugins/jquery.treegrid.js | 1350 ++
.../webapp/js/plugins/jquery.validatebox.js | 310 +
src/main/webapp/js/plugins/jquery.window.js | 311 +
src/main/webapp/login.jsp | 276 +
src/main/webapp/page/amap/amap.jsp | 409 +
src/main/webapp/page/amap/cityList.jsp | 33 +
src/main/webapp/page/amap/citylist.js | 151 +
src/main/webapp/page/amap/css/common.css | 626 +
.../page/amap/css/jquery.autocomplete.css | 48 +
src/main/webapp/page/amap/css/placeSearch.css | 88 +
.../page/amap/js/cityDialog/citySearch.js | 146 +
.../webapp/page/amap/js/cityDialog/city_u.js | Bin 0 -> 42162 bytes
.../page/amap/js/cityDialog/citylist.js | 151 +
.../page/amap/js/jquery.autocomplete.js | 893 +
src/main/webapp/page/amap/js/layer/layer.js | 2 +
src/main/webapp/page/balance.jsp | 262 +
src/main/webapp/page/caseDetail.jsp | 709 +
src/main/webapp/page/caseInfo.jsp | 306 +
src/main/webapp/page/caseInfoEnter.jsp | 248 +
src/main/webapp/page/common.jsp | 11 +
src/main/webapp/page/coupon_consume.jsp | 240 +
.../webapp/page/coupon_consume_history.jsp | 175 +
src/main/webapp/page/coupon_consume_query.jsp | 360 +
.../webapp/page/coupon_recharge_query.jsp | 145 +
src/main/webapp/page/enterprise.jsp | 464 +
src/main/webapp/page/footer.jsp | 306 +
src/main/webapp/page/header.jsp | 110 +
src/main/webapp/page/home.jsp | 196 +
src/main/webapp/page/home1.jsp | 10 +
src/main/webapp/page/modifyPassword.jsp | 180 +
src/main/webapp/page/orderCheck.jsp | 346 +
src/main/webapp/page/orderCheckAll.jsp | 363 +
src/main/webapp/page/orderCheckHis.jsp | 244 +
src/main/webapp/page/role.jsp | 203 +
src/main/webapp/page/sue.jsp | 321 +
src/main/webapp/page/supplier.jsp | 548 +
src/main/webapp/page/topMenu.jsp | 26 +
src/main/webapp/page/user.jsp | 390 +
src/main/webapp/page/validate.jsp | 78 +
src/test/java/Test.java | 9 +
834 files changed, 117477 insertions(+)
create mode 100644 .classpath
create mode 100644 .gitignore
create mode 100644 .idea/.name
create mode 100644 .idea/artifacts/jlr_war.xml
create mode 100644 .idea/artifacts/jlr_war_exploded.xml
create mode 100644 .idea/compiler.xml
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/libraries/Maven__antlr_antlr_2_7_7.xml
create mode 100644 .idea/libraries/Maven__aopalliance_aopalliance_1_0.xml
create mode 100644 .idea/libraries/Maven__asm_asm_3_1.xml
create mode 100644 .idea/libraries/Maven__cglib_cglib_2_2.xml
create mode 100644 .idea/libraries/Maven__cglib_cglib_nodep_2_2_2.xml
create mode 100644 .idea/libraries/Maven__com_alibaba_druid_1_0_15.xml
create mode 100644 .idea/libraries/Maven__com_alibaba_fastjson_1_1_39.xml
create mode 100644 .idea/libraries/Maven__com_caucho_hessian_4_0_33.xml
create mode 100644 .idea/libraries/Maven__com_github_virtuald_curvesapi_1_03.xml
create mode 100644 .idea/libraries/Maven__com_google_guava_guava_17_0.xml
create mode 100644 .idea/libraries/Maven__com_oracle_ojdbc6_11_2_0_3.xml
create mode 100644 .idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_0.xml
create mode 100644 .idea/libraries/Maven__commons_codec_commons_codec_1_10.xml
create mode 100644 .idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml
create mode 100644 .idea/libraries/Maven__commons_fileupload_commons_fileupload_1_2_2.xml
create mode 100644 .idea/libraries/Maven__commons_httpclient_commons_httpclient_3_0.xml
create mode 100644 .idea/libraries/Maven__commons_io_commons_io_1_3_2.xml
create mode 100644 .idea/libraries/Maven__commons_lang_commons_lang_2_5.xml
create mode 100644 .idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml
create mode 100644 .idea/libraries/Maven__dom4j_dom4j_1_6_1.xml
create mode 100644 .idea/libraries/Maven__javax_faces_jsf_api_1_2_04.xml
create mode 100644 .idea/libraries/Maven__javax_faces_jsf_impl_1_2_04.xml
create mode 100644 .idea/libraries/Maven__javax_servlet_javax_servlet_api_3_0_1.xml
create mode 100644 .idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_1.xml
create mode 100644 .idea/libraries/Maven__javax_servlet_jstl_1_2.xml
create mode 100644 .idea/libraries/Maven__javax_transaction_jta_1_1.xml
create mode 100644 .idea/libraries/Maven__jstl_jstl_1_2.xml
create mode 100644 .idea/libraries/Maven__junit_junit_4_11.xml
create mode 100644 .idea/libraries/Maven__mysql_mysql_connector_java_5_1_21.xml
create mode 100644 .idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_4_7.xml
create mode 100644 .idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml
create mode 100644 .idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml
create mode 100644 .idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml
create mode 100644 .idea/libraries/Maven__org_apache_ant_ant_1_8_2.xml
create mode 100644 .idea/libraries/Maven__org_apache_ant_ant_launcher_1_8_2.xml
create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml
create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_6.xml
create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_3.xml
create mode 100644 .idea/libraries/Maven__org_apache_openejb_javaee_api_5_0_1.xml
create mode 100644 .idea/libraries/Maven__org_apache_poi_poi_3_14.xml
create mode 100644 .idea/libraries/Maven__org_apache_poi_poi_ooxml_3_14.xml
create mode 100644 .idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_14.xml
create mode 100644 .idea/libraries/Maven__org_apache_poi_poi_scratchpad_3_14.xml
create mode 100644 .idea/libraries/Maven__org_apache_servicemix_bundles_org_apache_servicemix_bundles_xerces_2_11_0_1.xml
create mode 100644 .idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml
create mode 100644 .idea/libraries/Maven__org_aspectj_aspectjrt_1_6_9.xml
create mode 100644 .idea/libraries/Maven__org_aspectj_aspectjweaver_1_6_9.xml
create mode 100644 .idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_7.xml
create mode 100644 .idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_7.xml
create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
create mode 100644 .idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_1_Final.xml
create mode 100644 .idea/libraries/Maven__org_hibernate_hibernate_core_4_1_6_Final.xml
create mode 100644 .idea/libraries/Maven__org_hibernate_hibernate_entitymanager_4_1_6_Final.xml
create mode 100644 .idea/libraries/Maven__org_hibernate_hibernate_envers_4_1_6_Final.xml
create mode 100644 .idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_0_api_1_0_1_Final.xml
create mode 100644 .idea/libraries/Maven__org_javassist_javassist_3_15_0_GA.xml
create mode 100644 .idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_0_GA.xml
create mode 100644 .idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_1_spec_1_0_0_Final.xml
create mode 100644 .idea/libraries/Maven__org_jodd_jodd_3_3_8.xml
create mode 100644 .idea/libraries/Maven__org_json_json_20160810.xml
create mode 100644 .idea/libraries/Maven__org_quartz_scheduler_quartz_1_8_4.xml
create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_api_1_7_0.xml
create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_0.xml
create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_acl_3_1_1_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_config_3_1_1_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_core_3_1_1_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_core_tiger_2_0_7_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_taglibs_3_1_1_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_web_3_1_1_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_aop_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_beans_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_context_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_context_support_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_core_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_expression_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_jdbc_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_orm_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_tx_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_web_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_webmvc_3_2_5_RELEASE.xml
create mode 100644 .idea/libraries/Maven__sax_sax_2_0_1.xml
create mode 100644 .idea/libraries/Maven__stax_stax_api_1_0_1.xml
create mode 100644 .idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/uiDesigner.xml
create mode 100644 .idea/workspace.xml
create mode 100644 .project
create mode 100644 .settings/.jsdtscope
create mode 100644 .settings/org.eclipse.core.resources.prefs
create mode 100644 .settings/org.eclipse.jdt.core.prefs
create mode 100644 .settings/org.eclipse.m2e.core.prefs
create mode 100644 .settings/org.eclipse.wst.common.component
create mode 100644 .settings/org.eclipse.wst.common.project.facet.core.xml
create mode 100644 .settings/org.eclipse.wst.jsdt.ui.superType.container
create mode 100644 .settings/org.eclipse.wst.jsdt.ui.superType.name
create mode 100644 .settings/org.eclipse.wst.validation.prefs
create mode 100644 jlr.iml
create mode 100644 pom.xml
create mode 100644 src/main/java/com/dubh/common/dao/Dao.java
create mode 100644 src/main/java/com/dubh/common/dao/hibernate/BaseDaoHibernate.java
create mode 100644 src/main/java/com/dubh/common/dto/BaseDto.java
create mode 100644 src/main/java/com/dubh/common/file/Downfile.java
create mode 100644 src/main/java/com/dubh/common/file/UploadFile.java
create mode 100644 src/main/java/com/dubh/sysconfig/EacheConfig.java
create mode 100644 src/main/java/com/dubh/sysconfig/ehcache.xml
create mode 100644 src/main/java/com/dubh/sysconfig/group.properties
create mode 100644 src/main/java/com/dubh/syslog/annotation/SystemControllerAfterLog.java
create mode 100644 src/main/java/com/dubh/syslog/annotation/SystemControllerBeforeLog.java
create mode 100644 src/main/java/com/dubh/syslog/annotation/SystemLogAspect.java
create mode 100644 src/main/java/com/dubh/syslog/annotation/SystemServiceLog.java
create mode 100644 src/main/java/com/hessian/HessianService.java
create mode 100644 src/main/java/com/ljh/excel/annotation/ColumnAnnotation.java
create mode 100644 src/main/java/com/ljh/excel/bean/BaseBean.java
create mode 100644 src/main/java/com/ljh/excel/bean/factory/ExcelFactory.java
create mode 100644 src/main/java/com/ljh/excel/parser/BaseParser.java
create mode 100644 src/main/java/com/ljh/excel/parser/BeanOperation.java
create mode 100644 src/main/java/com/ljh/excel/parser/FromHowTo.java
create mode 100644 src/main/java/com/ljh/excel/parser/Parser.java
create mode 100644 src/main/java/com/ljh/excel/test/MySqlTest.java
create mode 100644 src/main/java/com/ljh/excel/test/User.java
create mode 100644 src/main/java/com/quartz/UnlockOrder.java
create mode 100644 src/main/java/com/quartz/queryservlet.java
create mode 100644 src/main/java/com/util/AutoDtoFile.java
create mode 100644 src/main/java/com/util/BaiDuDistanceKm.java
create mode 100644 src/main/java/com/util/BaiduLatitudeUtils.java
create mode 100644 src/main/java/com/util/BuilderExcel.java
create mode 100644 src/main/java/com/util/Check.java
create mode 100644 src/main/java/com/util/ComTreeInfo.java
create mode 100644 src/main/java/com/util/Configmessage.java
create mode 100644 src/main/java/com/util/Distance.java
create mode 100644 src/main/java/com/util/Escape.java
create mode 100644 src/main/java/com/util/NetUtil.java
create mode 100644 src/main/java/com/util/NewFieldUtileTools.java
create mode 100644 src/main/java/com/util/OfficeUtil.java
create mode 100644 src/main/java/com/util/OutCall.java
create mode 100644 src/main/java/com/util/PinYin2Abbreviation.java
create mode 100644 src/main/java/com/util/ReadExcel.java
create mode 100644 src/main/java/com/util/ReadExcel2003.java
create mode 100644 src/main/java/com/util/ReadExcel2007.java
create mode 100644 src/main/java/com/util/RequestMessage.java
create mode 100644 src/main/java/com/util/RequestUtil.java
create mode 100644 src/main/java/com/util/SendMessage.java
create mode 100644 src/main/java/com/util/SetJsonObject.java
create mode 100644 src/main/java/com/util/SpringUtil.java
create mode 100644 src/main/java/com/util/Student.java
create mode 100644 src/main/java/com/util/SystemTool.java
create mode 100644 src/main/java/com/util/UniqId.java
create mode 100644 src/main/java/com/util/UtilTools.java
create mode 100644 src/main/java/com/util/Vo.java
create mode 100644 src/main/java/com/util/ZipUtil.java
create mode 100644 src/main/java/com/util/yzcode/BuilderCode.java
create mode 100644 src/main/java/com/zhongdao/jlr/BaiduTest.java
create mode 100644 src/main/java/com/zhongdao/jlr/Test.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/action/BaseAction.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/action/CasesAction.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/action/CouponAction.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/action/EnterpriseAction.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/action/OrderCheckAction.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/action/RoleAction.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/action/SupplierAction.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/action/UserAction.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/BaseDao.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/CaseDao.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/CouponDao.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/EnterpriseDao.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/OrderCheckDao.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/RoleDao.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/SupplierDao.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/UserInfoDao.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/impl/BaseDaoImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/impl/CaseDaoImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/impl/CouponDaoImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/impl/EnterpriseDaoImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/impl/OrderCheckDaoImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/impl/RoleDaoImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/impl/SupplierDaoImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/dao/impl/UserInfoDaoImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/interceptor/UserInterceptor.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/listener/AutoRunServlet.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/listener/StartupListener.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/BaseService.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/CasesListService.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/CouponService.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/EnterpriseService.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/OrderCheckService.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/RoleService.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/SupplierService.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/UserInfoService.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/impl/BaseServiceImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/impl/CasesListServiceImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/impl/CouponServiceImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/impl/EnterpriseServiceImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/impl/OrderCheckServiceImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/impl/RoleServiceImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/impl/SupplierServiceImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/service/impl/UserInfoServiceImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/servlet/ReceiveCustomerInfoServlet.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/ConsumeQueryExcelVO.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/Contract.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/CouponConsumeJlr.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/CouponJlrVO.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/CouponRechargeJlr.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/Destination.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/Enterprise.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/EnterpriseExcelVO.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/JLRMenu.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/JLRRMenu.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/LoginUserVo.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/OrderCheckExcelVO.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/PageInfo.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/RechangeQueryExcelVO.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/UserOrderCSVVO.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/UserOrderExcelVO.java
create mode 100644 src/main/java/com/zhongdao/jlr/business/vo/UserOrderViewVO.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/ResponseInfo.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/TextConfig.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/dao/CustomerDao.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/dao/impl/CustomerDaoImpl.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/interceptor/UserInterceptor.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/service/CustomerService.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/web/CustomerController.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/web/vo/ClaimsOrderVo.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/web/vo/InsuranceContext.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/xss/XssFilter.java
create mode 100644 src/main/java/com/zhongdao/jlr/customer/xss/XssHttpServletRequestWrapper.java
create mode 100644 src/main/java/com/zhongdao/jlr/enums/Week.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/BaseMenu.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/BaseRole.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/BaseRoleAuthority.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/BaseUser.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/BaseUserRole.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/CouponConsumeJlrPO.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/CouponRechargeJlrPO.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/EnterpriseJlr.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/JLRAuthority.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/JLRCoupon.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/JLRDestination.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/JLRRole.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/JLRSupplier.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/JLRUser.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/JLRUserContract.java
create mode 100644 src/main/java/com/zhongdao/jlr/pojo/JLRepqr.java
create mode 100644 src/main/java/com/zhongdao/jlr/util/DateUtil.java
create mode 100644 src/main/java/com/zhongdao/jlr/util/ExportCSVUtil.java
create mode 100644 src/main/java/com/zhongdao/jlr/util/GeoAddressCenter.java
create mode 100644 src/main/java/com/zhongdao/jlr/util/HttpClientDownload.java
create mode 100644 src/main/java/com/zhongdao/jlr/util/MD5.java
create mode 100644 src/main/java/com/zhongdao/jlr/util/MTextUtils.java
create mode 100644 src/main/java/com/zhongdao/jlr/util/XJson.java
create mode 100644 src/main/resources/application/applicationContext-hibernate.xml
create mode 100644 src/main/resources/business/applicationContext-customer.xml
create mode 100644 src/main/resources/business/applicationContext-zengwp.xml
create mode 100644 src/main/resources/eache/applicationContext-eache.xml
create mode 100644 src/main/resources/files/Conditions.xlsx
create mode 100644 src/main/resources/files/Outcomes.xlsx
create mode 100644 src/main/webapp/404.html
create mode 100644 src/main/webapp/500.html
create mode 100644 src/main/webapp/META-INF/MANIFEST.MF
create mode 100644 src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml
create mode 100644 src/main/webapp/WEB-INF/web.xml
create mode 100644 src/main/webapp/css/addDialog.css
create mode 100644 src/main/webapp/css/demo.css
create mode 100644 src/main/webapp/css/dialog.css
create mode 100644 src/main/webapp/css/home.css
create mode 100644 src/main/webapp/css/index.css
create mode 100644 src/main/webapp/css/list.css
create mode 100644 src/main/webapp/css/login.css
create mode 100644 src/main/webapp/css/mc.css
create mode 100644 src/main/webapp/css/page.css
create mode 100644 src/main/webapp/css/printOut.css
create mode 100644 src/main/webapp/css/search.css
create mode 100644 src/main/webapp/css/style.css
create mode 100644 src/main/webapp/css/themes/black/accordion.css
create mode 100644 src/main/webapp/css/themes/black/calendar.css
create mode 100644 src/main/webapp/css/themes/black/combo.css
create mode 100644 src/main/webapp/css/themes/black/combobox.css
create mode 100644 src/main/webapp/css/themes/black/datagrid.css
create mode 100644 src/main/webapp/css/themes/black/datalist.css
create mode 100644 src/main/webapp/css/themes/black/datebox.css
create mode 100644 src/main/webapp/css/themes/black/dialog.css
create mode 100644 src/main/webapp/css/themes/black/easyui.css
create mode 100644 src/main/webapp/css/themes/black/filebox.css
create mode 100644 src/main/webapp/css/themes/black/images/accordion_arrows.png
create mode 100644 src/main/webapp/css/themes/black/images/blank.gif
create mode 100644 src/main/webapp/css/themes/black/images/calendar_arrows.png
create mode 100644 src/main/webapp/css/themes/black/images/combo_arrow.png
create mode 100644 src/main/webapp/css/themes/black/images/datagrid_icons.png
create mode 100644 src/main/webapp/css/themes/black/images/datebox_arrow.png
create mode 100644 src/main/webapp/css/themes/black/images/layout_arrows.png
create mode 100644 src/main/webapp/css/themes/black/images/linkbutton_bg.png
create mode 100644 src/main/webapp/css/themes/black/images/loading.gif
create mode 100644 src/main/webapp/css/themes/black/images/menu_arrows.png
create mode 100644 src/main/webapp/css/themes/black/images/messager_icons.png
create mode 100644 src/main/webapp/css/themes/black/images/pagination_icons.png
create mode 100644 src/main/webapp/css/themes/black/images/panel_tools.png
create mode 100644 src/main/webapp/css/themes/black/images/passwordbox_close.png
create mode 100644 src/main/webapp/css/themes/black/images/passwordbox_open.png
create mode 100644 src/main/webapp/css/themes/black/images/searchbox_button.png
create mode 100644 src/main/webapp/css/themes/black/images/slider_handle.png
create mode 100644 src/main/webapp/css/themes/black/images/spinner_arrows.png
create mode 100644 src/main/webapp/css/themes/black/images/tabs_icons.png
create mode 100644 src/main/webapp/css/themes/black/images/tagbox_icons.png
create mode 100644 src/main/webapp/css/themes/black/images/tree_icons.png
create mode 100644 src/main/webapp/css/themes/black/images/validatebox_warning.png
create mode 100644 src/main/webapp/css/themes/black/layout.css
create mode 100644 src/main/webapp/css/themes/black/linkbutton.css
create mode 100644 src/main/webapp/css/themes/black/menu.css
create mode 100644 src/main/webapp/css/themes/black/menubutton.css
create mode 100644 src/main/webapp/css/themes/black/messager.css
create mode 100644 src/main/webapp/css/themes/black/numberbox.css
create mode 100644 src/main/webapp/css/themes/black/pagination.css
create mode 100644 src/main/webapp/css/themes/black/panel.css
create mode 100644 src/main/webapp/css/themes/black/passwordbox.css
create mode 100644 src/main/webapp/css/themes/black/progressbar.css
create mode 100644 src/main/webapp/css/themes/black/propertygrid.css
create mode 100644 src/main/webapp/css/themes/black/searchbox.css
create mode 100644 src/main/webapp/css/themes/black/slider.css
create mode 100644 src/main/webapp/css/themes/black/spinner.css
create mode 100644 src/main/webapp/css/themes/black/splitbutton.css
create mode 100644 src/main/webapp/css/themes/black/switchbutton.css
create mode 100644 src/main/webapp/css/themes/black/tabs.css
create mode 100644 src/main/webapp/css/themes/black/tagbox.css
create mode 100644 src/main/webapp/css/themes/black/textbox.css
create mode 100644 src/main/webapp/css/themes/black/tooltip.css
create mode 100644 src/main/webapp/css/themes/black/tree.css
create mode 100644 src/main/webapp/css/themes/black/validatebox.css
create mode 100644 src/main/webapp/css/themes/black/window.css
create mode 100644 src/main/webapp/css/themes/bootstrap/accordion.css
create mode 100644 src/main/webapp/css/themes/bootstrap/calendar.css
create mode 100644 src/main/webapp/css/themes/bootstrap/combo.css
create mode 100644 src/main/webapp/css/themes/bootstrap/combobox.css
create mode 100644 src/main/webapp/css/themes/bootstrap/datagrid.css
create mode 100644 src/main/webapp/css/themes/bootstrap/datalist.css
create mode 100644 src/main/webapp/css/themes/bootstrap/datebox.css
create mode 100644 src/main/webapp/css/themes/bootstrap/dialog.css
create mode 100644 src/main/webapp/css/themes/bootstrap/easyui.css
create mode 100644 src/main/webapp/css/themes/bootstrap/filebox.css
create mode 100644 src/main/webapp/css/themes/bootstrap/images/accordion_arrows.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/blank.gif
create mode 100644 src/main/webapp/css/themes/bootstrap/images/calendar_arrows.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/combo_arrow.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/datagrid_icons.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/datebox_arrow.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/layout_arrows.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/linkbutton_bg.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/loading.gif
create mode 100644 src/main/webapp/css/themes/bootstrap/images/menu_arrows.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/messager_icons.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/pagination_icons.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/panel_tools.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/passwordbox_close.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/passwordbox_open.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/searchbox_button.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/slider_handle.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/spinner_arrows.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/tabs_icons.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/tagbox_icons.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/tree_icons.png
create mode 100644 src/main/webapp/css/themes/bootstrap/images/validatebox_warning.png
create mode 100644 src/main/webapp/css/themes/bootstrap/layout.css
create mode 100644 src/main/webapp/css/themes/bootstrap/linkbutton.css
create mode 100644 src/main/webapp/css/themes/bootstrap/menu.css
create mode 100644 src/main/webapp/css/themes/bootstrap/menubutton.css
create mode 100644 src/main/webapp/css/themes/bootstrap/messager.css
create mode 100644 src/main/webapp/css/themes/bootstrap/numberbox.css
create mode 100644 src/main/webapp/css/themes/bootstrap/pagination.css
create mode 100644 src/main/webapp/css/themes/bootstrap/panel.css
create mode 100644 src/main/webapp/css/themes/bootstrap/passwordbox.css
create mode 100644 src/main/webapp/css/themes/bootstrap/progressbar.css
create mode 100644 src/main/webapp/css/themes/bootstrap/propertygrid.css
create mode 100644 src/main/webapp/css/themes/bootstrap/searchbox.css
create mode 100644 src/main/webapp/css/themes/bootstrap/slider.css
create mode 100644 src/main/webapp/css/themes/bootstrap/spinner.css
create mode 100644 src/main/webapp/css/themes/bootstrap/splitbutton.css
create mode 100644 src/main/webapp/css/themes/bootstrap/switchbutton.css
create mode 100644 src/main/webapp/css/themes/bootstrap/tabs.css
create mode 100644 src/main/webapp/css/themes/bootstrap/tagbox.css
create mode 100644 src/main/webapp/css/themes/bootstrap/textbox.css
create mode 100644 src/main/webapp/css/themes/bootstrap/tooltip.css
create mode 100644 src/main/webapp/css/themes/bootstrap/tree.css
create mode 100644 src/main/webapp/css/themes/bootstrap/validatebox.css
create mode 100644 src/main/webapp/css/themes/bootstrap/window.css
create mode 100644 src/main/webapp/css/themes/color.css
create mode 100644 src/main/webapp/css/themes/default/accordion.css
create mode 100644 src/main/webapp/css/themes/default/calendar.css
create mode 100644 src/main/webapp/css/themes/default/combo.css
create mode 100644 src/main/webapp/css/themes/default/combobox.css
create mode 100644 src/main/webapp/css/themes/default/datagrid.css
create mode 100644 src/main/webapp/css/themes/default/datalist.css
create mode 100644 src/main/webapp/css/themes/default/datebox.css
create mode 100644 src/main/webapp/css/themes/default/dialog.css
create mode 100644 src/main/webapp/css/themes/default/easyui.css
create mode 100644 src/main/webapp/css/themes/default/filebox.css
create mode 100644 src/main/webapp/css/themes/default/images/accordion_arrows.png
create mode 100644 src/main/webapp/css/themes/default/images/blank.gif
create mode 100644 src/main/webapp/css/themes/default/images/calendar_arrows.png
create mode 100644 src/main/webapp/css/themes/default/images/combo_arrow.png
create mode 100644 src/main/webapp/css/themes/default/images/datagrid_icons.png
create mode 100644 src/main/webapp/css/themes/default/images/datebox_arrow.png
create mode 100644 src/main/webapp/css/themes/default/images/layout_arrows.png
create mode 100644 src/main/webapp/css/themes/default/images/linkbutton_bg.png
create mode 100644 src/main/webapp/css/themes/default/images/loading.gif
create mode 100644 src/main/webapp/css/themes/default/images/menu_arrows.png
create mode 100644 src/main/webapp/css/themes/default/images/messager_icons.png
create mode 100644 src/main/webapp/css/themes/default/images/pagination_icons.png
create mode 100644 src/main/webapp/css/themes/default/images/panel_tools.png
create mode 100644 src/main/webapp/css/themes/default/images/passwordbox_close.png
create mode 100644 src/main/webapp/css/themes/default/images/passwordbox_open.png
create mode 100644 src/main/webapp/css/themes/default/images/searchbox_button.png
create mode 100644 src/main/webapp/css/themes/default/images/slider_handle.png
create mode 100644 src/main/webapp/css/themes/default/images/spinner_arrows.png
create mode 100644 src/main/webapp/css/themes/default/images/tabs_icons.png
create mode 100644 src/main/webapp/css/themes/default/images/tagbox_icons.png
create mode 100644 src/main/webapp/css/themes/default/images/tree_icons.png
create mode 100644 src/main/webapp/css/themes/default/images/validatebox_warning.png
create mode 100644 src/main/webapp/css/themes/default/layout.css
create mode 100644 src/main/webapp/css/themes/default/linkbutton.css
create mode 100644 src/main/webapp/css/themes/default/menu.css
create mode 100644 src/main/webapp/css/themes/default/menubutton.css
create mode 100644 src/main/webapp/css/themes/default/messager.css
create mode 100644 src/main/webapp/css/themes/default/numberbox.css
create mode 100644 src/main/webapp/css/themes/default/pagination.css
create mode 100644 src/main/webapp/css/themes/default/panel.css
create mode 100644 src/main/webapp/css/themes/default/passwordbox.css
create mode 100644 src/main/webapp/css/themes/default/progressbar.css
create mode 100644 src/main/webapp/css/themes/default/propertygrid.css
create mode 100644 src/main/webapp/css/themes/default/searchbox.css
create mode 100644 src/main/webapp/css/themes/default/slider.css
create mode 100644 src/main/webapp/css/themes/default/spinner.css
create mode 100644 src/main/webapp/css/themes/default/splitbutton.css
create mode 100644 src/main/webapp/css/themes/default/switchbutton.css
create mode 100644 src/main/webapp/css/themes/default/tabs.css
create mode 100644 src/main/webapp/css/themes/default/tagbox.css
create mode 100644 src/main/webapp/css/themes/default/textbox.css
create mode 100644 src/main/webapp/css/themes/default/tooltip.css
create mode 100644 src/main/webapp/css/themes/default/tree.css
create mode 100644 src/main/webapp/css/themes/default/validatebox.css
create mode 100644 src/main/webapp/css/themes/default/window.css
create mode 100644 src/main/webapp/css/themes/gray/accordion.css
create mode 100644 src/main/webapp/css/themes/gray/calendar.css
create mode 100644 src/main/webapp/css/themes/gray/combo.css
create mode 100644 src/main/webapp/css/themes/gray/combobox.css
create mode 100644 src/main/webapp/css/themes/gray/datagrid.css
create mode 100644 src/main/webapp/css/themes/gray/datalist.css
create mode 100644 src/main/webapp/css/themes/gray/datebox.css
create mode 100644 src/main/webapp/css/themes/gray/dialog.css
create mode 100644 src/main/webapp/css/themes/gray/easyui.css
create mode 100644 src/main/webapp/css/themes/gray/filebox.css
create mode 100644 src/main/webapp/css/themes/gray/images/accordion_arrows.png
create mode 100644 src/main/webapp/css/themes/gray/images/blank.gif
create mode 100644 src/main/webapp/css/themes/gray/images/calendar_arrows.png
create mode 100644 src/main/webapp/css/themes/gray/images/combo_arrow.png
create mode 100644 src/main/webapp/css/themes/gray/images/datagrid_icons.png
create mode 100644 src/main/webapp/css/themes/gray/images/datebox_arrow.png
create mode 100644 src/main/webapp/css/themes/gray/images/layout_arrows.png
create mode 100644 src/main/webapp/css/themes/gray/images/linkbutton_bg.png
create mode 100644 src/main/webapp/css/themes/gray/images/loading.gif
create mode 100644 src/main/webapp/css/themes/gray/images/menu_arrows.png
create mode 100644 src/main/webapp/css/themes/gray/images/messager_icons.png
create mode 100644 src/main/webapp/css/themes/gray/images/pagination_icons.png
create mode 100644 src/main/webapp/css/themes/gray/images/panel_tools.png
create mode 100644 src/main/webapp/css/themes/gray/images/passwordbox_close.png
create mode 100644 src/main/webapp/css/themes/gray/images/passwordbox_open.png
create mode 100644 src/main/webapp/css/themes/gray/images/searchbox_button.png
create mode 100644 src/main/webapp/css/themes/gray/images/slider_handle.png
create mode 100644 src/main/webapp/css/themes/gray/images/spinner_arrows.png
create mode 100644 src/main/webapp/css/themes/gray/images/tabs_icons.png
create mode 100644 src/main/webapp/css/themes/gray/images/tagbox_icons.png
create mode 100644 src/main/webapp/css/themes/gray/images/tree_icons.png
create mode 100644 src/main/webapp/css/themes/gray/images/validatebox_warning.png
create mode 100644 src/main/webapp/css/themes/gray/layout.css
create mode 100644 src/main/webapp/css/themes/gray/linkbutton.css
create mode 100644 src/main/webapp/css/themes/gray/menu.css
create mode 100644 src/main/webapp/css/themes/gray/menubutton.css
create mode 100644 src/main/webapp/css/themes/gray/messager.css
create mode 100644 src/main/webapp/css/themes/gray/numberbox.css
create mode 100644 src/main/webapp/css/themes/gray/pagination.css
create mode 100644 src/main/webapp/css/themes/gray/panel.css
create mode 100644 src/main/webapp/css/themes/gray/passwordbox.css
create mode 100644 src/main/webapp/css/themes/gray/progressbar.css
create mode 100644 src/main/webapp/css/themes/gray/propertygrid.css
create mode 100644 src/main/webapp/css/themes/gray/searchbox.css
create mode 100644 src/main/webapp/css/themes/gray/slider.css
create mode 100644 src/main/webapp/css/themes/gray/spinner.css
create mode 100644 src/main/webapp/css/themes/gray/splitbutton.css
create mode 100644 src/main/webapp/css/themes/gray/switchbutton.css
create mode 100644 src/main/webapp/css/themes/gray/tabs.css
create mode 100644 src/main/webapp/css/themes/gray/tagbox.css
create mode 100644 src/main/webapp/css/themes/gray/textbox.css
create mode 100644 src/main/webapp/css/themes/gray/tooltip.css
create mode 100644 src/main/webapp/css/themes/gray/tree.css
create mode 100644 src/main/webapp/css/themes/gray/validatebox.css
create mode 100644 src/main/webapp/css/themes/gray/window.css
create mode 100644 src/main/webapp/css/themes/icon.css
create mode 100644 src/main/webapp/css/themes/icons/back.png
create mode 100644 src/main/webapp/css/themes/icons/blank.gif
create mode 100644 src/main/webapp/css/themes/icons/cancel.png
create mode 100644 src/main/webapp/css/themes/icons/clear.png
create mode 100644 src/main/webapp/css/themes/icons/cut.png
create mode 100644 src/main/webapp/css/themes/icons/edit_add.png
create mode 100644 src/main/webapp/css/themes/icons/edit_remove.png
create mode 100644 src/main/webapp/css/themes/icons/filesave.png
create mode 100644 src/main/webapp/css/themes/icons/filter.png
create mode 100644 src/main/webapp/css/themes/icons/help.png
create mode 100644 src/main/webapp/css/themes/icons/large_chart.png
create mode 100644 src/main/webapp/css/themes/icons/large_clipart.png
create mode 100644 src/main/webapp/css/themes/icons/large_picture.png
create mode 100644 src/main/webapp/css/themes/icons/large_shapes.png
create mode 100644 src/main/webapp/css/themes/icons/large_smartart.png
create mode 100644 src/main/webapp/css/themes/icons/lock.png
create mode 100644 src/main/webapp/css/themes/icons/man.png
create mode 100644 src/main/webapp/css/themes/icons/mini_add.png
create mode 100644 src/main/webapp/css/themes/icons/mini_edit.png
create mode 100644 src/main/webapp/css/themes/icons/mini_refresh.png
create mode 100644 src/main/webapp/css/themes/icons/more.png
create mode 100644 src/main/webapp/css/themes/icons/no.png
create mode 100644 src/main/webapp/css/themes/icons/ok.png
create mode 100644 src/main/webapp/css/themes/icons/pencil.png
create mode 100644 src/main/webapp/css/themes/icons/print.png
create mode 100644 src/main/webapp/css/themes/icons/redo.png
create mode 100644 src/main/webapp/css/themes/icons/reload.png
create mode 100644 src/main/webapp/css/themes/icons/search.png
create mode 100644 src/main/webapp/css/themes/icons/sum.png
create mode 100644 src/main/webapp/css/themes/icons/tip.png
create mode 100644 src/main/webapp/css/themes/icons/undo.png
create mode 100644 src/main/webapp/css/themes/material/accordion.css
create mode 100644 src/main/webapp/css/themes/material/calendar.css
create mode 100644 src/main/webapp/css/themes/material/combo.css
create mode 100644 src/main/webapp/css/themes/material/combobox.css
create mode 100644 src/main/webapp/css/themes/material/datagrid.css
create mode 100644 src/main/webapp/css/themes/material/datalist.css
create mode 100644 src/main/webapp/css/themes/material/datebox.css
create mode 100644 src/main/webapp/css/themes/material/dialog.css
create mode 100644 src/main/webapp/css/themes/material/easyui.css
create mode 100644 src/main/webapp/css/themes/material/filebox.css
create mode 100644 src/main/webapp/css/themes/material/images/Thumbs.db
create mode 100644 src/main/webapp/css/themes/material/images/accordion_arrows.png
create mode 100644 src/main/webapp/css/themes/material/images/blank.gif
create mode 100644 src/main/webapp/css/themes/material/images/calendar_arrows.png
create mode 100644 src/main/webapp/css/themes/material/images/combo_arrow.png
create mode 100644 src/main/webapp/css/themes/material/images/datagrid_icons.png
create mode 100644 src/main/webapp/css/themes/material/images/datebox_arrow.png
create mode 100644 src/main/webapp/css/themes/material/images/layout_arrows.png
create mode 100644 src/main/webapp/css/themes/material/images/linkbutton_bg.png
create mode 100644 src/main/webapp/css/themes/material/images/loading.gif
create mode 100644 src/main/webapp/css/themes/material/images/menu_arrows.png
create mode 100644 src/main/webapp/css/themes/material/images/messager_icons.png
create mode 100644 src/main/webapp/css/themes/material/images/pagination_icons.png
create mode 100644 src/main/webapp/css/themes/material/images/panel_tools.png
create mode 100644 src/main/webapp/css/themes/material/images/passwordbox_close.png
create mode 100644 src/main/webapp/css/themes/material/images/passwordbox_open.png
create mode 100644 src/main/webapp/css/themes/material/images/searchbox_button.png
create mode 100644 src/main/webapp/css/themes/material/images/slider_handle.png
create mode 100644 src/main/webapp/css/themes/material/images/spinner_arrows.png
create mode 100644 src/main/webapp/css/themes/material/images/tabs_icons.png
create mode 100644 src/main/webapp/css/themes/material/images/tagbox_icons.png
create mode 100644 src/main/webapp/css/themes/material/images/tree_icons.png
create mode 100644 src/main/webapp/css/themes/material/images/validatebox_warning.png
create mode 100644 src/main/webapp/css/themes/material/layout.css
create mode 100644 src/main/webapp/css/themes/material/linkbutton.css
create mode 100644 src/main/webapp/css/themes/material/menu.css
create mode 100644 src/main/webapp/css/themes/material/menubutton.css
create mode 100644 src/main/webapp/css/themes/material/messager.css
create mode 100644 src/main/webapp/css/themes/material/numberbox.css
create mode 100644 src/main/webapp/css/themes/material/pagination.css
create mode 100644 src/main/webapp/css/themes/material/panel.css
create mode 100644 src/main/webapp/css/themes/material/passwordbox.css
create mode 100644 src/main/webapp/css/themes/material/progressbar.css
create mode 100644 src/main/webapp/css/themes/material/propertygrid.css
create mode 100644 src/main/webapp/css/themes/material/searchbox.css
create mode 100644 src/main/webapp/css/themes/material/slider.css
create mode 100644 src/main/webapp/css/themes/material/spinner.css
create mode 100644 src/main/webapp/css/themes/material/splitbutton.css
create mode 100644 src/main/webapp/css/themes/material/switchbutton.css
create mode 100644 src/main/webapp/css/themes/material/tabs.css
create mode 100644 src/main/webapp/css/themes/material/tagbox.css
create mode 100644 src/main/webapp/css/themes/material/textbox.css
create mode 100644 src/main/webapp/css/themes/material/tooltip.css
create mode 100644 src/main/webapp/css/themes/material/tree.css
create mode 100644 src/main/webapp/css/themes/material/validatebox.css
create mode 100644 src/main/webapp/css/themes/material/window.css
create mode 100644 src/main/webapp/css/themes/metro/accordion.css
create mode 100644 src/main/webapp/css/themes/metro/calendar.css
create mode 100644 src/main/webapp/css/themes/metro/combo.css
create mode 100644 src/main/webapp/css/themes/metro/combobox.css
create mode 100644 src/main/webapp/css/themes/metro/datagrid.css
create mode 100644 src/main/webapp/css/themes/metro/datalist.css
create mode 100644 src/main/webapp/css/themes/metro/datebox.css
create mode 100644 src/main/webapp/css/themes/metro/dialog.css
create mode 100644 src/main/webapp/css/themes/metro/easyui.css
create mode 100644 src/main/webapp/css/themes/metro/filebox.css
create mode 100644 src/main/webapp/css/themes/metro/images/accordion_arrows.png
create mode 100644 src/main/webapp/css/themes/metro/images/blank.gif
create mode 100644 src/main/webapp/css/themes/metro/images/calendar_arrows.png
create mode 100644 src/main/webapp/css/themes/metro/images/combo_arrow.png
create mode 100644 src/main/webapp/css/themes/metro/images/datagrid_icons.png
create mode 100644 src/main/webapp/css/themes/metro/images/datebox_arrow.png
create mode 100644 src/main/webapp/css/themes/metro/images/layout_arrows.png
create mode 100644 src/main/webapp/css/themes/metro/images/linkbutton_bg.png
create mode 100644 src/main/webapp/css/themes/metro/images/loading.gif
create mode 100644 src/main/webapp/css/themes/metro/images/menu_arrows.png
create mode 100644 src/main/webapp/css/themes/metro/images/messager_icons.png
create mode 100644 src/main/webapp/css/themes/metro/images/pagination_icons.png
create mode 100644 src/main/webapp/css/themes/metro/images/panel_tools.png
create mode 100644 src/main/webapp/css/themes/metro/images/passwordbox_close.png
create mode 100644 src/main/webapp/css/themes/metro/images/passwordbox_open.png
create mode 100644 src/main/webapp/css/themes/metro/images/searchbox_button.png
create mode 100644 src/main/webapp/css/themes/metro/images/slider_handle.png
create mode 100644 src/main/webapp/css/themes/metro/images/spinner_arrows.png
create mode 100644 src/main/webapp/css/themes/metro/images/tabs_icons.png
create mode 100644 src/main/webapp/css/themes/metro/images/tagbox_icons.png
create mode 100644 src/main/webapp/css/themes/metro/images/tree_icons.png
create mode 100644 src/main/webapp/css/themes/metro/images/validatebox_warning.png
create mode 100644 src/main/webapp/css/themes/metro/layout.css
create mode 100644 src/main/webapp/css/themes/metro/linkbutton.css
create mode 100644 src/main/webapp/css/themes/metro/menu.css
create mode 100644 src/main/webapp/css/themes/metro/menubutton.css
create mode 100644 src/main/webapp/css/themes/metro/messager.css
create mode 100644 src/main/webapp/css/themes/metro/numberbox.css
create mode 100644 src/main/webapp/css/themes/metro/pagination.css
create mode 100644 src/main/webapp/css/themes/metro/panel.css
create mode 100644 src/main/webapp/css/themes/metro/passwordbox.css
create mode 100644 src/main/webapp/css/themes/metro/progressbar.css
create mode 100644 src/main/webapp/css/themes/metro/propertygrid.css
create mode 100644 src/main/webapp/css/themes/metro/searchbox.css
create mode 100644 src/main/webapp/css/themes/metro/slider.css
create mode 100644 src/main/webapp/css/themes/metro/spinner.css
create mode 100644 src/main/webapp/css/themes/metro/splitbutton.css
create mode 100644 src/main/webapp/css/themes/metro/switchbutton.css
create mode 100644 src/main/webapp/css/themes/metro/tabs.css
create mode 100644 src/main/webapp/css/themes/metro/tagbox.css
create mode 100644 src/main/webapp/css/themes/metro/textbox.css
create mode 100644 src/main/webapp/css/themes/metro/tooltip.css
create mode 100644 src/main/webapp/css/themes/metro/tree.css
create mode 100644 src/main/webapp/css/themes/metro/validatebox.css
create mode 100644 src/main/webapp/css/themes/metro/window.css
create mode 100644 src/main/webapp/css/themes/mobile.css
create mode 100644 src/main/webapp/favicon.ico
create mode 100644 src/main/webapp/images/0.jpg
create mode 100644 src/main/webapp/images/00.jpg
create mode 100644 src/main/webapp/images/000.jpg
create mode 100644 src/main/webapp/images/1.png
create mode 100644 src/main/webapp/images/2.png
create mode 100644 src/main/webapp/images/4.png
create mode 100644 src/main/webapp/images/Login.jpg
create mode 100644 src/main/webapp/images/Login1.jpg
create mode 100644 src/main/webapp/images/Login11.jpg
create mode 100644 src/main/webapp/images/Login12.jpg
create mode 100644 src/main/webapp/images/Login2.jpg
create mode 100644 src/main/webapp/images/activeCheck.png
create mode 100644 src/main/webapp/images/add.png
create mode 100644 src/main/webapp/images/bb1.jpg
create mode 100644 src/main/webapp/images/bg1.jpg
create mode 100644 src/main/webapp/images/bg2.jpg
create mode 100644 src/main/webapp/images/bgGround.jpg
create mode 100644 src/main/webapp/images/bgGround3.jpg
create mode 100644 src/main/webapp/images/carlogo.png
create mode 100644 src/main/webapp/images/clear.png
create mode 100644 src/main/webapp/images/close.png
create mode 100644 src/main/webapp/images/favicon.png
create mode 100644 src/main/webapp/images/jblogo.png
create mode 100644 src/main/webapp/images/loginBg.jpg
create mode 100644 src/main/webapp/images/loginBg2.jpg
create mode 100644 src/main/webapp/images/mainbk.png
create mode 100644 src/main/webapp/images/menuArrow.png
create mode 100644 src/main/webapp/images/menuArrowActive.png
create mode 100644 src/main/webapp/images/powerIcon.png
create mode 100644 src/main/webapp/images/replaceMoney.png
create mode 100644 src/main/webapp/images/replaceWalkCar.png
create mode 100644 src/main/webapp/images/roadRepair.png
create mode 100644 src/main/webapp/images/save.png
create mode 100644 src/main/webapp/images/search.png
create mode 100644 src/main/webapp/images/sendWater.png
create mode 100644 src/main/webapp/images/sign.png
create mode 100644 src/main/webapp/images/timg.jpg
create mode 100644 src/main/webapp/images/topLogo.png
create mode 100644 src/main/webapp/images/top_bg.png
create mode 100644 src/main/webapp/images/top_bg2.png
create mode 100644 src/main/webapp/images/topbgnew.png
create mode 100644 src/main/webapp/img/500.jpg
create mode 100644 src/main/webapp/index.jsp
create mode 100644 src/main/webapp/js/DatePicker/My97DatePicker.htm
create mode 100644 src/main/webapp/js/DatePicker/WdatePicker.js
create mode 100644 src/main/webapp/js/DatePicker/calendar.js
create mode 100644 src/main/webapp/js/DatePicker/config.js
create mode 100644 src/main/webapp/js/DatePicker/lang/en.js
create mode 100644 src/main/webapp/js/DatePicker/lang/zh-cn.js
create mode 100644 src/main/webapp/js/DatePicker/lang/zh-tw.js
create mode 100644 src/main/webapp/js/DatePicker/skin/WdatePicker.css
create mode 100644 src/main/webapp/js/DatePicker/skin/date.png
create mode 100644 src/main/webapp/js/DatePicker/skin/datePicker.gif
create mode 100644 src/main/webapp/js/DatePicker/skin/default/datepicker.css
create mode 100644 src/main/webapp/js/DatePicker/skin/default/img.gif
create mode 100644 src/main/webapp/js/DatePicker/skin/whyGreen/bg.jpg
create mode 100644 src/main/webapp/js/DatePicker/skin/whyGreen/datepicker.css
create mode 100644 src/main/webapp/js/DatePicker/skin/whyGreen/img.gif
create mode 100644 src/main/webapp/js/business/balance.js
create mode 100644 src/main/webapp/js/business/caseEnter.js
create mode 100644 src/main/webapp/js/business/cases.js
create mode 100644 src/main/webapp/js/business/coupon.js
create mode 100644 src/main/webapp/js/business/coupon_query.js
create mode 100644 src/main/webapp/js/business/enterprise.js
create mode 100644 src/main/webapp/js/business/orderCheck.js
create mode 100644 src/main/webapp/js/business/orderCheckAll.js
create mode 100644 src/main/webapp/js/business/orderCheckHIs.js
create mode 100644 src/main/webapp/js/business/recharge_query.js
create mode 100644 src/main/webapp/js/business/role.js
create mode 100644 src/main/webapp/js/business/sue.js
create mode 100644 src/main/webapp/js/business/supplier.js
create mode 100644 src/main/webapp/js/business/user.js
create mode 100644 src/main/webapp/js/clear.js
create mode 100644 src/main/webapp/js/common.js
create mode 100644 src/main/webapp/js/easyloader.js
create mode 100644 src/main/webapp/js/jquery.easyui.min.js
create mode 100644 src/main/webapp/js/jquery.easyui.mobile.js
create mode 100644 src/main/webapp/js/jquery.jqprint-0.3.js
create mode 100644 src/main/webapp/js/jquery.min.js
create mode 100644 src/main/webapp/js/loading.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-af.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-am.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-ar.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-bg.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-ca.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-cs.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-cz.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-da.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-de.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-el.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-en.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-es.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-fr.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-it.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-jp.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-ko.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-nl.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-pl.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-pt_BR.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-ru.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-sv_SE.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-tr.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-zh_CN.js
create mode 100644 src/main/webapp/js/locale/easyui-lang-zh_TW.js
create mode 100644 src/main/webapp/js/page.js
create mode 100644 src/main/webapp/js/plugins/jquery.accordion.js
create mode 100644 src/main/webapp/js/plugins/jquery.calendar.js
create mode 100644 src/main/webapp/js/plugins/jquery.combo.js
create mode 100644 src/main/webapp/js/plugins/jquery.combobox.js
create mode 100644 src/main/webapp/js/plugins/jquery.combogrid.js
create mode 100644 src/main/webapp/js/plugins/jquery.combotree.js
create mode 100644 src/main/webapp/js/plugins/jquery.combotreegrid.js
create mode 100644 src/main/webapp/js/plugins/jquery.datagrid.js
create mode 100644 src/main/webapp/js/plugins/jquery.datalist.js
create mode 100644 src/main/webapp/js/plugins/jquery.datebox.js
create mode 100644 src/main/webapp/js/plugins/jquery.datetimebox.js
create mode 100644 src/main/webapp/js/plugins/jquery.datetimespinner.js
create mode 100644 src/main/webapp/js/plugins/jquery.dialog.js
create mode 100644 src/main/webapp/js/plugins/jquery.draggable.js
create mode 100644 src/main/webapp/js/plugins/jquery.droppable.js
create mode 100644 src/main/webapp/js/plugins/jquery.filebox.js
create mode 100644 src/main/webapp/js/plugins/jquery.form.js
create mode 100644 src/main/webapp/js/plugins/jquery.layout.js
create mode 100644 src/main/webapp/js/plugins/jquery.linkbutton.js
create mode 100644 src/main/webapp/js/plugins/jquery.menu.js
create mode 100644 src/main/webapp/js/plugins/jquery.menubutton.js
create mode 100644 src/main/webapp/js/plugins/jquery.messager.js
create mode 100644 src/main/webapp/js/plugins/jquery.mobile.js
create mode 100644 src/main/webapp/js/plugins/jquery.numberbox.js
create mode 100644 src/main/webapp/js/plugins/jquery.numberspinner.js
create mode 100644 src/main/webapp/js/plugins/jquery.pagination.js
create mode 100644 src/main/webapp/js/plugins/jquery.panel.js
create mode 100644 src/main/webapp/js/plugins/jquery.parser.js
create mode 100644 src/main/webapp/js/plugins/jquery.passwordbox.js
create mode 100644 src/main/webapp/js/plugins/jquery.progressbar.js
create mode 100644 src/main/webapp/js/plugins/jquery.propertygrid.js
create mode 100644 src/main/webapp/js/plugins/jquery.resizable.js
create mode 100644 src/main/webapp/js/plugins/jquery.searchbox.js
create mode 100644 src/main/webapp/js/plugins/jquery.slider.js
create mode 100644 src/main/webapp/js/plugins/jquery.spinner.js
create mode 100644 src/main/webapp/js/plugins/jquery.splitbutton.js
create mode 100644 src/main/webapp/js/plugins/jquery.switchbutton.js
create mode 100644 src/main/webapp/js/plugins/jquery.tabs.js
create mode 100644 src/main/webapp/js/plugins/jquery.tagbox.js
create mode 100644 src/main/webapp/js/plugins/jquery.textbox.js
create mode 100644 src/main/webapp/js/plugins/jquery.timespinner.js
create mode 100644 src/main/webapp/js/plugins/jquery.tooltip.js
create mode 100644 src/main/webapp/js/plugins/jquery.tree.js
create mode 100644 src/main/webapp/js/plugins/jquery.treegrid.js
create mode 100644 src/main/webapp/js/plugins/jquery.validatebox.js
create mode 100644 src/main/webapp/js/plugins/jquery.window.js
create mode 100644 src/main/webapp/login.jsp
create mode 100644 src/main/webapp/page/amap/amap.jsp
create mode 100644 src/main/webapp/page/amap/cityList.jsp
create mode 100644 src/main/webapp/page/amap/citylist.js
create mode 100644 src/main/webapp/page/amap/css/common.css
create mode 100644 src/main/webapp/page/amap/css/jquery.autocomplete.css
create mode 100644 src/main/webapp/page/amap/css/placeSearch.css
create mode 100644 src/main/webapp/page/amap/js/cityDialog/citySearch.js
create mode 100644 src/main/webapp/page/amap/js/cityDialog/city_u.js
create mode 100644 src/main/webapp/page/amap/js/cityDialog/citylist.js
create mode 100644 src/main/webapp/page/amap/js/jquery.autocomplete.js
create mode 100644 src/main/webapp/page/amap/js/layer/layer.js
create mode 100644 src/main/webapp/page/balance.jsp
create mode 100644 src/main/webapp/page/caseDetail.jsp
create mode 100644 src/main/webapp/page/caseInfo.jsp
create mode 100644 src/main/webapp/page/caseInfoEnter.jsp
create mode 100644 src/main/webapp/page/common.jsp
create mode 100644 src/main/webapp/page/coupon_consume.jsp
create mode 100644 src/main/webapp/page/coupon_consume_history.jsp
create mode 100644 src/main/webapp/page/coupon_consume_query.jsp
create mode 100644 src/main/webapp/page/coupon_recharge_query.jsp
create mode 100644 src/main/webapp/page/enterprise.jsp
create mode 100644 src/main/webapp/page/footer.jsp
create mode 100644 src/main/webapp/page/header.jsp
create mode 100644 src/main/webapp/page/home.jsp
create mode 100644 src/main/webapp/page/home1.jsp
create mode 100644 src/main/webapp/page/modifyPassword.jsp
create mode 100644 src/main/webapp/page/orderCheck.jsp
create mode 100644 src/main/webapp/page/orderCheckAll.jsp
create mode 100644 src/main/webapp/page/orderCheckHis.jsp
create mode 100644 src/main/webapp/page/role.jsp
create mode 100644 src/main/webapp/page/sue.jsp
create mode 100644 src/main/webapp/page/supplier.jsp
create mode 100644 src/main/webapp/page/topMenu.jsp
create mode 100644 src/main/webapp/page/user.jsp
create mode 100644 src/main/webapp/page/validate.jsp
create mode 100644 src/test/java/Test.java
diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..6c95717
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..93858ff
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+jlr
\ No newline at end of file
diff --git a/.idea/artifacts/jlr_war.xml b/.idea/artifacts/jlr_war.xml
new file mode 100644
index 0000000..55b0e1a
--- /dev/null
+++ b/.idea/artifacts/jlr_war.xml
@@ -0,0 +1,8 @@
+
+
+ $PROJECT_DIR$/target
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/artifacts/jlr_war_exploded.xml b/.idea/artifacts/jlr_war_exploded.xml
new file mode 100644
index 0000000..a984b26
--- /dev/null
+++ b/.idea/artifacts/jlr_war_exploded.xml
@@ -0,0 +1,94 @@
+
+
+ $PROJECT_DIR$/target/admin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..98c88f3
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..b26911b
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__antlr_antlr_2_7_7.xml b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml
new file mode 100644
index 0000000..6029cf8
--- /dev/null
+++ b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml
new file mode 100644
index 0000000..23a9d11
--- /dev/null
+++ b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__asm_asm_3_1.xml b/.idea/libraries/Maven__asm_asm_3_1.xml
new file mode 100644
index 0000000..62bbb78
--- /dev/null
+++ b/.idea/libraries/Maven__asm_asm_3_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__cglib_cglib_2_2.xml b/.idea/libraries/Maven__cglib_cglib_2_2.xml
new file mode 100644
index 0000000..2398e9e
--- /dev/null
+++ b/.idea/libraries/Maven__cglib_cglib_2_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__cglib_cglib_nodep_2_2_2.xml b/.idea/libraries/Maven__cglib_cglib_nodep_2_2_2.xml
new file mode 100644
index 0000000..dafc94f
--- /dev/null
+++ b/.idea/libraries/Maven__cglib_cglib_nodep_2_2_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_alibaba_druid_1_0_15.xml b/.idea/libraries/Maven__com_alibaba_druid_1_0_15.xml
new file mode 100644
index 0000000..893dabe
--- /dev/null
+++ b/.idea/libraries/Maven__com_alibaba_druid_1_0_15.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_alibaba_fastjson_1_1_39.xml b/.idea/libraries/Maven__com_alibaba_fastjson_1_1_39.xml
new file mode 100644
index 0000000..8be2217
--- /dev/null
+++ b/.idea/libraries/Maven__com_alibaba_fastjson_1_1_39.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_caucho_hessian_4_0_33.xml b/.idea/libraries/Maven__com_caucho_hessian_4_0_33.xml
new file mode 100644
index 0000000..b68ee2d
--- /dev/null
+++ b/.idea/libraries/Maven__com_caucho_hessian_4_0_33.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_03.xml b/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_03.xml
new file mode 100644
index 0000000..b3f4bfb
--- /dev/null
+++ b/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_03.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_guava_guava_17_0.xml b/.idea/libraries/Maven__com_google_guava_guava_17_0.xml
new file mode 100644
index 0000000..8db0097
--- /dev/null
+++ b/.idea/libraries/Maven__com_google_guava_guava_17_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_oracle_ojdbc6_11_2_0_3.xml b/.idea/libraries/Maven__com_oracle_ojdbc6_11_2_0_3.xml
new file mode 100644
index 0000000..5d1787f
--- /dev/null
+++ b/.idea/libraries/Maven__com_oracle_ojdbc6_11_2_0_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_0.xml b/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_0.xml
new file mode 100644
index 0000000..ab8a3d6
--- /dev/null
+++ b/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml
new file mode 100644
index 0000000..110e468
--- /dev/null
+++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml b/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml
new file mode 100644
index 0000000..754c7e8
--- /dev/null
+++ b/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_2_2.xml b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_2_2.xml
new file mode 100644
index 0000000..9293068
--- /dev/null
+++ b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_2_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_0.xml b/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_0.xml
new file mode 100644
index 0000000..cc0525c
--- /dev/null
+++ b/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_io_commons_io_1_3_2.xml b/.idea/libraries/Maven__commons_io_commons_io_1_3_2.xml
new file mode 100644
index 0000000..cd7ff51
--- /dev/null
+++ b/.idea/libraries/Maven__commons_io_commons_io_1_3_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml b/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml
new file mode 100644
index 0000000..6cebdd5
--- /dev/null
+++ b/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml
new file mode 100644
index 0000000..add7f33
--- /dev/null
+++ b/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..70c1aef
--- /dev/null
+++ b/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_faces_jsf_api_1_2_04.xml b/.idea/libraries/Maven__javax_faces_jsf_api_1_2_04.xml
new file mode 100644
index 0000000..b1470d2
--- /dev/null
+++ b/.idea/libraries/Maven__javax_faces_jsf_api_1_2_04.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_faces_jsf_impl_1_2_04.xml b/.idea/libraries/Maven__javax_faces_jsf_impl_1_2_04.xml
new file mode 100644
index 0000000..35aa782
--- /dev/null
+++ b/.idea/libraries/Maven__javax_faces_jsf_impl_1_2_04.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_0_1.xml b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_0_1.xml
new file mode 100644
index 0000000..019f192
--- /dev/null
+++ b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_1.xml b/.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_1.xml
new file mode 100644
index 0000000..476f9e3
--- /dev/null
+++ b/.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..1f202da
--- /dev/null
+++ b/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_transaction_jta_1_1.xml b/.idea/libraries/Maven__javax_transaction_jta_1_1.xml
new file mode 100644
index 0000000..68bde72
--- /dev/null
+++ b/.idea/libraries/Maven__javax_transaction_jta_1_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__jstl_jstl_1_2.xml b/.idea/libraries/Maven__jstl_jstl_1_2.xml
new file mode 100644
index 0000000..f1fe003
--- /dev/null
+++ b/.idea/libraries/Maven__jstl_jstl_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__junit_junit_4_11.xml b/.idea/libraries/Maven__junit_junit_4_11.xml
new file mode 100644
index 0000000..1002050
--- /dev/null
+++ b/.idea/libraries/Maven__junit_junit_4_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_21.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_21.xml
new file mode 100644
index 0000000..4f6cc51
--- /dev/null
+++ b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_21.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_4_7.xml b/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_4_7.xml
new file mode 100644
index 0000000..f3d33c1
--- /dev/null
+++ b/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_4_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml b/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml
new file mode 100644
index 0000000..71a7c61
--- /dev/null
+++ b/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml b/.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml
new file mode 100644
index 0000000..f31c23a
--- /dev/null
+++ b/.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml b/.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml
new file mode 100644
index 0000000..e8d98d8
--- /dev/null
+++ b/.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_ant_ant_1_8_2.xml b/.idea/libraries/Maven__org_apache_ant_ant_1_8_2.xml
new file mode 100644
index 0000000..f97b436
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_ant_ant_1_8_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_8_2.xml b/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_8_2.xml
new file mode 100644
index 0000000..7ba4e18
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_8_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml
new file mode 100644
index 0000000..5c06b4f
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_6.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_6.xml
new file mode 100644
index 0000000..c6381f6
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_3.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_3.xml
new file mode 100644
index 0000000..35e79d1
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_openejb_javaee_api_5_0_1.xml b/.idea/libraries/Maven__org_apache_openejb_javaee_api_5_0_1.xml
new file mode 100644
index 0000000..27916af
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_openejb_javaee_api_5_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_poi_poi_3_14.xml b/.idea/libraries/Maven__org_apache_poi_poi_3_14.xml
new file mode 100644
index 0000000..ab42068
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_poi_poi_3_14.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_14.xml b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_14.xml
new file mode 100644
index 0000000..e89ddba
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_14.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_14.xml b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_14.xml
new file mode 100644
index 0000000..972cbe1
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_14.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_poi_poi_scratchpad_3_14.xml b/.idea/libraries/Maven__org_apache_poi_poi_scratchpad_3_14.xml
new file mode 100644
index 0000000..5ac831c
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_poi_poi_scratchpad_3_14.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_servicemix_bundles_org_apache_servicemix_bundles_xerces_2_11_0_1.xml b/.idea/libraries/Maven__org_apache_servicemix_bundles_org_apache_servicemix_bundles_xerces_2_11_0_1.xml
new file mode 100644
index 0000000..d112683
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_servicemix_bundles_org_apache_servicemix_bundles_xerces_2_11_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml b/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml
new file mode 100644
index 0000000..55f0019
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_aspectj_aspectjrt_1_6_9.xml b/.idea/libraries/Maven__org_aspectj_aspectjrt_1_6_9.xml
new file mode 100644
index 0000000..6ea7244
--- /dev/null
+++ b/.idea/libraries/Maven__org_aspectj_aspectjrt_1_6_9.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_6_9.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_6_9.xml
new file mode 100644
index 0000000..f281872
--- /dev/null
+++ b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_6_9.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_7.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_7.xml
new file mode 100644
index 0000000..812fad5
--- /dev/null
+++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_7.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_7.xml
new file mode 100644
index 0000000..3899d77
--- /dev/null
+++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..1aea0c7
--- /dev/null
+++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_1_Final.xml b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_1_Final.xml
new file mode 100644
index 0000000..328b0ee
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_1_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_core_4_1_6_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_core_4_1_6_Final.xml
new file mode 100644
index 0000000..b3f84d8
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_hibernate_core_4_1_6_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_entitymanager_4_1_6_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_entitymanager_4_1_6_Final.xml
new file mode 100644
index 0000000..3110081
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_hibernate_entitymanager_4_1_6_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_envers_4_1_6_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_envers_4_1_6_Final.xml
new file mode 100644
index 0000000..e030fd1
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_hibernate_envers_4_1_6_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_0_api_1_0_1_Final.xml b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_0_api_1_0_1_Final.xml
new file mode 100644
index 0000000..c1b9ecf
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_0_api_1_0_1_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_javassist_javassist_3_15_0_GA.xml b/.idea/libraries/Maven__org_javassist_javassist_3_15_0_GA.xml
new file mode 100644
index 0000000..6359ef4
--- /dev/null
+++ b/.idea/libraries/Maven__org_javassist_javassist_3_15_0_GA.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_0_GA.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_0_GA.xml
new file mode 100644
index 0000000..c14f7c7
--- /dev/null
+++ b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_0_GA.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_1_spec_1_0_0_Final.xml b/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_1_spec_1_0_0_Final.xml
new file mode 100644
index 0000000..6e08893
--- /dev/null
+++ b/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_1_spec_1_0_0_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_jodd_jodd_3_3_8.xml b/.idea/libraries/Maven__org_jodd_jodd_3_3_8.xml
new file mode 100644
index 0000000..8f65ffc
--- /dev/null
+++ b/.idea/libraries/Maven__org_jodd_jodd_3_3_8.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..92edf05
--- /dev/null
+++ b/.idea/libraries/Maven__org_json_json_20160810.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_quartz_scheduler_quartz_1_8_4.xml b/.idea/libraries/Maven__org_quartz_scheduler_quartz_1_8_4.xml
new file mode 100644
index 0000000..24daf28
--- /dev/null
+++ b/.idea/libraries/Maven__org_quartz_scheduler_quartz_1_8_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_0.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_0.xml
new file mode 100644
index 0000000..52faad1
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_0.xml b/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_0.xml
new file mode 100644
index 0000000..1272832
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_acl_3_1_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_acl_3_1_1_RELEASE.xml
new file mode 100644
index 0000000..bf910f1
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_acl_3_1_1_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_config_3_1_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_config_3_1_1_RELEASE.xml
new file mode 100644
index 0000000..50ef5d2
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_config_3_1_1_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_core_3_1_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_core_3_1_1_RELEASE.xml
new file mode 100644
index 0000000..ba31a61
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_core_3_1_1_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_core_tiger_2_0_7_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_core_tiger_2_0_7_RELEASE.xml
new file mode 100644
index 0000000..4c406d4
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_core_tiger_2_0_7_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_taglibs_3_1_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_taglibs_3_1_1_RELEASE.xml
new file mode 100644
index 0000000..75803e4
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_taglibs_3_1_1_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_web_3_1_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_web_3_1_1_RELEASE.xml
new file mode 100644
index 0000000..253dd62
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_web_3_1_1_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aop_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..36d7170
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_aop_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_beans_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..7f3798c
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_beans_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_context_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..6d03f14
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_context_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_context_support_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_support_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..a31cc65
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_context_support_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_core_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_core_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..9450a3b
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_core_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_expression_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..029d8c4
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_expression_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..2d45e5d
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_jdbc_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_orm_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_orm_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..9d1cde8
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_orm_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_tx_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..012cf62
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_tx_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_web_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_web_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..e813b42
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_web_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_3_2_5_RELEASE.xml
new file mode 100644
index 0000000..8288228
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_webmvc_3_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__sax_sax_2_0_1.xml b/.idea/libraries/Maven__sax_sax_2_0_1.xml
new file mode 100644
index 0000000..98f1048
--- /dev/null
+++ b/.idea/libraries/Maven__sax_sax_2_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__stax_stax_api_1_0_1.xml b/.idea/libraries/Maven__stax_stax_api_1_0_1.xml
new file mode 100644
index 0000000..55361e6
--- /dev/null
+++ b/.idea/libraries/Maven__stax_stax_api_1_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml b/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml
new file mode 100644
index 0000000..f881aeb
--- /dev/null
+++ b/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..2d87148
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..65791fb
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..e96534f
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..534c6ae
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,1288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ consume_query.do
+ 请查看
+ delete
+ consume_dialog
+ format
+ coupon_history.do
+ search_consume
+ vinSelectCode
+ get_coupon_recharge
+ consume_query
+ simpl
+ SimpleDateFormat
+ exportData
+ recharge_query
+ simple
+ c_type
+ rechangeExportData
+ loginEmailBlur
+ putSystemUser
+ update
+ rescueState
+ showMyInfoDialog
+ GET_MY
+ sendMsg
+ consume_querys
+ eval
+ s
+ recharges_query
+ consume_update
+ sou
+
+
+ D:\JLR\JLR-master-19f1e7b4858da9a529342c6e8625154c882ae7c4\src\main\webapp\css
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ DEFINITION_ORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1533884729896
+
+
+ 1533884729896
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/zhongdao/jlr/business/dao/impl/CouponDaoImpl.java
+ 126
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ jlr:war
+
+
+
+
+
+
+
+
+
+
+
+
+ Spring
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.7
+
+
+
+
+
+
+
+
+
+
+
+ jlr
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.7
+
+
+
+
+
+
+
+
+
+
+
+ Maven: antlr:antlr:2.7.7
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.project b/.project
new file mode 100644
index 0000000..77aa2d6
--- /dev/null
+++ b/.project
@@ -0,0 +1,58 @@
+
+
+ JLR
+
+
+
+
+
+ org.eclipse.wst.jsdt.core.javascriptValidator
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.builder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+ com.genuitec.eclipse.springframework.springbuilder
+
+
+
+
+ org.eclipse.wst.validation.validationbuilder
+
+
+
+
+ com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator
+
+
+
+
+ com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder
+
+
+
+
+
+ org.eclipse.jem.workbench.JavaEMFNature
+ org.eclipse.wst.common.modulecore.ModuleCoreNature
+ com.genuitec.eclipse.springframework.springnature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+ org.eclipse.wst.common.project.facet.core.nature
+ org.eclipse.wst.jsdt.core.jsNature
+
+
diff --git a/.settings/.jsdtscope b/.settings/.jsdtscope
new file mode 100644
index 0000000..9dbed1b
--- /dev/null
+++ b/.settings/.jsdtscope
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..2e657e3
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding//src/test/java=utf-8
+encoding/=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..443e085
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..535aa59
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..791234c
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.container b/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 0000000..3bd5d0a
--- /dev/null
+++ b/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.name b/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 0000000..05bd71b
--- /dev/null
+++ b/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window
\ No newline at end of file
diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..04cad8c
--- /dev/null
+++ b/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/jlr.iml b/jlr.iml
new file mode 100644
index 0000000..4e440ce
--- /dev/null
+++ b/jlr.iml
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..a68f212
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,533 @@
+
+
+ 4.0.0
+ com.zhongdao
+ jlr
+ war
+ 1.0-SNAPSHOT
+ jlr
+ http://maven.apache.org
+
+
+
+
+
+ 3.14
+ 1.3.2
+ 4.1.6.Final
+ 3.0.1
+ 2.5
+ 1.3.2
+ 4.0.33
+ 1.1.1
+ 3.3.2
+ 3.2.5.RELEASE
+ 2.2
+ 17.0
+ 3.1.1.RELEASE
+ 1.1.39
+ 4.3.3
+ 4.3.6
+ 3.0
+ 2.2.2
+ 1.7.0
+ 2.1.1-b04
+ 5.1.21
+ 1.8.4
+
+ 1.7.3
+ 1.2.2
+ 1.9.7
+ 1.2
+ 3.16.1-GA
+ 3.1.5
+ 1.6.1
+ 2.2.2
+ 0.9.1.2
+ 1.6.9
+ 1.7.3
+ 2.6.12
+ 3.0.1
+ 2.2
+ 1.2.3
+ 2.4.7
+ 2.0.4
+ 1.1
+
+ 4.11
+ 2.18.1
+ 3.2.11.RELEASE
+
+ 2.2
+
+ 3.2
+ 1.7
+ UTF-8
+ true
+
+
+
+
+
+
+
+
+ org.json
+ json
+ 20141113
+
+
+
+ org.apache.servicemix.bundles
+ org.apache.servicemix.bundles.xerces
+ 2.11.0_1
+
+
+
+ sax
+ sax
+ 2.0.1
+
+
+
+ org.apache.poi
+ poi
+ ${org.apache.poi.version}
+
+
+
+ org.apache.poi
+ poi-ooxml
+ ${org.apache.poi.version}
+
+
+
+ org.apache.poi
+ poi-scratchpad
+ ${org.apache.poi.version}
+
+
+
+ org.apache.poi
+ poi-ooxml-schemas
+ ${org.apache.poi.version}
+
+
+
+ org.apache.commons
+ commons-io
+ ${org.apache.commons.version}
+
+
+
+ dom4j
+ dom4j
+ ${dom4j.version}
+
+
+
+ com.alibaba
+ druid
+ 1.0.15
+
+
+
+ org.json
+ json
+ 20160810
+
+
+
+ org.hibernate
+ hibernate-envers
+ ${hibernate.version}
+
+
+
+ org.hibernate
+ hibernate-core
+ ${hibernate.version}
+
+
+
+
+ org.aspectj
+ aspectjrt
+ ${aspectj.version}
+
+
+ org.aspectj
+ aspectjweaver
+ ${aspectj.version}
+
+
+ org.apache.commons
+ commons-io
+ ${commons.io.version}
+
+
+ com.caucho
+ hessian
+ ${com.caucho.version}
+
+
+ org.quartz-scheduler
+ quartz
+ ${org.quartz}
+
+
+ com.google.guava
+ guava
+ ${google.guava.version}
+
+
+ com.alibaba
+ fastjson
+ ${com.alibaba.fastjson}
+
+
+
+ org.apache.httpcomponents
+ httpcore
+ ${org.apache.httpcomponents.httpcore}
+
+
+ org.apache.httpcomponents
+ httpclient
+ ${org.apache.httpcomponents.httpclient}
+
+
+ commons-httpclient
+ commons-httpclient
+ ${commons.httpclient}
+
+
+
+
+ net.sf.json-lib
+ json-lib
+ 2.4
+ jdk15
+
+
+
+
+
+ org.springframework
+ spring-core
+ ${springframework.version}
+
+
+
+ org.springframework
+ spring-web
+ ${springframework.version}
+
+
+
+ org.springframework
+ spring-webmvc
+ ${springframework.version}
+
+
+ org.springframework.security
+ spring-security-config
+ ${springframework.security.version}
+
+
+ org.springframework.security
+ spring-security-taglibs
+ ${springframework.security.version}
+
+
+ org.springframework
+ spring-tx
+ ${springframework.version}
+
+
+ org.springframework
+ spring-orm
+ ${springframework.version}
+
+
+ org.springframework
+ spring-context-support
+ ${springframework.version}
+
+
+ org.springframework.security
+ spring-security-core-tiger
+ 2.0.7.RELEASE
+
+
+ net.sf.ehcache
+ ehcache-core
+ ${ehcache-core.version}
+
+
+ net.sf.ehcache
+ ehcache-web
+ ${ehcache-web.version}
+
+
+
+ cglib
+ cglib-nodep
+ ${cglib.nodep.version}
+
+
+
+
+ org.codehaus.jackson
+ jackson-core-asl
+ 1.9.7
+
+
+ org.codehaus.jackson
+ jackson-mapper-asl
+ 1.9.7
+
+
+ jstl
+ jstl
+ 1.2
+
+
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+
+ commons-lang
+ commons-lang
+ ${commons.lang.version}
+
+
+ org.apache.commons
+ commons-io
+ ${commons.io.version}
+
+
+ commons-collections
+ commons-collections
+ 3.2.1
+
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j.version}
+
+
+ org.slf4j
+ slf4j-simple
+ 1.7.0
+
+
+ cglib
+ cglib
+ ${cglib.version}
+
+
+
+
+
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.connector.version}
+
+
+
+ com.oracle
+ ojdbc6
+ 11.2.0.3
+
+
+
+
+ commons-fileupload
+ commons-fileupload
+ 1.2.2
+
+
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+ org.apache.openejb
+ javaee-api
+ 5.0-1
+ provided
+
+
+ javax.faces
+ jsf-api
+ 1.2_04
+ provided
+
+
+ javax.servlet
+ jstl
+ 1.2
+ provided
+
+
+ javax.servlet.jsp
+ jsp-api
+ 2.1
+ provided
+
+
+
+ javax.servlet
+ javax.servlet-api
+ ${servlet.version}
+
+
+
+ javax.faces
+ jsf-impl
+ 1.2_04
+ provided
+
+
+
+
+
+
+
+
+ org.apache.ant
+ ant
+ 1.8.2
+
+
+ org.jodd
+ jodd
+ 3.3.8
+
+
+
+
+ codelds
+ https://code.lds.org/nexus/content/groups/main-repo
+
+
+
+ admin
+
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.2.6.v20141205
+
+
+
+
+
+
+
+ dev
+
+ true
+
+
+ compile
+ env_dev
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ utf-8
+ 1.7
+ 1.7
+
+
+
+
+
+ src/main/java
+
+ **/*.java
+
+
+
+ src/main/resources
+ true
+
+
+ etc/dev
+ true
+
+
+
+
+
+
+ test
+
+ compile
+ env_test
+
+
+
+
+ src/main/java
+
+ **/*.java
+
+
+
+ src/main/resources
+ true
+
+
+ etc/test
+ true
+
+
+
+
+
+
+ online
+
+ provided
+ env_online
+
+
+
+
+ src/main/java
+
+ **/*.java
+
+
+
+ src/main/resources
+ true
+
+
+ etc/online
+ true
+
+
+
+
+
+
diff --git a/src/main/java/com/dubh/common/dao/Dao.java b/src/main/java/com/dubh/common/dao/Dao.java
new file mode 100644
index 0000000..317d255
--- /dev/null
+++ b/src/main/java/com/dubh/common/dao/Dao.java
@@ -0,0 +1,154 @@
+package com.dubh.common.dao;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-5-15 上午11:19:21
+ * 类说明 :公用方法接口类
+ */
+public interface Dao {
+
+
+
+ /**
+ * 获取单一对象
+ * @param clazz 实体类
+ * @param id 主键
+ * @return
+ */
+ public Object getObject(Class clazz,Serializable id);
+
+ /**
+ * 添加对象
+ * @param object 实体类
+ * @throws Exception
+ */
+ public void saveObject(Object object) throws Exception;
+
+ /**
+ * 更新对象
+ * @param object 实体对象
+ * @throws Exception
+ */
+ public void updateObject(Object object) throws Exception;
+
+ /**
+ * 通过传入hql语句进行批量更新对象
+ * @param hqlStr HQL语句
+ * @throws Exception
+ */
+ public void updateHql(String hqlStr) throws Exception;
+
+ /**
+ * 删除对象
+ * @param clazz 实体类
+ * @param id 主键
+ * @throws Exception
+ */
+ public void removeObject(Class clazz, Serializable id) throws Exception;
+
+ /**
+ * 通过传入标准sql语句获取记录集
+ * @param sqlStr SQL语句
+ * @return 返回记录集
+ * @throws Exception
+ */
+ public List getRsBySql(String sqlStr) throws Exception;
+
+ /**
+ * 通过传入标准sql语句获取记录集,并支持分页
+ * @param sqlStr SQL语句
+ * @param pageNo 页码
+ * @param pageSize 页面大小
+ * @return 返回记录集
+ * @throws Exception
+ */
+ public List getRsBySql(String sqlStr,int pageNo,int pageSize) throws Exception;
+
+ /**
+ * 通过传入hql语句获取记录集,并支持分页功能
+ * @param hqlStr HQL语句
+ * @param pageNo 页码
+ * @param pageSize 页面大小
+ * @return 返回记录集
+ * @throws Exception
+ */
+ public List getRsByHql(String hqlStr,int pageNo,int pageSize) throws Exception;
+
+ /**
+ * 批量删除数据
+ * @param hqlStr HQL语句
+ * @throws Exception
+ */
+ public void deleteHql(String hqlStr) throws Exception;
+
+ /**
+ * 通过传入hql语句获取记录集
+ * @param hqlStr HQL语句
+ * @return 返回记录集
+ * @throws Exception
+ */
+ public List getRsByHql(String hqlStr) throws Exception;
+
+ /**
+ * 通过传入标准sql语句获取记录集行数
+ * @param sqlStr SQL语句
+ * @return
+ * @throws Exception
+ */
+ public Integer getRsCountsBySql(String sqlStr) throws Exception;
+
+ /**
+ * 通过传入标准hql语句获取记录集行数
+ * @param hqlStr HQL语句
+ * @return
+ * @throws Exception
+ */
+ public Integer getRsCountsByHql(String hqlStr) throws Exception;
+
+ /**
+ * 删除数据
+ * @param object 实体对象
+ */
+ public void deleteObject(Object object) throws Exception;
+
+ /**
+ * 保存或更新一个实体对象
+ * @param object 实体对象
+ * @throws Exception 异常信息
+ */
+ public void saveOrUpdate(Object object) throws Exception;
+
+
+
+ /**
+ * 标准SQL语句修改数据
+ * @param sql
+ * @throws Exception
+ * */
+ public void updateSql (String sql) throws Exception;
+ /**
+ * 调用存储过程信息
+ * @param stroName
+ * @throws Exception
+ */
+ public void getcallStor(String stroName,String parm) throws Exception;
+
+ /**
+ * 执行标准SQL语句
+ * @param sql
+ * @throws Exception
+ * */
+ public void createView(String sql) throws Exception;
+
+
+ /**
+ * 获取单一对象
+ * @param hql
+ * @return Object
+ * @throws Exception
+ * */
+ public Object getObjectHql(String hql) throws Exception;
+}
diff --git a/src/main/java/com/dubh/common/dao/hibernate/BaseDaoHibernate.java b/src/main/java/com/dubh/common/dao/hibernate/BaseDaoHibernate.java
new file mode 100644
index 0000000..f2fb4a5
--- /dev/null
+++ b/src/main/java/com/dubh/common/dao/hibernate/BaseDaoHibernate.java
@@ -0,0 +1,674 @@
+package com.dubh.common.dao.hibernate;
+
+import com.dubh.common.dao.Dao;
+import org.hibernate.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.orm.ObjectRetrievalFailureException;
+import org.springframework.stereotype.Repository;
+
+import java.io.Serializable;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-5-15 上午11:20:08 类说明:公用方法实现类
+ */
+public class BaseDaoHibernate implements Dao {
+ @Autowired
+ private SessionFactory sessionFactory;
+
+ /*public void setSessionFactory(SessionFactory sessionFactory) {
+ this.sessionFactory = sessionFactory;
+ }*/
+
+
+ /**
+ * 添加对象
+ *
+ * @param object
+ * 实体类
+ * @throws Exception
+ */
+ public void saveObject(Object object) throws Exception {
+ Session session = null;
+ Transaction tx=null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory().openSession();
+ tx = session.beginTransaction();
+ String entityName = getEntityName(object);
+ session.save(entityName, object);
+ tx.commit();
+ } catch (Exception ex) {
+ if(tx !=null){
+ tx.rollback();
+ }
+ throw new RuntimeException("saveObject:" + ex);
+ } finally {
+
+ closeResouce(session);
+ }
+ }
+
+ public SessionFactory getSessionFactory() {
+ return sessionFactory;
+ }
+
+ /**
+ * 更新对象
+ *
+ * @param object
+ * 实体对象
+ * @throws Exception
+ */
+ public void updateObject(Object object) throws Exception {
+
+ Session session = null;
+ Transaction tx=null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory().openSession();
+ tx = session.beginTransaction();
+ String entityName = getEntityName(object);
+ session.update(entityName, object);
+ tx.commit();
+ } catch (Exception ex) {
+ if(tx !=null){
+ tx.rollback();
+ }
+ throw new RuntimeException("updateObject:" + ex);
+ } finally {
+ closeResouce(session);
+ }
+ }
+
+ /**
+ * 删除对象
+ *
+ * @param clazz
+ * 实体类
+ * @param id
+ * 主键
+ * @throws Exception
+ */
+ public void removeObject(Class clazz, Serializable id) throws Exception {
+ Session session = null;
+ Transaction tx = null;
+ try{
+ session = sessionFactory.getCurrentSession().getSessionFactory().openSession();
+ tx = session.beginTransaction();
+ session.delete(getObject(clazz, id));
+ tx.commit();
+ }catch(Exception ex){
+ if(null !=tx){
+ tx.rollback();
+ }
+ throw new RuntimeException("removeObject:" + ex);
+ }finally{
+ closeResouce(session);
+ }
+ }
+
+ /**
+ * 通过传入hql语句进行批量更新对象
+ *
+ * @param hqlStr
+ * HQL语句
+ * @throws Exception
+ */
+ public void updateHql(String hqlStr) throws Exception {
+ Session session = null;
+ Transaction tx = null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ tx = session.beginTransaction();
+ Query query = session.createQuery(hqlStr);
+ query.executeUpdate();
+ tx.commit();
+ } catch (Exception ex) {
+ if(tx !=null){
+ tx.rollback();
+ }
+ throw new RuntimeException("updateObjects" + ex);
+ } finally {
+
+ closeResouce(session);
+ }
+
+ }
+
+ /**
+ * 获取单一对象
+ *
+ * @param clazz
+ * 实体类
+ * @param id
+ * 主键
+ * @return
+ */
+ public Object getObject(Class clazz, Serializable id) {
+ Object o = sessionFactory.getCurrentSession().get(clazz, id);
+
+ if (o == null) {
+ throw new ObjectRetrievalFailureException(clazz, id);
+ }
+
+ return o;
+ }
+
+ /**
+ * 通过传入hql语句获取记录集,并支持分页功能
+ *
+ * @param hqlStr
+ * HQL语句
+ * @param pageNo
+ * 页码
+ * @param pageSize
+ * 页面大小
+ * @return 返回记录集
+ * @throws Exception
+ */
+ public List getRsByHql(String hqlStr, int pageNo, int pageSize)
+ throws Exception {
+ List list = new ArrayList();
+ Session session = null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ Query query = session.createQuery(hqlStr);
+ query.setFirstResult(getFirstSize(pageNo, pageSize));
+ query.setMaxResults(pageSize);
+ list = query.list();
+ System.out.println(list);
+ return list;
+ } catch (HibernateException ex) {
+ throw new RuntimeException("getRsByHql" + ex);
+ } finally {
+ closeResouce(session);
+ }
+ }
+
+ /**
+ * 通过传入标准sql语句获取记录集
+ *
+ * @param sqlStr
+ * SQL语句
+ * @return 返回记录集
+ * @throws Exception
+ */
+ public List getRsBySql(String sqlStr) throws Exception {
+ Session session = null;
+ try {
+ long startTime=System.currentTimeMillis();
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ SQLQuery sqlQuery = session.createSQLQuery(sqlStr);
+ System.out.println("getRsBySql1:"+(System.currentTimeMillis()-startTime));
+ List list=sqlQuery.list();
+ System.out.println("getRsBySql2:"+(System.currentTimeMillis()-startTime));
+ return list;
+ } catch (HibernateException ex) {
+ throw new RuntimeException("getRsBySql: " + ex);
+ } finally {
+ closeResouce(session);
+ }
+ }
+
+ /**
+ * 通过传入标准sql语句获取记录集,并支持分页
+ *
+ * @param sqlStr
+ * SQL语句
+ * @param pageNo
+ * 页码
+ * @param pageSize
+ * 页面大小
+ * @return 返回记录集
+ * @throws Exception
+ */
+ public List getRsBySql(String sqlStr, int pageNo, int pageSize)
+ throws Exception {
+ Session session = null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ SQLQuery sqlQuery = session.createSQLQuery(sqlStr);
+ // sqlQuery.list().size();
+ sqlQuery.setFirstResult(getFirstSize(pageNo, pageSize));
+ sqlQuery.setMaxResults(pageSize);
+ return sqlQuery.list();
+ } catch (HibernateException ex) {
+ throw new RuntimeException("getRsBySql: " + ex);
+ } finally {
+ closeResouce(session);
+ }
+ }
+
+ /**
+ * 通过传入标准sql语句获取记录集行数
+ *
+ * @param sqlStr
+ * SQL语句
+ * @return 返回记录集数量
+ * @throws Exception
+ */
+ public Integer getRsCountsBySql(String sqlStr) throws Exception {
+ // TODO Auto-generated method stub
+ Session session = null;
+ Integer count = new Integer(0);
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ SQLQuery sqlQuery = session.createSQLQuery(sqlStr);
+ List list = sqlQuery.list();
+ if (null != list && list.size() > 0) {
+ count = list.size();
+ }
+ return count;
+ } catch (HibernateException ex) {
+ throw new RuntimeException("getRsCountsBySql: " + ex);
+
+ } finally {
+ closeResouce(session);
+ }
+ }
+ /**
+ * 通过传入标准hql语句获取记录集行数
+ *
+ * @param hqlStr
+ * SQL语句
+ * @return 返回记录集数量
+ * @throws Exception
+ */
+ public Integer getRsCountsBySelectHql(String hqlStr) throws Exception {
+ // TODO Auto-generated method stub
+ Session session = null;
+ Integer count = new Integer(0);
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ String countsql="select count(*)"+hqlStr.substring(hqlStr.toLowerCase().indexOf("from"));
+
+ //createSQLQuery和createQuery
+ count = Integer.valueOf(session.createQuery(countsql).uniqueResult().toString());
+
+ return count;
+ } catch (HibernateException ex) {
+ throw new RuntimeException("getRsCountsBySql: " + ex);
+
+ } finally {
+ closeResouce(session);
+ }
+ }
+
+ /**
+ * 通过传入标准sql语句获取记录集行数
+ *
+ * @param sqlStr
+ * SQL语句
+ * @return 返回记录集数量
+ * @throws Exception
+ */
+ public Integer getRsCountsBySelectSql(String sqlStr) throws Exception {
+ // TODO Auto-generated method stub
+ Session session = null;
+ Integer count = new Integer(0);
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+// String countsql="select count(*)"+sqlStr.substring(sqlStr.toLowerCase().indexOf("from"));
+ String countsql="select count(*)"+sqlStr.substring(sqlStr.toLowerCase().lastIndexOf("from"));
+ //createSQLQuery和createQuery
+ count = Integer.valueOf(session.createSQLQuery(countsql).uniqueResult().toString());
+
+ return count;
+ } catch (HibernateException ex) {
+ throw new RuntimeException("getRsCountsBySql: " + ex);
+
+ } finally {
+ closeResouce(session);
+ }
+ }
+
+ /**
+ * 通过传入标准sql语句获取单个sql执行语句
+ *
+ * @param sqlStr
+ * SQL语句
+ * @return 返回记录集数量
+ * @throws Exception
+ */
+ public Double getRsSingleCountsBySelectSql(String sqlStr) throws Exception {
+ Session session = null;
+ Double count = new Double(0);
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ String countsql=sqlStr;
+
+ count = Double.valueOf((session.createSQLQuery(countsql).uniqueResult()).toString());
+
+ return count;
+ } catch (HibernateException ex) {
+ throw new RuntimeException("getRsCountsBySql: " + ex);
+
+ }catch (NullPointerException ex) {
+ ex.printStackTrace();
+ return 0.0;
+
+ } finally {
+ closeResouce(session);
+ }
+ }
+ /**
+ * 通过传入标准hql语句获取记录集行数
+ *
+ * @param hqlStr
+ * HQL语句
+ * @throws Exception
+ */
+ public Integer getRsCountsByHql(String hqlStr) throws Exception {
+ // TODO Auto-generated method stub
+ Session session = null;
+ Integer count = new Integer(0);
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ Query query = session.createQuery(hqlStr);
+ List list = query.list();
+ if (null != list && list.size() > 0) {
+ count = list.size();
+ }
+ return count;
+ } catch (HibernateException ex) {
+ throw new RuntimeException("getRsCountsByHql:" + ex);
+
+ } finally {
+ closeResouce(session);
+ }
+ }
+
+ /**
+ * 通过传入hql语句获取记录集
+ *
+ * @param hqlStr
+ * HQL语句
+ * @return 返回记录集
+ * @throws Exception
+ */
+ public List getRsByHql(String hqlStr) throws Exception {
+ Query query = sessionFactory.getCurrentSession().createQuery(hqlStr);
+ return query.list();
+ }
+
+ /**
+ * 批量删除数据
+ *
+ * @param hqlStr
+ * HQL语句
+ * @throws Exception
+ */
+ public void deleteHql(String hqlStr) throws Exception {
+ Session session = null;
+ Transaction tx = null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ tx = session.beginTransaction();
+ Query query = session.createQuery(hqlStr);
+ query.executeUpdate();
+ tx.commit();
+ } catch (Exception ex) {
+ if(tx !=null){
+ tx.rollback();
+ }
+ throw new RuntimeException("deleteHql:" + ex);
+ } finally {
+ closeResouce(session);
+ }
+
+ }
+
+ /**
+ * 删除数据
+ *
+ * @param object
+ * 实体对象
+ */
+ public void deleteObject(Object object) throws Exception {
+ Session session =null;
+ Transaction tx = null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory().openSession();
+ tx = session.beginTransaction();
+ session.delete(object);
+ tx.commit();
+ } catch (Exception e) {
+ if(tx !=null){
+ tx.rollback();
+ }
+ throw new RuntimeException("deleteObject:" + e);
+ }finally{
+ closeResouce(session);
+ }
+ }
+
+ /**
+ * 关闭资源
+ *
+ * @param object
+ * @throws Exception
+ */
+ protected void closeResouce(Object object) throws Exception {
+ if (null == object)
+ return;
+
+ if (object instanceof Connection) {
+ Connection conn = (Connection) object;
+ conn.close();
+ } else if (object instanceof Statement) {
+ Statement statement = (Statement) object;
+ statement.close();
+ } else if (object instanceof PreparedStatement) {
+ PreparedStatement prepared = (PreparedStatement) object;
+ prepared.close();
+ } else if (object instanceof ResultSet) {
+ ResultSet rs = (ResultSet) object;
+ rs.close();
+ } else if (object instanceof Session) {
+ Session session = (Session) object;
+ session.close();
+ }
+
+ }
+
+ /**
+ * 获得实体对象名称
+ *
+ * @param object
+ * 实体对象
+ * @return
+ */
+ private String getEntityName(Object object) {
+ String entityName = new String("");
+ try {
+ Class objectClass = object.getClass();
+ entityName = objectClass.getName();
+ } catch (Exception ex) {
+ throw new RuntimeException("" + ex);
+ }
+ return entityName;
+ }
+
+ /**
+ * 保存或更新一个实体对象
+ *
+ * @param object
+ * 实体对象
+ * @throws Exception
+ * 异常信息
+ */
+ public void saveOrUpdate(Object object) throws Exception {
+ Session session =null;
+ Transaction tx = null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory().openSession();
+ tx = session.beginTransaction();
+ session.saveOrUpdate(object);
+ session.flush();
+ session.clear();
+ tx.commit();
+ } catch (Exception e) {
+ if(tx !=null){
+ tx.rollback();
+ }
+ throw new RuntimeException("saveOrUpdate " + e);
+ }finally{
+ closeResouce(session);
+ }
+
+ }
+
+ /**
+ * 获得当前分页开始的记录数
+ *
+ * @param pageNo
+ * 页码
+ * @param pageSize
+ * 页面大小
+ * @return 当前分页开始记录数
+ */
+ private int getFirstSize(int pageNo, int pageSize) {
+ int firstSize = 0;
+ firstSize = (pageNo - 1) * pageSize;
+ return firstSize;
+ }
+
+ public void updateSql(String sql) throws Exception {
+ Session session = null;
+ Transaction tx = null;
+ try {
+ session = getSession();
+ tx = session.beginTransaction();
+ SQLQuery query = session.createSQLQuery(sql);
+ query.executeUpdate();
+ tx.commit();
+ } catch (Exception ex) {
+ if(tx !=null){
+ tx.rollback();
+ }
+ throw new RuntimeException("updateSql:" + ex);
+ } finally {
+ closeResouce(session);
+ }
+ }
+
+ /**
+ * 调用存储过程信息
+ *
+ * @param stroName
+ * @throws Exception
+ */
+ public void getcallStor(String stroName, String parm) throws Exception {
+ Session session = null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ String proc = "{ call " + stroName + "(:param) }";
+ SQLQuery query = session.createSQLQuery(proc);
+ if (null != parm && !"".equals(parm)) {
+ query.setParameter("param", parm);
+ }
+ query.executeUpdate();
+ } catch (Exception ex) {
+
+ throw new RuntimeException("getcallStor:" + ex);
+
+ } finally {
+
+ closeResouce(session);
+ }
+ }
+
+ public void createView(String sqlStr) throws Exception {
+ Session session = null;
+ Transaction tx = null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ tx = session.beginTransaction();
+ SQLQuery query = sessionFactory.getCurrentSession().createSQLQuery(
+ sqlStr);
+ query.executeUpdate();
+ tx.commit();
+ } catch (Exception ex) {
+ if(tx !=null){
+ tx.rollback();
+ }
+ throw new RuntimeException("createView:" + ex);
+
+ } finally {
+
+ closeResouce(session);
+ }
+
+
+ }
+
+ public void deletes(String hqlStr) throws Exception {
+ Session session = null;
+ Transaction tx = null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ tx = session.beginTransaction();
+ Query query = session.createQuery(hqlStr);
+ query.executeUpdate();
+ tx.commit();
+ } catch (Exception ex) {
+ if(tx !=null){
+ tx.rollback();
+ }
+ throw new RuntimeException("deletes:" + ex);
+
+ } finally {
+
+ closeResouce(session);
+ }
+
+ }
+
+ @Override
+ public Object getObjectHql(String hql) throws Exception {
+ // TODO Auto-generated method stub
+ Session session = null;
+ Object obj = null;
+ try {
+ session = sessionFactory.getCurrentSession().getSessionFactory()
+ .openSession();
+ Query query = session.createQuery(hql);
+ obj = query.uniqueResult();
+ } catch (Exception ex) {
+ throw new RuntimeException("getObjectHql:" + ex);
+ } finally {
+ closeResouce(session);
+ }
+
+ return obj;
+ }
+
+
+ public Session getSession() {
+ Session session = null;
+ if(null==session || false==session.isOpen()){
+ session = sessionFactory.openSession();
+ }else{
+ session=sessionFactory.getCurrentSession();
+ }
+ return session;
+ }
+}
diff --git a/src/main/java/com/dubh/common/dto/BaseDto.java b/src/main/java/com/dubh/common/dto/BaseDto.java
new file mode 100644
index 0000000..852f051
--- /dev/null
+++ b/src/main/java/com/dubh/common/dto/BaseDto.java
@@ -0,0 +1,31 @@
+package com.dubh.common.dto;
+
+import java.io.Serializable;
+
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-5-15 上午11:23:33
+ * 类说明 实体类序列化及分页参数封装
+ */
+public class BaseDto implements Serializable {
+ protected int pageNo = 0;
+ protected int pageSize =0;
+
+ public int getPageNo() {
+ return pageNo;
+ }
+
+ public void setPageNo(int pageNo) {
+ this.pageNo = pageNo;
+ }
+
+ public int getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(int pageSize) {
+ this.pageSize = pageSize;
+ }
+
+
+}
diff --git a/src/main/java/com/dubh/common/file/Downfile.java b/src/main/java/com/dubh/common/file/Downfile.java
new file mode 100644
index 0000000..d68bb98
--- /dev/null
+++ b/src/main/java/com/dubh/common/file/Downfile.java
@@ -0,0 +1,60 @@
+package com.dubh.common.file;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-8-12 下午7:17:21
+ * 类说明
+ */
+public class Downfile {
+
+ public static void DownloadFile(HttpServletRequest request,HttpServletResponse response,String filename){
+ //获取网站部署路径(通过ServletContext对象),用于确定下载文件位置,从而实现下载
+ String path = request.getSession().getServletContext().getRealPath("attached")+File.separator+filename;
+ File file = null;
+ try {
+ file = new File(path);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ if(null!=file){
+ if(file.exists()){
+ try {
+ //弹出下载对话框
+ response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(file.getName(), "utf-8"));
+ OutputStream os = os=response.getOutputStream();
+ InputStream is= is=new FileInputStream(file);
+ BufferedInputStream bis=new BufferedInputStream(is);
+ BufferedOutputStream bos= new BufferedOutputStream(os);
+ //用输入流进行先读,然后用输出流去写
+ int bytesRead = 0;
+ byte[] buffer = new byte[8192];
+ while ((bytesRead = bis.read(buffer, 0, 8192)) != -1) {
+ bos.write(buffer, 0, bytesRead);
+ }
+ bos.flush();
+ bos.close();
+ bis.close();
+ os.flush();
+ os.close();
+ is.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/dubh/common/file/UploadFile.java b/src/main/java/com/dubh/common/file/UploadFile.java
new file mode 100644
index 0000000..756cdfc
--- /dev/null
+++ b/src/main/java/com/dubh/common/file/UploadFile.java
@@ -0,0 +1,243 @@
+package com.dubh.common.file;
+import java.io.File;
+import java.util.Iterator;
+import java.util.UUID;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import com.util.RequestUtil;
+
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-5-18 下午8:29:45
+ *
+ * 类说明 :文件上传
+ */
+public class UploadFile {
+
+
+ /**
+ * 多文件上传
+ * @param HttpServletRequest
+ * @param HttpServletResponse
+ * @return JSONArray
+ * */
+ public static JSONArray uploadmore(HttpServletRequest request,
+ HttpServletResponse response) {
+ JSONArray array = new JSONArray();
+ try {
+ // 创建一个通用的多部分解析器
+ CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
+ request.getSession().getServletContext());
+ // 判断 request 是否有文件上传,即多部分请求
+ if (multipartResolver.isMultipart(request)) {
+ // 转换成多部分request
+ MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
+ // 取得request中的所有文件名
+ Iterator iter = multiRequest.getFileNames();
+ while (iter.hasNext()) {
+ JSONObject object = new JSONObject();
+ // 记录上传过程起始时的时间,用来计算上传时间
+ int pre = (int) System.currentTimeMillis();
+ // 取得上传文件
+ MultipartFile file = multiRequest.getFile(iter.next());
+ if (file != null) {
+ // 取得当前上传文件的文件名称
+ String myFileName = file.getOriginalFilename();
+ // 如果名称不为“”,说明该文件存在,否则说明该文件不存在
+ if (myFileName.trim() != "") {
+ String oldname = myFileName;
+ object.put("filename",oldname);
+ object.put("filekj", file.getName());
+ //定义上传路径命名新文件夹
+ String mkfile = RequestUtil.getid(0);
+ //判断新文件夹是否存在
+ String paths = request.getSession().getServletContext().getRealPath("attached")+"/"+mkfile;
+ File newfile = new File(paths);
+ if(!newfile.exists()){
+ newfile.mkdir();
+ }
+ //新文件名称
+ String newfilename=RequestUtil.getid(3)+"."+RequestUtil.getExtensionName(myFileName);
+ //文件绝对路径
+ String path = paths+"/"+ newfilename;
+ File localFile = new File(path);
+ file.transferTo(localFile);
+ //文件相对路径
+ String filepath = "/"+"attached"+"/"+mkfile+"/"+newfilename;
+ object.put("filepath",filepath);
+ // 记录上传该文件后的时间
+ int finaltime = (int) System.currentTimeMillis();
+ int time = finaltime - pre;
+ object.put("time",time);
+ array.put(object);
+ }
+ }
+ }
+
+ }
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ return array;
+ }
+
+
+
+
+
+ /***
+ *
+ * 单文件上传
+ * @param HttpServletRequest
+ * @param HttpServletResponse
+ * @return JSONObject
+ * */
+ public static JSONObject uploadone(HttpServletRequest request,
+ HttpServletResponse response) {
+ JSONObject object = new JSONObject();
+ String oldname ="";
+ String filepath="";
+ int time =0;
+ try {
+ // 创建一个通用的多部分解析器
+ CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
+ request.getSession().getServletContext());
+ // 判断 request 是否有文件上传,即多部分请求
+ if (multipartResolver.isMultipart(request)) {
+ // 转换成多部分request
+ MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
+ // 取得request中的所有文件名
+ Iterator iter = multiRequest.getFileNames();
+ while (iter.hasNext()) {
+ // 记录上传过程起始时的时间,用来计算上传时间
+ int pre = (int) System.currentTimeMillis();
+ // 取得上传文件
+ MultipartFile file = multiRequest.getFile(iter.next());
+ if (file != null) {
+ // 取得当前上传文件的文件名称
+ String myFileName = file.getOriginalFilename();
+ // 如果名称不为“”,说明该文件存在,否则说明该文件不存在
+ if (myFileName.trim() != "") {
+ oldname = myFileName;
+
+ //定义上传路径命名新文件夹
+ String mkfile = RequestUtil.getid(5);
+ //判断新文件夹是否存在
+ String paths = request.getSession().getServletContext().getRealPath("attached")+"/"+mkfile;
+ File newfile = new File(paths);
+ if(!newfile.exists()){
+ newfile.mkdir();
+ }
+ //新文件名称
+ String newfilename=RequestUtil.getid(3)+"."+RequestUtil.getExtensionName(myFileName);
+ //文件绝对路径
+ String path = paths+"/"+ newfilename;
+ File localFile = new File(path);
+ file.transferTo(localFile);
+ //文件相对路径
+ filepath = "/"+"attached"+"/"+mkfile+"/"+newfilename;
+
+ }
+ }
+ // 记录上传该文件后的时间
+ int finaltime = (int) System.currentTimeMillis();
+ time = finaltime - pre;
+
+ }
+
+ }
+ object.put("time",time);
+ object.put("filename",oldname);
+ object.put("filepath",filepath);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ return object;
+ }
+
+
+
+ /**
+ * 多文件上传(仅供与检测端使用)
+ * @param HttpServletRequest
+ * @param HttpServletResponse
+ * @return JSONArray
+ * */
+ public static JSONArray uploadmore2(HttpServletRequest request,
+ HttpServletResponse response,String id) {
+ JSONArray array = new JSONArray();
+ try {
+ // 创建一个通用的多部分解析器
+ CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
+ // 判断 request 是否有文件上传,即多部分请求
+ if (multipartResolver.isMultipart(request)) {
+ // 转换成多部分request
+ MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
+ // 取得request中的所有文件名
+ Iterator iter = multiRequest.getFileNames();
+ while (iter.hasNext()) {
+ JSONObject object = new JSONObject();
+ // 记录上传过程起始时的时间,用来计算上传时间
+ int pre = (int) System.currentTimeMillis();
+ // 取得上传文件
+ MultipartFile file = multiRequest.getFile(iter.next());
+ synchronized (file) {
+ if (file != null) {
+ // 取得当前上传文件的文件名称
+ String myFileName = file.getOriginalFilename();
+ // 如果名称不为“”,说明该文件存在,否则说明该文件不存在
+ if (myFileName.trim() != "") {
+ String oldname = myFileName;
+ oldname=oldname.replaceAll("_", "");
+ object.put("filename",oldname);
+ object.put("filekj", file.getName());
+ object.put("filesize", file.getSize()/1024);
+ String type=oldname.substring((oldname.lastIndexOf(".")+1),oldname.length());
+ object.put("type", type);
+ //定义上传路径命名新文件夹
+ String mkfile =id;
+ //判断新文件夹是否存在
+ String paths = request.getSession().getServletContext().getRealPath("attached")+"/"+mkfile;
+ File newfile = new File(paths);
+ if(!newfile.exists()){
+ newfile.mkdir();
+ }
+ //新文件名称
+// String newfilename=RequestUtil.getid(3)+"."+RequestUtil.getExtensionName(myFileName);
+ String newfilename=UUID.randomUUID()+"."+RequestUtil.getExtensionName(myFileName);
+ //文件绝对路径
+// String path = paths+"/"+ oldname;
+ String path = paths+"/"+ newfilename;
+ File localFile = new File(path);
+ file.transferTo(localFile);
+ //文件相对路径
+// String filepath = "/"+"attached"+"/"+mkfile+"/"+oldname;
+ String filepath = "/"+"attached"+"/"+mkfile+"/"+newfilename;
+ object.put("filepath",filepath);
+ // 记录上传该文件后的时间
+ int finaltime = (int) System.currentTimeMillis();
+ int time = finaltime - pre;
+ System.out.println(file.getName()+":"+filepath);
+ object.put("time",time);
+ array.put(object);
+ }
+ }
+ }
+ }
+
+ }
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ return array;
+ }
+
+}
diff --git a/src/main/java/com/dubh/sysconfig/EacheConfig.java b/src/main/java/com/dubh/sysconfig/EacheConfig.java
new file mode 100644
index 0000000..ee794ed
--- /dev/null
+++ b/src/main/java/com/dubh/sysconfig/EacheConfig.java
@@ -0,0 +1,21 @@
+package com.dubh.sysconfig;
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-8-14 上午9:04:13
+ * 类说明
+ */
+public class EacheConfig {
+ //当前方法名
+ public static final String methodnames = "#root.methodName";
+ //当前方法
+ public static final String methodname = "#root.method.name";
+ //当前被调用的对象
+ public static final String targetobject = "#root.target";
+ //当前被调用的对象的class
+ public static final String targetclass = "#root.targetClass";
+ //当前方法参数组成的数组
+ public static final String args = "#root.args[0]";
+ //当前被调用的方法使用的Cache
+ public static final String caches = "#root.caches[0].name";
+
+}
diff --git a/src/main/java/com/dubh/sysconfig/ehcache.xml b/src/main/java/com/dubh/sysconfig/ehcache.xml
new file mode 100644
index 0000000..01df772
--- /dev/null
+++ b/src/main/java/com/dubh/sysconfig/ehcache.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/com/dubh/sysconfig/group.properties b/src/main/java/com/dubh/sysconfig/group.properties
new file mode 100644
index 0000000..11ff692
--- /dev/null
+++ b/src/main/java/com/dubh/sysconfig/group.properties
@@ -0,0 +1,3 @@
+functiontype=user
+initpassword=111111
+userexportcoll=\u90E8\u95E8\u540D\u79F0,\u7528\u6237\u59D3\u540D,\u7528\u6237\u5E10\u53F7,\u6027\u522B,\u8054\u7CFB\u7535\u8BDD,\u90AE\u7BB1,\u7528\u6237\u804C\u79F0,\u6BD5\u4E1A\u9662\u6821,\u7C4D\u8D2F,\u6C11\u65CF,\u8EAB\u4EFD\u8BC1\u53F7\u7801,\u6237\u7C4D\u5730\u5740,\u5C45\u4F4F\u5730\u5740,\u7528\u6237\u63CF\u8FF0
\ No newline at end of file
diff --git a/src/main/java/com/dubh/syslog/annotation/SystemControllerAfterLog.java b/src/main/java/com/dubh/syslog/annotation/SystemControllerAfterLog.java
new file mode 100644
index 0000000..530c5c0
--- /dev/null
+++ b/src/main/java/com/dubh/syslog/annotation/SystemControllerAfterLog.java
@@ -0,0 +1,16 @@
+package com.dubh.syslog.annotation;
+import java.lang.annotation.*;
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-5-18 下午12:43:33
+ * 类说明 :自定义注解 后置通知拦截Controller
+ */
+@Target({ElementType.PARAMETER, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface SystemControllerAfterLog {
+
+ String description() default "";
+
+}
+
diff --git a/src/main/java/com/dubh/syslog/annotation/SystemControllerBeforeLog.java b/src/main/java/com/dubh/syslog/annotation/SystemControllerBeforeLog.java
new file mode 100644
index 0000000..33525dd
--- /dev/null
+++ b/src/main/java/com/dubh/syslog/annotation/SystemControllerBeforeLog.java
@@ -0,0 +1,16 @@
+package com.dubh.syslog.annotation;
+import java.lang.annotation.*;
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-5-18 下午12:43:33
+ * 类说明 :自定义注解 前置通知拦截Controller
+ */
+@Target({ElementType.PARAMETER, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface SystemControllerBeforeLog {
+
+ String description() default "";
+
+}
+
diff --git a/src/main/java/com/dubh/syslog/annotation/SystemLogAspect.java b/src/main/java/com/dubh/syslog/annotation/SystemLogAspect.java
new file mode 100644
index 0000000..a5c1a1e
--- /dev/null
+++ b/src/main/java/com/dubh/syslog/annotation/SystemLogAspect.java
@@ -0,0 +1,263 @@
+package com.dubh.syslog.annotation;
+
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.*;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+
+import com.util.RequestUtil;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.lang.reflect.Method;
+
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-5-18 下午12:46:28 类说明:切入点
+ */
+@Aspect
+@Component
+public class SystemLogAspect {
+ // 注入Service用于把日志保存数据库
+// @Resource(name = "syslogservice")
+// private SyslogService syslogservice;
+
+ // Service层切点
+ @Pointcut("@annotation(com.dubh.syslog.annotation.SystemServiceLog)")
+ public void serviceAspect() {
+ }
+
+ // 前置Controller层切点
+ @Pointcut("@annotation(com.dubh.syslog.annotation.SystemControllerBeforeLog)")
+ public void controllerBeforeAspect() {
+ }
+
+ // 后置Controller层切点
+ @Pointcut("@annotation(com.dubh.syslog.annotation.SystemControllerAfterLog)")
+ public void controllerAfterAspect() {
+ }
+
+ /**
+ * 前置通知 用于拦截Controller层记录用户的操作
+ *
+ * @param joinPoint
+ * 切点
+ */
+ @Before("controllerBeforeAspect()")
+ public void doBefore(JoinPoint joinPoint) {
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
+ .getRequestAttributes()).getRequest();
+// // 读取session中的用户
+// Tblsysuser user = SessionUser.getsession(request);
+// String loginname = "";
+// String loginkey = "";
+// String loginaccount = "";
+// if (null != user) {
+// loginname = user.getSysusername();
+// loginkey = user.getSysuserkey();
+// loginaccount = user.getSysaccount();
+// }
+// // 请求的IP
+// String ip = RequestUtil.getIpAddr(request);
+// try {
+// Tblsyslog loginfo = new Tblsyslog();
+// loginfo.setSyslogkey(RequestUtil.getid(6));
+// loginfo.setSysuserkey(loginkey);
+// loginfo.setSysuseraccount(loginaccount);
+// loginfo.setSysusername(loginname);
+// loginfo.setSyspagename(joinPoint.getTarget().getClass().getName()
+// + "." + joinPoint.getSignature().getName());
+// loginfo.setSysclassnameen(joinPoint.getTarget().getClass()
+// .getName());
+// loginfo.setSyslogmothoden(joinPoint.getSignature().getName());
+// loginfo.setSyslogmothodcn(getControllerBeforeMethodDescription(joinPoint));
+// loginfo.setSysipaddress(ip);
+// loginfo.setSyslogdate(RequestUtil.getDateTime());
+//// syslogservice.savelog(loginfo);
+// } catch (Exception e) {
+// // 记录本地异常日志
+// System.out.println("==前置通知异常==");
+// System.out.println("异常信息:{}" + e.getMessage());
+// }
+ }
+
+ /**
+ * 后置通知 用于拦截Controller层记录用户的操作
+ *
+ * @param joinPoint
+ * 切点
+ */
+ @After("controllerAfterAspect()")
+ public void doAfter(JoinPoint joinPoint) {
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
+ .getRequestAttributes()).getRequest();
+ // 读取session中的用户
+// Tblsysuser user = SessionUser.getsession(request);
+// String loginname = "";
+// String loginaccount = "";
+// String loginkey ="";
+// if(null !=user){
+// loginname = user.getSysusername();
+// loginaccount = user.getSysaccount();
+// loginkey = user.getSysuserkey();
+// }
+// // 请求的IP
+// String ip = RequestUtil.getIpAddr(request);
+// try {
+// Tblsyslog loginfo = new Tblsyslog();
+// loginfo.setSyslogkey(RequestUtil.getid(6));
+// loginfo.setSysuserkey(loginkey);
+// loginfo.setSysuseraccount(loginaccount);
+// loginfo.setSysusername(loginname);
+// loginfo.setSyspagename(joinPoint.getTarget().getClass().getName()
+// + "." + joinPoint.getSignature().getName());
+// loginfo.setSysclassnameen(joinPoint.getTarget().getClass()
+// .getName());
+// loginfo.setSyslogmothoden(joinPoint.getSignature().getName());
+// loginfo.setSyslogmothodcn(getControllerAfterMethodDescription(joinPoint));
+// loginfo.setSysipaddress(ip);
+// loginfo.setSyslogdate(RequestUtil.getDateTime());
+//// syslogservice.savelog(loginfo);
+// } catch (Exception e) {
+// // 记录本地异常日志
+// System.out.println("==后置通知异常==");
+// System.out.println("异常信息:{}" + e.getMessage());
+// }
+ }
+
+ /**
+ * 异常通知 用于拦截service层记录异常日志
+ *
+ * @param joinPoint
+ * @param e
+ */
+ @AfterThrowing(pointcut = "serviceAspect()", throwing = "e")
+ public void doAfterThrowing(JoinPoint joinPoint, Throwable e) {
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
+ .getRequestAttributes()).getRequest();
+// // 读取session中的用户
+// Tblsysuser user = SessionUser.getsession(request);
+// // 获取请求ip
+// String ip = request.getRemoteAddr();
+// // 获取用户请求方法的参数并序列化为JSON格式字符串
+// String params = "";
+// if (joinPoint.getArgs() != null && joinPoint.getArgs().length > 0) {
+// for (int i = 0; i < joinPoint.getArgs().length; i++) {
+// params += joinPoint.getArgs()[i] + ";";
+// }
+// }
+// try {
+// /* ========控制台输出========= */
+// System.out.println("=====异常通知开始=====");
+// System.out.println("异常代码:" + e.getClass().getName());
+// System.out.println("异常信息:" + e.getMessage());
+// System.out.println("异常方法:"
+// + (joinPoint.getTarget().getClass().getName() + "."
+// + joinPoint.getSignature().getName() + "()"));
+// System.out.println("方法描述:" + getServiceMthodDescription(joinPoint));
+// System.out.println("请求人:" + user.getSysusername());
+// System.out.println("请求IP:" + ip);
+// System.out.println("请求参数:" + params);
+// /* ==========数据库日志========= */
+// System.out.println("=====异常通知结束=====");
+// } catch (Exception ex) {
+// // 记录本地异常日志
+// System.out.println("==异常通知异常==");
+// System.out.println("异常信息:{}" + ex.getMessage());
+// }
+// /* ==========记录本地异常日志========== */
+// System.out.println("异常方法:" + joinPoint.getTarget().getClass().getName()
+// + joinPoint.getSignature().getName());
+// System.out.println("异常代码:" + e.getClass().getName());
+// System.out.println("异常信息:" + e.getMessage());
+// System.out.println("参数:" + params);
+ }
+
+ /**
+ * 获取注解中对方法的描述信息 用于service层注解
+ *
+ * @param joinPoint
+ * 切点
+ * @return 方法描述
+ * @throws Exception
+ */
+ public static String getServiceMthodDescription(JoinPoint joinPoint)
+ throws Exception {
+ String targetName = joinPoint.getTarget().getClass().getName();
+ String methodName = joinPoint.getSignature().getName();
+ Object[] arguments = joinPoint.getArgs();
+ Class targetClass = Class.forName(targetName);
+ Method[] methods = targetClass.getMethods();
+ String description = "";
+ for (Method method : methods) {
+ if (method.getName().equals(methodName)) {
+ Class[] clazzs = method.getParameterTypes();
+ if (clazzs.length == arguments.length) {
+ description = method.getAnnotation(SystemServiceLog.class)
+ .description();
+ break;
+ }
+ }
+ }
+ return description;
+ }
+
+ /**
+ * 获取注解中对方法的描述信息 用于Controller层注解
+ *
+ * @param joinPoint
+ * 切点
+ * @return 方法描述
+ * @throws Exception
+ */
+ public static String getControllerAfterMethodDescription(JoinPoint joinPoint)
+ throws Exception {
+ String targetName = joinPoint.getTarget().getClass().getName();
+ String methodName = joinPoint.getSignature().getName();
+ Object[] arguments = joinPoint.getArgs();
+ Class targetClass = Class.forName(targetName);
+ Method[] methods = targetClass.getMethods();
+ String description = "";
+ for (Method method : methods) {
+ if (method.getName().equals(methodName)) {
+ Class[] clazzs = method.getParameterTypes();
+ if (clazzs.length == arguments.length) {
+ description = method.getAnnotation(
+ SystemControllerAfterLog.class).description();
+ break;
+ }
+ }
+ }
+ return description;
+ }
+
+ /**
+ * 获取注解中对方法的描述信息 用于Controller层注解
+ *
+ * @param joinPoint
+ * 切点
+ * @return 方法描述
+ * @throws Exception
+ */
+ public static String getControllerBeforeMethodDescription(
+ JoinPoint joinPoint) throws Exception {
+ String targetName = joinPoint.getTarget().getClass().getName();
+ String methodName = joinPoint.getSignature().getName();
+ Object[] arguments = joinPoint.getArgs();
+ Class targetClass = Class.forName(targetName);
+ Method[] methods = targetClass.getMethods();
+ String description = "";
+ for (Method method : methods) {
+ if (method.getName().equals(methodName)) {
+ Class[] clazzs = method.getParameterTypes();
+ if (clazzs.length == arguments.length) {
+ description = method.getAnnotation(
+ SystemControllerBeforeLog.class).description();
+ break;
+ }
+ }
+ }
+ return description;
+ }
+}
diff --git a/src/main/java/com/dubh/syslog/annotation/SystemServiceLog.java b/src/main/java/com/dubh/syslog/annotation/SystemServiceLog.java
new file mode 100644
index 0000000..f76fed5
--- /dev/null
+++ b/src/main/java/com/dubh/syslog/annotation/SystemServiceLog.java
@@ -0,0 +1,20 @@
+package com.dubh.syslog.annotation;
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-5-18 下午12:45:10
+ * 类说明:自定义注解 拦截service
+ */
+@Target({ElementType.PARAMETER, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface SystemServiceLog {
+
+ String description() default "";
+
+
+}
diff --git a/src/main/java/com/hessian/HessianService.java b/src/main/java/com/hessian/HessianService.java
new file mode 100644
index 0000000..ff452ef
--- /dev/null
+++ b/src/main/java/com/hessian/HessianService.java
@@ -0,0 +1,10 @@
+package com.hessian;
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-12-16 下午4:58:10
+ * 类说明
+ */
+public interface HessianService {
+
+ public String getName(String names);
+}
diff --git a/src/main/java/com/ljh/excel/annotation/ColumnAnnotation.java b/src/main/java/com/ljh/excel/annotation/ColumnAnnotation.java
new file mode 100644
index 0000000..01dc1d1
--- /dev/null
+++ b/src/main/java/com/ljh/excel/annotation/ColumnAnnotation.java
@@ -0,0 +1,15 @@
+package com.ljh.excel.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+//字段注解,对应excel里面的列
+public @interface ColumnAnnotation {
+ public String value() default "A";
+}
diff --git a/src/main/java/com/ljh/excel/bean/BaseBean.java b/src/main/java/com/ljh/excel/bean/BaseBean.java
new file mode 100644
index 0000000..07506ee
--- /dev/null
+++ b/src/main/java/com/ljh/excel/bean/BaseBean.java
@@ -0,0 +1,73 @@
+package com.ljh.excel.bean;
+
+import java.util.List;
+
+import com.ljh.excel.parser.BeanOperation;
+import com.ljh.excel.parser.Parser;
+
+public class BaseBean {
+ public List selectAll() {
+ Parser p = new Parser(this.getClass());
+ try {
+ List list = p.processAllSheets();
+// System.out.println(list);
+ return list;
+
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public List selectAll(String filename) throws Exception{
+ Parser p = new Parser(this.getClass());
+ try {
+ List list = p.processAllSheets(filename);
+// System.out.println(list);
+ return list;
+
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ throw e;
+ }
+ }
+
+ // ����һ��bean����ݼ��ϣ��Ḳ��ԭ�ȵ����
+ public void saveAll(List extends BaseBean> data) {
+ BeanOperation p = new BeanOperation();
+ try {
+ p.saveAll(data);
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ public boolean saveAll(List extends BaseBean> data, String filename) {
+ BeanOperation p = new BeanOperation();
+ try {
+ p.saveAll(data, filename);
+ return true;
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ public void addAll(List extends BaseBean> data) {
+ BeanOperation p = new BeanOperation();
+ try {
+ p.addAll(data);
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ public void deleteByIndex(int index) {
+ BeanOperation p = new BeanOperation();
+ p.deleteByIndex(index, this.getClass());
+ }
+}
diff --git a/src/main/java/com/ljh/excel/bean/factory/ExcelFactory.java b/src/main/java/com/ljh/excel/bean/factory/ExcelFactory.java
new file mode 100644
index 0000000..781d59a
--- /dev/null
+++ b/src/main/java/com/ljh/excel/bean/factory/ExcelFactory.java
@@ -0,0 +1,20 @@
+package com.ljh.excel.bean.factory;
+
+import java.io.File;
+
+public class ExcelFactory {
+ public static String PACTORYPATH = "";
+
+ private ExcelFactory() {
+ }
+
+ public static void instance(String path) {
+ PACTORYPATH = path;
+ File f = new File(path);
+ if (f.exists() && f.isDirectory()) {
+
+ }else{
+ f.mkdirs();
+ }
+ }
+}
diff --git a/src/main/java/com/ljh/excel/parser/BaseParser.java b/src/main/java/com/ljh/excel/parser/BaseParser.java
new file mode 100644
index 0000000..9ddea2d
--- /dev/null
+++ b/src/main/java/com/ljh/excel/parser/BaseParser.java
@@ -0,0 +1,100 @@
+package com.ljh.excel.parser;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.openxml4j.opc.OPCPackage;
+import org.apache.poi.xssf.eventusermodel.XSSFReader;
+import org.apache.poi.xssf.model.SharedStringsTable;
+import org.apache.poi.xssf.model.StylesTable;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+import com.ljh.excel.bean.factory.ExcelFactory;
+
+public class BaseParser {
+ public static ContentHandler handler;
+ protected List beanList = new ArrayList<>();
+ protected Class cls;
+ protected Object bean;
+ protected SharedStringsTable sst;
+ protected StylesTable stylesTable;
+
+ public void processFirstSheet(String filename) throws Exception {
+ OPCPackage pkg = OPCPackage.open(filename);
+ XSSFReader r = new XSSFReader(pkg);
+ SharedStringsTable sst = r.getSharedStringsTable();
+
+ XMLReader parser = fetchSheetParser(sst);
+ stylesTable = r.getStylesTable();
+ // To look up the Sheet Name / Sheet Order / rID,
+ // you need to process the core Workbook stream.
+ // Normally it's of the form rId# or rSheet#
+ InputStream sheet2 = r.getSheet("rId2");
+ InputSource sheetSource = new InputSource(sheet2);
+ parser.parse(sheetSource);
+ sheet2.close();
+ }
+
+ public List processAllSheets() throws Exception {
+
+ return processAllSheets(cls.getSimpleName());
+ }
+
+ public List processAllSheets(String filename) throws Exception {
+
+ OPCPackage pkg = OPCPackage.open(filename);
+ XSSFReader r = new XSSFReader(pkg);
+ SharedStringsTable sst = r.getSharedStringsTable();
+
+ XMLReader parser = fetchSheetParser(sst);
+ stylesTable = r.getStylesTable();
+
+ Iterator sheets = r.getSheetsData();
+ int i=0;
+ while (sheets.hasNext()) {
+ // System.out.println("Processing new sheet:\n");
+ InputStream sheet = sheets.next();
+ InputSource sheetSource = new InputSource(sheet);
+ parser.parse(sheetSource);
+ sheet.close();
+ if (beanList != null && bean != null) {
+ beanList.add(bean);
+ System.out.println("bean-->");
+ }
+ break;
+ // System.out.println("end-->");
+ }
+ return beanList;
+ }
+
+ static XMLReader xmlReader = null;
+ static {
+ try {
+ xmlReader = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
+ } catch (SAXException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public XMLReader fetchSheetParser(SharedStringsTable sst) throws SAXException {
+ XMLReader xmlReader = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
+ // ContentHandler handler = new SheetHandler(sst);
+ this.sst = sst;
+ xmlReader.setContentHandler(handler);
+ return xmlReader;
+ }
+
+}
diff --git a/src/main/java/com/ljh/excel/parser/BeanOperation.java b/src/main/java/com/ljh/excel/parser/BeanOperation.java
new file mode 100644
index 0000000..ddead49
--- /dev/null
+++ b/src/main/java/com/ljh/excel/parser/BeanOperation.java
@@ -0,0 +1,248 @@
+package com.ljh.excel.parser;
+
+import com.ljh.excel.annotation.ColumnAnnotation;
+import com.ljh.excel.bean.BaseBean;
+import com.ljh.excel.bean.factory.ExcelFactory;
+import org.apache.poi.xssf.streaming.SXSSFRow;
+import org.apache.poi.xssf.streaming.SXSSFSheet;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+//
+public class BeanOperation {
+ public void saveAll(List extends BaseBean> data) throws Exception {
+ saveAll(data, data.get(0).getClass().getSimpleName());
+ }
+
+ public void saveAll(List extends BaseBean> data, String filename) throws Exception {
+ // if (data.size() > 10000) {
+ // boolean tag = true;
+ // List data1 = new LinkedList<>();
+ //
+ // while (tag) {
+ // int i = 0;
+ // boolean tag2 = true;
+ // while (tag2) {
+ // if (data.size()>0) {
+ // i++;
+ // data1.add(data.get(0));
+ // data.remove(0);
+ // } else {
+ // tag = false;
+ // break;
+ // }
+ // if (i >= 5000) {
+ // break;
+ // }
+ // }
+ // addAll(data1, filename);
+ // data1.clear();
+ // }
+ // data.clear();
+ // } else {
+ // saveData(data,filename);
+ // }
+
+ saveData(data, filename);
+
+ }
+
+ public void saveData(List data, String filename) throws Exception {
+ System.out.println("saveAll:" + filename + " data:" + data.size());
+ SXSSFWorkbook wb = new SXSSFWorkbook(10000);
+ SXSSFSheet sheet = wb.createSheet("sheet1");
+ createCell(data, sheet, 0);
+ new File(new File(filename).getParent()).mkdirs();
+ FileOutputStream fout = new FileOutputStream(filename);
+ wb.write(fout);
+ fout.close();
+ wb.dispose();
+ System.out.println("saveData-end" );
+ }
+
+ public void addAll(List extends BaseBean> data) throws Exception {
+ addAll(data, data.get(0).getClass().getSimpleName());
+ }
+
+ public void addAll(List extends BaseBean> data, String filename) throws Exception {
+ if (new File(ExcelFactory.PACTORYPATH + "/" + filename + ".xlsx").exists()
+ && new File(ExcelFactory.PACTORYPATH + "/" + filename + ".xlsx").isFile()) {
+ System.out.println("addAll---");
+ } else {
+ saveData(new ArrayList<>(), filename);
+ }
+ FileInputStream fs = new FileInputStream(ExcelFactory.PACTORYPATH +
+ "/" + filename + ".xlsx");
+ XSSFWorkbook wb = new XSSFWorkbook(fs);
+// SXSSFWorkbook wb = new SXSSFWorkbook(wb1);
+
+ XSSFSheet sheet = wb.getSheetAt(0);
+ XSSFRow row = sheet.getRow(0); //
+
+ FileOutputStream out = new FileOutputStream(
+ ExcelFactory.PACTORYPATH + "/" + filename + ".xlsx"); //
+ createCell(data, sheet, sheet.getLastRowNum() + 1);
+ out.flush();
+ wb.write(out);
+ out.close();
+
+
+ }
+
+ private void createCell(List extends BaseBean> data, SXSSFSheet sheet, int first) {
+ SXSSFRow row;
+ int i = first;
+ String fname;
+ String s1;
+ ColumnAnnotation canno;
+ String s2;
+ Method m;
+ boolean tag = false;
+ if (data != null && data.size() > 0) {
+ tag = true;
+ }
+ while (tag) {
+ BaseBean bean = data.get(0);
+ //System.out.println("createCell" + i);
+ Class c = bean.getClass();
+ Field[] filds = c.getDeclaredFields();
+ row = sheet.createRow(i);
+ i++;
+
+ for (Field f : filds) {
+ f.setAccessible(true);
+ canno = f.getAnnotation(ColumnAnnotation.class);
+ if (canno != null) {
+ fname = "get" + f.getName().substring(0, 1).toUpperCase() + f.getName().substring(1);
+ s1 = canno.value();
+ try {
+ m = c.getDeclaredMethod(fname, new Class[] {});
+ m.setAccessible(true);
+ s2 = (String) m.invoke(bean);
+
+ char[] c1 = s1.toCharArray();
+ int index = (int) c1[0] - 65;
+ try {
+ int index2= (int) c1[1] - 65;
+ index=26+index2;
+ } catch (Exception e) {
+ // TODO: handle exception
+ }
+ //System.out.println("canno:"+s1+" index:"+index);
+ row.createCell((short) index).setCellValue(s2);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ data.remove(0);
+ if (data.size() > 0) {
+ tag = true;
+ } else {
+ tag = false;
+ }
+ }
+ }
+ private void createCell(List extends BaseBean> data, XSSFSheet sheet, int first) {
+ XSSFRow row;
+ int i = first;
+ String fname;
+ String s1;
+ ColumnAnnotation canno;
+ String s2;
+ Method m;
+ boolean tag = false;
+ if (data != null && data.size() > 0) {
+ tag = true;
+ }
+ while (tag) {
+ BaseBean bean = data.get(0);
+ System.out.println("createCell" + i);
+ Class c = bean.getClass();
+ Field[] filds = c.getDeclaredFields();
+ row = sheet.createRow(i);
+ i++;
+
+ for (Field f : filds) {
+ f.setAccessible(true);
+ canno = f.getAnnotation(ColumnAnnotation.class);
+ if (canno != null) {
+ fname = "get" + f.getName().substring(0, 1).toUpperCase() + f.getName().substring(1);
+ s1 = canno.value();
+ try {
+ m = c.getDeclaredMethod(fname, new Class[] {});
+ m.setAccessible(true);
+ s2 = (String) m.invoke(bean);
+
+ char[] c1 = s1.toCharArray();
+ int index = (int) c1[0] - 65;
+ try {
+ int index2= (int) c1[1] - 65;
+ index=26+index2;
+ } catch (Exception e) {
+ // TODO: handle exception
+ }
+ System.out.println("canno:"+s1+" index:"+index);
+ row.createCell((short) index).setCellValue(s2);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+ }
+ data.remove(0);
+ if (data.size() > 0) {
+ tag = true;
+ } else {
+ tag = false;
+ }
+ }
+ }
+
+ public void deleteByIndex(int index, Class cls) {
+ try {
+
+ FileInputStream is = new FileInputStream(ExcelFactory.PACTORYPATH + "/" + cls.getSimpleName() + ".xlsx");
+
+ XSSFWorkbook workbook = new XSSFWorkbook(is);
+
+ XSSFSheet sheet = workbook.getSheetAt(0);
+
+ removeRow(sheet, index);
+ FileOutputStream os = new FileOutputStream(ExcelFactory.PACTORYPATH + "/" + cls.getSimpleName() + ".xlsx");
+
+ workbook.write(os);
+
+ is.close();
+
+ os.close();
+
+ } catch (Exception e) {
+
+ e.printStackTrace();
+ }
+ }
+
+ public void removeRow(XSSFSheet sheet, int rowIndex) {
+ int lastRowNum = sheet.getLastRowNum();
+ if (rowIndex >= 0 && rowIndex < lastRowNum)
+ sheet.shiftRows(rowIndex + 1, lastRowNum, -1);
+ if (rowIndex == lastRowNum) {
+ XSSFRow removingRow = sheet.getRow(rowIndex);
+ if (removingRow != null)
+ sheet.removeRow(removingRow);
+ }
+ }
+}
diff --git a/src/main/java/com/ljh/excel/parser/FromHowTo.java b/src/main/java/com/ljh/excel/parser/FromHowTo.java
new file mode 100644
index 0000000..8c76e3e
--- /dev/null
+++ b/src/main/java/com/ljh/excel/parser/FromHowTo.java
@@ -0,0 +1,142 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+package com.ljh.excel.parser;
+
+import java.io.InputStream;
+import java.util.Iterator;
+
+import org.apache.poi.xssf.eventusermodel.XSSFReader;
+import org.apache.poi.xssf.model.SharedStringsTable;
+import org.apache.poi.xssf.usermodel.XSSFRichTextString;
+import org.apache.poi.openxml4j.opc.OPCPackage;
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.DefaultHandler;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+/**
+ * XSSF and SAX (Event API) basic example.
+ * See {@link XLSX2CSV} for a fuller example of doing
+ * XSLX processing with the XSSF Event code.
+ */
+public class FromHowTo {
+ public void processFirstSheet(String filename) throws Exception {
+ OPCPackage pkg = OPCPackage.open(filename);
+ XSSFReader r = new XSSFReader( pkg );
+ SharedStringsTable sst = r.getSharedStringsTable();
+
+ XMLReader parser = fetchSheetParser(sst);
+
+ // To look up the Sheet Name / Sheet Order / rID,
+ // you need to process the core Workbook stream.
+ // Normally it's of the form rId# or rSheet#
+ InputStream sheet2 = r.getSheet("rId2");
+ InputSource sheetSource = new InputSource(sheet2);
+ parser.parse(sheetSource);
+ sheet2.close();
+ }
+
+ public static void processAllSheets(String filename) throws Exception {
+ OPCPackage pkg = OPCPackage.open(filename);
+ XSSFReader r = new XSSFReader( pkg );
+ SharedStringsTable sst = r.getSharedStringsTable();
+
+ XMLReader parser = fetchSheetParser(sst);
+
+ Iterator sheets = r.getSheetsData();
+ while(sheets.hasNext()) {
+ System.out.println("Processing new sheet:\n");
+ InputStream sheet = sheets.next();
+ InputSource sheetSource = new InputSource(sheet);
+ parser.parse(sheetSource);
+ sheet.close();
+ System.out.println("");
+ }
+ }
+
+ public static XMLReader fetchSheetParser(SharedStringsTable sst) throws SAXException {
+ XMLReader parser =
+ XMLReaderFactory.createXMLReader(
+ "org.apache.xerces.parsers.SAXParser"
+ );
+ ContentHandler handler = new SheetHandler(sst);
+ parser.setContentHandler(handler);
+ return parser;
+ }
+
+ /**
+ * See org.xml.sax.helpers.DefaultHandler javadocs
+ */
+ private static class SheetHandler extends DefaultHandler {
+ private SharedStringsTable sst;
+ private String lastContents;
+ private boolean nextIsString;
+
+ private SheetHandler(SharedStringsTable sst) {
+ this.sst = sst;
+ }
+
+ public void startElement(String uri, String localName, String name,
+ Attributes attributes) throws SAXException {
+ // c => cell
+ if(name.equals("c")) {
+ // Print the cell reference
+ System.out.print(attributes.getValue("r") + " - ");
+ // Figure out if the value is an index in the SST
+ String cellType = attributes.getValue("t");
+ if(cellType != null && cellType.equals("s")) {
+ nextIsString = true;
+ } else {
+ nextIsString = false;
+ }
+ }
+ // Clear contents cache
+ lastContents = "";
+ }
+
+ public void endElement(String uri, String localName, String name)
+ throws SAXException {
+ // Process the last contents as required.
+ // Do now, as characters() may be called more than once
+ if(nextIsString) {
+ int idx = Integer.parseInt(lastContents);
+ lastContents = new XSSFRichTextString(sst.getEntryAt(idx)).toString();
+ nextIsString = false;
+ }
+
+ // v => contents of a cell
+ // Output after we've seen the string contents
+ if(name.equals("v")) {
+ System.out.println(lastContents);
+ }
+ }
+
+ public void characters(char[] ch, int start, int length)
+ throws SAXException {
+ lastContents += new String(ch, start, length);
+ }
+ }
+
+ public static void main(String[] args) throws Exception {
+ FromHowTo howto = new FromHowTo();
+ howto.processFirstSheet(args[0]);
+ howto.processAllSheets(args[0]);
+ }
+}
diff --git a/src/main/java/com/ljh/excel/parser/Parser.java b/src/main/java/com/ljh/excel/parser/Parser.java
new file mode 100644
index 0000000..710b236
--- /dev/null
+++ b/src/main/java/com/ljh/excel/parser/Parser.java
@@ -0,0 +1,255 @@
+package com.ljh.excel.parser;
+
+import java.lang.ref.WeakReference;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.poi.ss.usermodel.BuiltinFormats;
+import org.apache.poi.ss.usermodel.DataFormatter;
+import org.apache.poi.xssf.model.SharedStringsTable;
+import org.apache.poi.xssf.model.StylesTable;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRichTextString;
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.DefaultHandler;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+import com.ljh.excel.annotation.ColumnAnnotation;
+import com.ljh.excel.test.User;
+
+public class Parser extends BaseParser {
+ /**
+ * See org.xml.sax.helpers.DefaultHandler javadocs
+ */
+ /**
+ */
+ private CellDataType nextDataType = CellDataType.SSTINDEX;
+
+ private final DataFormatter formatter = new DataFormatter();
+ private short formatIndex;
+
+ private String formatString;
+
+ public Parser(Class cl) {
+ cls = cl;
+ }
+
+ public XMLReader fetchSheetParser(SharedStringsTable sst) throws SAXException {
+ ContentHandler handler = new SheetHandler(sst);
+ xmlReader.setContentHandler(handler);
+ return xmlReader;
+ }
+
+ class SheetHandler extends DefaultHandler {
+ private SharedStringsTable sst;
+ private String lastContents;
+ private boolean nextIsString;
+
+ private SheetHandler(SharedStringsTable sst) {
+ this.sst = sst;
+
+ }
+
+ String lastTag = "";
+ String con = "";
+ int i=0;
+ @Override
+ public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException {
+ // c => cell
+ if (name.equals("c")) {
+ setNextDataType(attributes);
+
+ String attributest = attributes.getValue("r");
+ String attributestr = attributest.substring(1).replaceAll("[A-Z]*", "");
+ con = attributest.replaceAll("[0-9]*", "");
+ if (attributestr != null && !attributestr.equals("")
+ && (lastTag.equals("") || !attributestr.equals(lastTag))) {
+ lastTag = attributestr;
+
+ // System.out.println("");
+
+ if (bean != null) {
+ beanList.add(bean);
+
+// if(i%2000==0){
+// System.gc();
+// }
+// System.out.println("bean:"+(i++)+"->" + bean);
+ System.out.println("bean:"+(i++)+"->" );
+ }
+ try {
+ bean = cls.newInstance();
+ } catch (InstantiationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ // Print the cell reference
+ // System.out.print("(->"+attributes.getValue("r") + " - ");
+ // Figure out if the value is an index in the SST
+ String cellType = attributes.getValue("t");
+ if (cellType != null && cellType.equals("s")) {
+ nextIsString = true;
+ } else {
+ nextIsString = false;
+ }
+ }
+ // Clear contents cache
+ lastContents = "";
+ }
+
+ public void endElement(String uri, String localName, String name) throws SAXException {
+ // Process the last contents as required.
+ // Do now, as characters() may be called more than once
+ if (nextIsString) {
+ int idx = Integer.parseInt(lastContents);
+ lastContents =new WeakReference(new XSSFRichTextString(sst.getEntryAt(idx))).get().toString();
+ nextIsString = false;
+ }
+
+ // v => contents of a cell
+ // Output after we've seen the string contents
+ if (name.equals("v") || "t".equals(name)) {
+ Class c = bean.getClass();
+ Field[] fs = c.getDeclaredFields();
+
+ for (Field f : fs) {
+ f.setAccessible(true);
+ ColumnAnnotation canno = f.getAnnotation(ColumnAnnotation.class);
+ if (canno != null && canno.value().equals(con)) {
+ String fname = "set" + f.getName().substring(0, 1).toUpperCase() + f.getName().substring(1);
+ try {
+ Method m = c.getDeclaredMethod(fname, new Class[] { String.class });
+ m.setAccessible(true);
+ // v => ��Ԫ���ֵ�����Ԫ�����ַ���v��ǩ��ֵΪ���ַ���SST�е�����
+ String value = getDataValue(lastContents.trim(), "");
+ System.out.println(fname+lastContents.trim());
+ m.invoke(bean, value.trim());
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ }
+
+ public void characters(char[] ch, int start, int length) throws SAXException {
+ lastContents += new String(ch, start, length);
+ }
+ }
+
+ /**
+ */
+ enum CellDataType {
+ BOOL, ERROR, FORMULA, INLINESTR, SSTINDEX, NUMBER, DATE, NULL
+ }
+
+ /**
+ *
+ * @param attributes
+ */
+ public void setNextDataType(Attributes attributes) {
+ try {
+ nextDataType = CellDataType.NUMBER;
+ formatIndex = -1;
+ formatString = null;
+ String cellType = attributes.getValue("t");
+ String cellStyleStr = attributes.getValue("s");
+
+ if ("b".equals(cellType)) {
+ nextDataType = CellDataType.BOOL;
+ } else if ("e".equals(cellType)) {
+ nextDataType = CellDataType.ERROR;
+ } else if ("inlineStr".equals(cellType)) {
+ nextDataType = CellDataType.INLINESTR;
+ } else if ("s".equals(cellType)) {
+ nextDataType = CellDataType.SSTINDEX;
+ } else if ("str".equals(cellType)) {
+ nextDataType = CellDataType.FORMULA;
+ }
+
+ if (cellStyleStr != null) {
+ int styleIndex = Integer.parseInt(cellStyleStr);
+ XSSFCellStyle style = stylesTable.getStyleAt(styleIndex);
+ formatIndex = style.getDataFormat();
+ formatString = style.getDataFormatString();
+
+ if ("m/d/yy".equals(formatString) || "m/d/yy h:mm".equals(formatString)) {
+ nextDataType = CellDataType.DATE;
+ formatString = "yyyy/MM/dd hh:mm:ss";
+ }
+
+ if (formatString == null) {
+ nextDataType = CellDataType.NULL;
+ formatString = BuiltinFormats.getBuiltinFormat(formatIndex);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @SuppressWarnings("deprecation")
+ public String getDataValue(String value, String thisStr) {
+ switch (nextDataType) {
+ case BOOL:
+ char first = value.charAt(0);
+ thisStr = first == '0' ? "FALSE" : "TRUE";
+ break;
+ case ERROR:
+ thisStr = "\"ERROR:" + value.toString() + '"';
+ break;
+ case FORMULA:
+ thisStr = '"' + value.toString() + '"';
+ break;
+ case INLINESTR:
+ XSSFRichTextString rtsi = new XSSFRichTextString(value.toString());
+
+ thisStr = rtsi.toString();
+ rtsi = null;
+ break;
+ case SSTINDEX:
+ String sstIndex = value.toString();
+ try {
+ int idx = Integer.parseInt(sstIndex);
+ XSSFRichTextString rtss = new XSSFRichTextString(sst.getEntryAt(idx));
+ thisStr = rtss.toString();
+ rtss = null;
+ } catch (Exception ex) {
+ thisStr = value.toString();
+ }
+ break;
+ case NUMBER:
+ if (formatString != null) {
+ thisStr = formatter.formatRawCellContents(Double.parseDouble(value), formatIndex, formatString).trim();
+ } else {
+ thisStr = value;
+ }
+
+ thisStr = thisStr.replace("_", "").trim();
+ break;
+ case DATE:
+ thisStr = formatter.formatRawCellContents(Double.parseDouble(value), formatIndex, formatString);
+
+ // thisStr = thisStr.replace(" ", "T");
+ break;
+ default:
+ thisStr = " ";
+
+ break;
+ }
+
+ return thisStr;
+ }
+}
diff --git a/src/main/java/com/ljh/excel/test/MySqlTest.java b/src/main/java/com/ljh/excel/test/MySqlTest.java
new file mode 100644
index 0000000..1f10d78
--- /dev/null
+++ b/src/main/java/com/ljh/excel/test/MySqlTest.java
@@ -0,0 +1,101 @@
+package com.ljh.excel.test;
+
+
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+
+import com.ljh.excel.bean.factory.ExcelFactory;
+
+public class MySqlTest {
+ public static void main(String[] args) throws SQLException {
+ ExcelFactory.PACTORYPATH="F:\\vmx";
+ List list=new ArrayList();
+ list.add(new User());
+ list.add(new User("ljh2","test","test"));
+ list.add(new User("ljh3","test","test"));
+ new User().saveAll(list,"F:\\text.xlsx");
+// Connection conn = null;
+// PreparedStatement stmt = null;
+// ResultSet rs = null;
+//
+// try {
+// Class.forName("com.mysql.jdbc.Driver");
+// conn = DriverManager.getConnection(
+// "jdbc:mysql://localhost:3306/jeecp", "root",
+// "");
+// stmt = conn.prepareStatement("select * from person where id=?");
+// stmt.setInt(1, 10);
+// rs = stmt.executeQuery();
+// while (rs.next()) {
+// System.out.println(rs.getInt("id"));
+// System.out.println(rs.getString("name"));
+// System.out.println("----------------------------");
+// }
+// } catch (ClassNotFoundException e) {
+// e.printStackTrace();
+// } catch (SQLException e) {
+// e.printStackTrace();
+// } finally {
+// if (rs != null)
+// rs.close();
+// if (stmt != null)
+// stmt.close();
+// if (conn != null)
+// conn.close();
+// }
+// Integer i1=new Integer("2");
+// Integer i2=new Integer("2");
+// System.out.println((int)i1==(int)i2);
+// try {
+//// List datalist2 = new ETabDispatch().selectAll("C:/Users/junhui/Desktop/tes.xlsx");
+//// for(ETabDispatch ed:datalist2){
+//// System.out.println("ed:"+ed);
+//// }
+//// System.out.println("datalist2:"+datalist2.size());
+// ExcelFactory.instance("d://");
+// SevenParams p1=new SevenParams("SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams");
+// SevenParams p2=new SevenParams("SevenParams", "SevenParams", "SevenParams");
+// SevenParams p3=new SevenParams("SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams");
+// SevenParams p4=new SevenParams("SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams");
+// List list=new ArrayList<>();
+// list.add(p1);
+// list.add(p2);
+// list.add(p3);
+// list.add(p4);
+//
+// p1.saveAll(list,"d://SevenParams.xlsx");
+// } catch (Exception e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+// System.out.println("days:"+daysBetween("2016-10-13 12:44:31","2016-10-15 12:44:31"));
+ }
+ /**
+ *字符串的日期格式的计算
+ */
+ public static int daysBetween(String smdate,String bdate){
+ try {
+ SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(sdf.parse(smdate));
+ long time1 = cal.getTimeInMillis();
+ cal.setTime(sdf.parse(bdate));
+ long time2 = cal.getTimeInMillis();
+ long between_days=(time2-time1)/(1000*3600*24);
+
+ return Integer.parseInt(String.valueOf(between_days));
+ } catch (Exception e) {
+ // TODO: handle exception
+ return 0;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/ljh/excel/test/User.java b/src/main/java/com/ljh/excel/test/User.java
new file mode 100644
index 0000000..99a387d
--- /dev/null
+++ b/src/main/java/com/ljh/excel/test/User.java
@@ -0,0 +1,54 @@
+package com.ljh.excel.test;
+
+import com.ljh.excel.annotation.ColumnAnnotation;
+import com.ljh.excel.bean.BaseBean;
+
+public class User extends BaseBean {
+ @ColumnAnnotation("A")
+ private String name;
+ @ColumnAnnotation("B")
+ private String department;
+ @ColumnAnnotation("C")
+ private String hobby;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDepartment() {
+ return department;
+ }
+
+ public void setDepartment(String department) {
+ this.department = department;
+ }
+
+ public String getHobby() {
+ return hobby;
+ }
+
+ public void setHobby(String hobby) {
+ this.hobby = hobby;
+ }
+
+ public User() {
+ super();
+ }
+
+ public User(String name, String department, String hobby) {
+ super();
+ this.name = name;
+ this.department = department;
+ this.hobby = hobby;
+ }
+
+ @Override
+ public String toString() {
+ return "User [name=" + name + ", department=" + department + ", hobby=" + hobby + "]";
+ }
+
+}
diff --git a/src/main/java/com/quartz/UnlockOrder.java b/src/main/java/com/quartz/UnlockOrder.java
new file mode 100644
index 0000000..5ff3adf
--- /dev/null
+++ b/src/main/java/com/quartz/UnlockOrder.java
@@ -0,0 +1,17 @@
+package com.quartz;
+
+
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import com.util.SpringUtil;
+public class UnlockOrder implements Job {
+
+
+ @Override
+ public void execute(JobExecutionContext context){
+// OrderService service =(OrderService)SpringUtil.getBean("orderservice");
+// //解锁10分钟以前的数据
+// service.executeSql("update taborder tab1 set locksign=0 where DATE_SUB(now(),INTERVAL 10 MINUTE)>=tab1.createtime and locksign=1 ");
+//
+ }
+}
diff --git a/src/main/java/com/quartz/queryservlet.java b/src/main/java/com/quartz/queryservlet.java
new file mode 100644
index 0000000..31c53b6
--- /dev/null
+++ b/src/main/java/com/quartz/queryservlet.java
@@ -0,0 +1,81 @@
+package com.quartz;
+import java.io.IOException;
+import java.text.ParseException;
+import java.util.Date;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.quartz.CronTrigger;
+import org.quartz.JobDetail;
+import org.quartz.Scheduler;
+import org.quartz.SchedulerException;
+import org.quartz.SchedulerFactory;
+import org.quartz.Trigger;
+import org.quartz.impl.StdSchedulerFactory;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+/**
+ * 监听策略信息
+ * 获取预执行任务
+ * @author dubaohui
+ * */
+public class queryservlet extends HttpServlet {
+ private static Scheduler sched =null;
+ public queryservlet()
+ {
+ super();
+ }
+
+ public void init() throws ServletException {
+// SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
+// try {
+// sched = StdSchedulerFactory.getDefaultScheduler();
+// if(sched.isStarted()){
+// sched.shutdown(true); //如果已经启动 停止当前调度任务
+// sched = StdSchedulerFactory.getDefaultScheduler();
+// }
+// ServletContext sc = getServletContext();
+// WebApplicationContext ac = WebApplicationContextUtils.getRequiredWebApplicationContext(sc);
+//
+// JobDetail jobDetai1 = new JobDetail("订单解锁", sched.DEFAULT_GROUP,UnlockOrder.class);
+// try {
+// Trigger trigger1 =new CronTrigger("启动订单解锁扫描", Scheduler.DEFAULT_GROUP,"0 0/10 * * * ?");
+// sched.scheduleJob(jobDetai1,trigger1);
+// sched.start();
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// } catch (SchedulerException e) {
+// e.printStackTrace();
+// }
+
+ }
+ public void doGet(HttpServletRequest request, HttpServletResponse response) throws
+ ServletException, IOException {
+// try {
+// if(sched.isStarted())
+// {
+// sched.shutdown(true);
+// }
+// if(sched.isShutdown())
+// {
+// init();
+// }
+// } catch (SchedulerException e) {
+// e.printStackTrace();
+// }
+
+
+
+ }
+ public void doPost(HttpServletRequest request, HttpServletResponse response) throws
+ ServletException, IOException {
+// doGet(request, response);
+ }
+
+}
diff --git a/src/main/java/com/util/AutoDtoFile.java b/src/main/java/com/util/AutoDtoFile.java
new file mode 100644
index 0000000..5de1be6
--- /dev/null
+++ b/src/main/java/com/util/AutoDtoFile.java
@@ -0,0 +1,59 @@
+package com.util;
+
+import java.util.List;
+
+public class AutoDtoFile {
+ public static boolean creatDtoFile(String sqlTableName,String title,List list){
+ if(null==title){
+ title="";
+ }
+ String tableName=UtilTools.szmZdx(sqlTableName);
+ StringBuffer buf=new StringBuffer();
+ buf.append("package com.cn.pojo;\r\n"+
+ "import javax.persistence.Column;\r\n"+
+ "import javax.persistence.Entity;\r\n"+
+ "import javax.persistence.Id;\r\n"+
+ "import javax.persistence.Table;\r\n"+
+ "import com.dubh.common.dto.BaseDto;\r\n\r\n" +
+ "/**\r\n"+
+ " * "+title+"\r\n"+
+ " * @author zengwp\r\n"+
+ " */\r\n"+
+ " @Entity\r\n"+
+ " @Table(name = \""+sqlTableName+"\")\r\n"+
+ " public class "+tableName+" extends BaseDto {\r\n"+
+ " \r\n");
+ //生成字段变量
+ for (int i = 0; i =0){
+ strSty="Integer ";
+ }
+ buf.append("\t private "+strSty+arr[0]+";\r\n");
+ }
+
+ //默认第一个为主键
+ buf.append("\r\n\t @Id\r\n");
+
+ //GET和SET方法
+ for (int i = 0; i < list.size(); i++) {
+ Object[] arr=(Object[])list.get(i);
+ String strSty="String ";
+ if(arr[1].toString().indexOf("int")>=0){
+ strSty="Integer ";
+ }
+ String optsName=UtilTools.szmZdx(arr[0].toString());
+ buf.append("\t @Column(name = \""+arr[0]+"\")\r\n");
+ buf.append("\t public "+strSty+" get"+optsName+"() {\r\n"+
+ "\t return "+arr[0]+";\r\n"+
+ "\t }\r\n"+
+ "\t public void set"+optsName+"("+strSty+" "+arr[0]+") {\r\n"+
+ "\t this."+arr[0]+" = "+arr[0]+";\r\n"+
+ "\t }\r\n");
+ }
+ buf.append(" }");
+ return NewFieldUtileTools.fileOperation("E:\\WorkSpace\\goldkey\\src\\com\\cn\\pojo",tableName+".java",buf.toString());
+
+ }
+}
diff --git a/src/main/java/com/util/BaiDuDistanceKm.java b/src/main/java/com/util/BaiDuDistanceKm.java
new file mode 100644
index 0000000..e7be1b8
--- /dev/null
+++ b/src/main/java/com/util/BaiDuDistanceKm.java
@@ -0,0 +1,74 @@
+package com.util;
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-10-8 下午3:51:18
+ * 类说明 :计算坐标点之间的距离
+ */
+public class BaiDuDistanceKm {
+ static double DEF_PI = 3.14159265359; // PI
+ static double DEF_2PI= 6.28318530712; // 2*PI
+ static double DEF_PI180= 0.01745329252; // PI/180.0
+ static double DEF_R =6370693.5; // radius of earth
+ //适用于近距离
+ public static double GetShortDistance(double lng1, double lat1, double lng2, double lat2)
+ {
+ double ew1, ns1, ew2, ns2;
+ double dx, dy, dew;
+ double distance;
+ double distancekm;
+ // 角度转换为弧度
+ ew1 = lng1 * DEF_PI180;
+ ns1 = lat1 * DEF_PI180;
+ ew2 = lng2 * DEF_PI180;
+ ns2 = lat2 * DEF_PI180;
+ // 经度差
+ dew = ew1 - ew2;
+ // 若跨东经和西经180 度,进行调整
+ if (dew > DEF_PI)
+ dew = DEF_2PI - dew;
+ else if (dew < -DEF_PI)
+ dew = DEF_2PI + dew;
+ dx = DEF_R * Math.cos(ns1) * dew; // 东西方向长度(在纬度圈上的投影长度)
+ dy = DEF_R * (ns1 - ns2); // 南北方向长度(在经度圈上的投影长度)
+ // 勾股定理求斜边长
+ distance = Math.sqrt(dx * dx + dy * dy);
+ distancekm = Math.rint(distance/100)/10;
+ return distancekm;
+ }
+
+ //适用于远距离
+ public static double GetLongDistance(double lng1, double lat1, double lng2, double lat2)
+ {
+ double ew1, ns1, ew2, ns2;
+ double distance;
+ double distancekm;
+ // 角度转换为弧度
+ ew1 = lng1 * DEF_PI180;
+ ns1 = lat1 * DEF_PI180;
+ ew2 = lng2 * DEF_PI180;
+ ns2 = lat2 * DEF_PI180;
+ // 求大圆劣弧与球心所夹的角(弧度)
+ distance = Math.sin(ns1) * Math.sin(ns2) + Math.cos(ns1) * Math.cos(ns2) * Math.cos(ew1 - ew2);
+ // 调整到[-1..1]范围内,避免溢出
+ if (distance > 1.0)
+ distance = 1.0;
+ else if (distance < -1.0)
+ distance = -1.0;
+ // 求大圆劣弧长度
+ distance = DEF_R * Math.acos(distance);
+ distancekm = Math.rint(distance/100)/10;
+ return distancekm;
+ }
+ public static void main(String[] args) {
+
+ double mLat1 = 29.490295; // point1纬度
+ double mLon1 = 106.486654; // point1经度
+ double mLat2 = 29.615467;// point2纬度
+ double mLon2 = 106.581515;// point2经度
+ double distance = BaiDuDistanceKm.GetLongDistance(mLon1, mLat1, mLon2, mLat2);
+ double distances = BaiDuDistanceKm.GetShortDistance(mLon1, mLat1, mLon2, mLat2);
+ //double b = Math.rint(distance/100)/10;//
+ System.out.println(distance+"----"+distances);
+ }
+
+}
diff --git a/src/main/java/com/util/BaiduLatitudeUtils.java b/src/main/java/com/util/BaiduLatitudeUtils.java
new file mode 100644
index 0000000..0781d66
--- /dev/null
+++ b/src/main/java/com/util/BaiduLatitudeUtils.java
@@ -0,0 +1,79 @@
+package com.util;
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-10-8 下午3:45:59
+ * 类说明:百度地址反解析
+ */
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.lang.StringUtils;
+
+public class BaiduLatitudeUtils {
+
+ public static final String KEY_1 = "46aaaddd44217ffb415f20a5a4466bcd";
+
+
+ /**
+ * 返回输入地址的经纬度坐标
+ * key lng(经度),lat(纬度)
+ */
+ public static Map getGeocoderLatitude(String address){
+ BufferedReader in = null;
+ Map map = new HashMap();
+ try {
+ //将地址转换成utf-8的16进制
+ address = URLEncoder.encode(address, "UTF-8");
+// 如果有代理,要设置代理,没代理可注释
+// System.setProperty("http.proxyHost","192.168.1.188");
+// System.setProperty("http.proxyPort","3128");
+ URL tirc = new URL("http://api.map.baidu.com/geocoder?address="+ address +"&output=json&key="+ KEY_1);
+
+ in = new BufferedReader(new InputStreamReader(tirc.openStream(),"UTF-8"));
+ String res;
+ StringBuilder sb = new StringBuilder("");
+ while((res = in.readLine())!=null){
+ sb.append(res.trim());
+ }
+ String str = sb.toString();
+
+ if(StringUtils.isNotEmpty(str)){
+ int lngStart = str.indexOf("lng\":");
+ int lngEnd = str.indexOf(",\"lat");
+ int latEnd = str.indexOf("},\"precise");
+ if(lngStart > 0 && lngEnd > 0 && latEnd > 0){
+ String lng =str.substring(lngStart+5, lngEnd);
+ String lat = str.substring(lngEnd+7, latEnd);
+ map.put("lng", lng); //经度
+ map.put("lat", lat); //纬度
+ }else{
+ map.put("lng", "0"); //经度
+ map.put("lat", "0"); //纬度
+ }
+ }else{
+ map.put("lng", "0"); //经度
+ map.put("lat", "0"); //纬度
+ }
+ }catch (Exception e) {
+ e.printStackTrace();
+ }finally{
+ try {
+ in.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return map;
+ }
+ public static void main(String args[]){
+ Map json = BaiduLatitudeUtils.getGeocoderLatitude("上海沪南路2419弄");
+ System.out.println("lng : "+json.get("lng")); //经度
+ System.out.println("lat : "+json.get("lat")); //纬度
+ }
+
+}
diff --git a/src/main/java/com/util/BuilderExcel.java b/src/main/java/com/util/BuilderExcel.java
new file mode 100644
index 0000000..b274834
--- /dev/null
+++ b/src/main/java/com/util/BuilderExcel.java
@@ -0,0 +1,197 @@
+package com.util;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-8-12 下午2:57:13
+ * 类说明:生成Excel工具类
+ */
+public class BuilderExcel
+{
+ /**
+ * @功能:手工构建一个简单格式的Excel
+ */
+ private static List getStudent() throws Exception
+ {
+ List list = new ArrayList();
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
+ Student user1 = new Student(1, "张三", 16, df.parse("1997-03-12"));
+ Student user2 = new Student(2, "李四", 17, df.parse("1996-08-12"));
+ Student user3 = new Student(3, "王五", 26, df.parse("1985-11-12"));
+ list.add(user1);
+ list.add(user2);
+ list.add(user3);
+ return list;
+ }
+ //生成Excel
+ public static boolean Builderexcels(HttpServletRequest request,String sheetname,String[] heard,List list,String xlsname){
+ boolean sign = false;
+ // 第一步,创建一个webbook,对应一个Excel文件
+ HSSFWorkbook wb = new HSSFWorkbook();
+ // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
+ HSSFSheet sheet = wb.createSheet(sheetname);
+ // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
+ HSSFRow row = sheet.createRow(0);
+ // 第四步,创建单元格,并设置值表头 设置表头居中
+ HSSFCellStyle style =Tablestyle(wb, 14, true, true, true, 13, false);
+ // 创建一个居中格式
+ HSSFCell cell = null;
+ int valuelength=0;
+ if(heard.length>0){
+ valuelength = heard.length;
+ for(int i=0;i0){
+ for (int i = 0; i < list.size(); i++)
+ {
+ int j=i+1;
+ row = sheet.createRow(j);
+ Object[] obj =(Object[])list.get(i);
+ // 第四步,创建单元格,并设置值
+ for(int t = 0;t>> 8)]);
+ sbuf.append(hex[(0x00FF & ch)]);
+ }
+ } }
+ return sbuf.toString();
+ }
+ public static String unescape(String s) {
+
+ StringBuffer sbuf = new StringBuffer();
+ if(null !=s && !"".equals(s)){
+ int i = 0;
+ int len = s.length();
+ while (i < len) {
+ int ch = s.charAt(i);
+ if (ch == '+') { // + : map to ' '
+ sbuf.append(' ');
+ } else if ('A' <= ch && ch <= 'Z') { // 'A'..'Z' : as it was
+ sbuf.append((char)ch);
+ } else if ('a' <= ch && ch <= 'z') { // 'a'..'z' : as it was
+ sbuf.append((char)ch);
+ } else if ('0' <= ch && ch <= '9') { // '0'..'9' : as it was
+ sbuf.append((char)ch);
+ } else if (ch == '-' || ch == '_' // unreserved : as it was
+ || ch == '.' || ch == '!'
+ || ch == '~' || ch == '*'
+ || ch == '\'' || ch == '('
+ || ch == ')') {
+ sbuf.append((char)ch);
+ } else if (ch == '%') {
+ int cint = 0;
+ if ('u' != s.charAt(i+1)) { // %XX : map to ascii(XX)
+ cint = (cint << 4) | val[s.charAt(i+1)];
+ cint = (cint << 4) | val[s.charAt(i+2)];
+ i+=2;
+ } else { // %uXXXX : map to unicode(XXXX)
+ cint = (cint << 4) | val[s.charAt(i+2)];
+ cint = (cint << 4) | val[s.charAt(i+3)];
+ cint = (cint << 4) | val[s.charAt(i+4)];
+ cint = (cint << 4) | val[s.charAt(i+5)];
+ i+=5;
+ }
+ sbuf.append((char)cint);
+ }
+ i++;
+ }
+ }
+ return sbuf.toString();
+ }
+ public static void main(String[] args) {
+ String str = Escape.escape("{\"jhraccount\":\"testa\",\"jhrpassword\":\"1111\"}");
+ System.out.println(str);
+ System.out.println(Escape.unescape("%257B%250A++%2522teacherkey%2522+%253A+%25222014122718143719141%2522%252C%250A++%2522schoolkey%2522+%253A+%25222014122718143657297%2522%252C%250A++%2522babykey%2522+%253A+%25222014122920394364557%2522%252C%250A++%2522qdtype%2522+%253A+0%250A%257D"));
+
+
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/util/NetUtil.java b/src/main/java/com/util/NetUtil.java
new file mode 100644
index 0000000..ce389ce
--- /dev/null
+++ b/src/main/java/com/util/NetUtil.java
@@ -0,0 +1,210 @@
+package com.util;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLEncoder;
+import java.util.List;
+import java.util.Map;
+
+public class NetUtil {
+ public static final String DEF_CHATSET = "UTF-8";
+ public static final int DEF_CONN_TIMEOUT = 30000;
+ public static final int DEF_READ_TIMEOUT = 30000;
+ public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
+
+ /**
+ *
+ * @param strUrl 请求地址
+ * @param params 请求参数
+ * @param method 请求方法
+ * @return 网络请求字符串
+ * @throws Exception
+ */
+ public static String net(String strUrl, final Map params,String method) throws Exception {
+ HttpURLConnection conn = null;
+ BufferedReader reader = null;
+ String rs = null;
+ try {
+ StringBuffer sb = new StringBuffer();
+ if(method==null || method.equals("GET")){
+ if(params!=null&&"".equals(params)){
+ strUrl = strUrl+"?"+urlencode(params);
+ }
+
+ }
+// System.out.println("net_url:"+strUrl);
+// String last = strUrl.substring(strUrl.length()-1, strUrl.length());
+// if("&".equals(last)){
+// strUrl = strUrl.substring(0, strUrl.length()-1);
+// }
+ URL url = new URL(strUrl);
+ conn = (HttpURLConnection) url.openConnection();
+ if(method==null || method.equals("GET")){
+ conn.setRequestMethod("GET");
+ }else{
+ conn.setRequestMethod("POST");
+ conn.setDoOutput(true);
+ }
+ conn.setRequestProperty("User-agent", userAgent);
+ conn.setUseCaches(false);
+ conn.setConnectTimeout(DEF_CONN_TIMEOUT);
+ conn.setReadTimeout(DEF_READ_TIMEOUT);
+ conn.setInstanceFollowRedirects(false);
+ conn.connect();
+// if (params!= null && method.equals("POST")) {
+// try (DataOutputStream out = new DataOutputStream(conn.getOutputStream())) {
+// out.writeBytes(urlencode(params));
+// }
+// }
+ InputStream is = conn.getInputStream();
+ reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
+ String strRead = null;
+ while ((strRead = reader.readLine()) != null) {
+ sb.append(strRead);
+ }
+ rs = sb.toString();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (reader != null) {
+ reader.close();
+ }
+ if (conn != null) {
+ conn.disconnect();
+ }
+ }
+ return rs;
+ }
+
+ /**
+ * 向指定URL发送GET方法的请求
+ *
+ * @param url
+ * 发送请求的URL
+ * @param param
+ * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+ * @return URL 所代表远程资源的响应结果
+ */
+ public static String sendGet(String url, String param) {
+ String result = "";
+ BufferedReader in = null;
+ try {
+ String urlNameString = url + "?" + param;
+ URL realUrl = new URL(urlNameString);
+ // 打开和URL之间的连接
+ URLConnection connection = realUrl.openConnection();
+ // 设置通用的请求属性
+ connection.setRequestProperty("accept", "*/*");
+ connection.setRequestProperty("connection", "Keep-Alive");
+ connection.setRequestProperty("user-agent",
+ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+ // 建立实际的连接
+ connection.connect();
+ // 获取所有响应头字段
+ Map> map = connection.getHeaderFields();
+ // 遍历所有的响应头字段
+ for (String key : map.keySet()) {
+ System.out.println(key + "--->" + map.get(key));
+ }
+ // 定义 BufferedReader输入流来读取URL的响应
+ in = new BufferedReader(new InputStreamReader(
+ connection.getInputStream()));
+ String line;
+ while ((line = in.readLine()) != null) {
+ result += line;
+ }
+ } catch (Exception e) {
+ System.out.println("发送GET请求出现异常!" + e);
+ e.printStackTrace();
+ }
+ // 使用finally块来关闭输入流
+ finally {
+ try {
+ if (in != null) {
+ in.close();
+ }
+ } catch (Exception e2) {
+ e2.printStackTrace();
+ }
+ }
+ return result;
+ }
+
+ /**
+ * 向指定 URL 发送POST方法的请求
+ *
+ * @param url
+ * 发送请求的 URL
+ * @param param
+ * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+ * @return 所代表远程资源的响应结果
+ */
+ public static String sendPost(String url, String param) {
+ PrintWriter out = null;
+ BufferedReader in = null;
+ String result = "";
+ try {
+ URL realUrl = new URL(url);
+ // 打开和URL之间的连接
+ URLConnection conn = realUrl.openConnection();
+ // 设置通用的请求属性
+ conn.setRequestProperty("accept", "*/*");
+ conn.setRequestProperty("connection", "Keep-Alive");
+ conn.setRequestProperty("user-agent",
+ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+ // 发送POST请求必须设置如下两行
+ conn.setDoOutput(true);
+ conn.setDoInput(true);
+ // 获取URLConnection对象对应的输出流
+ out = new PrintWriter(conn.getOutputStream());
+ // 发送请求参数
+ out.print(param);
+ // flush输出流的缓冲
+ out.flush();
+ // 定义BufferedReader输入流来读取URL的响应
+ in = new BufferedReader(
+ new InputStreamReader(conn.getInputStream()));
+ String line;
+ while ((line = in.readLine()) != null) {
+ result += line;
+ }
+ } catch (Exception e) {
+ System.out.println("发送 POST 请求出现异常!"+e);
+ e.printStackTrace();
+ }
+ //使用finally块来关闭输出流、输入流
+ finally{
+ try{
+ if(out!=null){
+ out.close();
+ }
+ if(in!=null){
+ in.close();
+ }
+ }
+ catch(IOException ex){
+ ex.printStackTrace();
+ }
+ }
+ return result;
+ }
+ //将map型转为请求参数型
+ public static String urlencode(Map data) {
+ StringBuilder sb = new StringBuilder();
+ for (Map.Entry i : data.entrySet()) {
+ try {
+ sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ }
+ return sb.toString();
+ }
+}
diff --git a/src/main/java/com/util/NewFieldUtileTools.java b/src/main/java/com/util/NewFieldUtileTools.java
new file mode 100644
index 0000000..86fc096
--- /dev/null
+++ b/src/main/java/com/util/NewFieldUtileTools.java
@@ -0,0 +1,155 @@
+package com.util;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+
+public class NewFieldUtileTools {
+
+ /**
+ * 生成文件
+ * @param filePath
+ * @param fileName
+ * @param fileContent
+ * @return
+ * @throws UnsupportedEncodingException
+ * @throws FileNotFoundException
+ */
+ public static boolean fileOperation(String filePath, String fileName,String fileContent){
+ boolean sign = false;
+ String pathTemp = filePath + "\\" + fileName;
+ File file = new File(pathTemp);
+ File file2 = new File(filePath);
+ file2.mkdirs();
+ try {
+ // 文件不存在
+ if (!file.exists()) {
+
+ sign = createFile(pathTemp);// 创建文件
+ if (sign) {// 文件创建成功
+ writeFile(pathTemp, fileContent);// 写入内容
+ }
+ } else {
+ sign = deleteFile(pathTemp);// 删除文件
+ sign = createFile(pathTemp);// 创建文件
+ if (sign) {// 文件创建成功
+ writeFile(pathTemp, fileContent);// 写入内容
+ }
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return sign;
+ }
+ /**
+ * 创建文件
+ *
+ * @throws IOException
+ */
+ public static boolean createFile(String name) throws IOException {
+ boolean flag = false;
+ File filename = new File(name);
+ if (!filename.exists()) {
+ filename.createNewFile();
+ flag = true;
+ }
+ return flag;
+ }
+
+ /**
+ * 写文件
+ *
+ * @param newStr
+ * 新内容
+ * @throws IOException
+ */
+ public static boolean writeFile(String filePath, String newStr)
+ throws IOException {
+ // 先读取原有文件内容,然后进行写入操作
+ boolean flag = false;
+ String filein = newStr + "\r\n";
+ // String str = new String(filein.getBytes("UTF-8"),"UTF-8");
+ String temp = "";
+ FileInputStream fis = null;
+ InputStreamReader isr = null;
+ BufferedReader br = null;
+ FileOutputStream fos = null;
+ // PrintWriter pw = null;
+ Writer pw = null;
+ try {
+ File file = new File(filePath);
+ // 将文件读入输入流
+ fis = new FileInputStream(file);
+ isr = new InputStreamReader(fis, "utf-8");
+ br = new BufferedReader(isr);
+ StringBuffer buf = new StringBuffer();
+ // // 文件路径
+ // File file = new File(filePath);
+ // // 将文件读入输入流
+ //
+ // isr = new InputStreamReader(new FileInputStream(file),"utf-8");
+ // br = new BufferedReader(isr);
+ // StringBuffer buf = new StringBuffer();
+ /**
+ * File f=new File(rawfilename); if(f.exists()) { BufferedReader
+ * br=null; try { String line; InputStreamReader read = new
+ * InputStreamReader(new FileInputStream(f),"utf-8"); br=new
+ * BufferedReader(read);
+ */
+ // 保存该文件原有的内容
+ for (int i = 1; (temp = br.readLine()) != null; i++) {
+ buf = buf.append(temp);
+ buf = buf.append(System.getProperty("line.separator"));
+ }
+ buf.append(filein);
+ fos = new FileOutputStream(file);
+ pw = new OutputStreamWriter(fos, "utf-8");
+ pw.write(buf.toString());
+ pw.flush();
+ flag = true;
+ } catch (IOException e1) {
+ throw e1;
+ } finally {
+ if (pw != null) {
+ pw.close();
+ }
+ if (fos != null) {
+ fos.close();
+ }
+ if (br != null) {
+ br.close();
+ }
+ if (isr != null) {
+ isr.close();
+ }
+ if (fis != null) {
+ fis.close();
+ }
+ }
+ return flag;
+ }
+
+ /**
+ * 删除单个文件
+ *
+ * @param fileName
+ * 被删除文件的文件名
+ * @return 单个文件删除成功返回true,否则返回false
+ */
+ public static boolean deleteFile(String fileName) {
+ boolean isSuccess = false;
+ File file = new File(fileName);
+ if (file.isFile() && file.exists()) {
+ file.delete();
+ isSuccess = true;
+ }
+ return isSuccess;
+ }
+}
diff --git a/src/main/java/com/util/OfficeUtil.java b/src/main/java/com/util/OfficeUtil.java
new file mode 100644
index 0000000..78cd9ed
--- /dev/null
+++ b/src/main/java/com/util/OfficeUtil.java
@@ -0,0 +1,278 @@
+package com.util;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+import org.apache.poi.hssf.usermodel.HSSFDateUtil;
+import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFFont;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+public class OfficeUtil {
+
+ /********************************************************* xls *************************************************************/
+
+ /**
+ * 写Excel并下载针对.xls
+ *
+ */
+ public boolean writeAndDownExcelToXLS(HttpServletRequest request,HttpServletResponse response, List list, String[] titles,
+ HSSFWorkbook workbook, HSSFSheet sheet, String filepath) {
+ boolean flag = true;
+ if (null!=list && list.size()>0) {
+ try {
+ for (int i = 0; i < titles.length; i++) {
+ HSSFRow row = sheet.createRow(i);
+ WriteExcelCellContextToXLS(workbook, row,i,titles[i]);
+ }
+ for (int j = 1; j <= list.size(); j++) {
+ Object[] object = object = (Object[]) list.get(j - 1);
+ HSSFRow row = sheet.createRow(j);
+ for (int n = 0; n < object.length; n++) {
+ WriteExcelCellContextToXLS(workbook,row,n,object[n] == null ? "" : UtilTools.delHTMLTag(object[n].toString()));
+ }
+ }
+ flag = CreateExcel(filepath, workbook);
+ if (flag) {
+ flag = UtilTools.downFile(response, filepath);
+ }
+ } catch (Exception e) {
+ flag = false;
+ e.printStackTrace();
+ }
+ }
+ return flag;
+ }
+
+ /**
+ * 写Excel内容针对.xls且对标题行加样式
+ *
+ */
+ public static void WriteExcelCellContextToXLS(HSSFWorkbook workbook,HSSFRow row,int cellindex,String content) {
+ HSSFCell cell = row.createCell((short) cellindex);
+ cell.setCellType(HSSFCell.CELL_TYPE_STRING);
+ // cell.setEncoding(HSSFCell.ENCODING_UTF_16);
+ cell.setCellValue(content);
+ //加样式
+ HSSFCellStyle style = workbook.createCellStyle();
+ HSSFFont font = workbook.createFont();
+ font.setFontHeightInPoints((short) 11);// 字号
+ font.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);// 加粗
+ font.setColor(HSSFFont.COLOR_RED);// 颜色
+ style.setFont(font);
+ style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中
+ style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中
+ cell.setCellStyle(style);
+ }
+
+ /**
+ * 写Excel内容针对.xls
+ *
+ */
+ public static void WriteExcelCellContextToXLS(HSSFRow row,int cellindex,String content) {
+ HSSFCell cell = row.createCell((short) cellindex);
+ cell.setCellType(HSSFCell.CELL_TYPE_STRING);
+ // cell.setEncoding(HSSFCell.ENCODING_UTF_16);
+ cell.setCellValue(content);
+ }
+
+ /**
+ * 获取.xls Excel单元格的值
+ *
+ */
+ public static Object getCellResultToXLS(HSSFRow row, int cellnum) {
+ HSSFCell cell = row.getCell((short) cellnum);
+ Object value = null;
+ DecimalFormat df = new DecimalFormat("0");// 格式化 number String 字符
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化日期字符串
+ DecimalFormat nf = new DecimalFormat("0.00");// 格式化数字
+ if (null != cell) {
+ switch (cell.getCellType()) {
+ case HSSFCell.CELL_TYPE_STRING:
+ value = cell.getStringCellValue();
+ break;
+ case HSSFCell.CELL_TYPE_FORMULA:
+ try {
+ value=cell.getNumericCellValue();
+ } catch (Exception e) {
+ e.printStackTrace();
+ value ="";
+ }
+ break;
+ case HSSFCell.CELL_TYPE_NUMERIC:
+ /*if ("@".equals(cell.getCellStyle().getDataFormat())) {
+ value = df.format(cell.getNumericCellValue());
+ } else if ("General".equals(cell.getCellStyle().getDataFormat())) {
+ value = nf.format(cell.getNumericCellValue());
+ } else {
+ value = sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue()));
+ }*/
+ if (HSSFDateUtil.isCellDateFormatted(cell)) { //日期
+ value = sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue()));
+ } else { // 纯数字
+ value = df.format(cell.getNumericCellValue());
+ }
+ break;
+ case HSSFCell.CELL_TYPE_BOOLEAN:
+ value = cell.getBooleanCellValue();
+ break;
+ case HSSFCell.CELL_TYPE_BLANK:
+ value = "";
+ break;
+ default:
+ value = cell.toString();
+ }
+ } else {
+ value = "";
+ }
+
+ return value;
+
+ }
+
+ /********************************************************* xlsx *************************************************************/
+
+ /**
+ * 写Excel内容针对.xlsx且对标题行加样式
+ *
+ */
+ public static void WriteExcelCellContextToXLSX(XSSFWorkbook workbook,XSSFRow row,int cellindex,String content) {
+ XSSFCell cell = row.createCell(cellindex);
+ cell.setCellType(HSSFCell.CELL_TYPE_STRING);
+ cell.setCellValue(content);
+ //加样式
+ XSSFCellStyle style = workbook.createCellStyle();
+ XSSFFont font = workbook.createFont();
+ font.setFontHeightInPoints((short) 11);
+ font.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);
+ font.setColor(HSSFFont.COLOR_RED);
+ style.setFont(font);
+ style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+ style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
+ cell.setCellStyle(style);
+ }
+
+ /**
+ * 写Excel内容针对.xlsx
+ *
+ */
+ public static void WriteExcelCellContextToXLSX(XSSFRow row, int cellindex,String content) {
+ XSSFCell cell = row.createCell(cellindex);
+ cell.setCellType(HSSFCell.CELL_TYPE_STRING);
+ cell.setCellValue(content);
+ }
+
+ /**
+ * 获取.xlsx Excel单元格的值
+ *
+ */
+ public static Object getExcelResultToXLSX(XSSFRow row, int cellnum) {
+ Object value = null;
+ XSSFCell cell = row.getCell(cellnum);
+ DecimalFormat df = new DecimalFormat("0");// 格式化 number String 字符
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化日期字符串
+ DecimalFormat ndf = new DecimalFormat("0.00");// 格式化数字
+ if (null != cell) {
+ switch (cell.getCellType()) {
+ case XSSFCell.CELL_TYPE_STRING:
+ value = cell.getStringCellValue();
+ break;
+ case XSSFCell.CELL_TYPE_NUMERIC:
+ if ("@".equals(cell.getCellStyle().getDataFormatString())) {
+ value = df.format(cell.getNumericCellValue());
+ } else if ("General".equals(cell.getCellStyle().getDataFormatString())) {
+ value = ndf.format(cell.getNumericCellValue());
+ } else {
+ value = sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue()));
+ }
+ break;
+ case XSSFCell.CELL_TYPE_BOOLEAN:
+ value = cell.getBooleanCellValue();
+ break;
+ case XSSFCell.CELL_TYPE_BLANK:
+ value = "";
+ break;
+ default:
+ value = cell.toString();
+ }
+
+ }
+
+ if(value==null)value="";
+ return value;
+ }
+
+ /**
+ * 判断sheet行标题与指定标题是否一至
+ */
+ public static boolean sheetRowTitleToXlSX(XSSFSheet sheet,String[] titles){
+ boolean flag=true;
+ XSSFRow row=sheet.getRow(0);
+ for(int i=0;i params = new HashMap();//请求参数
+ params.put("Action","Dialout");//命令名称,外呼接口中固定名称为Dialout
+ params.put("ActionID",key);//随机码,用户用来标识请求的操作,服务器返回的Response中会带有对应Action的ActionID;在通话事件中会带有该字段;该字段最大长度是40个字节
+ params.put("Account","N00000002010");
+ params.put("Exten",phoneno);//被叫号码
+ params.put("FromExten",zxno);//坐席工号
+ params.put("PBX", "sh.ali.1.5");
+ params.put("ExtenType", "gateway");//外呼时强制座席使用该接听方式。可选参数。正常情况下调用外呼接口不需传此字段,座席默认使用登陆呼叫中心的接听方式外呼。
+ //如有特殊需要,例如:座席不登陆系统发起外呼,需要传此字段。
+ //Local为“手机”
+ //sip为“软电话”
+ //gateway为“语音网关”
+
+ try {
+ result =net(url, params, "GET");
+ System.out.println("---"+result);
+ JSONObject object = JSONObject.fromObject(result);
+ sign = object.getBoolean("Succeed");
+ } catch (Exception e) {
+ e.printStackTrace();
+ sign = false;
+ }
+ return sign;
+ }
+
+
+
+ public static void main(String[] args) {
+ System.out.println(getTalk("13764935808","8003",RequestUtil.getid(6)));
+
+ }
+
+ /**
+ *
+ * @param strUrl 请求地址
+ * @param params 请求参数
+ * @param method 请求方法
+ * @return 网络请求字符串
+ * @throws Exception
+ */
+ public static String net(String strUrl, final Map params,String method) throws Exception {
+ HttpURLConnection conn = null;
+ BufferedReader reader = null;
+ String rs = null;
+ try {
+ StringBuffer sb = new StringBuffer();
+ if(method==null || method.equals("GET")){
+ strUrl = strUrl+"?"+urlencode(params);
+ }
+// String last = strUrl.substring(strUrl.length()-1, strUrl.length());
+// if("&".equals(last)){
+// strUrl = strUrl.substring(0, strUrl.length()-1);
+// }
+ URL url = new URL(strUrl);
+ conn = (HttpURLConnection) url.openConnection();
+ if(method==null || method.equals("GET")){
+ conn.setRequestMethod("GET");
+ }else{
+ conn.setRequestMethod("POST");
+ conn.setDoOutput(true);
+ }
+ conn.setRequestProperty("User-agent", userAgent);
+ conn.setUseCaches(false);
+ conn.setConnectTimeout(DEF_CONN_TIMEOUT);
+ conn.setReadTimeout(DEF_READ_TIMEOUT);
+ conn.setInstanceFollowRedirects(false);
+ conn.connect();
+// if (params!= null && method.equals("POST")) {
+// try (DataOutputStream out = new DataOutputStream(conn.getOutputStream())) {
+// out.writeBytes(urlencode(params));
+// }
+// }
+ InputStream is = conn.getInputStream();
+ reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
+ String strRead = null;
+ while ((strRead = reader.readLine()) != null) {
+ sb.append(strRead);
+ }
+ rs = sb.toString();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (reader != null) {
+ reader.close();
+ }
+ if (conn != null) {
+ conn.disconnect();
+ }
+ }
+ return rs;
+ }
+
+ //将map型转为请求参数型
+ public static String urlencode(Map data) {
+ StringBuilder sb = new StringBuilder();
+ for (Map.Entry i : data.entrySet()) {
+ try {
+ sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ }
+ return sb.toString();
+ }
+}
diff --git a/src/main/java/com/util/PinYin2Abbreviation.java b/src/main/java/com/util/PinYin2Abbreviation.java
new file mode 100644
index 0000000..56f8290
--- /dev/null
+++ b/src/main/java/com/util/PinYin2Abbreviation.java
@@ -0,0 +1,102 @@
+package com.util;
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-10-6 下午2:03:37
+ * 类说明:获取中文首字母
+ */
+public class PinYin2Abbreviation {
+
+ // 简体中文的编码范围从B0A1(45217)一直到F7FE(63486)
+ private static int BEGIN = 45217;
+ private static int END = 63486;
+
+ // 按照声 母表示,这个表是在GB2312中的出现的第一个汉字,也就是说“啊”是代表首字母a的第一个汉字。
+ // i, u, v都不做声母, 自定规则跟随前面的字母
+ private static char[] chartable = { '啊', '芭', '擦', '搭', '蛾', '发', '噶', '哈', '哈', '击', '喀', '垃', '妈', '拿', '哦', '啪', '期', '然', '撒', '塌', '塌', '塌', '挖', '昔', '压', '匝', };
+
+ // 二十六个字母区间对应二十七个端点
+ // GB2312码汉字区间十进制表示
+ private static int[] table = new int[27];
+
+ // 对应首字母区间表
+ private static char[] initialtable = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'h', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 't', 't', 'w', 'x', 'y', 'z', };
+
+ // 初始化
+ static {
+ for (int i = 0; i < 26; i++) {
+ table[i] = gbValue(chartable[i]);// 得到GB2312码的首字母区间端点表,十进制。
+ }
+ table[26] = END;// 区间表结尾
+ }
+
+ // ------------------------public方法区------------------------
+ // 根据一个包含汉字的字符串返回一个汉字拼音首字母的字符串 最重要的一个方法,思路如下:一个个字符读入、判断、输出
+
+ public static String cn2py(String SourceStr) {
+ String Result = "";
+ int StrLength = SourceStr.length();
+ int i;
+ try {
+ for (i = 0; i < StrLength; i++) {
+ Result += Char2Initial(SourceStr.charAt(i));
+ }
+ } catch (Exception e) {
+ Result = "";
+ e.printStackTrace();
+ }
+ return Result;
+ }
+
+ // ------------------------private方法区------------------------
+ /**
+ * 输入字符,得到他的声母,英文字母返回对应的大写字母,其他非简体汉字返回 '0' *
+ */
+ private static char Char2Initial(char ch) {
+ // 对英文字母的处理:小写字母转换为大写,大写的直接返回
+ if (ch >= 'a' && ch <= 'z') {
+ return (char) (ch - 'a' + 'A');
+ }
+ if (ch >= 'A' && ch <= 'Z') {
+ return ch;
+ }
+ // 对非英文字母的处理:转化为首字母,然后判断是否在码表范围内,
+ // 若不是,则直接返回。
+ // 若是,则在码表内的进行判断。
+ int gb = gbValue(ch);// 汉字转换首字母
+ if ((gb < BEGIN) || (gb > END))// 在码表区间之前,直接返回
+ {
+ return ch;
+ }
+ int i;
+ for (i = 0; i < 26; i++) {// 判断匹配码表区间,匹配到就break,判断区间形如“[,)”
+ if ((gb >= table[i]) && (gb < table[i + 1])) {
+ break;
+ }
+ }
+ if (gb == END) {// 补上GB2312区间最右端
+ i = 25;
+ }
+ return initialtable[i]; // 在码表区间中,返回首字母
+ }
+
+ /**
+ * 取出汉字的编码 cn 汉字
+ */
+ private static int gbValue(char ch) {// 将一个汉字(GB2312)转换为十进制表示。
+ String str = new String();
+ str += ch;
+ try {
+ byte[] bytes = str.getBytes("GB2312");
+ if (bytes.length < 2) {
+ return 0;
+ }
+ return (bytes[0] << 8 & 0xff00) + (bytes[1] & 0xff);
+ } catch (Exception e) {
+ return 0;
+ }
+ }
+
+ public static void main(String[] args) throws Exception {
+ System.out.println(cn2py("宝").toUpperCase());
+ }
+}
diff --git a/src/main/java/com/util/ReadExcel.java b/src/main/java/com/util/ReadExcel.java
new file mode 100644
index 0000000..22ae356
--- /dev/null
+++ b/src/main/java/com/util/ReadExcel.java
@@ -0,0 +1,141 @@
+package com.util;
+
+import org.apache.poi.hssf.usermodel.HSSFDateUtil;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.*;
+
+import javax.swing.filechooser.FileSystemView;
+import java.io.*;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * Created by 16094 on 2017/8/24.
+ */
+public class ReadExcel {
+
+ private Workbook workbook;
+
+ private static String desktopPath = FileSystemView.getFileSystemView().getHomeDirectory().getAbsolutePath();
+
+
+ public ReadExcel(File excelFile) throws Exception {
+ workbook = WorkbookFactory.create(new FileInputStream(excelFile));
+ }
+
+ public List getData(int index) {
+
+ try {
+ List result = new ArrayList();
+ int rowSize = 0;
+ Cell cell = null;
+ int numberOfSheets = Math.min(workbook.getNumberOfSheets(), index);
+ for (int sheetIndex = 0; sheetIndex < numberOfSheets; sheetIndex++) {
+ Sheet sheetAt = workbook.getSheetAt(sheetIndex);
+ for (int rowIndex = 0; rowIndex <= sheetAt.getLastRowNum(); rowIndex++) {
+ Row row = sheetAt.getRow(rowIndex);
+ if (row == null) {
+ continue;
+ }
+ int tempRowSize = row.getLastCellNum() + 1;
+ if (tempRowSize > rowSize) {
+ rowSize = tempRowSize;
+ }
+ List mapList = new ArrayList();
+ // mapList.clear();
+ //boolean hasValue = false;
+ for (short columnIndex = 0; columnIndex <= row.getLastCellNum(); columnIndex = (short) (columnIndex + 1)) {
+ String value = "";
+ // String key = "";
+ cell = row.getCell(columnIndex);
+ if (cell != null) {
+ switch (cell.getCellType()) {
+ case 1:
+ value = cell.getStringCellValue();
+ // key = "String";
+ break;
+ case 0:
+ if (HSSFDateUtil.isCellDateFormatted(cell)) {
+ Date date = cell.getDateCellValue();
+ if (date != null)
+ value = new SimpleDateFormat("yyyy-MM-dd").format(date);
+ else {
+ value = "";
+ }
+ // key = "Date";
+ } else {
+ value = new DecimalFormat("0").format(cell.getNumericCellValue());
+ // key = "Integer";
+ }
+ break;
+ case 2:
+ if (!cell.getStringCellValue().equals(""))
+ value = cell.getStringCellValue();
+ else {
+ value = cell.getNumericCellValue() + "";
+ }
+ // key = "String";
+ break;
+ case 3:
+ break;
+ case 5:
+ value = "";
+ // key = "";
+ break;
+ case 4:
+ value = cell.getBooleanCellValue() == true ? "Y" : "N";
+ //key = "boolean";
+ break;
+ default:
+ value = "";
+ //key = "";
+ }
+ }
+ if (value == null || value.equals("")) {
+ break;
+ }
+ if ((columnIndex == 0) && (value.trim().equals(""))) {
+ break;
+ }
+ //stringStringMap.put(rightTrim(key), );
+ mapList.add(rightTrim(value));
+ // hasValue = true;
+ }
+ result.add(mapList);
+// if (hasValue) {
+// result.add(mapList);
+// }
+ }
+ }
+ return result;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static String rightTrim(String str) {
+ if (str == null) {
+ return "";
+ }
+ int length = str.length();
+ for (int i = length - 1; (i >= 0) &&
+ (str.charAt(i) == ' '); i--) {
+ length--;
+ }
+ return str.substring(0, length);
+ }
+
+
+ public static void main(String[] args) throws Exception {
+ File file = new File(desktopPath + "/Outcomes.xlsx");
+ List datas = new ReadExcel(file).getData(1);
+ for (int i = 0; i < datas.size(); i++) {
+ List listinfo = (List) datas.get(i);
+ for (int j = 0; j < listinfo.size(); j++) {
+ System.out.print(listinfo.get(j) + " ");
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/util/ReadExcel2003.java b/src/main/java/com/util/ReadExcel2003.java
new file mode 100644
index 0000000..2ae0aaa
--- /dev/null
+++ b/src/main/java/com/util/ReadExcel2003.java
@@ -0,0 +1,109 @@
+package com.util;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+/**
+* 解析excel2003
+*/
+public class ReadExcel2003{
+
+private HSSFWorkbook workbook ;
+public ReadExcel2003(File excelFile) throws FileNotFoundException, IOException{
+ workbook = new HSSFWorkbook(new FileInputStream(excelFile));
+}
+
+/**
+*读取所有列
+*/
+public List getDatasInSheetarrall(int sheetNumber) throws FileNotFoundException, IOException{
+ List result = new ArrayList();
+
+ //获得指定的表
+ HSSFSheet sheet = workbook.getSheetAt(sheetNumber);
+ //获得数据总行数
+ int rowCount = sheet.getLastRowNum();
+ if (rowCount < 1) {
+ return result;
+ }
+ //逐行读取数据
+ for (int rowIndex = 0; rowIndex <= rowCount; rowIndex++) {
+ //获得行对象
+ HSSFRow row = sheet.getRow(rowIndex);
+ if (row != null) {
+ List list=new ArrayList();
+ int columnCount = row.getLastCellNum();
+ //读取所有的列
+ for (int i = 0; i datas = parser.getDatasInSheetarrall(0);
+ boolean b=false;
+ for (int i = 0; i < datas.size(); i++) {
+ List listinfo = (List) datas.get(i);
+ for (int j = 0; j < listinfo.size(); j++) {
+ System.out.print(listinfo.get(j) + " ");
+ }
+ System.out.println("");
+ }
+
+}
+
+}
diff --git a/src/main/java/com/util/ReadExcel2007.java b/src/main/java/com/util/ReadExcel2007.java
new file mode 100644
index 0000000..ca7c8d5
--- /dev/null
+++ b/src/main/java/com/util/ReadExcel2007.java
@@ -0,0 +1,112 @@
+package com.util;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+/**
+ * 解析excel2007
+ */
+public class ReadExcel2007 {
+
+ private XSSFWorkbook workbook;
+
+ public ReadExcel2007(File excelFile)throws FileNotFoundException, IOException {
+ workbook = new XSSFWorkbook(new FileInputStream(excelFile));
+ }
+
+ /**
+ *读取所有列
+ */
+ public List getDatasInSheetarrall(int sheetNumber)
+ throws FileNotFoundException, IOException {
+ List result = new ArrayList();
+
+ //获得指定的表
+ XSSFSheet sheet = workbook.getSheetAt(sheetNumber);
+ //获得数据总行数
+ int rowCount = sheet.getLastRowNum();
+ if (rowCount < 1) {
+ return result;
+ }
+ //逐行读取数据
+ for (int rowIndex = 0; rowIndex <= rowCount; rowIndex++) {
+ //获得行对象
+ XSSFRow row = sheet.getRow(rowIndex);
+ if (row != null) {
+ List list = new ArrayList();
+ int columnCount = row.getLastCellNum();
+ //读取所有的列
+ for (int i = 0; i < columnCount; i++) {
+ //获得本行中单元格的个数
+ //获得本行中各单元格中的数据
+ XSSFCell cell = row.getCell(Short.parseShort(i + ""));
+ //获得指定单元格中数据
+ Object cellStr = this.getCellString(cell);
+ if (null != cellStr) {
+ list.add(cellStr.toString().trim());
+ } else {
+ list.add("");
+ }
+ }
+ result.add(list);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * 获得单元格中的内容
+ * @param cell
+ * @return
+ */
+ protected Object getCellString(XSSFCell cell) {
+ Object result = null;
+ if (cell != null) {
+ int cellType = cell.getCellType();
+ switch (cellType) {
+ case XSSFCell.CELL_TYPE_STRING:
+ result = cell.getStringCellValue();
+ break;
+ case XSSFCell.CELL_TYPE_NUMERIC:
+ result = cell.getNumericCellValue();
+ break;
+ case XSSFCell.CELL_TYPE_FORMULA:
+ result = cell.getNumericCellValue();
+ break;
+ case XSSFCell.CELL_TYPE_ERROR:
+ break;
+ case XSSFCell.CELL_TYPE_BOOLEAN:
+ result = cell.getBooleanCellValue();
+ break;
+ case XSSFCell.CELL_TYPE_BLANK:
+ result = null;
+ break;
+ }
+ }
+ return result;
+ }
+
+ public static void main(String[] args) throws Exception {
+ File file = new File("C:\\Users\\Administrator\\Desktop\\金钥匙\\测试清单.xlsx");
+ ReadExcel2007 parser3 = new ReadExcel2007(file);
+ List datas = parser3.getDatasInSheetarrall(0);
+ for (int i = 0; i < datas.size(); i++) {
+ List listinfo = (List) datas.get(i);
+ for (int j = 0; j < listinfo.size(); j++) {
+ System.out.print(listinfo.get(j) + " ");
+ }
+ System.out.println("");
+ }
+ //XMLEventFactory
+ //C:\java\MyEclipse 6.0\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.0.0.zmyeclipse60020070820\data\libraryset\EE_5
+ }
+
+}
diff --git a/src/main/java/com/util/RequestMessage.java b/src/main/java/com/util/RequestMessage.java
new file mode 100644
index 0000000..a061c0b
--- /dev/null
+++ b/src/main/java/com/util/RequestMessage.java
@@ -0,0 +1,139 @@
+package com.util;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.util.HashMap;
+import java.util.Map;
+
+import net.sf.json.JSONObject;
+
+/**
+ * @author 作者姓名: dubaohui
+ * @version 创建时间:2015-9-29 下午4:56:12
+ * 类说明
+ */
+public class RequestMessage {
+ public static final String DEF_CHATSET = "UTF-8";
+ public static final int DEF_CONN_TIMEOUT = 30000;
+ public static final int DEF_READ_TIMEOUT = 30000;
+ public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
+ //配置您申请的KEY
+ public static final String APPKEY ="3bbd4eebe311f16af14c8f38dfa927f1";
+ //模板编号
+ // public static String tpl_id= "4027";
+ //返回格式
+ public static String dtype = "json";
+ public static String url ="http://v.juhe.cn/sms/send";
+
+ //2.发送短信
+ public static boolean SendMessage(String phoneno,String code,String tpl_id){
+ boolean sign = false;
+ String result =null;
+ Map params = new HashMap();//请求参数
+ params.put("mobile",phoneno);//接收短信的手机号码
+ params.put("tpl_id",tpl_id);//短信模板ID,请参考个人中心短信模板设置
+ //"#customername#="+code+"employeeno#="+8004+""
+ params.put("tpl_value",code);
+ //变量名和变量值对。如果你的变量名或者变量值中带有#&=中的任意一个特殊符号,请先分别进行urlencode编码后再传递,<a href="http://www.juhe.cn/news/index/id/50" target="_blank">详细说明></a>
+ params.put("key",APPKEY);//应用APPKEY(应用详细页查询)
+ params.put("dtype",dtype);//返回数据的格式,xml或json,默认json
+
+ try {
+ result =net(url, params, "GET");
+ // System.out.println("---"+result);
+ JSONObject object = JSONObject.fromObject(result);
+ if(object.getInt("error_code")==0){
+ // System.out.println(object.get("result"));
+ sign = true;
+ }else{
+ // System.out.println(object.get("error_code")+":"+object.get("reason"));
+ sign = false;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ sign = false;
+ }
+ return sign;
+ }
+
+
+
+ public static void main(String[] args) {
+ //System.out.println(SendMessage("17717522592","收到请回复。。。。。"));
+ }
+
+ /**
+ *
+ * @param strUrl 请求地址
+ * @param params 请求参数
+ * @param method 请求方法
+ * @return 网络请求字符串
+ * @throws Exception
+ */
+ public static String net(String strUrl, final Map params,String method) throws Exception {
+ HttpURLConnection conn = null;
+ BufferedReader reader = null;
+ String rs = null;
+ try {
+ StringBuffer sb = new StringBuffer();
+ if(method==null || method.equals("GET")){
+ strUrl = strUrl+"?"+urlencode(params);
+ }
+ URL url = new URL(strUrl);
+ conn = (HttpURLConnection) url.openConnection();
+ if(method==null || method.equals("GET")){
+ conn.setRequestMethod("GET");
+ }else{
+ conn.setRequestMethod("POST");
+ conn.setDoOutput(true);
+ }
+ conn.setRequestProperty("User-agent", userAgent);
+ conn.setUseCaches(false);
+ conn.setConnectTimeout(DEF_CONN_TIMEOUT);
+ conn.setReadTimeout(DEF_READ_TIMEOUT);
+ conn.setInstanceFollowRedirects(false);
+ conn.connect();
+// if (params!= null && method.equals("POST")) {
+// try (DataOutputStream out = new DataOutputStream(conn.getOutputStream())) {
+// out.writeBytes(urlencode(params));
+// }
+// }
+ InputStream is = conn.getInputStream();
+ reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
+ String strRead = null;
+ while ((strRead = reader.readLine()) != null) {
+ sb.append(strRead);
+ }
+ rs = sb.toString();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (reader != null) {
+ reader.close();
+ }
+ if (conn != null) {
+ conn.disconnect();
+ }
+ }
+ return rs;
+ }
+
+ //将map型转为请求参数型
+ public static String urlencode(Map data) {
+ StringBuilder sb = new StringBuilder();
+ for (Map.Entry i : data.entrySet()) {
+ try {
+ sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ }
+ return sb.toString();
+ }
+}
diff --git a/src/main/java/com/util/RequestUtil.java b/src/main/java/com/util/RequestUtil.java
new file mode 100644
index 0000000..5426f65
--- /dev/null
+++ b/src/main/java/com/util/RequestUtil.java
@@ -0,0 +1,1407 @@
+package com.util;
+
+import java.awt.image.BufferedImage;
+
+import java.io.*;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.security.MessageDigest;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.Properties;
+import java.util.Random;
+import java.util.ResourceBundle;
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.alibaba.fastjson.JSON;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+/**
+ * 工具类
+ *
+ * @author dubaohui
+ * */
+public class RequestUtil {
+
+ /**
+ * 获取自动编号
+ *
+ * @param int
+ * @return String
+ * */
+ public static String getid(int f) {
+ SimpleDateFormat tempDate = new SimpleDateFormat("yyyyMMddHHmmss");
+ String id = tempDate.format(new java.util.Date()) + getCodeint(f);
+ return id;
+ }
+
+ /**
+ *
+ * 获取当前年份
+ *
+ * */
+ public static String getLongYear() {
+ SimpleDateFormat tempDate = new SimpleDateFormat("yyyy");
+ String id = tempDate.format(new java.util.Date());
+ return id;
+ }
+
+ /**
+ *
+ * 获取当前年份
+ *
+ * */
+ public static String getShortYear() {
+ SimpleDateFormat tempDate = new SimpleDateFormat("yyyy");
+ String id = tempDate.format(new java.util.Date());
+ return id.substring(2, id.length());
+ }
+
+ /**
+ *
+ * 获取当前日期周日对应的日期
+ *
+ * @param
+ * @return String
+ * */
+ public static String getDateForSunday() {
+ Calendar cal = Calendar.getInstance();
+ // n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推
+ int n = 1;
+ cal.add(Calendar.DATE, n * 7);
+ cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
+ String sunday = new SimpleDateFormat("yyyy-MM-dd")
+ .format(cal.getTime());
+ return sunday;
+ }
+
+ /**
+ *
+ * 获取当前日期周一对应的日期
+ *
+ * @param
+ * @return String
+ * */
+ public static String getDateForMonday() {
+ Calendar cal = Calendar.getInstance();
+ // n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推
+ int n = 0;
+ cal.add(Calendar.DATE, n * 7);
+ cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
+ String monday = new SimpleDateFormat("yyyy-MM-dd")
+ .format(cal.getTime());
+
+ return monday;
+ }
+
+ /**
+ *
+ * 获取随即数字
+ *
+ * @param code_len
+ * @reutrn String
+ *
+ * */
+ public static String getCodeint(int code_len) {
+ int count = 0;
+ char str[] = { '1', '2', '3', '4', '5', '6', '7', '8', '9' };
+ StringBuffer pwd = new StringBuffer("");
+ Random r = new Random();
+ while (count < code_len) {
+ int i = Math.abs(r.nextInt(10));
+ if (i >= 0 && i < str.length) {
+ pwd.append(str[i]);
+ count++;
+ }
+ }
+ return pwd.toString();
+ }
+
+ /**
+ * 获取随即数
+ *
+ * @param code_len
+ * @return String
+ * */
+ public static String getCodechar(int codelen) {
+ int count = 0;
+ char str[] = { 'a', '1', 'b', 'c', '2', 'd', 'e', '4', 'f', 'j', 'h',
+ '3', 'i', 'j', '6', 'k', 'l', '9', 'm', 'n', 'p', 'q', 'r',
+ 's', 't', '7', 'u', 'v', 'w', '8', 'x', 'y', '5', 'z' };
+ StringBuffer pwd = new StringBuffer("");
+ Random r = new Random();
+ while (count < codelen) {
+ int i = Math.abs(r.nextInt(10));
+ if (i >= 0 && i < str.length) {
+ pwd.append(str[i]);
+ count++;
+ }
+ }
+ return pwd.toString();
+ }
+
+ /**
+ * 获取当前时间
+ *
+ * @param
+ * @return String yyyy-MM-dd HH:mm:ss
+ *
+ * */
+ public static String getDateTime() {
+ SimpleDateFormat tempDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ return tempDate.format(new java.util.Date());
+ }
+
+ /**
+ * 获取当前时间
+ *
+ * @param
+ * @return String HH:mm
+ *
+ * */
+ public static String getHHmmTime() {
+ SimpleDateFormat tempDate = new SimpleDateFormat("HH:mm");
+ return tempDate.format(new java.util.Date());
+ }
+
+ /**
+ *
+ * 获取日期 YYYY-MM-DD
+ * */
+ public static String getShortDate() {
+ SimpleDateFormat tempDate = new SimpleDateFormat("yyyy-MM-dd");
+ return tempDate.format(new java.util.Date());
+ }
+
+ /**
+ *
+ * 根据起止日期获取范围内的每一天
+ *
+ * @param start
+ * @param end
+ * @return String[]
+ *
+ * */
+ public static String[] getEveryDateForDay(String start, String end) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ String strs = "";
+ try {
+ Date dBegin = sdf.parse(start);
+ Date dEnd = sdf.parse(end);
+ List lDate = findDates(dBegin, dEnd);
+
+ for (Date date : lDate) {
+ // System.out.println(sdf.format(date));
+ strs += sdf.format(date) + ",";
+ }
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ if (!"".equals(strs)) {
+ strs = strs.substring(0, strs.length() - 1);
+ }
+ String str[] = strs.split(",");
+ return str;
+ }
+
+
+
+ public static List findDates(Date dBegin, Date dEnd) {
+ List lDate = new ArrayList();
+ lDate.add(dBegin);
+ Calendar calBegin = Calendar.getInstance();
+ // 使用给定的 Date 设置此 Calendar 的时间
+ calBegin.setTime(dBegin);
+ Calendar calEnd = Calendar.getInstance();
+ // 使用给定的 Date 设置此 Calendar 的时间
+ calEnd.setTime(dEnd);
+ // 测试此日期是否在指定日期之后
+ while (dEnd.after(calBegin.getTime())) {
+ // 根据日历的规则,为给定的日历字段添加或减去指定的时间量
+ calBegin.add(Calendar.DAY_OF_MONTH, 1);
+ lDate.add(calBegin.getTime());
+ }
+ return lDate;
+ }
+
+ /**
+ *
+ * 计算时间差
+ *
+ * @param dateStart
+ * @param dateStop
+ * @return String
+ *
+ * */
+ public static String TimeDifference(String dateStart, String dateStop) {
+ String returnvalue = "0天0时0分0秒";
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ try {
+ Date d1 = format.parse(dateStart);
+ Date d2 = format.parse(dateStop);
+ // 毫秒ms
+ long diff = d2.getTime() - d1.getTime();
+ System.out.println(diff);
+ long diffSeconds = diff / 1000 % 60;
+ long diffMinutes = diff / (60 * 1000) % 60;
+ long diffHours = diff / (60 * 60 * 1000) % 24;
+ long diffDays = diff / (24 * 60 * 60 * 1000);
+ returnvalue = diffDays + "天" + diffHours + "小时" + diffMinutes
+ + "分钟" + diffSeconds + "秒";
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return returnvalue;
+ }
+
+
+ /**
+ *
+ * 计算间隔天数
+ *
+ * @param dateStart
+ * @param dateStop
+ * @return String
+ *
+ * */
+ public static Integer DateDifference(String dateStart, String dateStop) {
+ int returnvalue = 0;
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ try {
+ Date d1 = format.parse(dateStart);
+ Date d2 = format.parse(dateStop);
+ // 毫秒ms
+ long diff = d2.getTime() - d1.getTime();
+ long diffDays = diff / (24 * 60 * 60 * 1000);
+ returnvalue = Integer.parseInt(String.valueOf(diffDays));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return returnvalue;
+ }
+ /**
+ *
+ * 计算间隔天数
+ *
+ * @param dateStart
+ * @param dateStop
+ * @return String
+ *
+ * */
+ public static Integer DateDifference(String dateStart, String dateStop,String dataformat) throws Exception{
+ int returnvalue = 0;
+ SimpleDateFormat format = new SimpleDateFormat(dataformat);
+ try {
+ Date d1 = format.parse(dateStart);
+ Date d2 = format.parse(dateStop);
+ // 毫秒ms
+ long diff = d2.getTime() - d1.getTime();
+ long diffDays = diff / (24 * 60 * 60 * 1000);
+ returnvalue = Integer.parseInt(String.valueOf(diffDays));
+ } catch (Exception e) {
+ throw e;
+ }
+ return returnvalue;
+ }
+ /**
+ *
+ * 根据日期获取分钟
+ *
+ * @param dateStart
+ * @param dateStop
+ * @return String
+ * */
+ public static String getMinutes(String dateStart, String dateStop) {
+
+ String returnvalue = "0";
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ try {
+ Date d1 = format.parse(dateStart);
+ Date d2 = format.parse(dateStop);
+ // 毫秒ms
+ long diff = d2.getTime() - d1.getTime();
+ long minut = diff / (1000 * 60);
+ returnvalue = minut + "";
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return returnvalue;
+ }
+
+
+ /**
+ * 获取服务路径
+ *
+ * @param HttpServletRequest
+ * @return String
+ * */
+ public static String getPath(HttpServletRequest request) {
+ return request.getContextPath();
+
+ }
+
+ /**
+ * 获取文件路径
+ * @param String
+ * @return String
+ *
+ * */
+ public static String getFilePath(String filename,HttpServletRequest request){
+ return request.getSession().getServletContext().getRealPath(filename);
+ }
+
+ /**
+ * 读取实体文件转成二进制字符串
+ *
+ * @param path
+ * @return String
+ * @throws IOException
+ * */
+ public static String GetHexStringbyImg(String path, String type)
+ throws IOException {
+
+ String info = "";
+ File f = new File(path);
+ InputStream input = new FileInputStream(f);
+ BufferedInputStream bis = new BufferedInputStream(input);
+ BufferedImage bm = ImageIO.read(bis);
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ ImageIO.write(bm, type, bos);
+ bos.flush();
+ byte[] data = bos.toByteArray();
+ info = byte2hex(data);
+ // System.out.println(info);
+ bos.close();
+ return info;
+ }
+
+ /**
+ * @title 根据二进制字符串生成图片
+ * @param data
+ * 生成图片的二进制字符串
+ * @param fileName
+ * 图片名称(完整路径)
+ * @param type
+ * 图片类型
+ * @return
+ */
+ public static void saveImage(String data, String fileName, String type) {
+
+ BufferedImage image = new BufferedImage(300, 300,
+ BufferedImage.TYPE_BYTE_BINARY);
+ ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
+ try {
+ ImageIO.write(image, type, byteOutputStream);
+ // byte[] date = byteOutputStream.toByteArray();
+ byte[] bytes = hex2byte(data);
+ // System.out.println("path:" + fileName);
+ RandomAccessFile file = new RandomAccessFile(fileName, "rw");
+ file.write(bytes);
+ file.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 反格式化byte
+ *
+ * @param s
+ * @return
+ */
+ public static byte[] hex2byte(String s) {
+ byte[] src = s.toLowerCase().getBytes();
+ byte[] ret = new byte[src.length / 2];
+ for (int i = 0; i < src.length; i += 2) {
+ byte hi = src[i];
+ byte low = src[i + 1];
+ hi = (byte) ((hi >= 'a' && hi <= 'f') ? 0x0a + (hi - 'a')
+ : hi - '0');
+ low = (byte) ((low >= 'a' && low <= 'f') ? 0x0a + (low - 'a')
+ : low - '0');
+ ret[i / 2] = (byte) (hi << 4 | low);
+ }
+ return ret;
+ }
+
+ /**
+ * 格式化byte
+ *
+ * @param b
+ * @return
+ */
+ public static String byte2hex(byte[] b) {
+ char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
+ 'B', 'C', 'D', 'E', 'F' };
+ char[] out = new char[b.length * 2];
+ for (int i = 0; i < b.length; i++) {
+ byte c = b[i];
+ out[i * 2] = Digit[(c >>> 4) & 0X0F];
+ out[i * 2 + 1] = Digit[c & 0X0F];
+ }
+
+ return new String(out);
+ }
+
+ /**
+ * MD5加密
+ *
+ * @param String
+ * @param String
+ * */
+
+ public static String getMD5Message(String strs) {
+ String returnValue = "";
+ char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+ 'a', 'b', 'c', 'd', 'e', 'f' };
+ try {
+ byte[] strTemp = strs.getBytes();
+ // 使用MD5创建MessageDigest对象
+ MessageDigest mdTemp = MessageDigest.getInstance("MD5");
+ mdTemp.update(strTemp);
+ byte[] md = mdTemp.digest();
+ int j = md.length;
+ char str[] = new char[j * 2];
+ int k = 0;
+ for (int i = 0; i < j; i++) {
+ byte b = md[i];
+ // 将每个数(int)b进行双字节加密
+ str[k++] = hexDigits[b >> 4 & 0xf];
+ str[k++] = hexDigits[b & 0xf];
+ }
+ returnValue = new String(str);
+ } catch (Exception e) {
+ return null;
+ }
+ return returnValue;
+ }
+
+ /**
+ * 获取某年 某月的第一天
+ *
+ * @param year
+ * @param month
+ * @reutrn String
+ * */
+ public static String getFirstDayOfMonth(int year, int month) {
+ Calendar cal = Calendar.getInstance();
+ cal.set(Calendar.YEAR, year);
+ cal.set(Calendar.MONTH, month - 1);
+ cal.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DATE));
+ return new SimpleDateFormat("yyyyMMdd ").format(cal.getTime());
+ }
+
+ /**
+ * 获取某月的最后一天
+ *
+ * @param year
+ * @param month
+ * @return String
+ * */
+ public static String getLastDayOfMonth(int year, int month) {
+ Calendar cal = Calendar.getInstance();
+ cal.set(Calendar.YEAR, year);
+ cal.set(Calendar.MONTH, month - 1);
+ cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
+ return new SimpleDateFormat("yyyyMMdd ").format(cal.getTime());
+ }
+
+ /**
+ * 获取某年 某月的第一天
+ *
+ * @param year
+ * @param month
+ * @reutrn String
+ * */
+ public static String getFirstDayOfMonthformat(int year, int month) {
+ Calendar cal = Calendar.getInstance();
+ cal.set(Calendar.YEAR, year);
+ cal.set(Calendar.MONTH, month - 1);
+ cal.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DATE));
+ return new SimpleDateFormat("yyyy-MM-dd ").format(cal.getTime());
+ }
+
+ /**
+ * 获取某月的最后一天
+ *
+ * @param year
+ * @param month
+ * @return String
+ * */
+ public static String getLastDayOfMonthformat(int year, int month) {
+ Calendar cal = Calendar.getInstance();
+ cal.set(Calendar.YEAR, year);
+ cal.set(Calendar.MONTH, month - 1);
+ cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
+ return new SimpleDateFormat("yyyy-MM-dd ").format(cal.getTime());
+ }
+
+ /**
+ * 根据年月获取周的起止日期
+ *
+ * @param year
+ * @param month
+ * return String
+ * */
+ public static String getWeekStartandEnd(String year, String month) {
+
+ String info = "";
+ Calendar cal = Calendar.getInstance();
+ cal.clear();
+ cal.set(Calendar.YEAR, Integer.parseInt(year));
+ cal.set(Calendar.MONTH, Integer.parseInt(month) - 1);
+ int index = 1;
+ String start = null;
+ if (Integer.parseInt(month) < 10) {
+ start = year +"-"+ "0" + month +"-"+ "0" + 1;
+ } else {
+ start = year +"-"+ month +"-"+ 1;
+ }
+ String end = null;
+ for (int i = 1; i <= cal.getActualMaximum(Calendar.DAY_OF_MONTH); i++) {
+ cal.set(Calendar.DAY_OF_MONTH, i);
+ int week = cal.get(Calendar.DAY_OF_WEEK);
+ if (Integer.parseInt(month) < 10) {
+ if (i < 10) {
+ end = year +"-"+ "0" + month +"-"+ "0" + i;
+ } else {
+ end = year +"-"+ "0" + month+"-" + i;
+ }
+ } else {
+ if (i < 10) {
+ end = year +"-"+ month +"-"+ "0" + i;
+ } else {
+ end = year +"-"+ month +"-"+ i;
+ }
+ }
+ if (week - 1 == 6) {
+ info += start + "&" + end + ",";
+ if (Integer.parseInt(month) < 10) {
+ if ((i + 1) < 10) {
+ start = year +"-"+ "0" + month +"-"+ "0" + (i + 1);
+ } else {
+ start = year +"-"+ "0" + month +"-"+ (i + 1);
+ }
+
+ } else {
+ if ((i + 1) < 10) {
+ start = year +"-"+ month +"-"+ "0" + (i + 1);
+ } else {
+ start = year +"-"+ month +"-"+ (i + 1);
+ }
+ }
+ index++;
+ }
+ }
+ info += start + "&" + end;
+ return info;
+ }
+
+
+ /**
+ * 得到本周和上周的起止日期
+ * */
+ public static String ReWeek(int n) {
+ Calendar cal = Calendar.getInstance();
+ // n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推
+ // 上周起止时间 n=-1 n=0 上周 n=-1<= date 9) {
+ } else {
+ if (month.length() == 2) {
+ month = month.substring(1, month.length());
+ }
+ }
+ String str = getWeekStartandEnd(year, month);
+ String st[] = str.split(",");
+ info = st[f - 1].toString();
+ return info;
+ }
+
+ /**
+ * 计算时间段间隔多少分钟
+ *
+ * @param String
+ * @param String
+ * @return String
+ * */
+ public static String TimeLock(Date t11, Date t22) {
+ long l1 = 0;
+ long l2 = 0;
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ String t1 = sdf.format(t11);
+ String t2 = sdf.format(t22);
+ try {
+ l1 = sdf.parse(t1).getTime();
+ l2 = sdf.parse(t2).getTime();
+ } catch (java.text.ParseException pe) {
+ pe.printStackTrace();
+ }
+ return String.valueOf((l2 - l1) / 1000 / 60);
+ }
+
+ /**
+ *
+ * 对象数组[]转化成string
+ * */
+ public static String ReturnObjStr(Object obj) {
+ if (obj != null) {
+ return obj.toString();
+ } else {
+ return "";
+ }
+ }
+
+ /**
+ * 返回 空值
+ * */
+ public static String IsNULL(String str) {
+ if (str == null) {
+ str = "";
+ }
+ return str;
+ }
+
+ /**
+ * 判断当前日期是星期几
+ *
+ *
+ * @param pTime
+ * 修要判断的时间
+ * @return dayForWeek 判断结果
+ * @Exception 发生异常
+ */
+ public static int dayForWeekInt(String pTime) {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ Calendar c = Calendar.getInstance();
+ try {
+ c.setTime(format.parse(pTime));
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ int dayForWeek = 0;
+ if (c.get(Calendar.DAY_OF_WEEK) == 1) {
+ dayForWeek = 7;
+ } else {
+ dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1;
+ }
+ return dayForWeek;
+ }
+
+ /***
+ *
+ * 根据日期获取今天是周几中文
+ *
+ * */
+ public static String dayForWeekString(String pTime) {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ Calendar c = Calendar.getInstance();
+ try {
+ c.setTime(format.parse(pTime));
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ int dayForWeek = 0;
+ if (c.get(Calendar.DAY_OF_WEEK) == 1) {
+ dayForWeek = 7;
+ } else {
+ dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1;
+ }
+ String[] weeks = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };
+ return weeks[dayForWeek - 1];
+
+ }
+
+
+ /**
+ * 获取当前年月第几周
+ *
+ * */
+ public static String getYearMonthWeek() {
+
+ Calendar cal = Calendar.getInstance();
+ int month = cal.get(Calendar.MONTH) + 1;// 月
+ int year = cal.get(Calendar.YEAR); // 年
+ Map map = new HashMap();
+ map.put(1, "一");
+ map.put(2, "二");
+ map.put(3, "三");
+ map.put(4, "四");
+ map.put(5, "五");
+ map.put(6, "六");
+ map.put(7, "七");
+ map.put(8, "八");
+ map.put(9, "九");
+ int week = cal.get(Calendar.WEEK_OF_MONTH);// 获取是本月的第几周
+ return year + "年" + month + "月" + " 第" + map.get(week) + "周";
+ }
+
+ public static void main(String[] args) throws ParseException {
+ String str = "201506151234";
+ String co = str.substring(0, str.length()-4);
+ String newstr = str.substring(str.length()-4, str.length());
+ int c = Integer.parseInt(newstr)+1;
+ String c1 = String.valueOf(c);
+ String code = "";
+ if(c1.length()==1){
+ code = co+"000"+c1;
+ }else if(c1.length()==2){
+ code = co+"00"+c1;
+ }else if(c1.length()==3){
+ code = co+"0"+c1;
+ }else{
+ code=co+c1;
+ }
+ System.out.println(code);
+ }
+
+
+
+ public static String GetCodeByCode(String jcode,String beforecode){
+ String code = "";
+ String between = UtilTools.getTime("YYYYMMdd");
+ if(RequestUtil.checkisnull(beforecode) && beforecode.length()>8){
+ String lastcode = beforecode.substring(beforecode.length()-4, beforecode.length());
+ String newlastcode = String.valueOf(Integer.parseInt(lastcode)+1);
+ if(newlastcode.length()==1){
+ code = jcode+between+"000"+newlastcode;
+ }else if(newlastcode.length()==2){
+ code = jcode+between+"00"+newlastcode;
+ }else if(newlastcode.length()==3){
+ code = jcode+between+"0"+newlastcode;
+ }else{
+ code = jcode+between+newlastcode;
+ }
+ }else{
+ code = jcode+between+"0001";
+ }
+ return code;
+ }
+
+ /***
+ * 根据年月获取月份的最后一天
+ *
+ * @param year
+ * @param month
+ * @param String
+ * yyyy-mm-dd
+ * */
+ // 需要注意的是:月份是从0开始的,比如说如果输入5的话,实际上显示的是4月份的最后一天,千万不要搞错了哦
+ public static String getLastDayOfYearMonth(int year, int month) {
+ Calendar cal = Calendar.getInstance();
+ cal.set(Calendar.YEAR, year);
+ cal.set(Calendar.MONTH, month - 1);
+ cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
+ return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
+ }
+
+ /***
+ * 根据年月获取月份的第一天
+ *
+ * @param year
+ * @param month
+ * @param String
+ * yyyy-mm-dd
+ * */
+ public static String getFirstDayOfYearMonth(int year, int month) {
+ Calendar cal = Calendar.getInstance();
+ cal.set(Calendar.YEAR, year);
+ cal.set(Calendar.MONTH, month - 1);
+ cal.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DATE));
+ return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
+ }
+
+ /**
+ *
+ * double转int实现四舍五入
+ * */
+ public static int DoubletoInt(double value) {
+ int yvalue = Integer.parseInt(new java.text.DecimalFormat("0")
+ .format(value));
+ return yvalue;
+ }
+
+ /**
+ * Object转换成JSON
+ *
+ * @param javaObj
+ * @return
+ */
+ public static String ObjecttoJsonString(Object javaObj) {
+ JSONObject json;
+ json = JSONObject.fromObject(javaObj);
+ return json.toString();
+
+ }
+
+
+ /**
+ * list转换成JSON
+ *
+ * @param javaObj
+ * @return
+ */
+ public static String ListtoJsonString(List list) {
+ JSONArray json;
+ if (list != null && list.size() > 0) {
+ json = JSONArray.fromObject(list);
+ return json.toString();
+ } else {
+ return "";
+ }
+
+ }
+
+
+ /**
+ * 数据写入缓存操作
+ *
+ * @param HttpServletResponse
+ * @param jsonResult
+ * @return
+ * @author dubaohui
+ * */
+
+ public static void responseResult4Json(HttpServletResponse response,
+ String jsonResult) {
+ response.setCharacterEncoding("UTF-8");
+ try {
+ PrintWriter out = response.getWriter();
+ out.println(jsonResult);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * JSON参数格式错误
+ *
+ * @param HttpServletResponse
+ * @param jsonResult
+ * @return
+ * @author dubaohui
+ * */
+
+ public static void responseResult4JsonError(HttpServletResponse response,
+ String param) {
+ response.setCharacterEncoding("UTF-8");
+ try {
+ PrintWriter out = response.getWriter();
+ String jsonResult = "error:错误的JSON格式:" + param + ",请认真检查您的JSON格式。";
+ out.println(jsonResult);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ *
+ * 获取List.size()
+ *
+ * @param List
+ * @return int
+ * @author dubaohui
+ * */
+ public static int IfList(List list) {
+ if (list != null && list.size() > 0) {
+ return list.size();
+ } else {
+ return 0;
+ }
+ }
+
+ /**
+ * 数据删除提示
+ *
+ * @param boolean
+ * @param HttpServletResponse
+ * @return String
+ * @author dubaohui
+ * */
+ public static void Delete(boolean sign, HttpServletResponse response) {
+ if (sign) {
+ responseResult4Json(response, Configmessage.DELECESUCC);
+ } else {
+ responseResult4Json(response, Configmessage.DELECEFINAL);
+ }
+ }
+
+ /**
+ * 数据修改提示
+ *
+ * @param boolean
+ * @param HttpServletResponse
+ * @return String
+ * @author dubaohui
+ * */
+ public static void Update(boolean sign, HttpServletResponse response) {
+ if (sign) {
+ responseResult4Json(response, Configmessage.UPDATESUCC);
+ } else {
+ responseResult4Json(response, Configmessage.UPDATEFINAL);
+ }
+ }
+
+ /**
+ * 数据新增提示
+ *
+ * @param boolean
+ * @param HttpServletResponse
+ * @return String
+ * @author dubaohui
+ * */
+ public static void Save(boolean sign, HttpServletResponse response) {
+ if (sign) {
+ responseResult4Json(response, Configmessage.SAVESUCC);
+ } else {
+ responseResult4Json(response, Configmessage.SAVEFINAL);
+ }
+ }
+
+
+ /**
+ *
+ * 数据操作提示
+ *
+ * @param boolean
+ * @return String
+ * @author dubaohui
+ *
+ * */
+ public static void CAOZ(boolean sign, HttpServletResponse response) {
+ if (sign) {
+ responseResult4Json(response, Configmessage.CAOZYES);
+ } else {
+ responseResult4Json(response, Configmessage.CAOZNO);
+ }
+ }
+ /**
+ *
+ * 数据设置提示
+ *
+ * @param boolean
+ * @return String
+ * @author dubaohui
+ *
+ * */
+ public static void Setting(boolean sign, HttpServletResponse response) {
+ if (sign) {
+ responseResult4Json(response, Configmessage.SETINGSUCC);
+ } else {
+ responseResult4Json(response, Configmessage.SETINGFINAL);
+ }
+ }
+
+ /**
+ *
+ * 数据调动提示
+ *
+ * @param boolean
+ * @return String
+ * @author dubaohui
+ *
+ * */
+ public static void Redeploy(boolean sign, HttpServletResponse response) {
+ if (sign) {
+ responseResult4Json(response, Configmessage.REDSUCC);
+ } else {
+ responseResult4Json(response, Configmessage.REDFINAL);
+ }
+ }
+
+ /**
+ *
+ * 数据初始化提示
+ *
+ * @param boolean
+ * @return String
+ * @author dubaohui
+ *
+ * */
+ public static void Init(boolean sign, HttpServletResponse response) {
+ if (sign) {
+ responseResult4Json(response, Configmessage.INITSUCC);
+ } else {
+ responseResult4Json(response, Configmessage.INITFINAL);
+ }
+ }
+ /**
+ *
+ * 判断是否为int
+ *
+ * */
+ public static boolean isInt(String value) {
+ boolean flg = false;
+ try {
+ Integer.parseInt(value);
+ flg = true;
+ } catch (Exception ex) {
+ flg = false;
+ }
+ return flg;
+ }
+
+ /**
+ *
+ * 返回List结果集的记录条数
+ *
+ * */
+ public static int ListCount(List listcount) {
+
+ int count = 0;
+ if (listcount != null && listcount.size() > 0) {
+ count = listcount.size();
+ }
+ return count;
+ }
+
+ // 返回序号
+ public static int checkabc(String value) {
+ int j = 0;
+ String convert[] = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
+ "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
+ "W", "X", "Y", "Z" };
+ for (int i = 0; i < convert.length; i++) {
+ if (value.equals(convert[i])) {
+ j = i + 1;
+ break;
+ }
+ }
+ return j;
+ }
+
+ /***
+ * @param List
+ *