SQL SERVICE的存儲(chǔ)過程與ORACLE的包

一铃绒、SQL SERVICE的存儲(chǔ)過程

ALTER PROCEDURE Gene_Task_SearchData
AS
BEGIN
    TRUNCATE TABLE Gene_Task_Search_Result_Tmp;

    INSERT INTO Gene_Task_Search_Result_Tmp
    SELECT l.id "流程實(shí)例編號(hào)",
           l.LearingTilteC "案件名稱",
           hr.NAME "申請(qǐng)人",
           r.distribution_time "申請(qǐng)時(shí)間",
           l.id "流程名稱",
           hr.CORPNAME "公司名稱",
           '' "status",
           '' "formid",
           '' "viewurl"
      FROM [dbo].[LearingResult] r
           inner join [dbo].[E-learing] l on r.LearingId = l.ID
           inner join ckhr.dbo.IF_V_SP_CONTACTS hr on hr.CODE = r.Uid
           inner join dbo.AD_User_Map um on um.userCode = hr.CODE
     WHERE r.isdelete <> 1
       AND (l.ID like (select '%'+processNumber+'%' from dbo.Gene_Task_Search_Para_Tmp p where p.processNumber is not null)
           OR (select COUNT(*) from dbo.Gene_Task_Search_Para_Tmp p where p.processNumber is not null) = 0)
       AND (l.LearingTilteC like (select '%'+casename+'%' from dbo.Gene_Task_Search_Para_Tmp p where p.casename is not null)
           OR (select COUNT(*) from dbo.Gene_Task_Search_Para_Tmp p where p.casename is not null) = 0)
       AND (CONVERT(varchar(100), r.distribution_time, 23) = (select applicationTime from dbo.Gene_Task_Search_Para_Tmp p where p.applicationTime is not null)
           OR (select COUNT(*) from dbo.Gene_Task_Search_Para_Tmp p where p.applicationTime is not null) = 0)
       AND (hr.CODE in (SELECT userCode FROM Gene_Task_Search_Para_Tmp WHERE userCode is not null))
     ;
SELECT * FROM Gene_Task_Search_Result_Tmp;
    SELECT COUNT(*) CT FROM Gene_Task_Search_Result_Tmp;
END;

二、ORACLE的包

CREATE OR REPLACE PACKAGE oa_pkg AS

    /********************************************* 
        
        This package for Ftit OA system
        
        Author: xianyu.ying
        Date: 2017-06-26
    *********************************************/

    /********************************************* 
      每天計(jì)算SVN狀態(tài)數(shù)據(jù)撼港,并填充到結(jié)果表 
      Author: xianyu.ying
      Date: 2017-06-26
    *********************************************/
    PROCEDURE calc_svn_report_by_day;
END oa_pkg;
/
CREATE OR REPLACE PACKAGE BODY oa_pkg AS

    /********************************************* 
      每天計(jì)算SVN狀態(tài)數(shù)據(jù)惫确,并填充到結(jié)果表 
      Author: xianyu.ying
      Date: 2017-06-26
    *********************************************/
    PROCEDURE calc_svn_report_by_day IS
    
        CURSOR rec_data IS
            SELECT *
                  FROM (SELECT oa_pro.i_project_code 項(xiàng)目編號(hào),
                               oa_pro.i_project_name 項(xiàng)目名稱,
                               ceil(SYSDATE - to_date(oa_pro.i_start_date, 'yyyymmdd')) 開發(fā)時(shí)長(zhǎng),
                               oa_pro.user_sale 銷售負(fù)責(zé)人,
                               oa_pro.user_sale_code 銷售編號(hào),
                               user_pro 項(xiàng)目負(fù)責(zé)人,
                               oa_pro.user_charg_code 負(fù)責(zé)人編號(hào),
                               SUM(svn_rep.filenum) 總文件數(shù)量,
                               SUM(svn_rep.codeline) 總代碼數(shù)量,
                               COUNT(1) 總提交次數(shù),
                               decode((SELECT '是'
                                        FROM t_project_developer
                                       WHERE projectid = oa_pro.i_project_code
                                         AND userid = oa_dev.i_user_code),
                                      NULL,
                                      '否',
                                      '是') 項(xiàng)目預(yù)定成員,
                               decode(oa_dev.i_user_name,
                                      NULL,
                                      svn_rep.developer,
                                      oa_dev.i_user_name) 開發(fā)成員名稱,
                               decode(oa_dev.i_user_code,
                                      NULL,
                                      svn_rep.developer,
                                      oa_dev.i_user_code) 員工編號(hào),
                               decode(svn_day.filenum, NULL, 0, svn_day.filenum) 本日文件數(shù)量,
                               decode(svn_week.filenum, NULL, 0, svn_week.filenum) 本周文件數(shù)量,
                               decode(svn_month.filenum, NULL, 0, svn_month.filenum) 本月文件數(shù)量,
                               decode(svn_year.filenum, NULL, 0, svn_year.filenum) 本年文件數(shù)量,
                               decode(svn_day.codeline, NULL, 0, svn_day.codeline) 本日代碼行數(shù),
                               decode(svn_week.codeline, NULL, 0, svn_week.codeline) 本周代碼行數(shù),
                               decode(svn_month.codeline, NULL, 0, svn_month.codeline) 本月代碼行數(shù),
                               decode(svn_year.codeline, NULL, 0, svn_year.codeline) 本年代碼行數(shù),
                               decode(svn_day.commitcount, NULL, 0, svn_day.commitcount) 本日提交次數(shù),
                               decode(svn_week.commitcount, NULL, 0, svn_week.commitcount) 本周提交次數(shù),
                               decode(svn_month.commitcount, NULL, 0, svn_month.commitcount) 本月提交次數(shù),
                               decode(svn_year.commitcount, NULL, 0, svn_year.commitcount) 本年提交次數(shù),
                               'http://showsan.com:8081/' || to_char(SYSDATE, 'yyyymmdd') || '/' ||
                               svn_rep.projectname || '/user_' || svn_rep.developer ||
                               '.html' 明細(xì)鏈接
                          FROM t_log_report svn_rep,
                               (SELECT u_d.i_user_code,
                                       u_d.i_user_name,
                                       m2.svn_developer svn_user_code
                                  FROM t_svn_oa_developer_mapping m2, t_users_mst u_d
                                 WHERE m2.oa_developer = u_d.i_user_code) oa_dev,
                               (SELECT t.*,
                                       m.*,
                                       t.i_user_sale      user_sale_code,
                                       t.i_user_charg     user_charg_code,
                                       u_sale.i_user_name user_sale,
                                       u_pro.i_user_name  user_pro
                                  FROM t_project_mst            t,
                                       t_svn_oa_project_mapping m,
                                       t_users_mst              u_sale,
                                       t_users_mst              u_pro
                                 WHERE t.i_project_code = m.oa_project
                                   AND t.i_user_sale = u_sale.i_user_code(+)
                                   AND t.i_user_charg = u_pro.i_user_code) oa_pro,
                               (SELECT projectname,
                                       developer,
                                       SUM(codeline) codeline,
                                       SUM(filenum) filenum,
                                       COUNT(1) commitcount
                                  FROM t_log_report
                                 WHERE to_char(logtime, 'yyyymmdd') =
                                       to_char(SYSDATE - 1, 'yyyymmdd')
                                 GROUP BY projectname, developer) svn_day,
                               (SELECT projectname,
                                       developer,
                                       SUM(codeline) codeline,
                                       SUM(filenum) filenum,
                                       COUNT(1) commitcount
                                  FROM t_log_report
                                 WHERE to_date(to_char(logtime, 'yyyymmdd'), 'yyyymmdd') BETWEEN
                                       trunc(SYSDATE - 1, 'd') + 1 AND
                                       trunc(SYSDATE - 1, 'd') + 1 + 6
                                 GROUP BY projectname, developer) svn_week,
                               (SELECT projectname,
                                       developer,
                                       SUM(codeline) codeline,
                                       SUM(filenum) filenum,
                                       COUNT(1) commitcount
                                  FROM t_log_report
                                 WHERE to_date(to_char(logtime, 'yyyymmdd'), 'yyyymmdd') BETWEEN
                                       trunc(SYSDATE, 'mm') AND last_day(SYSDATE)
                                 GROUP BY projectname, developer) svn_month,
                               (SELECT projectname,
                                       developer,
                                       SUM(codeline) codeline,
                                       SUM(filenum) filenum,
                                       COUNT(1) commitcount
                                  FROM t_log_report
                                 WHERE to_date(to_char(logtime, 'yyyymmdd'), 'yyyymmdd') BETWEEN
                                       trunc(SYSDATE, 'yy') AND
                                       last_day(add_months(trunc(SYSDATE, 'y'), 11))
                                 GROUP BY projectname, developer) svn_year
                         WHERE svn_rep.projectname = oa_pro.svn_project
                           AND svn_rep.developer = oa_dev.svn_user_code(+)
                           AND svn_rep.projectname = svn_day.projectname(+)
                           AND svn_rep.developer = svn_day.developer(+)
                           AND svn_rep.projectname = svn_week.projectname(+)
                           AND svn_rep.developer = svn_week.developer(+)
                           AND svn_rep.projectname = svn_month.projectname(+)
                           AND svn_rep.developer = svn_month.developer(+)
                           AND svn_rep.projectname = svn_year.projectname(+)
                           AND svn_rep.developer = svn_year.developer(+)
                         GROUP BY oa_pro.i_project_code,
                                  oa_pro.i_project_name,
                                  'http://showsan.com:8081/' || to_char(SYSDATE, 'yyyymmdd') || '/' ||
                                  svn_rep.projectname || '/user_' || svn_rep.developer ||
                                  '.html',
                                  ceil(SYSDATE - to_date(oa_pro.i_start_date, 'yyyymmdd')),
                                  oa_pro.user_sale,
                                  user_pro,
                                  oa_pro.user_sale_code,
                                  oa_pro.user_charg_code,
                                  svn_rep.developer,
                                  oa_dev.i_user_name,
                                  oa_dev.i_user_code,
                                  svn_day.filenum,
                                  svn_week.filenum,
                                  svn_month.filenum,
                                  svn_year.filenum,
                                  svn_day.codeline,
                                  svn_week.codeline,
                                  svn_month.codeline,
                                  svn_year.codeline,
                                  svn_day.commitcount,
                                  svn_week.commitcount,
                                  svn_month.commitcount,
                                  svn_year.commitcount
                        
                        UNION ALL
                        
                        SELECT pd.projectid 項(xiàng)目編號(hào),
                               tpm.i_project_name 項(xiàng)目名稱,
                               ceil(SYSDATE - to_date(tpm.i_start_date, 'yyyymmdd')) 開發(fā)時(shí)長(zhǎng),
                               tumsale.i_user_name 銷售負(fù)責(zé)人,
                               tpm.i_user_sale 銷售編號(hào),
                               tumcharg.i_user_name 項(xiàng)目負(fù)責(zé)人,
                               tpm.i_user_charg 負(fù)責(zé)人編號(hào),
                               0 總文件數(shù)量,
                               0 總代碼數(shù)量,
                               0 總提交次數(shù),
                               '是' 項(xiàng)目預(yù)定成員,
                               tum.i_user_name 開發(fā)成員名稱,
                               pd.userid 員工編號(hào),
                               0 本日文件數(shù)量,
                               0 本周文件數(shù)量,
                               0 本月文件數(shù)量,
                               0 本年文件數(shù)量,
                               0 本日代碼行數(shù),
                               0 本周代碼行數(shù),
                               0 本月代碼行數(shù),
                               0 本年代碼行數(shù),
                               0 本日提交次數(shù),
                               0 本周提交次數(shù),
                               0 本月提交次數(shù),
                               0 本年提交次數(shù),
                               '' 明細(xì)鏈接
                          FROM t_project_developer        pd,
                               t_svn_oa_developer_mapping dm,
                               t_users_mst                tum,
                               t_svn_oa_project_mapping   pm,
                               t_project_mst              tpm,
                               t_users_mst                tumsale,
                               t_users_mst                tumcharg
                         WHERE dm.oa_developer = pd.userid
                           AND tum.i_user_code = pd.userid
                           AND pm.oa_project = pd.projectid
                           AND NOT EXISTS
                         (SELECT 1
                                  FROM t_log_report r
                                 WHERE r.developer = dm.svn_developer)
                           AND tpm.i_project_code = pd.projectid
                           AND tumsale.i_user_code(+) = tpm.i_user_sale
                           AND tumcharg.i_user_code = tpm.i_user_charg)
                 ORDER BY 2;

    
    
        CURSOR rec_data2 IS
            SELECT decode(oa_dev.i_user_code,
                                    NULL,
                                    svn_rep.developer,
                                    oa_dev.i_user_code) 開發(fā)者編號(hào),
                             decode(oa_dev.i_user_name,
                                    NULL,
                                    svn_rep.developer,
                                    oa_dev.i_user_name) 開發(fā)者姓名,
                             pnumber.a 參與項(xiàng)目數(shù),
                             oa_pro.i_project_code 項(xiàng)目編號(hào),
                             oa_pro.i_project_name 項(xiàng)目名稱,
                             decode((SELECT '是'
                                      FROM t_project_developer
                                     WHERE projectid = oa_pro.i_project_code
                                       AND userid = oa_dev.i_user_code),
                                    NULL,
                                    '否',
                                    '是') 項(xiàng)目預(yù)定成員,
                             oa_pro.user_sale 銷售人員,
                             oa_pro.user_sale_code 銷售編號(hào),
                             oa_pro.user_charg 項(xiàng)目負(fù)責(zé)人,
                             oa_pro.user_charg_code 負(fù)責(zé)人編號(hào),
                             ceil(SYSDATE - to_date(oa_pro.i_start_date, 'yyyymmdd')) 開發(fā)時(shí)長(zhǎng),
                             decode(svn_day.filenum, NULL, 0, svn_day.filenum) 本日文件數(shù)量,
                             decode(svn_week.filenum, NULL, 0, svn_week.filenum) 本周文件數(shù)量,
                             decode(svn_month.filenum, NULL, 0, svn_month.filenum) 本月文件數(shù)量,
                             decode(svn_year.filenum, NULL, 0, svn_year.filenum) 本年文件數(shù)量,
                             decode(svn_day.codeline, NULL, 0, svn_day.codeline) 本日代碼行數(shù),
                             decode(svn_week.codeline, NULL, 0, svn_week.codeline) 本周代碼行數(shù),
                             decode(svn_month.codeline, NULL, 0, svn_month.codeline) 本月代碼行數(shù),
                             decode(svn_year.codeline, NULL, 0, svn_year.codeline) 本年代碼行數(shù),
                             decode(svn_day.commitcount, NULL, 0, svn_day.commitcount) 本日提交次數(shù),
                             decode(svn_week.commitcount, NULL, 0, svn_week.commitcount) 本周提交次數(shù),
                             decode(svn_month.commitcount, NULL, 0, svn_month.commitcount) 本月提交次數(shù),
                             decode(svn_year.commitcount, NULL, 0, svn_year.commitcount) 本年提交次數(shù)
                        FROM t_log_report svn_rep,
                             t_project_developer pd,
                             (SELECT u_d.i_user_code,
                                     u_d.i_user_name,
                                     m2.svn_developer svn_user_code
                                FROM t_svn_oa_developer_mapping m2, t_users_mst u_d
                               WHERE m2.oa_developer = u_d.i_user_code) oa_dev,
                             (SELECT t.*,
                                     m.*,
                                     t.i_user_sale       user_sale_code,
                                     t.i_user_charg      user_charg_code,
                                     u_sale.i_user_name  user_sale,
                                     u_charg.i_user_name user_charg
                                FROM t_project_mst            t,
                                     t_svn_oa_project_mapping m,
                                     t_users_mst              u_sale,
                                     t_users_mst              u_charg
                               WHERE t.i_project_code = m.oa_project
                                 AND t.i_user_sale = u_sale.i_user_code(+)
                                 AND t.i_user_charg = u_charg.i_user_code) oa_pro,
                             (SELECT projectname,
                                     developer,
                                     SUM(codeline) codeline,
                                     SUM(filenum) filenum,
                                     COUNT(1) commitcount
                                FROM t_log_report
                               WHERE to_char(logtime, 'yyyymmdd') =
                                     to_char(SYSDATE - 1, 'yyyymmdd')
                               GROUP BY projectname, developer) svn_day,
                             (SELECT projectname,
                                     developer,
                                     SUM(codeline) codeline,
                                     SUM(filenum) filenum,
                                     COUNT(1) commitcount
                                FROM t_log_report
                               WHERE to_date(to_char(logtime, 'yyyymmdd'), 'yyyymmdd') BETWEEN
                                     trunc(SYSDATE - 1, 'd') + 1 AND
                                     trunc(SYSDATE - 1, 'd') + 1 + 6
                               GROUP BY projectname, developer) svn_week,
                             (SELECT projectname,
                                     developer,
                                     SUM(codeline) codeline,
                                     SUM(filenum) filenum,
                                     COUNT(1) commitcount
                                FROM t_log_report
                               WHERE to_date(to_char(logtime, 'yyyymmdd'), 'yyyymmdd') BETWEEN
                                     trunc(SYSDATE, 'mm') AND last_day(SYSDATE)
                               GROUP BY projectname, developer) svn_month,
                             (SELECT projectname,
                                     developer,
                                     SUM(codeline) codeline,
                                     SUM(filenum) filenum,
                                     COUNT(1) commitcount
                                FROM t_log_report
                               WHERE to_date(to_char(logtime, 'yyyymmdd'), 'yyyymmdd') BETWEEN
                                     trunc(SYSDATE, 'yy') AND
                                     last_day(add_months(trunc(SYSDATE, 'y'), 11))
                               GROUP BY projectname, developer) svn_year,
                             (SELECT COUNT(*) a, developer b
                                FROM (SELECT projectname, COUNT(projectname), developer
                                        FROM t_log_report
                                       GROUP BY projectname, developer)
                               GROUP BY developer) pnumber
                       WHERE svn_rep.projectname = oa_pro.svn_project
                         AND svn_rep.developer = oa_dev.svn_user_code(+)
                         AND svn_rep.projectname = svn_day.projectname(+)
                         AND svn_rep.developer = svn_day.developer(+)
                         AND svn_rep.projectname = svn_week.projectname(+)
                         AND svn_rep.developer = svn_week.developer(+)
                         AND svn_rep.projectname = svn_month.projectname(+)
                         AND svn_rep.developer = svn_month.developer(+)
                         AND svn_rep.projectname = svn_year.projectname(+)
                         AND svn_rep.developer = svn_year.developer(+)
                         AND svn_rep.developer = pnumber.b
                       GROUP BY oa_pro.i_project_code,
                                oa_pro.i_project_name,
                                pnumber.a,
                                ceil(SYSDATE - to_date(oa_pro.i_start_date, 'yyyymmdd')),
                                oa_pro.user_sale,
                                oa_pro.user_charg,
                                oa_pro.user_sale_code,
                                oa_pro.user_charg_code,
                                svn_rep.developer,
                                oa_dev.i_user_name,
                                oa_dev.i_user_code,
                                svn_day.filenum,
                                svn_week.filenum,
                                svn_month.filenum,
                                svn_year.filenum,
                                svn_day.codeline,
                                svn_week.codeline,
                                svn_month.codeline,
                                svn_year.codeline,
                                svn_day.commitcount,
                                svn_week.commitcount,
                                svn_month.commitcount,
                                svn_year.commitcount;

    
    
        CURSOR rec_data3 IS
            SELECT to_char(svn_rep.logtime, 'yyyyMMdd') 日期,
                   to_char(svn_rep.logtime, 'hh:MM') 時(shí)間,
                   svn_rep.versionnum 上傳編號(hào),
                   oa_pro.i_project_code 項(xiàng)目編號(hào),
                   oa_pro.i_project_name 項(xiàng)目名稱,
                   oa_pro.i_start_date 開工日期,
                   ceil(SYSDATE - to_date(oa_pro.i_start_date, 'yyyymmdd')) 開發(fā)時(shí)長(zhǎng),
                   oa_pro.user_sale 銷售負(fù)責(zé)人,
                   oa_pro.user_sale_code 銷售編號(hào),
                   oa_pro.user_pro 項(xiàng)目負(fù)責(zé)人,
                   oa_pro.user_charg_code 負(fù)責(zé)人編號(hào),
                   decode((SELECT '是'
                            FROM t_project_developer
                           WHERE projectid = oa_pro.i_project_code
                             AND userid = oa_dev.i_user_code),
                          NULL,
                          '否',
                          '是') 項(xiàng)目預(yù)定成員,
                   decode(oa_dev.i_user_name,
                          NULL,
                          svn_rep.developer,
                          oa_dev.i_user_name) 開發(fā)成員名稱,
                   decode(oa_dev.i_user_code,
                          NULL,
                          svn_rep.developer,
                          oa_dev.i_user_code) 員工編號(hào),
                   svn_rep.filenum 上傳文件數(shù)量,
                   svn_rep.codeline 上傳代碼行數(shù),
                   'http://showsan.com:8081/' || to_char(SYSDATE, 'yyyymmdd') || '/' ||
                   svn_rep.projectname || '/user_' || svn_rep.developer || '.html' 明細(xì)鏈接
              FROM t_log_report svn_rep,
                   t_project_mst pro_mst,
                   (SELECT u_d.i_user_code,
                           u_d.i_user_name,
                           m2.svn_developer svn_user_code
                      FROM t_svn_oa_developer_mapping m2, t_users_mst u_d
                     WHERE m2.oa_developer = u_d.i_user_code) oa_dev,
                   (SELECT t.*,
                           m.*,
                           t.i_user_sale      user_sale_code,
                           t.i_user_charg     user_charg_code,
                           u_sale.i_user_name user_sale,
                           u_pro.i_user_name  user_pro
                      FROM t_project_mst            t,
                           t_svn_oa_project_mapping m,
                           t_users_mst              u_sale,
                           t_users_mst              u_pro
                     WHERE t.i_project_code = m.oa_project
                       AND t.i_user_sale = u_sale.i_user_code(+)
                       AND t.i_user_charg = u_pro.i_user_code) oa_pro,
                   (SELECT projectname,
                           developer,
                           SUM(codeline) codeline,
                           SUM(filenum) filenum,
                           COUNT(1) commitcount
                      FROM t_log_report
                     WHERE to_char(logtime, 'yyyymmdd') =
                           to_char(SYSDATE - 1, 'yyyymmdd')
                     GROUP BY projectname, developer) svn_day,
                   (SELECT projectname,
                           developer,
                           SUM(codeline) codeline,
                           SUM(filenum) filenum,
                           COUNT(1) commitcount
                      FROM t_log_report
                     WHERE to_date(to_char(logtime, 'yyyymmdd'), 'yyyymmdd') BETWEEN
                           trunc(SYSDATE - 1, 'd') + 1 AND
                           trunc(SYSDATE - 1, 'd') + 1 + 6
                     GROUP BY projectname, developer) svn_week,
                   (SELECT projectname,
                           developer,
                           SUM(codeline) codeline,
                           SUM(filenum) filenum,
                           COUNT(1) commitcount
                      FROM t_log_report
                     WHERE to_date(to_char(logtime, 'yyyymmdd'), 'yyyymmdd') BETWEEN
                           trunc(SYSDATE, 'mm') AND last_day(SYSDATE)
                     GROUP BY projectname, developer) svn_month,
                   (SELECT projectname,
                           developer,
                           SUM(codeline) codeline,
                           SUM(filenum) filenum,
                           COUNT(1) commitcount
                      FROM t_log_report
                     WHERE to_date(to_char(logtime, 'yyyymmdd'), 'yyyymmdd') BETWEEN
                           trunc(SYSDATE, 'yy') AND
                           last_day(add_months(trunc(SYSDATE, 'y'), 11))
                     GROUP BY projectname, developer) svn_year
             WHERE svn_rep.projectname = oa_pro.svn_project
               AND svn_rep.developer = oa_dev.svn_user_code(+)
               AND svn_rep.projectname = svn_day.projectname(+)
               AND svn_rep.developer = svn_day.developer(+)
               AND svn_rep.projectname = svn_week.projectname(+)
               AND svn_rep.developer = svn_week.developer(+)
               AND svn_rep.projectname = svn_month.projectname(+)
               AND svn_rep.developer = svn_month.developer(+)
               AND svn_rep.projectname = svn_year.projectname(+)
               AND svn_rep.developer = svn_year.developer(+)
             GROUP BY svn_rep.logtime,
                      svn_rep.versionnum,
                      oa_pro.i_project_code,
                      oa_pro.i_project_name,
                      oa_pro.i_start_date,
                      svn_rep.filenum,
                      svn_rep.codeline,
                      'http://showsan.com:8081/' || to_char(SYSDATE, 'yyyymmdd') || '/' ||
                      svn_rep.projectname || '/user_' || svn_rep.developer || '.html',
                      ceil(SYSDATE - to_date(oa_pro.i_start_date, 'yyyymmdd')),
                      oa_pro.user_sale,
                      oa_pro.user_pro,
                      oa_pro.user_sale_code,
                      oa_pro.user_charg_code,
                      svn_rep.developer,
                      oa_dev.i_user_name,
                      oa_dev.i_user_code;

    
    BEGIN
        /* 清空計(jì)算當(dāng)天數(shù)據(jù) */
        DELETE t_svn_report_by_project
        WHERE  to_char(report_time, 'yyyymmdd') = to_char(SYSDATE, 'yyyymmdd');
    
        DELETE t_svn_report_by_users
        WHERE  to_char(report_time, 'yyyymmdd') = to_char(SYSDATE, 'yyyymmdd');
    
        DELETE t_svn_report_by_detail
        WHERE  to_char(report_time, 'yyyymmdd') = to_char(SYSDATE, 'yyyymmdd');
    
        /* 循環(huán)寫入Project數(shù)據(jù) */
        FOR rec IN rec_data LOOP
            INSERT INTO t_svn_report_by_project
                (project_code
                ,project_name
                ,develop_days
                ,user_sales
                ,user_project
                ,file_count
                ,code_count
                ,commit_count
                ,schedule_developer
                ,developer
                ,user_code
                ,file_count_day
                ,file_count_week
                ,file_count_month
                ,file_count_year
                ,code_count_day
                ,code_count_week
                ,code_count_month
                ,code_count_year
                ,commit_count_day
                ,commit_count_week
                ,commit_count_month
                ,commit_count_year
                ,detai_url
                ,report_time
                ,user_sale_code
                ,user_charg_code)
            VALUES
                (rec.項(xiàng)目編號(hào)
                ,rec.項(xiàng)目名稱
                ,rec.開發(fā)時(shí)長(zhǎng)
                ,rec.銷售負(fù)責(zé)人
                ,rec.項(xiàng)目負(fù)責(zé)人
                ,rec.總文件數(shù)量
                ,rec.總代碼數(shù)量
                ,rec.總提交次數(shù)
                ,rec.項(xiàng)目預(yù)定成員
                ,rec.開發(fā)成員名稱
                ,rec.員工編號(hào)
                ,rec.本日文件數(shù)量
                ,rec.本周文件數(shù)量
                ,rec.本月文件數(shù)量
                ,rec.本年文件數(shù)量
                ,rec.本日代碼行數(shù)
                ,rec.本周代碼行數(shù)
                ,rec.本月代碼行數(shù)
                ,rec.本年代碼行數(shù)
                ,rec.本日提交次數(shù)
                ,rec.本周提交次數(shù)
                ,rec.本月提交次數(shù)
                ,rec.本年提交次數(shù)
                ,rec.明細(xì)鏈接
                ,SYSDATE
                ,rec.銷售編號(hào)
                ,rec.負(fù)責(zé)人編號(hào));
        END LOOP;
    
        /* 循環(huán)寫入users數(shù)據(jù) */
        FOR rec IN rec_data2 LOOP
            INSERT INTO t_svn_report_by_users
                (developer_number
                ,developer_name
                ,join_project_number
                ,project_number
                ,project_name
                ,schedule_developer
                ,user_sale
                ,user_project
                ,project_days
                ,file_count_day
                ,file_count_week
                ,file_count_month
                ,file_count_year
                ,code_count_day
                ,code_count_week
                ,code_count_month
                ,code_count_year
                ,commit_count_day
                ,commit_count_week
                ,commit_count_month
                ,commit_count_year
                ,report_time
                ,user_sale_code
                ,user_charg_code)
            VALUES
                (rec.開發(fā)者編號(hào)
                ,rec.開發(fā)者姓名
                ,rec.參與項(xiàng)目數(shù)
                ,rec.項(xiàng)目編號(hào)
                ,rec.項(xiàng)目名稱
                ,rec.項(xiàng)目預(yù)定成員
                ,rec.銷售人員
                ,rec.項(xiàng)目負(fù)責(zé)人
                ,rec.開發(fā)時(shí)長(zhǎng)
                ,rec.本日文件數(shù)量
                ,rec.本周文件數(shù)量
                ,rec.本月文件數(shù)量
                ,rec.本年文件數(shù)量
                ,rec.本日代碼行數(shù)
                ,rec.本周代碼行數(shù)
                ,rec.本月代碼行數(shù)
                ,rec.本年代碼行數(shù)
                ,rec.本日提交次數(shù)
                ,rec.本周提交次數(shù)
                ,rec.本月提交次數(shù)
                ,rec.本年提交次數(shù)
                ,SYSDATE
                ,rec.銷售編號(hào)
                ,rec.負(fù)責(zé)人編號(hào));
        END LOOP;
        /* 循環(huán)寫入detail數(shù)據(jù) */
        FOR rec IN rec_data3 LOOP
            INSERT INTO t_svn_report_by_detail
                (submit_date
                ,submit_time
                ,upload_number
                ,project_number
                ,project_name
                ,start_date
                ,user_sale
                ,user_project
                ,schedule_developer
                ,developer
                ,user_code
                ,file_number
                ,code_number
                ,detai_url
                ,report_time
                ,user_sale_code
                ,user_charg_code
                )
            VALUES
                (rec.日期
                ,rec.時(shí)間
                ,rec.上傳編號(hào)
                ,rec.項(xiàng)目編號(hào)
                ,rec.項(xiàng)目名稱
                ,rec.開工日期
                ,rec.銷售負(fù)責(zé)人
                ,rec.項(xiàng)目負(fù)責(zé)人
                ,rec.項(xiàng)目預(yù)定成員
                ,rec.開發(fā)成員名稱
                ,rec.員工編號(hào)
                ,rec.上傳文件數(shù)量
                ,rec.上傳代碼行數(shù)
                ,rec.明細(xì)鏈接
                ,SYSDATE
                ,rec.銷售編號(hào)
                ,rec.負(fù)責(zé)人編號(hào));
        END LOOP;
    
        /* 提交事務(wù) */
        COMMIT;
    
        /* 返回狀態(tài) */
        RETURN;
    EXCEPTION
        WHEN OTHERS THEN
            RETURN;
    END calc_svn_report_by_day;

END oa_pkg;
/
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市黄锤,隨后出現(xiàn)的幾起案子较雕,更是在濱河造成了極大的恐慌隘道,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件郎笆,死亡現(xiàn)場(chǎng)離奇詭異谭梗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)宛蚓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門激捏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凄吏,你說我怎么就攤上這事远舅∪蚧祝” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵图柏,是天一觀的道長(zhǎng)序六。 經(jīng)常有香客問我,道長(zhǎng)蚤吹,這世上最難降的妖魔是什么例诀? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮裁着,結(jié)果婚禮上繁涂,老公的妹妹穿的比我還像新娘。我一直安慰自己二驰,他們只是感情好扔罪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著桶雀,像睡著了一般矿酵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矗积,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天全肮,我揣著相機(jī)與錄音,去河邊找鬼漠魏。 笑死倔矾,一個(gè)胖子當(dāng)著我的面吹牛妄均,可吹牛的內(nèi)容都是我干的柱锹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼丰包,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼禁熏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起邑彪,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤瞧毙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后寄症,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宙彪,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年有巧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了释漆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡篮迎,死狀恐怖男图,靈堂內(nèi)的尸體忽然破棺而出示姿,到底是詐尸還是另有隱情,我是刑警寧澤逊笆,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布栈戳,位于F島的核電站,受9級(jí)特大地震影響难裆,放射性物質(zhì)發(fā)生泄漏子檀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一差牛、第九天 我趴在偏房一處隱蔽的房頂上張望命锄。 院中可真熱鬧,春花似錦偏化、人聲如沸脐恩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驶冒。三九已至,卻和暖如春韵卤,著一層夾襖步出監(jiān)牢的瞬間骗污,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工沈条, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留需忿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓蜡歹,卻偏偏與公主長(zhǎng)得像屋厘,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子月而,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一.數(shù)據(jù)控制語句(DML)部分 1.INSERT(往數(shù)據(jù)表里插入記錄的語句) INSERTINTO表名(字段名1,...
    浮浮塵塵閱讀 3,529評(píng)論 0 19
  • 背景: 閱讀新聞 12C CDB模式下RMAN備份與恢復(fù) [日期:2016-11-29] 來源:Linux社區(qū) 作...
    陽屯okyepd閱讀 3,410評(píng)論 0 7
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法汗洒,類相關(guān)的語法,內(nèi)部類的語法父款,繼承相關(guān)的語法溢谤,異常的語法,線程的語...
    子非魚_t_閱讀 31,639評(píng)論 18 399
  • 喝到微醺時(shí)憨攒,才感覺到自己最清醒世杀,誰愛我誰不愛我一清二楚,也敢將自己不敢說的話脫口而出肝集!我愛你瞻坝,像親人一樣,希望你的...
    boom啦啦閱讀 176評(píng)論 0 0
  • 都說婚姻是愛情的墳?zāi)拱杂写蟛糠秩瞬活櫼磺械靥M(jìn)去湿镀,以免自己的愛情死無葬身之地炕吸。婚姻在不同人眼中定義不同勉痴,有愛的...
    默默無語閱讀 445評(píng)論 1 3