因為工作的因素,涉及到bom與工時比較多,就想著如何利用現有的系統體現出全階bom。以下圖為例:
在系統系統中的儲存方式如下:
p:父項;c:子件;sortseq:行號,qty:用量
if object_id('sbom') is not null
begin
drop table sbom
end
select 1 as l, p+'-'+rtrim(cast(sortseq as char)) as lev,p,sortseq,c,qty,qty as sqty into sbom from bom where p='a'
declare @id as int
set @id=0
while @id<1
begin
insert into sbom(l,lev,p,sortseq,c,qty,sqty)
select t1.l+1 as l,t1.lev+'-'+rtrim(cast(t2.sortseq as char)) as lev,
t1.p,t2.sortseq,t2.c,t2.qty,t1.sqty*t2.qty as sqty from
( select l,lev,p,sortseq,c,qty,sqty from sbom where l in(select max(l) from sbom)
)t1
inner join bom t2 on t1.c=t2.p
select @id=case when isnull(count(1),0)>0 then 0 else 1 end from sbom t1
inner join bom t2 on t1.c=t2.p
where t1.l in(select max(l) from sbom)
end這裡sbom是最終儲存的全階bom,最終的效果如下:
這樣可以較為輕易地完成全階bom
對於工時的運算,也是同理的。希望給在製造一線的兄弟們,拋磚引玉吧!
如何在現有的 Linux 系統上新增新的磁碟
摘要 作為乙個系統管理員,我們會有這樣的一些需求 作為公升級伺服器容量的一部分,或者有時出現磁碟故障時更換磁碟,我們需要將新的硬碟配置到現有伺服器。在這篇文章中,我會向你逐步介紹新增新硬碟到現有 rhel centos 或者 debian ubuntu linux 系統的步驟。作為乙個系統管理員,我...
如何在現有的 Linux 系統上新增新的磁碟
fdisk是乙個在 linux 系統上用於顯示和管理硬碟和分割槽命令列工具。fdisk l這個命令會列出當前分割槽和配置。檢視 linux 分割槽詳情 新增了 20gb 容量的硬碟後,fdisk l的輸出像下面這樣。檢視新分割槽詳情 新新增的磁碟顯示為 dev xvdc。如果我們新增的是物理磁碟,基...
如何在現有的 Linux 系統上新增新的磁碟
摘要 作為乙個系統管理員,我們會有這樣的一些需求 作為公升級伺服器容量的一部分,或者有時出現磁碟故障時更換磁碟,我們需要將新的硬碟配置到現有伺服器。在這篇文章中,我會向你逐步介紹新增新硬碟到現有 rhel centos 或者 debian ubuntu linux 系統的步驟。作為乙個系統管理員,我...