写在前面:前半个月还是对FR的熟悉,后半个月终于开始接手奇奇怪怪的开发需求了2333
本月任务:
1.定时发邮件 —— 邮件正文预览图,不预览表,附件里有图有表,这个需求,臣妾做不到!
2.公司系统平台的管理与开发
3.Oracle存储过程 —— 如何在存储过程中调用其他的存储过程
4.跨域的概念与FR上的实现
1.定时发送邮件的那些事
前辈老师:阿浩,我发个邮件给你,你看看实现这个功能需要多长时间。
我接手一看,嚯,貌似挺简单:
邮件正文是介个样子滴:
你好,这是2020-8-17XX交易数据,请注意查收:
以上*4
附件:Excel(2020-8-17XX交易数据)
打开附件一看,曲线图*4 + 表格数据
(貌似有什么不对,此刻小浩还没意识到问题的严重性)
开始着手做,打开FR设计器,数据该导入导入,图表该设计设计,终于小浩将做好的报表挂载到系统,配置 定时调度—— 新建任务 —— 一路设置,选上邮件通知,发送给自己,抄送给老师看下效果。
——“嗯?小浩,这个表的数据太长了啊,能不能正文上只预览图还不看到表数据呢?就是把表给隐藏掉。”
——“那附件里需要有表的数据吗?”
——“那肯定要啊!”
——“额,这个,臣妾做不到啊!”
首先要明确这一点:FR的发送邮件功能,需要选定某一个(就一个)挂载到报表系统的模板文件,然后附件是根据该模板文件所导出生成的,所以:①无法做到正文和附件不一样。②也不能做两个模板文件,一个用作预览,另一个用做附件。③也不能在模板文件里把表隐藏掉来实现上述需求(这样附件的Excel里依然没有表数据,而不是表数据被隐藏)
2.Oracle存储过程的二三事
2.1 7月遗留问题 —— FR调用非当前用户下的存储过程
经过测试,发现是可以通过{call 存储过程名}来实现的,但是,仅限于无参数或者输出参数仅有1个的情况。入参通过FR的参数赋予,出参就是一个问号表示‘?’。参数的顺序和类型也要和存储过程保持一致。
2.2 如何在Oracle存储过程中调用其他的存储过程
①首先对于比较简单的,可以直接进行调用,我的例子里三个存储过程参数都一样。所以我可以直接调用,只需要将参数相对应列出来就好。
create or replace procedure tes1
(
i_date in varchar2
) IS
v_stu integer;
v_ret varchar2(50);
begin
test1(i_date,v_stu,v_ret);
test2(i_date,v_stu,v_ret);
test3(i_date,v_stu,v_ret);
--创建一个名为'tes1'的存储过程,去调用'test1','test2','test3'这三个存储过程
②另外一种方法可以采用创建package的方式调用,具体的这点我还不太清楚,算是个小坑吧,下周争取填上。
这个方法的参考链接:
https://www.cnblogs.com/IcanFixIt/p/4296379.html
3.跨域
首先要了解一下什么是跨域——对于一个URL来说,其组成部分为协议+主机+端口
下面直接贴图吧,
对于Java的前后端跨域处理(我这半路出家的小白也不太懂)可以参考:
https://blog.csdn.net/qq_38128179/article/details/84956552
回到我的具体问题,领导想要的是将我所做的报表嵌入到网页上,或者说他的业务中,但是会报错,中而应该是出于浏览器的同源策略限制。
解决方法:在FR决策系统中关闭security headers。
进度打卡:闲鱼上购入了证券从业资格考试的书和习题,已经开始复习了!!加油!!! 须知善战者无赫赫战功,加油