Compare commits

..

8 Commits

Author SHA1 Message Date
kevin 85a1e420e8 南方医院接口完成 4 years ago
kevin e94b5d88fe 版本2 4 years ago
kevin c30240a01f 版本1 4 years ago
kevin 7f8d75cf9c Merge remote-tracking branch 'origin/nanfang_branch' into nanfang_branch
# Conflicts:
#	power-admin/src/main/java/com/manage/controller/FontController.java
#	power-admin/src/main/resources/config/jdbc.properties
4 years ago
kevin 583ffd0037 新增第三方免登陆授权接口 4 years ago
kevin f24f58ba7d 新增第三方免登陆授权接口 4 years ago
kevin e0a949b785 第三方免登录授权链接 4 years ago
kevin 97f089761d 第三方免登录授权链接 4 years ago

38
.gitignore vendored

@ -1,3 +1,35 @@
/target/
/.idea/
*.iml
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
*.iml
# 直接在这里添加即可,注意加上备注,好知道是忽略什么文件 #
##############################
## Folders ##
##############################
target
out
log
configLog
.idea
.project
**/.mvn
**/mvnw
**/mvnw.cmd

8
.idea/.gitignore vendored

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="power-service" />
<module name="power-admin" />
<module name="power-dao" />
<module name="power-foundaton" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
<module name="emr_record" target="1.8" />
</bytecodeTargetLevel>
</component>
</project>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/power-admin/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/power-admin/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/power-admin/src/main/webapp/权限系统版本说明.txt" charset="GBK" />
<file url="file://$PROJECT_DIR$/power-dao/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/power-dao/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/power-foundaton/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/power-service/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component>
</project>

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

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$/../../fs_hospital/EMR_Record_gm" />
<file type="web" url="file://$PROJECT_DIR$/power-admin" />
</component>
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
</set>
</option>
</component>
</project>

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/../../fs_hospital/EMR_Record_gm" vcs="Git" />
</component>
</project>

@ -13,10 +13,15 @@
Date: 08/07/2020 17:32:07
*/
DROP DATABASE IF EXISTS `Nanfang_hospital`;
CREATE DATABASE `Nanfang_hospital` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
USE `Nanfang_hospital`;
-- ----------------------------
-- Table structure for power_dept
-- ----------------------------

@ -32,7 +32,7 @@
<mybatis.version>3.4.6</mybatis.version>
<mybatis.spring.version>1.3.2</mybatis.spring.version>
<mysql.version>5.1.32</mysql.version>
<log4j2.version>2.15.0</log4j2.version>
<slf4j.version>1.6.4</slf4j.version>
<jackson.version>2.9.4</jackson.version>
<druid.version>1.0.9</druid.version>
<httpclient.version>4.3.5</httpclient.version>
@ -51,6 +51,7 @@
<poi.version>3.9</poi.version>
<sigar.version>1.6.3</sigar.version>
<base64.version>138</base64.version>
<cxf.version>3.1.8</cxf.version>
</properties>
<!-- maven依赖 -->
@ -90,17 +91,10 @@
<version>${mysql.version}</version>
</dependency>
<!-- 日志处理 -->
<!-- Web项目需添加 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>${log4j2.version}</version>
</dependency>
<!--用于与slf4j保持桥接-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j2.version}</version>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- Mybatis -->
<dependency>
@ -224,6 +218,66 @@
<version>${base64.version}</version>
<scope>compile</scope>
</dependency>
<!--以下是王和坤添加的jar包--> <!--webService-->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.6</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.6</version>
</dependency>
<!-- 进行jaxes 服务开发 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.0.1</version>
</dependency>
<!-- 内置jetty web服务器 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.0.1</version>
</dependency>
<!-- xml转换工具 -->
<dependency>
<groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.8.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>

@ -16,7 +16,6 @@
<properties>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<shiro.version>1.2.5</shiro.version>
</properties>
<dependencies>
<dependency>
@ -57,11 +56,6 @@
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.5</version>
</dependency>
<!-- 连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
@ -81,6 +75,15 @@
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
@ -99,9 +102,25 @@
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.alibaba</groupId>-->
<!-- <artifactId>fastjson</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/jaxen/jaxen -->
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
<!-- WebService服务 -->
@ -113,11 +132,23 @@
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>${shiro.version}</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.apache.cxf</groupId>-->
<!-- <artifactId>cxf-rt-transports-http</artifactId>-->
<!-- <version>3.1.8</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.cxf</groupId>-->
<!-- <artifactId>cxf-rt-frontend-jaxws</artifactId>-->
<!-- <version>3.1.8</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>xerces</groupId>-->
<!-- <artifactId>xercesImpl</artifactId>-->
<!-- <version>2.11.0</version>-->
<!-- </dependency>-->
<!--commoms-->
<dependency>
<groupId>org.apache.commons</groupId>
@ -134,15 +165,14 @@
<artifactId>commons-fileupload</artifactId>
</dependency>
<!--日志处理-->
<!-- Web项目需添加 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<!--用于与slf4j保持桥接-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<groupId>org.jdom</groupId>
<artifactId>jdom2</artifactId>
<version>2.0.6</version>
</dependency>
</dependencies>
<build>
@ -166,7 +196,7 @@
<version>2.2</version>
<configuration>
<path>/power</path>
<port>8081</port>
<port>8080</port>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>

@ -0,0 +1,20 @@
package com.manage.config;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@Component //或者继承implements ApplicationRunner 实现run()方法
public class MyHandel {
@PostConstruct
public void loadDic() {
System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
}
//在spring容器关闭时释放
@PreDestroy
public void destroy() {
//系统运行结束
}
}

@ -1,34 +0,0 @@
package com.manage.config;
import com.manage.interfaces.webservice.PowerWebService;
import com.manage.interfaces.webservice.impl.PowerWebServiceImpl;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.xml.ws.Endpoint;
@Configuration
public class WebServiceConfig {
@Bean(name = Bus.DEFAULT_BUS_ID)
public SpringBus springBus() {
return new SpringBus();
}
@Bean
public PowerWebService powerWebService() {
return new PowerWebServiceImpl();
}
@Bean
public Endpoint endpoint(){
EndpointImpl endpoint = new EndpointImpl(springBus(),powerWebService());
endpoint.publish("PowerWebService");
return endpoint;
}
}

@ -0,0 +1,48 @@
package com.manage.config;
import com.manage.interfaces.webservice.PowerWebService;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
/**
* @author by CLP
* @Classname BeanConfig
* @Description
* @Date 2020/9/8 15:28
*/
@Component
public class WebServiceCxf implements InitializingBean, ApplicationContextAware {
private static Map<String, PowerWebService> queryServiceImplMap = new HashMap<>();
private ApplicationContext applicationContext;
public static PowerWebService createQueryService(String type) {
PowerWebService powerWebService = queryServiceImplMap.get(type);
if (powerWebService == null) {
return queryServiceImplMap.get("PowerServiceImpl");
}
return powerWebService;
}
@Override
public void afterPropertiesSet() throws Exception {
Map<String, PowerWebService> beanMap = applicationContext.getBeansOfType(PowerWebService.class);
//遍历该接口的所有实现将其放入map中
for (PowerWebService serviceImpl : beanMap.values()) {
queryServiceImplMap.put(serviceImpl.getClass().getSimpleName(), serviceImpl);
}
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
}

@ -1,24 +1,25 @@
package com.manage.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.manage.config.WebServiceCxf;
import com.manage.dao.Power_NoticeMapper;
import com.manage.dao.Power_UserMapper;
import com.manage.encrypt.Base64;
import com.manage.encrypt.MD5;
import com.manage.entity.*;
import com.manage.interfaces.webservice.PowerWebService;
import com.manage.interfaces.webservice.impl.PowerWebServiceImpl;
import com.manage.service.*;
import com.manage.service.cache.Cache;
import com.manage.service.cache.CacheManager;
import com.manage.service.ipml.Power_NoticeServiceImpl;
import com.manage.service.webSocket.WsPool;
import com.manage.util.ActionScopeUtils;
import com.manage.util.DateUtils;
import com.manage.util.ExceptionPrintUtil;
import com.manage.util.Msg;
import com.manage.vo.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.cxf.endpoint.Client;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
@ -31,10 +32,10 @@ import org.springframework.stereotype.Controller;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.io.StringReader;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* @ProjectName:
@ -53,8 +54,6 @@ import java.util.*;
public class FontController {
@Value("${STR_SPLIT}")
private String STR_SPLIT;
@Value("${EMRRECORD_URLHEAD}")
private String EMRRECORD_URLHEAD;
@Autowired
private PowerService powerService;
@Autowired
@ -402,123 +401,46 @@ public class FontController {
* @UpdateRemark:
* @Version: 1.0
*/
// @RequestMapping(value = "getTokenForHis",method = RequestMethod.POST)
// @ResponseBody
// public Msg getTokenForHis(@RequestParam("username") String userName,@RequestParam("password")String password) throws Exception{
// if(StringUtils.isBlank(userName)){
// return Msg.fail("用户名不能为空");
// }
// if(StringUtils.isBlank(password)){
// return Msg.fail("密码不能为空");
// }
// //2.根据userName查询我们的用户表是否存在
// Power_UserVo userVo = new Power_UserVo();
// // 判断数据库中是否有此用户,如果没有则插入数据库
// String result = linkHisLogin(userName, password);
//// if(StringUtils.isBlank(result)){
//// return Msg.fail("调用第三方认证失败");
//// }
// List<Power_User> userList = userMapper.checkUserName(userName);
// if (CollectionUtils.isEmpty(userList)) {
// //2.1不存在往用户表新增这条用户
// userVo.setUserName(userName);
//// userVo.setUserPwd(Base64.encode(MD5.KL("1C821B22D0402F317E40D93213C66843")));
// userVo.setUserPwd(Base64.encode(MD5.KL("123456")));
// //TODO name从应答的xml解析
//// String name = analysis(result,"Name");
// userVo.setName(name);
// userVo.setRoleId(1);
// userVo.setDeptId("3");
// userVo.setEffective(1);
// userVo.setCreater("his");
// SimpleDateFormat fmt= new SimpleDateFormat("yyyy-MM-dd");
// userVo.setCreateDate(fmt.format(new Date()));
// //插入00
// userMapper.insert(userVo);
// }
// String token = setToken(userVo);
// return Msg.success().add("token",token);
// }
@RequestMapping(value = "getTokenForHis",method = RequestMethod.POST)
@ResponseBody
public Msg getTokenForHis(@RequestParam("username") String userName,@RequestParam("password")String password) throws Exception{
@RequestMapping(value = "saveThirdUser",method = RequestMethod.POST)
@ResponseBody
public Msg saveThirdUser(@RequestParam("userName") String userName,@RequestParam("passWord")String passWord) throws Exception{
if(StringUtils.isBlank(userName)){
return Msg.fail("用户名不能为空");
return Msg.fail("用户名不能为空");
}
if(StringUtils.isBlank(passWord)){
if(StringUtils.isBlank(password)){
return Msg.fail("密码不能为空");
}
//2.根据userName查询我们的用户表是否存在
Power_UserVo userVo = new Power_UserVo();
List<Power_UserVo> userInfo = userMapper.getUserInfo(userName, passWord);
if (CollectionUtils.isEmpty(userInfo)) {
// 判断数据库中是否有此用户,如果没有则插入数据库
String result = linkHisLogin(userName, password);
if(StringUtils.isBlank(result)){
return Msg.fail("调用第三方认证失败");
}
List<Power_User> userList = userMapper.checkUserName(userName);
if (CollectionUtils.isEmpty(userList)) {
//2.1不存在往用户表新增这条用户
userVo.setUserName(userName);
userVo.setPassWord(passWord);
userMapper.insertUserInfo(userVo);
return Msg.fail("同步用户密码成功");
}else {
userVo.setUserName(userName);
userVo.setPassWord(passWord);
userMapper.updateinsertUserInfo(userVo);
return Msg.fail("同步用户密码成功");
}
}
@RequestMapping(value = "getThirdToken",method = RequestMethod.POST)
@ResponseBody
public Msg getThirdToken(String userName,String passWord) throws Exception {
if (StringUtils.isBlank(userName)) {
return Msg.fail("账号不能为空");
}
if (StringUtils.isBlank(passWord)) {
return Msg.fail("密码不能为空");
}
Power_UserVo userVo = new Power_UserVo();
List<Power_UserVo> userInfo = userMapper.getUserInfoOne(userName, passWord);
if (!CollectionUtils.isEmpty(userInfo)) {
String date = String.valueOf(DateUtils.getDate());
String token = Base64.encode(MD5.KL(date));
ActionScopeUtils.setSessionAttribute("token",token,Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME))/1000);
//设置用户登录次数缓存
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
CacheManager.addloginUserCount(fmt.format(new Date()),userName);
CacheManager.addExcCount("noExc");
List<Power_Menu> list = null;
List<User_Dept_Menu> menuList = new ArrayList<>();
Set<String> menus = new LinkedHashSet<>();
userVo.setRoleId(0);
if (userVo.getRoleId().equals(0) || userVo.getRoleId().equals(-100)) {
list = powerMenuService.queryAllPowerMenu(null,userVo.getRoleId());
} else {
list = powerMenuService.selectUserAndRoleMenuListPower(userVo.getUserId(),null);
}
if(null != list && !list.isEmpty()){
for (Power_Menu powerMenu : list) {
User_Dept_Menu deptMenu = new User_Dept_Menu();
String menuUrl = powerMenu.getMenuUrl();
if (StringUtils.isNotBlank(menuUrl)) {
BeanUtils.copyProperties(powerMenu, deptMenu);
deptMenu.setMethodParent(powerMenu.getParentId());
menuList.add(deptMenu);
}
if (StringUtils.isNotBlank(powerMenu.getMethod())) {
menus.add(powerMenu.getMenuUrl());
}
}
}
userVo.setMenuList(menuList);
userVo.setMenus(menus);
userVo.setRemark("HIS科室");
//设置进缓存
CacheManager.putCache(date,new Cache(date,userVo,TOKEN_EXPIRE_TIME));
ActionScopeUtils.setSessionAttribute("CURRENT_USER",userVo,Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME))/1000);
return Msg.success().add("token", token);
} else {
return Msg.fail("用户或密码不正确");
}
// userVo.setUserPwd(Base64.encode(MD5.KL("1C821B22D0402F317E40D93213C66843")));
userVo.setUserPwd(Base64.encode(MD5.KL("123456")));
//TODO name从应答的xml解析
String name = analysis(result,"Name");
userVo.setName(name);
userVo.setRoleId(1);
userVo.setDeptId("3");
userVo.setEffective(1);
userVo.setCreater("his");
SimpleDateFormat fmt= new SimpleDateFormat("yyyy-MM-dd");
userVo.setCreateDate(fmt.format(new Date()));
//插入00
userMapper.insert(userVo);
}
String token = setToken(userVo);
return Msg.success().add("token",token);
}
/**
* xmlMap xml"." XML
*
@ -571,38 +493,38 @@ public class FontController {
}
// private String linkHisLogin(String userName, String password) {
//
// //创建连接工厂
// JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance();
// //创建客户端
// Object[] objects = new Object[0];
//
// Client client = dcf.createClient("http://192.168.128.170/csp/hsb/DHC.Published.PUB0025.BS.PUB0025.CLS?WSDL=1");
// try {
//// //医院给的webservice地址
//// String url = "http://192.168.128.170/csp/hsb/DHC.Published.PUB0025.BS.PUB0025.CLS?WSDL=1";
//// client = dcf.createClient(url);
// //动态调用getInfosByUserId方法
// //获取请求参数xml字符串
// String xmlStr = getXml(userName,password);
// objects = client.invoke("HIPManagerInfo","S0110", xmlStr);
// //应答信息
// String result = objects[0].toString();
// System.out.println(result);
// //新用户存到数据库
// if (result.contains("成功")) {
// return result;
// }
// } catch (Exception e) {
// e.printStackTrace();
// } finally {
// if(null != client) {
// client.destroy();
// }
// }
// return null;
// }
private String linkHisLogin(String userName, String password) {
//创建连接工厂
JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance();
//创建客户端
Object[] objects = new Object[0];
Client client = dcf.createClient("http://192.168.128.170/csp/hsb/DHC.Published.PUB0025.BS.PUB0025.CLS?WSDL=1");
try {
// //医院给的webservice地址
// String url = "http://192.168.128.170/csp/hsb/DHC.Published.PUB0025.BS.PUB0025.CLS?WSDL=1";
// client = dcf.createClient(url);
//动态调用getInfosByUserId方法
//获取请求参数xml字符串
String xmlStr = getXml(userName,password);
objects = client.invoke("HIPManagerInfo","S0110", xmlStr);
//应答信息
String result = objects[0].toString();
System.out.println(result);
//新用户存到数据库
if (result.contains("成功")) {
return result;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if(null != client) {
client.destroy();
}
}
return null;
}
private String getXml(String userName, String password) {
@ -632,40 +554,30 @@ public class FontController {
return document.asXML();
}
// private String setToken1(Power_UserVo userVo){
// String date = String.valueOf(DateUtils.getDate());
// String token = Base64.encode(MD5.KL(date));
// List<Power_Menu> list = null;
// List<User_Dept_Menu> menuList = new ArrayList<>();
// Set<String> menus = new TreeSet<>();
// userVo.setRoleId(0);
// if (userVo.getRoleId().equals(0) || userVo.getRoleId().equals(-100)) {
// list = powerMenuService.queryAllPowerMenu(null,userVo.getRoleId());
// } else {
// list = powerMenuService.selectUserAndRoleMenuListPower(userVo.getUserId(),null);
// }
// if(null != list && !list.isEmpty()){
// for (Power_Menu powerMenu : list) {
// User_Dept_Menu deptMenu = new User_Dept_Menu();
// String menuUrl = powerMenu.getMenuUrl();
// if (StringUtils.isNotBlank(menuUrl)) {
// BeanUtils.copyProperties(powerMenu, deptMenu);
// deptMenu.setMethodParent(powerMenu.getParentId());
// menuList.add(deptMenu);
// }
// if (StringUtils.isNotBlank(powerMenu.getMethod())) {
// menus.add(powerMenu.getMenuUrl());
// }
// }
// }
// userVo.setMenuList(menuList);
// userVo.setMenus(menus);
// userVo.setRemark("HIS科室");
// //移除缓存
// CacheManager.removeCacheByObject(userVo);
// CacheManager.putCache(date,new Cache(date,userVo,TOKEN_EXPIRE_TIME));
// return token;
// }
/**
* getInfosByUserId
* @param
* @return
*/
@RestController
public class TestController{
@Autowired
private PowerWebServiceImpl powerWebService;
@Autowired
private WebServiceCxf webServiceCxf;
@GetMapping("/call")
public String call(String id) {
PowerWebService queryService = WebServiceCxf.createQueryService(id);
System.out.println(queryService.toString());
// return queryService.getInfosByUserId("token","sj");
String token = CacheManager.getCacheByUserId(id);
return queryService.getInfosByUserId(token, id);
}
}
private String setToken(Power_UserVo userVo){
String date = String.valueOf(DateUtils.getDate());
String token = Base64.encode(MD5.KL(date));

@ -15,8 +15,7 @@ package com.manage.controller;
import com.alibaba.fastjson.support.spring.FastJsonJsonView;
import com.manage.util.ExceptionPrintUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import org.springframework.validation.BindException;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ControllerAdvice;
@ -29,7 +28,7 @@ import java.util.Map;
@ControllerAdvice
public class GlobalExceptionHandler {
private static Logger log = LogManager.getLogger("errorLog");
private static Logger log = Logger.getLogger("errorMsg");
@ExceptionHandler(value = Exception.class)//指定拦截的异常
public ModelAndView errorHandler(Exception e) {
return returnMv(e, "服务器出错了,请联系系统管理员");

@ -0,0 +1,53 @@
package com.manage.controller;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.CXFBusFactory;
import org.apache.cxf.endpoint.EndpointImplFactory;
import org.apache.cxf.endpoint.dynamic.DynamicClientFactory;
import org.apache.cxf.jaxws.support.JaxWsEndpointImplFactory;
import java.util.List;
/**
* @ProjectName:
* @Description:
* @Param
* @Return
* @Author:
* @CreateDate: 2019/9/11 16:15
* @UpdateUser:
* @UpdateDate: 2019/9/11 16:15
* @UpdateRemark:
* @Version: 1.0
*/
public class JAXDynamicClientFactory extends DynamicClientFactory {
protected JAXDynamicClientFactory(Bus bus) {
super(bus);
}
@Override
protected EndpointImplFactory getEndpointImplFactory() {
return JaxWsEndpointImplFactory.getSingleton();
}
@Override
protected boolean allowWrapperOps() {
return true;
}
public static JAXDynamicClientFactory newInstance() {
Bus bus = CXFBusFactory.getThreadDefaultBus();
return new JAXDynamicClientFactory(bus);
}
@Override
public boolean compileJavaSrc(String classPath, List srcList, String dest) {
org.apache.cxf.common.util.Compiler javaCompiler
= new org.apache.cxf.common.util.Compiler();
javaCompiler.setEncoding("UTF-8");
javaCompiler.setClassPath(classPath);
javaCompiler.setOutputDir(dest);
javaCompiler.setTarget("1.8");
return javaCompiler.compileFiles(srcList);
}
}

@ -89,28 +89,6 @@ public class UserController {
model.addAttribute("depts",depts);
return "userDir/user";
}
@OptionalLog(module = "查看",methods = "用户管理页面")
@RequiresPermissions(value="/user/pageUI1")
@RequestMapping("/pageUI1")
public String pageUI1(Model model,HttpServletRequest request){
CacheManager.addExcCount("noExc");
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
//根据登陆者查询所属医院id。非系统管理员查询所属医院id
Integer dictId = null;
List<Power_DeptVo> depts = null;
try {
if(!user.getRoleId().equals(0)){
Power_User_Dict powerUserDict = userDictMapper.selectDictIdByUserId(user.getUserId());
dictId = powerUserDict.getDictId();
}
depts = deptService.selectDeptByDictId(dictId,null);
} catch (Exception e) {
ExceptionPrintUtil.printException(e);
e.printStackTrace();
}
model.addAttribute("depts",depts);
return "userDir/user1";
}
@OptionalLog(module = "导出excel",methods = "用户管理")
@RequiresPermissions(value="/user/export")
@ -283,24 +261,4 @@ public class UserController {
return new ResponseEntity<String>(e.getMessage(), responseHeaders, HttpStatus.OK);
}
}
/**
* @Date 2021-11-10
* @Author zwh
* @Description
* */
@RequestMapping("/loadPosition")
@ResponseBody
public Msg selectList() {
try {
List<Power_User> deptList = powerUserService.loadPosition();
CacheManager.addExcCount("noExc");
return Msg.success().add("list",deptList);
}catch (Exception e){
ExceptionPrintUtil.printException(e);
CacheManager.addExcCount("exc");
e.printStackTrace();
return Msg.fail();
}
}
}

@ -3,6 +3,7 @@ package com.manage.interfaces.webservice;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService
@ -11,9 +12,9 @@ public interface PowerWebService {
@WebMethod()
String getInfosByUserId(@WebParam(name = "token") String token,String sysId);
@WebMethod
String tempTest();
@WebMethod
String HIPMessageServer(String code,String xml);
}

@ -1,13 +1,10 @@
package com.manage.interfaces.webservice.impl;
import com.alibaba.fastjson.JSON;
import com.manage.dao.Power_DeptMapper;
import com.manage.controller.JAXDynamicClientFactory;
import com.manage.dao.Power_MenuMapper;
import com.manage.dao.Power_UserMapper;
import com.manage.encrypt.Base64;
import com.manage.encrypt.MD5;
import com.manage.entity.PowerUser;
import com.manage.entity.Power_Dept;
import com.manage.entity.Power_Menu;
import com.manage.entity.Power_User;
import com.manage.service.cache.Cache;
@ -15,25 +12,19 @@ import com.manage.service.cache.CacheManager;
import com.manage.interfaces.webservice.PowerWebService;
import com.manage.service.User_Dept_MenuService;
import com.manage.util.Constant;
import com.manage.util.FileUtils;
import com.manage.util.XmlUtils;
import com.manage.util.XmlUtil;
import com.manage.vo.AuthUserVO;
import com.manage.vo.Power_UserVo;
import com.manage.vo.Power_UserWebServiceVo;
import com.manage.vo.User_Dept_Menu;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cxf.endpoint.Client;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import javax.jws.WebService;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.logging.SimpleFormatter;
@Component
@WebService(serviceName = "PowerWebService",
@ -41,27 +32,11 @@ import java.util.logging.SimpleFormatter;
endpointInterface = "com.manage.interfaces.webservice.PowerWebService"
)
public class PowerWebServiceImpl implements PowerWebService {
private final Logger logger = LoggerFactory.getLogger(getClass());
@Value("${newUserName}")
private String newUserName;
@Value("${name}")
private String name;
@Value("${deptCode}")
private String deptCode;
@Value("${synchronizationSwitch}")
private String synchronizationSwitch;
@Value("${deptCTDCode}")
private String deptCTDCode;
@Value("${deptCTDDesc}")
private String deptCTDDesc;
@Autowired
Power_MenuMapper powerMenuMapper;
@Autowired
User_Dept_MenuService userDeptMenuService;
@Autowired
Power_UserMapper powerUserMapper;
@Autowired
Power_DeptMapper powerDeptMapper;
@Override
public String getInfosByUserId(String token,String sysFlag) {
Power_UserWebServiceVo userWebServiceVo = new Power_UserWebServiceVo();
@ -90,407 +65,25 @@ public class PowerWebServiceImpl implements PowerWebService {
userWebServiceVo.setUserEmail(user.getDownloadRecord()+"");
//查看打印简要设置在职位字段
userWebServiceVo.setUserAge(user.getShowPrint());
//预览显示水印设置在年龄字段
userWebServiceVo.setUserSex(user.getShowWater());
userWebServiceVo.setMenus(menus);
}
}
return JSON.toJSONString(userWebServiceVo);
}
@Override
public String tempTest() {
return "aaaa~~~~~~~~~~~~~~~~~~~~~~~";
}
@Override
public String HIPMessageServer(String code, String xml) {
if (StringUtils.isNotBlank(synchronizationSwitch) && "1".equals(synchronizationSwitch)) {
//科室字典信息方法
if (StringUtils.isNotBlank(code) && "MES0067".equals(code)) {
departmentInfo(code,xml);
}
//医护人员字典信息
else if (StringUtils.isNotBlank(code) && "MES0072".equals(code)){
userInfo(code,xml);
}
else {
return "无效的服务编码";
}
}
return "<Response>\n" +
" <Header>\n" +
" <SourceSystem></SourceSystem>\n" +
" <MessageID></MessageID>\n" +
" </Header>\n" +
" <Body>\n" +
" <ResultCode>0</ResultCode>\n" +
" <ResultContent>成功</ResultContent>\n" +
" </Body>\n" +
"</Response>";
}
//科室字典信息方法
private String departmentInfo(String code, String xml){
if (StringUtils.isBlank(xml)) {
return "xml不能为空";
}
/**
* <Request>
* <Header>
* <SourceSystem>30</SourceSystem>
* <MessageID></MessageID>
* </Header>
* <Body>
* <CT_CareProvList>
* <CT_CareProv>
* <BusinessFieldCode>00001</BusinessFieldCode>
* <CTCP_AdminiLevel></CTCP_AdminiLevel>
* <CTCP_AdminiPosition></CTCP_AdminiPosition>
* <CTCP_ArrivalHosDate></CTCP_ArrivalHosDate>
* <CTCP_BirthDate></CTCP_BirthDate>
* <CTCP_BirthPlace></CTCP_BirthPlace>
* <CTCP_CareProvPositionCode></CTCP_CareProvPositionCode>
* <CTCP_CareProvTypeCode></CTCP_CareProvTypeCode>
* <CTCP_Code>HHZK</CTCP_Code>
* <CTCP_CodesystemCode>CT_CareProv</CTCP_CodesystemCode>
* <CTCP_CreatDate></CTCP_CreatDate>
* <CTCP_CreatTime></CTCP_CreatTime>
* <CTCP_CreditLevel></CTCP_CreditLevel>
* <CTCP_CurrDeptDate></CTCP_CurrDeptDate>
* <CTCP_DegreeCode></CTCP_DegreeCode>
* <CTCP_DeptCode>H222100</CTCP_DeptCode>
* <CTCP_DeptHierarchyCode></CTCP_DeptHierarchyCode>
* <CTCP_Desc>H</CTCP_Desc>
* <CTCP_DocPracCatCode></CTCP_DocPracCatCode>
* <CTCP_EducationCode></CTCP_EducationCode>
* <CTCP_Email></CTCP_Email>
* <CTCP_EmployMode></CTCP_EmployMode>
* <CTCP_EmploymentDate></CTCP_EmploymentDate>
* <CTCP_EndDate></CTCP_EndDate>
* <CTCP_ExtranetURL></CTCP_ExtranetURL>
* <CTCP_FamilyNameSpell></CTCP_FamilyNameSpell>
* <CTCP_FirstNameSpell></CTCP_FirstNameSpell>
* <CTCP_FirstSubject></CTCP_FirstSubject>
* <CTCP_FormType></CTCP_FormType>
* <CTCP_HosCode>NFYKDXNFYY</CTCP_HosCode>
* <CTCP_IDCardNO></CTCP_IDCardNO>
* <CTCP_IDCardTypeCode></CTCP_IDCardTypeCode>
* <CTCP_IdentityType></CTCP_IdentityType>
* <CTCP_ImageInfo></CTCP_ImageInfo>
* <CTCP_IntranetURL></CTCP_IntranetURL>
* <CTCP_JobNumber>HHZK</CTCP_JobNumber>
* <CTCP_LearnSource></CTCP_LearnSource>
* <CTCP_MaritalCode></CTCP_MaritalCode>
* <CTCP_Name>H</CTCP_Name>
* <CTCP_NationCode></CTCP_NationCode>
* <CTCP_NativePlace></CTCP_NativePlace>
* <CTCP_NurPracCatCode></CTCP_NurPracCatCode>
* <CTCP_OriginalCode></CTCP_OriginalCode>
* <CTCP_OriginalDesc></CTCP_OriginalDesc>
* <CTCP_PassWord></CTCP_PassWord>
* <CTCP_PoliticalAffiliation></CTCP_PoliticalAffiliation>
* <CTCP_PoliticalJoinDate></CTCP_PoliticalJoinDate>
* <CTCP_PositionName></CTCP_PositionName>
* <CTCP_PositionSeqCode></CTCP_PositionSeqCode>
* <CTCP_PositionStatus></CTCP_PositionStatus>
* <CTCP_PracCertiCode></CTCP_PracCertiCode>
* <CTCP_PracCertiRegAddress></CTCP_PracCertiRegAddress>
* <CTCP_PracLevel></CTCP_PracLevel>
* <CTCP_PracStartDateInHos></CTCP_PracStartDateInHos>
* <CTCP_PracStatus></CTCP_PracStatus>
* <CTCP_PracticeArea></CTCP_PracticeArea>
* <CTCP_PracticeEndDate></CTCP_PracticeEndDate>
* <CTCP_PracticeStartDate></CTCP_PracticeStartDate>
* <CTCP_PrescriptionAFlag></CTCP_PrescriptionAFlag>
* <CTCP_PrescriptionFlag></CTCP_PrescriptionFlag>
* <CTCP_PrescriptionMFlag></CTCP_PrescriptionMFlag>
* <CTCP_PrescriptionPFlag></CTCP_PrescriptionPFlag>
* <CTCP_PrescriptionRFlag></CTCP_PrescriptionRFlag>
* <CTCP_PrescriptionSFlag></CTCP_PrescriptionSFlag>
* <CTCP_QualiCertiCode></CTCP_QualiCertiCode>
* <CTCP_RegistResidence></CTCP_RegistResidence>
* <CTCP_Remarks>HHZK</CTCP_Remarks>
* <CTCP_RetireDate></CTCP_RetireDate>
* <CTCP_SexCode></CTCP_SexCode>
* <CTCP_SourceCat></CTCP_SourceCat>
* <CTCP_SpecCertiCode></CTCP_SpecCertiCode>
* <CTCP_SpecializeIn></CTCP_SpecializeIn>
* <CTCP_Spell></CTCP_Spell>
* <CTCP_StaffCat></CTCP_StaffCat>
* <CTCP_StaffLevel></CTCP_StaffLevel>
* <CTCP_StaffTypeCode></CTCP_StaffTypeCode>
* <CTCP_StartDate>2019-05-08</CTCP_StartDate>
* <CTCP_Status>1</CTCP_Status>
* <CTCP_SubjectCat></CTCP_SubjectCat>
* <CTCP_Telephone></CTCP_Telephone>
* <CTCP_TitleEmployDate></CTCP_TitleEmployDate>
* <CTCP_TitleOfTechCode></CTCP_TitleOfTechCode>
* <CTCP_TitleOfTechLevel></CTCP_TitleOfTechLevel>
* <CTCP_UpdateDate></CTCP_UpdateDate>
* <CTCP_UpdateTime></CTCP_UpdateTime>
* <CTCP_UpdateUserCode></CTCP_UpdateUserCode>
* <CTCP_UrbanRegiResiFlag></CTCP_UrbanRegiResiFlag>
* <CTCP_Violation></CTCP_Violation>
* <CTCP_WorkInHosReason></CTCP_WorkInHosReason>
* <CTCP_WorkOrgCode></CTCP_WorkOrgCode>
* <CTCP_WorkYears></CTCP_WorkYears>
* </CT_CareProv>
* </CT_CareProvList>
* </Body>
* </Request>
*/
try {
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Map map = new HashMap();
logger.info("接收到xml数据" + xml);
//xml转map
map = XmlUtils.parseXml2Map(xml, map);
//获取在xml中节点key
String cTDCode = deptCTDCode;
String cTDDesc = deptCTDDesc;
//获取所要的值
String deptCode = (String) map.get(cTDCode);
String deptDesc = (String) map.get(cTDDesc);
logger.info("解析xml数据deptCode = " + deptCode + "; deptDesc = " + deptDesc);
if (StringUtils.isBlank(deptCode)) {
return "科室编号不能为空";
}
Power_Dept dept = new Power_Dept();
dept.setDeptName(deptDesc);
dept.setDeptCode(deptCode);
//查询是否存在
List<Power_Dept> powerDepts = powerDeptMapper.checkDeptCode(deptCode);
dept.setUpdater("admin");
dept.setUpdateDate(fmt.format(new Date()));
if (!CollectionUtils.isEmpty(powerDepts)) {
//修改
Power_Dept powerDept = powerDepts.get(0);
Integer deptId = powerDept.getDeptId();
BeanUtils.copyProperties(dept, powerDept);
powerDept.setDeptId(deptId);
powerDeptMapper.updateByPrimaryKeySelective(powerDept);
logger.info("deptDesc = " + deptDesc + "修改成功!");
} else {
//新增
//设置初始值
dept.setEffective(1);
dept.setCreateDate(fmt.format(new Date()));
dept.setCreater("zwh");
dept.setDictId(1);
Power_Dept newPowerDapt =new Power_Dept();
BeanUtils.copyProperties(dept, newPowerDapt);
powerDeptMapper.insert(newPowerDapt);
logger.info("deptDesc = " + deptDesc + "插入成功!");
}
} catch (BeansException e) {
e.printStackTrace();
return e.getMessage();
}
//科室编码转科室id
return "<Response>\n" +
" <Header>\n" +
" <SourceSystem></SourceSystem>\n" +
" <MessageID></MessageID>\n" +
" </Header>\n" +
" <Body>\n" +
" <ResultCode>0</ResultCode>\n" +
" <ResultContent>成功</ResultContent>\n" +
" </Body>\n" +
"</Response>";
}
//HIS 用户字典信息方法
private String userInfo(String code, String xml){
if (StringUtils.isBlank(xml)) {
return "xml不能为空";
}
/**
* <Request>
* <Header>
* <SourceSystem>30</SourceSystem>
* <MessageID></MessageID>
* </Header>
* <Body>
* <CT_CareProvList>
* <CT_CareProv>
* <BusinessFieldCode>00001</BusinessFieldCode>
* <CTCP_AdminiLevel></CTCP_AdminiLevel>
* <CTCP_AdminiPosition></CTCP_AdminiPosition>
* <CTCP_ArrivalHosDate></CTCP_ArrivalHosDate>
* <CTCP_BirthDate></CTCP_BirthDate>
* <CTCP_BirthPlace></CTCP_BirthPlace>
* <CTCP_CareProvPositionCode></CTCP_CareProvPositionCode>
* <CTCP_CareProvTypeCode></CTCP_CareProvTypeCode>
* <CTCP_Code>HHZK</CTCP_Code>
* <CTCP_CodesystemCode>CT_CareProv</CTCP_CodesystemCode>
* <CTCP_CreatDate></CTCP_CreatDate>
* <CTCP_CreatTime></CTCP_CreatTime>
* <CTCP_CreditLevel></CTCP_CreditLevel>
* <CTCP_CurrDeptDate></CTCP_CurrDeptDate>
* <CTCP_DegreeCode></CTCP_DegreeCode>
* <CTCP_DeptCode>H222100</CTCP_DeptCode>
* <CTCP_DeptHierarchyCode></CTCP_DeptHierarchyCode>
* <CTCP_Desc>H</CTCP_Desc>
* <CTCP_DocPracCatCode></CTCP_DocPracCatCode>
* <CTCP_EducationCode></CTCP_EducationCode>
* <CTCP_Email></CTCP_Email>
* <CTCP_EmployMode></CTCP_EmployMode>
* <CTCP_EmploymentDate></CTCP_EmploymentDate>
* <CTCP_EndDate></CTCP_EndDate>
* <CTCP_ExtranetURL></CTCP_ExtranetURL>
* <CTCP_FamilyNameSpell></CTCP_FamilyNameSpell>
* <CTCP_FirstNameSpell></CTCP_FirstNameSpell>
* <CTCP_FirstSubject></CTCP_FirstSubject>
* <CTCP_FormType></CTCP_FormType>
* <CTCP_HosCode>NFYKDXNFYY</CTCP_HosCode>
* <CTCP_IDCardNO></CTCP_IDCardNO>
* <CTCP_IDCardTypeCode></CTCP_IDCardTypeCode>
* <CTCP_IdentityType></CTCP_IdentityType>
* <CTCP_ImageInfo></CTCP_ImageInfo>
* <CTCP_IntranetURL></CTCP_IntranetURL>
* <CTCP_JobNumber>HHZK</CTCP_JobNumber>
* <CTCP_LearnSource></CTCP_LearnSource>
* <CTCP_MaritalCode></CTCP_MaritalCode>
* <CTCP_Name>H</CTCP_Name>
* <CTCP_NationCode></CTCP_NationCode>
* <CTCP_NativePlace></CTCP_NativePlace>
* <CTCP_NurPracCatCode></CTCP_NurPracCatCode>
* <CTCP_OriginalCode></CTCP_OriginalCode>
* <CTCP_OriginalDesc></CTCP_OriginalDesc>
* <CTCP_PassWord></CTCP_PassWord>
* <CTCP_PoliticalAffiliation></CTCP_PoliticalAffiliation>
* <CTCP_PoliticalJoinDate></CTCP_PoliticalJoinDate>
* <CTCP_PositionName></CTCP_PositionName>
* <CTCP_PositionSeqCode></CTCP_PositionSeqCode>
* <CTCP_PositionStatus></CTCP_PositionStatus>
* <CTCP_PracCertiCode></CTCP_PracCertiCode>
* <CTCP_PracCertiRegAddress></CTCP_PracCertiRegAddress>
* <CTCP_PracLevel></CTCP_PracLevel>
* <CTCP_PracStartDateInHos></CTCP_PracStartDateInHos>
* <CTCP_PracStatus></CTCP_PracStatus>
* <CTCP_PracticeArea></CTCP_PracticeArea>
* <CTCP_PracticeEndDate></CTCP_PracticeEndDate>
* <CTCP_PracticeStartDate></CTCP_PracticeStartDate>
* <CTCP_PrescriptionAFlag></CTCP_PrescriptionAFlag>
* <CTCP_PrescriptionFlag></CTCP_PrescriptionFlag>
* <CTCP_PrescriptionMFlag></CTCP_PrescriptionMFlag>
* <CTCP_PrescriptionPFlag></CTCP_PrescriptionPFlag>
* <CTCP_PrescriptionRFlag></CTCP_PrescriptionRFlag>
* <CTCP_PrescriptionSFlag></CTCP_PrescriptionSFlag>
* <CTCP_QualiCertiCode></CTCP_QualiCertiCode>
* <CTCP_RegistResidence></CTCP_RegistResidence>
* <CTCP_Remarks>HHZK</CTCP_Remarks>
* <CTCP_RetireDate></CTCP_RetireDate>
* <CTCP_SexCode></CTCP_SexCode>
* <CTCP_SourceCat></CTCP_SourceCat>
* <CTCP_SpecCertiCode></CTCP_SpecCertiCode>
* <CTCP_SpecializeIn></CTCP_SpecializeIn>
* <CTCP_Spell></CTCP_Spell>
* <CTCP_StaffCat></CTCP_StaffCat>
* <CTCP_StaffLevel></CTCP_StaffLevel>
* <CTCP_StaffTypeCode></CTCP_StaffTypeCode>
* <CTCP_StartDate>2019-05-08</CTCP_StartDate>
* <CTCP_Status>1</CTCP_Status>
* <CTCP_SubjectCat></CTCP_SubjectCat>
* <CTCP_Telephone></CTCP_Telephone>
* <CTCP_TitleEmployDate></CTCP_TitleEmployDate>
* <CTCP_TitleOfTechCode></CTCP_TitleOfTechCode>
* <CTCP_TitleOfTechLevel></CTCP_TitleOfTechLevel>
* <CTCP_UpdateDate></CTCP_UpdateDate>
* <CTCP_UpdateTime></CTCP_UpdateTime>
* <CTCP_UpdateUserCode></CTCP_UpdateUserCode>
* <CTCP_UrbanRegiResiFlag></CTCP_UrbanRegiResiFlag>
* <CTCP_Violation></CTCP_Violation>
* <CTCP_WorkInHosReason></CTCP_WorkInHosReason>
* <CTCP_WorkOrgCode></CTCP_WorkOrgCode>
* <CTCP_WorkYears></CTCP_WorkYears>
* </CT_CareProv>
* </CT_CareProvList>
* </Body>
* </Request>
*/
try {
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Map map = new HashMap();
logger.info("接收到xml数据" + xml);
//xml转map
map = XmlUtils.parseXml2Map(xml, map);
//获取在xml中节点key
String userNameKey = newUserName;
String nameKey = name;
String deptCodeKey = deptCode;
//获取所要的值
String userName = (String) map.get(userNameKey);
String name = (String) map.get(nameKey);
String deptCode = (String) map.get(deptCodeKey);
logger.info("解析xml数据userName = " + userName + "; name= " + name + "; deptCode = " + deptCode);
if (StringUtils.isBlank(userName)) {
return "工号不能为空";
}
PowerUser user = new PowerUser();
user.setName(name);
user.setUserName(userName);
user.setDeptCode(deptCode);
user.setDeptId("");
//设置科室id
setDeptIdForUser(user);
//查询是否存在
List<Power_User> powerUsers = powerUserMapper.checkUserName(userName);
user.setUpdater("zwh");
user.setUpdateDate(fmt.format(new Date()));
if (!CollectionUtils.isEmpty(powerUsers)) {
//修改
Power_User powerUser = powerUsers.get(0);
Integer userId = powerUser.getUserId();
BeanUtils.copyProperties(user, powerUser);
powerUser.setUserId(userId);
powerUserMapper.updateByPrimaryKeySelective(powerUser);
logger.info("userName = " + userName + "修改成功!");
} else {
//新增
//设置初始值
user.setEffective(1);
user.setCreateDate(fmt.format(new Date()));
user.setCreater("zwh");
user.setRoleId(1);
user.setUserPwd("RUZHQEFC");
Power_User userNew = new Power_User();
BeanUtils.copyProperties(user, userNew);
powerUserMapper.insert(userNew);
logger.info("userName = " + userName + "插入成功!");
}
} catch (BeansException e) {
e.printStackTrace();
return e.getMessage();
}
//科室编码转科室id
return "<Response>\n" +
" <Header>\n" +
" <SourceSystem></SourceSystem>\n" +
" <MessageID></MessageID>\n" +
" </Header>\n" +
" <Body>\n" +
" <ResultCode>0</ResultCode>\n" +
" <ResultContent>成功</ResultContent>\n" +
" </Body>\n" +
"</Response>";
}
// @Override
// public String helloWebService(String name) {
// return "<Response> <ResultCode>0</ResultCode> <ResultCount>成功</ResultCount> <Id>270</Id> <Name>苏*瑾</Name> <Code>SJ</Code> <Sex></Sex> < Age ></Age> <CareType>副主任医师</CareType> <Group>住院医生</Group> <Loc>HXYWZZYXKBF-呼吸与危重症医学科病房</Loc> <Tel></Tel> </Response> ";
// }
//科室编号转科室id
private void setDeptIdForUser(PowerUser user) {
if(StringUtils.isBlank(user.getDeptCode())){
return;
}
//根据科室编码查科室id
List<Integer> deptIds = powerUserMapper.selectDeptIdByDeptCode(user.getDeptCode());
if(CollectionUtils.isEmpty(deptIds)){
return;
}
user.setDeptId(deptIds.get(0).toString());
}
private List<Power_Menu> getPowerMenuMethods(Power_User powerUser, String sysId){
// 根据用户ID以及系统Id查出所有的用户菜单
List<Power_Menu> powerUserMenus = powerMenuMapper.selectUserMenuByUserIdAndDictId(powerUser.getUserId(), Integer.parseInt(sysId));

@ -0,0 +1,211 @@
//package com.docus.bgts.utils;
//
//import com.alibaba.fastjson.JSON;
//import org.apache.http.HttpEntity;
//import org.apache.http.NameValuePair;
//import org.apache.http.client.ClientProtocolException;
//import org.apache.http.client.entity.UrlEncodedFormEntity;
//import org.apache.http.client.methods.*;
//import org.apache.http.client.utils.URIBuilder;
//import org.apache.http.entity.ContentType;
//import org.apache.http.entity.StringEntity;
//import org.apache.http.impl.client.CloseableHttpClient;
//import org.apache.http.impl.client.HttpClients;
//import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
//import org.apache.http.message.BasicNameValuePair;
//import org.apache.http.util.EntityUtils;
//
//import java.io.IOException;
//import java.io.UnsupportedEncodingException;
//import java.net.URISyntaxException;
//import java.util.ArrayList;
//import java.util.Map;
//
//public class HttpUtils {
// private static PoolingHttpClientConnectionManager cm;
// private static String EMPTY_STR = "";
// private static String UTF_8 = "UTF-8";
//
// private static void init() {
// if (cm == null) {
// cm = new PoolingHttpClientConnectionManager();
// cm.setMaxTotal(50);// 整个连接池最大连接数
// cm.setDefaultMaxPerRoute(5);// 每路由最大连接数默认值是2
// }
// }
//
// /**
// * 通过连接池获取HttpClient
// *
// * @return
// */
// private static CloseableHttpClient getHttpClient() {
// init();
// return HttpClients.custom().setConnectionManager(cm).build();
// }
// /**
// * @param url
// * @return
// */
// public static String get(String url) {
// HttpGet httpGet = new HttpGet(url);
// return getResult(httpGet);
// }
// /**
// * @param url、params
// * @return
// */
// public static String get(String url, Map<String, String > params) throws URISyntaxException {
// URIBuilder ub = new URIBuilder();
// ub.setPath(url);
//
// ArrayList<NameValuePair> pairs = covertParams2NVPS(params);
// ub.setParameters(pairs);
//
// HttpGet httpGet = new HttpGet(ub.build());
// return getResult(httpGet);
// }
// /**
// * @param url、headers、params
// * @return
// */
// public static String get(String url, Map<String, Object> headers, Map<String, String> params)
// throws URISyntaxException {
// URIBuilder ub = new URIBuilder();
// ub.setPath(url);
//
// if (params != null) {
// ArrayList<NameValuePair> pairs = covertParams2NVPS(params);
// ub.setParameters(pairs);
// }
//
// HttpGet httpGet = new HttpGet(ub.build());
// for (Map.Entry<String, Object> param : headers.entrySet()) {
// httpGet.addHeader(param.getKey(), String.valueOf(param.getValue()));
// }
// return getResult(httpGet);
// }
// /**
// * @param url
// * @return
// */
// public static String post(String url) {
// HttpPost httpPost = new HttpPost(url);
// return getResult(httpPost);
// }
// /**
// * @param url、params
// * @return
// */
// public static String post(String url, Map<String, String> params) throws UnsupportedEncodingException {
// HttpPost httpPost = new HttpPost(url);
// httpPost.setEntity(new UrlEncodedFormEntity(covertParams2NVPS(params), "utf-8"));//设置表单提交编码
//
//// httpPost.setEntity(new StringEntity(JSON.toJSONString(params), ContentType.APPLICATION_FORM_URLENCODED));
// return getResult(httpPost);
// }
//
// public static String post(String url, Object params, Map<String, Object> head) throws UnsupportedEncodingException {
// HttpPost httpPost = new HttpPost(url);
// System.out.println(params);
// httpPost.setEntity(new StringEntity(params.toString()));//设置表单提交编码
// if (params != null) {
// for (Map.Entry<String, Object> param : head.entrySet()) {
// httpPost.addHeader(param.getKey(), String.valueOf(param.getValue()));
// }
// }
//// httpPost.setEntity(new StringEntity(JSON.toJSONString(params), ContentType.APPLICATION_FORM_URLENCODED));
// return getResult(httpPost);
// }
//
// private static ArrayList<NameValuePair> covertParams2NVPS(Map<String, String> params) {
// ArrayList<NameValuePair> pairs = new ArrayList<NameValuePair>();
// for (Map.Entry<String, String> param : params.entrySet()) {
// if (param.getValue() != null) {
// pairs.add(new BasicNameValuePair(param.getKey(), param.getValue()));
// }
// }
//
// return pairs;
// }
// /**
// * @param url、headers、params
// * @return
// */
// public static String post(String url, Map<String, Object> headers, Map<String, Object> params)
// throws UnsupportedEncodingException {
// HttpPost httpPost = new HttpPost(url);
// System.out.println(params);
// if (params != null) {
// for (Map.Entry<String, Object> param : headers.entrySet()) {
// httpPost.addHeader(param.getKey(), String.valueOf(param.getValue()));
// }
// }
//
// httpPost.setEntity(new StringEntity(JSON.toJSONString(params), ContentType.APPLICATION_JSON));
//
// return getResult(httpPost);
// }
//
// /**
// * 处理Http请求
// *
// * @param request
// * @return
// */
// private static String getResult(HttpRequestBase request) {
// // CloseableHttpClient httpClient = HttpClients.createDefault();
// CloseableHttpClient httpClient = getHttpClient();
// try {
// CloseableHttpResponse response = httpClient.execute(request);
// // response.getStatusLine().getStatusCode();
// HttpEntity entity = response.getEntity();
// if (entity != null) {
// // long len = entity.getContentLength();// -1 表示长度未知
// String result = EntityUtils.toString(entity, UTF_8);
// response.close();
// // httpClient.close();
// return result;
// }
// } catch (ClientProtocolException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// } finally {
//
// }
//
// return EMPTY_STR;
// }
//
// /**
// * 处理Http请求
// *
// * @param requestBuilder
// * @return
// */
// private static String getResult(RequestBuilder requestBuilder) {
// // CloseableHttpClient httpClient = HttpClients.createDefault();
// CloseableHttpClient httpClient = getHttpClient();
// try {
// CloseableHttpResponse response = httpClient.execute(requestBuilder.build());
// // response.getStatusLine().getStatusCode();
// HttpEntity entity = response.getEntity();
// if (entity != null) {
// // long len = entity.getContentLength();// -1 表示长度未知
// String result = EntityUtils.toString(entity, UTF_8);
// response.close();
// // httpClient.close();
// return result;
// }
// } catch (ClientProtocolException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// } finally {
//
// }
//
// return EMPTY_STR;
// }
//}

@ -0,0 +1,73 @@
package com.manage.utils;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
/**
*
*/
public class ResultUtils {
/**
* document
* @param response
* @return
*/
public static Element getElement(Document response){
Element element = response.getRootElement();
return element;
}
/**
*
* @return
*/
public static Document success(){
// 1、创建document对象
Document document= DocumentHelper.createDocument();
//2.创建根节点
Element response=document.addElement("Response");
// 3、生成子节点及子节点内容
response.addElement("ResultCode").setText("0");
response.addElement("ResultCount").setText("成功");
return document;
}
/**
*
* @return
*/
public static String fail(){
// 1、创建document对象
Document document= DocumentHelper.createDocument();
//2.创建根节点
Element response=document.addElement("Response");
// 3、生成子节点及子节点内容
response.addElement("ResultCode").setText("1");
response.addElement("ResultCount").setText("失败");
// //赋值
// resCode.setText(String.valueOf(Codes.ERROR.getCode()));
// retCon.setText(Codes.ERROR.getMessage());
return document.asXML();
}
// /**
// * 失败返回
// * @return
// */
// public static String fail(String message){
// // 1、创建document对象
// Document document= DocumentHelper.createDocument();
// //2.创建根节点
// Element response=document.addElement(Codes.RESPONSE.getMessage());
// // 3、生成子节点及子节点内容
// Element RetInfo = response.addElement(Codes.RET_INFO.getMessage());
// //4.生成代码和描述节点
// Element resCode = RetInfo.addElement(Codes.RET_CODE.getMessage());
// Element retCon = RetInfo.addElement(Codes.RET_CON.getMessage());
// //赋值
// resCode.setText(String.valueOf(Codes.ERROR.getCode()));
// retCon.setText(StringUtils.isNotBlank(message)?message: Codes.ERROR.getMessage());
// return document.asXML();
// }
}

@ -0,0 +1,134 @@
package com.manage.utils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.InputStream;
public class XmlUtils {
//定义解析器和文档对象
private SAXReader saxReader;
private Document document;
public XmlUtils(String path) {
//获取解析器
saxReader = new SAXReader();
try {
//获取文档对象
document = saxReader.read(path);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public XmlUtils(InputStream path) {
//获取解析器
saxReader = new SAXReader();
try {
//获取文档对象
document = saxReader.read(path);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*
*
* @return
*/
public String getElement(String name) {
//获取根节点
Element root = document.getRootElement();
// Object directory = FileUtils.getJsonByName(Codes.DIRECTORY.getMessage());
// Element current = root;
// if (directory == null) {
// throw new RuntimeException("没有定义目录结构");
// }
// List<String> directoryArr = (List<String>) directory;
// for (String dire : directoryArr) {
// current = current.element(dire);
// }
return root.element(name) == null ? "" : root.element(name).getText();
}
// /**
// * 根据路径动态获取节点
// *
// * @return
// */
// public Element getElement(List<String> directory) {
// //获取根节点
// Element root = document.getRootElement();
//
// Element current = root;
// List<String> directoryArr = directory;
// for (String dire : directoryArr) {
// current = current.element(dire);
// }
// if (current == null) {
// throw new RuntimeException("未找到对应节点");
// }
// return current;
// }
//
// /**
// * 返回存在的根节点
// */
// public List<Element> getJsonByName() {
// //获取目录结构
// String path = FileUtils.currentPath();
// //解析json映射文件
// String json = com.docus.bgts.utils.JsonUtils.readJsonFile(path + Codes.JSON_ADDRESS.getMessage());
// Map jsonMap = JSON.parseObject(json, Map.class);
// //判断是否多条
// List<String> basicArr = (List<String>) jsonMap.get("doubleBasic");
// List<String> directory = (List<String>) jsonMap.get("basicDirectory");
// List<Element> elements = null;
// Element root = this.getElement(directory);
// for (String basic : basicArr) {
// elements = root.elements(basic);
// if (elements != null && elements.size() > 0) {
// break;
// }
// }
// if (elements == null || elements.size() == 0) {
// //只有一条
// List<String> rootDirectory = (List<String>) jsonMap.get("directory");
// root = this.getElement(rootDirectory);
// elements = new ArrayList<>();
// elements.add(root);
// }
// return elements;
// }
//
// /**
// * 根据节点名称获取内容
// *
// * @param name 节点名称
// * @return 节点内容
// */
// public String getElementText(String name) {
// //定位根节点
// Element root = document.getRootElement();
// //根据名称定位节点
// Element msg = root.element(Codes.MSG.getMessage());
// if (msg == null) {
// throw new RuntimeException("没有" + Codes.MSG.getMessage() + "节点");
// }
//// Element patInfo = msg.element(Codes.PAT_INFO.getMessage());
//// if(patInfo==null){
//// throw new RuntimeException("没有"+Codes.PAT_INFO.getMessage()+"节点");
//// }
// Element element = msg.element(name);
// if (element == null) {
// return null;
// }
// //返回节点内容
// return element.getText();
// }
}

@ -34,6 +34,8 @@
<property name="initialSize" value="10"/> <!-- 初始化连接池内的数据库连接-->
</bean>
<bean id="cxf" class="org.apache.cxf.bus.spring.SpringBus" destroy-method="shutdown"/>
<!-- ====================== 配置和MyBatis的整合 ======================== -->

@ -9,8 +9,8 @@ TOKEN_EXPIRE_TIME = 3600000
##################################################服务器ip##########################################################
#通用服务器IP与通用服务器端口
SERVER_IP = 192.168.1.3
SERVER_PORT = 8081
SERVER_IP = localhost
SERVER_PORT = 8080
#power权限系统ip
POWER_IP = ${SERVER_IP}
@ -25,7 +25,7 @@ EMRMEDICALRECORD_PORT = 8082
#病案管理系统ip
EMRRECORD_IP = ${SERVER_IP}
#病案管理系统端口
EMRRECORD_PORT = 8083
EMRRECORD_PORT = 8081
#病案复印预约ip
EMRAPPLYCOPY_IP = ${SERVER_IP}
@ -66,6 +66,4 @@ STR_SPLIT = *^:|,.
log.days = 90
#定义是否为长期登录用户次数
login.times = 3
synchronizationSwitch = 1
login.times = 3

@ -1,7 +1,9 @@
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://192.168.1.3\:3306/qfpower?useUnicode\=true&characterEncoding\=utf-8
jdbc.url=jdbc:mysql://localhost/nanfang_hospital?useUnicode\=true&characterEncoding\=utf-8
jdbc.username=root
jdbc.password=docus702
jdbc.password=mamba1998
#hibernate config
hibernate.dialect = org.hibernate.dialect.MySQLDialect

@ -1,8 +0,0 @@
//--------广webService------------
newUserName=Body.CT_CareProvList.CT_CareProv.CTCP_JobNumber
name=Body.CT_CareProvList.CT_CareProv.CTCP_Name
deptCode=Body.CT_CareProvList.CT_CareProv.CTCP_DeptCode
deptCTDCode=Body.CT_DeptList.CT_Dept.CTD_Code
deptCTDDesc=Body.CT_DeptList.CT_Dept.CTD_Desc

@ -12,7 +12,8 @@
<typeAliases>
<package name="com.manage.entity"/>
</typeAliases>
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageInterceptor">

@ -0,0 +1,18 @@
log4j.logger.myLog=debug,myLog
log4j.appender.myLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myLog.File=D:\\logs\\power\\info\\info_log
log4j.appender.myLog.DatePattern=-yyyy-MM-dd'.log'
log4j.appender.myLog.Append = true
log4j.appender.myLog.Threshold = INFO
log4j.appender.myLog.layout=org.apache.log4j.PatternLayout
log4j.appender.myLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}:%m%n
log4j.logger.errorMsg=error,errorMsg
log4j.appender.errorMsg=org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorMsg.File=D:\\logs\\power\\error\\error_log
log4j.appender.errorMsg.DatePattern=-yyyy-MM-dd'.log'
log4j.appender.errorMsg.Append = true
log4j.appender.errorMsg.Threshold = error
log4j.appender.errorMsg.layout=org.apache.log4j.PatternLayout
log4j.appender.errorMsg.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}:%m%n

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><configuration status="warn">
<Properties>
<Property name="infoLogFileDir">D:docus_logs/power/info</Property>
<Property name="infoLogFileName">info_log</Property>
<Property name="infoLogFileSrc">${infoLogFileDir}/${infoLogFileName}</Property>
<Property name="errorLogFileDir">D:docus_logs/power/error</Property>
<Property name="errorLogFileName">error_log</Property>
<Property name="errorLogFileSrc">${errorLogFileDir}/${errorLogFileName}</Property>
</Properties>
<appenders>
<RollingFile name="infoLogRollingFile" fileName="${infoLogFileSrc}"
filePattern="${infoLogFileSrc}-%d{yyyy-MM-dd}-%i.log">
<PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
<!--配置1天存储一个文件-->
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
<!--配置超过文件大小切割成多个文件%i区分序号目前配一个文件20M-->
<SizeBasedTriggeringPolicy size="20MB"/>
<!-- DefaultRolloverStrategy属性如不设置则默认为最多同一文件夹下7个文件这里设置了20 -->
<DefaultRolloverStrategy max="20">
<Delete basePath="${infoLogFileDir}/" maxDepth="1">
<IfFileName glob="*.log" />
<!--!Note: 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
<!--保留30天-->
<IfLastModified age="30d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<RollingFile name="errorLogRollingFile" fileName="${errorLogFileSrc}"
filePattern="${errorLogFileSrc}-%d{yyyy-MM-dd}-%i.log">
<PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
<!--配置1天存储一个文件-->
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
<!--配置超过文件大小切割成多个文件%i区分序号目前配一个文件20M-->
<SizeBasedTriggeringPolicy size="20MB"/>
<!-- DefaultRolloverStrategy属性如不设置则默认为最多同一文件夹下7个文件这里设置了20 -->
<DefaultRolloverStrategy max="20">
<Delete basePath="${errorLogFileDir}/" maxDepth="1">
<IfFileName glob="*.log" />
<!--!Note: 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
<!--保留30天-->
<IfLastModified age="30d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</appenders>
<loggers>
<Logger name="infoLog" additivity="TRUE" level="ALL">
<AppenderRef ref="infoLogRollingFile" level="INFO" />
</Logger>
<Logger name="errorLog" additivity="TRUE" level="ALL">
<AppenderRef ref="errorLogRollingFile" level="ERROR" />
</Logger>
</loggers>
</configuration>

@ -71,16 +71,17 @@
}
function narn (type,title,text,noticeId) {
debugger
naranja()[type]({
title: title,
text: text,
timeout: 1000*60,
buttons: [{
text: '查看详情',
click: function (e) {
noticeManage1(noticeId);
}
}]
buttons: [{
text: '查看详情',
click: function (e) {
noticeManage1(noticeId);
}
}]
})
}
</script>

@ -13,86 +13,143 @@
var path = "${path}";
</script>
<style type="text/css">
.logo{
height: 59px!important;
}
.navbar-custom-menu{
padding-right:17px;
}
/**
*右侧
*/
.rightDiv{
width: 100%;
height: 83%;
* 内容背景颜色
*/
.content-wrapper{
background-color: #fff!important;
}
/**
*右侧上部分
* 上图标div
*/
.rightTopDiv{
.header{
width: 100%;
height: 40%;
min-height: 190px;
height: 120px;
margin-top: 0!important;
}
.rightTopSpanDiv{
padding-top: 10%;
width: 100%;
height:50px;
text-align: center;
.headerLeft{
width:70px;
height:100%;
}
.rightTopSpanDiv span{
font-size: 36px;
font-weight: bold;
.iconContext{
width:104px;
height:100%;
margin-left: 35px;
}
.hidden-xs{
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
/**
* 字内容div背景颜色
*/
.content-header{
background-color: #ecf0f5!important;
padding: 0!important;
}
.home-sidebar-menu>li{
padding: 18px 0;
/**
* echartDiv
*/
.echartsSection{
background-color: #ecf0f5!important;
margin-top: 10px;
width:100%;
height: 566px;
}
/**
* 上组图div
*/
.topEchartsDiv{
padding:0!important;
width:100%;
height:50%;
}
.skin-blue .sidebar-menu>li:hover,.skin-blue .sidebar-menu>li.active{
background: #1e282c;
/**
* 下组图div
*/
.bottomEchartsDiv{
padding:0!important;
width:100%;
height:50%;
}
.skin-blue .sidebar-menu>li:hover>.aClass,.skin-blue .sidebar-menu>li.active>.aClass{
color: white;
/**
* 系统操作div
*/
.systemOperDiv{
width:33%;
height: 100%;
}
.aClass{
display: grid;
justify-content: center;
align-items: center;
font-size: 16px;
font-weight: 700;
text-align: center;
color: #b8c7ce;
cursor: pointer;
/**
* 在线用户统计div
*/
.alineDiv{
margin-left: 1%;
width:66%;
height: 100%;
}
.aClass i{
display: flex;
justify-content: center;
margin: 0 auto;
font-size: 54px;
/**
* 在线用户里内容div
*/
.topEchartsRightDiv{
width:48%;
height: 88%;
}
.aClass span{
margin-top: 5px;
/**
* 在线用户里内容右div
*/
.topEchartsRightDiv2{
margin-left:15px;
}
.sidebar-mini.sidebar-collapse .aClass{
font-size: 12px;
/**
* 下组图内容div
*/
.bottomEchartsContentDiv{
width:31%;
height: 88%;
}
.sidebar-mini.sidebar-collapse .aClass>i{
font-size: 25px;
/**
* 下组图内容div非左div
*/
.bottomEchartsContentNotLeftDiv{
margin-left: 25px;
}
/**
* echart头标题div
*/
.echartsHeader{
background-color: #3C8DBC;
width: 100%;
height:12%;
text-align: center;
font-size: 18px;
color: #fff;
padding-top:3px;
}
.home-menu:hover .dropdown-menu {display: block;}
.sidebar-mini.sidebar-collapse .img {
width: 25px;
hr{
margin: 0!important;
}
.home-menu:hover .dropdown-menu {display: block;}
.sidebar-mini.sidebar-collapse .titleDiv{
font-size: 12px;
#alineLineDivMain canvas{
heigth:120%;
}
#alineBarDivMain canvas{
heigth:120%;
}
/*#serverListenGaugeDiv1 canvas{*/
/*width:120%!important;*/
/*height:120%!important;*/
/*}*/
.hidden-xs{
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>
</head>
<body class="hold-transition skin-blue sidebar-mini">
<%--<a href="http://192.168.1.3:8080/emr_record/login?token=IxEQVDobAlREQlRFQk5HTE5BRFQ3JyBURkRFTQ==&userName=1137">hhhhhhhhhhhhhhhh</a>--%>
<input type="hidden" id="userId" value="${CURRENT_USER.userId}">
<input type="hidden" id="webSocketUrl" value="${WEBSOCKET_URLHEAD}">
<input type="hidden" id="strSplit" value="${STR_SPLIT}">
@ -100,231 +157,401 @@
<div class="wrapper">
<header class="main-header">
<!--logo-->
<div class="logo">
<div class=" logo">
<%--<div class="pull-left image" style="align-content: baseline;">
<img src="${path}/static/bootstrap-3.3.7/dist/img/credit/paypal.png"
style=":height:70%;width: 70%;margin-top:0.25rem;"
class="user-image" alt="User Image">
</div>--%>
<div class="pull-left info" style="width: 100%">
<p>嘉时软件</p>
</div>
</div>
<nav class="navbar navbar-static-top">
<a href="javascript:void(0)" class="sidebar-toggle" data-toggle="push-menu" role="button">
<a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
<span class="sr-only">Toggle navigation</span>
</a>
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
<li class="user user-menu">
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" onclick="noticeManage()">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="noticeManage()">
<span class="label label-warning" id="noticeCount">0</span>
<i class="fa fa-envelope-o" style="font-size: 21px;"></i>
<i class="fa fa-envelope-o" style="font-size: 25px;"></i>
</a>
</li>
<li class="user user-menu">
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<img src="${path}/static/bootstrap-3.3.7/dist/img/user2-160x160.jpg" class="user-image" alt="User Image">
<c:choose>
<c:when test="${CURRENT_USER.powerDepts == '' || CURRENT_USER.powerDepts == null || CURRENT_USER.powerDepts == 'null'}">
<c:choose>
<c:when test="${CURRENT_USER.name != null && CURRENT_USER.name != '' && CURRENT_USER.name != 'null'}">
<div class="hidden-xs" title="${CURRENT_USER.name}">${CURRENT_USER.name}</div>
<p class="hidden-xs" title="${CURRENT_USER.name}">${CURRENT_USER.name}</p>
</c:when>
<c:otherwise>
<div class="hidden-xs" title="${CURRENT_USER.userName}">${CURRENT_USER.userName}</div>
<p class="hidden-xs" title="${CURRENT_USER.userName}">${CURRENT_USER.userName}</p>
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<c:choose>
<c:when test="${CURRENT_USER.name != null && CURRENT_USER.name != '' && CURRENT_USER.name != 'null'}">
<div class="hidden-xs" title="${CURRENT_USER.name}(${CURRENT_USER.powerDepts})">${CURRENT_USER.name}(${CURRENT_USER.powerDepts})</div>
<p class="hidden-xs" title="${CURRENT_USER.name}(${CURRENT_USER.powerDepts})">${CURRENT_USER.name}(${CURRENT_USER.powerDepts})</p>
</c:when>
<c:otherwise>
<div class="hidden-xs" title="${CURRENT_USER.userName}(${CURRENT_USER.powerDepts})">${CURRENT_USER.userName}(${CURRENT_USER.powerDepts})</div>
<p class="hidden-xs" title="${CURRENT_USER.userName}(${CURRENT_USER.powerDepts})">${CURRENT_USER.userName}(${CURRENT_USER.powerDepts})</p>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</a>
</li>
<li class="home-menu">
<a href="${path}/gatewayPage" title="点击返回首页"><i class="fa fa-home" style="font-size: 21px"></i></a>
<ul class="dropdown-menu" role="menu">
<li><a href="${path}/logout?token=${token}">退出登录</a></li>
</ul>
<li>
<div class="margin">
<div class="btn-group">
<button type="button" class="btn btn-default">操作</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"
aria-expanded="false" style="height:34px">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<%--<li><a href="#">帮助</a></li>
<li><a href="#">联系我们</a></li>
<li><a href="${path}/gatewayPage">返回首页</a></li>
<li class="divider"></li>--%>
<li><a href="${path}/logout?token=${token}">退出登录</a></li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<aside class="main-sidebar">
<section class="sidebar">
<ul class="sidebar-menu home-sidebar-menu" data-widget="tree">
<li class="active" title="主页">
<div class="aClass" onclick="menuClick(this,'home')">
<i class="fa fa-home"></i>
<span>主页</span>
<div onclick="mainManage()" style="cursor:pointer">
<!-- Unnamed (形状) -->
<div id="u86" class="ax_default icon">
<img id="u86_img" class="img " src="${path}/static/images/门户页面/u86.png"/>
</div>
<!-- Unnamed (矩形) -->
<div id="u158" class="ax_default _三级标题">
<div id="u158_div" class=""></div>
<!-- Unnamed () -->
<div id="u159" class="text" style="visibility: visible;">
<p><span>主页</span></p>
</div>
</li>
<li title="通知信息">
<div class="aClass notice-menu" onclick="menuClick(this,'notice')">
<i class="fa fa-file"></i>
<span>通知信息</span>
</div>
</div>
<!-- Unnamed (组合) -->
<div onclick="noticeManage()" style="cursor:pointer">
<!-- Unnamed (形状) -->
<div id="u161" class="ax_default icon">
<img id="u161_img" class="img " src="${path}/static/images/门户页面/u161.png"/>
<!-- Unnamed () -->
<div id="u162" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</li>
<li title="个人资料">
<div class="aClass" onclick="menuClick(this,'help')">
<i class="fa fa-info"></i>
<span>个人资料</span>
</div>
<!-- Unnamed (矩形) -->
<div id="u163" class="ax_default _三级标题">
<div id="u163_div" class=""></div>
<!-- Unnamed () -->
<div id="u164" class="text" style="visibility: visible;">
<p><span>通知信息</span></p>
</div>
</li>
<li title="修改密码">
<div class="aClass" onclick="menuClick(this,'pwd')">
<i class="fa fa-key"></i>
<span>修改密码</span>
</div>
</div>
<div onclick="helpDocumentManage()" style="cursor:pointer">
<!-- Unnamed (形状) -->
<div id="u152" class="ax_default icon">
<img id="u152_img" class="img " src="${path}/static/images/门户页面/u152.png"/>
<!-- Unnamed () -->
<div id="u153" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</li>
<li title="联系我们">
<div class="aClass" onclick="menuClick(this,'contact')">
<i class="fa fa-phone"></i>
<span>联系我们</span>
</div>
<!-- Unnamed (矩形) -->
<div id="u165" class="ax_default _三级标题">
<div id="u165_div" class=""></div>
<!-- Unnamed () -->
<div id="u166" class="text" style="visibility: visible;">
<p><span>帮助文档</span></p>
</div>
</div>
</div>
<div onclick="updatePassword()" style="cursor:pointer">
<!-- Unnamed (形状)/user/toUpdatePassword -->
<div id="u154" class="ax_default icon">
<img id="u154_img" class="img " src="${path}/static/images/门户页面/u154.png"/>
<!-- Unnamed () -->
<div id="u155" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
<!-- Unnamed (矩形) -->
<div id="u167" class="ax_default _三级标题">
<div id="u167_div" class=""></div>
<!-- Unnamed () -->
<div id="u168" class="text" style="visibility: visible;">
<p><span>修改密码</span></p>
</div>
</li>
</ul>
</section>
</div>
</div>
<div onclick="callMeManage()" style="cursor:pointer">
<!-- Unnamed (形状) -->
<div id="u156" class="ax_default icon">
<img id="u156_img" class="img " src="${path}/static/images/门户页面/u156.png"/>
<!-- Unnamed () -->
<div id="u157" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
<!-- Unnamed (矩形) -->
<div id="u169" class=" _三级标题">
<div id="u169_div" class=""></div>
<!-- Unnamed () -->
<div id="u170" class="text" style="visibility: visible;">
<p><span>联系我们</span></p>
</div>
</div>
</div>
</aside>
<div id="iframeDiv" class="content-wrapper" style="display: none">
<iframe class="row-fluid" style="height:calc(100% - 102px);width:100%;"
<div id="iframeDiv" style="display: none">
<iframe class="row-fluid" style="margin-left:230px;height:100%;width:85%;"
id="iframe" name="iframe" scrolling="no" frameborder="0"></iframe>
</div>
<div class="content-wrapper" id="sectionDiv">
<div class="rightDiv">
<div class="rightTopDiv">
<div class="rightTopSpanDiv">
<span>嘉时软件 病案数码影像信息管理系统</span>
<section class="content-header">
<div class="header">
<div class="headerLeft left">
<a href="#">
<div id="u191" class="ax_default box_1">
<div id="u191_div" class=""></div>
<!-- Unnamed () -->
<div id="u192" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
<div id="u187" class="ax_default icon">
<img id="u187_img" class="img " src="${path}/static/images/门户页面/u187.png"/>
<!-- Unnamed () -->
<div id="u188" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
</a>
</div>
</div>
<section class="content-header">
<div class="header">
<c:if test="${power == 1}">
<div class="iconContext left">
<a href="${path}/index">
<div class="backgroupImgDiv blue rightDefaultImg_bg">
<div class="rightImgDiv">
<img class="rightImg" src="${path}/static/images/门户页面/u130.png"/>
</div>
<div class="rightTitleDiv">
<div class="rightTitle">
<span>权限系统</span>
</div>
</div>
<c:if test="${power == 1}">
<div class="iconContext left">
<a href="${path}/index">
<!-- Unnamed (矩形) -->
<div id="u128" class="ax_default sticky_2">
<div id="u128_div" class=""></div>
<!-- Unnamed () -->
<div id="u129" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</a>
</div>
</c:if>
<c:if test="${emr_medical_record == 1}">
<div class="iconContext left">
<a href="${EMRMEDICALRECORD_URLHEAD}/login?token=${token}&userName=${CURRENT_USER.userName}">
<div class="backgroupImgDiv green rightDefaultImg_bg">
<div class="rightImgDiv">
<img class="rightImg" src="${path}/static/images/门户页面/u136.png"/>
</div>
<div class="rightTitleDiv">
<div class="rightTitle" style="margin-top: 5px;">
<span>病案归档系统</span>
</div>
</div>
</div>
<!-- Unnamed (形状) -->
<div id="u130" class="ax_default icon">
<img id="u130_img" class="img " src="${path}/static/images/门户页面/u130.png"/>
<!-- Unnamed () -->
<div id="u131" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</a>
</div>
</c:if>
<c:if test="${emr_record == 1}">
<div class="iconContext left">
<a href="${EMRRECORD_URLHEAD}/login?token=${token}&userName=${CURRENT_USER.userName}">
<div class="backgroupImgDiv orange rightDefaultImg_bg">
<div class="rightImgDiv">
<img class="rightImg" src="${path}/static/images/门户页面/u138.png"/>
</div>
<div class="rightTitleDiv">
<div class="rightTitle">
<span>病案数码影像信息管理系统</span>
</div>
</div>
</div>
<!-- Unnamed (矩形) -->
<div id="u132" class="ax_default _二级标题">
<div id="u132_div" class=""></div>
<!-- Unnamed () -->
<div id="u133" class="text" style="visibility: visible;">
<p><span>权限系统</span></p>
</div>
</a>
</div>
</c:if>
<%--<c:if test="${emr_apply_copy == 1}">
<div class="iconContext left">
<a href="${EMRAPPLYCOPY_URLHEAD}/auth/login?token=${token}&userName=${CURRENT_USER.userName}">
<!-- Unnamed (矩形) -->
<div id="u146" class="ax_default sticky_3">
<div id="u146_div" class=""></div>
<!-- Unnamed () -->
<div id="u147" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
</a>
</div>
</c:if>
<c:if test="${emr_medical_record == 1}">
<div class="iconContext left">
<a href="${EMRMEDICALRECORD_URLHEAD}/login?token=${token}&userName=${CURRENT_USER.userName}">
<!-- Unnamed (矩形) -->
<div id="u134" class="ax_default sticky_2">
<div id="u134_div" class=""></div>
<!-- Unnamed () -->
<div id="u135" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
<!-- Unnamed (形状) -->
<div id="u148" class="ax_default icon">
<img id="u148_img" class="img " src="${path}/static/images/门户页面/u149.png"/>
<!-- Unnamed () -->
<div id="u149" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
<!-- Unnamed (形状) -->
<div id="u136" class="ax_default icon">
<img id="u136_img" class="img " src="${path}/static/images/门户页面/u136.png"/>
<!-- Unnamed () -->
<div id="u137" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
<!-- Unnamed (矩形) -->
<div id="u150" class="ax_default _二级标题">
<div id="u150_div" class=""></div>
<!-- Unnamed () -->
<div id="u151" class="text" style="visibility: visible;text-align: center">
<p><span>病案复印预约</span></p>
</div>
</div>
<!-- Unnamed (矩形) -->
<div id="u138" class="ax_default _二级标题">
<div id="u138_div" class=""></div>
<!-- Unnamed () -->
<div id="u139" class="text" style="visibility: visible;text-align: center">
<p><span>病案归档系统</span></p>
</div>
</a>
</div>
</c:if>
<c:if test="${emr_files == 1}">
<div class="iconContext left">
<a href="${EMRFILES_URLHEAD}/login?token=${token}&userName=${CURRENT_USER.userName}">
<!-- Unnamed (矩形) -->
<div id="u1461" class="ax_default sticky_3">
<div id="u1461_div" class=""></div>
<!-- Unnamed () -->
<div id="u1471" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
</a>
</div>
</c:if>
<c:if test="${emr_record == 1}">
<div class="iconContext left">
<a href="${EMRRECORD_URLHEAD}/login?token=${token}&userName=${CURRENT_USER.userName}">
<!-- Unnamed (矩形) -->
<div id="u140" class="ax_default sticky_3">
<div id="u140_div" class=""></div>
<!-- Unnamed () -->
<div id="u141" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
<!-- Unnamed (形状) -->
<div id="u1481" class="ax_default icon">
<img id="u1481_img" class="img " src="${path}/static/images/门户页面/u148.png"/>
<!-- Unnamed () -->
<div id="u1491" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
<!-- Unnamed (形状) -->
<div id="u142" class="ax_default icon">
<img id="u142_img" class="img " src="${path}/static/images/门户页面/u138.png"/>
<!-- Unnamed () -->
<div id="u143" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
<!-- Unnamed (矩形) -->
<div id="u1501" class="ax_default _二级标题">
<div id="u1501_div" class=""></div>
<!-- Unnamed () -->
<div id="u1511" class="text" style="visibility: visible;text-align: center">
<p><span>病案签收</span></p>
</div>
</div>
<!-- Unnamed (矩形) -->
<div id="u144" class="ax_default _二级标题">
<div id="u144_div" class=""></div>
<!-- Unnamed () -->
<div id="u145" class="text" style="visibility: visible;text-align: center">
<p><span>档案管理系统</span></p>
</div>
</a>
</div>
</c:if>--%>
</div>
</a>
</div>
</c:if>
<%--<c:if test="${emr_apply_copy == 1}">
<div class="iconContext left">
<a href="${EMRAPPLYCOPY_URLHEAD}/auth/login?token=${token}&userName=${CURRENT_USER.userName}">
<!-- Unnamed (矩形) -->
<div id="u146" class="ax_default sticky_3">
<div id="u146_div" class=""></div>
<!-- Unnamed () -->
<div id="u147" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
<!-- Unnamed (形状) -->
<div id="u148" class="ax_default icon">
<img id="u148_img" class="img " src="${path}/static/images/门户页面/u149.png"/>
<!-- Unnamed () -->
<div id="u149" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
<!-- Unnamed (矩形) -->
<div id="u150" class="ax_default _二级标题">
<div id="u150_div" class=""></div>
<!-- Unnamed () -->
<div id="u151" class="text" style="visibility: visible;text-align: center">
<p><span>病案复印预约</span></p>
</div>
</div>
</a>
</div>
</c:if>
<c:if test="${emr_files == 1}">
<div class="iconContext left">
<a href="${EMRFILES_URLHEAD}/login?token=${token}&userName=${CURRENT_USER.userName}">
<!-- Unnamed (矩形) -->
<div id="u1461" class="ax_default sticky_3">
<div id="u1461_div" class=""></div>
<!-- Unnamed () -->
<div id="u1471" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
<!-- Unnamed (形状) -->
<div id="u1481" class="ax_default icon">
<img id="u1481_img" class="img " src="${path}/static/images/门户页面/u148.png"/>
<!-- Unnamed () -->
<div id="u1491" class="text" style="display: none; visibility: hidden">
<p><span></span></p>
</div>
</div>
<!-- Unnamed (矩形) -->
<div id="u1501" class="ax_default _二级标题">
<div id="u1501_div" class=""></div>
<!-- Unnamed () -->
<div id="u1511" class="text" style="visibility: visible;text-align: center">
<p><span>病案签收</span></p>
</div>
</div>
</a>
</div>
</c:if>--%>
</div>
</section>
<%--<section class="content-bottom echartsSection">
<!--上echarts-->
<div class="topEchartsDiv" style="background-color: #fff">
<!--系统操作div-->
<div class="systemOperDiv left">
<div class="echartsHeader">
<span>权限系统操作</span>
</div>
<div id="systemOperDivMain" style="width:100%;height:100%;"></div>
</div>
</section>
</div>
<!--统计用户在线div-->
<div class="alineDiv left" style="background-color: #fff">
<div class="echartsHeader">
<span>在线人数统计</span>
</div>
<div class="topEchartsRightDiv left">
<div style="width:100%;height: 11%;"><span style="font-size: 16px">本月客户阶段统计(客户总量:<span id="maxCountList"></span>)</span><hr style="color: grey"></div>
<div id="alineLineDivMain" style="width:100%;height:89%;"></div>
</div>
<div class="topEchartsRightDiv topEchartsRightDiv2 left">
<div style="width:100%;height: 11%;text-align: right"><span style="font-size: 16px;padding-right: 35px">总拜访量:<span id="loginCount"></span></span></div>
<div id="alineBarDivMain" style="width:100%;height:89%;"></div>
</div>
</div>
</div>
<div class="bottomEchartsDiv">
<div class="echartsHeader">
<span>服务器监控</span>
</div>
<div class="bottomEchartsContentDiv left">
<div id="serverListenGaugeDiv1" style="width:100%;height:100%;"></div>
</div>
<div class="bottomEchartsContentDiv left bottomEchartsContentNotLeftDiv">
<div id="serverListenGaugeDiv2" style="width:100%;height:100%;"></div>
</div>
<div class="bottomEchartsContentDiv left bottomEchartsContentNotLeftDiv">
<div id="serverListenGaugeDiv3" style="width:100%;height:100%;"></div>
</div>
</div>
</section>--%>
</div>
<!-- 底部版权-->
<footer class="main-footer">
<div class="pull-right hidden-xs">
<b>Version</b> 20201113
<b>Version</b> 20200211
</div>
<strong>Copyright &copy; 2019-2090 厦门嘉时软件.</strong> All rights
reserved.
</footer>
</div>
<script type="text/javascript" src="${path}/static/js/getewayIndex.js?t=2020-10-30"></script>
<script type="text/javascript" src="${path}/static/js/getewayIndex.js?time=2019-12-15"></script>
<%@ include file="/WEB-INF/jspf/webSocket.jspf" %>
<%--<script src="${path}/static/js/gatewayIndexEcharts.js"></script>--%>
</body>

@ -30,9 +30,6 @@
.row-fluid{
overflow-y: hidden;
}
.g{
background-color: #f6f6f6;
}
</style>
<body class="hold-transition skin-blue sidebar-mini" scroll="no">
<input type="hidden" id="userId" value="${CURRENT_USER.userId}">
@ -74,6 +71,7 @@
<p class="hidden-xs" title="${CURRENT_USER.userName}">${CURRENT_USER.userName}</p>
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<c:choose>
@ -84,6 +82,7 @@
<p class="hidden-xs" title="${CURRENT_USER.userName}(${CURRENT_USER.powerDepts})">${CURRENT_USER.userName}(${CURRENT_USER.powerDepts})</p>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</a>
@ -113,7 +112,7 @@
</nav>
</header>
<aside class="main-sidebar" style="background-color: #2a5ec5">
<aside class="main-sidebar">
<section class="sidebar">
<!-- 查询菜单列表 -->
<!--<form action="#" method="get" class="sidebar-form">

@ -21,142 +21,66 @@
}
}
%>
<html lang="en">
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>嘉时软件</title>
<!--导入CSS -->
<link rel="stylesheet" href="${path}/static/css/login.css">
<script>
var path = "${path}";
</script>
</head>
<style>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
.login{
width: 100%;
height: 100vh;
display: flex;
}
.login .left{
width: 1100px;
height: 100%;
}
.login .left img{
width: 100%;
height: 100%;
}
.login .right{
margin: 0 auto;
margin-top: 30px;
}
.logo{
margin-top: 74px;
margin-bottom: 123px;
display: flex;
align-items: center;
}
.title{
text-align: center;
font-size: 40px;
font-weight: 500;
margin-top: 34px;
}
.shuru{
width: 500px;
height: 50px;
background: #EFF0F4;
border-radius: 6px;
border: 1px solid #EFF0F4;
outline: none;
padding-left: 20px;
font-size: 16px;
}
.shuru:focus{
border-color: #09f !important;
}
.item{
margin-bottom: 20px;
}
.item1{
margin-bottom: 30px;
}
.item-name{
font-size: 22px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #555555;
margin: 10px 0;
}
.btn{
width: 500px;
height: 64px;
background: linear-gradient(90deg, #00AFFF 0%, #007CFF 100%);
border-radius: 6px;
text-align: center;
line-height: 53px;
cursor: pointer;
font-size: 22px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #FFFFFF;
margin-top: 108px;
}
.boxCss{
margin-top: 60px;
}
.bottom{
width: 500px;
text-align: center;
font-size: 14px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #919191;
margin-top: 120px;
}
</style>
<body>
<div class="login">
<div class="left">
<img src="./static/img/login/login_bg.png" alt="">
</div>
<div class="right">
<c:if test="${loginSet.logoPath != ''}">
<img src="${path}/${loginSet.logoPath}" width="${loginSet.logoWidth}px" height="${loginSet.logoHeight}px">
</c:if>
<div class="title">
账号登录
<body style="background:url('${path}/static/img/login/bg.png')">
<!--头部-->
<div class="login_head">
<!--头部文字-->
<div class="head_left left">
<div class="head_left_span">
<span>${loginSet.context}</span></div>
</div>
<!--右边logon-->
<div class="head_right left">
<c:if test="${loginSet.logoPath != ''}">
<img src="${path}/${loginSet.logoPath}" width="${loginSet.logoWidth}px" height="${loginSet.logoHeight}px">
</c:if>
</div>
<div class="boxCss">
<form action="">
<div class="item item1">
<div class="item-name">用户名</div>
<input type="text" placeholder="请输入" class="shuru" id="userName" name="userName" >
</div>
<div class="item">
<div class="item-name">用户密码</div>
<input type="password" placeholder="请输入" class="shuru" id="userPwd" name="userPwd">
</div>
<!--中间-->
<div class="login_content">
<div class="content_left left">
<c:if test="${loginSet.pic1Path != ''}">
<div class="image1" style="background:url('${path}/${loginSet.pic1Path}') no-repeat">
</div>
<div >
<input type="checkbox" name="" id="">
<span>记住密码</span>
</c:if>
</div>
<div class="content_login left">
<form method="post" action="${path}/login">
<div class="login_div" style="background:url('${path}/static/img/login/登录框.png') no-repeat">
<div class="login_title">
<h3 style="text-align: center">账号登录</h3>
</div>
<div class="inputDiv">
<input type="text" id="userName" name="userName" class="form-control uname left" placeholder="用户名" required value="<%=userName%>"/>
</div>
<div class="inputDiv">
<input type="password" id="userPwd" name="userPwd" class="form-control pword m-b" placeholder="密码" required value="<%=password%>" autocomplete="new-password"/>
</div>
<div class="inputDiv">
<label><input type="checkbox" name="rememberMe" id="rememberMe" value="yes" style="vertical-align:middle; margin-top:0;" <%=checked%>>记住密码</label>
</div>
<%--<a href="#" id="forgetPwd" style="float: right;">忘记密码了?</a>--%>
<div class="inputDiv">
<button class="btn btn-success btn-block">登录</button>
<p class="text-danger">${msg}</p>
</div>
</div>
</form>
</div>
<div class="btn" onclick="login()">立即登录</div>
<div class="bottom">
<div class="top">技术支持:厦门嘉时软件科技有限公司 </div>
<div class="bot">Copyright © 2019-2090 厦门嘉时软件. All rights reserved.</div>
</div>
</div>
</div>
<script type="text/javascript" src="${path}/static/js/login.js?time=2022-01-13"></script>
<!--尾部-->
<div class="login_foot">
<div class="span_div"><span>${loginSet.footContext}</span></div>
</div>
<script type="text/javascript" src="${path}/static/js/login.js"></script>
</body>
</html>

@ -143,14 +143,9 @@
<label for="re_effective" class="control-label left">档案管理系统权限:</label>
<input type="checkbox" name="showRecordCheckbox">免申请预览档案
<input type="checkbox" name="downloadRecordCheckbox">免申请下载档案
<input type="checkbox" name="showPrintCheckbox">查看打印简要
<input type="hidden" name="showRecord" id="showRecord">
<input type="hidden" name="downloadRecord" id="downloadRecord">
</div>
<div class="formDiv">
<label for="re_effective" class="control-label left">档案管理系统权限:</label>
<input type="checkbox" name="showWaterCheckbox">预览显示水印
<input type="checkbox" name="showPrintCheckbox">查看打印简要
<input type="hidden" name="showWater" id="showWater">
<input type="hidden" name="showPrint" id="showPrint">
</div>
<div class="formDiv">

@ -112,10 +112,10 @@
<label for="searchName">姓名:</label>
<input type="text" class="form-control input-sm" id="searchName" maxlength="16"/>
</div>
<div class="form-group">
<label for="user_position">用户职位:</label>
<input type="text" class="form-control input-sm" id="user_position" maxlength="25"/>
</div>
<%-- <div class="form-group">
<label for="user_email">邮箱地址:</label>
<input type="text" class="form-control input-sm" id="user_email" maxlength="25"/>
</div>--%>
<div class="form-group">
<label>所属角色:</label>
<div class=" form-group form-inline">
@ -302,7 +302,7 @@
</script>
<script src="${path}/static/zTree_v3-master/js/jquery.ztree.core.js"></script>
<script src="${path}/static/zTree_v3-master/js/jquery.ztree.excheck.js"></script>
<script src="${path}/static/js/user.js?t=2021-11-04"></script>
<script src="${path}/static/js/user.js?t=2021-08-20"></script>
<%@ include file="/WEB-INF/jspf/importExcelJsp.jspf" %>
</body>
</html>

@ -1,322 +0,0 @@
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/WEB-INF/jspf/common.jspf" %>
<%@ include file="/WEB-INF/jspf/confirmJsp.jspf" %>
<html>
<head>
<title>用户管理</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 引入 Bootstrap -->
<link rel="stylesheet" href="${path}/static/css/comm.css">
<link rel="stylesheet" href="${path}/static/zTree_v3-master/css/zTreeStyle/zTreeStyle.css">
<link href="${path}/static/select2/select2.css" rel="stylesheet">
<script src="${path}/static/select2/select.js"></script>
<style type="text/css">
/*页头*/
.panel-heading{
padding: 0 16px;
}
hr{
margin:0;
}
.form-group{
margin-left:15px;
}
/*模态框表单*/
.formDiv{
width:100%;
height:30px;
}
.searchDiv{
margin-bottom:0px!important;
}
.control-label{
width:30%;
text-align: right;
padding-top:2px;
}
.input{
width:50%;
float:left;
}
/*按钮组*/
.btns{
margin-top:5px;
text-align: right;
margin-bottom: 5px;
}
/*模态框*/
.modal-header{
text-align: center;
}
.modal-title{
font-weight: bold;
}
.modelBtns{
text-align: center;
}
.modelBtn{
width: 74px;
margin-left: 38px;
margin-bottom: 16px;
}
.operBtns{
margin-left:10px;
}
.tableDiv{
margin-left:14px;
}
.shortInput{
width:80px;
}
.sexInput{
width:70px;
}
.warningLabel{
margin-left:102px;
}
.warningDiv{
margin-left: 134px;
margin-top: -20px;
}
.hidden-xs{
max-width: 250px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.form-group{
padding-top: 5px;
}
/*.dropdown {
width:50%!important;
}*/
</style>
</head>
<body>
<div style="width: 100%">
<input type="hidden" id="checks">
<input type="hidden" id="userNames">
<div class="row">
<div class="col-md-12">
<div class="panel-heading"><h4>基本管理/用户管理</h4></div>
<hr>
<form class="form-inline searchDiv" role="form">
<div class="">
<div class="form-group">
<label for="user_name">账号:</label>
<input type="text" class="form-control input-sm" id="user_name" maxlength="16"/>
</div>
<div class="form-group">
<label for="searchName">姓名:</label>
<input type="text" class="form-control input-sm" id="searchName" maxlength="16"/>
</div>
<div class="form-group">
<label for="user_position">用户职位:</label>
<select class=" form-control input-sm" style="width:106px" id="user_position">
<option value="">全部</option>
</select>
</div>
<div class="form-group">
<label>所属角色:</label>
<div class=" form-group form-inline">
<select class=" form-control input-sm" style="width:106px" id="roleId">
<option value="">全部</option>
</select>
</div>
</div>
<div class="form-group">
<label for="dept_id">所属部门:</label>
<div class=" form-group form-inline">
<select class="form-control input-sm" style="width:106px" id="dept_id">
<option value="">全部</option>
</select>
</div>
</div>
<div class="form-group">
<label for="effective">是否有效:</label>
<div class=" form-group form-inline">
<select class=" form-control input-sm" id="effective">
<option value="">全部</option>
<option value="1">是</option>
<option value="0">否</option>
</select>
</div>
</div>
<div class="form-group">
<button type="button" id="queryBtn" class="btn btn-primary btn-sm form-group">查询</button>
</div>
</div>
</form>
</div>
</div>
<div class="btns">
<pm:myPermissions permissions="/user/resetPassword">
<button type="button" onclick="resetPassword()" class="btn btn-info btn-sm">重置密码</button>
</pm:myPermissions>
<pm:myPermissions permissions="/user/add">
<button type="button" onclick="add()" class="btn btn-warning btn-sm">增加</button>
</pm:myPermissions>
<pm:myPermissions permissions="/user/importExcel">
<button type="button" class="btn btn-success btn-sm" onclick="importBtn()">导入Excel</button>
</pm:myPermissions>
<pm:myPermissions permissions="/user/export">
<button type="button" class="btn btn-primary btn-sm" onclick="exportExcel()">导出Excel</button>
</pm:myPermissions>
</div>
<div class="tableDiv">
<table id="bootstrapTable" class="table text-nowrap table-bordered"></table>
</div>
</div>
<!-- 模态框Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">用户信息</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="updateaddform">
<div class="formDiv">
<label class="control-label left">账号:</label>
<input type="hidden" id="userId" name="userId">
<input type="text" class="form-control input input-sm" id="re_userName" name="userName" maxlength="15">
</div>
<div class="formDiv" id="passwordDiv">
<label class="control-label left">密码:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">姓名:</label>
<input type="text" class="form-control input input-sm" id="name" name="name" maxlength="15">
</div>
<div class="formDiv">
<label class="control-label left">性别:</label>
<select class="form-control input input-sm sexInput" id="re_userSex" name="userSex">
<option value="1" selected="selected">女</option>
<option value="0">男</option>
</select>
</div>
<div class="formDiv">
<label class="control-label left">年龄:</label>
<input type="number" class="form-control input input-sm sexInput" id="re_userAge" name="userAge" oninput="if(value.length>3)value=value.slice(0,3)">
</div>
<div class="formDiv">
<label class="control-label left">移动电话:</label>
<input type="text" class="form-control input input-sm" id="re_userTel" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">邮箱地址:</label>
<input type="text" class="form-control input input-sm" id="re_userEmail" name="userEmail" maxlength="25">
</div>
<div class="formDiv">
<label class="control-label left">职位:</label>
<input type="text" class="form-control input input-sm" id="re_userPosition" name="userPosition" maxlength="25">
</div>
<div class="formDiv">
<label class="control-label left">所属部门:</label>
<div style="width:100%">
<select class="selectpicker" multiple id="deptId" name="deptId" style="max-height:400px!important;overflow:scroll;" data-live-search="true" data-actions-box="true">
<c:forEach items="${depts}" var="dept">
<option value="${dept.deptId}" <c:if test="${deptId == dept.deptId}">selected</c:if>>${dept.deptName}</option>
</c:forEach>
</select>
<%-- <input id="txtTreeSelect1" type="text" onclick="showMenu1(); return false;"
class="form-control input-sm input" placeholder="所属科室"
name="parentId1"
data-id=""
readonly="readonly"
/>
<input type="hidden" id="deptIds" name="deptId">--%>
</div>
</div>
<%--<div id="menuContent1" class="menuContent" style="display:none;background: #f9f9f9;
position:static;z-index:10;width:288px;margin-left:170px">
<ul id="treeDemo" class="ztree" style="margin-top: 0; width: 178px;">
</ul>
</div>--%>
<div class="formDiv">
<label class="control-label left">所属角色:</label>
<select class="form-control input input-sm" id="re_roleId" name="roleId">
</select>
</div>
<div class="formDiv">
<label class="control-label left">有效否:</label>
<select class="form-control input input-sm shortInput" id="re_effective" name="effective">
<option value="1">是</option>
<option value="0">否</option>
</select>
</div>
<div class="formDiv">
<label class="control-label left">备注:</label>
<textarea id="re_remark" class="form-control input input-sm" name="remark" maxlength="50"></textarea>
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="btn_submit">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<!-- 模态框Modal1 导入-->
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel1">导入信息</h4>
</div>
<div class="modal-body" style="height:380px">
<form method="POST" enctype="multipart/form-data"
id="form1">
<div class="formDiv">
<label class="control-label left">下载模板:</label>
<input class="btn btn-primary btn-sm" onclick="window.open('${path }/static/template/用户列表导入模板(脐血库).xls');" type="button" value="下载模板">
</div>
<div class="formDiv">
<label for="re_effective" class="control-label left">选择文件:</label>
<input id="upfile" type="file" name="upfile" calss="layui-btn">
</div>
<div class="modelBtns">
<input class="btn btn-primary btn-sm" type="button" value="批量导入Excel数据"
onclick="importExcel('/user/importExcel','用户')">
</div>
<div class="formDiv">
<label class="warningLabel">友情提醒:</label>
<div class="warningDiv">
<span style="color: red"></br>1、用户名不能为空,不能重复,内容最多16个字</span></br>
<span style="color: red">2、密码不能为空,内容最多20个字</span></br>
<span style="color: red">3、性别不能为空,内容最多9个字</span></br>
<span style="color: red">4、年龄必须为正整数0-150,可为空,内容最多3个字</span></br>
<span style="color: red">5、手机号可为空,内容最多11个字</span></br>
<span style="color: red">6、邮箱可为空,内容最多25个字</span></br>
<span style="color: red">7、角色名不能为空</span></br>
<span style="color: red">8、部门名不能为空,可多个,"@"符号隔开。</span></br>
<span style="color: red">9、是否有效不能为空,内容最多9个字</span></br>
<span style="color: red">10、备注可为空,内容最多50个字</span></br>
<span style="color: red">11、值包含逗号必须单元格设置为文本类型。</span></br>
</div>
</div>
</form>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<script>
$(function () {
$(".modal-dialog").draggable();//为模态对话框添加拖拽
$("#dept_id").select2()
})
</script>
<script src="${path}/static/zTree_v3-master/js/jquery.ztree.core.js"></script>
<script src="${path}/static/zTree_v3-master/js/jquery.ztree.excheck.js"></script>
<script src="${path}/static/js/user1.js?t=1"></script>
<%@ include file="/WEB-INF/jspf/importExcelJsp.jspf" %>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

@ -12,30 +12,36 @@ $(function(){
})
var flag = $("#flag").val();
if(flag != ''){
menuClick($(".notice-menu").get(0),'notice');
noticeManage();
}
})
function menuClick(el,type){
$(".home-sidebar-menu li").removeClass('active');
$(el).parent().addClass("active");
switch (type){
case 'notice':
$("#iframe").prop("src",path+"/notice/pageUI");
break;
case 'pwd':
$("#iframe").prop("src",path+"/user/toUpdatePassword");
break;
case 'help':
$("#iframe").prop("src",path+"/user/updatePersonal");
break;
case 'contact':
$("#iframe").prop("src",path+"/main");
}
if(type==='home'){
$("#iframeDiv").hide();
$("#sectionDiv").show();
}else {
$("#iframeDiv").show();
$("#sectionDiv").hide();
}
//跳转到主页
function mainManage(){
$("#iframeDiv").hide();
$("#sectionDiv").show();
}
//跳转到通知
function noticeManage(){
$("#iframeDiv").show();
$("#sectionDiv").hide();
$("#iframe").prop("src",path+"/notice/pageUI");
}
//跳转到帮助文档
function helpDocumentManage(){
$("#iframeDiv").show();
$("#sectionDiv").hide();
$("#iframe").prop("src",path+"/main");
}
//跳转到修改密码
function updatePassword(){
$("#iframeDiv").show();
$("#sectionDiv").hide();
$("#iframe").prop("src",path+"/user/toUpdatePassword");
}
//跳转到联系我们
function callMeManage(){
$("#iframeDiv").show();
$("#sectionDiv").hide();
$("#iframe").prop("src",path+"/main");
}

@ -32,7 +32,8 @@ $(function(){
});
function login(){
$('body').keydown(function () {
if(event.keyCode == '13'){
var userName = $("#userName").val();
var userPwd = $("#userPwd").val();
var rememberMeChecked = $("input[type='checkbox']").is(':checked');
@ -51,17 +52,12 @@ function login(){
url : path+"/login",
data: {userName:userName, userPwd:userPwd,rememberMe:rememberMe},
success : function(data) {
window.location.href = 'gatewayPage';
//window.location.href = 'gatewayPage';
},
})
}
}
}
$('body').keydown(function () {
if(event.keyCode == '13'){
login();
}
})

@ -1,256 +0,0 @@
/*
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
* Digest Algorithm, as defined in RFC 1321.
* Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
* Distributed under the BSD License
* See http://pajhome.org.uk/crypt/md5 for more info.
*/
/*
* Configurable variables. You may need to tweak these to be compatible with
* the server-side, but the defaults work in most cases.
*/
var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */
var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */
/*
* These are the functions you'll usually want to call
* They take string arguments and return either hex or base-64 encoded strings
*/
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}
function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));}
function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }
function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }
function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }
/*
* Perform a simple self-test to see if the VM is working
*/
function md5_vm_test()
{
return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
}
/*
* Calculate the MD5 of an array of little-endian words, and a bit length
*/
function core_md5(x, len)
{
/* append padding */
x[len >> 5] |= 0x80 << ((len) % 32);
x[(((len + 64) >>> 9) << 4) + 14] = len;
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
for(var i = 0; i < x.length; i += 16)
{
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;
a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
}
return Array(a, b, c, d);
}
/*
* These functions implement the four basic operations the algorithm uses.
*/
function md5_cmn(q, a, b, x, s, t)
{
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
}
function md5_ff(a, b, c, d, x, s, t)
{
return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
function md5_gg(a, b, c, d, x, s, t)
{
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
function md5_hh(a, b, c, d, x, s, t)
{
return md5_cmn(b ^ c ^ d, a, b, x, s, t);
}
function md5_ii(a, b, c, d, x, s, t)
{
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
}
/*
* Calculate the HMAC-MD5, of a key and some data
*/
function core_hmac_md5(key, data)
{
var bkey = str2binl(key);
if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
var ipad = Array(16), opad = Array(16);
for(var i = 0; i < 16; i++)
{
ipad[i] = bkey[i] ^ 0x36363636;
opad[i] = bkey[i] ^ 0x5C5C5C5C;
}
var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
return core_md5(opad.concat(hash), 512 + 128);
}
/*
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
* to work around bugs in some JS interpreters.
*/
function safe_add(x, y)
{
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}
/*
* Bitwise rotate a 32-bit number to the left.
*/
function bit_rol(num, cnt)
{
return (num << cnt) | (num >>> (32 - cnt));
}
/*
* Convert a string to an array of little-endian words
* If chrsz is ASCII, characters >255 have their hi-byte silently ignored.
*/
function str2binl(str)
{
var bin = Array();
var mask = (1 << chrsz) - 1;
for(var i = 0; i < str.length * chrsz; i += chrsz)
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
return bin;
}
/*
* Convert an array of little-endian words to a string
*/
function binl2str(bin)
{
var str = "";
var mask = (1 << chrsz) - 1;
for(var i = 0; i < bin.length * 32; i += chrsz)
str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
return str;
}
/*
* Convert an array of little-endian words to a hex string.
*/
function binl2hex(binarray)
{
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
var str = "";
for(var i = 0; i < binarray.length * 4; i++)
{
str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);
}
return str;
}
/*
* Convert an array of little-endian words to a base-64 string
*/
function binl2b64(binarray)
{
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var str = "";
for(var i = 0; i < binarray.length * 4; i += 3)
{
var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16)
| (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
| ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
for(var j = 0; j < 4; j++)
{
if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
}
}
return str;
}

@ -195,7 +195,6 @@ function edit(id){
var showRecord = data.showRecord;
var downloadRecord = data.downloadRecord;
var showPrint = data.showPrint;
var showWater = data.showWater;
if(showRecord == 1){
$("input[name='showRecordCheckbox']").prop("checked",true);
$("#showRecord").val("1");
@ -217,13 +216,6 @@ function edit(id){
$("input[name='showPrintCheckbox']").prop("checked",false);
$("#showPrint").val("0");
}
if(showWater == 1){
$("input[name='showWaterCheckbox']").prop("checked",true);
$("#showWater").val("1");
}else{
$("input[name='showWaterCheckbox']").prop("checked",false);
$("#showWater").val("0");
}
}
});
$('#myModal').modal('show')
@ -285,12 +277,6 @@ $('#btn_submit').click(function () {
}else{
$("#showPrint").val(0);
}
var showWater = $("input[name='showWaterCheckbox']").is(":checked");
if(showWater){
$("#showWater").val(1);
}else{
$("#showWater").val(0);
}
var roleName = $("#re_roleName").val();
if(roleName != ''){
var roleId = $("#re_roleId").val();

@ -25,7 +25,7 @@ var form = '';
offset : params.offset, // SQL语句起始索引
page : (params.offset / params.limit) + 1, //当前页码
userName:$("#user_name").val(),
userPosition:$("#user_position").val(),
userEmail:$("#user_email").val(),
name:$("#searchName").val(),
searchRoleId:$("#roleId").val(),
deptId : $("#dept_id option:selected").val(),
@ -77,10 +77,10 @@ var form = '';
title:'移动电话',
field:'userTel',
},
/*{
{
title:'邮箱地址',
field:'userEmail',
},*/
},
{
title:'用户职位',
field:'userPosition',
@ -388,6 +388,7 @@ function clearForm(){
}
//提交更改
$('#btn_submit').click(function () {
debugger
var reUserTel = $("#re_userTel").val();
if(reUserTel != ''){
if(!reUserTel.match(/^1[34578]\d{9}$/)){
@ -532,7 +533,7 @@ function exportExcel(){
message: "没有选中,您确定要按搜索栏条件导出?",
operate: function (reselt) {
if (reselt) {
var url = path+"/user/export?userName="+$("#user_name").val()+"&searchRoleId="+$("#roleId").val()+"&deptId="+$("#dept_id").val()+"&effective="+$("#effective").val()+"&name="+$("#searchName").val()+"&userPosition="+$("#user_position").val();
var url = path+"/user/export?userName="+$("#user_name").val()+"&searchRoleId="+$("#roleId").val()+"&deptId="+$("#dept_id").val()+"&effective="+$("#effective").val()+"&name="+$("#searchName").val();
window.location.href = url;
}
}

@ -1,655 +0,0 @@
var pageNumber=1;
//键盘回车查询
$(document).keyup(function(event){
if(event.keyCode ==13){
$("#queryBtn").trigger("click");
}
});
var form = '';
$(function(){
$('#myModal').modal('hide');
loadDept();
loadRole();
loadPosition();
//先销毁表格
$('#bootstrapTable').bootstrapTable({
//表格高度
height: getHeight(),
method : 'get',
url :path+ "/user/pageList",//请求路径
striped : true, //是否显示行间隔色
pageNumber : 1, //初始化加载第一页
pagination : true,//是否分页
sidePagination : 'server',//server:服务器端分页|client前端分页
pageSize : 10,//单页记录数
pageList : [ 5, 10, 20, 30 ],//可选择单页记录数
cache: false,
paginationPreText : '上一页',
paginationNextText : '下一页',
queryParams : function(params) {//上传服务器的参数
var temp = {//如果是在服务器端实现分页limit、offset这两个参数是必须的
limit : params.limit, // 每页显示数量
offset : params.offset, // SQL语句起始索引
page : (params.offset / params.limit) + 1, //当前页码
userName:$("#user_name").val(),
userPosition:$("#user_position").val(),
name:$("#searchName").val(),
searchRoleId:$("#roleId").val(),
deptId : $("#dept_id option:selected").val(),
effective : $("#effective option:selected").val(),
};
return temp;
},
columns : [{
checkbox:true
},
{
title:'序号',
field:'no',
formatter: function (value, row, index) {
//获取每页显示的数量
var pageSize = $('#bootstrapTable').bootstrapTable('getOptions').pageSize;
//获取当前是第几页
if(pageNumber == 1){
pageNumber = $('#bootstrapTable').bootstrapTable('getOptions').pageNumber;
}
//返回序号注意index是从0开始的所以要加上1
return pageSize * (pageNumber - 1) + index + 1;
}
},
{
title:'账号',
field:'userName',
},
{
title:'姓名',
field:'name',
},
{
title:'性别',
field:'userSex',
formatter: function (value, row, index) {
if(value ==1){
return '女'
}else if(value ==0){
return '男'
}
}
},
{
title:'年龄',
field:'userAge',
},
{
title:'移动电话',
field:'userTel',
},
{
title:'邮箱地址',
field:'userEmail',
},
{
title:'用户职位',
field:'userPosition',
},
{
title:'所属角色',
field:'roleName',
},
{
title:'所属部门',
field:'powerDepts',
formatter:paramsMatter,
},
{
title:'是否有效',
field:'effective',
formatter: function (value, row, index) {
if(value ==1){
return '是'
}else if(value ==0){
return '否'
}
}
},
{
title:'创建时间',
field:'createDate',
},
{
title:'创建人',
field:'creater',
},
{
title:'修改时间',
field:'updateDate',
},
{
title:'修改人',
field:'updater',
},
{
title:'操作',
field:'userId', formatter: function(value,row,index){
var editanddrop = '';
if(row.isUpdate == 1){
editanddrop += '<button type="button" onclick="edit('+row.userId+')" class="btn btn-info operBtns btn-sm" >编辑</button>';
}
if(row.isDelete == 1){
editanddrop += '<button type="button" onclick="drop('+row.userId+')" class="btn btn-danger operBtns btn-sm">删除</button>';
}
return editanddrop;
}
}
],
onLoadSuccess: function(){ //加载成功时执行
$(".page-list").show();
$("th").css({'text-align':'center','vertical-align':'middle'})
$("td").css({'text-align':'center','vertical-align':'middle'})
},
//监听分页点击事件
onPageChange: function(num, type) {
pageNumber = num;
},
//选中单个复选框
onCheck:function(row){
var checks = $("#checks").val();
var userNames = $("#userNames").val();
$("#checks").val(checks+=row.userId + ",");
$("#userNames").val(userNames+=row.userName + ",");
},
//取消单个复选框
onUncheck:function(row){
var checks = $("#checks").val();
var userNames = $("#userNames").val();
checks = checks.replace(row.userId + ",","");
userNames = userNames.replace(row.userName + ",","");
$("#checks").val(checks);
$("#userNames").val(userNames);
},
//全选
onCheckAll:function(rows){
$("#checks").val("");
$("#userNames").val("");
var checks = '';
var userNames = '';
for(var i=0;i<rows.length;i++)
{
checks += rows[i].userId + ","
userNames += rows[i].userName + ","
}
$("#checks").val(checks);
$("#userNames").val(userNames);
},
//全不选
onUncheckAll: function (rows) {
$("#checks").val("");
$("#userNames").val("");
}
});
});
//格式化科室列
function paramsMatter(value, row, index) {
value = '<p class="hidden-xs" title="'+value+'">'+value+'</p>'
return value;
}
//验证表单
//验证用户名不重复
$("#re_userName").blur(function(){
var userId = $("#userId").val();
var userName = $("#re_userName").val();
if(userId == '' && userName != ''){
$.ajax({
type:'get',
url:path+'/user/checkUserName?userName='+userName,
dataType:'json',
success:function(data){
if(data.code == 200){
toastr.warning(data.msg);
$("#re_userName").val("");
$("#re_userName").focus();
}
}
})
}
})
//验证密码长度不少于6位
$("#re_userPwd").blur(function(){
var password = $("#re_userPwd").val();
if(password != '' && password.length < 6){
toastr.warning("密码长度不能少于6位!");
}
})
/*//验证手机号
$("#re_userTel").blur(function(){
var tel = $("#re_userTel").val();
if(tel != ''){
if(!tel.match(/^1[34578]\d{9}$/)){
toastr.warning("移动电话格式不正确!");
$("#re_userTel").val("");
$("#re_userTel").focus();
}
}
})
//验证邮箱
$("#re_userEmail").blur(function(){
var email = $("#re_userEmail").val();
if(email != ''){
if(!email.match(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/)){
toastr.warning("邮箱地址格式不正确!");
$("#re_userEmail").val("");
$("#re_userEmail").focus();
}
}
})*/
//所属科室多选树形
function showMenu1() {
var cityObj = $('#txtTreeSelect1');
var cityOffset = cityObj.offset();
$("#menuContent1").css({ left: cityOffset.left + "px", top: cityOffset.top + cityObj.outerHeight() + "px" }).slideDown("fast");
$("body").bind("mousedown", onBodyDown1);
}
function onBodyDown1(event) {
if (!(event.target.id == "menuBtn" || event.target.id == "menuContent1" || $(event.target).parents("#menuContent1").length > 0)) {
hideMenu1();
}
}
function hideMenu1() {
$("#menuContent1").fadeOut("name");
$("body").unbind("mousedown", onBodyDown1);
}
//加载角色
function loadRole(){
$.ajax({
type: "GET",
url: path+"/role/selectList",
dataType: "json",
success: function(data){
var html = '';
$.each(data, function(commentIndex, comment){
html += '<option value="'+comment['roleId']+'">' + comment['roleName']
+ '</option>';
});
$('#re_roleId').append(html);
$('#roleId').append(html);
}
});
}
function loadDept(){
$.ajax({
type: "GET",
url: path+"/dept/selectList",
dataType: "json",
success: function(data){
var html = '';
for(var i = 0;i < data.extend.list.length;i++){
html += '<option value="'+data.extend.list[i].deptId+'">' + data.extend.list[i].deptName
+ '</option>';
}
$('#dept_id').append(html);
}
});
}
function loadPosition(){
$.ajax({
type: "GET",
url: path+"/user/loadPosition",
dataType: "json",
success: function(data){
var html = '';
for(var i = 0;i < data.extend.list.length;i++){
html += '<option value="'+data.extend.list[i].userPosition+'">' + data.extend.list[i].userPosition
+ '</option>';
}
$('#user_position').append(html);
}
});
}
//搜索
$('#queryBtn').click(function () {
$("#checks").val("");
refresh();
})
//编辑框回显
function edit(id){
$("#re_userName").prop("readOnly",true);
$("#passwordDiv").hide();
$("#myModalLabel").text("编辑");
$.ajax({
type: "post",
url: path+"/user/selectUser",
data:{
userId:id
},
dataType:"json",
success: function(data){
$("#userId").val(data.userId);
$("#re_userName").val(data.userName);
$("#name").val(data.name);
var deptIds = data.deptId;
var deptArr = deptIds.split(",");
$('#deptId').selectpicker('val', deptArr);
if(data.userSex == 1){
$("#re_userSex").val("1");
}else{
$("#re_userSex").val("0");
}
$("#re_userAge").val(data.userAge);
$("#re_userTel").val(data.userTel);
$("#re_userEmail").val(data.userEmail);
$("#re_userPosition").val(data.userPosition);
$("#txtTreeSelect1").val(data.powerDepts);
$("#deptIds").val(data.deptId);
$("#re_roleId").find("option[value='"+data.roleId+"']").attr("selected",true);
$("#re_effective").find("option[value='"+data.effective+"']").attr("selected",true);
$("#re_remark").val(data.remark);
/*loadTree();
var deptIds = data.deptId;
if(deptIds != ''){
var deptIdSplit =deptIds.split(",");
for (var i = 0;i < deptIdSplit.length;i++){
if(deptIdSplit[i] != ''){
//选中节点
treeSelectNode(deptIdSplit[i]);
}
}
}*/
}
});
$('#myModal').modal('show');
}
//删除
function drop(id) {
Common.confirm({
title: "提示",
message: "确定是否删除这条记录",
operate: function (reselt) {
if (reselt) {
$.ajax({
type: "post",
url: path + "/user/delete",
data: {
userId: id
},
async: false,
success: function (data) {
if ("success" == data.msg) {
toastr.success("删除成功!");
$("#checks").val("");
$("#userNames").val("");
backToPage();
} else {
toastr.error(data.msg);
}
},
error: function () {
window.confirm("删除失败");
}
})
}
}
})
}
//新增框
function add() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#myModal').modal('show');
$("#passwordDiv").show();
}
//清空
function clearForm(){
$("#updateaddform")[0].reset();
//loadTree();
$("#deptIds").val("");
}
//提交更改
$('#btn_submit').click(function () {
var reUserTel = $("#re_userTel").val();
if(reUserTel != ''){
if(!reUserTel.match(/^1[34578]\d{9}$/)){
toastr.warning("移动电话格式不正确!");
$("#re_userTel").val("");
$("#re_userTel").focus();
return false;
}
}
var reUserEmail = $("#re_userEmail").val();
if(reUserEmail != ''){
if(!reUserEmail.match(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/)){
toastr.warning("邮箱地址格式不正确!");
$("#re_userEmail").val("");
$("#re_userEmail").focus();
return false;
}
}
var userName = $("#re_userName").val();
var userPwd = $("#re_userPwd").val();
var deptIds = $("#deptIds").val();
var roleId = $("#re_roleId").val();
if(userName != ''){
if(userPwd != '' || $("#userId").val() != ''){
if(userPwd.length >= 6 || $("#userId").val() != ''){
if(deptIds != ''){
if(roleId != ''){
saveForm();
}else{
toastr.warning("所属角色不能为空,如未显示角色请到角色管理添加角色!");
}
}else{
toastr.warning("所属科室不能为空!");
}
}else{
toastr.warning("密码长度不能少于6位!");
}
}else{
toastr.warning("密码不能为空!");
}
}else{
toastr.warning("用户名不能为空!");
}
})
function saveForm(){
var userId = $("#userId").val();
if(userId != ''){
$.ajax({
type: "post",
url:path+ "/user/update",
data:$("#updateaddform").serialize(),
dataType:"json",
success: function(data){
if("success"==data.msg){
toastr.success("修改成功!");
$('#myModal').modal('hide');
backToPage();
}else{
toastr.warning(data.msg);
}
}
})
}else if(userId == ''){
$.ajax({
type: "post",
url:path+ "/user/add",
data:$("#updateaddform").serialize(),
dataType:"json",
success: function(data){
if("success"==data.msg){
toastr.success("添加成功!");
setTimeout(function(){
window.location.reload();
},500)
}else{
toastr.warning(data.msg);
}
}
})
}
}
//获取table的高度
function getHeight() {
return $(window).height() - 190;
}
//刷新表格
function refresh() {
$('#bootstrapTable').bootstrapTable('refresh',{
url : path+'/user/pageList'
})
}
//重置密码
function resetPassword(){
var checks = $("#checks").val();
var userNames = $("#userNames").val();
if(checks != ''){
var ids = checks.split(",");
var userName = userNames.split(",");
if(ids.length == 2){
Common.confirm({
title: "提示",
message: '确定是否重置用户名'+userName[0]+'的密码为000000',
operate: function (reselt) {
if (reselt) {
$.ajax({
type: 'post',
url: path + '/user/resetPassword',
data: {userId: ids[0]},
dataType: 'json',
success: function (data) {
if (data.code == 100) {
toastr.success("重置成功!");
$("#checks").val("");
$("#userNames").val("");
backToPage();
} else {
toastr.error("重置失败,请联系系统管理员!")
}
}
})
}
}
})
}else{
toastr.warning("以防重置密码误选择,只允许一次重置一个!")
}
}else{
toastr.warning("请至少选中一条记录!")
}
}
//导出excel功能
function exportExcel(){
var checks = $("#checks").val();
if(checks != '') {
checks = checks.substring(0, checks.length - 1);
var url = path+"/user/export1?userName="+$("#user_name").val()+"&userEmail="+$("#user_email").val()+"&searchRoleId="+$("#roleId").val()+"&deptId="+$("#dept_id").val()+"&effective="+$("#effective").val()+"&checks="+checks;
window.location.href = url;
}else{
Common.confirm({
title: "提示",
message: "没有选中,您确定要按搜索栏条件导出?",
operate: function (reselt) {
if (reselt) {
var url = path+"/user/export?userName="+$("#user_name").val()+"&searchRoleId="+$("#roleId").val()+"&deptId="+$("#dept_id").val()+"&effective="+$("#effective").val()+"&name="+$("#searchName").val()+"&userPosition="+$("#user_position").val();
window.location.href = url;
}
}
})
/* if(confirm('?')) {
var url = path+"/user/export?userName="+$("#user_name").val()+"&userEmail="+$("#user_email").val()+"&searchRoleId="+$("#roleId").val()+"&deptId="+$("#dept_id").val()+"&effective="+$("#effective").val()+"&checks="+checks;
window.location.href = url;
}*/
}
}
/**树操作*/
/*var setting = {
view: {
showIcon: true,//设置 zTree 是否显示节点的图标。默认值true
showLine: true//设置 zTree 是否显示节点之间的连线。默认值true
},
data: {
simpleData: {
chkStyle: "checkbox",
enable: true,
idKey: "id",
pIdKey: "parentId"
}
},
check:{
enable:true
},
callback: {
onCheck:onCheck
}
};
function onCheck(e, treeId, treeNode) {
var treeObj=$.fn.zTree.getZTreeObj("treeDemo"),
nodes=treeObj.getCheckedNodes(true);
var deptIds = '';
var deptNames = '';
//父节点必须一样
var parentId = new Array();
for (var i = 0; i < nodes.length; i++) {
if(nodes[i].level == 0){
var id = nodes[i].id;
parentId.push(id);
}
if(nodes[i].level == 1){
var deptId = nodes[i].selfId;
deptIds += deptId + ",";
deptNames += nodes[i].name + ",";
}
}
if(parentId.length > 1) {
toastr.warning("科室必须全部属于同一医院!");
treeObj.checkNode(treeNode,false,true);
}else{
if(deptIds != ''){
deptIds = deptIds.substring(0,deptIds.length-1);
deptNames = deptNames.substring(0,deptNames.length-1);
}
$("#txtTreeSelect1").val(deptNames);
$("#deptIds").val(deptIds);
}
}
var zNodes = [];
function loadTree() {
$.ajax({
type: "GET",
url: path + "/dept/selectDeptTreeByUserId",
dataType: "json",
async: false,
success: function (data) {
$.fn.zTree.init($("#treeDemo"), setting, data);
zTree = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = zTree.getNodes();
for (var i = 0; i < nodes.length; i++) { //设置节点展开
zTree.expandNode(nodes[i], true, false, true);
}
}
});
}
//加载树
$(function(){
$("#re_userName").val("");
$("#updateaddform")[0].reset();
loadTree();
})
//选中节点 selfId
function treeSelectNode(selfId){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
var node = zTree.getNodeByParam("selfId",selfId);
if(node != null){
zTree.checkNode(node, true, true);
}
}*/
//监听关闭模态框刷新事件
$('#myModal1').on('hide.bs.modal', function () {
window.location.reload();
});

@ -19,6 +19,12 @@
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</dependency>
<!-- xml转换工具 -->
<dependency>
<groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId>
<version>2.7.1</version>
</dependency>
</dependencies>
<build>

@ -0,0 +1,32 @@
package com.manage.dao;
public class InvokeParam {
private String url;
private String method;
private String xml;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public String getXml() {
return xml;
}
public void setXml(String xml) {
this.xml = xml;
}
}

@ -1,7 +1,6 @@
package com.manage.dao;
import com.manage.entity.Power_Dept;
import com.manage.entity.Power_User;
import com.manage.vo.Power_DeptVo;
import org.apache.ibatis.annotations.Param;
@ -39,7 +38,4 @@ public interface Power_DeptMapper {
List<Power_DeptVo> selectDeptByDictId(@Param("dictId") Integer dictId,@Param("sysFlag")String sysFlag);
int SimpleInsert(List<Power_Dept> list);
public List<Power_Dept> checkDeptCode(String deptCode);
}

@ -28,8 +28,8 @@ public interface Power_UserMapper {
int getTotal(Power_UserVo powerUser);
/*List<Power_UserVo> selectList();*/
List<Integer> selectDeptIdByDeptCode(String deptCode);
List<Power_UserVo> selectList();
List<Power_UserVo> selectAllByDeptId(@Param("deptId") Integer deptId,@Param("userName")String userName);
List<Power_UserVo> selectAllBySysRole(@Param("dictId") Integer dictId);
List<Power_UserVo> selectAllByRoleIdAndDictId(@Param("roleId") Integer roleId,@Param("dictId") Integer dictId);
@ -64,16 +64,4 @@ public interface Power_UserMapper {
* id
* */
List<Power_User> selectUserIdsWithApprove(@Param("menuUrl")String menuUrl);
List<Power_User> loadPosition();
List<Power_UserVo> getUserInfo(@Param("userName") String userName,@Param("passWord")String passWord);
List<Power_UserVo> getUserInfoOne(@Param("userName") String userName,@Param("passWord")String passWord);
int insertUserInfo(Power_UserVo record);
Integer updateinsertUserInfo(Power_UserVo record);
}

@ -1,185 +0,0 @@
package com.manage.entity;
public class PowerUser {
private Integer userId;
private String userName;
private String name;
private String userPwd;
private Integer userSex;
private Integer userAge;
private String userTel;
private String userEmail;
private String userPosition;
private Integer roleId;
private String deptId;
private Integer effective;
private String createDate;
private String creater;
private String updateDate;
private String updater;
private String remark;
private String deptCode;
public String getDeptCode() {
return deptCode;
}
public void setDeptCode(String deptCode) {
this.deptCode = deptCode;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public Integer getUserSex() {
return userSex;
}
public void setUserSex(Integer userSex) {
this.userSex = userSex;
}
public Integer getUserAge() {
return userAge;
}
public void setUserAge(Integer userAge) {
this.userAge = userAge;
}
public String getUserTel() {
return userTel;
}
public void setUserTel(String userTel) {
this.userTel = userTel;
}
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
public String getUserPosition() {
return userPosition;
}
public void setUserPosition(String userPosition) {
this.userPosition = userPosition;
}
public Integer getRoleId() {
return roleId;
}
public void setRoleId(Integer roleId) {
this.roleId = roleId;
}
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
public Integer getEffective() {
return effective;
}
public void setEffective(Integer effective) {
this.effective = effective;
}
public String getCreateDate() {
return createDate;
}
public void setCreateDate(String createDate) {
this.createDate = createDate;
}
public String getCreater() {
return creater;
}
public void setCreater(String creater) {
this.creater = creater;
}
public String getUpdateDate() {
return updateDate;
}
public void setUpdateDate(String updateDate) {
this.updateDate = updateDate;
}
public String getUpdater() {
return updater;
}
public void setUpdater(String updater) {
this.updater = updater;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}

@ -12,8 +12,6 @@ public class Power_Role{
private Short showPrint;
private Short showWater;
private String remark;
private Integer effective;
@ -113,12 +111,4 @@ public class Power_Role{
public void setUpdater(String updater) {
this.updater = updater;
}
public Short getShowWater() {
return showWater;
}
public void setShowWater(Short showWater) {
this.showWater = showWater;
}
}

@ -0,0 +1,58 @@
package com.manage.vo;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
@Root(name = "Request")
public class AuthUserVO {
private String SourceSystem;
@Element(required = false)
private String TargetSystem;
private String username;
private String password;
public String getSourceSystem() {
return SourceSystem;
}
public void setSourceSystem(String sourceSystem) {
SourceSystem = sourceSystem;
}
public String getTargetSystem() {
return TargetSystem;
}
public void setTargetSystem(String targetSystem) {
TargetSystem = targetSystem;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "AuthUserVO{" +
"SourceSystem='" + SourceSystem + '\'' +
", TargetSystem='" + TargetSystem + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}

@ -26,16 +26,6 @@ public class Power_UserVo extends Power_User {
private String sex;
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
private String passWord;
private Integer isUpdate;
private Integer isDelete;
@ -50,22 +40,12 @@ public class Power_UserVo extends Power_User {
private Integer showPrint;
private Integer showWater;
private Set<String> menus;
private List<User_Dept_Menu> menuList;
private List<User> userList;
public Integer getShowWater() {
return showWater;
}
public void setShowWater(Integer showWater) {
this.showWater = showWater;
}
public Integer getShowPrint() {
return showPrint;
}

@ -0,0 +1,48 @@
package com.manage.vo;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@XmlRootElement(name = "Request")
public class token implements Serializable {
private String username;
private String password;
public token() {
super();
}
public token(String username, String password) {
super();
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
@XmlElement
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
@XmlElement
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "token{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}

@ -2,7 +2,7 @@ jdbc.driver=com.mysql.jdbc.Driver
#jdbc.url=jdbc\:mysql\://localhost\:3306/power?useUnicode\=true&characterEncoding\=utf-8
jdbc.url=jdbc\:mysql\://120.27.212.36\:3306/power?useUnicode\=true&characterEncoding\=utf-8
jdbc.username=root
jdbc.password=docus702
jdbc.password=mamba1998
#执行:右键 Run As ---->Maven build ---->Goals:mybatis-generator:generate
#输出目录

@ -293,15 +293,6 @@
power_dept.dict_id = #{dictId}
</if>
</select>
<select id="checkDeptCode" resultType="com.manage.entity.Power_Dept" parameterType="java.lang.String">
SELECT
dept_id,dept_code,dept_name
FROM
power_dept
WHERE
dept_Code = #{deptCode}
</select>
<!--批量插入-->
<insert id="SimpleInsert" parameterType="java.util.List">
@ -333,6 +324,4 @@
)
</foreach >
</insert>
</mapper>

@ -7,7 +7,6 @@
<result column="show_record" property="showRecord" jdbcType="SMALLINT" />
<result column="downLoad_record" property="downloadRecord" jdbcType="SMALLINT" />
<result column="show_print" property="showPrint" jdbcType="SMALLINT" />
<result column="show_water" property="showWater" jdbcType="SMALLINT" />
<result column="remark" property="remark" jdbcType="VARCHAR" />
<result column="effective" property="effective" jdbcType="INTEGER" />
<result column="create_date" property="createDate" jdbcType="CHAR" />
@ -16,7 +15,7 @@
<result column="updater" property="updater" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
role_id, role_name, show_record, downLoad_record, show_print,show_water, remark, effective,
role_id, role_name, show_record, downLoad_record, show_print, remark, effective,
create_date, creater, update_date, updater
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
@ -57,9 +56,6 @@
<if test="showPrint != null" >
show_print,
</if>
<if test="showWater != null" >
show_water,
</if>
<if test="remark != null" >
remark,
</if>
@ -130,9 +126,6 @@
<if test="showPrint != null" >
show_print = #{showPrint,jdbcType=SMALLINT},
</if>
<if test="showWater != null" >
show_water = #{showWater,jdbcType=SMALLINT},
</if>
<if test="remark != null" >
remark = #{remark,jdbcType=VARCHAR},
</if>

@ -789,7 +789,7 @@ on FIND_IN_SET(dict.deptIds,power_user.dept_id)
AND
dict_status = 1
GROUP BY
sys_flag,sort
sys_flag
UNION ALL
SELECT
sys_flag,sort
@ -815,7 +815,7 @@ on FIND_IN_SET(dict.deptIds,power_user.dept_id)
AND
dict_status = 1
GROUP BY
sys_flag,sort
sys_flag
</select>
<insert id="simpleInsertDict" parameterType="java.util.List">
INSERT INTO power_sys_dict(

@ -237,7 +237,6 @@
power_role.show_record,
power_role.downLoad_record,
power_role.show_print,
power_role.show_water,
user_name,
NAME,
user_sex,
@ -266,7 +265,7 @@
<!--2019-07-31 zengwenhe -->
<select id="checkUserName" resultMap="BaseResultMap" parameterType="java.lang.String">
SELECT
user_id,role_id,dept_id
user_id,role_id
FROM
power_user
WHERE
@ -324,9 +323,6 @@
<if test="userEmail!=null and userEmail!=''">
and power_user.user_email LIKE '%${userEmail}%'
</if>
<if test="userPosition!=null and userPosition!=''">
and power_user.user_position LIKE '%${userPosition}%'
</if>
<if test="effective!=null">
and power_user.effective=${effective}
</if>
@ -382,9 +378,6 @@
<if test="userEmail!=null and userEmail!=''">
and power_user.user_email LIKE '%${userEmail}%'
</if>
<if test="userPosition!=null and userPosition!=''">
and power_user.user_position LIKE '%${userPosition}%'
</if>
<if test="effective!=null">
and power_user.effective=${effective}
</if>
@ -644,7 +637,6 @@
)
</foreach >
</insert>
<!--根据用户名和备注获取用户信息-->
<select id="findPowerUserByUserNameAndRemark" resultMap="BaseResultMap">
select * from power_user where user_name = #{userName} and remark = #{remark}
@ -715,31 +707,4 @@
role_id = 0
OR role_id = - 100
</select>
<select id="loadPosition" resultType="com.manage.entity.Power_User">
select distinct user_position from power_user where user_position is not null and user_position != ''
</select>
<!--根据科室编码查科室id-->
<select id="selectDeptIdByDeptCode" resultType="java.lang.Integer">
select dept_id from power_dept where dept_code = #{deptCode} and effective = 1
</select>
<select id="getUserInfo" resultType="com.manage.vo.Power_UserVo">
select * from qfUserInfo where userName=#{userName}
</select>
<select id="getUserInfoOne" resultType="com.manage.vo.Power_UserVo">
select * from qfUserInfo where userName=#{userName} and passWord=#{passWord}
</select>
<update id="updateinsertUserInfo" parameterType="com.manage.entity.Power_User">
update qfUserInfo
<set>
passWord = #{passWord,jdbcType=VARCHAR},
</set>
where userName = #{userName,jdbcType=VARCHAR}
</update>
<insert id="insertUserInfo" parameterType="com.manage.vo.Power_UserVo">
insert into qfUserInfo (userName,passWord)
values (#{userName,jdbcType=VARCHAR},#{passWord,jdbcType=VARCHAR})
</insert>
</mapper>

@ -1,8 +0,0 @@
{
//--------广webService------------
"userName": "Body.CT_CareProvList.CT_CareProv.CTCP_JobNumber",
"name": "Body.CT_CareProvList.CT_CareProv.CTCP_Name",
"deptCode": "Body.CT_CareProvList.CT_CareProv.CTCP_DeptCode"
}

@ -47,19 +47,15 @@
<scope>compile</scope>
</dependency>
<!--日志处理-->
<!-- Web项目需添加 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<!--用于与slf4j保持桥接-->
<!-- xml转换工具 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId>
<version>2.7.1</version>
</dependency>
<!--系统使用率导包开始-->
<!--<dependency> &lt;!&ndash;工具类 小数格式化 可以改为其他&ndash;&gt;

@ -1,8 +1,6 @@
package com.manage.util;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@ -21,7 +19,7 @@ import java.io.PrintStream;
* @Version: 1.0
*/
public class ExceptionPrintUtil {
private static Logger log = LogManager.getLogger("errorLog");
private static Logger log = Logger.getLogger("errorMsg");
public static void printException(Exception e){
//方法名
ByteArrayOutputStream baos = new ByteArrayOutputStream();

@ -1,42 +0,0 @@
package com.manage.util;
import com.alibaba.fastjson.JSON;
import java.io.File;
import java.io.IOException;
import java.util.Map;
public class FileUtils {
/**
* jar
*
* @return
*/
public static String currentPath() {
File dir = new File(".");
String currentpath = "";
try {
currentpath = dir.getCanonicalPath();
} catch (IOException e) {
e.printStackTrace();
}
return currentpath;
}
// /**
// * 获取静态文件中的内容
// * @param name
// * @return
// */
// public static Object getJsonByName(String name){
// //获取目录结构
// String path = FileUtils.currentPath();
// //解析json映射文件
// String json = JsonUtils.readJsonFile(path + "\\config\\json.properties");
// Map jsonMap = JSON.parseObject(json, Map.class);
// return jsonMap.get(name);
// }
}

@ -1,5 +1,5 @@
/**
*
*
*/
package com.manage.util;
@ -9,25 +9,25 @@ import java.util.Map;
/**
* <p>Title:Msg </p>
* <p>Description:common return class </p>
* <p>Company: </p>
* <p>Company: </p>
* @author hu
* @date
*/
public class Msg {
//state:100-success 200-fail
//state:100-success 200-fail
private int code;
//提示信息
private String msg;
//用户要返回给浏览器的数据
private Map<String,Object> extend=new HashMap<String,Object>();
public static Msg success(){
Msg result=new Msg();
result.setCode(100);
result.setMsg("success");
return result;
}
public static Msg fail(){
Msg result=new Msg();
result.setCode(200);
@ -35,14 +35,6 @@ public class Msg {
return result;
}
public static Msg failUser(){
Msg result=new Msg();
result.setCode(200);
result.setMsg("账号或密码错误");
return result;
}
public static Msg fail(String msg){
Msg result=new Msg();
result.setCode(200);
@ -54,7 +46,7 @@ public class Msg {
this.getExtend().put(key, value);
return this;
}
public int getCode() {
return code;
@ -79,5 +71,5 @@ public class Msg {
public void setExtend(Map<String, Object> extend) {
this.extend = extend;
}
}

@ -0,0 +1,27 @@
package com.manage.util;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;
import javax.xml.bind.JAXBException;
public class XmlUtil {
/**
* xml
*/
public static <T> T xmlToEntity(Class<T> clazz, String str) {
try {
Serializer serializer = new Persister();
T entity = serializer.read(clazz, str);
return entity;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}

@ -1,194 +0,0 @@
package com.manage.util;
import com.alibaba.fastjson.JSON;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.InputStream;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class XmlUtils {
//定义解析器和文档对象
private SAXReader saxReader;
private Document document;
public Document getDocument() {
return document;
}
public XmlUtils(String path) {
//获取解析器
saxReader = new SAXReader();
try {
//获取文档对象
document = saxReader.read(path);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public XmlUtils(InputStream path) throws Exception{
//获取解析器
saxReader = new SAXReader();
//获取文档对象
document = saxReader.read(path);
}
// /**
// * 动态获取节点内容
// *
// * @return
// */
// public String getElement(String name) {
// //获取根节点
// Element root = document.getRootElement();
// Object directory = FileUtils.getJsonByName("directory");
// Element current = root;
// if (directory == null) {
// throw new RuntimeException("没有定义目录结构");
// }
// List<String> directoryArr = (List<String>) directory;
// for (String dire : directoryArr) {
// current = current.element(dire);
// }
// return current.element(name) == null ? "" : current.element(name).getText();
// }
/**
*
*
* @return
*/
public Element getElement(List<String> directory) {
//获取根节点
Element root = document.getRootElement();
Element current = root;
List<String> directoryArr = directory;
for (String dire : directoryArr) {
current = current.element(dire);
}
if (current == null) {
throw new RuntimeException("未找到对应节点");
}
return current;
}
/**
*
*/
public List<Element> getJsonByName(Element root) {
//获取目录结构
String path = FileUtils.currentPath();
//解析json映射文件
String json = JsonUtils.readJsonFile(path + "\\dataConfig\\homeQualitySet.json");
Map jsonMap = JSON.parseObject(json, Map.class);
//判断是否多条
List<String> basicArr = (List<String>) jsonMap.get("doubleBasic");
// List<String> directory = (List<String>) jsonMap.get("basicDirectory");
List<Element> elements = null;
// Element root = this.getElement(directory);
for (String basic : basicArr) {
elements = root.elements(basic);
if (elements != null && elements.size() > 0) {
break;
}
}
if (elements == null || elements.size() == 0) {
//只有一条
// List<String> rootDirectory = (List<String>) jsonMap.get("directory");
// root = this.getElement(rootDirectory);
elements = new ArrayList<>();
elements.add(root);
}
return elements;
}
/**
*
*
* @return
*/
public Element getMsgElement() {
//获取目录结构
String path = FileUtils.currentPath();
//解析json映射文件
String json = JsonUtils.readJsonFile(path + "\\dataConfig\\homeQualitySet.json");
Map jsonMap = JSON.parseObject(json, Map.class);
List<String> directory = (List<String>) jsonMap.get("directory");
Element root = this.getElement(directory);
return root;
}
/**
*
*
* @param name
* @return
*/
public String getElementText(String name) {
//定位根节点
Element root = document.getRootElement();
//根据名称定位节点
Element msg = root.element("Msg");
if (msg == null) {
throw new RuntimeException("没有" + "Msg" + "节点");
}
// Element patInfo = msg.element(Codes.PAT_INFO.getMessage());
// if(patInfo==null){
// throw new RuntimeException("没有"+Codes.PAT_INFO.getMessage()+"节点");
// }
Element element = msg.element(name);
if (element == null) {
return null;
}
//返回节点内容
return element.getText();
}
/**
* xmlmap
* @param xml
* @param map
* @return
*/
public static Map<String, String> parseXml2Map(String xml, Map<String, String> map) {
try {
SAXReader reader = new SAXReader();
Document doc = reader.read(new StringReader(xml));
Element root = doc.getRootElement();
String path = "";
if (map.containsKey(root.getName().trim())) {
path = map.get(root.getName().trim());
map.remove(root.getName().trim());
}
for (Iterator i = root.elementIterator(); i.hasNext();) {
Element element = (Element) i.next();
if (element.isTextOnly()) {
if (path.length() > 0) {
map.put(path + element.getName().trim(), element.getTextTrim());
} else {
map.put(element.getName().trim(), element.getTextTrim());
}
} else {
map.put(element.getName().trim(), path+ element.getName().trim() + ".");
parseXml2Map(element.asXML(), map);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
}

@ -84,6 +84,4 @@ public interface Power_UserService {
* @Description
* */
public Power_UserVo findPowerUserByUserNameAndRemark(Power_User powerUser);
List<Power_User> loadPosition();
}

@ -0,0 +1,13 @@
package com.manage.service;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface WeatherServiceInter {
@WebMethod
public String getWeatherByCityname(String name);
}

@ -1,6 +1,7 @@
package com.manage.service.cache;
import com.manage.vo.Power_UserVo;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
@ -154,4 +155,29 @@ public class CacheManager {
}
} catch (Exception ex) {}
}
/**
* idtoken
* @param userId
* @return
*/
public static String getCacheByUserId(Object userId) {
if (StringUtils.isBlank(String.valueOf(userId)))
return "";
String token = "";
try {
Iterator i = cacheMap.entrySet().iterator();
while (i.hasNext()) {
Map.Entry entry = (Map.Entry) i.next();
Cache cache = CacheManager.getCacheInfo((String)entry.getKey());
Power_UserVo o = (Power_UserVo)cache.getValue();
// 通过用户id获取缓存
if (userId.equals(o.getUserId())) {
token = (String) entry.getKey();
break;
}
}
} catch (Exception ex) {}
return token;
}
}

@ -755,15 +755,14 @@ public class PowerServiceImpl implements PowerService {
public List<PowerTree> getRolePowerTreeBySysFlag(String sysFlag,Power_User user) {
//根据系统标识查询科室id
List<Power_Sys_DictVo> dicts = new ArrayList<>();
dicts = sysDictMapper.selectAllByAdmin();
// if(user.getRoleId() == 0){
// dicts = sysDictMapper.selectAllByAdmin();
// }/*else if(user.getRoleId() == -100){
// dicts = sysDictMapper.selectAllByHosRoleId(user.getUserId());
// }*/else{
// dicts = sysDictMapper.selectAllByHosRoleId(user.getUserId(),user.getRoleId(),null);
// //dicts = sysDictMapper.selectAllByUserId(user.getUserId());
// }
if(user.getRoleId() == 0){
dicts = sysDictMapper.selectAllByAdmin();
}/*else if(user.getRoleId() == -100){
dicts = sysDictMapper.selectAllByHosRoleId(user.getUserId());
}*/else{
dicts = sysDictMapper.selectAllByHosRoleId(user.getUserId(),user.getRoleId(),null);
//dicts = sysDictMapper.selectAllByUserId(user.getUserId());
}
//获取用户集合
List<Power_Sys_DictVo> userList = new ArrayList<>();
List<PowerTree> treeList = new ArrayList<>();

@ -235,9 +235,4 @@ public class Power_UserServiceImpl implements Power_UserService {
return powerUserMapper.findPowerUserByUserNameAndRemark(powerUser);
}
@Override
public List<Power_User> loadPosition() {
return powerUserMapper.loadPosition();
}
}

@ -0,0 +1,11 @@
package com.manage.service.ipml;
import com.manage.service.WeatherServiceInter;
public class WeatherServiceInterImpl implements WeatherServiceInter {
@Override
public String getWeatherByCityname(String name) {
System.out.println(name+"");
return name+"";
}
}
Loading…
Cancel
Save