easyUI复杂表头的实现以及合计功能,修改弹出框(合同备案管理)

1.主JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="aisino.reportform.model.base.SessionInfo"%>
<%
	String contextPath = request.getContextPath();
	SessionInfo sessionInfo = (SessionInfo) session
			.getAttribute("sessionInfo");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    
    <title>增值税发票风险防控系统</title>
	<jsp:include page="../../../inc.jsp"></jsp:include>
	<style type = "text/css">
		.begin{
			align-items: center;
    		justify-content: center;
		}
		.searchTime{
			width:70%
		}
		.buttonTime{
			width:30%
		}
		.datagrid-htable tr{
			rowspan:2;
		}
		.gb{
			background-color:transparent;
		}
	</style>
	<script>
	var export_flag=0;
	function onLoadSuccess() {
		if(document.getElementById("contractRecord-total")){//判断合计是否已存在(防止排序时合计重复加载)
			return;
		}
		
		var beginTime = $("#dateBoxBegin").datebox("getValue");  
		var endTime = 	$("#dateBoxEnd").datebox("getValue");
		var kjnsrsbh = $("#kjnsrsbh").val();  
		var kjmc = 	$("#kjmc").val();
		var search_type = $("#lx").val(); 
		if(search_type==0){
			search_type='';
		}
		if(search_type==1){
			search_type='指定扣缴类';
		}
		if(search_type==2){
			search_type='法定源泉类';
		}
		$.ajax({
		    url: sy.contextPath + '/base/contract-record!doNotNeedSecurity_compute.sy',
		 	type: "post",
		 	data: {
		 		"export_flag" : export_flag,
				"beginTime": beginTime,
				"endTime": endTime,
				"kjnsrsbh": kjnsrsbh,
				"kjmc": kjmc,
				"search_type": search_type
	        },
		    dataType: "json",
		    success: function (result) {
		    	//alert(result.success);
		    	//alert(result.obj.compute_list.length);
		    	//alert(result.obj.compute_list[0].ZYBSESDS);
		    	for(var i=0;i<result.obj.compute_list.length;i++){
		    		var ZYBSEZZS = 0;
		    		if(result.obj.compute_list[i].ZYBSEZZS!=null&&result.obj.compute_list[i].ZYBSEZZS!=''&&result.obj.compute_list[i].ZYBSEZZS!='undefined'){
		    			ZYBSEZZS = result.obj.compute_list[i].ZYBSEZZS;
		    		}
		    		var ZYBSESDS = 0;
		    		if(result.obj.compute_list[i].ZYBSESDS!=null&&result.obj.compute_list[i].ZYBSESDS!=''&&result.obj.compute_list[i].ZYBSESDS!='undefined'){
		    			ZYBSESDS = result.obj.compute_list[i].ZYBSESDS;
		    		}
		    		$('#mainInfo').datagrid('appendRow', {
		        		//action:'<span>合计</span>',
		        		YBSEZZS: '<span style="font-weight:bold" >'+ ZYBSEZZS +'</span>',
		        		YBSESDS: '<span style="font-weight:bold" class="YBSESDS">' + ZYBSESDS + '</span>',
		        	});
		    		
		    	}
		    }
		});
		
  	}
		/* //添加“合计”行
		function onLoadSuccess() {
			if(document.getElementById("nonResidentFixedDividendTaX-total")){//判断合计是否已存在(防止排序时合计重复加载)
				return;
			}
		
	    	$('#mainInfo').datagrid('appendRow', {
	    		//action:'<span>合计</span>',
	    		YBSEZZS: '<span style="font-weight:bold" >'+ compute("YBSEZZS") +'</span>',
	    		YBSESDS: '<span style="font-weight:bold" class="YBSESDS">' + compute("YBSESDS") + '</span>',
	    	});
	  	}
		//合计列值计算方法
		function compute(colName) {
			//var grid=$('#mainInfo').datagrid('getData');
	    	var rows = $('#mainInfo').datagrid('getRows');
	    	var total = 0;
	    	for (var i = 0; i < rows.length; i++) {
	    		if(rows[i][colName]!='undefined'&&rows[i][colName]!=''&&rows[i][colName]!=null){
	    			total += parseFloat(rows[i][colName]);
        		}else{
        			total += 0;
        		}
	        
	    	}
	    
	    	return total;
		} */
	
		//更新汇率
		var dialog;
		function updateRate(){
			dialog = sy.modalDialog({
				title : '更新汇率',
				url : sy.contextPath + '/securityJsp/base/linsa/contractRecord_updateRate.jsp',
				height : 350,
				width : 500
			});
		}
		
		//修改列表数据
		var dialog;
		function update(bh,xl,zzs,sds,lxr,dh,bz,fjmqynsrsbh){
			//alert(bh);
			dialog = sy.modalDialog({
				title : '设置',
				url : sy.contextPath + '/securityJsp/base/linsa/contractRecord_update.jsp?bh='+bh
						+"&xl="+encodeURI(encodeURI(xl))+"&sds="+encodeURI(encodeURI(sds))
						+"&zzs="+encodeURI(encodeURI(zzs))+"&lxr="+encodeURI(encodeURI(lxr))
						+"&dh="+encodeURI(encodeURI(dh))+"&bz="+encodeURI(encodeURI(bz))
						+"&fjmqynsrsbh="+encodeURI(encodeURI(fjmqynsrsbh)),
				height : 300,
				width : 400
			});
		}
		
		var export_flag=0;
		//导出EXCEL
		function export_excle(){
			var beginTime = $("#dateBoxBegin").datebox("getValue");  
			var endTime = 	$("#dateBoxEnd").datebox("getValue");
			var kjnsrsbh = $("#kjnsrsbh").val();  
			var kjmc = 	$("#kjmc").val();
			var search_type = $("#lx").val(); 
			if(search_type==0){
				search_type='';
			}
			if(search_type==1){
				search_type='指定扣缴类';
			}
			if(search_type==2){
				search_type='法定源泉类';
			}
			
			$.post(sy.contextPath + '/base/contract-record!doNotNeedSessionAndSecurity_export.sy', {
				export_flag:export_flag,beginTime:beginTime,endTime:endTime,kjnsrsbh:kjnsrsbh,kjmc:kjmc,search_type:search_type
			}, function(data) {
				if(data.success){
					$('#dd').dialog('open');
					$('#downloadurl').attr("href",sy.contextPath+"/upload/"+data.msg);
				}else{
					alert("没有查询到相关数据!");
				}
			}, 'json');
		}
		/* 在这里书写对应的代码,包括了对应的ajax */
		$(document).ready(function(){  
                $("#searchBtn").click(function(){  
                    var search = $('#searchBox').searchbox('menu');    
                });  
                var datagrid = $('#mainInfo').datagrid({
                   
                    toolbar:'#toolBar',
                    striped:true,			//	配置每一行的颜色为不同
                    fitColumns:false,		//自动宽度
                    rownumbers : true,		//行号
					pagination : true,		//分页
					scrollbarSize :0,
					pageSize : 50,
					//onLoadSuccess: compute,
					showFooter:true,  //显示合计
                    url:sy.contextPath + '/base/contract-record!doNotNeedSessionAndSecurity_findByType.sy', 
                    //固定在左边的列
                    frozenColumns: [[
                        {field:'设置',rowspan:2,colspan:1,title:'操作',width:100,align:'center',formatter: function(value,row,index){
                  					var str='';
                  					if(row.KJYWRMC!=null&&row.KJYWRNSRSBH!=null){//判断是否为合计行
                  						str=sy.formatString('<input type="button" value="设置" id="shezhi" onclick="update(\'{0}\',\'{1}\',\'{2}\',\'{3}\',\'{4}\',\'{5}\',\'{6}\',\'{7}\');"/>',
                      							row.HTDJBH,row.SDLXXL,row.KJZZSSL,row.KJSDSSL,row.LXR,row.DH,row.BZXX,row.FJMQYNSRSBH);
                              		}else{//为合计行
                              			str+='<span style="font-weight:bold" id="contractRecord-total">合计</span>';
                              		}	
                            	  return str;
                  			  }}
                    ]],
                    columns:[[
							  {field:'ID',rowspan:2,colspan:1,title:'序号',width:100,hidden:true},
                              {field:'HTBARQ',rowspan:2,colspan:1,title:'合同备案日期',width:100,align:'center'},
  			    			  //{field:'KJYWRMC',rowspan:2,colspan:1,title:'扣缴义务人<br>名称',width:100,align:'center'},
  			    			  {field:'KJYWRMC',rowspan:2,colspan:1,title:'扣缴义务人<br>名称',width:300,align:'center',formatter: function(value,row,index){
  			    				if(value==undefined){
            						value = "";
            					};
  			    				var str='';
              					str=sy.formatString('<input class="gb" type="text" title="'+value+'" value="'+value+'" style="width:300px; border: 0px;text-align:center;"/>');
                        	  return str;
              			  	  }},
                              {field:'KJYWRNSRSBH',rowspan:2,colspan:1,title:'扣缴义务人<br>纳税人识别号',width:150,align:'center'},
                              {field:'KJYWLX',rowspan:2,colspan:1,title:'扣缴义务类型',width:100,align:'center'},
                              {field:'LXR',rowspan:2,colspan:1,title:'联系人',width:100,align:'center'},
                              {field:'DH',rowspan:2,colspan:1,title:'电话',width:100,align:'center'},
                              {field:'FJMQYNSRSBH',rowspan:2,colspan:1,title:'非居民企业<br>纳税人识别号',width:150,align:'center'},
                              //{field:'FJMQYMC',rowspan:2,colspan:1,title:'非居民<br>企业名称',width:100,align:'center'},
                              {field:'FJMQYMC',rowspan:2,colspan:1,title:'非居民<br>企业名称',width:200,align:'center',formatter: function(value,row,index){
                            	  	if(value==undefined){
              							value = "";
              						};
                            	    var str='';
                					str=sy.formatString('<input class="gb" type="text" title="'+value+'" value="'+value+'" style="width:200px; border: 0px;text-align:center;"/>');
                          	  return str;
                			  	  }},
                              //{field:'FJMYWMC',rowspan:2,colspan:1,title:'非居民<br>英文企业名称',width:100,align:'center'},
                              {field:'FJMYWMC',rowspan:2,colspan:1,title:'非居民<br>英文企业名称',width:200,align:'center',formatter: function(value,row,index){
                            	if(value==undefined){
              						value = "";
              					};
                            	var str='';
              					str=sy.formatString('<input class="gb" type="text" title="'+value+'" value="'+value+'" style="width:200px; border: 0px;text-align:center;"/>');
                        	  return str;
              			  	  }},
                              //{field:'FJMYWDZ',rowspan:2,colspan:1,title:'非居民<br>英文地址',width:100,align:'center'},
                              {field:'FJMYWDZ',rowspan:2,colspan:1,title:'非居民<br>英文地址',width:200,align:'center',formatter: function(value,row,index){
                            	  	if(value==undefined){
              							value = "";
              						};
                            	    var str='';
                					str=sy.formatString('<input class="gb" type="text" title="'+value+'" value="'+value+'" style="width:200px; border: 0px;text-align:center;"/>');
                          	  return str;
                			  	  }},
                              //{field:'GJ',rowspan:2,colspan:1,title:'国家',width:100,align:'center'},
                              {field:'GJ',rowspan:2,colspan:1,title:'国家',width:150,align:'center',formatter: function(value,row,index){
                            	if(value==undefined){
              						value = "";
              					};
                            	var str='';
              					str=sy.formatString('<input class="gb" type="text" title="'+value+'" value="'+value+'" style="width:150px; border: 0px;text-align:center;"/>');
                        	  return str;
              			  	  }},
                              //{field:'HTXMMC',rowspan:2,colspan:1,title:'合同项目名称',width:100,align:'center'},
                              {field:'HTXMMC',rowspan:2,colspan:1,title:'合同项目名称',width:150,align:'center',formatter: function(value,row,index){
                            	  	if(value==undefined){
              							value = "";
              						};
                            	    var str='';
                					str=sy.formatString('<input class="gb" type="text" title="'+value+'" value="'+value+'" style="width:150px; border: 0px;text-align:center;"/>');
                          	  return str;
                			  	  }},
                              {field:'HTDJBH',rowspan:2,colspan:1,title:'合同登记编号',width:150,align:'center'},
  			    			  {field:'HTH',rowspan:2,colspan:1,title:'合同号',width:100,align:'center'},
  			    			  {field:'HTQDRQ',rowspan:2,colspan:1,title:'合同签订日期',width:100,align:'center'},
                              {field:'HTZFCS',rowspan:2,colspan:1,title:'合同支付次数',width:100,align:'center'},
                              {field:'HTZXQSSJ',rowspan:2,colspan:1,title:'合同执行<br>起始时间',width:100,align:'center'},
                              {field:'HTZXZZSJ',rowspan:2,colspan:1,title:'合同执行<br>终止时间',width:100,align:'center'},
                              {field:'',rowspan:1,colspan:2,title:'合同总价款',width:200,align:'center'},
                              {field:'',rowspan:1,colspan:4,title:'已支付金额<br>(支付备案信息)',width:400,align:'center'},
                              {field:'',rowspan:1,colspan:2,title:'所得类型',width:200,align:'center'},
                              {field:'',rowspan:1,colspan:2,title:'应纳税额',width:200,align:'center'},
  			    			  {field:'',rowspan:1,colspan:2,title:'应补(退)税额',width:100,align:'center'},
                              {field:'',rowspan:1,colspan:2,title:'税款入库日期',width:100,align:'center'},
                              {field:'',rowspan:1,colspan:2,title:'扣缴税额',width:200,align:'center'},
  			    			  {field:'',rowspan:1,colspan:2,title:'扣缴税率',width:200,align:'center'},
                              //{field:'BZXX',rowspan:2,colspan:1,title:'备注',width:100,align:'center'}
  			    			  {field:'BZXX',rowspan:2,colspan:1,title:'备注',width:150,align:'center',formatter: function(value,row,index){
  			    				if(value==undefined){
            						value = "";
            					};
  			    				var str='';
            					str=sy.formatString('<input class="gb" type="text" title="'+value+'" value="'+value+'" style="width:150px; border: 0px;text-align:center;"/>');
                      	  		return str;
            			  	  }}
                         ],[
							  {field:'BZMC',rowspan:1,colspan:1,title:'币种',width:100,align:'center'},
  							  {field:'HTZJK',rowspan:1,colspan:1,title:'外币金额',width:100,align:'center'},
                              {field:'YZFHBMC',rowspan:1,colspan:1,title:'币种',width:100,align:'center'},
                  			  {field:'YZFJE',rowspan:1,colspan:1,title:'外币金额',width:100,align:'center'},
                  			  {field:'HL',rowspan:1,colspan:1,title:'汇率',width:100,align:'center'},
                              {field:'ZHRMB',rowspan:1,colspan:1,title:'折合人民币',width:100,align:'center'},
                              //{field:'SDLXDL',rowspan:1,colspan:1,title:'大类',width:100,align:'center'},
                              {field:'SDLXDL',rowspan:2,colspan:1,title:'大类',width:150,align:'center',formatter: function(value,row,index){
                            	if(value==undefined){
              						value = "";
              					};
                            	var str='';
              					str=sy.formatString('<input class="gb" type="text" title="'+value+'" value="'+value+'" style="width:150px; border: 0px;text-align:center;"/>');
                        	  return str;
              			  	  }},
                              //{field:'SDLXXL',rowspan:1,colspan:1,title:'明细',width:100,align:'center'},
                              {field:'SDLXXL',rowspan:2,colspan:1,title:'明细',width:150,align:'center',formatter: function(value,row,index){
                            	  	if(value==undefined){
              							value = "";
              						};
                            	    var str='';
                					str=sy.formatString('<input class="gb" type="text" title="'+value+'" value="'+value+'" style="width:150px; border: 0px;text-align:center;"/>');
                          	  return str;
                			  	  }},
                              {field:'YNSEZZS',rowspan:1,colspan:1,title:'增值税',width:100,align:'center'},
                              {field:'YNSESDS',rowspan:1,colspan:1,title:'所得税',width:100,align:'center'},
                              {field:'YBSEZZS',rowspan:1,colspan:1,title:'增值税',width:100,align:'center'},
                              {field:'YBSESDS',rowspan:1,colspan:1,title:'所得税',width:100,align:'center'},
                              {field:'SKRKRQZZS',rowspan:1,colspan:1,title:'增值税',width:100,align:'center'},
                              {field:'SKRKRQSDS',rowspan:1,colspan:1,title:'所得税',width:100,align:'center'},
                              {field:'KJ_ZZS',rowspan:1,colspan:1,title:'增值税',width:100,align:'center'},
                              {field:'KJ_SDS',rowspan:1,colspan:1,title:'所得税',width:100,align:'center'},
                              {field:'KJZZSSL',rowspan:1,colspan:1,title:'增值税',width:100,align:'center'},
                              {field:'KJSDSSL',rowspan:1,colspan:1,title:'所得税',width:100,align:'center'}
                      ]],
                      onLoadSuccess:function(data){
  						onLoadSuccess();//添加“合计”行
  					  }
                      /* var dataGrid = null;
                      //获取数据传过来的所有数据
                      onLoadSuccess: function(data){
              	    	if(dataGrid == null){
              	    		dataGrid = data;
              	    	}
              	    	$.messager.progress('close');
              			console.log(data.total);
              	    } */

      });
                var mydate = new Date();
                var nowTime=mydate.toLocaleString();
                /* 定义时间的搜索 */
                $("#dateBoxBegin").datebox({
                    required:false,
                    currentText:nowTime
                });
                $("#dateBoxEnd").datebox({
                    required:false,
                    currentText:nowTime
                });
            });  
		/*查找所有派单内容的方法*/
		function toFind(type){
			/*这里进行当前查询内容的赋值*/
			var nowType = type;
				
			if(nowType == "bySearch"){
				var beginTime = $("#dateBoxBegin").datebox("getValue");  
				var endTime = 	$("#dateBoxEnd").datebox("getValue");
				var kjnsrsbh = $("#kjnsrsbh").val();  
				var kjmc = 	$("#kjmc").val();
				var search_type = $("#lx").val(); 
				export_flag=1;
				if(search_type==0){
					search_type='';
				}
				if(search_type==1){
					search_type='指定扣缴类';
				}
				if(search_type==2){
					search_type='法定源泉类';
				}
				$('#mainInfo').datagrid('load',{                          
	                "nowType":nowType,
	                "beginTime":beginTime,
	                "endTime":endTime,
	                "kjnsrsbh":kjnsrsbh,
	                "kjmc":kjmc,
	                "search_type":search_type,
	            }); 
			};
			
		}
		
	</script>
  </head>
  <body>
   		<!-- 一个大的div,这个div,用来对时间进行布局 -->
   		
   		<div class = "begin easyui-layout">
   			
   			<div id="toolBar">
   			<table>
   				<tr>
   			 	<td>
   				<span style="padding-left:4vw;">合同备案日期起:</span>
   				<input id="dateBoxBegin"  class="easyui-textbox" >
   				合同备案日期止:
   				<input id="dateBoxEnd" type="text">
				<select id="lx" name="lx" style="width:10.5vw;height:1.8vw;" class="easyui-textbox">
					<option value="0">请选择</option>
					<option value="1">指定扣缴类</option>
					<option value="2">法定源泉类</option>
				</select>
				</td>
   			 </tr>
   			 <tr>
   			 	<td><span style="width=20px;">扣缴义务人纳税人识别号:</span>
   				<input id="kjnsrsbh" type="text" class="easyui-textbox" data-options="iconCls:'ext-icon-brick_go'" >
   				扣缴义务人名称:
   				<input id="kjmc" type="text" class="easyui-textbox" data-options="iconCls:'ext-icon-brick_go'" >
				<a href="javascript:void(0);" class="easyui-linkbutton"
						data-options="iconCls:'ext-icon-zoom_out'" onclick = "toFind('bySearch')">搜索</a>
   				<a href="javascript:void(0);" class="easyui-linkbutton"
					data-options="iconCls:'ext-icon-disk'"
					onclick="export_excle();">导出excel</a>
				<a href="javascript:void(0);" class="easyui-linkbutton"
					data-options="iconCls:'ext-icon-brick_go'"
					onclick="updateRate();">更新汇率</a>
				</td>
   			 </tr>
   			</table>
   			</div>
   		</div>
   		<!-- 创建分页 beagin -->
        <table id="mainInfo" class="datagrid" style="width: 100%;" data-options="fit:true,border:false">
        	
        </table>
        
        <div title="excel文件下载" closed="true" modal="true" class="easyui-dialog" id="dd" style="width:200px;height:120px;padding:10px">
			<a id="downloadurl" class="easyui-linkbutton" data-options="iconCls:'ext-icon-disk'">下载excel文件</a>
		</div>
		
  </body>
</html>

2.修改页面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.UUID"%>
<%@ page import="aisino.reportform.model.base.SessionInfo"%>
<%
UUID uuid = UUID.randomUUID(); 
SessionInfo sessionInfo = (SessionInfo) session.getAttribute("sessionInfo");
String name=sessionInfo.getUser().getName();
String lx=sessionInfo.getUser().getLx();
%>
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%>
<%
	/* String bt= java.net.URLDecoder.decode(request.getParameter("bt"),"UTF-8"); */   
%>

<!DOCTYPE HTML>
<html>
  <head>
	<jsp:include page="../../../inc.jsp"></jsp:include>
    <title>设置</title>
     <style>
    	#save{
    		position:relative;
    		right:10px;
    	}
    	
    </style>
    <script >
	//保存修改
	function doSave(){
		 var bh = "<%=request.getParameter("bh").toString()%>";
		 var xl = $("#xl").val();
		 var sds = $("#sds").val();
		 var zzs = $("#zzs").val();
		 var fjmqynsrsbh = $("#fjmqynsrsbh").val();
		 //alert(bh);
		
		 if(xl!=null&&xl!=""&&sds!=null&&sds!=""&&zzs!=null&&zzs!=""){
			 
		 }else{
			 $.messager.alert('提示', '请将设置信息填写完整!', 'info');
			 return;
		 }
		$.messager.confirm('提示','确定保存?',function(result){
			
			if(result){
				$.messager.progress({ 
					title:'请稍后', 
					msg:'数据提交中...'
					});
				$("#targetForm").form("submit",{
					url:sy.contextPath + '/base/contract-record!doNotNeedSecurity_update.sy?bh='+bh+"&xl="+encodeURI(encodeURI(xl))+"&sds="+encodeURI(encodeURI(sds))+"&zzs="+encodeURI(encodeURI(zzs))
					+"&lxr="+encodeURI(encodeURI(lxr))+"&dh="+encodeURI(encodeURI(dh))+"&fjmqynsrsbh="+encodeURI(encodeURI(fjmqynsrsbh)),
					 onSubmit: function () {
					},
				    success:function(data){ 
				    	$.messager.progress('close');
				    	var data = eval('(' + data + ')');   
				    	if(data.success){
				    		alert(data.msg);
				    		//$.messager.alert('提示', data.msg, 'info');
				    		parent.$("#mainInfo").datagrid('reload');
				    		parent.dialog.dialog("close"); 
				    	}else{
				    		 $.messager.alert('提示', '设置失败!'+data.msg, 'error');
				    	}
				    }
				});
			}
		}); 
	}

	$(document).ready(function(){  
	 	var yxl = "<%=java.net.URLDecoder.decode(request.getParameter("xl").toString(),"UTF-8")%>";
	 	var yzzs = "<%=java.net.URLDecoder.decode(request.getParameter("zzs").toString(),"UTF-8")%>";
	 	var ysds = "<%=java.net.URLDecoder.decode(request.getParameter("sds").toString().toString(),"UTF-8")%>";
	 	var ylxr = "<%=java.net.URLDecoder.decode(request.getParameter("lxr").toString(),"UTF-8")%>";
	 	var ydh = "<%=java.net.URLDecoder.decode(request.getParameter("dh").toString().toString(),"UTF-8")%>";
	 	var ybz = "<%=java.net.URLDecoder.decode(request.getParameter("bz").toString().toString(),"UTF-8")%>";
	 	var yfjmqynsrsbh = "<%=java.net.URLDecoder.decode(request.getParameter("fjmqynsrsbh").toString().toString(),"UTF-8")%>";
	 	//alert(yzzs);
	 	if(yxl!='undefined'){
	 		$("#xl").val(yxl);
	 	}
	 	if(yzzs!='undefined'){
	 		$("#zzs").val(yzzs);
	 	}
	 	if(ysds!='undefined'){
	 		$("#sds").val(ysds);
	 	}
	 	if(ylxr!='undefined'){
	 		$("#lxr").val(ylxr);
	 	}
	 	if(ydh!='undefined'){
	 		$("#dh").val(ydh);
	 	}
	 	if(ybz!='undefined'){
	 		$("#bz").val(ybz);
	 	}
	 	if(yfjmqynsrsbh!='undefined'){
	 		$("#fjmqynsrsbh").val(yfjmqynsrsbh);
	 	}
	});
    </script>
  </head>
  
  <body  class="easyui-layout" data-options="fit:true,border:false">
    <form id="targetForm" enctype="multipart/form-data"  method="post" class="form">
    <br />
		<fieldset>
		<legend>设置</legend>
			
			<table class="table" style="width: 100%;font-size:14px">
				<tr>
					<th>所得类型(小类)</th>
					<td><input id="xl"  type="text" name="xl" class="easyui-textbox"/></td>
				</tr>
				<tr>
					<th>扣缴税率(增值税)</th>
					<td><input id="zzs"  type="text" name="zzs" class="easyui-textbox"/></td>
				</tr>
				<tr>
					<th>扣缴税率(所得税)</th>
					<td><input id="sds"  type="text" name="sds" class="easyui-textbox"/></td>
				</tr>
				<tr>
					<th>联系人</th>
					<td><input id="lxr"  type="text" name="lxr" class="easyui-textbox"/></td>
				</tr>
				<tr>
					<th>电话</th>
					<td><input id="dh"  type="text" name="dh" class="easyui-textbox"/></td>
				</tr>
				<tr>
					<th>备注</th>
					<td><input id="bz"  type="text" name="bz" class="easyui-textbox"/></td>
				</tr>
				<tr>
					<th></th>
					<td><input type="hidden" id="fjmqynsrsbh" type="text" name="fjmqynsrsbh"></input></td>
				</tr>
			</table>
			
		</fieldset>
		
 		<fieldset>
		<tr>
	    	<div style="text-align:right">
	    	<td style="text-align:center;width:100%">
	    		<a href="javascript:void(0);" class="easyui-linkbutton" style="display:inline-block" iconCls="icon-save" onclick="doSave();"><span id="save" >保存</span></a>
	    	</td>
	    	</div>
	    </tr>
		</fieldset>
	</form>
  </body>
</html>

3.更新汇率

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.UUID"%>
<%@ page import="aisino.reportform.model.base.SessionInfo"%>
<%
UUID uuid = UUID.randomUUID(); 
SessionInfo sessionInfo = (SessionInfo) session.getAttribute("sessionInfo");
String name=sessionInfo.getUser().getName();
String lx=sessionInfo.getUser().getLx();
%>
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%>
<%
	/* String bt= java.net.URLDecoder.decode(request.getParameter("bt"),"UTF-8"); */   
%>

<!DOCTYPE HTML>
<html>
  <head>
	<jsp:include page="../../../inc.jsp"></jsp:include>
    <title>更新汇率</title>
    <link href="../../../css/jquery.searchableSelect.css" rel="stylesheet" type="text/css">
    <script src="../../../js/jquery.searchableSelect.js"></script>
    <style>
    	.searchable-select-holder{
    		text-align:left;
    	}
    	#save{
    		position:relative;
    		right:10px;
    	}
    </style>
    <script >
    
	//保存修改
	function doSave(){
		 var hl = $("#hl").val();
		 var bz = $("#bz option:selected").val();
		 var bzmc = $("#bz option:selected").text();
		 //alert(bzmc);
		 if(bz!=null&&bz!=""&&hl!=null&&hl!=""){
			 
		 }else{
			 $.messager.alert('提示', '请将修改信息填写完整!', 'info');
			 return;
		 }
		$.messager.confirm('提示','确定保存?',function(result){
			if(result){
				$.messager.progress({ 
					title:'请稍后', 
					msg:'数据提交中...'
					});
				$("#targetForm").form("submit",{
					url:sy.contextPath + '/base/contract-record!doNotNeedSecurity_updateRate.sy?hl='+hl+"&bz="+encodeURI(encodeURI(bz))+"&bzmc="+encodeURI(encodeURI(bzmc)),
					 onSubmit: function () {
					},
				    success:function(data){ 
				    	$.messager.progress('close');
				    	var data = eval('(' + data + ')'); 
				    	if(data.success){
				    		parent.$("#mainInfo").datagrid('reload');
				    		parent.dialog.dialog("close");    
				    		
				    	}else{
				    		 $.messager.alert('提示', '修改失败!'+data.msg, 'error');
				    	}
				    }
				});
			}
		});
	}
	$(document).ready(function(){  
		$.ajax({
		    url: sy.contextPath + '/base/contract-record!doNotNeedSecurity_getRate.sy',
		 	type: "post",
		    dataType: "json",
		    success: function (result) {
		    	//alert(result.success);
		    	//alert(result.obj.bzList.length);
		    	//alert(result.obj.bzList[0].HBSZ_DM);
		    	//删除所有内容
		    	$("#bz option").remove();
		    	for(var i=0;i<result.obj.bzList.length;i++){
		    		$("#bz").append(
		    			'<option value="'+result.obj.bzList[i].HBSZ_DM+'">'+result.obj.bzList[i].HBMC+'</option>'
		    		);
		    		
		    	}
		    	$('select').searchableSelect();
		    }
		});
	});
    </script>
  </head>
  
  <body  class="easyui-layout" data-options="fit:true,border:false">
    <form id="targetForm" enctype="multipart/form-data"  method="post" class="form">
    <br />
		<fieldset>
		<legend>更新汇率</legend>
		<table class="table" style="width: 100%;font-size:14px">
		<tr>
		<th>
		<select id="bz" name="bz" style="width:200px;">
			
		</select>

		</th>
		<td><input id="hl"  type="text" name="hl" style="height:30px;"/></td>
		</tr>
		</table>
						
		</fieldset>
		
 		<fieldset>
 		<br>
		<tr>
	    	<div style="text-align:right">
	    	<td style="text-align:center;width:100%">
	    		<a  href="javascript:void(0);" class="easyui-linkbutton" style="display:inline-block;height:30px;" iconCls="icon-save" onclick="doSave();"><span id="save" >保存</span></a>
	    	</td>
	    	</div>
	    </tr>
		</fieldset>
	</form>
  </body>
</html>

4.Java类

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.util.CellRangeAddress;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.springframework.beans.factory.annotation.Autowired;

import aisino.reportform.action.BaseAction;
import aisino.reportform.model.base.SessionInfo;
import aisino.reportform.model.base.TF_pd;
import aisino.reportform.model.easyui.Grid;
import aisino.reportform.model.easyui.Json;
import aisino.reportform.service.base.FindDispatchActionServicel;

/**
 *
 * @Title:ContractRecordAction
 * @Description: 合同管理台账控制器
 * @author linsa
 * @version V1.04
 * @date 2018年6月25日
 */
@Namespace("/base")
@Action
public class ContractRecordAction extends BaseAction<TF_pd> {

    @Autowired
    private FindDispatchActionServicel findDispatchActionServicel;

    public void setFindDispatchActionServicel(
            FindDispatchActionServicel findDispatchActionServicel) {
        this.findDispatchActionServicel = findDispatchActionServicel;
    }

    //台账列表
    public void doNotNeedSessionAndSecurity_findByType() {
        /* 首先new一个json类出来,用来保存json数据 */
        Grid grid = new Grid();
        Json json = new Json();
        try {
            this.getRequest().setCharacterEncoding("utf-8");
            this.getResponse().setCharacterEncoding("utf-8");
            /* 得到当前从页面传递回来的类型参数 */
            String type = this.getRequest().getParameter("nowType");
            String hql = "select a.HTBARQ,a.HTDJBH,a.KJYWRMC,a.KJYWRNSRSBH,a.KJYWLX,a.LXR,a.DH,"
                    +"a.FJMYWMC,a.FJMYWDZ,a.FJMQYNSRSBH,a.FJMQYMC,a.GJ,a.HTXMMC,a.HTH,a.HTZJK,"
                    +"a.HTQDRQ,a.BZXX,a.HTZFCS,a.YZFHBMC,a.YZFJE,a.SDLXDL,a.SDLXXL,"
                    +"a.YNSEZZS,a.YNSESDS,a.YBSEZZS,a.YBSESDS,a.BZMC,"
                    +"a.HTZXQSSJ,a.HTZXZZSJ,a.SKRKRQSDS,a.SKRKRQZZS,a.KJ_ZZS,a.KJ_SDS,"
                    +"a.KJZZSSL,a.KJSDSSL,b.HL,a.YZFJE*b.HL ZHRMB from FHMQYDWZFXX a "
                    + "LEFT JOIN BZXX b on a.YZFHBSZ_DM=b.BZSZDM";
            String sql = "select count(*) from FHMQYDWZFXX";
            int number = -1; // 这个是判断查询那种类型的内容
            List list = new ArrayList();
            long listSize = 0; // 返回页面的大小。
            int number1 = Integer.parseInt(this.getRequest().getParameter(
                    "page")); // 当前页数
            int number2 = Integer.parseInt(this.getRequest().getParameter(
                    "rows")); // 每页大小
            if ("bySearch".equals(type)) {
                // 根据时间进行查询
                String beginTime = this.getRequest().getParameter("beginTime"); // 开始查询
                String endTime = this.getRequest().getParameter("endTime"); // 结束时间
                // 根据扣缴义务人纳税人识别号或扣缴义务人名称进行查询
                String kjnsrsbh = this.getRequest().getParameter("kjnsrsbh"); // 扣缴义务人纳税人识别号
                String kjmc = this.getRequest().getParameter("kjmc"); // 扣缴义务人名称
                // 根据扣缴义务类型进行查询
                String search_type = this.getRequest().getParameter("search_type"); // 扣缴义务类型

                hql += " where 1=1";
                sql += " where 1=1";

                if(beginTime != null && !"".equals(beginTime)){
                    hql += " and a.HTBARQ >= '" + beginTime.replace("-", "")
                            + "'";
                    sql += " and HTBARQ >= '" + beginTime.replace("-", "")
                            + "'";
                }
                if(endTime != null && !"".equals(endTime)){
                    hql += " and a.HTBARQ <= '" + endTime.replace("-", "")
                            + "'";
                    sql += " and HTBARQ <= '" + endTime.replace("-", "")
                            + "'";
                }
                if((kjnsrsbh != null && !"".equals(kjnsrsbh))||(kjmc != null && !"".equals(kjmc))){
                    hql += " and (a.KJYWRNSRSBH = '" + kjnsrsbh
                            + "' or a.KJYWRMC = '" +kjmc
                            + "')";
                    sql += " and (KJYWRNSRSBH = '" + kjnsrsbh
                            + "' or KJYWRMC = '" +kjmc
                            + "')";
                }
                if(search_type != null && !"".equals(search_type)){
                    hql += " and a.KJYWLX = '" + search_type
                            + "'";
                    sql += " and KJYWLX = '" + search_type
                            + "'";
                }

            }
            hql += " ORDER BY a.HTBARQ asc";

            list = findDispatchActionServicel.findBySql(hql, number1, number2);
            Long total = findDispatchActionServicel.countBySql(sql);
            listSize = list.size();
            grid.setRows(list);
            grid.setTotal(total);
            json.setSuccess(true);
            writeJson(grid);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            BaseAction.LOG.info("合同管理查询列表异常:doNotNeedSessionAndSecurity_findByType 时间:"+new Date());
        }

    }

    //台账导出EXCEL
    public void doNotNeedSessionAndSecurity_export(){
        String export_flag = getRequest().getParameter("export_flag");

        String sql = "select a.HTBARQ,a.HTDJBH,a.KJYWRMC,a.KJYWRNSRSBH,a.KJYWLX,a.LXR,a.DH,"
                +"a.FJMYWMC,a.FJMYWDZ,a.FJMQYNSRSBH,a.FJMQYMC,a.GJ,a.HTXMMC,a.HTH,"
                +"a.HTZJK,a.HTQDRQ,a.HTZFCS,a.YZFHBMC,a.YZFJE,a.SDLXDL,a.SDLXXL,"
                +"a.YNSEZZS,a.YNSESDS,a.YBSEZZS,a.YBSESDS,a.BZXX,a.KJ_ZZS,a.KJ_SDS,"
                +"a.HTZXQSSJ,a.HTZXZZSJ,a.SKRKRQSDS,a.SKRKRQZZS,a.BZMC,"
                +"a.KJZZSSL,a.KJSDSSL,b.HL,concat(a.YZFJE*b.HL,'') ZHRMB "
                +"from FHMQYDWZFXX a LEFT JOIN BZXX b on a.YZFHBSZ_DM=b.BZSZDM ";
        switch (export_flag) {
            case "1":
                // 根据时间进行查询
                String beginTime = this.getRequest().getParameter("beginTime"); // 开始查询
                String endTime = this.getRequest().getParameter("endTime"); // 结束时间
                // 根据扣缴义务人纳税人识别号或扣缴义务人名称进行查询
                String kjnsrsbh = this.getRequest().getParameter("kjnsrsbh"); // 扣缴义务人纳税人识别号
                String kjmc = this.getRequest().getParameter("kjmc"); // 扣缴义务人名称
                // 根据扣缴义务类型进行查询
                String search_type = this.getRequest().getParameter("search_type"); // 扣缴义务类型

                sql += " where 1=1";

                if(beginTime != null && !"".equals(beginTime)){
                    sql += " and HTBARQ >= '" + beginTime.replace("-", "")
                            + "'";
                }
                if(endTime != null && !"".equals(endTime)){
                    sql += " and HTBARQ <= '" + endTime.replace("-", "")
                            + "'";
                }
                if((kjnsrsbh != null && !"".equals(kjnsrsbh))||(kjmc != null && !"".equals(kjmc))){
                    sql += " and (KJYWRNSRSBH = '" + kjnsrsbh
                            + "' or KJYWRMC = '" +kjmc
                            + "')";
                }
                if(search_type != null && !"".equals(search_type)){
                    sql += " and KJYWLX = '" + search_type
                            + "'";
                }
                break;
            default:
                break;
        }
        sql += " ORDER BY a.HTBARQ asc";
        // 第一步,创建一个webbook,对应一个Excel文件
        XSSFWorkbook wb = new XSSFWorkbook();
        // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
        XSSFSheet sheet = wb.createSheet("Sheet1");
        // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
        XSSFRow row1 = sheet.createRow((int) 0);
        XSSFRow row2 = sheet.createRow((int) 1);
        // 第四步,创建单元格,并设置值表头 设置表头居中
		/*XSSFCellStyle headerStyle = wb.createCellStyle();
		XSSFFont headerFont = wb.createFont();	//标题字体
		headerFont.setFontName("宋体");
		headerFont.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
		headerFont.setFontHeightInPoints((short) 12);// 字体大小
		headerStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
		headerStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
		headerStyle.setFont(headerFont);
		sheet.getRow(0).setRowStyle(headerStyle);*/
        //sheet.setDefaultColumnWidth(20);//设置列宽
        //sheet.setDefaultRowHeight((short)(25*20));//设置行高

        short width = 25,height=15*25;
        sheet.setDefaultColumnWidth(width);
        sheet.setDefaultRowHeight(height);
        for(int i=0;i<=37;i++){
            if(i<19||i==37){
                sheet.addMergedRegion(new CellRangeAddress(0,1,i,i));
            }
        }
        sheet.addMergedRegion(new CellRangeAddress(0,0,19,20));
        sheet.addMergedRegion(new CellRangeAddress(0,0,21,24));
        sheet.addMergedRegion(new CellRangeAddress(0,0,25,26));
        sheet.addMergedRegion(new CellRangeAddress(0,0,27,28));
        sheet.addMergedRegion(new CellRangeAddress(0,0,29,30));
        sheet.addMergedRegion(new CellRangeAddress(0,0,31,32));
        sheet.addMergedRegion(new CellRangeAddress(0,0,33,34));
        sheet.addMergedRegion(new CellRangeAddress(0,0,35,36));

        XSSFCellStyle style = wb.createCellStyle();
        style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
        style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
        row1.setRowStyle(style);
        row1.createCell(0).setCellValue("序号");
        row1.createCell(1).setCellValue("合同备案日期");
        row1.createCell(2).setCellValue("扣缴义务人名称");
        row1.createCell(3).setCellValue("扣缴义务人纳税人识别号");
        row1.createCell(4).setCellValue("扣缴义务类型");
        row1.createCell(5).setCellValue("联系人");
        row1.createCell(6).setCellValue("电话");
        row1.createCell(7).setCellValue("非居民纳税人识别号");
        row1.createCell(8).setCellValue("非居民企业名称");
        row1.createCell(9).setCellValue("非居民英文企业名称");
        row1.createCell(10).setCellValue("非居民英文地址");
        row1.createCell(11).setCellValue("国家");
        row1.createCell(12).setCellValue("合同项目名称");
        row1.createCell(13).setCellValue("合同登记编号");
        row1.createCell(14).setCellValue("合同号");
        row1.createCell(15).setCellValue("合同签订日期");
        row1.createCell(16).setCellValue("合同支付次数");
        row1.createCell(17).setCellValue("合同执行起始时间");
        row1.createCell(18).setCellValue("合同执行终止时间");
        row1.createCell(19).setCellValue("合同总价款");
        row1.createCell(20).setCellValue("");
        row1.createCell(21).setCellValue("已支付金额(支付备案信息)");
        row1.createCell(22).setCellValue("");
        row1.createCell(23).setCellValue("");
        row1.createCell(24).setCellValue("");
        row1.createCell(25).setCellValue("所得类型");
        row1.createCell(26).setCellValue("");
        row1.createCell(27).setCellValue("应纳税额");
        row1.createCell(28).setCellValue("");
        row1.createCell(29).setCellValue("应补(退)税额");
        row1.createCell(30).setCellValue("");
        row1.createCell(31).setCellValue("税款入库日期");
        row1.createCell(32).setCellValue("");
        row1.createCell(33).setCellValue("扣缴税额");
        row1.createCell(34).setCellValue("");
        row1.createCell(35).setCellValue("扣缴税率");
        row1.createCell(36).setCellValue("");
        row1.createCell(37).setCellValue("备注");

        row2.createCell(19).setCellValue("币种");
        row2.createCell(20).setCellValue("外币金额");
        row2.createCell(21).setCellValue("币种");
        row2.createCell(22).setCellValue("外币金额");
        row2.createCell(23).setCellValue("汇率");
        row2.createCell(24).setCellValue("折合人民币");
        row2.createCell(25).setCellValue("大类");
        row2.createCell(26).setCellValue("明细");
        row2.createCell(27).setCellValue("增值税");
        row2.createCell(28).setCellValue("所得税");
        row2.createCell(29).setCellValue("增值税");
        row2.createCell(30).setCellValue("所得税");
        row2.createCell(31).setCellValue("增值税");
        row2.createCell(32).setCellValue("所得税");
        row2.createCell(33).setCellValue("增值税");
        row2.createCell(34).setCellValue("所得税");
        row2.createCell(35).setCellValue("增值税");
        row2.createCell(36).setCellValue("所得税");
        List<HashMap> result_list = findDispatchActionServicel.findBySql(sql);
        if(result_list!=null&&result_list.size()>0){
            for (int j = 0; j < result_list.size(); j++) {
                //XSSFRow r = sheet.createRow((int) (j + 2));
                Row r = sheet.createRow(j + 2);

                r.createCell(0).setCellValue(""+(j + 1));

                String HTBARQ = (String) result_list.get(j).get("HTBARQ");
                r.createCell(1).setCellValue(HTBARQ);
                String KJYWRMC = (String) result_list.get(j).get("KJYWRMC");
                r.createCell(2).setCellValue(KJYWRMC);
                String KJYWRNSRSBH = (String) result_list.get(j).get("KJYWRNSRSBH");
                r.createCell(3).setCellValue(KJYWRNSRSBH);
                String KJYWLX = (String) result_list.get(j).get("KJYWLX");
                r.createCell(4).setCellValue(KJYWLX);
                String LXR = (String) result_list.get(j).get("LXR");
                r.createCell(5).setCellValue(LXR);
                String DH = (String) result_list.get(j).get("DH");
                r.createCell(6).setCellValue(DH);
                String FJMQYNSRSBH = (String) result_list.get(j).get("FJMQYNSRSBH");
                r.createCell(7).setCellValue(FJMQYNSRSBH);
                String FJMQYMC = (String) result_list.get(j).get("FJMQYMC");
                r.createCell(8).setCellValue(FJMQYMC);
                String FJMYWMC = (String) result_list.get(j).get("FJMYWMC");
                r.createCell(9).setCellValue(FJMYWMC);
                String FJMYWDZ = (String) result_list.get(j).get("FJMYWDZ");
                r.createCell(10).setCellValue(FJMYWDZ);
                String GB = (String) result_list.get(j).get("GJ");
                r.createCell(11).setCellValue(GB);
                String HTXMMC = (String) result_list.get(j).get("HTXMMC");
                r.createCell(12).setCellValue(HTXMMC);
                String HTDJBH = (String) result_list.get(j).get("HTDJBH");
                r.createCell(13).setCellValue(HTDJBH);
                String HTH = (String) result_list.get(j).get("HTH");
                r.createCell(14).setCellValue(HTH);
                String HTQDRQ = (String) result_list.get(j).get("HTQDRQ");
                r.createCell(15).setCellValue(HTQDRQ);
                String HTZFCS = (String) result_list.get(j).get("HTZFCS");
                r.createCell(16).setCellValue(HTZFCS);
                String HTZXQSSJ = (String) result_list.get(j).get("HTZXQSSJ");
                r.createCell(17).setCellValue(HTZXQSSJ);
                String HTZXZZSJ = (String) result_list.get(j).get("HTZXZZSJ");
                r.createCell(18).setCellValue(HTZXZZSJ);
                String BZMC = (String) result_list.get(j).get("BZMC");
                r.createCell(19).setCellValue(BZMC);
                String HTZJK = (String) result_list.get(j).get("HTZJK");
                r.createCell(20).setCellValue(HTZJK);
                String YZFHBMC = (String) result_list.get(j).get("YZFHBMC");
                r.createCell(21).setCellValue(YZFHBMC);
                String YZFJE = (String) result_list.get(j).get("YZFJE");
                r.createCell(22).setCellValue(YZFJE);
                String HL = (String) result_list.get(j).get("HL");
                r.createCell(23).setCellValue(HL);
                String ZHRMB = (String) result_list.get(j).get("ZHRMB");
                r.createCell(24).setCellValue(ZHRMB);
                String SDLXDL = (String) result_list.get(j).get("SDLXDL");
                r.createCell(25).setCellValue(SDLXDL);
                String SDLXXL = (String) result_list.get(j).get("SDLXXL");
                r.createCell(26).setCellValue(SDLXXL);
                String YNSEZZS = (String) result_list.get(j).get("YNSEZZS");
                r.createCell(27).setCellValue(YNSEZZS);
                String YNSESDS = (String) result_list.get(j).get("YNSESDS");
                r.createCell(28).setCellValue(YNSESDS);
                String YBSEZZS = (String) result_list.get(j).get("YBSEZZS");
                r.createCell(29).setCellValue(YBSEZZS);
                String YBSESDS = (String) result_list.get(j).get("YBSESDS");
                r.createCell(30).setCellValue(YBSESDS);
                String SKRKRQZZS = (String) result_list.get(j).get("SKRKRQZZS");
                r.createCell(31).setCellValue(SKRKRQZZS);
                String SKRKRQSDS = (String) result_list.get(j).get("SKRKRQSDS");
                r.createCell(32).setCellValue(SKRKRQSDS);
                String KJZZS = (String) result_list.get(j).get("KJ_ZZS");
                r.createCell(33).setCellValue(KJZZS);
                String KJSDS = (String) result_list.get(j).get("KJ_SDS");
                r.createCell(34).setCellValue(KJSDS);
                String KJZZSSL = (String) result_list.get(j).get("KJZZSSL");
                r.createCell(35).setCellValue(KJZZSSL);
                String KJSDSSL = (String) result_list.get(j).get("KJSDSSL");
                r.createCell(36).setCellValue(KJSDSSL);
                String BZ = (String) result_list.get(j).get("BZXX");
                r.createCell(37).setCellValue(BZ);

            }
        }
        String uploadPath = ServletActionContext.getServletContext()
                .getRealPath("upload");

        SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhh24mmss");// 设置日期格式
        String date = df.format(new Date());// new Date()为获取当前系统时间
        String excelName = "";
        excelName = date + ".xlsx";
        FileOutputStream fout;
        try {
            fout = new FileOutputStream(uploadPath + "/"
                    + excelName);
            wb.write(fout);
            fout.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            BaseAction.LOG.info("合同管理Excel导出异常(文件找不到):doNotNeedSessionAndSecurity_export 时间:"+new Date());
        } catch (IOException e) {
            e.printStackTrace();
            BaseAction.LOG.info("合同管理Excel导出异常(IO流异常):doNotNeedSessionAndSecurity_export 时间:"+new Date());
        }

        Json json = new Json();
        json.setSuccess(true);
        json.setMsg(excelName);
        writeJson(json);

    }

    //更新台账所得类型小类及税率信息并进行预警
    public void doNotNeedSecurity_update(){
        Json json=new Json();
        try {
            this.getRequest().setCharacterEncoding("utf-8");
            this.getResponse().setCharacterEncoding("utf-8");
            HttpServletRequest request = ServletActionContext.getRequest();
            HttpSession session = request.getSession();
            SessionInfo sessionInfo = (SessionInfo)session.getAttribute("sessionInfo");
            String name=sessionInfo.getUser().getName();
            System.out.println(name);
            String bh = java.net.URLDecoder.decode(getRequest().getParameter("bh").toString(),"UTF-8");
            String xl = java.net.URLDecoder.decode(getRequest().getParameter("xl").toString(),"UTF-8");
            String sds = java.net.URLDecoder.decode(getRequest().getParameter("sds").toString(),"UTF-8");
            String zzs = java.net.URLDecoder.decode(getRequest().getParameter("zzs").toString(),"UTF-8");
            String lxr = java.net.URLDecoder.decode(getRequest().getParameter("lxr").toString(),"UTF-8");
            String dh = java.net.URLDecoder.decode(getRequest().getParameter("dh").toString(),"UTF-8");
            String bz = java.net.URLDecoder.decode(getRequest().getParameter("bz").toString(),"UTF-8");
            String fjmqynsrsbh = java.net.URLDecoder.decode(getRequest().getParameter("fjmqynsrsbh").toString(),"UTF-8");
            String hql = "update FHMQYDWZFXX set SDLXXL='"+xl+"',KJSDSSL='"
                    +sds+"',KJZZSSL='"+zzs+"',LXR='"+lxr+"',DH='"+dh+"',BZXX='"+bz+"' where HTDJBH='"+bh+"'";
            findDispatchActionServicel.executeSql(hql);
            String sql = "select YZFJE,YZFHBSZ_DM,HTZJK,BZ,KJ_ZZS,KJ_SDS,SDSSR,ZZSJSYJ,FJMQYNSRSBH,NSRZTMC,"
                    +"FJMQYMC,DJXH,SHXYDM,HYMC,JYFW,SWJGMC,SWRYXM from FHMQYDWZFXX where FJMQYNSRSBH='"+fjmqynsrsbh+"'";
            List<HashMap> result_list = findDispatchActionServicel.findBySql(sql);
            System.out.println(result_list);
            String qql = "select HL from BZXX where BZSZDM='"+result_list.get(0).get("YZFHBSZ_DM")+"'";
            List<HashMap> result_list1 = findDispatchActionServicel.findBySql(qql);
            String wql = "select HL from BZXX where BZSZDM='"+result_list.get(0).get("BZ")+"'";
            List<HashMap> result_list2 = findDispatchActionServicel.findBySql(wql);

            //处理高精度数据
            BigDecimal YZFJE = new BigDecimal("0");
            if((String) result_list.get(0).get("YZFJE")!=null&&(String) result_list.get(0).get("YZFJE")!=""){
                YZFJE = new BigDecimal(Double.parseDouble((String) result_list.get(0).get("YZFJE")));
            }
            BigDecimal YZFHL = new BigDecimal("0");
            if((String) result_list1.get(0).get("HL")!=null&&(String) result_list1.get(0).get("HL")!=""){
                YZFHL = new BigDecimal(Double.parseDouble((String) result_list1.get(0).get("HL")));
            }
            BigDecimal HTZJK = new BigDecimal("0");
            if((String) result_list.get(0).get("HTZJK")!=null&&(String) result_list.get(0).get("HTZJK")!=""){
                HTZJK = new BigDecimal(Double.parseDouble((String) result_list.get(0).get("HTZJK")));
            }
            BigDecimal HTHL = new BigDecimal("0");
            if((String) result_list2.get(0).get("HL")!=null&&(String) result_list2.get(0).get("HL")!=""){
                HTHL = new BigDecimal(Double.parseDouble((String) result_list2.get(0).get("HL")));
            }
            BigDecimal KJ_ZZS = new BigDecimal("0");
            if((String) result_list.get(0).get("KJ_ZZS")!=null&&(String) result_list.get(0).get("KJ_ZZS")!=""){
                KJ_ZZS = new BigDecimal(Double.parseDouble((String) result_list.get(0).get("KJ_ZZS")));
            }
            BigDecimal KJ_SDS = new BigDecimal("0");
            if((String) result_list.get(0).get("KJ_SDS")!=null&&(String) result_list.get(0).get("KJ_SDS")!=""){
                KJ_SDS = new BigDecimal(Double.parseDouble((String) result_list.get(0).get("KJ_SDS")));
            }
            BigDecimal SDSSR = new BigDecimal("0");
            if((String) result_list.get(0).get("SDSSR")!=null&&(String) result_list.get(0).get("SDSSR")!=""){
                SDSSR = new BigDecimal(Double.parseDouble((String) result_list.get(0).get("SDSSR")));
            }
            BigDecimal ZZSJSYJ = new BigDecimal("0");
            if((String) result_list.get(0).get("ZZSJSYJ")!=null&&(String) result_list.get(0).get("ZZSJSYJ")!=""){
                ZZSJSYJ = new BigDecimal(Double.parseDouble((String) result_list.get(0).get("ZZSJSYJ")));
            }
            String FJMQYNSRSBH = (String) result_list.get(0).get("FJMQYNSRSBH");
            String FJMQYMC = (String) result_list.get(0).get("FJMQYMC");
            String DJXH = (String) result_list.get(0).get("DJXH");
            String SHXYDM = (String) result_list.get(0).get("SHXYDM");
            String HYMC = (String) result_list.get(0).get("HYMC");
            String JYFW = (String) result_list.get(0).get("JYFW");
            String SWJGMC = (String) result_list.get(0).get("SWJGMC");
            String SWRYXM = (String) result_list.get(0).get("SWRYXM");
            String NSRZTMC = (String) result_list.get(0).get("NSRZTMC");
            String msg = "";
            /*
             * 支付进度预警
             */
            if((YZFJE.multiply(YZFHL)).compareTo(HTZJK.multiply(HTHL))==-1){
                String aql = "select NSRSBH from FJM_DWZFJDYJ";
                List<HashMap> result = findDispatchActionServicel.findBySql(aql);
                boolean isHas = true;
                if(result!=null&&result.size()>0){
                    for (int a = 0; a < result.size(); a++) {
                        String NSRSBH = (String) result.get(a).get("NSRSBH");
                        if(FJMQYNSRSBH.equals(NSRSBH)){
                            isHas=false;
                            break;
                        }
                    }
                }
                String bql = "";
                if(isHas){
                    bql = "insert into FJM_DWZFJDYJ(ID,NSRSBH,DJXH,NSRMC,SHXYDM,NSRZTMC,HYMC,JYFW,SWJGMC,SWRYXM,"
                            +"ZBLX,ZT,YXBZ,FXRY,PGRY,CREATE_TIME,YWBS,TDYJXX_ONE,TDYJXX_TWO) values(sys_guid(),'"
                            +FJMQYNSRSBH+"','"+DJXH+"','"+FJMQYMC+"','"+SHXYDM+"','"+NSRZTMC+"','"+HYMC+"','"
                            +JYFW+"','"+SWJGMC+"','"+SWRYXM+"','BZLX','0','0','"
                            +name+"','"+name+"',sysdate,'0','"+(YZFJE.multiply(YZFHL)).toString()+"','"+(HTZJK.multiply(HTHL)).toString()+"')";
                }else{
                    bql = "update FJM_DWZFJDYJ set TDYJXX_ONE='"+(YZFJE.multiply(YZFHL)).toString()+"',TDYJXX_TWO='"+(HTZJK.multiply(HTHL)).toString()+"'where NSRSBH='"+FJMQYNSRSBH+"'";
                }
                findDispatchActionServicel.executeSql(bql);
                msg=msg+"请前往对外支付支付进度预警查看!\r";
            }else{
                String aql = "select NSRSBH from FJM_DWZFJDYJ";
                List<HashMap> result = findDispatchActionServicel.findBySql(aql);
                boolean isHas = true;
                if(result!=null&&result.size()>0){
                    for (int a = 0; a < result.size(); a++) {
                        String NSRSBH = (String) result.get(a).get("NSRSBH");
                        if(FJMQYNSRSBH.equals(NSRSBH)){
                            isHas=false;
                            break;
                        }
                    }
                }
                String bql = "";
                if(!isHas){
                    bql = "delete from FJM_DWZFJDYJ where NSRSBH='"+FJMQYNSRSBH+"'";
                    findDispatchActionServicel.executeSql(bql);
                }
            }
            /*
             * 扣缴所得税未扣缴增值税预警
             */
            if(KJ_SDS.compareTo(new BigDecimal("0"))==1&&KJ_ZZS.compareTo(new BigDecimal("0"))!=1){
                String aql = "select NSRSBH from FJM_DWZFWKJZZSYJ";
                List<HashMap> result = findDispatchActionServicel.findBySql(aql);
                boolean isHas = true;
                if(result!=null&&result.size()>0){
                    for (int a = 0; a < result.size(); a++) {
                        String NSRSBH = (String) result.get(a).get("NSRSBH");
                        if(FJMQYNSRSBH.equals(NSRSBH)){
                            isHas=false;
                            break;
                        }
                    }
                }
                String bql = "";
                if(isHas){
                    bql = "insert into FJM_DWZFWKJZZSYJ(ID,NSRSBH,DJXH,NSRMC,SHXYDM,NSRZTMC,HYMC,JYFW,SWJGMC,SWRYXM,"
                            +"ZBLX,ZT,YXBZ,FXRY,PGRY,CREATE_TIME,YWBS,TDYJXX_ONE,TDYJXX_TWO) values(sys_guid(),'"
                            +FJMQYNSRSBH+"','"+DJXH+"','"+FJMQYMC+"','"+SHXYDM+"','"+NSRZTMC+"','"+HYMC+"','"
                            +JYFW+"','"+SWJGMC+"','"+SWRYXM+"','BZLX','0','0','"
                            +name+"','"+name+"',sysdate,'0','"+KJ_ZZS.toString()+"','"+KJ_SDS.toString()+"')";
                }else{
                    bql = "update FJM_DWZFWKJZZSYJ set TDYJXX_ONE='"+KJ_ZZS.toString()+"',TDYJXX_TWO='"+KJ_SDS.toString()+"'where NSRSBH='"+FJMQYNSRSBH+"'";
                }
                findDispatchActionServicel.executeSql(bql);
                msg=msg+"请前往对外支付扣缴所得税未扣缴增值税预警查看!\r";
            }else{
                String aql = "select NSRSBH from FJM_DWZFWKJZZSYJ";
                List<HashMap> result = findDispatchActionServicel.findBySql(aql);
                boolean isHas = true;
                if(result!=null&&result.size()>0){
                    for (int a = 0; a < result.size(); a++) {
                        String NSRSBH = (String) result.get(a).get("NSRSBH");
                        if(FJMQYNSRSBH.equals(NSRSBH)){
                            isHas=false;
                            break;
                        }
                    }
                }
                String bql = "";
                if(!isHas){
                    bql = "delete from FJM_DWZFWKJZZSYJ where NSRSBH='"+FJMQYNSRSBH+"'";
                    findDispatchActionServicel.executeSql(bql);
                }
            }
            /*
             * 增值税扣缴金额少于支付金额预警
             */
            if(KJ_ZZS.compareTo(ZZSJSYJ)==-1){
                String aql = "select NSRSBH from FJM_DWZFZZSSKJYJ";
                List<HashMap> result = findDispatchActionServicel.findBySql(aql);
                boolean isHas = true;
                if(result!=null&&result.size()>0){
                    for (int a = 0; a < result.size(); a++) {
                        String NSRSBH = (String) result.get(a).get("NSRSBH");
                        if(FJMQYNSRSBH.equals(NSRSBH)){
                            isHas=false;
                            break;
                        }
                    }
                }
                String bql = "";
                if(isHas){
                    bql = "insert into FJM_DWZFZZSSKJYJ(ID,NSRSBH,DJXH,NSRMC,SHXYDM,NSRZTMC,HYMC,JYFW,SWJGMC,SWRYXM,"
                            +"ZBLX,ZT,YXBZ,FXRY,PGRY,CREATE_TIME,YWBS,TDYJXX_ONE,TDYJXX_TWO) values(sys_guid(),'"
                            +FJMQYNSRSBH+"','"+DJXH+"','"+FJMQYMC+"','"+SHXYDM+"','"+NSRZTMC+"','"+HYMC+"','"
                            +JYFW+"','"+SWJGMC+"','"+SWRYXM+"','BZLX','0','0','"
                            +name+"','"+name+"',sysdate,'0','"+KJ_ZZS.toString()+"','"+ZZSJSYJ.toString()+"')";
                }else{
                    bql = "update FJM_DWZFZZSSKJYJ set TDYJXX_ONE='"+KJ_ZZS.toString()+"',TDYJXX_TWO='"+ZZSJSYJ.toString()+"'where NSRSBH='"+FJMQYNSRSBH+"'";
                }
                findDispatchActionServicel.executeSql(bql);
                msg=msg+"请前往对外支付增值税扣缴金额少于支付金额预警查看!\r";
            }else{
                String aql = "select NSRSBH from FJM_DWZFZZSSKJYJ";
                List<HashMap> result = findDispatchActionServicel.findBySql(aql);
                boolean isHas = true;
                if(result!=null&&result.size()>0){
                    for (int a = 0; a < result.size(); a++) {
                        String NSRSBH = (String) result.get(a).get("NSRSBH");
                        if(FJMQYNSRSBH.equals(NSRSBH)){
                            isHas=false;
                            break;
                        }
                    }
                }
                String bql = "";
                if(!isHas){
                    bql = "delete from FJM_DWZFZZSSKJYJ where NSRSBH='"+FJMQYNSRSBH+"'";
                    findDispatchActionServicel.executeSql(bql);
                }
            }
            /*
             * 所得税扣缴金额少于支付金额预警
             */
            if(KJ_SDS.compareTo(SDSSR)==-1){
                String aql = "select NSRSBH from FJM_DWZFSDSSKJYJ";
                List<HashMap> result = findDispatchActionServicel.findBySql(aql);
                boolean isHas = true;
                if(result!=null&&result.size()>0){
                    for (int a = 0; a < result.size(); a++) {
                        String NSRSBH = (String) result.get(a).get("NSRSBH");
                        if(FJMQYNSRSBH.equals(NSRSBH)){
                            isHas=false;
                            break;
                        }
                    }
                }
                String bql = "";
                if(isHas){
                    bql = "insert into FJM_DWZFSDSSKJYJ(ID,NSRSBH,DJXH,NSRMC,SHXYDM,NSRZTMC,HYMC,JYFW,SWJGMC,SWRYXM,"
                            +"ZBLX,ZT,YXBZ,FXRY,PGRY,CREATE_TIME,YWBS,TDYJXX_ONE,TDYJXX_TWO) values(sys_guid(),'"
                            +FJMQYNSRSBH+"','"+DJXH+"','"+FJMQYMC+"','"+SHXYDM+"','"+NSRZTMC+"','"+HYMC+"','"
                            +JYFW+"','"+SWJGMC+"','"+SWRYXM+"','BZLX','0','0','"
                            +name+"','"+name+"',sysdate,'0','"+KJ_SDS.toString()+"','"+SDSSR.toString()+"')";
                }else{
                    bql = "update FJM_DWZFSDSSKJYJ set TDYJXX_ONE='"+KJ_SDS.toString()+"',TDYJXX_TWO='"+SDSSR.toString()+"'where NSRSBH='"+FJMQYNSRSBH+"'";
                }
                findDispatchActionServicel.executeSql(bql);
                msg=msg+"请前往对外支付所得税扣缴金额少于支付金额预警查看!";
            }else{
                String aql = "select NSRSBH from FJM_DWZFSDSSKJYJ";
                List<HashMap> result = findDispatchActionServicel.findBySql(aql);
                boolean isHas = true;
                if(result!=null&&result.size()>0){
                    for (int a = 0; a < result.size(); a++) {
                        String NSRSBH = (String) result.get(a).get("NSRSBH");
                        if(FJMQYNSRSBH.equals(NSRSBH)){
                            isHas=false;
                            break;
                        }
                    }
                }
                String bql = "";
                if(!isHas){
                    bql = "delete from FJM_DWZFSDSSKJYJ where NSRSBH='"+FJMQYNSRSBH+"'";
                    findDispatchActionServicel.executeSql(bql);
                }
            }
            json.setMsg(msg);
            json.setSuccess(true);
        } catch (UnsupportedEncodingException e) {
            json.setSuccess(false);
            e.printStackTrace();
            BaseAction.LOG.info("合同管理更新信息并进行预警异常:doNotNeedSecurity_update 时间:"+new Date());
        }
        writeJson(json);
    }

    //获取币种列表
    public void doNotNeedSecurity_getRate(){
        Json json=new Json();
        String sql = "select HBSZ_DM,HBMC from HX_DM_QG.DM_GY_HB@CDSJFF";
        List<HashMap> bzList = findDispatchActionServicel.findBySql(sql);
		/*List<HashMap> bzList = new ArrayList<HashMap>();
		HashMap map1 = new HashMap();
		map1.put("HBSZ_DM", "840");
		map1.put("HBMC", "美元");
		HashMap map2 = new HashMap();
		map2.put("HBSZ_DM", "978");
		map2.put("HBMC", "欧元");
		bzList.add(map1);
		bzList.add(map2);*/
        //返回json到前端
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("bzList", bzList);
        json.setObj(map);
        json.setSuccess(true);
        writeJson(json);
    }

    //更新台账汇率
    public void doNotNeedSecurity_updateRate(){
        Json json=new Json();
        try {
            this.getRequest().setCharacterEncoding("utf-8");
            this.getResponse().setCharacterEncoding("utf-8");
            String hl = java.net.URLDecoder.decode(getRequest().getParameter("hl").toString(),"UTF-8");
            String bz = java.net.URLDecoder.decode(getRequest().getParameter("bz").toString(),"UTF-8");
            String bzmc = java.net.URLDecoder.decode(getRequest().getParameter("bzmc").toString(),"UTF-8");
            String sql = "select BZSZDM from BZXX";
            List<HashMap> result_list = findDispatchActionServicel.findBySql(sql);
            boolean isHas = true;
            if(result_list!=null&&result_list.size()>0){
                for (int j = 0; j < result_list.size(); j++) {
                    String BZ = (String) result_list.get(j).get("BZSZDM");
                    if(bz.equals(BZ)){
                        isHas=false;
                        break;
                    }
                }
            }
            String hql = "";
            if(isHas){
                hql = "insert into BZXX(BZSZDM,BZMC,HL) values('"
                        +bz+"','"+bzmc+"','"+hl+"')";
            }else{
                hql = "update BZXX set hl='"+hl+"'where BZSZDM='"+bz+"'";
            }
            findDispatchActionServicel.executeSql(hql);
            json.setSuccess(true);
        } catch (Exception e) {
            json.setSuccess(false);
            e.printStackTrace();
            BaseAction.LOG.info("合同管理更新汇率:doNotNeedSecurity_updateRate 时间:"+new Date());
        }
        writeJson(json);
    }
    //计算应补(退)税额合计
    public void doNotNeedSecurity_compute(){
        Json json=new Json();
        try {
            this.getRequest().setCharacterEncoding("utf-8");
            this.getResponse().setCharacterEncoding("utf-8");
            String export_flag = getRequest().getParameter("export_flag");

            String sql = "select sum(YBSESDS) ZYBSESDS,sum(YBSEZZS) ZYBSEZZS from FHMQYDWZFXX";
            switch (export_flag) {
                case "1":
                    // 根据时间进行查询
                    String beginTime = this.getRequest().getParameter("beginTime"); // 开始查询
                    String endTime = this.getRequest().getParameter("endTime"); // 结束时间
                    // 根据扣缴义务人纳税人识别号或扣缴义务人名称进行查询
                    String kjnsrsbh = this.getRequest().getParameter("kjnsrsbh"); // 扣缴义务人纳税人识别号
                    String kjmc = this.getRequest().getParameter("kjmc"); // 扣缴义务人名称
                    // 根据扣缴义务类型进行查询
                    String search_type = this.getRequest().getParameter("search_type"); // 扣缴义务类型

                    sql += " where 1=1";

                    if(beginTime != null && !"".equals(beginTime)){
                        sql += " and HTBARQ >= '" + beginTime.replace("-", "")
                                + "'";
                    }
                    if(endTime != null && !"".equals(endTime)){
                        sql += " and HTBARQ <= '" + endTime.replace("-", "")
                                + "'";
                    }
                    if((kjnsrsbh != null && !"".equals(kjnsrsbh))||(kjmc != null && !"".equals(kjmc))){
                        sql += " and (KJYWRNSRSBH = '" + kjnsrsbh
                                + "' or KJYWRMC = '" +kjmc
                                + "')";
                    }
                    if(search_type != null && !"".equals(search_type)){
                        sql += " and KJYWLX = '" + search_type
                                + "'";
                    }
                    break;
                default:
                    break;
            }
            List<HashMap> compute_list = findDispatchActionServicel.findBySql(sql);
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("compute_list", compute_list);
            json.setObj(map);
            json.setSuccess(true);
            json.setObj(map);
        } catch (Exception e) {
            json.setSuccess(false);
            e.printStackTrace();
            BaseAction.LOG.info("合同管理计算应补(退)税额合计:doNotNeedSecurity_compute 时间:"+new Date());
        }
        writeJson(json);
    }
}

5.效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linsa_pursuer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值