需求说明:将行业税利指标分析的税金、利润图形分开,并加上一个税利合计,并按单选按钮形式显示这三个的相应图形。
原界面:原图.png
目标界面:目标1.png
目标2.png
目标3.png
主要改动文件:
ZJ_Produce_AnalyseAction.java的taxshow()方法:
public ActionForward taxshow(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
DynaActionForm aForm = (DynaActionForm) form;
if(aForm.get("beginYear")==null || aForm.get("beginYear").equals("")){
aForm.set("beginYear", MethodFactory.getCurrentYear());
}
if(aForm.get("beginMonth")==null || aForm.get("beginMonth").equals("")){
aForm.set("beginMonth", "04");
}
CallHelper helper = initializeCallHelper("getTaxIndexAnalyseShow", form, request, false);
helper.execute();
request.setAttribute("result.List",helper.getResult(1));
request.setAttribute("caption.List",helper.getResult(0));
List ret1=helper.getResult(2);
String values1="";
String values2="";
if (ret1 != null && ret1.size() > 0) {
for (int i = 1; i < ret1.size(); i++) {
BasicDynaBean bean2 = (BasicDynaBean) ret1.get(i);
values1=values1+i+MethodFactory.getThisString(bean2.get("name")).substring(0, 2)+","
+MethodFactory.getThisString(bean2.get("taxbq"))+","
+MethodFactory.getThisString(bean2.get("pbq"))+";";
values2=values2+i+MethodFactory.getThisString(bean2.get("name")).substring(0, 2)+","
+MethodFactory.getThisString(bean2.get("pbq"))+";";
}
}
request.setAttribute("values1",values1);
request.setAttribute("values2",values2);
return mapping.findForward("taxshow");
}
ChartObjest.js对应方法:
ChartObject.prototype.createStackedColumn2DXml=function(values,caption)
{
var xmlstr = this.getTitleString();
var values1 = values.split(";");
var caption1=caption.split(",");
var dataset =new Array();
var color="F984A1,A66EDD,8BBA00,F6BD0F,AFD8F8";
var colors=color.split(",");
var datasetall="";
var tempstr="";
var lables="";
for(i=0;i<caption1.length;i++)
/*How many datasets*/
{
tempstr="";
if(i<5)
dataset[i]="<dataset seriesName='"+caption1[i]+"' showValues='1' color='"+colors[i]+"' >";
else
dataset[i]="<dataset seriesName='"+caption1[i]+"' showValues='1'>";
for(j=0;j<values1.length;j++)
{
var values2=values1[j].split(",");
if(i==0) lables=lables+"<category label='"+values2[0]+"' />";
tempstr=tempstr+ "<set value='" +values2[i+1]+"' />";
}
dataset[i]=dataset[i] +tempstr+"</dataset>";
datasetall=datasetall+dataset[i];
}
xmlstr=xmlstr+"<categories>"+lables+"</categories>"+datasetall+"</chart>";
return xmlstr;
}
ZJ_TaxIndexShow.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="/zl-html" prefix="select" %>
<%@ taglib uri="/struts-bean" prefix="bean" %>
<%@ taglib uri="/struts-html" prefix="html" %>
<%@ taglib uri="/zl-grid" prefix="grid"%>
<%@ page import="com.publicConstValue"%>
<HTML>
<style>
<!--
.content {color: #FF0000 }
-->
</style>
<HEAD>
<TITLE><%=publicConstValue.getInstance().getSystemName()%></TITLE>
</HEAD>
<%@include file="/common/Common.jsp"%>
<link type="text/css" rel="stylesheet" href=<select:link page="/css/main.css"></select:link>>
<link type="text/css" rel="stylesheet"
href=<select:link page="/tabpane/standard.css"/>></link>
<script type="text/javascript"
src=<select:link page="/tabpane/standard.js"/>></script>
<script language="javaScript">
parent.document.all["showform"].disabled= false;
window.onload = function showChart(){
showChart1(0);
}
function showChart1(type){
var allvalue='<%=request.getAttribute("values1")%>';
var taxvalue='<%=request.getAttribute("values2")%>';
var codename = '';
var caption = '';
var chartObj = new ChartObject();
var caption="";
var xmlString="";
chartObj.useRoundEdges='1';
if (type=='0')
{ caption="税金,利润";
chartObj.caption="税利合计";
xmlString = chartObj.createStackedColumn2DXml(allvalue,caption);
}
else
if (type=='1') { caption="税金"; chartObj.caption="税金"; xmlString= chartObj.createStackedColumn2DXml(allvalue,caption);}
else { caption="利润";chartObj.caption="利润"; xmlString= chartObj.createStackedColumn2DXml(taxvalue,caption);}
var chart = new FusionCharts("Charts/StackedColumn2D.swf", "ChartId3", "950", "350", "0", "0");
chart.setDataXML(xmlString);
chart.render("chartDiv1");
}
</script>
<BODY>
<html:form action="/ZJ_Produce_AnalyseAction.do?method=taxshow">
<html:hidden property="beginYear"/>
<html:hidden property="beginMonth"/>
<html:hidden property="information"/>
<html:hidden property="temp1"/>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=tab-on align=center id=navcell name="navcell" onclick=switchCell(1)> 数据展示 </TD>
<TD class=tab-off align=center id=navcell name="navcell" onclick=switchCell(2)> 图形展示</TD>
<TD class="tab-none"> </TD>
</TR>
</TBODY>
</table>
<!-- 每个TAB开始 -->
<TABLE class=tab-content id=tb cellSpacing=5 cellPadding=0 width="100%" height="100%" border=0 name="tb">
<TR>
<TD vAlign=top align="left">
<grid:gridreport reportcaption="行业税利指标分析" property="sheetgrid" collection="result.List" caption="caption.List" merge="true" mergetype="0" height="100%" width="100%" serial="true" />
</TD>
</TR>
</TABLE>
<!-- 每个TAB开始 -->
<TABLE class=tab-content id=tb cellSpacing=5 cellPadding=0 width="100%" height="100%" border=1 name="tb">
<tr valign="top" height="4%">
<td colspan="2"><input type=radio name="queryoption" checked="checked" onclick="showChart1('0')">税利合计
<input type=radio name="queryoption" onclick="showChart1('1')">税金
<input type=radio name="queryoption" onclick="showChart1('2')">利润
<!--
<input type=button class="btn" name="query" value="隐藏报表" onclick="hide()"></input>
-->
</td>
</tr>
<TR>
<TD>
<div id="chartDiv1" ></div>
</TD>
</TR>
</TABLE>
</td>
</tr>
</table>
</html:form>
<script language="javaScript">
</script>
</BODY>
</HTML>
另外还有相关存储过程文件:
CREATE PROCEDURE G_getTaxIndexAnalyseShow ) BEGIN DECLARE SQLCODE INT; INSERT INTO session.results(code,name,ordertag,pamtbq,pamttq,samtbq,samttq,hjbq,hjtq,taxbq,taxtq,pbq,ptq)
DROP PROCEDURE G_getTaxIndexAnalyseShow
@
(
IN v_year int,
IN v_month int
LANGUAGE SQL
DYNAMIC RESULT SETS 3
DECLARE SQLSTATE CHAR(5);
DECLARE v_errCode INT DEFAULT 0;
DECLARE v_errState CHAR(5) DEFAULT '00000';
DECLARE v_rows int DEFAULT 5;
DECLARE v_begintime int;
DECLARE v_endtime int;
DECLARE v_tqbegintime int;
DECLARE v_tqendtime int;
DECLARE not_found CONDITION FOR '02000'; -- 没有数据,游标结尾定义
--------------------------------------------------------
-- DECLARE ERROR HANDLERS
--------------------------------------------------------
SET v_begintime=v_year*100+1;
SET v_endtime=v_year*100+v_month;
SET v_tqbegintime=v_begintime-100;
SET v_tqendtime=v_endtime-100;
--标题
DECLARE GLOBAL TEMPORARY TABLE captions
(
caption VARCHAR(200),
width INT,
property VARCHAR(40),
format VARCHAR(20),
fixcol INT,
align VARCHAR(20),
ordertag int,
lable VARCHAR(20),
isreturn VARCHAR(10),
TYPE VARCHAR(10)
) ON COMMIT PRESERVE ROWS WITH REPLACE NOT LOGGED;
DECLARE GLOBAL TEMPORARY TABLE results
(
code VARCHAR(10),
name VARCHAR(100),
ordertag VARCHAR(20),
pamtbq decimal(19,2), --本期自产产量
pamttq decimal(19,2), --同期产量
samtbq decimal(19,2), --本期销量
samttq decimal(19,2), --同期销量
hjbq decimal(19,2), --本期税利合计
hjtq decimal(19,2), --同期税利合计
ratio1 decimal(19,2),--增幅
ratio2 decimal(19,2), --%
taxbq decimal(19,2), --本期税金
taxtq decimal(19,2), --同期税金
ratio3 decimal(19,2),
ratio4 decimal(19,2),
pbq decimal(19,2), --本期利润
ptq decimal(19,2), --同期利润
ratio5 decimal(19,2),
ratio6 decimal(19,2)
) ON COMMIT DELETE ROWS WITH REPLACE NOT LOGGED;
SELECT a.code,b.name,b.ordertag,a.pamtbq,a.pamttq,a.samtbq,a.samttq,c.hjbq,c.hjtq,c.taxbq,c.taxtq,c.pbq,c.ptq
FROM (
select CASE WHEN a.industrycode IN ('12530401','12530104') THEN '20530001' ELSE a.industrycode END AS code,
sum(CASE WHEN a.monthid between v_begintime and v_endtime THEN produce_amount END)/5.0 AS pamtbq,
sum(CASE WHEN a.monthid between v_tqbegintime and v_tqendtime THEN produce_amount END)/5.0 AS pamttq,
sum(CASE WHEN a.monthid between v_begintime and v_endtime THEN sale_amount END)/5.0 AS samtbq,
sum(CASE WHEN a.monthid between v_tqbegintime and v_tqendtime THEN sale_amount END)/5.0 AS samttq
from V_TZ_IN_Y_Q_M_P_D_ALL_B a left join g_tobacco b on a.tobacode=b.tobacode
WHERE (a.monthid between v_begintime and v_endtime OR a.monthid between v_tqbegintime and v_tqendtime)
and b.importflag=0
GROUP BY CASE WHEN a.industrycode IN ('12530401','12530104') THEN '20530001' ELSE a.industrycode END
)a left join
(SELECT DISTINCT indgroupcode,CASE indgroupname WHEN '浙江中烟' THEN '<font color=red>浙江中烟</font>' ELSE indgroupname END AS name,ordertag FROM g_industry ) b ON a.code=b.indgroupcode
left join ( select COMPCODE, sum(CASE WHEN a.monthid = v_endtime THEN TAX END) AS taxbq,
sum(CASE WHEN a.monthid = v_tqendtime THEN TAX END) AS taxtq,
sum(CASE WHEN a.monthid = v_endtime THEN PROFIT END) AS pbq,
sum(CASE WHEN a.monthid = v_tqendtime THEN PROFIT END) AS ptq,
sum(COALESCE(CASE WHEN a.monthid = v_endtime THEN tax END,0))+ sum(COALESCE(CASE WHEN a.monthid = v_endtime THEN profit END,0))AS hjbq,
sum(COALESCE(CASE WHEN a.monthid = v_tqendtime THEN tax END,0)) + sum(COALESCE(CASE WHEN a.monthid = v_tqendtime THEN profit END,0))AS hjtq
from F_ALLCOMPFINANCE_TAX a WHERE (a.monthid=v_endtime OR a.monthid=v_tqendtime ) AND a.flag=1
GROUP BY a.compcode
) c ON a.code=c.compcode;
--合计
INSERT INTO session.results(code,name,ordertag,pamtbq,pamttq,samtbq,samttq,hjbq,hjtq,taxbq,taxtq,pbq,ptq)
SELECT '0','<font color=red>合计</font>','0',sum(pamtbq),sum(pamttq),sum(samtbq),sum(samttq),sum(hjbq),sum(hjtq),sum(taxbq),sum(taxtq),sum(pbq),sum(ptq)
FROM session.results;
UPDATE session.results r SET
r.ratio1=r.hjbq-r.hjtq,
r.ratio2=CASE r.hjtq WHEN 0 THEN 0 ELSE (r.hjbq-r.hjtq)/r.hjtq*100 END,
r.ratio3=r.taxbq-r.taxtq,
r.ratio4=CASE r.taxtq WHEN 0 THEN 0 ELSE (r.taxbq-r.taxtq)/r.taxtq*100 END,
r.ratio5=r.pbq-r.ptq,
r.ratio6=CASE r.ptq WHEN 0 THEN 0 ELSE (r.pbq-r.ptq)/r.ptq*100 END;
INSERT INTO SESSION.captions(caption,width, property, format, fixcol, align, ordertag,TYPE,isreturn)
VALUES('code',0,'code',' ',1,'left',110,'lable','true'),
('单位',100,'name',' ',1,'left',112,'lable','false'),
('累计产量(自产)##本期',75,'pamtbq',' ',0,'right',113,'lable','false'),
('累计产量(自产)##同期',75,'pamttq',' ',0,'right',114,'lable','false'),
('累计销量##本期',75,'samtbq',' ',0,'right',115,'lable','false'),
('累计销量##同期',75,'samttq',' ',0,'right',116,'lable','false'),
('税利合计##本期',75,'hjbq',' ',0,'right',117,'lable','false'),
('税利合计##同期',75,'hjtq',' ',0,'right',118,'lable','false'),
('税利合计##增减量',75,'ratio1',' ',0,'right',119,'lable','false'),
('税利合计##增幅%',75,'ratio2',' ',0,'right',120,'lable','false'),
('税金##本期',75,'taxbq',' ',0,'right',121,'lable','false'),
('税金##同期',75,'taxtq',' ',0,'right',122,'lable','false'),
('税金##增减量',75,'ratio3',' ',0,'right',123,'lable','false'),
('税金##增幅%',75,'ratio4',' ',0,'right',124,'lable','false'),
('利润##本期',75,'pbq',' ',0,'right',125,'lable','false'),
('利润##同期',75,'ptq',' ',0,'right',126,'lable','false'),
('利润##增减量',75,'ratio5',' ',0,'right',127,'lable','false'),
('利润##增幅%',75,'ratio6',' ',0,'right',128,'lable','false');
BEGIN
DECLARE v_captionCur CURSOR WITH RETURN TO CALLER FOR
SELECT * FROM session.captions ORDER BY ordertag;
DECLARE v_resultCur CURSOR WITH RETURN TO CALLER FOR
SELECT * FROM session.results ORDER BY ordertag ;
DECLARE v_resultCur1 CURSOR WITH RETURN TO CALLER FOR
SELECT CASE code WHEN '20330001' THEN '浙江中烟' ELSE name END AS name,taxbq ,pbq FROM session.results WHERE code <> '0' ORDER BY (taxbq+pbq) desc;
OPEN v_captionCur;
OPEN v_resultCur;
OPEN v_resultCur1;
END;
RETURN v_errCode;
END @
知识点:
1、FusionCharts
2、getElementsByName('delID')返回的是所有name 属性为delID的所有元素 是一个数组
document.getElementsByName()与 document.getElementById()、 document.getElementsByTagName()的区别是什么?
document.getElementsByName() 根据name 属性的值来得到元素 是一个数组
document.getElementById() 根据id 属性的值来得到元素 ,是唯一的
document.getElementsByTagName() 根据控件的type 属性 来得到元素, 是一个数组
相关推荐
5. **趋势分析**:通过时间序列数据展示各指标的变化趋势,以揭示行业周期性或增长趋势。 6. **比较分析**:不同企业、地区或行业的税利对比,以揭示优势与劣势。 7. **附注和解释**:可能包括数据来源、计算方法、...
5. **行业比较**:如果包含多个企业,可能有不同行业的对比,展示各行业的税利表现。 6. **地区分布**:出口目的地的分布可能会影响税收和利润,可以分析出哪些地区的出口业务最有利可图。 7. **经济指标**:可能...
4. **图表**:直观展示数据变化和趋势,如柱状图、折线图或饼图,可能包含利润分布、税利增长等关键信息。 5. **格式和样式**:表格可能采用了条件格式,如颜色标度或数据条,来突出显示高利润或高税收的情况。此外...
烟草行业的工商税利与这些宏观经济指标高度相关,经济增长的加速直接拉动了烟草行业的发展。 2. 烟叶供求关系的调整:1996-1997年烟叶过剩导致的行业困境在后续几年通过“双控”政策和库存消化得到缓解。烟叶从过剩...
烟草行业在2000年至2002年间经历了快速增长,主要经济指标如卷烟产销量和工商税利均有显著提升。在这三年中,全国卷烟产销量年均增长率分别达到1.6%和2.5%,工商税利年均增长率高达14.9%。尽管面临外部环境的压力和...
卷烟行业风险分析报告书主要关注的是该行业在国民经济中的地位、对财政收入的贡献以及行业供需状况。以下是对这些内容的详细分析: 一、国民经济的重要组成部分与财政收入来源 卷烟行业作为国民经济的重要组成部分...
卷烟行业市场分析报告书揭示了该行业在中国国民经济中的重要地位和对财政收入的巨大贡献。卷烟行业作为国民经济的重要组成部分,其工业产值在过去几年中稳步增长,2007年达到3743亿元,占GDP的1.7%,显示了行业的...
出口企业税利统计表.xls
【标题】:“烟草行业快速增长的原因分析报告与变动态势” 【描述】:这份报告探讨了2000年至2002年间烟草行业快速发展的原因和未来趋势。 【标签】:“文档” 【主要内容概要】: 烟草行业在2000年至2002年间...
2007年,卷烟行业实现工商税利3880亿元,同比增长25%,占全国财政收入的7.6%。过去四年,卷烟行业的利税增长速度与国家财政收入增长速度基本同步,反映出卷烟行业对国家财政收入的稳定性。同时,该行业累计上缴税金...
3. **数据分析**:Excel提供了图表功能,能将数据以直观的图形展示出来,如柱状图、折线图,帮助企业快速理解趋势和模式,便于管理层做出决策。 4. **模板复用**:一旦建立好模版,后续只需填充新的数据即可,避免...
出口企业税利统计表excel模版下载.xls
2007年,卷烟行业的工商税利达到3880亿元,占全国财政收入的7.6%,显示了其作为财政收入支柱的角色。与此同时,卷烟行业历年来的利税增长速度与国家财政收入增长速度基本保持同步,为国家的公共事业发展提供了有力...
出口企业税利统计表财税相关资料系列.xls
1. 行业分析方法:文档中提到对安徽省卷烟工业进行了全面的分析,包括行业发展历程、面临挑战、市场竞争状况等,这表明在进行行业分析时,需要了解行业历史、现状、发展趋势以及企业在行业中的地位。 2. 安徽烟草...
此外,税收贡献巨大,连续多年成为国民经济各行业中税利最高的行业。 然而,随着时间推移,中国烟草行业面临诸多挑战。一是市场需求增长放缓,行业发展的动力减弱。二是随着国际化的推进,国内市场的竞争加剧,而...