zoukankan      html  css  js  c++  java
  • 批量更新人工费率

    PROCEDURE UPDATE_PEOPLE_FATE AS
    cursor resource_cur is
    select trim(id) ID,
    TRIM(organization_code) ORGANIZATION_CODE, --组织
    TRIM(DEPT_CODE) DEPT_CODE, --部门
    TRIM(RATE) RATE --费率
    from CUX.UPDATE_PEOPLE_TEMP;
    L_organization_id NUMBER := 0;
    L_count NUMBER := 0;
    V_ORG_COUNT NUMBER := 0;
    E_CHECK EXCEPTION;
    V_ERR_MESSAGE VARCHAR2(2000);
    BEGIN
    SELECT COUNT(DISTINCT CWI.ORGANIZATION_CODE)
    INTO V_ORG_COUNT
    FROM CUX.UPDATE_PEOPLE_TEMP CWI;
    IF V_ORG_COUNT <> 1 THEN
    insert into CUX_Blue_Gold (A, B, c)
    VALUES ('人工费率导入', '-导入数据只能是同个组织-', to_char(sysdate, 'yyyy-mm-dd'));
    V_ERR_MESSAGE := V_ERR_MESSAGE || '-导入数据只能是同个组织-';
    RAISE E_CHECK;
    END IF;
    for resource_rec in resource_cur loop
    BEGIN
    select mco.ORGANIZATION_ID
    INTO L_organization_id
    from meg_cux_org_v mco
    where organization_code = resource_rec.ORGANIZATION_CODE;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    insert into CUX_Blue_Gold
    (A, B, c)
    VALUES
    ('人工费率导入',
    '组织【' || resource_rec.ORGANIZATION_CODE || '】不存在-',
    to_char(sysdate, 'yyyy-mm-dd'));
    commit;
    V_ERR_MESSAGE := '组织【' || resource_rec.ORGANIZATION_CODE ||
    '】不存在-';
    RAISE E_CHECK;
    END;
    BEGIN
    select count(*)
    into l_count
    from BOM_RESOURCES
    where substr(RESOURCE_CODE, 1, 3) = resource_rec.DEPT_CODE
    and organization_id = L_organization_id;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    insert into CUX_Blue_Gold
    (A, B, c)
    VALUES
    ('人工费率导入',
    '部门【' || resource_rec.DEPT_CODE || '】不存在-',
    to_char(sysdate, 'yyyy-mm-dd'));
    commit;
    V_ERR_MESSAGE := '部门【' || resource_rec.DEPT_CODE || '】不存在-';
    RAISE E_CHECK;
    END;

    UPDATE CST_DEPARTMENT_OVERHEADS
    SET rate_or_amount =round( resource_rec.RATE,6)
    where OVERHEAD_ID IN
    (select resource_id
    from BOM_RESOURCES
    where substr(RESOURCE_CODE, 1, 3) = resource_rec.DEPT_CODE
    and organization_id = L_organization_id) --资源ID
    and cost_type_id = 1001 --类型
    and organization_id = L_organization_id; --组织ID

    end loop;
    commit;
    END UPDATE_PEOPLE_FATE;

  • 相关阅读:
    Oracle 12C 物理Standby 主备切换switchover
    Oracle 性能之 Enq: CF
    dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
    OGG 从Oracle备库同步数据至kafka
    WARNING: inbound connection timed out (ORA-3136)
    11G 新特性之 密码延迟认证
    org-mode 写 cnblogs 博客
    inner join, left join, right join, full outer join的区别
    Emacs 浏览网页
    服务器被攻击后当作矿机,高WIO
  • 原文地址:https://www.cnblogs.com/lanminghuai/p/14043466.html
Copyright © 2011-2022 走看看