PLM Agile BOM表结构笔记
生活随笔
收集整理的這篇文章主要介紹了
PLM Agile BOM表结构笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
BOM表字段說明:
id:bom表主鍵,每次變更單對BOM有任務修改都會追加記錄,而不是直接修改原紀錄
item:父物料id,關聯item表
component:子物料id,關聯item表
item_number:子物料編碼
flag:bom子項狀態(目前僅第4,第5位數有效)。第4位:0代表無效,1代表有效。第5位:0代表已過時,1代表最新。
prior_bom:如果不為空,代表該行數據變更了另一行數據,值為另一行BOM表ID
Change_in:子物料被加入的變更單ID。如果為0代表是走變更之前(初始狀態)就添加到BOM中的。
Change_out:子物料被刪除的變更單ID。當這個字段值>0時代表當前這個子行已經被這個變更單作廢了。
quantity:子料用量,文本字段。可支持分數,例如:1/6
BOM注釋:通過id和agile_flex表的row_id字段關聯查詢,還有attid=1036 and class="10000"
find_number:查找編號,目前沒用起來
場景說明:
根據變更單或者受影響物件編號查詢BOM變更內容的SQL
with e as (2 select c.change_number3 ,i.item_number as parent_item_number,i.description as parent_item_name4 ,case when (change_out > 0 and prior_bom > 0) then 2 else 1 end as op_type5 ,ci.description as item_name6 ,b.item_number,b.id,b.prior_bom,b.quantity as qty,b.FLAGS,b.created,b.last_upd,b.change_in,b.change_out7 ,f.text as remark8 ,decode(b.prior_bom,0,b.id,b.prior_bom) as order_id9 from AGILE.Change C 10 INNER JOIN AGILE.REV R ON R.CHANGE = C.ID 11 INNER JOIN AGILE.bom b on r.item = b.item and b.change_in = c.id 12 inner join AGILE.item i on r.item = i.id 13 inner join AGILE.item ci on b.component = ci.id 14 left join agile.agile_flex f on b.id = f.row_id and f.class = 10000 and f.attid = 1036 15 LEFT JOIN AGILE.LISTENTRY LDELAY ON R.LIST01 = LDELAY.ENTRYID AND LDELAY.LANGID = 4 16 where 1=1 17 ${if(trim(changeNumber) == '',""," and c.change_number = '"+changeNumber+"'")} 18 ${if(trim(pitemNumber) == '',""," and i.item_number = '"+pitemNumber+"'")} 19 ) 20 select * from ( 21 -- 操作BOM 22 select e.* from e 23 union all 24 -- 被操作的BOM 25 select e.change_number 26 ,e.parent_item_number,e.parent_item_name 27 ,2 as op_type 28 ,ci.description as item_name 29 ,b.item_number,b.id,b.prior_bom,b.quantity as qty,b.FLAGS,b.created,b.last_upd,b.change_in,b.change_out 30 ,f.text as remark 31 ,decode(b.prior_bom,0,b.id,b.prior_bom) as order_id 32 from agile.bom b 33 inner join e on b.id = e.prior_bom 34 inner join AGILE.item ci on b.component = ci.id 35 left join agile.agile_flex f on b.id = f.row_id and f.class = 10000 and f.attid = 1036 36 where e.change_in != e.change_out 37 ) t order by t.parent_item_number,t.change_number,t.order_id將上述SQL,放到FineReport報表工具中,開發成報表的最終呈現結果如下圖(重要信息已做馬賽克處理):
?
總結
以上是生活随笔為你收集整理的PLM Agile BOM表结构笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSI笔记【12】:阵列信号处理及MAT
- 下一篇: kaggle:Quora Insince