一种新的编程思路(中):
难得糊涂编程法 GBDP (适用jsp、asp等编程)
GBDP技术实现设想:(General Blackbox Dynamic Programming)
开发速度快、代码量少、通用,数据库表自动生成,记录自动增加,
修改,删除,系统设计工作量少,可以在需求不明确的情况下开工,
渐进式开发,拥有需求频繁更改、代码基本不动的自适应能力。特
别适合国内软件乱序开发的国情
主要解决问题:
系统设计工作量大,需求更改影响大,项目交接困难,编程风格各
异,数据库备份困难的问题
已经实现功能:
数据表自动生成,记录自动增加,修改,删除,自动文件上传
注:发表后代码//都变成了file:// , 请改正
一个复杂的实现范例:
ntGBDPScript.jsp 自动记录载入模块 (“上”包含源代码)
ntDB.java 数据库存取模块 (本文包含源代码)
ntGBDPDefine.jsp
ntGBDPUpload2-1.jsp 自动数据分析处理模块(“上”包含源代码)
ntGBDPUpload2-2.jsp 自动数据保存处理模块(“上”包含源代码)
-------------------------------------------------------
_jh_in.jsp 录入和修改页面,涉及计算
<%-- 买入统计卡 --%>
<%@page contentType="text/html;charset=GBK" %>
<%@page import="java.lang.*,java.net.*,java.sql.*,java.text.*,java.util.*" %>
<%@page import="dba.ntDB" %>
<%@page session="true" %>
<%@page errorPage="error.jsp"%>
<%@include file="ntGBDPDefine.jsp" %>
<%
file://全局变量定义
globalTableName = "_jh_in";
parentKey = "买入外汇统计卡";
parentValue = "";
dbName = "myDB";
%>
<%@include file="ntGBDPUpload2-1.jsp" %>
<% // check data
String errorString = "";
if( isPost && requestHt.get("numeric汇入金额").equals("") )
errorString = "请填写汇入金额";
else if( isPost && requestHt.get("numeric牌价").equals("") )
errorString = "请填写牌价";
String entpName = (String)requestHt.get("全称");
String entpAccount = (String)requestHt.get("帐号");
if( entpName == null ) entpName = "";
if( entpAccount == null ) entpAccount = "";
int entpId = 0;
if( !entpName.equals("") || !entpAccount.equals("") )
{
nt.executeQuery(dbName,
"select pid from _jh where "+
" ( k='企业名称' and v = '"+ entpName.trim() +"' )"+
" or ( k='帐号' and v = '"+ entpAccount.trim() +"' )"+
"");
if( nt.rowCount > 0 ){
entpId = Integer.parseInt( nt.data[0][0] );
requestHt.put("企业id",""+ entpId );
requestHt.put("企业隶属单位", nt.getKV("_jh",entpId,"隶属单位") );
}
else
errorString = "没有找到这个企业";
}
if( !errorString.equals("") )
{
out.println("<script>alert('错误!"+ errorString +"!');history.back();</script>");
return;
}
%>
<% // auto calculate
if( isPost && !requestHt.get("submit_auto").equals("") )
{
file://导入数据
double hrje = Double.parseDouble((String)requestHt.get("numeric汇入金额"));
double pj = Double.parseDouble((String)requestHt.get("numeric牌价"));
file://计算数据
double yhsxf = hrje * 0.25 * 0.01 ; // 银行手续费
double gssxf = hrje * 3 * 0.01 ; // 公司手续费
double whje = hrje * ( 1 - 0.25*0.01 - 3 * 0.01 );// 外汇金额
double rmbje = hrje * pj ; // 人民币金额
double qcz = rmbje * 0.11 ; // 区财政
double zcz = rmbje * 0.08 ; // 镇财政 -- 村属8% 镇属9%
if( nt.getKV("_jh", entpId , "企业隶属").equals("镇属企业") )
zcz = rmbje * 0.09 ;
double csr = rmbje * 0.06 ; file://村收入 村属6% 镇属0
if( nt.getKV("_jh", entpId , "企业隶属").equals("镇属企业") )
csr = 0.0 ;
double zqy = 0.0 ; file://镇企业 村属0 镇属5%0
if( nt.getKV("_jh", entpId , "企业隶属").equals("镇属企业") )
zqy = rmbje * 0.05 ;
double je = rmbje -qcz - zcz - zqy - csr ; file://净额
file://导出数据
requestHt.put("numeric银行手续费",""+ yhsxf );
requestHt.put("numeric公司手续费",""+ gssxf );
requestHt.put("numeric外汇金额" ,""+ whje );
requestHt.put("numeric人民币金额",""+ rmbje );
requestHt.put("numeric区财政" ,""+ qcz );
requestHt.put("numeric镇财政" ,""+ zcz );
requestHt.put("numeric村收入" ,""+ csr );
requestHt.put("numeric镇企业" ,""+ zqy );
requestHt.put("numeric净额" ,""+ je );
file://requestHt.put("numeric",""+ );
file://requestHt.remove("全称"); file://冗余数据 由"企业id"代替->row 45
file://requestHt.remove("帐号"); file://冗余数据
}
%>
<%@include file="ntGBDPUpload2-2.jsp" %>
<html>
<head>
<title>买入外汇统计卡</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="/eweb.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p align="center">买入外汇统计卡</p>
<table width="600" border="0" cellspacing="0" cellpadding="0" align="center">
<form name="form1" method="post" action=""><tr>
<td>
<table width="600" border="0" cellspacing="0" cellpadding="5" align="center">
<tr>
<td width="70">
<div align="right">业务编号:</div>
<input type="hidden" name="<%= hasId?"id":"nouse" %>" value="<%= id %>" >
</td>
<td width="113">DC45C
<input type="text" name="业务编号" size="8" class="bd">
</td>
<td width="69">
<div align="right">日期:</div>
</td>
<td width="102">
<input type="text" name="date日期" size="10" class="bd" value="<%= (new SimpleDateFormat("yyyy-MM-dd")).format(new java.util.Date()) %>">
</td>
<td width="76">
<div align="right">票号:</div>
</td>
<td width="110">
<input type="text" name="票号" size="10" class="bd">
</td>
</tr>
</table>
<table width="600" border="0" cellspacing="1" cellpadding="3" bgcolor="#BBBBBB" align="center">
<tr bgcolor="#FFFFFF">
<td rowspan="3" width="100">
<div align="center">结<br>
汇<br>
单<br>
位</div>
</td>
<td width="100">
<div align="center">全称</div>
</td>
<td colspan="3">
<input type="text" name="全称" size="48" class="bd">
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="100">
<div align="center">帐号</div>
</td>
<td colspan="3">
<input type="text" name="帐号" size="32" class="bd">
<a href="javascript:;" onClick="javascript:window.open('_jh_eq.jsp','newtower','resizable=yes,width=450,height=150,status=yes');" >企业选择</a>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="100">
<div align="center">汇入金额</div>
</td>
<td colspan="3">HKD
<input type="text" name="numeric汇入金额" size="20" class="bd">
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="2">
<div align="center">银行手续费</div>
</td>
<td colspan="3">HKD
<input type="text" name="numeric银行手续费" size="20" class="bd">
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="2">
<div align="center">公司手续费</div>
</td>
<td colspan="3">HKD
<input type="text" name="numeric公司手续费" size="20" class="bd">
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="3">
<div align="center">外汇金额</div>
</td>
<td width="200">
<div align="center">牌价</div>
</td>
<td width="200">
<div align="center">人民币金额</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="3">
<div align="center">HKD
<input type="text" name="numeric外汇金额" size="11" class="bd">
</div>
</td>
<td width="200">
<div align="center">
<input type="text" name="numeric牌价" size="15" class="bd">
</div>
</td>
<td width="200">
<div align="center">¥
<input type="text" name="numeric人民币金额" size="15" class="bd">
</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="3">
<div align="center">缴市财政:¥
<input type="text" name="numeric缴市财政" size="11" class="bd">
</div>
</td>
<td width="200">
<div align="center">区财政:¥
<input type="text" name="numeric区财政" size="11" class="bd">
</div>
</td>
<td width="200">
<div align="center">托收手续费:¥
<input type="text" name="numeric托收手续费" size="11" class="bd">
</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="3">
<div align="center">镇 财 政:¥
<input type="text" name="numeric镇财政" size="11" class="bd">
</div>
</td>
<td width="200">
<div align="center">区企业:¥
<input type="text" name="numeric区企业" size="11" class="bd">
</div>
</td>
<td rowspan="2" width="200">
<div align="center">净 额:¥
<input type="text" name="numeric净额" size="11" class="bd">
</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="3">
<div align="center">镇 企 业:¥
<input type="text" name="numeric镇企业" size="11" class="bd">
</div>
</td>
<td width="200">
<div align="center">村收入:¥
<input type="text" name="numeric村收入" size="11" class="bd">
</div>
</td>
</tr>
</table>
<table width="600" border="0" cellspacing="0" cellpadding="5" align="center">
<tr>
<td width="100">
<input type="checkbox" name="submit_auto" value="1" checked>
自动计算
</td>
<td width="60">
<div align="right">复核:</div>
</td>
<td width="108">
<input type="text" name="复核" size="8" class="bd">
</td>
<td width="60">操作员: </td>
<td width="80">
<input type="text" name="操作员" size="8" class="bd">
</td>
<td width="80">录入日期:</td>
<td width="80">
<input type="text" name="date录入日期" size="10" class="bd" value="<%= (new SimpleDateFormat("yyyy-MM-dd")).format(new java.util.Date()) %>">
</td>
</tr>
</table>
<table width="300" border="0" cellspacing="0" cellpadding="5" align="center">
<tr>
<td>
<div align="center"> </div>
<div align="center">
<input type="submit" name="<%= hasId?"edit":"add" %>" value="确定" class="bd">
<input type="button" name="打印" value="打印" class="bd" >
</div>
</td>
</tr>
</table>
</td>
</tr></form>
</table>
</body>
</html>
<%@include file="ntGBDPScript.jsp" %>
-------------------------------------------------------
_jh_fc.jsp 用于统计显示
<%@page contentType="text/html;charset=GBK" %>
<%@page import="java.lang.*,java.net.*,java.sql.*,java.text.*,java.util.*" %>
<%@page import="dba.ntDB" %>
<%@page session="true" %>
<%@page errorPage="error.jsp"%>
<%@include file="ntGBDPDefine.jsp" %>
<% // 头部包含年份和月份选择:
String y,m,d,h;
y=(new SimpleDateFormat("yyyy")).format(new java.util.Date());
m=(new SimpleDateFormat("MM")).format(new java.util.Date());
d=(new SimpleDateFormat("dd")).format(new java.util.Date());
h=(new SimpleDateFormat("HH")).format(new java.util.Date());
int year,month;
year = Integer.parseInt( y );
month= Integer.parseInt( m );
try{
if( request.getParameter("year")!=null )
year = Integer.parseInt( request.getParameter("year") );
if( request.getParameter("month")!=null )
month = Integer.parseInt( request.getParameter("month") );
}catch(Exception e){
year = Integer.parseInt(y);
month = Integer.parseInt(m);
}
%>
<%
file://结汇总额
sql=
" select isNull(sum(v),0.0) from _jh_in_numeric "+
" where k='numeric汇入金额' "+
" and pid in "+
" ( select pid from _jh_in_datetime "+
" where k='date日期' and v >= '"+year+"-"+month+"-01' "+
" and v <= '"+year+"-"+month+"-"+nt.ntGetMonthDayCount(year,month) +"' "+
" ) "+
"";
nt.executeQuery(dbName,sql);
double JieHuiZongE = Double.parseDouble( nt.data[0][0] ) ;
file://村分配金额
sql=
" select isNull(sum(v),0.0) from _jh_in_numeric "+
" where k='numeric村收入' "+
" and pid in "+
" ( select pid from _jh_in_datetime "+
" where k='date日期' and v >= '"+year+"-"+month+"-01' "+
" and v <= '"+year+"-"+month+"-"+nt.ntGetMonthDayCount(year,month) +"' "+
" ) "+
"";
nt.executeQuery(dbName,sql);
double CunFenPeiJinE = Double.parseDouble( nt.data[0][0] ) ;
file://中国银行
double ZhongGuoYinHang = JieHuiZongE * 0.25 * 0.01 ;
file://商务单位
double ShangWuDanWei = JieHuiZongE * 0.03 ;
file://区财政
sql=
" select isNull(sum(v),0.0) from _jh_in_numeric "+
" where k='numeric区财政' "+
" and pid in "+
" ( select pid from _jh_in_datetime "+
" where k='date日期' and v >= '"+year+"-"+month+"-01' "+
" and v <= '"+year+"-"+month+"-"+nt.ntGetMonthDayCount(year,month) +"' "+
" ) "+
"";
nt.executeQuery(dbName,sql);
double QuCaiZheng = Double.parseDouble( nt.data[0][0] ) ;
file://镇财政
sql=
" select isNull(sum(v),0.0) from _jh_in_numeric "+
" where k='numeric镇财政' "+
" and pid in "+
" ( select pid from _jh_in_datetime "+
" where k='date日期' and v >= '"+year+"-"+month+"-01' "+
" and v <= '"+year+"-"+month+"-"+nt.ntGetMonthDayCount(year,month) +"' "+
" ) "+
"";
nt.executeQuery(dbName,sql);
double ZhenCaiZheng = Double.parseDouble( nt.data[0][0] ) ;
file://主管单位分配金额
sql=
" select isNull(sum(v),0.0) from _jh_in_numeric "+
" where k='numeric镇企业' "+
" and pid in "+
" ( select pid from _jh_in_datetime "+
" where k='date日期' and v >= '"+year+"-"+month+"-01' "+
" and v <= '"+year+"-"+month+"-"+nt.ntGetMonthDayCount(year,month) +"' "+
" ) "+
"";
nt.executeQuery(dbName,sql);
double zhuGuanDanWeiFenPeiJinE = Double.parseDouble( nt.data[0][0] ) ;
file://村主管单位
double CunZhuGuanDanWei =
CunFenPeiJinE + zhuGuanDanWeiFenPeiJinE ;
file://返拨镇 外汇分成款总额
double FanBoZhen =
CunFenPeiJinE + zhuGuanDanWeiFenPeiJinE + ZhenCaiZheng ;
%>
<%
file://取出村定义
ntDB ntCun = new ntDB();
ntCun.executeQuery(dbName,
"select v , 'null' as x from _jh_define where k='名称' "+
" and pid in "+
" ( select pid from _jh_define where k='属性' and v='村' "+
" )"+
" order by id desc "+
"");
file://取出主管单位定义
ntDB ntZGDW = new ntDB();
ntZGDW.executeQuery(dbName,
"select v , 'null' as x from _jh_define where k='名称' "+
" and pid in "+
" ( select pid from _jh_define where k='属性' and v='主管单位' "+
" )"+
" order by id desc "+
"");
file://用金额替换x
for(int i=0;i<ntCun.rowCount;i++){
sql=
" select isNull(sum(v),0.0) from _jh_in_numeric "+
" where k='numeric村收入' "+
" and pid in "+
" ( select pid from _jh_in_datetime "+
" where k='date日期' and v >= '"+year+"-"+month+"-01' "+
" and v <= '"+year+"-"+month+"-"+nt.ntGetMonthDayCount(year,month) +"' "+
" ) "+
" and pid in "+
" ( select pid from _jh_in "+
" where k='企业隶属单位' and v = '"+ ntCun.data[i][0] +"'"+
" ) "+
"";
nt.executeQuery(dbName,sql);
ntCun.data[i][1] = (new DecimalFormat("#,##0.00")).format(Double.parseDouble( nt.data[0][0] )) ;
}
for(int i=0;i<ntZGDW.rowCount;i++){
sql=
" select isNull(sum(v),0.0) from _jh_in_numeric "+
" where k='numeric镇企业' "+
" and pid in "+
" ( select pid from _jh_in_datetime "+
" where k='date日期' and v >= '"+year+"-"+month+"-01' "+
" and v <= '"+year+"-"+month+"-"+nt.ntGetMonthDayCount(year,month) +"' "+
" ) "+
" and pid in "+
" ( select pid from _jh_in "+
" where k='企业隶属单位' and v = '"+ ntZGDW.data[i][0] +"'"+
" ) "+
"";
nt.executeQuery(dbName,sql);
ntZGDW.data[i][1] = (new DecimalFormat("#,##0.00")).format(Double.parseDouble( nt.data[0][0] ));
}
%>
<html>
<head>
<title>深圳市坪山镇外商结汇分成表</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="/eweb.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div align="center">深圳市坪山镇外商结汇分成表</div>
<table width="609" border="0" cellspacing="0" cellpadding="0" align="center">
<form name="frm" method="post" action="<%= request.getRequestURI() %>"><tr>
<td>
<table width="609" border="0" cellspacing="1" cellpadding="2" align="center" bgcolor="#BBBBBB">
<tr bgcolor="#FFFFFF">
<td colspan="5">
<div align="center">
<input type="text" name="year" value="<%= year%>" size="4" class="bd">
年
<input type="text" name="month" value="<%= month%>" size="2" class="bd">
月 <a href="javascript:frm.submit();">提交</a> 结汇总额:
<%= (new DecimalFormat("#,##0.00")).format( JieHuiZongE ) %> 港币</div>
</td>
<td colspan="4">
<div align="center">返拨镇外汇分成款总额: <%= (new DecimalFormat("#,##0.00")).format( FanBoZhen ) %>
元</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td rowspan="2" width="86">
<div align="center">单位名称</div>
</td>
<td rowspan="2" width="48">
<div align="center">分配率</div>
</td>
<td rowspan="2" width="64">
<div align="center">金额</div>
</td>
<td colspan="2">
<div align="center">其中村委分配金额:<br>
<%= (new DecimalFormat("#,##0.00")).format( CunFenPeiJinE ) %>
元</div>
</td>
<td colspan="4">
<div align="center">各主管单位分配金额:<br>
<%= (new DecimalFormat("#,##0.00")).format( zhuGuanDanWeiFenPeiJinE ) %>
元</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="56">
<div align="center">村委</div>
</td>
<td width="78">
<div align="center">金额</div>
</td>
<td width="51">
<div align="center">主管单位</div>
</td>
<td width="56">
<div align="center">金额</div>
</td>
<td width="55">
<div align="center">主管单位</div>
</td>
<td width="78">
<div align="center">金额</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86">中国银行(港币)</td>
<td width="48">
<div align="center">0.25%</div>
</td>
<td width="64">
<div align="right"> <%= (new DecimalFormat("#,##0.00")).format( ZhongGuoYinHang ) %>
</div>
</td>
<td width="56">
<div align="center"><%= ntCun.data(0,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(0,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(0,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(0,"x") %></div>
</td>
<td width="55">
<div align="center"><%= ntZGDW.data(14,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntZGDW.data(14,"x") %></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86">商务单位(港币)</td>
<td width="48">
<div align="center">3.00%</div>
</td>
<td width="64">
<div align="right"><%= (new DecimalFormat("#,##0.00")).format( ShangWuDanWei ) %>
</div>
</td>
<td width="56">
<div align="center"><%= ntCun.data(1,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(1,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(1,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(1,"x") %></div>
</td>
<td width="55">
<div align="center"><%= ntZGDW.data(15,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntZGDW.data(15,"x") %></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86">增值税</td>
<td width="48">
<div align="center">6%</div>
</td>
<td width="64"> </td>
<td width="56">
<div align="center"><%= ntCun.data(2,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(2,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(2,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(2,"x") %></div>
</td>
<td width="55">
<div align="center"><%= ntZGDW.data(16,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntZGDW.data(16,"x") %></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86">外商</td>
<td width="48">
<div align="center">75%</div>
</td>
<td width="64"> </td>
<td width="56">
<div align="center"><%= ntCun.data(3,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(3,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(3,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(3,"x") %></div>
</td>
<td width="55">
<div align="center"><%= ntZGDW.data(17,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntZGDW.data(17,"x") %></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86">市财政</td>
<td width="48">
<div align="center"></div>
</td>
<td width="64"> </td>
<td width="56">
<div align="center"><%= ntCun.data(4,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(4,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(4,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(4,"x") %></div>
</td>
<td width="55">
<div align="center"><%= ntZGDW.data(18,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntZGDW.data(18,"x") %></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86">区财政</td>
<td width="48">
<div align="center">11.00%</div>
</td>
<td width="64" align="right" ><%= (new DecimalFormat("#,##0.00")).format( QuCaiZheng ) %></td>
<td width="56">
<div align="center"><%= ntCun.data(5,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(5,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(5,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(5,"x") %></div>
</td>
<td width="55">
<div align="center"><%= ntZGDW.data(19,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntZGDW.data(19,"x") %></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86">镇财政</td>
<td width="48">
<div align="center">8-9%</div>
</td>
<td width="64" align="right" ><%= (new DecimalFormat("#,##0.00")).format( ZhenCaiZheng ) %></td>
<td width="56">
<div align="center"><%= ntCun.data(6,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(6,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(6,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(6,"x") %></div>
</td>
<td width="55">
<div align="center"><%= ntZGDW.data(20,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntZGDW.data(20,"x") %></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86">村、主管单位</td>
<td width="48">
<div align="center">5-6%</div>
</td>
<td width="64" align="right" ><%= (new DecimalFormat("#,##0.00")).format( CunZhuGuanDanWei ) %></td>
<td width="56">
<div align="center"><%= ntCun.data(7,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(7,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(7,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(7,"x") %></div>
</td>
<td width="55">
<div align="center"><%= ntZGDW.data(21,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntZGDW.data(21,"x") %></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86"> </td>
<td width="48"> </td>
<td width="64"> </td>
<td width="56">
<div align="center"><%= ntCun.data(8,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(8,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(8,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(8,"x") %></div>
</td>
<td width="55">
<div align="center"></div>
</td>
<td width="78">
<div align="right"></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86"> </td>
<td width="48"> </td>
<td width="64"> </td>
<td width="56">
<div align="center"><%= ntCun.data(9,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(9,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(9,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(9,"x") %></div>
</td>
<td width="55">
<div align="center"></div>
</td>
<td width="78">
<div align="right"></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86"> </td>
<td width="48"> </td>
<td width="64"> </td>
<td width="56">
<div align="center"><%= ntCun.data(10,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(10,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(10,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(10,"x") %></div>
</td>
<td width="55">
<div align="center"></div>
</td>
<td width="78">
<div align="right"></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86"> </td>
<td width="48"> </td>
<td width="64"> </td>
<td width="56">
<div align="center"><%= ntCun.data(11,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(11,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(11,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(11,"x") %></div>
</td>
<td width="55">
<div align="center"></div>
</td>
<td width="78">
<div align="right"></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86"> </td>
<td width="48"> </td>
<td width="64"> </td>
<td width="56">
<div align="center"><%= ntCun.data(12,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(12,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(12,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(12,"x") %></div>
</td>
<td width="55">
<div align="center"></div>
</td>
<td width="78">
<div align="right"></div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="86"> </td>
<td width="48"> </td>
<td width="64"> </td>
<td width="56">
<div align="center"><%= ntCun.data(13,"v") %></div>
</td>
<td width="78">
<div align="right"><%= ntCun.data(13,"x") %></div>
</td>
<td width="51">
<div align="center"><%= ntZGDW.data(13,"v") %></div>
</td>
<td width="56">
<div align="right"><%= ntZGDW.data(13,"x") %></div>
</td>
<td width="55">
<div align="center"></div>
</td>
<td width="78">
<div align="right"></div>
</td>
</tr>
</table>
<table width="609" border="0" cellspacing="0" cellpadding="5" align="center">
<tr>
<td>经发办负责人: </td>
<td>单位负责人: </td>
<td>复核人: </td>
<td>制表人: </td>
<td>制表日期: </td>
</tr>
</table>
</td>
</tr></form>
</table>
</body>
</html>