123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291 |
- ---------------------------------------------------
- -- 자재관리코드
- ---------------------------------------------------
- -- 자재 분류 코드
- -- MakiFirst, MakiSecond, MakiThird를 통합
- CREATE TABLE FmsMaterialCodeClass
- (
- SiteId int NOT NULL , -- 현장 고유번호
- MaterialClassId int identity(1,1) NOT NULL , -- 자재분류 고유번호
- ParentMaterialClassId int NULL , -- 부모 자재분류 고유번호
- Depth int NOT NULL , -- 트리 깊이
- Name nvarchar(32) NOT NULL , -- 분류명
- Abbreviation nvarchar(16) NULL , -- 분류명 약어
- IsUse bit NULL , -- 사용 유무
-
- PRIMARY KEY (SiteId ASC , MaterialClassId ASC)
- );
- /* 자재구분코드 */
- CREATE TABLE FmsMaterialCodeType
- (
- SiteId int NOT NULL, -- 현장 고유번호
- MaterialTypeId smallint identity(1,1) NOT NULL, -- 자재구분 고유번호
- Name nvarchar(24) NOT NULL, -- 자재구분 명칭
- Nickname nvarchar(24) NOT NULL, -- 자재구분 별칭
- IsUse bit NOT NULL, -- 사용여부
- PRIMARY KEY (SiteId ASC , MaterialTypeId ASC)
- );
- --INSERT INTO FmsMaterialCodeType VALUES (1, 1, '일반자재', '일', 1);
- --INSERT INTO FmsMaterialCodeType VALUES (2, '소모품', '소', 1);
- --INSERT INTO FmsMaterialCodeType VALUES (3, '공기구', '공', 1);
- --INSERT INTO FmsMaterialCodeType VALUES (4, '기타', '기', 1);
- /* 구매구분코드 */
- CREATE TABLE FmsMaterialCodePurchaseType
- (
- SiteId int NOT NULL, -- 현장 고유번호
- PurchaseTypeId smallint identity(1,1) NOT NULL, -- 구매구분 고유번호
- Name nvarchar(24) NOT NULL, -- 자재구분 명칭
- IsUse bit NOT NULL, -- 사용여부
- PRIMARY KEY (SiteId ASC , PurchaseTypeId ASC)
- );
- /* 출고구분코드 */ -- 내부 로직으로 사용하므로 수정 할 수 없다.
- CREATE TABLE FmsMaterialCodeReleaseType
- (
- ReleaseTypeId smallint NOT NULL, -- 출고구분 고유번호
-
- Name nvarchar(24) NOT NULL, -- 자재구분 명칭
- [Description] nvarchar(100) NULL, -- 설명
- PRIMARY KEY (ReleaseTypeId ASC)
- );
- INSERT INTO FmsMaterialCodeReleaseType VALUES (1, '작업출고', '작업에 사용한 자재의 출고');
- INSERT INTO FmsMaterialCodeReleaseType VALUES (2, '조정출고', '재고 정산에 의한 출고');
- /* 거래처정보 */
- CREATE TABLE FmsMaterialTradeCompany
- (
- SiteId int NOT NULL, -- 현장 고유번호
- TradeCompanyId int identity(1,1) NOT NULL, -- 거래처 고유번호
- Name nvarchar(48) NOT NULL, -- 거래처 명칭
- RegistrationNo nvarchar(24) NOT NULL, -- 사업자등록번호
- RepresentativeName nvarchar(24) null, -- 대표자명
- PhoneNo nvarchar(20) null, -- 대표번호
- FaxNo nvarchar(20) null, -- 팩스번호
- SalseName nvarchar(20) null, -- 담당자
- SalsePhoneNo nvarchar(20) null, -- 담당자 연락처
- AddressZip1 nchar(3) NULL , -- 현장 주소 우편번호 1
- AddressZip2 nchar(3) NULL , -- 현장 주소 우편번호 2
- Address1 nvarchar(100) NULL , -- 거래처 주소 1
- Adderss2 nvarchar(100) NULL , -- 거래처 주소 2
- HomepageUri nvarchar(200) NULL , -- 거래처 홈페이지 URI
- Note nvarchar(1024) NULL , -- 비고
- IsUse bit NOT NULL, -- 사용여부
- PRIMARY KEY (SiteId ASC, TradeCompanyId ASC)
- );
- /* 진행상태코드 */
- CREATE TABLE FmsMaterialCodeProgress
- (
- ProgressId smallint NOT NULL, -- 상태 고유번호
- Name nvarchar(24) NOT NULL, -- 상태명칭
- [Description] nvarchar(100) null, -- 상태설명
- PRIMARY KEY (ProgressId ASC)
- );
- INSERT INTO FmsMaterialCodeProgress VALUES (1, '자재신청', '');
- INSERT INTO FmsMaterialCodeProgress VALUES (2, '신청승인', '');
- INSERT INTO FmsMaterialCodeProgress VALUES (3, '발주요청', '');
- INSERT INTO FmsMaterialCodeProgress VALUES (4, '자재입고', '');
- INSERT INTO FmsMaterialCodeProgress VALUES (5, '입고승인', '');
- /* 위치코드 */
- CREATE TABLE FmsMaterialCodeLocation
- (
- SiteId int NOT NULL, -- 현장 고유번호
- LocationId int identity(1,1) NOT NULL, -- 자재위치 고유번호
- BusinessFieldId int NOT NULL, -- 업무분야 고유번호
- Name nvarchar(48) NOT NULL, -- 위치 명칭
- IsUse bit NOT NULL, -- 사용여부
- PRIMARY KEY (SiteId ASC, LocationId ASC)
- );
- /* 창고코드 */
- CREATE TABLE FmsMaterialWarehouse
- (
- SiteId int NOT NULL, -- 현장 고유번호
- BusinessFieldId int NOT NULL, -- 업무분야 고유번호
- WarehouseId int identity(1,1) NOT NULL, -- 창고 고유번호
- Name nvarchar(48) NOT NULL, -- 창고 명칭
- IsUse bit NOT NULL, -- 사용여부
- PRIMARY KEY (SiteId ASC, BusinessFieldId ASC, WarehouseId ASC)
- );
- /* 자재정보 */
- CREATE TABLE FmsMaterial
- (
- SiteId int NOT NULL, -- 현장 고유번호
- BusinessFieldId int NOT NULL, -- 업무분야 고유번호
- MaterialId int identity(1,1) NOT NULL, -- 자재 고유번호
- MaterialCode nvarchar(48) NOT NULL, -- 자재 코드
- Name nvarchar(48) NOT NULL, -- 자재 명칭
-
- FirstClassId int null, -- 자재 대분류
- SecondClassId int null, -- 자재 중분류
- ThirdClassId int null, -- 자재 소분류
- LocationId int null, -- 자재위치 고유번호
- MaterialTypeId smallint null, -- 자재 구분
- TradeCompanyId int NULL, -- 거래처 고유번호
- WarehouseId int NULL, -- 보관창고 고유번호
- Rfid nvarchar(52) null, -- RFID
- Unit nvarchar(12) null, -- 자재단위
- DurableYears smallint null, -- 내용연수
- ReasonableStockCount smallint null, -- 적정재고 (물량)
- Manufacturer nvarchar(40) null, -- 제조사 명칭
- [Standard] nvarchar(20) null, -- 자재규격
-
- FinalPrice int null, -- 최종가격
- ImageFileId int null, -- 자재사진
- Note nvarchar(512) null, -- 비고
- IsDiscontinued bit null, -- 단종여부
- IsUse bit NOT NULL, -- 사용여부
- PRIMARY KEY (SiteId ASC, BusinessFieldId ASC, MaterialId ASC)
- );
- -- FK
- ALTER TABLE FmsMaterialCodeClass
- ADD CONSTRAINT FK__FmsMaterialCodeClass__CmSite
- FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId)
- ;
- ALTER TABLE FmsMaterialCodeClass
- ADD CONSTRAINT FK__FmsMaterialCodeClass__FmsMaterialCodeClass
- FOREIGN KEY (SiteId , ParentMaterialClassId) REFERENCES FmsMaterialCodeClass(SiteId , MaterialClassId)
- ;
- ALTER TABLE FmsMaterialTradeCompany
- ADD CONSTRAINT FK__FmsMaterialTradeCompany__CmSite
- FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId)
- ;
- ALTER TABLE FmsMaterialCodeType
- ADD CONSTRAINT FK__FmsMaterialCodeType__CmSite
- FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId)
- ;
- ALTER TABLE FmsMaterialCodePurchaseType
- ADD CONSTRAINT FK__FmsMaterialCodePurchaseType__CmSite
- FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId)
- ;
- -- 위치
- ALTER TABLE FmsMaterialCodeLocation
- ADD CONSTRAINT FK__FmsMaterialCodeLocation__CmSite
- FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId)
- ;
- ALTER TABLE FmsMaterialCodeLocation
- ADD CONSTRAINT FK__FmsMaterialCodeLocation__CmBusinessField
- FOREIGN KEY (SiteId, BusinessFieldId) REFERENCES CmBusinessField(SiteId, BusinessFieldId)
- ;
- -- 창고
- ALTER TABLE FmsMaterialWarehouse
- ADD CONSTRAINT FK__FmsMaterialWarehouse__CmSite
- FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId)
- ;
- ALTER TABLE FmsMaterialWarehouse
- ADD CONSTRAINT FK__FmsMaterialWarehouse__CmBusinessField
- FOREIGN KEY (SiteId, BusinessFieldId) REFERENCES CmBusinessField(SiteId, BusinessFieldId)
- ;
- -- 자재
- ALTER TABLE FmsMaterial
- ADD CONSTRAINT FK__FmsMaterial__CmSite
- FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId)
- ;
- ALTER TABLE FmsMaterial
- ADD CONSTRAINT FK__FmsMaterial__CmBusinessField
- FOREIGN KEY (SiteId, BusinessFieldId) REFERENCES CmBusinessField(SiteId, BusinessFieldId)
- ;
- ALTER TABLE FmsMaterial
- ADD CONSTRAINT FK__FmsMaterial__FmsMaterialCodeClass_AsFirstClassId
- FOREIGN KEY (SiteId, FirstClassId) REFERENCES FmsMaterialCodeClass(SiteId, MaterialClassId)
- ;
- ALTER TABLE FmsMaterial
- ADD CONSTRAINT FK__FmsMaterial__FmsMaterialCodeClass_AsSecondClassId
- FOREIGN KEY (SiteId, SecondClassId) REFERENCES FmsMaterialCodeClass(SiteId, MaterialClassId)
- ;
- ALTER TABLE FmsMaterial
- ADD CONSTRAINT FK__FmsMaterial__FmsMaterialCodeClass_AsThirdClassId
- FOREIGN KEY (SiteId, ThirdClassId) REFERENCES FmsMaterialCodeClass(SiteId, MaterialClassId)
- ;
- ALTER TABLE FmsMaterial
- ADD CONSTRAINT FK__FmsMaterial__FmsMaterialWarehouse
- FOREIGN KEY (SiteId, BusinessFieldId, WarehouseId) REFERENCES FmsMaterialWarehouse(SiteId, BusinessFieldId, WarehouseId)
- ;
- ALTER TABLE FmsMaterial
- ADD CONSTRAINT FK__FmsMaterial__FmsMaterialTradeCompany
- FOREIGN KEY (SiteId, TradeCompanyId) REFERENCES FmsMaterialTradeCompany(SiteId, TradeCompanyId)
- ;
- ALTER TABLE FmsMaterial
- ADD CONSTRAINT FK__FmsMaterial__FmsMaterialCodeLocation
- FOREIGN KEY (SiteId, LocationId) REFERENCES FmsMaterialCodeLocation(SiteId, LocationId)
- ;
- ALTER TABLE FmsMaterial
- ADD CONSTRAINT FK__FmsMaterial__FmsMaterialCodeType
- FOREIGN KEY (SiteId, MaterialTypeId) REFERENCES FmsMaterialCodeType(SiteId, MaterialTypeId)
- ;
- ALTER TABLE FmsMaterial
- ADD CONSTRAINT FK__FmsMaterial__CmFile
- FOREIGN KEY (SiteId, ImageFileId) REFERENCES CmFile(SiteId, FileId)
- ;
|