更新版本20201225

master
zengwh 5 years ago
parent c6090903cb
commit 7af5ab4a75

Binary file not shown.

@ -19,30 +19,14 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 跳过 必须依赖正式版本的检查 -->
<skipRequireRelease>true</skipRequireRelease>
<!-- begin 框架版本 -->
<framework.version>1.0.0</framework.version>
<!-- end -->
<!-- begin 其它第三方开源版本定义 -->
<portable.maven.version>1.1.5</portable.maven.version>
<junit.version>4.12</junit.version>
<jdk.version>1.8</jdk.version>
<mockito.version>1.9.5</mockito.version>
<!--<spring.version>3.2.2.RELEASE</spring.version>-->
<shiro.version>1.2.2</shiro.version>
<quartz.version>2.2.1</quartz.version>
<jetty.version>7.6.11.v20130520</jetty.version>
<servlet.version>2.4</servlet.version>
<jsp.version>2.1</jsp.version>
<jstl.version>1.2</jstl.version>
<c3p0.version>0.9.5.2</c3p0.version>
<hibernate-validator.version>5.0.1.Final</hibernate-validator.version>
<postgresql.version>9.2-1004-jdbc4</postgresql.version>
<activiti.version>5.17.0</activiti.version>
<groovy.version>2.3.6</groovy.version>
<aliyun-sdk-oss.version>2.2.1</aliyun-sdk-oss.version>
<alipay-sdk.version>1.1.1</alipay-sdk.version>
<bropen-api.version>3.5.0</bropen-api.version>
<spring.version>5.0.2.RELEASE</spring.version>
<mybatis.version>3.2.8</mybatis.version>
<mybatis.spring.version>1.2.2</mybatis.spring.version>
@ -53,17 +37,13 @@
<jackson.version>2.9.4</jackson.version>
<druid.version>1.0.9</druid.version>
<httpclient.version>4.3.5</httpclient.version>
<servlet-api.version>2.5</servlet-api.version>
<jsp-api.version>2.0</jsp-api.version>
<joda-time.version>2.5</joda-time.version>
<commons-lang3.version>3.3.2</commons-lang3.version>
<commons-io.version>1.3.2</commons-io.version>
<commons-net.version>3.3</commons-net.version>
<pagehelper.version>3.4.3</pagehelper.version>
<jsqlparser.version>0.9.1</jsqlparser.version>
<commons-fileupload.version>1.3.1</commons-fileupload.version>
<jedis.version>2.7.2</jedis.version>
<solrj.version>4.10.3</solrj.version>
<aspectj.version>1.8.13</aspectj.version>
<aspectjrt.version>1.8.13</aspectjrt.version>
<image2pdf.version>2.1.7</image2pdf.version>
@ -182,27 +162,6 @@
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<!-- Hex -->
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<!-- 导入DES对称加密包 -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk16</artifactId>
<version>1.46</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-dbutils/commons-dbutils -->
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.4</version>
</dependency>
<!-- 引入pageHelper分页插件 -->
<dependency>
@ -215,11 +174,6 @@
<artifactId>jstl</artifactId>
<version>${jstl.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet-api.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
@ -231,12 +185,6 @@
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload.version}</version>
</dependency>
<!-- Redis客户端 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
<!-- SECURITY begin :进行用户认证以及授予权限的时候,通过各种各样的拦截器来控制权限的访问,从而实现安全 -->
<dependency>
<groupId>org.apache.shiro</groupId>
@ -274,11 +222,6 @@
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<!--json-->
<dependency>
<groupId>net.sf.json-lib</groupId>
@ -292,26 +235,8 @@
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<!--简化单元测试的书写-->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<!--非web项目实现文件下载使用apache的httpmime工具进行相关的http请求操作-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.5</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</dependency>
<!--apache poi-->
<dependency>
<groupId>org.apache.poi</groupId>
@ -396,6 +321,11 @@
<artifactId>mssql-jdbc</artifactId>
<version>8.4.1.jre8</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4.0-atlassian-hosted</version>
</dependency>
</dependencies>
<build>

@ -1,18 +1,28 @@
package com.emr.controller;
import com.emr.entity.OracleEntity;
import com.emr.service.Archive_MasterService;
import com.emr.service.ipml.TPrintinfoService;
import com.emr.util.Msg;
import javafx.scene.shape.Arc;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.List;
@Controller
@RequestMapping("font/")
public class FontController {
@Autowired
private TPrintinfoService printinfoService;
@Autowired
private Archive_MasterService masterService;
@RequestMapping("selectIsPrintByPatienId")
@ResponseBody
public Msg selectIsPrintByPatienId(String patientId){
@ -26,4 +36,42 @@ public class FontController {
return Msg.fail("查询失败");
}
}
/**
* his oracle
* @param patientIds
* @return
*/
@RequestMapping(value="selectPaperPatiendIdList",method = RequestMethod.POST)
@ResponseBody
public Msg selectPaperPatiendIdList(String patientIds) throws Exception{
List<OracleEntity> list = masterService.selectPaperPatiendIdList(patientIds);
List<String> fpatnosList = getFpatnosByList(list);
return Msg.success().add("fpatnosList",fpatnosList);
}
private List<String> getFpatnosByList(List<OracleEntity> list) {
List<String> returnList = new ArrayList<>();
if(!CollectionUtils.isEmpty(list)){
for(OracleEntity obj : list){
if(StringUtils.isNotBlank(obj.getFpatno())){
returnList.add(obj.getFpatno());
}
}
}
return returnList;
}
/**
* his oracle
* @param patientIds
* @return
*/
@RequestMapping(value="selectCallBackPatiendIdList",method = RequestMethod.POST)
@ResponseBody
public Msg selectCallBackPatiendIdList(String patientIds) throws Exception{
List<OracleEntity> list = masterService.selectCallBackPatiendIdList(patientIds);
List<String> fpatnosList = getFpatnosByList(list);
return Msg.success().add("fpatnosList",fpatnosList);
}
}

@ -104,7 +104,7 @@ public class beHospitaledController {
@RequestMapping(value = "/updateStateByArchivId")
public String updateStateByArchivId(Emr_Fault_Detail emrFaultDetail) {
String result = "";
//result = checkSuccessMethod(emrFaultDetail.getArchiveDetailId());
result = checkSuccessMethod(emrFaultDetail.getArchiveDetailId());
// 从session获取用户名
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();

@ -61,7 +61,7 @@ public class lastVerifyController {
@Autowired
private EmrPaperPositionInfoServer paperPositionInfoServer;
@RequestMapping(value = "/lastVerifys")
public String faults(Model model) {
public String faults() {
return "lastVerifyDir/lastVerifyList";
}

@ -0,0 +1,13 @@
package com.emr.dao1;
import com.emr.entity.OracleEntity;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface OracleMapper {
List<OracleEntity> selectPaperPatiendIdList(@Param("fpatno")String fpatno);
List<OracleEntity> selectCallBackPatiendIdList(@Param("fpatno")String fpatno);
}

@ -0,0 +1,20 @@
package com.emr.entity;
import lombok.Data;
/**
* @ProjectName:
* @Description:
* @Param
* @Return
* @Author:
* @CreateDate: 2020/12/24 17:07
* @UpdateUser:
* @UpdateDate: 2020/12/24 17:07
* @UpdateRemark:
* @Version: 1.0
*/
@Data
public class OracleEntity {
private String fpatno;
}

@ -9,6 +9,7 @@ package com.emr.service;
import com.emr.entity.Archive_Master;
import com.emr.entity.Archive_Master_Vo;
import com.emr.entity.OffsetLimitPage;
import com.emr.entity.OracleEntity;
import java.util.List;
@ -77,6 +78,9 @@ public interface Archive_MasterService {
OffsetLimitPage selectByLast(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit);
List<OracleEntity> selectPaperPatiendIdList(String patientIds);
List<OracleEntity> selectCallBackPatiendIdList(String patientIds);
/**
*

@ -7,14 +7,11 @@
package com.emr.service.ipml;
import com.emr.dao.Archive_MasterMapper;
import com.emr.entity.Archive_Master;
import com.emr.entity.Archive_Master_Vo;
import com.emr.entity.Emr_Dictionary;
import com.emr.entity.OffsetLimitPage;
import com.emr.dao1.OracleMapper;
import com.emr.entity.*;
import com.emr.service.Archive_MasterService;
import com.emr.service.Emr_DictionaryService;
import com.emr.util.ExceptionPrintUtil;
import com.emr.util.OracleConnect;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.commons.lang3.StringUtils;
@ -22,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
@Service
@ -33,10 +31,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
@Autowired
private Emr_DictionaryService emrDictionaryService;
@Autowired
private OracleMapper oracleMapper;
@Override
public OffsetLimitPage selectByCol(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
//archiveMasterVo.setDeptAdmissionTo("20050102,20070102");
List<Archive_Master> list= archiveMasterMapper.selectByCol(archiveMasterVo);
return new OffsetLimitPage((Page) list);
}
@ -125,21 +124,16 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
patientIdsBuilder.append("'").append(master.getPatientId()).append("'");
}
//查询纸质签收状态
String paperStatusSql = "select fpatno from pacs.v_emrconfirm where fcomf_dt is not null and fpatno in ("+patientIdsBuilder.toString()+")";
//查询his召回状态
String callBackStatusSql = "select fpatno from pacs.v_emrreturn_apply where fpatno in ("+patientIdsBuilder.toString()+")";
List<String> paperPatiendIds = null;
List<String> callBackPatiendIds = null;
/*try {
//查询纸质签收状态
paperPatiendIds = OracleConnect.select2(paperStatusSql);
//查询his召回状态
callBackPatiendIds = OracleConnect.select2(callBackStatusSql);
List<OracleEntity> paperPatiendIds = new ArrayList<>();
List<OracleEntity> callBackPatiendIds = new ArrayList<>();
try {
//查询纸质签收和召回状态
paperPatiendIds = this.selectPaperPatiendIdList(patientIdsBuilder.toString());
callBackPatiendIds = this.selectCallBackPatiendIdList(patientIdsBuilder.toString());
}catch (Exception e){
e.printStackTrace();
ExceptionPrintUtil.printException(e);
}*/
}
//查询科室集合
Emr_Dictionary dictionary = new Emr_Dictionary();
dictionary.setTypecode("dept_code");
@ -163,8 +157,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
master.setCallBackStatus("未召回");
//设置纸质签收状态
if(!CollectionUtils.isEmpty(paperPatiendIds)){
for(String paperPatientId : paperPatiendIds){
if(paperPatientId.equals(patientId)){
for(OracleEntity paperPatientId : paperPatiendIds){
if(paperPatientId.getFpatno().equals(patientId)){
master.setPaperStatus("已签收");
break;
}
@ -172,9 +166,9 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
//设置召回状态
if(!CollectionUtils.isEmpty(callBackPatiendIds)){
for(String callBackPatientId : callBackPatiendIds){
if(callBackPatientId.equals(patientId)){
master.setPaperStatus("已召回");
for(OracleEntity callBackPatientId : callBackPatiendIds){
if(callBackPatientId.getFpatno().equals(patientId)){
master.setCallBackStatus("已召回");
break;
}
}
@ -189,6 +183,26 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
}
/**
*his oracle
* @param patientIds
* @return
*/
@Override
public List<OracleEntity> selectPaperPatiendIdList(String patientIds){
return oracleMapper.selectPaperPatiendIdList(patientIds);
}
/**
*his oracle
* @param patientIds
* @return
*/
@Override
public List<OracleEntity> selectCallBackPatiendIdList(String patientIds){
return oracleMapper.selectCallBackPatiendIdList(patientIds);
}
@Override
public int updateByClo(Archive_Master record) {
return archiveMasterMapper.updateByClo(record);

@ -6,7 +6,6 @@
*/
package com.emr.service.ipml;
import com.emr.dao.Emr_Archive_DetailMapper;
import com.emr.dao.Emr_DictionaryMapper;
import com.emr.entity.Emr_Dictionary;
import com.emr.service.Emr_DictionaryService;

@ -4,6 +4,8 @@ package com.emr.util;
import com.emr.vo.HisCollectInfo;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import java.sql.*;
import java.util.ArrayList;
@ -35,6 +37,10 @@ public class OracleConnect {
dataSourceTest.setDriverClass("oracle.jdbc.driver.OracleDriver");
dataSourceTest.setUser("pacs");
dataSourceTest.setPassword("pacs");
/*dataSourceTest.setJdbcUrl("jdbc:oracle:thin:@localhost:1521/ORCL");
dataSourceTest.setDriverClass("oracle.jdbc.driver.OracleDriver");
dataSourceTest.setUser("docus");
dataSourceTest.setPassword("docus702");*/
dataSourceTest.setInitialPoolSize(3);
dataSourceTest.setMaxPoolSize(10);
}
@ -136,6 +142,32 @@ public class OracleConnect {
return list;
}
public static Map<String, List<String>> select3(String arg0, List<String> fieldList) throws Exception{
System.out.println(arg0);
Connection conn = new OracleConnect().getConnect();
pst = conn.prepareStatement(arg0);
rs = pst.executeQuery();
Map<String, List<String>> map = new HashMap<>();
ResultSet rs1 = rs;
if(rs.next()) {
for (int i = 0;i<fieldList.size();i++){
List<String> list = new ArrayList<>();
while (rs1.next()) {
String value = rs.getString(i + 1);
if(StringUtils.isNotBlank(value)){
list.add(value);
}
}
if(!CollectionUtils.isEmpty(list)) {
map.put(fieldList.get(i), list);
}
}
}
OracleConnect.CloseConn(rs, pst, conn);
return map;
}
public static int insert(String sql) throws Exception {
Connection conn = new OracleConnect().getConnect();
try {

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti="http://activiti.org/bpmn" targetNamespace="Examples"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL
http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
<process id="leave_process" name="某公司请假流程">
<startEvent id="leave" name="请假申请"></startEvent>
<userTask id="dept_manager" name="部门经理审批"></userTask>
<userTask id="boss" name="总经理审批"></userTask>
<userTask id="hr" name="HR审批"></userTask>
<sequenceFlow id="flow1" sourceRef="leave" targetRef="dept_manager"></sequenceFlow>
<sequenceFlow id="flow2" sourceRef="dept_manager" targetRef="boss">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${day >= 3}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow3" sourceRef="boss" targetRef="hr"></sequenceFlow>
<sequenceFlow id="flow4" sourceRef="dept_manager" targetRef="hr">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${day < 3}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow5" sourceRef="hr" targetRef="end"></sequenceFlow>
<endEvent id="end" name="结束"></endEvent>
</process>
</definitions>

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:property-placeholder location="classpath:config/jdbc.properties" />
<!--<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">-->
<!--<property name="databaseSchemaUpdate" value="drop-create"/>-->
<!--&lt;!&ndash;<property name="jdbcUrl" value="jdbc:postgresql://127.0.0.1/db_cloud"/>-->
<!--<property name="jdbcDriver" value="org.postgresql.Driver"/>-->
<!--<property name="jdbcUsername" value="admin"/>-->
<!--<property name="jdbcPassword" value="root"/>&ndash;&gt;-->
<!--<property name="jdbcUrl" value="${jdbc.url}"/>-->
<!--<property name="jdbcDriver" value="${jdbc.driver}"/>-->
<!--<property name="jdbcUsername" value="${jdbc.username}"/>-->
<!--<property name="jdbcPassword" value="${jdbc.password}"/>-->
<!--<property name="jobExecutorActivate" value="true"/>-->
<!--</bean>-->
</beans>

@ -1,65 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager"/>
<property name="loginUrl" value="/index"/><!--登录页面,-->
<property name="successUrl" value="/index.jsp"/><!--登录成功页面,如果自己设置了返回页面,则不跳转-->
<property name="unauthorizedUrl" value="/error"/><!-- 没有权限跳转的地址 -->
<property name="filterChainDefinitions">
<value>
/toLogin=anon <!--表示都可以访问-->
/static/**=anon <!--表示都可以访问-->
/error=authc
/test=anon
/login=anon
/home=perms[home] <!--perms表示需要该权限才能访问的页面-->
/admin=roles["admin"] <!-- roles["admin,user"] 只有拥有admin角色的用户才可访问同时需要拥有多个角色的话用引号引起来中间用逗号隔开-->
<!--/admin=anon-->
/**=authc <!--authc表示需要认证才能访问的页面-->
</value>
</property>
</bean>
<!-- 自定义Realm -->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="MyRealm"/>
</bean>
<!-- 注入到自定义Realm -->
<bean id="MyRealm" class="com.emr.shiro.MyRealm">
<!-- 定义凭证匹配器 -->
<!-- <property name="credentialsMatcher" ref="credentialsMatcher"></property>-->
</bean>
<!--第一步:直接配置一个 securityManager -->
<!--<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">-->
<!--&lt;!&ndash;刚配置时先把这条注释掉等后面写了MyRealm.java时再把它的注释去掉因为如果没有去掉就会在-->
<!--tomcat开启时报一个错误 &ndash;&gt;-->
<!--&lt;!&ndash;<property name="realm" ref="myRealm" /> &ndash;&gt;-->
<!--</bean>-->
<!--<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>-->
<!--&lt;!&ndash; 第三步:把请求路径拦截之后的处理 &ndash;&gt;-->
<!--<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">-->
<!--&lt;!&ndash;shiro整个的处理都由securityManger指定和决定 &ndash;&gt;-->
<!--<property name="securityManager" ref="securityManager"/>-->
<!--&lt;!&ndash; loginUrl==>如果登录成功,跳转到哪个页面,或者执行哪个请求 &ndash;&gt;-->
<!--<property name="loginUrl" value="/login.jsp"/>-->
<!--&lt;!&ndash; 验证通过执行的请求或者跳转 &ndash;&gt;-->
<!--<property name="successUrl" value="/home.jsp"/>-->
<!--&lt;!&ndash; 验证不通过执行的请求或者跳转 &ndash;&gt;-->
<!--<property name="unauthorizedUrl" value="/unauthorized.jsp"/>-->
<!--&lt;!&ndash; 具体的拦截路径和拦截的方式和角色和权限的范围 &ndash;&gt;-->
<!--<property name="filterChainDefinitions">-->
<!--<value>-->
<!--</value>-->
<!--</property>-->
<!--</bean>-->
</beans>

@ -65,42 +65,73 @@
<property name = "logAbandoned" value = "${logAbandoned}" />
</bean>
<bean id="dataSource1" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver1}"/> <!--数据库连接驱动-->
<property name="url" value="${jdbc.url1}"/> <!--数据库地址-->
<property name="username" value="${jdbc.username1}"/> <!--用户名-->
<property name="password" value="${jdbc.password1}"/> <!--密码-->
<property name = "filters" value = "${filters}" />
<!-- 最大并发连接数 -->
<property name = "maxActive" value = "${maxActive}" />
<!-- 初始化连接数量 -->
<property name = "initialSize" value = "${initialSize}" />
<!-- 配置获取连接等待超时的时间 -->
<property name = "maxWait" value = "${maxWait}" />
<!-- 最小空闲连接数 -->
<property name = "minIdle" value = "${minIdle}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name = "timeBetweenEvictionRunsMillis" value ="${timeBetweenEvictionRunsMillis}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name = "minEvictableIdleTimeMillis" value ="${minEvictableIdleTimeMillis}" />
<property name = "validationQuery" value = "${validationQuery}" />
<property name = "testWhileIdle" value = "${testWhileIdle}" />
<property name = "testOnBorrow" value = "${testOnBorrow}" />
<property name = "testOnReturn" value = "${testOnReturn}" />
<property name = "maxOpenPreparedStatements" value ="${maxOpenPreparedStatements}" />
<!-- 打开 removeAbandoned 功能 -->
<property name = "removeAbandoned" value = "${removeAbandoned}" />
<!-- 1800 秒,也就是 30 分钟 -->
<property name = "removeAbandonedTimeout" value ="${removeAbandonedTimeout}" />
<!-- 关闭 abanded 连接时输出错误日志 -->
<property name = "logAbandoned" value = "${logAbandoned}" />
</bean>
<!-- ====================== 配置和MyBatis的整合 ======================== -->
<!--配置session工厂MyBatis的整合-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 指定mybatis全局配置文件的位置 -->
<property name="configLocation" value="classpath:config/mybatis-config.xml"></property>
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:config/mybatis-config.xml"/>
<property name="dataSource" ref="dataSource"/>
<!-- 指定mybatis,mapper文件的位置 -->
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
<!-- mapper扫描 -->
<!-- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
<property name="basePackage" value="com.emr.dao"></property>
</bean>-->
<bean id="sqlSessionFactory1" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 指定mybatis全局配置文件的位置 -->
<property name="configLocation" value="classpath:config/mybatis-config.xml"/>
<property name="dataSource" ref="dataSource1"/>
<!-- 指定mybatis,mapper文件的位置 -->
<property name="mapperLocations" value="classpath:mapper1/*.xml"/>
</bean>
<!-- 配置扫描器将mybatis接口的实现加入到IOC容器中 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!-- 扫描所有的dao接口的实现加入到ioc容器 -->
<property name="basePackage" value="com.emr.dao"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory1"/>
<!-- 扫描所有的dao接口的实现加入到ioc容器 -->
<property name="basePackage" value="com.emr.dao"></property>
<property name="basePackage" value="com.emr.dao1"/>
</bean>
<!-- 配置一个可以执行批量的sqlSession -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
<constructor-arg name="executorType" value="BATCH"></constructor-arg>
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
<constructor-arg name="executorType" value="BATCH"/>
</bean>
<!-- ====================== 事物管理器配置 ======================== -->
<!-- 事物管理器配置 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
@ -128,37 +159,17 @@
</tx:attributes>
</tx:advice>
<!-- Spring配置文件的核心点数据源、与 mybatis的整合事务控制 -->
<!-- 事务扫描开始(开启@Tranctional) -->
<!-- <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/> -->
<!-- 使用annotation定义事务 -->
<!-- <tx:annotation-driven transaction-manager="transactionManager"/> -->
<!-- 定义切面功能 -->
<!-- <aop:aspectj-autoproxy />-->
<!--<context:annotation-config></context:annotation-config>-->
<!-- 启用aop -->
<!--<aop:aspectj-autoproxy proxy-target-class="true"/>-->
<!-- 配置启用Shiro的注解功能 -->
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
depends-on="lifecycleBeanPostProcessor">
<property name="proxyTargetClass" value="true"></property>
<property name="proxyTargetClass" value="true"/>
</bean>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager"/>
</bean>
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<!--<property name="realm" ref="userRealm"/>
<property name="sessionManager" ref="sessionManager"/>
<property name="rememberMeManager" ref="rememberMeManager"/>
<property name="cacheManager" ref="customShiroCacheManager"/>-->
</bean>
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"/>
<!-- 上传文件 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
@ -169,12 +180,6 @@
<property name="maxUploadSize" value="-1"/>
</bean>
<!-- 自定义拦截器 -->
<!--<bean id="login" class="com.common.shiro.filter.LoginFilter"/>-->
<!-- Shiro生命周期处理器-->
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
</beans>

@ -1,20 +0,0 @@
#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.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc\:sqlserver\://120.27.212.36:1433;databaseName=emr_record
jdbc.username=sa
jdbc.password=docus@702
#jdbc.driverLocation=D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\WEB-INF\\lib\\sqljdbc4-2.0.jar
#\u6267\u884C:\u53F3\u952E Run As ---->Maven build ---->Goals:mybatis-generator:generate
#\u8F93\u51FA\u76EE\u5F55
targetProject=src/main/java
#modelPackage,sqlMapperPackage,daoMapperPackage \u901A\u5E38\u4E00\u81F4\u0090\u008D
modelPackage=com.emr.entity
daoMapperPackage=com.emr.dao
#\u8F93\u51FA\u76EE\u5F55
targetProject2=src/main/resources
sqlMapperPackage=mapper

@ -1,20 +1,33 @@
#\u6570\u636E\u5E93IP
dataBaseIp=localhost
#dataBaseIp=localhost
###\u6570\u636E\u5E93\u540D\u79F0
#dataBaseName=yd_record
##\u6570\u636E\u5E93\u5BC6\u7801
#dataBasePassword=docus702
#\u6570\u636E\u5E93IP
dataBaseIp=10.36.116.108
#\u6570\u636E\u5E93\u540D\u79F0
dataBaseName=yd_record
dataBaseName=emr_record
#\u6570\u636E\u5E93\u5BC6\u7801
dataBasePassword=docus702
##\u6570\u636E\u5E93\u540D\u79F0
#dataBaseName=emr_record
##\u6570\u636E\u5E93\u5BC6\u7801
#dataBasePassword=xjgs+docus911
dataBasePassword=xjgs+docus911
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc\:sqlserver\://${dataBaseIp}:1433;databaseName=${dataBaseName}
jdbc.username=sa
jdbc.password=${dataBasePassword}
#oracle
#jdbc.url1=jdbc:oracle:thin:@localhost:1521/ORCL
#jdbc.username1=docus
#jdbc.password1=docus702
jdbc.url1=jdbc:oracle:thin:@192.168.10.6:1521/orc1
jdbc.username1=pacs
jdbc.password1=pacs
jdbc.driver1=oracle.jdbc.driver.OracleDriver
filters: stat
maxActive: 20
initialSize: 1
@ -38,7 +51,7 @@ powerUrl=http://localhost:8080/power/font/getMenusByUserIdAndSysFlag
POWER_URLHEAD=http://localhost:8080/power
POWER_JSP=http://localhost:8080/power
recallReason=\u533B\u9662\u9700\u8981\u8FD9\u4EFD\u6587\u6863
HomepageDictionary=http://10.36.116.108:8080/filing/services/HomepageDictionary?wsdl
HomepageDictionary=http://10.36.116.108:8080/WholeCheckInterface/services/HomepageDictionary?wsdl
HomepageMethod=CheckData

@ -1,38 +0,0 @@
#Debug,info,warning,error
#log4j.rootLogger=debug,stdout,logfile
#log4j.addivity.org.apache=true
# \u5E94\u7528\u4E8E\u63A7\u5236\u53F0
#log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
#log4j.appender.Threshold=DEBUG
#log4j.appender.CONSOLE.Target=System.out
#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %l %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %X{ClientIPAddress} %c{1}(%M) %L %m%n
#log4j.appender.FILE=org.apache.log4j.FileAppender
#log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.FILE.BufferSize=10
#log4j.appender.FILE.File=C\:\\Users\\WQ\\webApp-Logs\\log4j.Log
#log4j.appender.FILE.File=logs/customer.log
#log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.FILE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %X{ClientIPAddress} %l %m%n
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
#log4j.logger.com.ibatis=DEBUG
#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
#log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
#log4j.logger.Java.sql.Connection=DEBUG
#log4j.logger.java.sql.Statement=DEBUG
#log4j.logger.java.sql.PreparedStatement=DEBUG
# General Apache libraries
#log4j.logger.org.apache=WARN
# Spring
#log4j.logger.org.springframework=WARN
# Default Shiro logging
#log4j.logger.org.apache.shiro=TRACE
# Disable verbose logging
#log4j.logger.org.apache.shiro.util.ThreadContext=WARN
#log4j.logger.org.apache.shiro.cache.ehcache.EhCache=WARN

@ -1,73 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logbackdemo</contextName>
<property name="logback.logdir" value="d:\\logs\\emr_medical_record"/>
<property name="logback.appname" value="threadLog"/>
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--如果只是想要 Info 级别的日志,只是过滤 info 还是会输出 Error 日志,因为 Error 的级别高,
所以我们使用下面的策略,可以避免输出 Error 的日志-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!--过滤 Error-->
<level>ERROR</level>
<!--匹配到就禁止-->
<onMatch>DENY</onMatch>
<!--没有匹配到就允许-->
<onMismatch>ACCEPT</onMismatch>
</filter>
<!--日志名称如果没有File 属性那么只会使用FileNamePattern的文件路径规则
如果同时有<File><FileNamePattern>,那么当天日志是<File>,明天会自动把今天
的日志改名为今天的日期。即,<File> 的日志都是当天的。
-->
<File>${logback.logdir}/info.${logback.appname}.log</File>
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
<FileNamePattern>${logback.logdir}/info.${logback.appname}.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--只保留最近90天的日志-->
<maxHistory>90</maxHistory>
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
<!--<totalSizeCap>1GB</totalSizeCap>-->
</rollingPolicy>
<!--日志输出编码格式化-->
<encoder>
<charset>UTF-8</charset>
<pattern>%d [%thread] %-5level %logger{36} %line - %msg%n</pattern>
</encoder>
</appender>
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--如果只是想要 Error 级别的日志,那么需要过滤一下,默认是 info 级别的ThresholdFilter-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>Error</level>
</filter>
<!--日志名称如果没有File 属性那么只会使用FileNamePattern的文件路径规则
如果同时有<File><FileNamePattern>,那么当天日志是<File>,明天会自动把今天
的日志改名为今天的日期。即,<File> 的日志都是当天的。
-->
<File>${logback.logdir}/error.${logback.appname}.log</File>
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
<FileNamePattern>${logback.logdir}/error.${logback.appname}.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--只保留最近90天的日志-->
<maxHistory>90</maxHistory>
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
<!--<totalSizeCap>1GB</totalSizeCap>-->
</rollingPolicy>
<!--日志输出编码格式化-->
<encoder>
<charset>UTF-8</charset>
<pattern>%d [%thread] %-5level %logger{36} %line - %msg%n</pattern>
</encoder>
</appender>
<!--指定最基础的日志输出级别-->
<root level="INFO">
<!--appender将会添加到这个loger-->
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>

@ -1,109 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!-- 该配置文件说明插件需要如何生成,以及生成对应的包名,路径等信息。
还有重要的就是我们要生成的实体类所对应的的表或者试图 -->
<generatorConfiguration>
<properties resource="config/gennerator.properties" />
<classPathEntry location="${jdbc.driverLocation}"/>
<context id="MBG" targetRuntime="MyBatis3">
<!-- 注意以下标签的顺序:property*,plugin*,commentGenerator?,jdbcConnection,
javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,
javaClientGenerator?,table+ -->
<!-- <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" /> -->
<!-- 这个插件给由MBG生成的Java模型对象增加了equals和hashCode方法 -->
<!-- <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/> -->
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<!-- 该属性仅在确实需要进行合并而不是覆盖的情况下使用且值要求为true -->
<property name="mergeable" value="true"></property>
<commentGenerator>
<!-- 是否去除自动生成的注释 true false:否 -->
<property name="suppressAllComments" value="true"/>
<!-- 不希望生成的注释中包含时间戳 -->
<property name="suppressDate" value="true" />
<!-- 是否 自动为每一个生成的类创建一个构造方法-->
<property name="constructorBased" value="true"/>
<!--分页参数合理化-->
<!--<property name="reasonable" value="true"/> -->
<property name="validationQuery" value="select * from dual"/>
</commentGenerator>
<!-- 数据库连接 -->
<jdbcConnection
driverClass="${jdbc.driver}"
connectionURL="${jdbc.url}"
userId="${jdbc.username}"
password="${jdbc.password}">
</jdbcConnection>
<!-- 指定生成的类型为java类型避免数据库中number等类型字段 -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成model模型对应的包存放位置可以指定具体的路径,如/ProjectName/src也可以使用MAVEN来自动生成 -->
<javaModelGenerator targetPackage="${modelPackage}" targetProject="${targetProject}">
<!-- 在targetPackage的基础上根据数据库的schema再生成一层package最终生成的类放在这个package下默认为false -->
<property name="enableSubPackages" value="true"/>
<!-- 设置是否在getter方法中对String类型字段调用trim()方法 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--对应的xml mapper文件 -->
<sqlMapGenerator targetPackage="${sqlMapperPackage}" targetProject="${targetProject2}" >
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 对应的dao接口 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="${daoMapperPackage}" targetProject="${targetProject}" >
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 表名对应生成的实体 -->
<!-- <table tableName="T_Role_Menu" domainObjectName="T_Role_Menu" /> -->
<!-- enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"> 指定是否生成操作数据库对应的方法 -->
<!--<table tableName="T_User" domainObjectName="T_User"/>-->
<!--<table tableName="T_Role" domainObjectName="T_Role"/>-->
<!-- <table tableName="T_User" domainObjectName="T_User" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>
<table tableName="T_Role_Menu" domainObjectName="T_Role_Menu" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>
<table tableName="T_Role" domainObjectName="T_Role" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>
<table tableName="T_Menu" domainObjectName="T_Menu" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>-->
<!-- <table tableName="T_Menu" domainObjectName="T_Menu" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>-->
<!--<table tableName="Paper" domainObjectName="Paper" enableCountByExample="false" enableUpdateByExample="false"-->
<!--enableDeleteByExample="false" enableSelectByExample="false"-->
<!--selectByExampleQueryId="false"/>-->
<!--<table tableName="Archive_Master" domainObjectName="Archive_Master" enableCountByExample="false" enableUpdateByExample="false"-->
<!--enableDeleteByExample="false" enableSelectByExample="false"-->
<!--selectByExampleQueryId="false"/>-->
<!--<table tableName="Archive_Detail" domainObjectName="Archive_Detail" enableCountByExample="false"-->
<!--enableUpdateByExample="false"-->
<!--enableDeleteByExample="false" enableSelectByExample="false"-->
<!--selectByExampleQueryId="false"/>-->
<!--<table tableName="Emr_Archive_Detail" domainObjectName="Emr_Archive_Detail" enableCountByExample="false"-->
<!--enableUpdateByExample="false"-->
<!--enableDeleteByExample="false" enableSelectByExample="false"-->
<!--selectByExampleQueryId="false"/>-->
<!--<table tableName="Emr_Fault_Detail" domainObjectName="Emr_Fault_Detail" enableCountByExample="false"-->
<!--enableUpdateByExample="false"-->
<!--enableDeleteByExample="false" enableSelectByExample="false"-->
<!--selectByExampleQueryId="false"/>-->
<!--<table tableName="Emr_Picture" domainObjectName="Emr_Picture" enableCountByExample="false"-->
<!--enableUpdateByExample="false"-->
<!--enableDeleteByExample="false" enableSelectByExample="false"-->
<!--selectByExampleQueryId="false"/>-->
<table tableName="Emr_Fault_Type" domainObjectName="Emr_Fault_Type" enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>
</context>
</generatorConfiguration>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.emr.dao1.OracleMapper">
<resultMap id="BaseResultMap" type="com.emr.entity.OracleEntity">
</resultMap>
<!--纸质签收状态-->
<select id="selectPaperPatiendIdList" resultMap="BaseResultMap">
select fpatno from v_emrconfirm where fcomf_dt is not null and fpatno in (${fpatno})
</select>
<!--召回状态-->
<select id="selectCallBackPatiendIdList" resultMap="BaseResultMap">
select fpatno from v_emrreturn_apply where fpatno in (${fpatno})
</select>
</mapper>

@ -1,31 +0,0 @@
package java.com.emr;
import com.emr.dao.PaperDao;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:config/applicationContext.xml"})
public class MapperTest {
@Autowired
Archive_MasterMapper archive_MasterMapper;
/**
* mapper
*/
@Test
public void testCRUD(){
//1、创建SpringIOC容器
ApplicationContext ioc=new FileSystemXmlApplicationContext("classpath:config/applicationContext.xml");
Archive_MasterMapper archive_MasterMapper=ioc.getBean(Archive_MasterMapper.class);
System.out.println(archive_MasterMapper);
System.out.println(123);
}
}

@ -1,10 +0,0 @@
<script type="text/javascript" src="${path}/static/js/jquery-3.2.1.js"></script>
<script type="text/javascript" src="${path}/static/js/jquery-3.2.1.min.js"></script>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/bower_components/bootstrap/dist/css/bootstrap.min.css"/>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/dist/bootstrap-table.css"/>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/src/extensions/page-jump/bootstrap-table-pagejump.css"/>
<script src="${path}/static/bootstrap-3.3.7/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript"
src="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/dist/bootstrap-table.js"></script>
<script src="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/src/extensions/page-jump/bootstrap-table-pagejump.js"></script>
<script src="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/src/locale/bootstrap-table-zh-CN.js"></script>

@ -1707,8 +1707,8 @@
events: {
'click .verifyInfo': function (e, value, row, index) {
//查询his判断医生护士是否全部提交
var result = 1;
//var result = selectHis(row);
//var result = 1;
var result = selectHis(row);
if (result == 1) {
$('#verifyModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。

File diff suppressed because it is too large Load Diff

@ -329,7 +329,7 @@
</div>
<footer class="main-footer">
<div class="pull-right hidden-xs">
<b>Version</b> 20201119
<b>Version</b> 20201225
</div>
<strong>Copyright &copy; 2019-2090 厦门嘉时软件.</strong> All rights
reserved.

@ -1,45 +0,0 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String path = request.getContextPath();
%>
<!DOCTYPE HTML>
<html>
<head>
<title>首页</title>
<style type="text/css">
a {
text-decoration: none;
color: black;
font-size: 18px;
}
h3 {
width: 180px;
height: 38px;
margin: 100px auto;
text-align: center;
line-height: 38px;
background: deepskyblue;
border-radius: 4px;
}
</style>
</head>
<body>
<div class="container">
<div class="row clearfix">
<div class="col-md-12 column">
<div class="page-header">
<h1>
基于SSM框架的管理系统简单实现增、删、改、查。
</h1>
</div>
</div>
</div>
</div>
<br><br>
<h3>
<a href="${path}/emr_medical_record/paper/allPaper">点击进入管理页面</a>
</h3>
</body>
</html>

@ -1,198 +0,0 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="X-UA-Compatible" IE="EmulateIE7">
<title>首页</title>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<%@ include file="/WEB-INF/jspf/common.jspf" %>
<script type="text/javascript" src="${path}/static/js/menu.js"></script>
</head>
<script type="text/javascript">
$(function () {
function ajaxJsonFun() {
var menuList =${menuList};
//拥有的功能
var str = "";
//所属科室
var depts = "";
if (menuList != null && menuList != "")
if (menuList.code == 100) {
var list = menuList.extend.list;
if (list != null) {
var sysUL;
for (var i = 0; i < list.length; i++) {
if (list[0].deptId == list[i].deptId) {
if (list[i].methodParent != 0 && (list[i].menuUrl == "#" || list[i].menuUrl == "" || list[i].menuUrl == null)) {
var mulLi = newLiFun();
var mulA = newAFun(list[i].menuName, list[i].menuIcon);
mulLi.append(mulA);
var menuAUL = newUlFun();
//sysUL = liFun(list[i].menuName,list[i].menuIcon);
/*菜单*/
for (var j = 0; j < list.length; j++) {
if (list[i].menuId == list[j].methodParent) {
if (list[0].deptId == list[j].deptId) {
str = "";
depts = "";
/*功能值*/
for (var x = 0; x < list.length; x++) {
// console.log(list[x].methodType);
if (depts.indexOf(list[x].deptCode) == -1) {
if (depts != "") {//该步即不会第一位有逗号,也防止最后一位拼接逗号!
depts += ",";
}
depts += list[x].deptCode;
}
//console.log(list[x].methodParent + "=====" + list[j].menuId);
if (list[x].method != null && list[x].method != "" && list[x].methodParent == list[j].menuId) {
//console.log(list[x].methodParent+"====="+ list[j].menuId);
str += list[x].methodType + ",";
}
}
if (depts.indexOf("undefined") != -1) {
depts = "";
}
if (str.indexOf("undefined") != -1) {
str = "";
}
var menuALi = newAliFun(list[j].menuName, list[j].menuIcon, "/emr_medical_record" + list[j].menuUrl + "?num=" + str + "&depts=" + depts);
menuAUL.append(menuALi);
mulLi.append(menuAUL);
}
}
}
$('#indexTreeMenu').append(mulLi);
}
}
}
}
}
};
ajaxJsonFun();
});
</script>
<body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper">
<header class="main-header">
<!--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">
<p>嘉时</p>
</div>
</div>
<nav class="navbar navbar-static-top">
<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="#" 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">
<span class="hidden-xs">${userSession}</span>
</a>
</li>
<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:2.8rem">
<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="${POWER_URLHEAD}/gatewayPage">返回首页</a></li>
<li class="divider"></li>
<li><a href="${POWER_URLHEAD}/logout?token=${token}">退出登陆</a></li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<aside class="main-sidebar">
<section class="sidebar">
<!-- 菜单列表-->
<ul id="indexTreeMenu" class="sidebar-menu" data-widget="tree">
<%--<li class="active treeview">--%>
<%--<a href="#">--%>
<%--<i class="fa fa-dashboard"></i> <span>病案归档管理</span>--%>
<%--<span class="pull-right-container">--%>
<%--<i class="fa fa-angle-left pull-right"></i>--%>
<%--</span>--%>
<%--</a>--%>
<%--<ul class="treeview-menu">--%>
<%--<li><a href="${path}/inHosp/inHospitals" target="iFrame1"><i class="fa fa-circle-o"></i>在院浏览</a> </li>--%>
<%--<li><a href="${path}/beHosp/beHosps" target="iFrame1"><i class="fa fa-circle-o"></i>出院浏览</a></li>--%>
<%--<li><a href="${path}/unfile/unfileMedicals" target="iFrame1"><i class="fa fa-circle-o"></i>未归档病历列表</a></li>--%>
<%--<li><a href="${path}/fault/faults" target="iFrame1" ><i class="fa fa-circle-o"></i>缺陷列表</a></li>--%>
<%--<li><a href="${path}/medicalRecall/recall" target="iFrame1"><i class="fa fa-circle-o"></i>病案召回</a></li>--%>
<%--<li><a href="${path}/recallDate/recallDates" target="iFrame1"><i class="fa fa-circle-o"></i>病案召回日期</a></li>--%>
<%--<li><a href="${path}/lastVerify/lastVerifys" target="iFrame1"><i class="fa fa-circle-o"></i>病案室审核(终审)</a></li>--%>
<%--&lt;%&ndash;<li><a href="${path}/recallDate/recalltes" target="iFrame1"><i class="fa fa-circle-o"></i>病案归档统计</a></li>&ndash;%&gt;--%>
<%--</ul>--%>
<%--</li>--%>
<%--<li class="active treeview">--%>
<%--<a href="#">--%>
<%--<i class="fa fa-dashboard"></i> <span>其他管理</span>--%>
<%--<span class="pull-right-container">--%>
<%--<i class="fa fa-angle-left pull-right"></i>--%>
<%--</span>--%>
<%--</a>--%>
<%--<ul class="treeview-menu">--%>
<%--<li><a href="${path}/faultType/faultTypes" target="iFrame1"><i class="fa fa-circle-o"></i>缺陷类别列表</a></li>--%>
<%--<li><a href="${path}/dictionary/dictionarys" target="iFrame1"><i class="fa fa-circle-o"></i>字典列表</a></li>--%>
<%--&lt;%&ndash;<li><a href="${path}/paper/allPaper" target="iFrame1"><i class="fa fa-circle-o"></i>通知管理</a></li>&ndash;%&gt;--%>
<%--</ul>--%>
<%--</li>--%>
</ul>
</section>
</aside>
<div class="content-wrapper">
<section class="content">
<!-- 内容 src="${path}/paper/allPaper"-->
<div class="page-content-wrapper">
<div class="page-content">
<div class="">
<iframe style="height:90%;width:100%; overflow-x:hidden;overflow-y:scroll" id="iFrame1"
name="iFrame1" frameborder="0"></iframe>
</div>
</div>
</div>
</section>
</div>
<!-- 底部版权-->
<footer class="main-footer">
<div class="pull-right hidden-xs">
<b>Version</b> 1.1.1
</div>
<strong>Copyright &copy; 2019-2090 hjl.</strong> All rights
reserved.
</footer>
</div>
</body>
</html>

@ -1,42 +0,0 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<html>
<head>
<title>${name}</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <!-- 页面按原比例显示 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<%@ include file="/WEB-INF/jspf/common.jspf" %>
<link rel="shortcut icon" href="../favicon.ico">
</head>
<body onkeydown="disabledPrint()">
<c:if test="${masterId != '' && masterId != null}">
<iframe width="100%" height="100%" src="${path}/static/pdfjs/web/viewer.html?file=${path}/inHosp/getPdfToPdf/${masterId}/${imgStr}"></iframe>
</c:if>
<c:if test="${masterId == '' || masterId == null}">
<iframe width="100%" height="100%" src="${path}/static/pdfjs/web/viewer.html?file=${path}/inHosp/getPdfById/${idStr}"></iframe>
</c:if>
<script type="text/javascript">
//屏蔽鼠标右键
document.oncontextmenu = function(e) {
var e = e || window.event;
e.returnValue = false;
return false;
}
//禁止快捷键打印
function disabledPrint(){
if(event.keyCode==80 && event.ctrlKey){
event.keyCode=0;
event.returnValue=false;
}
if (event.ctrlKey && event.keyCode == 83) {
event.preventDefault();
event.returnValue = false;
return false;
}
}
</script>
</body>
</html>

@ -96,7 +96,7 @@
</div>
</div>
</div>
<script src="${path}/static/js/statistics/finalStatisticsDetail.js"></script>
<script src="${path}/static/js/statistics/finalStatisticsDetail.js?t=2020-12-24"></script>
<script src="${path}/static/js/statistics/getDeptCommom.js"></script>
<script src="${path}/static/js/statistics/statisticsCommom.js?t=2020-01-09"></script>
</body>

@ -1,233 +0,0 @@
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2019/7/19
Time: 16:46
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html lang="zh-cn">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="black" name="apple-mobile-web-app-status-bar-style">
<meta content="telephone=no" name="format-detection">
<meta content="email=no" name="format-detection">
<title>系统管理</title>
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.bootcss.com/jquery-treegrid/0.2.0/css/jquery.treegrid.min.css">
</head>
<body>
<div class="container">
<h1>树形表格 Table Treegrid</h1>
<table id="table"></table>
<br/>
<button onclick="test()">选择</button>
</div>
</body>
<script src="https://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap-table/1.12.0/extensions/treegrid/bootstrap-table-treegrid.js"></script>
<script src="https://cdn.bootcss.com/jquery-treegrid/0.2.0/js/jquery.treegrid.min.js"></script>
<script type="text/javascript">
var $table = $('#table');
var data = JSON.parse(
'[{"id":1,"pid":0,"status":1,"name":"用户管理","permissionValue":"open:user:manage"},' +
'{"id":2,"pid":0,"status":1,"name":"系统管理","permissionValue":"open:system:manage"},' +
'{"id":3,"pid":1,"status":1,"name":"新增用户","permissionValue":"open:user:add"},' +
'{"id":4,"pid":1,"status":1,"name":"修改用户","permissionValue":"open:user:edit"},' +
'{"id":5,"pid":1,"status":0,"name":"删除用户","permissionValue":"open:user:del"},' +
'{"id":6,"pid":2,"status":1,"name":"系统配置管理","permissionValue":"open:systemconfig:manage"},' +
'{"id":7,"pid":6,"status":1,"name":"新增配置","permissionValue":"open:systemconfig:add"},' +
'{"id":8,"pid":6,"status":1,"name":"修改配置","permissionValue":"open:systemconfig:edit"},' +
'{"id":9,"pid":6,"status":0,"name":"删除配置","permissionValue":"open:systemconfig:del"},' +
'{"id":10,"pid":2,"status":1,"name":"系统日志管理","permissionValue":"open:log:manage"},' +
'{"id":11,"pid":10,"status":1,"name":"新增日志","permissionValue":"open:log:add"},' +
'{"id":12,"pid":10,"status":1,"name":"修改日志","permissionValue":"open:log:edit"},' +
'{"id":13,"pid":10,"status":0,"name":"删除日志","permissionValue":"open:log:del"}]');
$(function () {
//控制台输出一下数据
console.log(data);
$table.bootstrapTable({
data: data,
idField: 'id',
dataType: 'jsonp',
columns: [
{
field: 'check', checkbox: true, formatter: function (value, row, index) {
if (row.check == true) {
// console.log(row.serverName);
//设置选中
return {checked: true};
}
}
},
{field: 'name', title: '名称'},
// {field: 'id', title: '编号', sortable: true, align: 'center'},
// {field: 'pid', title: '所属上级'},
{field: 'status', title: '状态', sortable: true, align: 'center', formatter: 'statusFormatter'},
{field: 'permissionValue', title: '权限值'},
{field: 'operate', title: '操作', align: 'center', events: operateEvents, formatter: 'operateFormatter'},
],
// bootstrap-table-treegrid.js 插件配置 -- start
//在哪一列展开树形
treeShowField: 'name',
//指定父id列
parentIdField: 'pid',
onResetView: function (data) {
//console.log('load');
$table.treegrid({
initialState: 'collapsed',// 所有节点都折叠
// initialState: 'expanded',// 所有节点都展开,默认展开
treeColumn: 1,
// expanderExpandedClass: 'glyphicon glyphicon-minus', //图标样式
// expanderCollapsedClass: 'glyphicon glyphicon-plus',
onChange: function () {
$table.bootstrapTable('resetWidth');
}
});
//只展开树形的第一级节点
$table.treegrid('getRootNodes').treegrid('expand');
},
onCheck: function (row) {
var datas = $table.bootstrapTable('getData');
// 勾选子类
selectChilds(datas, row, "id", "pid", true);
// 勾选父类
selectParentChecked(datas, row, "id", "pid")
// 刷新数据
$table.bootstrapTable('load', datas);
},
onUncheck: function (row) {
var datas = $table.bootstrapTable('getData');
selectChilds(datas, row, "id", "pid", false);
$table.bootstrapTable('load', datas);
},
// bootstrap-table-treetreegrid.js 插件配置 -- end
});
});
// 格式化按钮
function operateFormatter(value, row, index) {
return [
'<button type="button" class="RoleOfadd btn-small btn-primary" style="margin-right:15px;"><i class="fa fa-plus" ></i>&nbsp;新增</button>',
'<button type="button" class="RoleOfedit btn-small btn-primary" style="margin-right:15px;"><i class="fa fa-pencil-square-o" ></i>&nbsp;修改</button>',
'<button type="button" class="RoleOfdelete btn-small btn-primary" style="margin-right:15px;"><i class="fa fa-trash-o" ></i>&nbsp;删除</button>'
].join('');
}
// 格式化类型
function typeFormatter(value, row, index) {
if (value === 'menu') {
return '菜单';
}
if (value === 'button') {
return '按钮';
}
if (value === 'api') {
return '接口';
}
return '-';
}
// 格式化状态
function statusFormatter(value, row, index) {
if (value === 1) {
return '<span class="label label-success">正常</span>';
} else {
return '<span class="label label-default">锁定</span>';
}
}
//初始化操作按钮的方法
window.operateEvents = {
'click .RoleOfadd': function (e, value, row, index) {
add(row.id);
},
'click .RoleOfdelete': function (e, value, row, index) {
del(row.id);
},
'click .RoleOfedit': function (e, value, row, index) {
update(row.id);
}
};
</script>
<script>
/**
* 选中父项时,同时选中子项
* @param datas 所有的数据
* @param row 当前数据
* @param id id 字段名
* @param pid 父id字段名
*/
function selectChilds(datas, row, id, pid, checked) {
for (var i in datas) {
if (datas[i][pid] == row[id]) {
datas[i].check = checked;
selectChilds(datas, datas[i], id, pid, checked);
}
;
}
}
function selectParentChecked(datas, row, id, pid) {
for (var i in datas) {
if (datas[i][id] == row[pid]) {
datas[i].check = true;
selectParentChecked(datas, datas[i], id, pid);
}
;
}
}
function test() {
var selRows = $table.bootstrapTable("getSelections");
if (selRows.length == 0) {
alert("请至少选择一行");
return;
}
var postData = "";
$.each(selRows, function (i) {
postData += this.id;
if (i < selRows.length - 1) {
postData += " ";
}
});
alert("你选中行的 id 为:" + postData);
}
function add(id) {
alert("add 方法 , id = " + id);
}
function del(id) {
alert("del 方法 , id = " + id);
}
function update(id) {
alert("update 方法 , id = " + id);
}
</script>
</html>

@ -1,5 +0,0 @@
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

@ -119,7 +119,7 @@ function selectHis(row){
}
}
})
});
return data;
}
function initTable2() {

Loading…
Cancel
Save