Jelajahi Sumber

Merge branch 'master' of http://172.54.8.21:3000/zhangguo/MES_DOC

# Conflicts:
#	video/Lession3/fenliao.md
zhangguo 2 minggu lalu
induk
melakukan
9f09c24cd0

+ 333 - 157
MES_FIN_MONTH/FinMES202602/mes_cx_rcl_zzpnew_hand.md

@@ -1,8 +1,8 @@
-# mes_cx_rcl_zzpnew_hand 存储过程(什么什么热轧)
+# mes_cx_jg_CSJG_HAND 存储过程(什么什么热轧)
 
 ## 模板下载
 
-[模板](./mes_cx_rcl_zzpnew_hand.sql)
+[模板](./mes_cx_jg_CSJG_HAND.sql)
 
 用{0}表达 当前月份 替换成202602
 
@@ -15,11 +15,11 @@
 ## 原始脚本内容
 
 ```sql
-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);
+CREATE OR REPLACE procedure mes_cx_jg_CSJG_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);
@@ -27,207 +27,383 @@ CREATE OR REPLACE procedure mes_cx_rcl_zzpnew_hand is
       MATERIAL_NAME_cx varchar(200);
       outer_diam_cx varchar(200);
 
-  --热处理
-  cursor oporder_cursor_rcl is
+--加工
+ CURSOR OPOrder_Cursor_jg IS
 
- SELECT *
-  FROM (select t.judge_stove_no,
-  (case
-         when t.judge_stove_no like 'W%' then
-          '是'
+/*
+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||'C' MATE_CODE,--物料编码
+RESOURCE_TYPE RESOURCE_TYPE,--是否来料加工
+MATE_CODE || xx BILLET_CODE --钢坯编码
+from (
+select t.*,GET_CP_CODE2(STEEL_NO, --钢种
+           STEEL_LEVEL, --钢级
+           jhzt, --交货状态
+           PROD_VARIETY, --品名
+             MODEL_DESC, --端部
+             jg,
+           ACT_DIMATER, -- 外径
+           ACT_HEIGHT) MATE_CODE--壁厚
+           ,(case when (select max(judge_stove_no) from
+  cxuser.QCM_ZG_JUGDE_APPLY t1
+ where T1.IS_FLAG = '0'
+   AND T1.IS_ALL_SCRAP IN ('0', '2')
+   AND ((T1.VALIDFLAG = '20' AND T1.TARGET <> 'A' AND
+       T1.JUDGE_RESULT_CODE IN ('40740701', '40740705', '40740709')) OR
+       (T1.VALIDFLAG = '20' AND T1.TARGET = 'A' AND
+       T1.JUDGE_TOLRESULT_CODE IN ('40740701', '40740705', '40740709')) OR
+       T1.INSTANCY_FLAG = '1')
+   AND T1.PROCESS_CODE = 'F'
+     --AND T.BAL_YEAR_MONTH =  to_char(sysdate,'yyyymm')
+     --AND substr(T.BAL_YEAR_MONTH,0,4) ='2024'
+  AND T1.BAL_YEAR_MONTH = '202411'
+            and T1.PLINE_CODE = 'C091'
+and T1.judge_stove_no(+) = t.judge_stove_no and  ROWNUM=1) is null then 'A' ELSE 'B' END) xx,
+ (case when t.Judge_Stove_No like 'W%' then '是' else '否' end) RESOURCE_TYPE
+            from (
+select
+       t.pro_order_no,
+       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.BAL_YEAR_MONTH,
+       t.ACT_DIMATER,
+       t.ACT_HEIGHT,
+       t.judge_stove_no,
+        (case when T.TARGET ='A' THEN '产成品' else '半成品' end) PROD_TYPE,--产量类型
+       (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,--合同类型  是否双经销,
+
+       TO_CHAR(max(t.JUDGE_RESULT_TIME), 'YYYY-MM-DD') JUDGE_RESULT_TIME,
+       SUM(T.ACT_COUNT) 合格支,
+       SUM(DECODE(t.ACT_WEIGHT, NULL, t.ACT_THEORY_WEIGHT, t.ACT_WEIGHT)) PROD_WEIGHT,--成品重量--HGD
+       SUM(T.INPUT_COUNT) 出库支,
+       SUM(NVL(t.INPUT_WEIGHT, 0)) + SUM(NVL(T1.COUPLING_WT, 0)) +
+       SUM(NVL(T1.COUPLING_FAIL_WT, 0)) MATE_WEIGHT, --来料重量 --出库吨
+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,
+       (SELECT T1.HEAT_PLAN_NO,
+               T1.JUDGE_STOVE_NO,
+               T1.BATCH_NO,
+               SUM(NVL(T1.COUPLING_WT, 0)) COUPLING_WT,
+               SUM(NVL(T1.COUPLING_FAIL_WT, 0)) COUPLING_FAIL_WT
+          FROM cxuser.MCH_TWISTINGLY_RESULT_D T1
+         GROUP BY T1.HEAT_PLAN_NO, T1.JUDGE_STOVE_NO, T1.BATCH_NO) T1,
+       (SELECT A.BASENAME, B.PLINE_CODE, B.PLINE_NAME
+          FROM cxuser.COM_BASE_INFO A, cxuser.COM_BASE_PLINE B
+         WHERE A.BASECODE = B.FACTORY_CODE) C
+ where T.IS_FLAG = '0'
+   AND T.IS_ALL_SCRAP IN ('0', '2')
+   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.INSTANCY_FLAG = '1')
+   AND T.PROCESS_CODE = 'G'
+   AND T.PLINE_NAME = C.PLINE_NAME(+)
+   AND T.HEAT_PLAN_NO = T1.HEAT_PLAN_NO(+)
+   AND T.JUDGE_STOVE_NO = T1.JUDGE_STOVE_NO(+)
+   AND T.BATCH_NO = T1.BATCH_NO(+)
+   --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_NAME in ('天淮加工1#线','天淮加工2#线')
+ group by
+          t.pro_order_no,
+          t.pline_code,
+          t.pline_name,
+          t.producname,
+          t.steelname,
+          t.GRADENAME,
+          t.spec_name,
+          t.model_desc,
+          C.BASENAME,
+          t.std_name,
+          t.target,
+          T.BAL_YEAR_MONTH,
+       t.ACT_DIMATER,
+       t.ACT_HEIGHT,
+       t.judge_stove_no
+
+) t
+  )
+ group by
+CONTRACT_TYPE,--合同类型
+PROD_VARIETY,--品名、品种
+STEEL_LEVEL,--钢级
+STEEL_NO,--钢号
+SPEC,--规格
+PROD_TYPE,--产量类型
+BAL_YEAR_MONTH,
+MATE_CODE,
+xx,
+RESOURCE_TYPE;*/
+
+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,
+        --合同类型
+       replace(t.PRO_ORDER_NO, '/', '') orderid, t.producname prod_variety,
+        --品名、品种,
+       t.steelname steel_level,
+        --钢级,
+       t.gradename steel_no,
+        --钢号,
+       t.spec_name spec,
+        --规格,
+       '半成品' prod_type,
+        --产量类型
+        sum(decode(t.act_weight, null, t.act_theory_weight, t.act_weight)) prod_weight,
+        --成品重量
+       sum(nvl(t.input_weight, 0)) + sum(nvl(t1.coupling_wt, 0)) +
+        sum(nvl(t1.coupling_fail_wt, 0)) mate_weight,
+        /*sum(decode(t.act_weight, null, t.act_theory_weight, t.act_weight)) mate_weight,*/
+        --来料重量
+        /*case when (sum(nvl(t.input_weight, 0)) +
+                sum(nvl(t1.coupling_wt, 0)) +
+                sum(nvl(t1.coupling_fail_wt, 0))) != 0 then
+       (case
+         when sum(nvl(t.input_weight, 0)) + sum(nvl(t1.coupling_wt, 0)) +
+              sum(nvl(t1.coupling_fail_wt, 0)) <> 0 then
+          round(sum(decode(t.act_weight,
+                           null,
+                           t.act_theory_weight,
+                           t.act_weight)) / sum(nvl(t.input_weight, 0)) +
+                sum(nvl(t1.coupling_wt, 0)) +
+                sum(nvl(t1.coupling_fail_wt, 0)),
+                4) * 100
          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
+       end) else 0 end steel_waste,*/
+       NVL(
+        round(
+          sum(decode(t.act_weight, null, t.act_theory_weight, t.act_weight)) * 100
+          /
+          NULLIF( sum(nvl(t.input_weight, 0)) + sum(nvl(t1.coupling_wt, 0)) + sum(nvl(t1.coupling_fail_wt, 0)) , 0)
+        , 4)
+      , 0) as steel_waste,
+        --消耗占比
+       '加工' as process,
+        --工序
+       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;
+       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,
+        --物料编码
+       getislljg(t.judge_stove_no,replace(t.PRO_ORDER_NO, '/', '')) resource_type,t.judge_stove_no,
+        --是否来料加工
+       null billet_code --钢坯编码
 
-begin
+  from cxuser.qcm_zg_jugde_apply t,
+       (select t1.heat_plan_no, t1.judge_stove_no, t1.batch_no,
+                sum(nvl(t1.coupling_wt, 0)) coupling_wt,
+                sum(nvl(t1.coupling_fail_wt, 0)) coupling_fail_wt
+           from cxuser.mch_twistingly_result_d t1
+          group by t1.heat_plan_no, t1.judge_stove_no, t1.batch_no) t1,
+       (select a.basename, b.pline_code, b.pline_name
+           from cxuser.com_base_info a, cxuser.com_base_pline b
+          where a.basecode = b.factory_code) c
+ where t.is_flag = '0'
+   and t.is_all_scrap in ('0', '2')
+   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.instancy_flag = '1')
+   and t.process_code = 'G'
+   and t.pline_name = c.pline_name(+)
+   and t.heat_plan_no = t1.heat_plan_no(+)
+   and t.judge_stove_no = t1.judge_stove_no(+)
+   and t.batch_no = t1.batch_no(+)
+   and t.bal_year_month in ('202602')
+   and t.PRO_ORDER_NO not like 'ZZBY%'
+   AND t.judge_stove_no NOT LIKE 'F%'
+   and t.pline_code = 'C108'
+   and t.target = 'A'
+/*group by
+   t.pro_order_no,
+   t.pline_code,
+   t.pline_name,
+   t.producname,
+   t.steelname,
+   t.GRADENAME,
+   t.spec_name,
+   t.model_desc,
+   C.BASENAME,
+   t.std_name,
+   t.target,
+   T.BAL_YEAR_MONTH,
+t.ACT_DIMATER,
+t.ACT_HEIGHT,
+t.judge_stove_no*/
+ group by t.producname, t.steelname,
+           --钢级
+          t.gradename,
+           --钢号
+          t.spec_name,
+           --规格
+          t.target, bal_year_month, pro_order_no, t.judge_stove_no;
 
-  --先删除
-/*  delete from HOT_HEAT_PRODUCTION_MES_GX
-   where acct_period in ('2025-01')
-     and prod_type = '在产品'
-     and flag = '0';*/
+curoporder_jg oporder_cursor_jg%rowtype;
+cnt number;
 
-  open oporder_cursor_rcl;
+begin
+ cnt := 0;
+  open oporder_cursor_jg;
   loop
-    fetch oporder_cursor_rcl
-      into curoporder_rcl;
-    exit when oporder_cursor_rcl%notfound;
+    fetch oporder_cursor_jg
+      into curoporder_jg;
+    exit when oporder_cursor_jg%notfound;
 
     select count(*)
       into a
       from orderdetail_v@th_cx_link t
-     where t.contractno_num = curoporder_rcl.orderid
+     where t.contractno_num = curoporder_jg.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
+       where t.contractno_num = curoporder_jg.orderid
          and material_code is not null
          and rownum = 1;
 
-    elsif substr(curoporder_rcl.orderid, 1, 2) in ('TH', 'XS') then
+    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_rcl.orderid, 3)
+       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 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
+        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)
+               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_HEAT_PRODUCTION_MES_GX
+      insert into hot_production_mes_jg
         (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)
+         resource_type, billet_code, memo, flag,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',
+        (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,
+         --(case when curOPOrder_jg.BILLET_CODE like ),
          (case
-            when material_code_cx like '%B' then
-             '加工'
-            when material_code_cx like '%C' then
+            when curoporder_jg.mate_code like '%B' then
+             curoporder_jg.mate_code || '1'
+            when curoporder_jg.mate_code like '%C' then
+             curoporder_jg.mate_code || '2'
+             when curoporder_jg.mate_code like '%G' OR curoporder_jg.mate_code like '%H' then
+             curoporder_jg.mate_code || '3'
+          end), '', '0',MATERIAL_NAME_cx,curoporder_jg.orderid,curoporder_jg.judge_stove_no,(case
+            when curoporder_jg.mate_code like '%B' then
+             '热轧'
+            when curoporder_jg.mate_code 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);
+            when curoporder_jg.mate_code like '%H' OR curoporder_jg.mate_code like '%G' then
+             '加工'
+          end),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
+      insert into hot_production_mes_jg
         (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)
+         resource_type, billet_code, memo, flag,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);
+        (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,
+         --(case when curOPOrder_jg.BILLET_CODE like ),
+         (case when curoporder_jg.mate_code like '%B' then
+           curoporder_jg.mate_code || '1' when
+           curoporder_jg.mate_code like '%C' then
+           curoporder_jg.mate_code || '2' end), '', '0',null,curoporder_jg.orderid,curoporder_jg.judge_stove_no);
     end if;
+
   end loop;
-  close oporder_cursor_rcl;
+  close oporder_cursor_jg;
   commit;
 
-  /*
 
-  exception
+
+  /*exception
     when others then
-      null;*/
-end mes_cx_rcl_zzpnew_hand;
+      DBMS_OUTPUT.PUT_LINE('错误:  ' || cnt || '条' || SQLERRM);*/
+end mes_cx_jg_CSJG_HAND;
 ```

+ 39 - 28
video/Lession3/cailiao.md

@@ -1,10 +1,10 @@
 # 材料管理流程
 
-| 版本号  | 变更日期       | 变更内容             | 变更人 |
-| ---- | ---------- | ---------------- | --- |
-| v1.0 | 2026-03-12 | 创建项目文档结构,添加FAQ模块 | 薛渗  |
+| 版本号 | 变更日期       | 变更内容                     | 变更人 |
+| ------ | -------------- | ---------------------------- | ------ |
+| v1.0   | 2026-03-12     | 创建项目文档结构,添加FAQ模块 | 薛渗   |
 
-## 一安装包列表
+## 一安装包列表
 
 - **NetAdvantage_WinForms_20092.exe**:Infragistics NetAdvantage WinForms控件库
 - **NetAdvantage_WinForms_20092_Samples.exe**:NetAdvantage WinForms控件库示例
@@ -15,7 +15,7 @@
 - **Git-2.53.0-64-bit.exe**:Git版本控制系统 (64位)
 - **TortoiseGit-2.18.0.1-64bit.msi**:TortoiseGit Git客户端图形界面 (64位)
 
-## 二配置
+## 二配置
 
 ### 1. NetAdvantage WinForms配置
 
@@ -25,50 +25,61 @@
 - 先安装NetAdvantage_WinForms_20092_Samples.exe,然后再安装NetAdvantage_WinForms_20092.exe(输入注册码9510-5300982-7877273)
 - ![](./images/Snipaste_2026-03-12_18-16-09.png)
 
-### 2.Visual Studio 2019配置
+### 2. Visual Studio 2019配置
 
 - 在开始菜单里找到Visual Studio 2019,右键选择管理员身份运行
   
   ![](./images/Snipaste_2026-03-12_14-21-22.png)
-   选择打开项目或解决方案![](./images/Snipaste_2026-03-12_14-29-34.png)
-   找到本地代码文件目录里的...\Client\TGMES\TGMES.sln![](./images/Snipaste_2026-03-12_14-33-22.png)
-   选择需要使用的模块右键选择属性,打开调试-启动外部程序和工作目录更改为本地代码对应的...\Client\TGMES\output\ CoreFs.CoreFS.exe 以及...\Client\TGMES\output![](./images/Snipaste_2026-03-12_14-36-02.png)
-   打开某个页面,打开工具箱,右键选择添加选项卡输入92,然后点击选择项![](./images/Snipaste_2026-03-12_18-32-18.png)  
-   打开的工具箱项,筛选器输入Infragistics,把筛选出的列表全部勾选后点击确定  ![](./images/Snipaste_2026-03-12_18-36-37.png) 
-    该模块右键点击设为启动项目 ![](./images/Snipaste_2026-03-12_14-47-48.png) 
-  该模块右键清理,然后点击重新生成 ![](./images/Snipaste_2026-03-12_14-45-55.png)
-   点击启动出现登录框![](./images/Snipaste_2026-03-12_14-50-33.png)
+  
+  选择打开项目或解决方案
+  ![](./images/Snipaste_2026-03-12_14-29-34.png)
+  
+  找到本地代码文件目录里的...\Client\TGMES\TGMES.sln
+  ![](./images/Snipaste_2026-03-12_14-33-22.png)
+  
+  选择需要使用的模块右键选择属性,打开调试-启动外部程序和工作目录更改为本地代码对应的...\Client\TGMES\output\ CoreFs.CoreFS.exe 以及...\Client\TGMES\output
+  ![](./images/Snipaste_2026-03-12_14-36-02.png)
+  
+  打开某个页面,打开工具箱,右键选择添加选项卡输入92,然后点击选择项
+  ![](./images/Snipaste_2026-03-12_18-32-18.png)
+  
+  打开的工具箱项,筛选器输入Infragistics,把筛选出的列表全部勾选后点击确定
+  ![](./images/Snipaste_2026-03-12_18-36-37.png)
+  
+  该模块右键点击设为启动项目
+  ![](./images/Snipaste_2026-03-12_14-47-48.png)
+  
+  该模块右键清理,然后点击重新生成
+  ![](./images/Snipaste_2026-03-12_14-45-55.png)
+  
+  点击启动出现登录框
+  ![](./images/Snipaste_2026-03-12_14-50-33.png)
   
   登陆以后可以打开系统管理-功能设置-点击查询,查看功能结构树里的页面配置的服务器和前端页面信息,启动对应服务器(MyEclipse),根据关键字查找页面(Visual Studio)
   
   ![](./images/微信图片_20260312194737_387_39.png)
 
-### 5. JDK配置
+### 3. JDK配置
 
 - **安装路径**:建议安装到默认路径`C:\Program Files\Java\jdk1.8.0_371`
 - **环境变量**:
-- 设置`JAVA_HOME`为JDK安装目录
+  - 设置`JAVA_HOME`为JDK安装目录
   - 将`%JAVA_HOME%\bin`添加到`PATH`环境变量
-- --电脑--属性--高级系统设置
-- ![](./images/Snipaste_2026-03-12_15-27-08.png)  
+- 操作步骤:电脑 → 属性 → 高级系统设置
+- ![](./images/Snipaste_2026-03-12_15-27-08.png)
 - **验证安装**:打开命令提示符,运行`java -version`和`javac -version`检查安装是否成功
 
-### 3. MyEclipse 2014配置
-
-- **安装路径**:建议安装到非系统盘  
-
-- **JDK配置**:确保已安装并配置Java JDK 1.8 
+### 4. MyEclipse 2014配置
 
+- **安装路径**:建议安装到非系统盘
+- **JDK配置**:确保已安装并配置Java JDK 1.8
 - **工作空间**:设置合适的工作空间目录
-
 - **服务器配置**:在MyEclipse中配置Tomcat服务器
 
-### 6. Git配置
+### 5. Git配置
 
 - **安装路径**:建议安装到默认路径`C:\Program Files\Git`
-
 - **环境变量**:安装过程中会自动将Git添加到`PATH`环境变量
-
 - **基本配置**:
   
   ```bash
@@ -78,7 +89,7 @@
   git config --global user.email "your.email@example.com"
   ```
 
-### 7. TortoiseGit配置
+### 6. TortoiseGit配置
 
 - **安装顺序**:先安装Git,再安装TortoiseGit
 - **安装路径**:按照默认路径安装即可

+ 7 - 5
video/Lession3/fenliao.md

@@ -10,13 +10,13 @@
 
 - **问题描述**
 
-> 生产管理-工序排产二级-加工排产二级页面,下面的炉计划列表,
-
-有的数据的 库存挂料剩余支 字段 大于 装炉支-上料支 的值,需要将其调整到 库存挂料剩余支小于装炉支-上料支的数据,如图里的106、108和109行需要调整到107行
+> 生产管理-工序排产二级-加工排产二级页面
+> 
+> 下面的炉计划列表,有的数据的 库存挂料剩余支 字段 大于 装炉支-上料支 的值,需要将其调整到 库存挂料剩余支小于装炉支-上料支的数据,如图里的106、108和109行需要调整到107行
 
 - **处理方法**
 
-> 将106、108和109行的 炉计划ID和判定单号 改成107行的(如下图的炉计划ID是一样的,所以只改判定单号,如果是炉计划ID不一样的需要炉计划ID和判定单号都该
+> 将106、108和109行的 炉计划ID和判定单号 改成107行的(如下图的炉计划ID是一样的,所以只改判定单号,如果是炉计划ID不一样的,炉计划ID和判定单号都需要改
 
   ![](./images/Snipaste_2026-03-12_19-07-40.png) 
 
@@ -27,6 +27,8 @@ where judge_stove_no = 'A26010297'
 and jugde_apply_code  ='C0728014012026011900015123'
 ```
 
+> 查询出要改的数据
+> 
 > mat_no-材料号(唯一标识)
 > 
 > heat_plan_no_next-炉计划ID
@@ -35,7 +37,7 @@ and jugde_apply_code  ='C0728014012026011900015123'
 > 
 > judge_stove_no-判定炉号
 
-**查询出要改的数据**
+****
 
 ```sql
 update mat_bc_m set heat_plan_no_next = '{新的炉计划ID}',