Commit 9d8a08a6 by 罗绍泽

办事大厅集成

parent e58a9dda
...@@ -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&amp;characterEncoding=utf8&amp;autoReconnect=true&amp;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
<?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>
...@@ -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 = [
...@@ -353,3 +387,58 @@ function init_office_history_list(){ ...@@ -353,3 +387,58 @@ 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
<%@ 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 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>
<!-- 审批模块 --> <!-- 审批模块 -->
<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" />
<span>我要审批</span>
<a href="#">只显示待审批申请</a>
</div> </div>
<div class="col-md-12 office_examine office_table">
<table id="office_examine"></table> <!-- 进度查询模块 -->
<div class="office_module row" style="display:none">
<iframe id="progressRate" style="width:100%" src="<%=procApp %>/processView_progressRate"></iframe>
</div>
<!-- 历史查询模块 -->
<div class="office_module row" style="display:none">
<iframe id="progressHistory" style="width:100%" src="<%=procApp %>/processView_progressHistory"></iframe>
</div> </div>
</div>
<!-- 进度查询模块 --> <!--主容器结尾-->
<div class="office_module row" style="display:none"> </div>
<div class="office_module_title col-md-12"> <input type="text" id="procAppUrl" value="<%=procApp%>">
<img src="${ctx}/custom/images/office_title.png" height="16" width="16" /> <!-- 内容部分2 -->
<span>进度查询</span> <div class="container-fluid" id="process_content2" style="display:none;">
<!-- 背景图 -->
<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> <div>
<input type="text" /><img src="${ctx}/custom/images/office_search.png" width="24" height="24" /> <span>*</span><span>必填</span>
</div> </div>
</div> </div>
<div class="col-md-12 office_examine office_table"> <div class="officeDetail_content_div col-md-12" style="text-align: center;">
<table id="office_progress"></table> <img id="proc_iframe_loading" src="${ctx}/custom/images/loading.gif" />
<iframe id="proc_iframe" style="width:100%;"></iframe>
</div> </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="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 class="col-md-12 office_examine office_table">
<table id="office_history"></table>
</div> </div>
</div>
<!--主容器结尾--> <!--主容器结尾-->
</div> </div>
<!-- 尾部 --> <!-- 尾部 -->
<jsp:include page="/footer.jsp"></jsp:include> <jsp:include page="/footer.jsp"></jsp:include>
</body> </body>
</html> </html>
//此乃本模块与后台交互的方法接口部分
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':'保存失败'}}}]
...@@ -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
...@@ -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"
......
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 ;
}
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);
}
}
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 ;
}
<?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
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";
}
}
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";
}
}
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";
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment