Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jfV5portal
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
管理员
jfV5portal
Commits
9d8a08a6
Commit
9d8a08a6
authored
Aug 27, 2018
by
罗绍泽
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
办事大厅集成
parent
e58a9dda
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
646 additions
and
122 deletions
+646
-122
applicationContext-business.xml
...ent/WEB-INF/conf/gaowj/bl/applicationContext-business.xml
+65
-0
business-process.xml
WebContent/WEB-INF/conf/gaowj/bl/business-process.xml
+23
-0
office.js
WebContent/jfcas04/js/office.js
+113
-23
office.jsp
WebContent/jfcas04/office.jsp
+108
-99
processModule.js
WebContent/jwapp/pages/process/js/processModule.js
+21
-0
quartz_service.properties
src/quartz_service.properties
+2
-0
struts-ext.xml
src/struts-ext.xml
+17
-0
ProcessBusiness.java
src_jwapp/com/jw/app/business/ProcessBusiness.java
+13
-0
ProcessBusinessImpl.java
...wapp/com/jw/app/business/process/ProcessBusinessImpl.java
+25
-0
ProcessDAO.java
src_jwapp/com/jw/app/business/process/ProcessDAO.java
+11
-0
ProcessDAO.xml
src_jwapp/com/jw/app/business/process/ProcessDAO.xml
+8
-0
actAction.java
src_jwapp/com/jw/app/process/action/actAction.java
+126
-0
dataAction.java
src_jwapp/com/jw/app/process/action/dataAction.java
+82
-0
viewAction.java
src_jwapp/com/jw/app/process/action/viewAction.java
+32
-0
No files found.
WebContent/WEB-INF/conf/gaowj/bl/applicationContext-business.xml
View file @
9d8a08a6
...
@@ -172,6 +172,57 @@
...
@@ -172,6 +172,57 @@
<property
name=
"filters"
value=
"stat"
/>
<property
name=
"filters"
value=
"stat"
/>
</bean>
</bean>
<!-- 增加数据源lcyq-business -->
<bean
id=
"lcyq-business"
class=
"com.alibaba.druid.pool.DruidDataSource"
init-method=
"init"
destroy-method=
"close"
>
<!-- 基本属性 url、user、password -->
<property
name=
"url"
value=
"jdbc:mysql://192.168.1.116:3306/lcyq_business?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false"
/>
<property
name=
"username"
value=
"lcyq_business"
/>
<property
name=
"password"
value=
"lcyq_business"
/>
<property
name=
"driverClassName"
value=
"com.mysql.jdbc.Driver"
/>
<!-- 配置初始化大小、最小、最大 -->
<property
name=
"initialSize"
value=
"1"
/>
<property
name=
"minIdle"
value=
"1"
/>
<property
name=
"maxActive"
value=
"500"
/>
<!-- 配置获取连接等待超时的时间 -->
<property
name=
"maxWait"
value=
"60000"
/>
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property
name=
"timeBetweenEvictionRunsMillis"
value=
"60000"
/>
<!-- 超过时间限制是否回收,对于建立时间超过removeAbandonedTimeout的连接强制关闭 -->
<property
name=
"removeAbandoned"
value=
"true"
/>
<!-- 超过时间限制多长,单位秒 -->
<property
name=
"removeAbandonedTimeout"
value=
"60"
/>
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒:1分钟 -->
<property
name=
"minEvictableIdleTimeMillis"
value=
"60000"
/>
<!-- 配置一个连接在池中最长生存的时间,单位是毫秒:5分钟 -->
<property
name=
"maxEvictableIdleTimeMillis"
value=
"300000"
/>
<!-- 用来检测连接是否有效的sql,要求是一个查询语句 -->
<property
name=
"validationQuery"
value=
"SELECT 'x'"
/>
<!-- 申请连接的时候检测 -->
<property
name=
"testWhileIdle"
value=
"true"
/>
<!-- 申请连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
<property
name=
"testOnBorrow"
value=
"false"
/>
<!-- 归还连接时执行validationQuery检测连接是否有效,配置为true会降低性能 -->
<property
name=
"testOnReturn"
value=
"false"
/>
<!-- 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作 -->
<property
name=
"keepAlive"
value=
"true"
/>
<!-- 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭 -->
<property
name=
"poolPreparedStatements"
value=
"false"
/>
<!-- 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true -->
<property
name=
"maxPoolPreparedStatementPerConnectionSize"
value=
"0"
/>
<!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 -->
<property
name=
"filters"
value=
"stat"
/>
</bean>
<!-- 增加事务transactionManager-system -->
<!-- 增加事务transactionManager-system -->
<bean
id=
"transactionManager-system"
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
<bean
id=
"transactionManager-system"
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
<property
name=
"dataSource"
ref=
"dataSource-system"
/>
<property
name=
"dataSource"
ref=
"dataSource-system"
/>
...
@@ -205,6 +256,17 @@
...
@@ -205,6 +256,17 @@
</property>
</property>
</bean>
</bean>
<!-- 增加事务lcyq-business -->
<bean
id=
"transactionManager-lcyq-business"
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
<property
name=
"dataSource"
ref=
"lcyq-business"
/>
</bean>
<bean
id=
"transactionInterceptor-lcyq-business"
parent=
"abstractTransactionInterceptor"
>
<property
name=
"transactionManager"
>
<ref
bean=
"transactionManager-lcyq-business"
/>
</property>
</bean>
<!-- 自动创建事务代理 -->
<!-- 自动创建事务代理 -->
<bean
class=
"org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"
>
<bean
class=
"org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"
>
<property
name=
"beanNames"
>
<property
name=
"beanNames"
>
...
@@ -217,6 +279,7 @@
...
@@ -217,6 +279,7 @@
<value>
transactionInterceptor-system
</value>
<value>
transactionInterceptor-system
</value>
<value>
transactionInterceptor-standard
</value>
<value>
transactionInterceptor-standard
</value>
<value>
transactionInterceptor-business
</value>
<value>
transactionInterceptor-business
</value>
<value>
transactionInterceptor-lcyq-business
</value>
</list>
</list>
</property>
</property>
</bean>
</bean>
...
@@ -254,4 +317,5 @@
...
@@ -254,4 +317,5 @@
<import
resource=
"business-standard.xml"
/>
<import
resource=
"business-standard.xml"
/>
<import
resource=
"business-test.xml"
/>
<import
resource=
"business-test.xml"
/>
<import
resource=
"business-apps.xml"
/>
<import
resource=
"business-apps.xml"
/>
<import
resource=
"business-process.xml"
/>
</beans>
</beans>
\ No newline at end of file
WebContent/WEB-INF/conf/gaowj/bl/business-process.xml
0 → 100644
View file @
9d8a08a6
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean
id=
"sqlSessionFactory-lcyq-business"
class=
"org.mybatis.spring.SqlSessionFactoryBean"
>
<property
name=
"dataSource"
ref=
"lcyq-business"
/>
<property
name=
"configLocation"
value=
"/WEB-INF/conf/gaowj/bl/mybatis-config.xml"
/>
<property
name=
"mapperLocations"
>
<list>
<value>
classpath:com/jw/app/business/process/ProcessDAO.xml
</value>
</list>
</property>
</bean>
<bean
id=
"ProcessDAO"
class=
"org.mybatis.spring.mapper.MapperFactoryBean"
>
<property
name=
"mapperInterface"
value=
"com.jw.app.business.process.ProcessDAO"
/>
<property
name=
"sqlSessionFactory"
ref=
"sqlSessionFactory-lcyq-business"
/>
</bean>
<bean
id=
"ProcessBusiness"
class=
"com.jw.app.business.process.ProcessBusinessImpl"
>
<property
name=
"processDAO"
ref=
"ProcessDAO"
/>
</bean>
</beans>
WebContent/jfcas04/js/office.js
View file @
9d8a08a6
...
@@ -20,8 +20,48 @@ $(function(){
...
@@ -20,8 +20,48 @@ $(function(){
//模块的切换
//模块的切换
init_office_change_moddle
();
init_office_change_moddle
();
//初始化容器的最小高度
init_officeDetail_container_minHeight
();
//初始化iframe高度
initIframe
();
})
})
function
initIframe
()
{
document
.
getElementById
(
'proc_iframe'
).
onload
=
function
()
{
this
.
contentWindow
.
onbeforeunload
=
function
()
{
document
.
getElementById
(
'proc_iframe'
).
setAttribute
(
'height'
,
'auto'
);
};
this
.
setAttribute
(
'height'
,
this
.
contentWindow
.
document
.
body
.
scrollHeight
);
$
(
"#proc_iframe_loading"
).
hide
();
$
(
"#proc_iframe"
).
show
();
};
document
.
getElementById
(
'progressRate'
).
onload
=
function
()
{
this
.
contentWindow
.
onbeforeunload
=
function
()
{
document
.
getElementById
(
'progressRate'
).
setAttribute
(
'height'
,
'auto'
);
};
this
.
setAttribute
(
'height'
,
$
(
this
.
contentWindow
.
document
.
body
).
outerHeight
(
true
));
};
document
.
getElementById
(
'approval'
).
onload
=
function
()
{
this
.
contentWindow
.
onbeforeunload
=
function
()
{
document
.
getElementById
(
'approval'
).
setAttribute
(
'height'
,
'auto'
);
};
this
.
setAttribute
(
'height'
,
$
(
this
.
contentWindow
.
document
.
body
).
outerHeight
(
true
));
};
document
.
getElementById
(
'progressHistory'
).
onload
=
function
()
{
this
.
contentWindow
.
onbeforeunload
=
function
()
{
document
.
getElementById
(
'progressHistory'
).
setAttribute
(
'height'
,
'auto'
);
};
this
.
setAttribute
(
'height'
,
$
(
this
.
contentWindow
.
document
.
body
).
outerHeight
(
true
));
};
}
//初始化.office_module的距离来达到满屏显示
//初始化.office_module的距离来达到满屏显示
function
init_office_module_bottom
(){
function
init_office_module_bottom
(){
var
office_module_height
;
var
office_module_height
;
...
@@ -54,34 +94,23 @@ function init_office_change_moddle(){
...
@@ -54,34 +94,23 @@ function init_office_change_moddle(){
function
init_office_apply_lump
(){
function
init_office_apply_lump
(){
//自定义一个颜色数组
//自定义一个颜色数组
var
color_list
=
[
'#ff8264'
,
'#44df9e'
,
'#f585ad'
,
'#aa96f6'
,
'#fea144'
,
'#5cc4e0'
];
var
color_list
=
[
'#ff8264'
,
'#44df9e'
,
'#f585ad'
,
'#aa96f6'
,
'#fea144'
,
'#5cc4e0'
];
var
infos
=
processModule
.
data
.
listProcess
().
rowSet
;
var
infos
=
[
{
apply_name
:
'报工申请'
},
{
apply_name
:
'请假申请'
},
{
apply_name
:
'报销申请'
},
{
apply_name
:
'补假申请'
},
{
apply_name
:
'合同申请'
},
{
apply_name
:
'办公软件开通申请'
},
{
apply_name
:
'办公用品领用申请'
},
{
apply_name
:
'公司用车申请'
},
{
apply_name
:
'公租房申请'
},
{
apply_name
:
'产品入库申请'
},
{
apply_name
:
'产品出库申请'
},
{
apply_name
:
'领料申请'
},
{
apply_name
:
'项目申请'
},
{
apply_name
:
'会议室申请'
},
{
apply_name
:
'经费申请'
},
{
apply_name
:
'出差申请'
},
{
apply_name
:
'采购申请'
},
{
apply_name
:
'外出申请'
},
]
//块状的容器
//块状的容器
var
$content
=
$
(
'.office_apply_content'
);
var
$content
=
$
(
'.office_apply_content'
);
for
(
var
i
=
0
;
i
<
infos
.
length
;
i
++
){
for
(
var
i
=
0
;
i
<
infos
.
length
;
i
++
){
var
$create_container
=
$
(
'<div></div>'
);
var
$create_container
=
$
(
'<div></div>'
);
var
$create_content
=
$
(
'<div></div>'
);
var
$create_content
=
$
(
'<div></div>'
);
$create_content
.
bind
(
'click'
,
function
(){
$create_content
.
bind
(
'click'
,
function
(){
location
.
href
=
'officeDetail'
;
var
processInfo
=
$
(
this
).
data
(
'processInfo'
);
window
.
open
(
$
(
"#procAppUrl"
).
val
()
+
'/processView_detail?procId='
+
processInfo
.
UUID
);
// $("#proc_iframe_loading").show();
// $("#proc_iframe").hide();
// var processInfo=$(this).data('processInfo');
// $(".officeDetail_content_title .officeDetail_content_title_text").html(processInfo['PROC_NAME']);
// $("#proc_iframe").attr('src',$("#procAppUrl").val()+'/processView_detail?procId='+processInfo.UUID);
// $("#process_content1").hide();
// $("#process_content2").show();
})
})
var
$create_div
=
$
(
'<div></div>'
);
var
$create_div
=
$
(
'<div></div>'
);
//添加一个颜色背景
//添加一个颜色背景
...
@@ -105,10 +134,11 @@ function init_office_apply_lump(){
...
@@ -105,10 +134,11 @@ function init_office_apply_lump(){
})*/
})*/
//赋值
//赋值
$create_div
.
text
(
infos
[
i
].
apply_name
);
$create_div
.
text
(
infos
[
i
].
PROC_NAME
);
$create_content
.
append
(
$create_div
);
$create_content
.
append
(
$create_div
);
$create_container
.
append
(
$create_content
);
$create_container
.
append
(
$create_content
);
$content
.
append
(
$create_container
);
$content
.
append
(
$create_container
);
$create_content
.
data
(
'processInfo'
,
infos
[
i
]);
}
}
}
}
...
@@ -210,6 +240,10 @@ function init_office_examine_list(){
...
@@ -210,6 +240,10 @@ function init_office_examine_list(){
})
})
}
}
function
openEditWindow
(
businessId
){
window
.
open
(
$
(
"#procAppUrl"
).
val
()
+
'/processView_detail?businessId='
+
businessId
);
}
//渲染进度查询列表
//渲染进度查询列表
function
init_office_progress_list
(){
function
init_office_progress_list
(){
var
infos
=
[
var
infos
=
[
...
@@ -352,4 +386,59 @@ function init_office_history_list(){
...
@@ -352,4 +386,59 @@ function init_office_history_list(){
}
}
]
]
})
})
}
function
backOfficeList
(){
$
(
"#process_content2"
).
hide
();
$
(
"#process_content1"
).
show
();
}
//初始化容器的最小高度
function
init_officeDetail_container_minHeight
(){
var
height
=
$
(
window
).
height
()
-
$
(
'.indedx_header'
).
outerHeight
(
true
)
-
$
(
'.indedx_header_logo'
).
outerHeight
(
true
)
-
$
(
'.index_center'
).
outerHeight
(
true
)
-
$
(
'.officeDetail_bg'
).
outerHeight
(
true
)
-
$
(
'.index_footer'
).
outerHeight
(
true
)
-
10
;
if
(
height
>
0
){
$
(
'.officeDetail_content'
).
css
(
'min-height'
,
height
);
}
}
//切换流程图的显示
function
officeDetail_changeFlow
(
handler
){
var
really_height
=
$
(
'.officeDetail_content'
).
css
(
'min-height'
);
if
(
!
$
(
'.officeDetail_content'
).
data
(
'minHeight'
)){
$
(
'.officeDetail_content'
).
data
(
'minHeight'
,
really_height
);
}
else
{
really_height
=
$
(
'.officeDetail_content'
).
data
(
'minHeight'
);
}
really_height
=
really_height
.
replace
(
/px/
,
''
);
var
title_height
=
$
(
'.officeDetail_content_title'
).
outerHeight
(
true
);
var
min_height
=
document
.
body
.
clientHeight
-
$
(
'.indedx_header'
).
outerHeight
(
true
)
-
$
(
'.indedx_header_logo'
).
outerHeight
(
true
)
-
$
(
'.index_center'
).
outerHeight
(
true
)
-
$
(
'.officeDetail_bg'
).
outerHeight
(
true
)
-
$
(
'.index_footer'
).
outerHeight
(
true
)
-
title_height
;
if
(
$
(
handler
).
data
(
'change'
)
!=
'1'
){
$
(
handler
).
data
(
'change'
,
'1'
);
//去掉申请内容
$
(
'.officeDetail_content'
).
css
(
'overflow'
,
'hidden'
);
$
(
'.officeDetail_content'
).
animate
({
'height'
:
title_height
,
'min-height'
:
'0'
});
//显示流程图的内容
$
(
'.officeDetail_flow'
).
css
(
'height'
,
'auto'
);
//从高度为10开始执行动画
$
(
'.officeDetail_flow_content'
).
height
(
10
).
animate
({
'height'
:
min_height
});
//改变点击按钮位置
$
(
'.officeDetail_flow_toggole'
).
css
({
'margin-top'
:
'0'
,
'background'
:
'white'
,
'border-radius'
:
'0 0 3px 3px '
});
$
(
'.officeDetail_flow_toggole'
).
find
(
'img'
).
attr
(
'src'
,
'custom/images/officeDetail_down.png'
);
$
(
'.officeDetail_flow_toggole'
).
find
(
'span'
).
text
(
'收起'
);
}
else
{
$
(
handler
).
data
(
'change'
,
'0'
);
//显示申请的内容
$
(
'.officeDetail_content'
).
animate
({
'min-height'
:
really_height
},
function
(){
$
(
this
).
css
(
'height'
,
'auto'
);
});
//去掉流程图的内容
$
(
'.officeDetail_flow'
).
animate
({
'height'
:
'10'
});
$
(
'.officeDetail_flow_content'
).
animate
({
'height'
:
'0'
});
//改变点击按钮位置
$
(
'.officeDetail_flow_toggole'
).
css
({
'margin-top'
:
'-25px'
,
'background'
:
'#f3f3f3'
,
'border-radius'
:
'3px 3px 0 0 '
});
$
(
'.officeDetail_flow_toggole'
).
find
(
'img'
).
attr
(
'src'
,
'custom/images/officeDetail_up.png'
);
$
(
'.officeDetail_flow_toggole'
).
find
(
'span'
).
text
(
'展开'
);
}
}
}
\ No newline at end of file
WebContent/jfcas04/office.jsp
View file @
9d8a08a6
<
%@
page
language=
"java"
import=
"java.util.*"
pageEncoding=
"UTF-8"
%
>
<
%@
page
language=
"java"
import=
"java.util.*"
pageEncoding=
"UTF-8"
%
>
<
%@
taglib
prefix=
"c"
uri=
"http://java.sun.com/jsp/jstl/core"
%
>
<
%@
taglib
prefix=
"c"
uri=
"http://java.sun.com/jsp/jstl/core"
%
>
<c:set
var=
"ctx"
value=
"${pageContext.request.contextPath}"
/>
<
%
String
procApp=
com.gaowj.business.util.PropUtil.getValue("lcyq_app_url",
"
quartz_service
",
"");
%
>
<c:set
var=
"ctx"
value=
"${pageContext.request.contextPath}"
/>
<html>
<html>
<head>
<head>
<title>
办事大厅
</title>
<title>
办事大厅
</title>
<jsp:include
page=
"header.jsp"
></jsp:include>
<jsp:include
page=
"header.jsp"
></jsp:include>
<script
type=
"text/javascript"
src=
"${pageContext.request.contextPath}/jwapp/pages/portlet/js/jwAppPortletModule.js"
charset=
"utf-8"
></script>
<script
type=
"text/javascript"
src=
"${pageContext.request.contextPath}/jwapp/pages/portlet/js/jwAppPortletModule.js"
charset=
"utf-8"
></script>
<script
src=
"${ctx}/jwapp/pages/process/js/processModule.js"
></script>
<script
src=
"${ctx}/jfcas04/js/office.js"
></script>
<script
src=
"${ctx}/jfcas04/js/office.js"
></script>
</head>
</head>
<body>
<body>
<!-- 头部 -->
<!-- 头部 -->
<jsp:include
page=
"/nav4.jsp"
></jsp:include>
<jsp:include
page=
"/nav4.jsp"
></jsp:include>
<!-- 内容部分
-->
<!-- 内容部分1
-->
<div
class=
"container-fluid
"
>
<div
class=
"container-fluid"
id=
"process_content1
"
>
<!--背景图-->
<!--背景图-->
<div
class=
"row office_bg"
>
<div
class=
"row office_bg"
>
<div
class=
"office_bg_content col-md-12"
>
<div
class=
"office_bg_content col-md-12"
>
<div
class=
"col-md-3"
>
<div
class=
"col-md-3"
>
<div
class=
"office_bg_content_click"
>
<div
class=
"office_bg_content_click"
>
<img
src=
"${ctx}/custom/images/office_apply.png"
width=
"100"
height=
"100"
/>
<img
src=
"${ctx}/custom/images/office_apply.png"
width=
"100"
height=
"100"
/>
<div>
我要申请
</div>
<div>
我要申请
</div>
</div>
</div>
</div>
</div>
<div
class=
"col-md-3"
>
<div
class=
"col-md-3"
>
<div
class=
""
>
<div
class=
""
>
<img
src=
"${ctx}/custom/images/office_examine.png"
width=
"100"
height=
"100"
/>
<img
src=
"${ctx}/custom/images/office_examine.png"
width=
"100"
height=
"100"
/>
<div>
我要审批
</div>
<div>
我要审批
</div>
</div>
</div>
</div>
</div>
<div
class=
"col-md-3"
>
<div
class=
"col-md-3"
>
<div
class=
""
>
<div
class=
""
>
<img
src=
"${ctx}/custom/images/office_progress.png"
width=
"100"
height=
"100"
/>
<img
src=
"${ctx}/custom/images/office_progress.png"
width=
"100"
height=
"100"
/>
<div>
进度查询
</div>
<div>
进度查询
</div>
</div>
</div>
</div>
</div>
<div
class=
"col-md-3"
>
<div
class=
"col-md-3"
>
<div
class=
""
>
<div
class=
""
>
<img
src=
"${ctx}/custom/images/office_history.png"
width=
"100"
height=
"100"
/>
<img
src=
"${ctx}/custom/images/office_history.png"
width=
"100"
height=
"100"
/>
<div>
历史查询
</div>
<div>
历史查询
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 申请模块 -->
<!-- 申请模块 -->
<div
class=
"office_module row"
>
<div
class=
"office_module row"
>
<div
class=
"office_module_title col-md-12"
>
<div
class=
"office_module_title col-md-12"
>
<img
src=
"${ctx}/custom/images/office_title.png"
height=
"16"
width=
"16"
/>
<img
src=
"${ctx}/custom/images/office_title.png"
height=
"16"
width=
"16"
/>
<span>
我要申请
</span>
<span>
我要申请
</span>
</div>
</div>
<div
class=
"office_apply col-md-12"
>
<div
class=
"office_apply col-md-12"
>
<div
class=
"office_apply_content"
></div>
<div
class=
"office_apply_content"
>
</div>
<!-- <div><div><div>报工申请</div></div></div>
</div>
<div><div><div>报工申请报工申请</div></div></div>
<div><div><div>报工申请</div></div></div>
<div><div><div>报工申请报工申请</div></div></div>
<div><div><div>报工申请</div></div></div>
<div><div><div>报工申请报工申请</div></div></div>
<div><div><div>报工申请</div></div></div>
<div><div><div>报工申请报工申请</div></div></div>
<div><div><div>报工申请</div></div></div>
<div><div><div>报工申请报工申请</div></div></div>
<div><div><div>报工申请</div></div></div>
<div><div><div>报工申请报工申请</div></div></div> -->
</div>
</div>
</div>
<!-- 审批模块 -->
<!-- 审批模块 -->
<div
class=
"office_module row"
style=
"display:none"
>
<div
class=
"office_module row"
style=
"display:none"
>
<div
class=
"office_module_title col-md-12"
>
<iframe
id=
"approval"
style=
"width:100%"
src=
"<%=procApp %>/processView_approval"
></iframe>
<img
src=
"${ctx}/custom/images/office_title.png"
height=
"16"
width=
"16"
/>
</div>
<span>
我要审批
</span>
<a
href=
"#"
>
只显示待审批申请
</a>
</div>
<div
class=
"col-md-12 office_examine office_table"
>
<table
id=
"office_examine"
></table>
</div>
</div>
<!-- 进度查询模块 -->
<!-- 进度查询模块 -->
<div
class=
"office_module row"
style=
"display:none"
>
<div
class=
"office_module row"
style=
"display:none"
>
<div
class=
"office_module_title col-md-12"
>
<iframe
id=
"progressRate"
style=
"width:100%"
src=
"<%=procApp %>/processView_progressRate"
></iframe>
<img
src=
"${ctx}/custom/images/office_title.png"
height=
"16"
width=
"16"
/>
</div>
<span>
进度查询
</span>
<!-- 历史查询模块 -->
<div>
<div
class=
"office_module row"
style=
"display:none"
>
<input
type=
"text"
/><img
src=
"${ctx}/custom/images/office_search.png"
width=
"24"
height=
"24"
/>
<iframe
id=
"progressHistory"
style=
"width:100%"
src=
"<%=procApp %>/processView_progressHistory"
></iframe>
</div>
</div>
</div>
<div
class=
"col-md-12 office_examine office_table"
>
<table
id=
"office_progress"
></table>
</div>
</div>
<!-- 历史查询模块 -->
<div
class=
"office_module row"
style=
"display:none"
>
<div
class=
"office_module_title col-md-12"
>
<img
src=
"${ctx}/custom/images/office_title.png"
height=
"16"
width=
"16"
/>
<span>
历史查询
</span>
<div>
<input
type=
"text"
/><img
src=
"${ctx}/custom/images/office_search.png"
width=
"24"
height=
"24"
/>
</div>
</div>
<div
class=
"col-md-12 office_examine office_table"
>
<table
id=
"office_history"
></table>
</div>
</div>
<!--主容器结尾-->
<!--主容器结尾-->
</div>
</div>
<input
type=
"text"
id=
"procAppUrl"
value=
"<%=procApp%>"
>
<!-- 内容部分2 -->
<div
class=
"container-fluid"
id=
"process_content2"
style=
"display:none;"
>
<!-- 尾部 -->
<!-- 背景图 -->
<jsp:include
page=
"/footer.jsp"
></jsp:include>
<div
class=
"row officeDetail_bg"
></div>
<!-- 详情 -->
<div
class=
"row officeDetail_content"
>
<div
class=
"officeDetail_content_title col-md-12"
>
<span
class=
"officeDetail_content_title_text"
>
请假申请
</span>
<div
onclick=
"backOfficeList();"
>
<img
src=
"${ctx}/custom/images/officeDetail_back.png"
width=
"16"
height=
"16"
/><span>
返回
</span>
</div>
<div>
<span>
*
</span><span>
必填
</span>
</div>
</div>
<div
class=
"officeDetail_content_div col-md-12"
style=
"text-align: center;"
>
<img
id=
"proc_iframe_loading"
src=
"${ctx}/custom/images/loading.gif"
/>
<iframe
id=
"proc_iframe"
style=
"width:100%;"
></iframe>
</div>
</div>
<!-- 流程图 -->
<div
class=
"row officeDetail_flow"
>
<div
class=
"officeDetail_flow_toggole"
onClick=
"officeDetail_changeFlow(this)"
>
<img
src=
"${ctx}/custom/images/officeDetail_up.png"
width=
"7"
height=
"4"
/><span>
展开
</span>
</div>
<div
class=
"col-md-12 officeDetail_flow_content"
>
<div>
流程图
</div>
<div>
流程图
</div>
<div>
流程图
</div>
<div>
流程图
</div>
<div>
流程图
</div>
<div>
流程图
</div>
<div>
流程图
</div>
<div>
流程图
</div>
<!-- <div style="height:500px;background:red;">流程图</div> -->
</div>
</div>
<!--主容器结尾-->
</div>
<!-- 尾部 -->
<jsp:include
page=
"/footer.jsp"
></jsp:include>
</body>
</body>
</html>
</html>
WebContent/jwapp/pages/process/js/processModule.js
0 → 100644
View file @
9d8a08a6
//此乃本模块与后台交互的方法接口部分
var
processModule
=
function
(
format
)
{
this
.
module
=
""
;
this
.
action
=
""
;
this
.
format
=
format
;
};
//定义数据交互
processModule
.
prototype
=
BusinessObject
;
//获取流程定义数据
processModule
.
prototype
.
listProcess
=
function
(){};
//创建一个数据操作对象,然后再后续使用
processModule
.
act
=
new
processModule
(
"json"
).
delegate
(
"processAct"
);
//创建一个数据获取对象,然后再后续使用
processModule
.
data
=
new
processModule
(
"json"
).
delegate
(
"processData"
);
//说明: 1、所有方法里统一传递josn格式的参数,用于后台交互,如data.listTables(param) ,如没有参数则传'{}',如data.listTables({})
// 2、前后台数据获取传输协议 如:json[{'0':{pageCount':'2','pageNo':'1','pageSize':'20','rowSet':'[{0},{1}....]'}}]
// 3、前后台增删改的返回状态 如:json[{'0':{'rowSet':{'NAME':'-1','VALUE':'保存失败'}}}]
src/quartz_service.properties
View file @
9d8a08a6
...
@@ -21,3 +21,5 @@ downloadFilenameEncode2 = iso8859-1
...
@@ -21,3 +21,5 @@ downloadFilenameEncode2 = iso8859-1
#------------store----------------------
#------------store----------------------
user_store_default_1gbsize
=
1073741824
user_store_default_1gbsize
=
1073741824
user_defaule_filedir
=
folder
user_defaule_filedir
=
folder
#------------lcyqApp Url---------------------------
lcyq_app_url
=
http://localhost:8080/jfV5lcyq
src/struts-ext.xml
View file @
9d8a08a6
...
@@ -133,6 +133,23 @@
...
@@ -133,6 +133,23 @@
method=
"{1}"
>
method=
"{1}"
>
<result
name=
"{1}"
>
/jwapp/pages/vote/{1}.jsp
</result>
<result
name=
"{1}"
>
/jwapp/pages/vote/{1}.jsp
</result>
</action>
</action>
<!-- 流程相关 -->
<action
name=
"processAct_*"
class=
"com.jw.app.process.action.actAction"
method=
"{1}"
>
<result
name=
"json"
type=
"json"
>
<param
name=
"root"
>
jsonObject
</param>
</result>
</action>
<action
name=
"processData_*"
class=
"com.jw.app.process.action.dataAction"
method=
"{1}"
>
<result
name=
"json"
type=
"json"
>
<param
name=
"root"
>
jsonObject
</param>
</result>
</action>
<action
name=
"processView_*"
class=
"com.jw.app.process.action.viewAction"
method=
"{1}"
>
<result
name=
"{1}"
>
/jwapp/pages/process/{1}.jsp
</result>
</action>
</package>
</package>
<package
name=
"src_jwapp_store"
extends=
"gaowj"
>
<package
name=
"src_jwapp_store"
extends=
"gaowj"
>
<action
name=
"storeAct_*"
class=
"com.jw.app.store.action.actAction"
<action
name=
"storeAct_*"
class=
"com.jw.app.store.action.actAction"
...
...
src_jwapp/com/jw/app/business/ProcessBusiness.java
0 → 100644
View file @
9d8a08a6
package
com
.
jw
.
app
.
business
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.stereotype.Service
;
import
com.gaowj.business.exception.BusinessException
;
@Service
public
interface
ProcessBusiness
{
List
<
Map
<
String
,
Object
>>
listProcess
(
Map
<
String
,
Object
>
query
)
throws
BusinessException
;
}
src_jwapp/com/jw/app/business/process/ProcessBusinessImpl.java
0 → 100644
View file @
9d8a08a6
package
com
.
jw
.
app
.
business
.
process
;
import
java.util.List
;
import
java.util.Map
;
import
com.gaowj.business.exception.BusinessException
;
import
com.jw.app.business.ProcessBusiness
;
public
class
ProcessBusinessImpl
implements
ProcessBusiness
{
private
ProcessDAO
processDAO
;
public
ProcessDAO
getProcessDAO
()
{
return
processDAO
;
}
public
void
setProcessDAO
(
ProcessDAO
processDAO
)
{
this
.
processDAO
=
processDAO
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
listProcess
(
Map
<
String
,
Object
>
query
)
throws
BusinessException
{
return
processDAO
.
listProcess
(
query
);
}
}
src_jwapp/com/jw/app/business/process/ProcessDAO.java
0 → 100644
View file @
9d8a08a6
package
com
.
jw
.
app
.
business
.
process
;
import
java.util.List
;
import
java.util.Map
;
import
com.gaowj.business.exception.BusinessException
;
public
interface
ProcessDAO
{
List
<
Map
<
String
,
Object
>>
listProcess
(
Map
<
String
,
Object
>
query
)
throws
BusinessException
;
}
src_jwapp/com/jw/app/business/process/ProcessDAO.xml
0 → 100644
View file @
9d8a08a6
<?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.jw.app.business.process.ProcessDAO"
>
<select
id=
"listProcess"
parameterType=
"map"
resultType=
"upperCaseKeyMap"
>
select * from c_t_proc_definition
</select>
</mapper>
\ No newline at end of file
src_jwapp/com/jw/app/process/action/actAction.java
0 → 100644
View file @
9d8a08a6
package
com
.
jw
.
app
.
process
.
action
;
import
java.util.List
;
import
java.util.Map
;
import
net.sf.json.JSONObject
;
import
com.jw.app.business.VoteBusiness
;
import
com.gaowj.business.SystemOpeBusiness
;
import
com.gaowj.business.action.BasicAction
;
import
com.gaowj.business.comp.BusinessManager
;
import
com.gaowj.business.exception.BusinessException
;
import
com.gaowj.business.util.QueryParamUtil
;
import
com.gaowj.business.util.RequestUtils
;
import
com.gaowj.business.util.Status
;
import
com.gaowj.standard.utils.CacheKit
;
public
class
actAction
extends
BasicAction
{
/**
*
*/
private
static
final
long
serialVersionUID
=
-
2591076090760872233L
;
private
JSONObject
jsonObject
=
new
JSONObject
();
public
JSONObject
getJsonObject
()
{
return
jsonObject
;
}
public
void
setJsonObject
(
JSONObject
jsonObject
)
{
this
.
jsonObject
=
jsonObject
;
}
/**
* 插入
* @param entity
* @throws BusinessException
*/
public
String
insertVote
()
throws
BusinessException
{
VoteBusiness
business
=
BusinessManager
.
getBusiness
(
VoteBusiness
.
class
);
Map
<
String
,
Object
>
entity
=
RequestUtils
.
getUpdateFieldMap
(
request
,
RequestUtils
.
UPDATEDATAFIELDPREFIX
);
jsonObject
=
new
JSONObject
();
try
{
entity
=
QueryParamUtil
.
StringToDate
(
entity
);
//去除不要更新的字段
entity
.
remove
(
"OPETYPE"
);
//新增
business
.
insert_vote
(
entity
);
// 操作日志
//sysbusiness.insert_logBusiness(具体方法,操作内容,操作描述,操作记录ID,操作记录中文描述,分类)
SystemOpeBusiness
sysbusiness
=
BusinessManager
.
getBusiness
(
SystemOpeBusiness
.
class
);
sysbusiness
.
insert_logBusiness
(
"insertVote"
,
""
+
entity
,
"增加学生测试数据"
,
(
String
)
entity
.
get
(
"UUID"
),
(
String
)
entity
.
get
(
"NAME"
),
"votedemo1"
);
//
//更新缓存
CacheKit
.
update
(
"ehcache11"
,
"com_jw_app_vote_dataAction_listAll"
,
business
.
list_vote
(
null
));
//
jsonObject
.
putAll
(
Status
.
getStatusSuccessMessage
(
"保存成功"
));
}
catch
(
Exception
e
)
{
jsonObject
.
putAll
(
Status
.
getStatusErrorMessage
(
"保存失败"
));
e
.
printStackTrace
();
}
return
"json"
;
}
/**
* 更新
* @param entity
* @throws BusinessException
*/
public
String
updateVote
()
throws
BusinessException
{
VoteBusiness
business
=
BusinessManager
.
getBusiness
(
VoteBusiness
.
class
);
Map
<
String
,
Object
>
entity
=
RequestUtils
.
getUpdateFieldMap
(
request
,
RequestUtils
.
UPDATEDATAFIELDPREFIX
);
try
{
//去除不要更新的字段
entity
.
remove
(
"OPETYPE"
);
//修改
entity
=
QueryParamUtil
.
StringToDate
(
entity
);
business
.
update_vote
(
entity
);
// 操作日志
SystemOpeBusiness
sysbusiness
=
BusinessManager
.
getBusiness
(
SystemOpeBusiness
.
class
);
sysbusiness
.
insert_logBusiness
(
"updateVote"
,
""
+
entity
,
"修改测试数据"
,(
String
)
entity
.
get
(
"UUID"
),
(
String
)
entity
.
get
(
"NAME"
),
"votedemo1"
);
//
jsonObject
.
putAll
(
Status
.
getStatusSuccessMessage
(
"修改成功"
));
}
catch
(
Exception
e
)
{
jsonObject
.
putAll
(
Status
.
getStatusErrorMessage
(
"修改失败"
));
e
.
printStackTrace
();
}
return
"json"
;
}
/**
* 在软删除基础上删除记录
* @param entity
* @throws BusinessException
*/
public
String
deleteVote
()
throws
BusinessException
{
VoteBusiness
business
=
BusinessManager
.
getBusiness
(
VoteBusiness
.
class
);
Map
<
String
,
Object
>
entity
=
RequestUtils
.
getUpdateFieldMap
(
request
,
RequestUtils
.
UPDATEDATAFIELDPREFIX
);
String
deletekey
=
(
String
)
entity
.
get
(
"CODE"
);
List
<
String
>
ListKey
=
QueryParamUtil
.
StringToList
(
deletekey
);
try
{
business
.
delete_vote
(
ListKey
);
// 操作日志
SystemOpeBusiness
sysbusiness
=
BusinessManager
.
getBusiness
(
SystemOpeBusiness
.
class
);
sysbusiness
.
insert_logBusiness
(
"deleteVote"
,
""
+
ListKey
,
"删除测试数据"
,
deletekey
,
"多个流水号"
,
"votedemo1"
);
//
jsonObject
.
putAll
(
Status
.
getStatusSuccessMessage
(
"删除成功"
));
}
catch
(
Exception
e
)
{
jsonObject
.
putAll
(
Status
.
getStatusErrorMessage
(
"删除失败"
));
e
.
printStackTrace
();
}
return
"json"
;
}
}
src_jwapp/com/jw/app/process/action/dataAction.java
0 → 100644
View file @
9d8a08a6
package
com
.
jw
.
app
.
process
.
action
;
import
java.sql.SQLException
;
import
java.text.ParseException
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.gaowj.business.action.BasicAction
;
import
com.gaowj.business.comp.BusinessManager
;
import
com.gaowj.business.exception.BusinessException
;
import
com.gaowj.business.util.QueryParamUtil
;
import
com.gaowj.business.util.RequestUtils
;
import
com.jw.app.business.ProcessBusiness
;
import
net.sf.json.JSONObject
;
public
class
dataAction
extends
BasicAction
{
/**
*
*/
private
static
final
long
serialVersionUID
=
1829141492939513911L
;
private
JSONObject
jsonObject
=
new
JSONObject
();
private
int
rows
=
20
;
// 每页显示的记录数
private
int
page
=
1
;
// 当前第几页
public
JSONObject
getJsonObject
()
{
return
jsonObject
;
}
public
void
setJsonObject
(
JSONObject
jsonObject
)
{
this
.
jsonObject
=
jsonObject
;
}
public
int
getRows
()
{
return
rows
;
}
public
void
setRows
(
int
rows
)
{
this
.
rows
=
rows
;
}
public
int
getPage
()
{
return
page
;
}
public
void
setPage
(
int
page
)
{
this
.
page
=
page
;
}
/**
* 获取流程定义
*
* @param entity
* @throws BusinessException
*/
public
String
listProcess
()
throws
BusinessException
{
ProcessBusiness
business
=
BusinessManager
.
getBusiness
(
ProcessBusiness
.
class
);
Map
<
String
,
Object
>
query
=
RequestUtils
.
getUpdateFieldMap
(
request
,
RequestUtils
.
UPDATEDATAFIELDPREFIX
);
try
{
query
=
QueryParamUtil
.
StringToDate
(
query
);
List
<
Map
<
String
,
Object
>>
listRows
=
business
.
listProcess
(
query
);
setPageCount
((
listRows
.
size
()
-
1
)
/
pageSize
+
1
);
Map
<
String
,
Object
>
data
=
new
HashMap
<
String
,
Object
>();
data
.
put
(
"rowSet"
,
QueryParamUtil
.
DateTimeToString
(
listRows
));
data
.
put
(
"pageNo"
,
pageNo
);
data
.
put
(
"pageSize"
,
pageSize
);
data
.
put
(
"pageCount"
,
pageCount
);
data
.
put
(
"rows"
,
data
.
get
(
"rowSet"
));
data
.
put
(
"total"
,
listRows
.
size
());
jsonObject
=
new
JSONObject
();
jsonObject
.
putAll
(
data
);
}
catch
(
SQLException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
catch
(
ParseException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
return
"json"
;
}
}
src_jwapp/com/jw/app/process/action/viewAction.java
0 → 100644
View file @
9d8a08a6
package
com
.
jw
.
app
.
process
.
action
;
import
java.util.Map
;
import
com.gaowj.business.action.BasicAction
;
import
com.gaowj.business.exception.BusinessException
;
import
com.gaowj.business.util.RequestUtils
;
public
class
viewAction
extends
BasicAction
{
/**
*
*/
private
static
final
long
serialVersionUID
=
-
6259964352154128000L
;
public
String
voteTab
()
throws
BusinessException
{
return
"voteTab"
;
}
public
String
voteTabDetail
()
throws
BusinessException
{
Map
<
String
,
Object
>
query
=
RequestUtils
.
getUpdateFieldMapUtf8
(
request
,
RequestUtils
.
UPDATEDATAFIELDPREFIX
);
request
.
setAttribute
(
"is_row"
,
query
);
return
"voteTabDetail"
;
}
public
String
voteAdvsearch
()
throws
BusinessException
{
Map
<
String
,
Object
>
query
=
RequestUtils
.
getUpdateFieldMapUtf8
(
request
,
RequestUtils
.
UPDATEDATAFIELDPREFIX
);
request
.
setAttribute
(
"is_row"
,
query
);
return
"voteAdvsearch"
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment