| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- CREATE OR REPLACE procedure mes_cx_rcl_zzpnew_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_rcl is
- SELECT *
- FROM (select t.judge_stove_no,
- (case
- when t.judge_stove_no like 'W%' then
- '是'
- else
- '否'
- end) resource_type,
- t.ZY_BATCH_ID 生产批号,
- T.STOVE_NO,
- '2026-02' acct_period,
- null high_tech_code, null high_tech_name, 0 high_prod_weight,
- 0 high_mate_weight, 0 estimated_unit_price, 0 estimated_cost,
- T.PRODUCNAME,
- t.gradename steel_no,
- T.DECISION,
- T.OUTDIAMETER || '*' || T.WALLTHICK spec,
- T.ORDER_NO || T.ORDER_SEQ orderid,
- (SELECT DECODE(MAX(S.ORDER_TYP),
- '120108',
- '双经销',
- '120109',
- '定销订购',
- '120107',
- '来料加工',
- '自用')
- FROM SLM_ORDER_HEAD S
- WHERE S.ORDER_NO = REGEXP_REPLACE(T.ORDER_NO, '/.*', '')) contract_type,
- MAX(T.STD_STYLE_DESC) 标准类别,
- MAX(T.GOWHERE_NAME) 物流去向,
- MAX(T.OUTPUT_STANDARD) 输出标准,
- MAX(T.STEELNAME) steel_level,
- MAX(T.MODEL_DESC) 扣型,
- T.PLINE_CODE,
- (SELECT C.PLINE_NAME
- FROM COM_BASE_PLINE C
- WHERE C.PLINE_CODE = T.PLINE_CODE) PLINE_NAME,
- sum(a.act_count) act_count,
- sum(a.act_weight) act_weight,
- null billet_code
- from PLN_ZY_RCL_M t,
- (select t.judge_stove_no,
- T.HEAT_PLAN_NO,
- sum(t.act_count) act_count,
- sum(decode(T.act_weight,
- '',
- t.act_theory_weight,
- t.act_weight)) act_weight
- from PORT_HTT_BATCH_SAMPLE_RESULT t
- where (t.group_flag = 0 OR T.GROUP_FLAG IS NULL)
- --AND T.INSTORE_FLAG = '0'
- AND T.PROCESS_SEQ = '1'
- AND T.MAT_STATUS IN ('00', '20')
- and t.bal_year_month <= '202602'
- and t.bal_year_month >= '202002'
- group by t.judge_stove_no, T.HEAT_PLAN_NO
- UNION ALL
- select t.judge_stove_no,
- T.HEAT_PLAN_NO,
- -SUM(T.ACT_COUNT) act_count,
- -sum(t.ACT_WEIGHT) act_weight
- from QCM_ZG_JUGDE_APPLY t
- where ((t.validflag = '20' and
- t.JUDGE_RESULT_CODE in ('40740701', '40740709')) OR
- T.INSTANCY_FLAG = '1')
- and t.is_flag = 0
- and t.PROCESS_CODE = 'F'
- and t.bal_year_month <= '202602'
- and t.bal_year_month >= '202002'
- group by t.judge_stove_no, T.HEAT_PLAN_NO
- ) a
- where a.judge_stove_no = t.judge_stove_no
- AND T.HEAT_PLAN_NO = A.HEAT_PLAN_NO
- group by t.judge_stove_no,
- t.ZY_BATCH_ID,
- T.STOVE_NO,
- T.PRODUCNAME,
- T.DECISION,
- t.gradename,
- T.OUTDIAMETER,
- T.WALLTHICK,
- T.PLINE_CODE,
- T.ORDER_NO,
- T.ORDER_SEQ
- order by t.pline_code, t.judge_stove_no)
- WHERE act_count > 0 and orderid not like '%ZZBY%';
- curoporder_rcl oporder_cursor_rcl%rowtype;
- begin
- open oporder_cursor_rcl;
- loop
- fetch oporder_cursor_rcl
- into curoporder_rcl;
- exit when oporder_cursor_rcl%notfound;
- select count(*)
- into a
- from orderdetail_v@th_cx_link t
- where t.contractno_num = curoporder_rcl.orderid
- and material_code is not null;
- if a > 0 then
- select prod_name,sg_grade,sg_sign,outer_diam,wall_thickness,material_code,MATERIAL_NAME
- into prod_name_cx,sg_grade_cx ,sg_sign_cx,outer_diam_cx ,wall_thickness_cx ,material_code_cx , MATERIAL_NAME_cx
- from orderdetail_v@th_cx_link t
- where t.contractno_num = curoporder_rcl.orderid
- and material_code is not null
- and rownum = 1;
- elsif substr(curoporder_rcl.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_rcl.orderid, 3)
- and material_code is not null
- and rownum = 1;
- if a > 0 then
- select prod_name,sg_grade,sg_sign,outer_diam,wall_thickness,material_code,MATERIAL_NAME
- into prod_name_cx,sg_grade_cx ,sg_sign_cx,outer_diam_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_rcl.orderid, 3)
- and material_code is not null
- and rownum = 1;
- end if;
- end if;
- if a > 0 then
- insert into HOT_HEAT_PRODUCTION_MES_GX
- (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)
- values
- (seq_mes_cx.nextval, curoporder_rcl.contract_type, prod_name_cx,
- sg_sign_cx, sg_grade_cx,
- outer_diam_cx || '*' || wall_thickness_cx, '在产品', null,
- curoporder_rcl.act_weight, null, '热处理',
- curoporder_rcl.high_tech_code, curoporder_rcl.high_tech_name,
- curoporder_rcl.high_prod_weight, curoporder_rcl.high_mate_weight,
- curoporder_rcl.estimated_unit_price, curoporder_rcl.estimated_cost,
- curoporder_rcl.acct_period, material_code_cx,
- curoporder_rcl.resource_type, material_code_cx || '1', '', '0',
- (case
- when material_code_cx like '%B' then
- '加工'
- when material_code_cx like '%C' then
- '热处理'
- else
- ''
- end), MATERIAL_NAME_cx, curoporder_rcl.orderid,curoporder_rcl.judge_stove_no,'热轧',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);
- else
- insert into HOT_HEAT_PRODUCTION_MES_GX
- (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)
- values
- (seq_mes_cx.nextval, curoporder_rcl.contract_type,
- null, null,
- null, null, '在产品', null,
- curoporder_rcl.act_weight, null, '热处理', curoporder_rcl.high_tech_code,
- curoporder_rcl.high_tech_name, curoporder_rcl.high_prod_weight,
- curoporder_rcl.high_mate_weight, curoporder_rcl.estimated_unit_price,
- curoporder_rcl.estimated_cost, curoporder_rcl.acct_period, null,
- curoporder_rcl.resource_type, null, '', '0',
- (case when cxdata.material_code like '%B' then '加工' when
- cxdata.material_code like '%C' then '热处理' else '' end), null,
- curoporder_rcl.orderid,curoporder_rcl.judge_stove_no);
- end if;
- end loop;
- close oporder_cursor_rcl;
- commit;
- end mes_cx_rcl_zzpnew_hand;
|