SQL SERVICE的存储过程与ORACLE的包

一、SQL SERVICE的存储过程

ALTER PROCEDURE Gene_Task_SearchData
AS
BEGIN
    TRUNCATE TABLE Gene_Task_Search_Result_Tmp;

    INSERT INTO Gene_Task_Search_Result_Tmp
    SELECT l.id "流程实例编号",
           l.LearingTilteC "案件名称",
           hr.NAME "申请人",
           r.distribution_time "申请时间",
           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
    *********************************************/

    /********************************************* 
      每天计算SVN状态数据,并填充到结果表 
      Author: xianyu.ying
      Date: 2017-06-26
    *********************************************/
    PROCEDURE calc_svn_report_by_day;
END oa_pkg;
/
CREATE OR REPLACE PACKAGE BODY oa_pkg AS

    /********************************************* 
      每天计算SVN状态数据,并填充到结果表 
      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 项目编号,
                               oa_pro.i_project_name 项目名称,
                               ceil(SYSDATE - to_date(oa_pro.i_start_date, 'yyyymmdd')) 开发时长,
                               oa_pro.user_sale 销售负责人,
                               oa_pro.user_sale_code 销售编号,
                               user_pro 项目负责人,
                               oa_pro.user_charg_code 负责人编号,
                               SUM(svn_rep.filenum) 总文件数量,
                               SUM(svn_rep.codeline) 总代码数量,
                               COUNT(1) 总提交次数,
                               decode((SELECT '是'
                                        FROM t_project_developer
                                       WHERE projectid = oa_pro.i_project_code
                                         AND userid = oa_dev.i_user_code),
                                      NULL,
                                      '否',
                                      '是') 项目预定成员,
                               decode(oa_dev.i_user_name,
                                      NULL,
                                      svn_rep.developer,
                                      oa_dev.i_user_name) 开发成员名称,
                               decode(oa_dev.i_user_code,
                                      NULL,
                                      svn_rep.developer,
                                      oa_dev.i_user_code) 员工编号,
                               decode(svn_day.filenum, NULL, 0, svn_day.filenum) 本日文件数量,
                               decode(svn_week.filenum, NULL, 0, svn_week.filenum) 本周文件数量,
                               decode(svn_month.filenum, NULL, 0, svn_month.filenum) 本月文件数量,
                               decode(svn_year.filenum, NULL, 0, svn_year.filenum) 本年文件数量,
                               decode(svn_day.codeline, NULL, 0, svn_day.codeline) 本日代码行数,
                               decode(svn_week.codeline, NULL, 0, svn_week.codeline) 本周代码行数,
                               decode(svn_month.codeline, NULL, 0, svn_month.codeline) 本月代码行数,
                               decode(svn_year.codeline, NULL, 0, svn_year.codeline) 本年代码行数,
                               decode(svn_day.commitcount, NULL, 0, svn_day.commitcount) 本日提交次数,
                               decode(svn_week.commitcount, NULL, 0, svn_week.commitcount) 本周提交次数,
                               decode(svn_month.commitcount, NULL, 0, svn_month.commitcount) 本月提交次数,
                               decode(svn_year.commitcount, NULL, 0, svn_year.commitcount) 本年提交次数,
                               'http://showsan.com:8081/' || to_char(SYSDATE, 'yyyymmdd') || '/' ||
                               svn_rep.projectname || '/user_' || svn_rep.developer ||
                               '.html' 明细链接
                          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 项目编号,
                               tpm.i_project_name 项目名称,
                               ceil(SYSDATE - to_date(tpm.i_start_date, 'yyyymmdd')) 开发时长,
                               tumsale.i_user_name 销售负责人,
                               tpm.i_user_sale 销售编号,
                               tumcharg.i_user_name 项目负责人,
                               tpm.i_user_charg 负责人编号,
                               0 总文件数量,
                               0 总代码数量,
                               0 总提交次数,
                               '是' 项目预定成员,
                               tum.i_user_name 开发成员名称,
                               pd.userid 员工编号,
                               0 本日文件数量,
                               0 本周文件数量,
                               0 本月文件数量,
                               0 本年文件数量,
                               0 本日代码行数,
                               0 本周代码行数,
                               0 本月代码行数,
                               0 本年代码行数,
                               0 本日提交次数,
                               0 本周提交次数,
                               0 本月提交次数,
                               0 本年提交次数,
                               '' 明细链接
                          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) 开发者编号,
                             decode(oa_dev.i_user_name,
                                    NULL,
                                    svn_rep.developer,
                                    oa_dev.i_user_name) 开发者姓名,
                             pnumber.a 参与项目数,
                             oa_pro.i_project_code 项目编号,
                             oa_pro.i_project_name 项目名称,
                             decode((SELECT '是'
                                      FROM t_project_developer
                                     WHERE projectid = oa_pro.i_project_code
                                       AND userid = oa_dev.i_user_code),
                                    NULL,
                                    '否',
                                    '是') 项目预定成员,
                             oa_pro.user_sale 销售人员,
                             oa_pro.user_sale_code 销售编号,
                             oa_pro.user_charg 项目负责人,
                             oa_pro.user_charg_code 负责人编号,
                             ceil(SYSDATE - to_date(oa_pro.i_start_date, 'yyyymmdd')) 开发时长,
                             decode(svn_day.filenum, NULL, 0, svn_day.filenum) 本日文件数量,
                             decode(svn_week.filenum, NULL, 0, svn_week.filenum) 本周文件数量,
                             decode(svn_month.filenum, NULL, 0, svn_month.filenum) 本月文件数量,
                             decode(svn_year.filenum, NULL, 0, svn_year.filenum) 本年文件数量,
                             decode(svn_day.codeline, NULL, 0, svn_day.codeline) 本日代码行数,
                             decode(svn_week.codeline, NULL, 0, svn_week.codeline) 本周代码行数,
                             decode(svn_month.codeline, NULL, 0, svn_month.codeline) 本月代码行数,
                             decode(svn_year.codeline, NULL, 0, svn_year.codeline) 本年代码行数,
                             decode(svn_day.commitcount, NULL, 0, svn_day.commitcount) 本日提交次数,
                             decode(svn_week.commitcount, NULL, 0, svn_week.commitcount) 本周提交次数,
                             decode(svn_month.commitcount, NULL, 0, svn_month.commitcount) 本月提交次数,
                             decode(svn_year.commitcount, NULL, 0, svn_year.commitcount) 本年提交次数
                        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') 时间,
                   svn_rep.versionnum 上传编号,
                   oa_pro.i_project_code 项目编号,
                   oa_pro.i_project_name 项目名称,
                   oa_pro.i_start_date 开工日期,
                   ceil(SYSDATE - to_date(oa_pro.i_start_date, 'yyyymmdd')) 开发时长,
                   oa_pro.user_sale 销售负责人,
                   oa_pro.user_sale_code 销售编号,
                   oa_pro.user_pro 项目负责人,
                   oa_pro.user_charg_code 负责人编号,
                   decode((SELECT '是'
                            FROM t_project_developer
                           WHERE projectid = oa_pro.i_project_code
                             AND userid = oa_dev.i_user_code),
                          NULL,
                          '否',
                          '是') 项目预定成员,
                   decode(oa_dev.i_user_name,
                          NULL,
                          svn_rep.developer,
                          oa_dev.i_user_name) 开发成员名称,
                   decode(oa_dev.i_user_code,
                          NULL,
                          svn_rep.developer,
                          oa_dev.i_user_code) 员工编号,
                   svn_rep.filenum 上传文件数量,
                   svn_rep.codeline 上传代码行数,
                   'http://showsan.com:8081/' || to_char(SYSDATE, 'yyyymmdd') || '/' ||
                   svn_rep.projectname || '/user_' || svn_rep.developer || '.html' 明细链接
              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
        /* 清空计算当天数据 */
        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');
    
        /* 循环写入Project数据 */
        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.项目编号
                ,rec.项目名称
                ,rec.开发时长
                ,rec.销售负责人
                ,rec.项目负责人
                ,rec.总文件数量
                ,rec.总代码数量
                ,rec.总提交次数
                ,rec.项目预定成员
                ,rec.开发成员名称
                ,rec.员工编号
                ,rec.本日文件数量
                ,rec.本周文件数量
                ,rec.本月文件数量
                ,rec.本年文件数量
                ,rec.本日代码行数
                ,rec.本周代码行数
                ,rec.本月代码行数
                ,rec.本年代码行数
                ,rec.本日提交次数
                ,rec.本周提交次数
                ,rec.本月提交次数
                ,rec.本年提交次数
                ,rec.明细链接
                ,SYSDATE
                ,rec.销售编号
                ,rec.负责人编号);
        END LOOP;
    
        /* 循环写入users数据 */
        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.开发者编号
                ,rec.开发者姓名
                ,rec.参与项目数
                ,rec.项目编号
                ,rec.项目名称
                ,rec.项目预定成员
                ,rec.销售人员
                ,rec.项目负责人
                ,rec.开发时长
                ,rec.本日文件数量
                ,rec.本周文件数量
                ,rec.本月文件数量
                ,rec.本年文件数量
                ,rec.本日代码行数
                ,rec.本周代码行数
                ,rec.本月代码行数
                ,rec.本年代码行数
                ,rec.本日提交次数
                ,rec.本周提交次数
                ,rec.本月提交次数
                ,rec.本年提交次数
                ,SYSDATE
                ,rec.销售编号
                ,rec.负责人编号);
        END LOOP;
        /* 循环写入detail数据 */
        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.时间
                ,rec.上传编号
                ,rec.项目编号
                ,rec.项目名称
                ,rec.开工日期
                ,rec.销售负责人
                ,rec.项目负责人
                ,rec.项目预定成员
                ,rec.开发成员名称
                ,rec.员工编号
                ,rec.上传文件数量
                ,rec.上传代码行数
                ,rec.明细链接
                ,SYSDATE
                ,rec.销售编号
                ,rec.负责人编号);
        END LOOP;
    
        /* 提交事务 */
        COMMIT;
    
        /* 返回状态 */
        RETURN;
    EXCEPTION
        WHEN OTHERS THEN
            RETURN;
    END calc_svn_report_by_day;

END oa_pkg;
/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容

  • 一.数据控制语句(DML)部分 1.INSERT(往数据表里插入记录的语句) INSERTINTO表名(字段名1,...
    浮浮尘尘阅读 3,388评论 0 19
  • 背景: 阅读新闻 12C CDB模式下RMAN备份与恢复 [日期:2016-11-29] 来源:Linux社区 作...
    阳屯okyepd阅读 3,234评论 0 7
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,293评论 18 399
  • 喝到微醺时,才感觉到自己最清醒,谁爱我谁不爱我一清二楚,也敢将自己不敢说的话脱口而出!我爱你,像亲人一样,希望你的...
    boom啦啦阅读 150评论 0 0
  • 都说婚姻是爱情的坟墓,但仍有大部分人不顾一切地跳进去,以免自己的爱情死无葬身之地。婚姻在不同人眼中定义不同,有爱的...
    默默无语阅读 416评论 1 3