• NC部门考勤月报定制sql


      1 SELECT t_1.pk_psndoc pk_psndoc,
      2        t_1.pk_group pk_group,
      3        t_1.pyear pyear,
      4        t_1.month month,
      5        t_1.code psncode,
      6        t_1.name psnname,
      7        t_1.glbdef1 glbdef1,
      8        t_1.thisyearyial thisyearyial,
      9        t_1.lastal lastal,
     10        t_1.lastbx lastbx,
     11        nvl(t_1.annualleave, 0) annualleave,
     12        nvl(t_1.absenceleave, 0) absenceleave,
     13        nvl(t_1.sickleave, 0) sickleave,
     14        nvl(t_1.compensatedleave, 0) compensatedleave,
     15        t_1.yxhunjia yxhunjia,
     16        t_1.yxsangjia yxsangjia,
     17        t_1.yxgongshang yxgongshang,
     18        t_1.yxchanjia yxchanjia,
     19        t_1.yxchanjian yxchanjian,
     20        t_1.yxpeichan yxpeichan,
     21        t_1.yxshijia yxshijia,
     22        t_1.yxbingjia yxbingjia,
     23        t_1.yxnianjia yxnianjia,
     24        t_1.jynianjia jynianjia,
     25        t_1.jybuxiu jybuxiu,
     26        hi_psnjob.pk_dept pk_dept
     27   FROM (SELECT ld.ym               ym,
     28                psn.pk_group        pk_group,
     29                psn.pk_psndoc       pk_psndoc,
     30                psn.code            code,
     31                psn.name            name,
     32                psn.glbdef1         glbdef1,
     33                bal.thisyearyial    thisyearyial,
     34                bal.lastal          lastal,
     35                tbbxv.lastbx        lastbx,
     36                bal.yxhunjia        yxhunjia,
     37                bal.yxsangjia       yxsangjia,
     38                bal.yxgongshang     yxgongshang,
     39                bal.yxchanjia       yxchanjia,
     40                bal.yxchanjian      yxchanjian,
     41                bal.yxpeichan       yxpeichan,
     42                bal.yxshijia        yxshijia,
     43                bal.yxbingjia       yxbingjia,
     44                bal.yxnianjia       yxnianjia,
     45                bal.jynianjia       jynianjia,
     46                bal.jybuxiu         jybuxiu,
     47                ld.annualleave      annualleave,
     48                ld.absenceleave     absenceleave,
     49                ld.sickleave        sickleave,
     50                ld.compensatedleave compensatedleave
     51           FROM bd_psndoc psn
     52          INNER JOIN leave_daily ld
     53             ON ld.pk_psnodc = psn.pk_psndoc
     54            AND ld.pk_org = psn.pk_org
     55          INNER JOIN (SELECT tbbx.pk_org pk_org,
     56                            tbbx.pk_psndoc pk_psndoc,
     57                            tbbx.curyear curyear,
     58                            sum(CASE
     59                                  WHEN tbbx.pk_timeitem = '10018G1000000000BM2L' THEN
     60                                   tbbx.realdayorhour - tbbx.yidayorhour -
     61                                   tbbx.freezedayorhour
     62                                  ELSE
     63                                   0
     64                                END) lastbx
     65                       FROM tbm_leavebalance tbbx
     66                      GROUP BY tbbx.pk_org, tbbx.pk_psndoc, tbbx.curyear) tbbxv
     67             ON psn.pk_psndoc = tbbxv.pk_psndoc
     68            AND psn.pk_org = tbbxv.pk_org
     69            AND tbbxv.curyear = substr(ld.ym, 0, 4) - 1
     70          INNER JOIN (SELECT tb.pk_org pk_org,
     71                            tb.pk_psndoc pk_psndoc,
     72                            tb.curyear curyear,
     73                            sum(CASE
     74                                  WHEN tb.pk_timeitem = '1002Z710000000021ZLJ' THEN
     75                                   tb.curdayorhour
     76                                  ELSE
     77                                   0
     78                                END) thisyearyial,
     79                            sum(CASE
     80                                  WHEN tb.pk_timeitem = '1002Z710000000021ZLJ' THEN
     81                                   tb.lastdayorhour
     82                                  ELSE
     83                                   0
     84                                END) lastal,
     85                            sum(CASE
     86                                  WHEN tb.pk_timeitem = '1002Z710000000021ZLF' THEN
     87                                   tb.yidayorhour + tb.freezedayorhour
     88                                  ELSE
     89                                   0
     90                                END) yxhunjia,
     91                            sum(CASE
     92                                  WHEN tb.pk_timeitem = '1002Z710000000021ZLN' THEN
     93                                   tb.yidayorhour + tb.freezedayorhour
     94                                  ELSE
     95                                   0
     96                                END) yxsangjia,
     97                            sum(CASE
     98                                  WHEN tb.pk_timeitem = '1002Z710000000021ZLP' THEN
     99                                   tb.yidayorhour + tb.freezedayorhour
    100                                  ELSE
    101                                   0
    102                                END) yxgongshang,
    103                            sum(CASE
    104                                  WHEN tb.pk_timeitem = '1002Z710000000021ZLH' THEN
    105                                   tb.yidayorhour + tb.freezedayorhour
    106                                  ELSE
    107                                   0
    108                                END) yxchanjia,
    109                            sum(CASE
    110                                  WHEN tb.pk_timeitem = '10018G1000000000IOLU' THEN
    111                                   tb.yidayorhour + tb.freezedayorhour
    112                                  ELSE
    113                                   0
    114                                END) yxchanjian,
    115                            sum(CASE
    116                                  WHEN tb.pk_timeitem = '10018G1000000000BM2X' THEN
    117                                   tb.yidayorhour + tb.freezedayorhour
    118                                  ELSE
    119                                   0
    120                                END) yxpeichan,
    121                            sum(CASE
    122                                  WHEN tb.pk_timeitem = '1002Z710000000021ZLB' THEN
    123                                   tb.yidayorhour + tb.freezedayorhour
    124                                  ELSE
    125                                   0
    126                                END) yxshijia,
    127                            sum(CASE
    128                                  WHEN tb.pk_timeitem = '1002Z710000000021ZLD' THEN
    129                                   tb.yidayorhour + tb.freezedayorhour
    130                                  ELSE
    131                                   0
    132                                END) yxbingjia,
    133                            sum(CASE
    134                                  WHEN tb.pk_timeitem = '1002Z710000000021ZLJ' THEN
    135                                   tb.yidayorhour + tb.freezedayorhour
    136                                  ELSE
    137                                   0
    138                                END) yxnianjia,
    139                            sum(CASE
    140                                  WHEN tb.pk_timeitem = '1002Z710000000021ZLJ' THEN
    141                                   tb.curdayorhour - tb.yidayorhour -
    142                                   tb.freezedayorhour
    143                                  ELSE
    144                                   0
    145                                END) jynianjia,
    146                            sum(CASE
    147                                  WHEN tb.pk_timeitem = '10018G1000000000BM2L' THEN
    148                                   tb.realdayorhour - tb.yidayorhour -
    149                                   tb.freezedayorhour
    150                                  ELSE
    151                                   0
    152                                END) jybuxiu
    153                       FROM tbm_leavebalance tb
    154                      GROUP BY tb.pk_org, tb.pk_psndoc, tb.curyear) bal
    155             ON psn.pk_psndoc = bal.pk_psndoc
    156            AND psn.pk_org = bal.pk_org
    157            AND bal.curyear = substr(ld.ym, 0, 4)
    158          WHERE psn.pk_org = '00016H10000000000BIV') t_1
    159  INNER JOIN hi_psnjob hi_psnjob
    160     ON (t_1.pk_psndoc = hi_psnjob.pk_psndoc AND hi_psnjob.ismainjob = 'Y' AND
    161        hi_psnjob.lastflag = 'Y')
    162  INNER JOIN (SELECT * FROM org_dept) org_dept
    163     ON (hi_psnjob.pk_dept = org_dept.pk_dept)
    164  WHERE org_dept.principal = (SELECT pk_base_doc pk_base_doc FROM cp_user)
    165  ORDER BY t_1.ym
  • 相关阅读:
    武功秘籍 蓝桥杯
    切面条 蓝桥杯
    啤酒和饮料 蓝桥杯
    蚂蚁感冒 蓝桥杯
    hdu N!
    hdu 神、上帝以及老天爷
    ListView滑动删除 ,仿腾讯QQ
    C++ 习题 输出日期时间--友元函数
    C++习题 商品销售
    渠道运营一点事
  • 原文地址:https://www.cnblogs.com/yanglang/p/10023990.html
Copyright © 2020-2023  润新知