# mes_cx_rz_zxnew_hand 存储过程（什么什么热轧）

## 模板下载

[模板](./mes_cx_rz_zxnew_hand.sql)

用{0}表达 当前月份 替换成02

用{1}表达 下个月份 替换成03

用{2}表达 下个月份 替换成01

## 原始脚本内容

```sql
CREATE OR REPLACE procedure MES_CX_RZ_ZXNEW_HAND is
  a                 number(4);
  b                 varchar(200);
  cxdata            orderdetail_v@th_cx_link%rowtype;
  prod_name_cx      varchar(200);
  sg_grade_cx       varchar(200);
  sg_sign_cx        varchar(200);
  wall_thickness_cx varchar(200);
  material_code_cx  varchar(200);
  MATERIAL_NAME_cx  varchar(200);
  outer_diam_cx     varchar(200);

  --热轧
  CURSOR OPOrder_Cursor_rz IS

  /*
      select CONTRACT_TYPE,--合同类型
      PROD_VARIETY,--品名、品种
      STEEL_LEVEL,--钢级
      STEEL_NO,--钢号
      SPEC,--规格
      PROD_TYPE,--产量类型
      sum(PROD_WEIGHT) PROD_WEIGHT,--成品重量
      sum(MATE_WEIGHT) MATE_WEIGHT,--来料重量
      (case when sum(MATE_WEIGHT) <>0 then round(sum(PROD_WEIGHT)/sum(MATE_WEIGHT),4)*100  else 0 end) STEEL_WASTE,--消耗占比
      '热轧' PROCESS,--工序
      null HIGH_TECH_CODE,
      null HIGH_TECH_NAME,
      0 HIGH_PROD_WEIGHT,
      0 HIGH_MATE_WEIGHT,
      0 ESTIMATED_UNIT_PRICE,
      0 ESTIMATED_COST,
      substr(BAL_YEAR_MONTH,0,4)||'-'||substr(BAL_YEAR_MONTH,5,2)  ACCT_PERIOD,
      MATE_CODE || xx MATE_CODE,--物料编码
      RESOURCE_TYPE RESOURCE_TYPE,--是否来料加工
      BILLET_CODE BILLET_CODE --钢坯编码
       from (
      select t.*,GET_CP_CODE2(STEEL_NO, --钢种
                 STEEL_LEVEL, --钢级
                 jhzt, --交货状态
                 PROD_VARIETY, --品名
                   MODEL_DESC, --端部
                   jg,
                 ACT_DIMATER, -- 外径
                 ACT_HEIGHT) MATE_CODE,--壁厚
                      GET_PL_CODE(STEEL_NO, --钢种
                 (select xxx.dimater from cxuser.ydm_gp_outlist xxx where xxx.stove_no =
                  ( select stove_no  from cxuser.PLN_ZY_ZG_M  where stove_no =  t.stove_no and ROWNUM =1) and ROWNUM =1)--规格
                 ) BILLET_CODE
                  from (

      select t.judge_stove_no,
             --T.JUGDE_APPLY_CODE,
             t.lot_no,
             t.pro_order_no,
             t.ACT_DIMATER,
             t.ACT_HEIGHT,
             t.stove_no,--tzh
             (case when t.Judge_Stove_No like 'W%' then '是' else '否' end) RESOURCE_TYPE,
             (CASE
               WHEN t.pro_order_no IS NULL THEN
                (SELECT DECODE(MAX(S.ORDER_TYP),
                               '120108',
                               '双经销',
                               '120109',
                               '定销订购',
                               '120107',
                               '来料加工',
                               '自用')
                   FROM cxuser.SLM_ORDER_HEAD S
                  WHERE S.ORDER_NO = REGEXP_REPLACE(T1.CONTRACT_NO, '/.*', ''))
               ELSE
                (SELECT DECODE(MAX(S.ORDER_TYP),
                               '120108',
                               '双经销',
                               '120109',
                               '定销订购',
                               '120107',
                               '来料加工',
                               '自用')
                   FROM cxuser.SLM_ORDER_HEAD S
                  WHERE S.ORDER_NO = REGEXP_REPLACE(T.PRO_ORDER_NO, '/.*', ''))
             END) CONTRACT_TYPE,--合同类型 --是否双经销,

             (SELECT (case when INSTR(a.whole_backlog,'D-F-G')>0 then 'C'
             when INSTR(a.whole_backlog,'D-G')>0 then 'C'
      when INSTR(a.whole_backlog,'D-F')>0 then 'B'
      ELSE 'A' END ) XX FROM cxuser.CRAFT_ORD_DESIGN_MSC_PL A WHERE A.ORD_LN_PK =
      (select ORD_LN_PK from  cxuser.slm_order_line b where b.ord_pk =
      (select ord_pk from cxuser.slm_order_head xx
      where xx.order_no = REGEXP_REPLACE(T.PRO_ORDER_NO, '/.*', '') and rownum =1 and xx.validflag =1)
      and b.order_seq= SUBSTR(T.PRO_ORDER_NO, LENGTH(T.PRO_ORDER_NO)-2) and b.validflag =1
      ) and rownum =1) xx, --下线状态

             t.pline_code,
             t.pline_name,
             t.producname PROD_VARIETY,--品名、品种
             t.steelname STEEL_LEVEL,--钢级
             t.GRADENAME STEEL_NO,--钢号
             t.spec_name SPEC,--规格
             t.model_desc,
             t.std_name,
             T.STD_STYLE_DESC 标准类别,
             (case when T.TARGET ='A' THEN '产成品' else '半成品' end) PROD_TYPE,--产量类型
             MAX(T2.MEMO) MEMO,
             MAX(t1.target) 原去向,
             MAX(T1.DB_LENGTH) 单倍长,
             MAX(T1.SAW_NUM) 分切数,
             MAX(T1.PIPE_SECTION) 断面,
             MAX(T1.TUBE_TYPE) 管坯类型,
             MAX(T1.TUBE_SUORCE) 管坯来源,
             MAX(T1.FEED_TIME) FEED_TIME,


             TO_CHAR(DECODE(T.TARGET,
                            'A',
                            MAX(T.JUDGE_TOLRESULT_TIME),
                            MAX(t.JUDGE_RESULT_TIME)),
                     'YYYY-MM-DD') JUDGE_RESULT_TIME,
             SUM(DECODE(t.ACT_WEIGHT, NULL, t.ACT_THEORY_WEIGHT, t.ACT_WEIGHT)) PROD_WEIGHT,--成品重量--HGD,
             SUM(T.ACT_COUNT) 合格支,
             sum(t.INPUT_WEIGHT) INPUT_WEIGHT,
             sum(t.OUTPUT_WEIGHT) MATE_WEIGHT, --来料重量--OUTPUT_WEIGHT
             T.BAL_YEAR_MONTH,
             GET_DELIVERY_STATE2((select max(y.desgin_key) from cxuser.craft_ord_design_msc_pl y
                   where y.desgin_key in (select x.desgin_key from cxuser.craft_ord_design_msc x where x.ord_ln_pk in (select b.ord_ln_pk from cxuser.slm_order_line b
                  where b.ord_pk in (select a.ord_pk from cxuser.slm_order_head a where a.order_no = substr(t.pro_order_no,1,instr(t.pro_order_no,'/')-1))
                   and x.order_seq = substr(t.pro_order_no,instr(t.pro_order_no,'/')+1,3)))),
                   (select max(y.msc_pline) from cxuser.craft_ord_design_msc_pl y
                   where y.desgin_key in (select x.desgin_key from cxuser.craft_ord_design_msc x where x.ord_ln_pk in (select b.ord_ln_pk from cxuser.slm_order_line b
                  where b.ord_pk in (select a.ord_pk from cxuser.slm_order_head a where a.order_no = substr(t.pro_order_no,1,instr(t.pro_order_no,'/')-1))
                   and x.order_seq = substr(t.pro_order_no,instr(t.pro_order_no,'/')+1,3))))) jhzt,

                    (select max(y.value_text) from cxuser.craft_ord_design_std_gic y
                   where y.desgin_key in (select x.desgin_key from cxuser.craft_ord_design_msc x where x.ord_ln_pk in (select b.ord_ln_pk from cxuser.slm_order_line b
                  where b.ord_pk in (select a.ord_pk from cxuser.slm_order_head a where a.order_no = substr(t.pro_order_no,1,instr(t.pro_order_no,'/')-1))
                   and x.order_seq = substr(t.pro_order_no,instr(t.pro_order_no,'/')+1,3))) AND SPECL_FL = '2') jg

        from cxuser.QCM_ZG_JUGDE_APPLY t
        LEFT JOIN cxuser.MIL_PLAN T1
          ON T.JUDGE_STOVE_NO = REGEXP_REPLACE(T1.JUDGE_STOVE_NO, '-.*', '')
         AND T1.BACK_SLAB_FLAG <> '2'
         AND SUBSTR(T1.JUDGE_STOVE_NO, -2) = '01'
         LEFT JOIN cxuser.PLN_ZY_ZG_M T2
         ON T2.HEAT_PLAN_NO = T.HEAT_PLAN_NO
       where T.IS_FLAG = '0'
         AND T.IS_ALL_SCRAP IN ('0', '1', '2', '7', '8')
         AND ((T.VALIDFLAG = '20' AND T.TARGET <> 'A' AND
             T.JUDGE_RESULT_CODE IN ('40740701', '40740705', '40740709')) OR
             (T.VALIDFLAG = '20' AND T.TARGET = 'A' AND
             T.JUDGE_TOLRESULT_CODE IN ('40740701', '40740705', '40740709')) OR
             (T.VALIDFLAG = '20' AND T.TARGET = 'A' AND T.IS_ALL_SCRAP = '1') OR
             T.INSTANCY_FLAG = '1')
         AND T.PROCESS_CODE = 'D'
          and t.JUDGE_TOLRESULT_CODE <> '40740705' --tzh
          --AND T.BAL_YEAR_MONTH =  to_char(sysdate,'yyyymm')
              -- AND substr(T.BAL_YEAR_MONTH,0,4) ='2024'
         AND T.BAL_YEAR_MONTH = '202411'
         AND T.PLINE_CODE = 'C072'
       group by t.judge_stove_no,
                T1.JUDGE_STOVE_NO,
                T1.PRO_PLAN_ID,
                t.lot_no,
                t.pro_order_no,
                T1.CONTRACT_NO,
                t.pline_code,
                t.pline_name,
                t.producname,
                t.steelname,
                t.GRADENAME,
                t.spec_name,
                T.STD_STYLE_DESC,
                t.model_desc,
                T.TARGET,
                t.std_name,
                T.BAL_YEAR_MONTH,
                  t.ACT_DIMATER,
                  t.stove_no,--tzh
             t.ACT_HEIGHT
       order by T.PLINE_CODE, t.judge_stove_no
       ) t
       )
      group by
      CONTRACT_TYPE,--合同类型
      PROD_VARIETY,--品名、品种
      STEEL_LEVEL,--钢级
      STEEL_NO,--钢号
      SPEC,--规格
      PROD_TYPE,--产量类型
      BAL_YEAR_MONTH,
      MATE_CODE,
      BILLET_CODE,
      RESOURCE_TYPE,
      xx;*/
  /*
      select  (SELECT DECODE(MAX(S.ORDER_TYP),
                            '120108',
                            '双经销',
                            '120109',
                            '定销订购',
                            '120107',
                            '来料加工',
                            '自用')
                FROM cxuser.SLM_ORDER_HEAD S
               WHERE S.ORDER_NO = REGEXP_REPLACE(T.PRO_ORDER_NO, '/.*', '')) CONTRACT_TYPE,--合同类型
      t.producname PROD_VARIETY,--品名、品种
       t.steelname STEEL_LEVEL,--钢级
      t.GRADENAME STEEL_NO,--钢号
      t.spec_name SPEC,--规格
      (case when T.TARGET ='A' THEN '产成品' else '半成品' end) PROD_TYPE,--产量类型
       SUM(DECODE(t.ACT_WEIGHT, NULL, t.ACT_THEORY_WEIGHT, t.ACT_WEIGHT)) PROD_WEIGHT,--成品重量
      SUM(INPUT_WEIGHT) MATE_WEIGHT,--来料重量
      (case when sum(INPUT_WEIGHT) <>0 then round(SUM(DECODE(t.ACT_WEIGHT, NULL, t.ACT_THEORY_WEIGHT, t.ACT_WEIGHT))/SUM(INPUT_WEIGHT),4)*100  else 0 end) STEEL_WASTE,--消耗占比
      '热轧' PROCESS,--工序
      null HIGH_TECH_CODE,
      null HIGH_TECH_NAME,
      0 HIGH_PROD_WEIGHT,
      0 HIGH_MATE_WEIGHT,
      0 ESTIMATED_UNIT_PRICE,
      0 ESTIMATED_COST,
       substr(BAL_YEAR_MONTH,0,4)||'-'||substr(BAL_YEAR_MONTH,5,2) ACCT_PERIOD,
        --GET_CP_CODE4(t.pro_order_no) MATE_CODE,--物料编码
       --换成取产销提供的视图 tzh 24.12.4
       GET_CP_CODE6(t.pro_order_no) MATE_CODE,--物料编码
      (case when t.Judge_Stove_No like 'W%' then '是' else '否' end)  RESOURCE_TYPE,--是否来料加工
      --GET_PL_CODE(GRADENAME,ACT_dimater)  BILLET_CODE --钢坯编码,
      GET_PL_CODE(GRADENAME,(select xxx.dimater from cxuser.ydm_gp_outlist xxx where xxx.stove_no =t.stove_no and ROWNUM =1)--规格
                  ) BILLET_CODE --,stove_no,t.pro_order_no--钢坯编码,

      from
        cxuser.QCM_ZG_JUGDE_APPLY t
         LEFT JOIN MIL_PLAN T1
          ON T.JUDGE_STOVE_NO = REGEXP_REPLACE(T1.JUDGE_STOVE_NO, '-.*', '')
         AND T1.BACK_SLAB_FLAG <> '2'
         AND SUBSTR(T1.JUDGE_STOVE_NO, -2) = '01'
         LEFT JOIN PLN_ZY_ZG_M T2
         ON T2.HEAT_PLAN_NO = T.HEAT_PLAN_NO
       where T.IS_FLAG = '0'
         AND T.IS_ALL_SCRAP IN ('0', '1', '2', '7', '8')
         AND ((T.VALIDFLAG = '20' AND T.TARGET <> 'A' AND
             T.JUDGE_RESULT_CODE IN ('40740701', '40740705', '40740709')) OR
             (T.VALIDFLAG = '20' AND T.TARGET = 'A' AND
             T.JUDGE_TOLRESULT_CODE IN ('40740701', '40740705', '40740709')) OR
             (T.VALIDFLAG = '20' AND T.TARGET = 'A' AND T.IS_ALL_SCRAP = '1') OR
             T.INSTANCY_FLAG = '1')
         AND T.PROCESS_CODE = 'D'
         AND T.PLINE_CODE = 'C072'
         AND (T.TARGET = t1.target OR T.JUDGE_STOVE_NO <> 'F24070002' OR T.JUDGE_STOVE_NO <> 'F24070006')
       \*where T.IS_FLAG = '0'
         AND T.IS_ALL_SCRAP IN ('0', '1', '2', '7', '8')
         AND ((T.VALIDFLAG = '20' AND T.TARGET <> 'A' AND
             T.JUDGE_RESULT_CODE IN ('40740701', '40740705', '40740709')) OR
             (T.VALIDFLAG = '20' AND T.TARGET = 'A' AND
             T.JUDGE_TOLRESULT_CODE IN ('40740701', '40740705', '40740709')) OR
             (T.VALIDFLAG = '20' AND T.TARGET = 'A' AND T.IS_ALL_SCRAP = '1') OR
             T.INSTANCY_FLAG = '1')
         AND T.PROCESS_CODE = 'D'
         AND T.PLINE_CODE = 'C072'*\
           AND T.BAL_YEAR_MONTH = '202411'
                  group  by t.producname,t.steelname,--钢级
      t.GRADENAME,--钢号
      stove_no,
      t.spec_name,--规格
       T.TARGET,T.BAL_YEAR_MONTH,pro_order_no,T.Judge_Stove_No;*/

    select (select decode(max(s.order_typ),
                          '120108',
                          '双经销',
                          '120109',
                          '定销订购',
                          '120107',
                          '来料加工',
                          '自用')
              from cxuser.slm_order_head s
             where s.order_no = regexp_replace(t.pro_order_no, '/.*', '')) contract_type,
           --合同类型
           t.producname prod_variety,
           nvl(replace(PRO_ORDER_NO, '/', ''),
               replace(get_cp_order(t.judge_stove_no), '/', '')) orderid,
           --品名、品种
           t.steelname steel_level,
           --钢级
           t.gradename steel_no,
           --钢号
           t.spec_name spec,
           --规格
           (case
             when t.target = 'A' then
              '产成品'
             else
              '半成品'
           end) prod_type,
           --产量类型
           (case
             when t.target = 'A' then
              (sum(decode(t.act_weight,
                          null,
                          t.act_theory_weight,
                          t.act_weight)) +
              nvl((select SUM(nvl(T2.act_weight, 0))
                     from ydm_zc_stocktakinglist t2
                    where t2.judge_stove_no = t.judge_stove_no
                      and t2.STOCKTAKING_TYPE_CODE = '800603'
                      and t2.BAL_YEAR_MONTH = '202602'),
                   0))
             else
              sum(decode(t.act_weight,
                         null,
                         t.act_theory_weight,
                         t.act_weight))
           end) prod_weight,
           --成品重量
           nvl((select SUM(nvl(T2.act_weight, 0))
                 from ydm_zc_stocktakinglist t2
                where t2.judge_stove_no = t.judge_stove_no
                  and t2.STOCKTAKING_TYPE_CODE = '800603'
                  and t2.BAL_YEAR_MONTH = '202602'),
               0) lc_weight, --量差
           sum(output_weight) mate_weight,
           --来料重量
           (case
             when sum(input_weight) <> 0 then
              round(sum(decode(t.act_weight,
                               null,
                               t.act_theory_weight,
                               t.act_weight)) / sum(input_weight),
                    4) * 100
             else
              0
           end) steel_waste,
           --消耗占比
           '热轧' process,
           --工序
           null high_tech_code,
           null high_tech_name,
           0 high_prod_weight,
           0 high_mate_weight,
           0 estimated_unit_price,
           0 estimated_cost,
           substr(t.bal_year_month, 0, 4) || '-' ||
           substr(t.bal_year_month, 5, 2) acct_period,
           --GET_CP_CODE4(t.pro_order_no) MATE_CODE,--物料编码
           --换成取产销提供的视图 tzh 24.12.4
           get_cp_code6(t.pro_order_no) mate_code,
           --物料编码
           getislljg(t.judge_stove_no, replace(t.PRO_ORDER_NO, '/', '')) resource_type,
           t.judge_stove_no,
           --是否来料加工
           --GET_PL_CODE(GRADENAME,ACT_dimater)  BILLET_CODE --钢坯编码,
           get_pl_code(t.gradename,
                       (select xxx.dimater
                          from cxuser.ydm_gp_outlist xxx
                         where xxx.stove_no = CASE
                                 WHEN t.stove_no IS NOT NULL THEN
                                  t.stove_no
                                 ELSE
                                  get_max_stove_no(t.judge_stove_no)
                               END
                           and rownum = 1) --规格
                       ) billet_code --,stove_no,t.pro_order_no--钢坯编码,

      from cxuser.qcm_zg_jugde_apply t
      left join mil_plan t1
        on t.judge_stove_no = regexp_replace(t1.judge_stove_no, '-.*', '')
       and t1.back_slab_flag <> '2'
       and substr(t1.judge_stove_no, -2) = '01'
      left join pln_zy_zg_m t2
        on t2.heat_plan_no = t.heat_plan_no
     where t.is_flag = '0'
       and t.is_all_scrap in ('0', '1', '2', '7', '8')
       and ((t.validflag = '20' and t.target <> 'A' and
           t.judge_result_code in ('40740701', '40740709')) or
           (t.validflag = '20' and t.target = 'A' and
           t.judge_tolresult_code in ('40740701', '40740709')) or
           (t.validflag = '20' and t.target = 'A' and t.is_all_scrap = '1') or
           t.instancy_flag = '1')
       and t.process_code = 'D'
          -- AND T.PLINE_CODE = 'C072'
       and t.target = t1.target
          /*where T.IS_FLAG = '0'
          AND T.IS_ALL_SCRAP IN ('0', '1', '2', '7', '8')
          AND ((T.VALIDFLAG = '20' AND T.TARGET <> 'A' AND
              T.JUDGE_RESULT_CODE IN ('40740701', '40740705', '40740709')) OR
              (T.VALIDFLAG = '20' AND T.TARGET = 'A' AND
              T.JUDGE_TOLRESULT_CODE IN ('40740701', '40740705', '40740709')) OR
              (T.VALIDFLAG = '20' AND T.TARGET = 'A' AND T.IS_ALL_SCRAP = '1') OR
              T.INSTANCY_FLAG = '1')
          AND T.PROCESS_CODE = 'D'
          AND T.PLINE_CODE = 'C072'*/
       and t.bal_year_month in ('202602')
       --and t.judge_stove_no in( 'A25030144','C26020468','C26020470','C26020471')
       and nvl(replace(PRO_ORDER_NO, '/', ''),
               replace(get_cp_order(t.judge_stove_no), '/', '')) not like
           'ZZBY%'
    --AND t.judge_stove_no not LIKE 'F%'
    --AND t.judge_stove_no in('X25080001','X25080002','X25080003','X25080004','X25080005')

     group by t.producname,
              t.steelname,
              --钢级
              t.gradename,
              --钢号
              t.stove_no,
              t.spec_name,
              --规格
              t.target,
              t.bal_year_month,
              pro_order_no,
              t.judge_stove_no;

  curoporder_jg oporder_cursor_rz%rowtype;
  cnt           number;
begin
  cnt := 0;
  open oporder_cursor_rz;
  loop
    fetch oporder_cursor_rz
      into curoporder_jg;
    exit when oporder_cursor_rz%notfound;

    select count(*)
      into a
      from orderdetail_v@th_cx_link t
     where t.contractno_num = curoporder_jg.orderid
       and material_code is not null;

    if a > 0 then
      select outer_diam,
             prod_name,
             sg_grade,
             sg_sign,
             wall_thickness,
             material_code,
             MATERIAL_NAME
        into outer_diam_cx,
             prod_name_cx,
             sg_grade_cx,
             sg_sign_cx,
             wall_thickness_cx,
             material_code_cx,
             MATERIAL_NAME_cx
        from orderdetail_v@th_cx_link t
       where t.contractno_num = curoporder_jg.orderid
         and material_code is not null
         and rownum = 1;

    elsif substr(curoporder_jg.orderid, 1, 2) in ('TH', 'XS') then
      select count(*)
        into a
        from orderdetail_v@th_cx_link t
       where substr(t.contractno_num, 3) = substr(curoporder_jg.orderid, 3)
         and material_code is not null
         and rownum = 1;
      if a > 0 then
        select outer_diam,
               prod_name,
               sg_grade,
               sg_sign,
               wall_thickness,
               material_code,
               MATERIAL_NAME
          into outer_diam_cx,
               prod_name_cx,
               sg_grade_cx,
               sg_sign_cx,
               wall_thickness_cx,
               material_code_cx,
               MATERIAL_NAME_cx
          from orderdetail_v@th_cx_link t
         where substr(t.contractno_num, 3) =
               substr(curoporder_jg.orderid, 3)
           and material_code is not null
           and rownum = 1;
      end if;
    end if;
    if a > 0 then
      insert into hot_production_mes_rz
        (cx_no,
         contract_type,
         prod_variety,
         steel_level,
         steel_no,
         spec,
         prod_type,
         prod_weight,
         mate_weight,
         steel_waste,
         process,
         high_tech_code,
         high_tech_name,
         high_prod_weight,
         high_mate_weight,
         estimated_unit_price,
         estimated_cost,
         acct_period,
         mate_code,
         resource_type,
         billet_code,
         memo,
         flag,
         go_there,
         mate_name,
         orderid,
         judge_stove_no,
         PRE_PROCESS,
         DELIVERY_STATUS,
         INSERT_TIME,
         lc_weight)
      values
        (seq_mes_cx.nextval,
         curoporder_jg.contract_type,
         prod_name_cx,
         sg_sign_cx,
         sg_grade_cx,
         outer_diam_cx || '*' || wall_thickness_cx,
         curoporder_jg.prod_type,
         curoporder_jg.prod_weight,
         curoporder_jg.mate_weight,
         curoporder_jg.steel_waste,
         curoporder_jg.process,
         curoporder_jg.high_tech_code,
         curoporder_jg.high_tech_name,
         curoporder_jg.high_prod_weight,
         curoporder_jg.high_mate_weight,
         curoporder_jg.estimated_unit_price,
         curoporder_jg.estimated_cost,
         curoporder_jg.acct_period,
         material_code_cx,
         curoporder_jg.resource_type,
         curoporder_jg.billet_code,
         '',
         '0',
         (case
           when curoporder_jg.mate_code like '%B' then
            '加工'
           when curoporder_jg.mate_code like '%C' then
            '热处理'
           else
            ''
         end),
         MATERIAL_NAME_cx,
         curoporder_jg.orderid,
         curoporder_jg.judge_stove_no,
         null,
         SUBSTR(MATERIAL_NAME_cx,
                INSTR(MATERIAL_NAME_cx, ',', 1, 1) + 1,
                INSTR(MATERIAL_NAME_cx, ',', 1, 2) -
                INSTR(MATERIAL_NAME_cx, ',', 1, 1) - 1),
         sysdate,
         curoporder_jg.lc_weight);
    else
      insert into hot_production_mes_rz
        (cx_no,
         contract_type,
         prod_variety,
         steel_level,
         steel_no,
         spec,
         prod_type,
         prod_weight,
         mate_weight,
         steel_waste,
         process,
         high_tech_code,
         high_tech_name,
         high_prod_weight,
         high_mate_weight,
         estimated_unit_price,
         estimated_cost,
         acct_period,
         mate_code,
         resource_type,
         billet_code,
         memo,
         flag,
         go_there,
         mate_name,
         orderid,
         judge_stove_no,
         lc_weight)
      values
        (seq_mes_cx.nextval,
         curoporder_jg.contract_type,
         curoporder_jg.prod_variety,
         curoporder_jg.steel_level,
         curoporder_jg.steel_no,
         curoporder_jg.spec,
         curoporder_jg.prod_type,
         curoporder_jg.prod_weight,
         curoporder_jg.mate_weight,
         curoporder_jg.steel_waste,
         curoporder_jg.process,
         curoporder_jg.high_tech_code,
         curoporder_jg.high_tech_name,
         curoporder_jg.high_prod_weight,
         curoporder_jg.high_mate_weight,
         curoporder_jg.estimated_unit_price,
         curoporder_jg.estimated_cost,
         curoporder_jg.acct_period,
         curoporder_jg.mate_code,
         curoporder_jg.resource_type,
         curoporder_jg.billet_code,
         '',
         '0',
         (case when curoporder_jg.mate_code like '%B' then '加工' when
          curoporder_jg.mate_code like '%C' then '热处理' else '' end),
         null,
         curoporder_jg.orderid,
         curoporder_jg.judge_stove_no,
         curoporder_jg.lc_weight);
    end if;
    cnt := cnt + 1;
    if cnt = 6 then
      cnt := 100;
    end if;
  end loop;
  close oporder_cursor_rz;
  commit;

exception
  when others then
    DBMS_OUTPUT.PUT_LINE('错误:  ' || cnt || '条' || SQLERRM);
end mes_cx_rz_zxnew_HAND;
```
