亿信ABI-DEMO解析第三期:智慧企业之财务管理

7582
6

wut 数据老手Lv5

发表于2020-5-9 19:27

楼主
一、页面一览
【财务概览】


【偿债能力】


【盈利能力】


【运营能力】

二、页面分析
1、整体框架
主题表: 使用rand()函数产生随机数
页面结构:宽百分比,高固定,自定义布局

2、模块详解
2.1 财务概览
1)财务信息
此模块由左右2部分组成,左侧展示了营业收入、净利润、净利率、人均净利率、净资产收益率这五个指标以及预算完成率,通过分析区表格实现;右侧是企业财务运营情况的概览,通过文本来实现;(表格中涉及一个有趣的脚本,详情参见脚本说明)

2)KPI指标分析
展示了营业收入、成本、净利润、毛利、期间费用、应收账款这六个指标,以简表的形式,清晰的展示预算额,实际数以及完成率。另外以线状图来展示5年来的趋势。

3)财务管理解析
以架构图的方式,把财务的指标进行层层解析,进行指标溯源,帮助用户定位问题。

2.2 偿债能力
1)概览
展示了权益乘数、资产负债率、利息倍数、销售现金比率这4个指标的本期和同期值;通过文本+分析区表格来实现。

2)现金流量分析
分别展现现金流量和净流量两个指标的当期值、同期值、增减率随着时间变化的趋势情况。
通过按钮组方式,来切换两个指标。通过设置按钮【自定义样式】【选中自定义样式】来实现好看的效果
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3)经营活动现金流量简表
按照项目维度看现金流量指标;通过分析区表格+迷你进度图来实现;

2.3 盈利能力
1)资产周转率分析
左侧部分展示了计划、截止当前、计划完成率、截止上年同期、同比增长率这五个重要指标;
右侧部分通过多系列柱状图来展示指标的当期、同期、预算三个值随着时间变化趋势,方便用户直观对比,来实时监控异常情况。

2)资产周转率分析
左侧部分按照存货、时间两个维度对指标进行对比分析;右侧部分通过环比图来展示不同指标存货的占比情况。

3)利润简表
按照项目维度看利润指标;通过分析区表格+迷你进度图来实现;

2.4 运营能力
1)资产周转率分析
左侧部分通过流程图的方式灵活展现指标间的关系;然后通过点击图上的指标,联动右侧面积图,对指标进行趋势分析。

2)库龄分析
左侧部分通过柱状堆积图的方式展现存货的库龄分布情况;右侧部分通过环比图的方式,直观展现存货的库存情况。

3)账龄分析
通过柱状堆积图的方式展现存货的账龄分布情况;

4)呆滞预警分析
展现材料、产品、在产、半产品、应收五类产品的呆滞情况,通过仪表盘的方式直观呈现,让用户一眼即能发现问题所在。

三、脚本说明
1、财务概览
脚本1:更改滚动条样式
脚本中引用了js脚本文件,文件的存储在资源管理器中(路径为:vfs/root/products/ebi/sys/slimscrollbody.js)
  1. //更改滚动条样式
  2. EUI.addStyleSheet("#BODYAREA{overflow:hidden !important}");
  3. EUI.addStyleSheet(".scrollBarContainerClass{width:10px !important;}");
  4. EUI.addStyleSheet(".scrollBarClass{border-radius:10px !important;background-color:#082F2E !important;}");

  5. EUI.include("vfs/root/products/ebi/sys/slimscrollbody.js");
复制代码
脚本2:自定义单元格后缀样式
  1. //定义方法;参数含义:表元ID、文本、字体大小、字体颜色、字体样式
  2. function setSub(cellId,unit,subFontSize,fontColor,fontWeight){
  3. var content=document.getElementById(cellId).textContent;
  4. document.getElementById(cellId).innerHTML=content+'<font style="font-size:'+subFontSize+'px;color:'+fontColor+';font-weight:'+fontWeight+'">'+unit+'</font>';
  5. }
  6. //方法调用
  7. setSub('GRID2.A1',' 万元',12,'#4fffc7','normal');
  8. setSub('GRID2.B3',' %',12,'#4fffc7','normal');
  9. setSub('GRID3.A1',' 万元',12,'#2af0e1','normal');
复制代码
2、偿债能力
脚本1:参数样式控制

  1. EUI.addStyleSheet('.eui-form-select .eui-form-select-icon{border: 1px solid #055A48;color:#128157}');
  2. EUI.addStyleSheet('.eui-form-select > input:first-child {border: 1px solid #055A48;}');
  3. EUI.addStyleSheet('.eui-form-select > input:first-child {font-size: 14px;color:#1CEAA8;padding-left: 20px;}')
复制代码

四、资源文件
1、报表资源
说明:.rptttpl后缀文件新建空报表后如下图所示上传
2、图片资源
直接上传到资源管理器,默认的路径:vfs/root/products/ebi/sys/picture/行业demo/财务
注意:直接上传【切图.zip】文件后上传。路径不要轻易修改,报表中在引用时使用了文件路径
3、脚本资源
直接上传到资源管理器,默认的路径:/vfs/root/products/ebi/sys
注意:路径不要轻易修改,报表中在引用时使用了文件路径
4、资源文件
财务管理.zip (1.93 MB, 下载次数: )





最近看过此主题的会员

sunmeiling

zhangyadong

ncjindsif

esen_4T5FL2B71KC0

JCsang

980

pigpengz

四毛二

6个回答

只看楼主

数据王子 数据达人Lv4

发表于2020-5-9 19:37

只看该作者

取消 关注该作者的回复

沙发

真的好用,正在发愁这样有科技感的效果了,真好~~~期待后面几期

程序小哥哥 数据达人Lv4

发表于2020-5-9 19:46

只看该作者

取消 关注该作者的回复

板凳

大佬,厉害了!!!!持续等更

nnnttt 初学数据Lv2

发表于2020-7-14 16:21

只看该作者

取消 关注该作者的回复

地板

想问一下,我上传的企业盈利能力分析上传之后,计算的时候会出现这个错误?

wut 数据老手Lv5

发表于2020-7-15 10:00

只看该作者

取消 关注该作者的回复

5#

nnnttt 发表于 2020-7-14 16:21
想问一下,我上传的企业盈利能力分析上传之后,计算的时候会出现这个错误? ...

把详情拉出来看看

nnnttt 初学数据Lv2

发表于2020-7-15 11:33

只看该作者

取消 关注该作者的回复

6#

wut 发表于 2020-7-15 10:00
把详情拉出来看看

2020-07-15 11:32:50 开始计算报表:ylnl(内存情况:FREE=2.5G TOTAL=3.9G MAX=7.1G)
2020-07-15 11:32:50 查询的数据级次范围:没有做限制。
2020-07-15 11:32:50 001开始多表格各分析区并行计算
2020-07-15 11:32:50 [GRID4(0.0.3.4)]正在生成SQL...
java.lang.RuntimeException: 缺少主源表;
  at com.esen.ebibase.rptbase.calc.db.olap.OlapSqlSingleMakerImpl.(OlapSqlSingleMakerImpl.java:97)
  at com.esen.ebibase.rptbase.calc.db.top.impl.OlapSqlMakerImpl.getsimpleOlapTable(OlapSqlMakerImpl.java:195)
  at com.esen.ebibase.rptbase.calc.db.top.impl.OlapSqlMakerImpl.getNestOlapSql(OlapSqlMakerImpl.java:76)
  at com.esen.ebibase.rptbase.calc.db.top.impl.OlapSqlMakerImpl.getMultiOlapSql(OlapSqlMakerImpl.java:92)
  at com.esen.ebibase.rptbase.calc.db.top.OlapResultMultImpl.doit(OlapResultMultImpl.java:227)
  at com.esen.ebibase.rptbase.calc.db.top.OlapResultMultImpl.(OlapResultMultImpl.java:104)
  at com.esen.ebibase.rptbase.calc.db.top.CalcOlapResult.calcGroupOlap(CalcOlapResult.java:78)
  at com.esen.ebibase.rptbase.calc.impl.GroupOlapEngine.calc(GroupOlapEngine.java:35)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.OLTPResultManager.calcOlap(OLTPResultManager.java:533)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.OLTPResultManager.getOltpResult(OLTPResultManager.java:522)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.OLTPResultManager.getOltpData4AutoOlap(OLTPResultManager.java:155)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.OLTPResultManager.getOltpData(OLTPResultManager.java:88)
  at com.esen.ebibase.rptbase.calc.impl.cache.FxBaseAnalyseReportCalc.getOltpData(FxBaseAnalyseReportCalc.java:494)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqCalc.getOltpData(FloatFxqCalc.java:253)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqInnerCalc.getOltpData(FloatFxqInnerCalc.java:79)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.QueryRectsResult_Impl.getOltpData(FloatFxqInnerCalc.java:1173)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.QueryRectsResult_Impl.collectResult_zbsInFxq(FloatFxqInnerCalc.java:480)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.QueryRectsResult_Impl.collectResult(FloatFxqInnerCalc.java:154)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqInnerCalc.calc(FloatFxqInnerCalc.java:58)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqCalc.calc(FloatFxqCalc.java:249)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FixRectInFxqResultImpl.processResult(FixRectInFxqResultImpl.java:44)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.RectsInFxqResultImpl.processResult(RectsInFxqResultImpl.java:101)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqResultImpl.processResult(FloatFxqResultImpl.java:93)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqCalc.calc(FloatFxqCalc.java:86)
  at com.esen.ebibase.rptbase.calc.impl.FxCalc.calc(FxCalc.java:34)
  at com.esen.ebibase.rptbase.calc.impl.cache.RequestTask_FxqCalc.doRun(RequestTask_FxqCalc.java:105)
  at com.esen.ebibase.req.AbstractRequestTask.call(AbstractRequestTask.java:87)
  at com.esen.ethreadpool.req.RequestTaskFutureImpl.call(RequestTaskFutureImpl.java:100)
  at com.esen.scheduling.LocaleTask.call(LocaleTask.java:56)
  at java.util.concurrent.FutureTask.run(FutureTask.java:262)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:744)



页面地址为:【/abi/ebibase/js/reqmgr.do?action=calc;rptid=EANA$2$2$1$47829870272949a7939935523ce6bee7$024f2835f2444433b6a9850d16343ae4.rpttpl】

JavaScript StackTrace:
Error: 缺少主源表;
--detailmessage--
2020-07-15 11:32:50 开始计算报表:ylnl(内存情况:FREE=2.5G TOTAL=3.9G MAX=7.1G)
2020-07-15 11:32:50 查询的数据级次范围:没有做限制。
2020-07-15 11:32:50 001开始多表格各分析区并行计算
2020-07-15 11:32:50 [GRID4(0.0.3.4)]正在生成SQL...
java.lang.RuntimeException: 缺少主源表;
  at com.esen.ebibase.rptbase.calc.db.olap.OlapSqlSingleMakerImpl.(OlapSqlSingleMakerImpl.java:97)
  at com.esen.ebibase.rptbase.calc.db.top.impl.OlapSqlMakerImpl.getsimpleOlapTable(OlapSqlMakerImpl.java:195)
  at com.esen.ebibase.rptbase.calc.db.top.impl.OlapSqlMakerImpl.getNestOlapSql(OlapSqlMakerImpl.java:76)
  at com.esen.ebibase.rptbase.calc.db.top.impl.OlapSqlMakerImpl.getMultiOlapSql(OlapSqlMakerImpl.java:92)
  at com.esen.ebibase.rptbase.calc.db.top.OlapResultMultImpl.doit(OlapResultMultImpl.java:227)
  at com.esen.ebibase.rptbase.calc.db.top.OlapResultMultImpl.(OlapResultMultImpl.java:104)
  at com.esen.ebibase.rptbase.calc.db.top.CalcOlapResult.calcGroupOlap(CalcOlapResult.java:78)
  at com.esen.ebibase.rptbase.calc.impl.GroupOlapEngine.calc(GroupOlapEngine.java:35)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.OLTPResultManager.calcOlap(OLTPResultManager.java:533)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.OLTPResultManager.getOltpResult(OLTPResultManager.java:522)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.OLTPResultManager.getOltpData4AutoOlap(OLTPResultManager.java:155)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.OLTPResultManager.getOltpData(OLTPResultManager.java:88)
  at com.esen.ebibase.rptbase.calc.impl.cache.FxBaseAnalyseReportCalc.getOltpData(FxBaseAnalyseReportCalc.java:494)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqCalc.getOltpData(FloatFxqCalc.java:253)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqInnerCalc.getOltpData(FloatFxqInnerCalc.java:79)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.QueryRectsResult_Impl.getOltpData(FloatFxqInnerCalc.java:1173)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.QueryRectsResult_Impl.collectResult_zbsInFxq(FloatFxqInnerCalc.java:480)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.QueryRectsResult_Impl.collectResult(FloatFxqInnerCalc.java:154)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqInnerCalc.calc(FloatFxqInnerCalc.java:58)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqCalc.calc(FloatFxqCalc.java:249)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FixRectInFxqResultImpl.processResult(FixRectInFxqResultImpl.java:44)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.RectsInFxqResultImpl.processResult(RectsInFxqResultImpl.java:101)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqResultImpl.processResult(FloatFxqResultImpl.java:93)
  at com.esen.ebibase.rptbase.calc.impl.cache.floatfxq2.FloatFxqCalc.calc(FloatFxqCalc.java:86)
  at com.esen.ebibase.rptbase.calc.impl.FxCalc.calc(FxCalc.java:34)
  at com.esen.ebibase.rptbase.calc.impl.cache.RequestTask_FxqCalc.doRun(RequestTask_FxqCalc.java:105)
  at com.esen.ebibase.req.AbstractRequestTask.call(AbstractRequestTask.java:87)
  at com.esen.ethreadpool.req.RequestTaskFutureImpl.call(RequestTaskFutureImpl.java:100)
  at com.esen.scheduling.LocaleTask.call(LocaleTask.java:56)
  at java.util.concurrent.FutureTask.run(FutureTask.java:262)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:744)



页面地址为:【/abi/ebibase/js/reqmgr.do?action=calc;rptid=EANA$2$2$1$47829870272949a7939935523ce6bee7$024f2835f2444433b6a9850d16343ae4.rpttpl】
at Object.throwError (http://192.168.8.55:8080/abi/eui/eui.js:2583:19)
at CalcReqTask.AbstractReqObj.onqueryobjfinish (http://192.168.8.55:8080/abi/eui/core/objs.js:1:37313)
at QueryObj._AbstractReqObj_onQueryFinish (http://192.168.8.55:8080/abi/eui/core/objs.js:1:38285)
at QueryObj._onreadystatechange (http://192.168.8.55:8080/abi/eui/core/ajax.js:1:2873)
at XMLHttpRequest.hp.onreadystatechange (http://192.168.8.55:8080/abi/eui/core/ajax.js:1:3383)

wut 数据老手Lv5

发表于2020-7-20 16:36

只看该作者

取消 关注该作者的回复

7#

本帖最后由 wut 于 2020-7-20 16:37 编辑

吧这个grid4的表格删除,看下是否可以正常计算,对应的统计图也删除。如果可以正常的话,需要您自己调整下这个表格的数据,我看报错是这个表格的问题。

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

渠道咨询电话:137-0120-6790

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号