| 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)
 
- ;
 
 
  |