Quellcode durchsuchen

添加mes_cx_jg_zxnew_hand.sql文件,更新FinMES.md和README.md文件

zhangguo vor 4 Tagen
Ursprung
Commit
908917cf99

BIN
Excels/mes服务器密码运维清单.xlsx


+ 3 - 5
MES_FIN_MONTH/FinMES.md

@@ -28,8 +28,6 @@
 
 ## 月结历史记录
 
-| 年月      | 状态  | 完成日期       | 备注   |
-| ------- | --- | ---------- | ---- |
-| 2026-02 | 已完成 | 2026-03-05 | 首次月结 |
-
-# 
+| 年月      | 状态  | 完成日期       | 备注                        |
+| ------- | --- | ---------- | ------------------------- |
+| 2026-02 | 已完成 | 2026-03-05 | [首次月结](./FinMES202602.md) |

+ 357 - 0
MES_FIN_MONTH/FinMES202602/mes_cx_jg_zxnew_hand.sql

@@ -0,0 +1,357 @@
+CREATE OR REPLACE procedure MES_CX_JG_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_jg IS
+    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,
+           --规格,
+           (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 = '{0}'),
+                   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 = '{0}'),
+               0) LC_WEIGHT,
+           sum(nvl(t.input_weight, 0)) + sum(nvl(t1.coupling_wt, 0)) +
+           sum(nvl(t1.coupling_fail_wt, 0)) mate_weight,
+           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,
+           --消耗占比
+           case max(t.pline_code)
+             when 'C108' then
+              '车丝'
+             else
+              '加工'
+           end 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,
+           substr(bal_year_month, 0, 4) || '-' ||
+           substr(bal_year_month, 5, 2) acct_period,
+           --换成取产销提供的视图 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 --钢坯编码
+    
+      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 ('{0}')
+       and t.PRO_ORDER_NO not like 'ZZBY%'
+     group by t.producname,
+              t.steelname,
+              --钢级
+              t.gradename,
+              --钢号
+              t.spec_name,
+              --规格
+              t.target,
+              bal_year_month,
+              pro_order_no,
+              t.judge_stove_no;
+
+  curoporder_jg oporder_cursor_jg%rowtype;
+  cnt           number;
+
+begin
+  cnt := 0;
+  open oporder_cursor_jg;
+  loop
+    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_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_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 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_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_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,
+         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,
+         (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'
+           when curoporder_jg.mate_code like '%H' OR
+                curoporder_jg.mate_code like '%G' 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
+            '热处理'
+           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,
+         curoporder_jg.LC_WEIGHT);
+    else
+      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,
+         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,
+         (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' when
+          curoporder_jg.mate_code like '%H' OR
+          curoporder_jg.mate_code like '%G' then
+          curoporder_jg.mate_code || '3' end),
+         '',
+         '0',
+         null,
+         curoporder_jg.orderid,
+         curoporder_jg.judge_stove_no,
+         curoporder_jg.LC_WEIGHT);
+    end if;
+  
+  end loop;
+  close oporder_cursor_jg;
+  commit;
+
+end mes_cx_jg_zxnew_HAND;

+ 17 - 13
README.md

@@ -2,21 +2,25 @@
 
 ## 版本变更记录
 
-| 版本号  | 变更日期       | 变更内容                   | 变更人    |
-| ---- | ---------- | ---------------------- | ------ |
-| v1.5 | 2026-03-11 | 增加第二课的视频解读 | 张果 |
-| v1.4 | 2026-03-11 | 增加财务月结栏目,添加FinMES.md链接 | 张果 |
-| v1.3 | 2026-03-10 | 在相关软件栏目添加软件表格          | 张果 |
-| v1.2 | 2026-03-10 | 增加Git使用指南链接,更新版本记录     | 张果 |
-| v1.1 | 2026-03-06 | 增加相关软件栏目和教学视频栏目        | 张果 |
-| v1.0 | 2026-03-06 | 创建项目文档结构,添加FAQ模块       | 张果 |
+| 版本号  | 变更日期       | 变更内容                   | 变更人 |
+| ---- | ---------- | ---------------------- | --- |
+| v1.5 | 2026-03-11 | 增加第二课的视频解读             | 张果  |
+| v1.4 | 2026-03-11 | 增加财务月结栏目,添加FinMES.md链接 | 张果  |
+| v1.3 | 2026-03-10 | 在相关软件栏目添加软件表格          | 张果  |
+| v1.2 | 2026-03-10 | 增加Git使用指南链接,更新版本记录     | 张果  |
+| v1.1 | 2026-03-06 | 增加相关软件栏目和教学视频栏目        | 张果  |
+| v1.0 | 2026-03-06 | 创建项目文档结构,添加FAQ模块       | 张果  |
 
 ## 常见问题
 
 [FAQ](./FAQ/index.md)
 
+[mes服务器密码运维清单.xlsx](./Excels/mes服务器密码运维清单.xlsx)
+
 ## 财务月结
 
+MES生产部月结
+
 [MES财务月结](./MES_FIN_MONTH/FinMES.md)
 
 ## 相关软件
@@ -44,11 +48,11 @@
       <a href="http://172.54.8.21:3001/MES系统运行流程.xmind" target="_blank">相关xmind</a>
     
       [视频解读](./video/Lession2/shengchan.md)
+  
+  - **第三课 环境分料**
+    
+      <a href="http://172.54.8.21:3001/环境分料.mp4" target="_blank">环境分料.mp4</a>
     
-   - **第三课 环境分料**
-   
-   	  <a href="http://172.54.8.21:3001/环境分料.mp4" target="_blank">环境分料.mp4</a>
+      视频解读,谁来做
 
-	  视频解读,谁来做
-      
 - MES运行流程