用友–报表学习总结

报表其实就是根据客户需求–需要哪些字段反馈给甲方,比如我们有一千多个表,需要的字段在各个表中都可能会有涉及

首先到语义建模进行sql的拼写

在这里可以根据客户给的excel比如

这种,对此进行sql,我的sql如下:

WITH RECURSIVE org_hierarchy AS (
  SELECT 
    id,
    parentid,
    name,
    1 AS level,
    CAST(name AS CHAR(255)) AS full_path
  FROM iuap_apdoc_basedoc.org_admin
  WHERE parentid NOT IN (SELECT id FROM iuap_apdoc_basedoc.org_admin)
  UNION ALL
  SELECT 
    o.id,
    o.parentid,
    o.name,
    oh.level + 1,
    CONCAT(oh.full_path, '/', o.name)
  FROM iuap_apdoc_basedoc.org_admin o
  JOIN org_hierarchy oh ON o.parentid = oh.id
)
SELECT  
  count(*) as '人数',
  SUBSTRING_INDEX(SUBSTRING_INDEX(oh.full_path, '/', 2), '/', -1) as 上级部门,
  SUBSTRING_INDEX(SUBSTRING_INDEX(oh.full_path, '/', 3), '/', -1) as 二级部门,
  CASE 
    WHEN LOCATE('省', t3.name) > 0 THEN LEFT(t3.name, LOCATE('省', t3.name))
    ELSE t3.name
  END as '籍贯'
FROM iuap_apdoc_basedoc.bd_staff t1
JOIN iuap_apdoc_basedoc.org_admin t2 ON t1.dept_id = t2.id
JOIN iuap_apdoc_basedoc.bd_baseregion t3 ON t1.origin = t3.id
JOIN org_hierarchy oh ON oh.id = t1.dept_id
WHERE 1=1
<#if param('部门')!=''>
   AND t1.dept_id IN (
    <#list param('部门') ? split(",") as item > '${item}' <#if item ? has_next >,</#if > </#list >
  )
</#if>
GROUP BY 
  t2.name,
  SUBSTRING_INDEX(SUBSTRING_INDEX(oh.full_path, '/', 2), '/', -1),
  SUBSTRING_INDEX(SUBSTRING_INDEX(oh.full_path, '/', 3), '/', -1),
  CASE 
    WHEN LOCATE('省', t3.name) > 0 THEN LEFT(t3.name, LOCATE('省', t3.name))
    ELSE t3.name
  END

语义建模达到目的后就(发布后期再设计报表的时候可以引用)

报表设计:

根据我们的要求进行参数与字段的拼接:

点到某个字段后可以进行设置:

然后

这是效果!

博客内容均系原创,未经允许严禁转载!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇