--------------------------------------------------- -- 기초 계획 작업 관련 기초 코드 --------------------------------------------------- -- 법정검사기관 -- CREATE TABLE FacoCoperation CREATE TABLE FmsWorkCodeLegalInspectionAgency ( SiteId int NOT NULL , -- 현장 고유번호 InspectionAgencyId int identity(1,1) NOT NULL , -- 법정검사기관 고유번호 Name nvarchar(24) NOT NULL , -- 법정검사기관 이름 IsUse bit NULL , -- 사용 유무 PRIMARY KEY (SiteId ASC , InspectionAgencyId ASC) ); DBCC CHECKIDENT( FmsWorkCodeLegalInspectionAgency, RESEED, 1 ) -- 휴일작업 유형 -- CREATE TABLE FacoHoliday CREATE TABLE FmsWorkCodeHolidayWorkType ( SiteId int NOT NULL , -- 현장 고유번호 HolidayWorkTypeId int NOT NULL , -- 휴일 작업 유형 고유번호 (근무, 익일, 등) Name nvarchar(50) NULL , -- 휴일 작업 유형 명칭 IsUse bit NULL , -- 사용 유무 PRIMARY KEY (SiteId ASC , HolidayWorkTypeId ASC) ); INSERT INTO FmsWorkCodeHolidayWorkType VALUES(1, 0, '사용 안 함', 1); INSERT INTO FmsWorkCodeHolidayWorkType VALUES(1, 1, '휴일작업', 1); INSERT INTO FmsWorkCodeHolidayWorkType VALUES(1, 2, '익일작업', 1); -- 주기 단위 코드 --CREATE TABLE FmsFacoUnit CREATE TABLE FmsWorkCodeCycleUnit ( SiteId int NOT NULL , -- 현장 고유번호 CycleUnitId int NOT NULL , -- 주기 단위 고유번호 Name nvarchar(24) NOT NULL , -- 주기 단위명 [Description] nvarchar(200) NULL , -- 설명 PRIMARY KEY (SiteId ASC , CycleUnitId ASC) ); --------------------------------------------------- -- 점검계획관리 (기초계획) --------------------------------------------------- -- facility_schedule_schedule_FascSchedule -- 점검계획관리 -- 시설 관리/점검계획/점검계획관리 --CREATE TABLE FascSchedule -- 기초계획으로 변경, WorkTypeId에 따라 점검계획과 법정검사로 구분 CREATE TABLE FmsWorkSchedule ( SiteId int NOT NULL , -- 현장 고유번호 WorkScheduleId int identity(1,1) NOT NULL , -- 기초계획 고유번호 WorkTypeId int NOT NULL , -- 작업유형 (1: 점검그룹, 2: 법정검사그룹, 3: 민원) BusinessFieldId int NOT NULL , -- 업무유형 고유번호 Name nvarchar(100) NOT NULL , -- 실행계획 이름 CycleSize int NOT NULL , -- 설비스케쥴 주기 크기 (1시, 1일, 1월) CycleUnitId int NOT NULL , -- 주기단위 고유번호 (시, 일, 월) HolidayWorkTypeId int NOT NULL , -- 휴일 작업 유형 고유번호 InspectionAgencyId int NULL , -- 법정검사기관 고유번호(법정검사인 경우만 사용) WorkDueDate datetime NOT NULL , -- 차기작업예정일(작업확인시 계산하여 수정됨) UpdateUserId nvarchar(24) NOT NULL , -- 최근 수정한 사람(작업요청자, 작업지시자로 설정됨) IsUse bit NOT NULL , -- 사용 유무 IsAutoOrder bit NOT NULL , -- 자동 지시 PRIMARY KEY (SiteId ASC , WorkScheduleId ASC) ); DBCC CHECKIDENT( FmsWorkSchedule, RESEED, 1 ) CREATE TABLE FmsWorkScheduleToFacility ( SiteId int NOT NULL , -- 현장 고유번호 WorkScheduleId int NOT NULL , -- 기초계획 고유번호 FacilityCode int NOT NULL , -- 설비코드 PRIMARY KEY (SiteId ASC , WorkScheduleId ASC , FacilityCode ASC) ); --------------------------------------------------- -- 기초코드관리 FK --------------------------------------------------- ALTER TABLE FmsWorkCodeLegalInspectionAgency ADD CONSTRAINT FK__FmsWorkCodeLegalInspectionAgency__CmSite FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId) ; ALTER TABLE FmsWorkCodeHolidayWorkType ADD CONSTRAINT FK__FmsWorkCodeHolidayWorkType__CmSite FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId) ; ALTER TABLE FmsWorkCodeCycleUnit ADD CONSTRAINT FK__FmsWorkCodeCycleUnit__CmSite FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId) ; -- 시설 점검 항목 주기 FK ALTER TABLE FmsFacilityCheckItem ADD CONSTRAINT FK__FmsFacilityCheckItem__FmsWorkCodeCycleUnit FOREIGN KEY (SiteId , CycleUnitId) REFERENCES FmsWorkCodeCycleUnit(SiteId , CycleUnitId) ; --------------------------------------------------- -- 점검계획관리(기초계획) FK --------------------------------------------------- --ALTER TABLE FmsWorkSchedule -- ADD CONSTRAINT FK__FmsWorkSchedule__FmsWorkCodeCycleType -- FOREIGN KEY (SiteId , CycleTypeId) REFERENCES FmsWorkCodeCycleType(SiteId , CycleTypeId) --; ALTER TABLE FmsWorkSchedule ADD CONSTRAINT FK__FmsWorkSchedule__FmsWorkCodeCycleUnit FOREIGN KEY (SiteId , CycleUnitId) REFERENCES FmsWorkCodeCycleUnit(SiteId , CycleUnitId) ; ALTER TABLE FmsWorkSchedule ADD CONSTRAINT FK__FmsWorkSchedule__FmsWorkCodeHolidayWorkType FOREIGN KEY (SiteId , HolidayWorkTypeId) REFERENCES FmsWorkCodeHolidayWorkType(SiteId , HolidayWorkTypeId) ; ALTER TABLE FmsWorkSchedule ADD CONSTRAINT FK__FmsWorkSchedule__CmBusinessField FOREIGN KEY (SiteId , BusinessFieldId) REFERENCES CmBusinessField(SiteId , BusinessFieldId) ; ALTER TABLE FmsWorkSchedule ADD CONSTRAINT FK__FmsWorkSchedule__CmUser FOREIGN KEY (SiteId , UpdateUserId) REFERENCES CmUser(SiteId , UserId) ; ALTER TABLE FmsWorkSchedule ADD CONSTRAINT FK__FmsWorkSchedule__FmsWorkCodeLegalInspectionAgency FOREIGN KEY (SiteId , InspectionAgencyId) REFERENCES FmsWorkCodeLegalInspectionAgency(SiteId , InspectionAgencyId) ; ALTER TABLE FmsWorkScheduleToFacility ADD CONSTRAINT FK__FmsWorkScheduleToFacility__FmsWorkSchedule FOREIGN KEY (SiteId , WorkScheduleId) REFERENCES FmsWorkSchedule(SiteId , WorkScheduleId) ; ALTER TABLE FmsWorkScheduleToFacility ADD CONSTRAINT FK__FmsWorkScheduleToFacility__CmFacility FOREIGN KEY (SiteId , FacilityCode) REFERENCES CmFacility(SiteId , FacilityCode) ; -- 제거됨 -- 시설관리/기초 코드 관리/자동 지시 구분 코드 --CREATE TABLE FacoOrder --CREATE TABLE FmsFacilityCodeOrder --( -- SiteId int NOT NULL , -- 현장 고유번호 -- OrderId int NOT NULL , -- 작업지시 고유번호 -- Name nvarchar(50) NOT NULL , -- 작업지시명 -- IsUse bit NULL , -- 사용 유무 -- SortOrderNo int NULL , -- 정렬 번호 -- InsertedDate datetime NULL , -- 데이터 생성일 -- InsertedUserId nvarchar(24) NULL , -- 데이터 생성자 고유번호 -- UpdatedDate datetime NULL , -- 데이터 변경일 -- UpdatedUserId nvarchar(24) NULL , -- 데이터 변경자 고유번호 -- PRIMARY KEY (SiteId ASC , OrderId ASC) --); ---- 시설 관리/기초 코드 관리/주기 구분 코드 무조건 정기으로 설정되기 때문에 제거됨 ----CREATE TABLE FacoKind --CREATE TABLE FmsWorkCodeCycleType --( -- SiteId int NOT NULL , -- 현장 고유번호 -- CycleTypeId int NOT NULL , -- 주기유형 고유번호 -- Name nvarchar(50) NOT NULL , -- 주기명 -- IsUse bit NULL , -- 사용 유무 -- PRIMARY KEY (SiteId ASC , CycleTypeId ASC) --); --ALTER TABLE FmsWorkCodeCycleType -- ADD CONSTRAINT FK__FmsWorkCodeCycleType__CmSite -- FOREIGN KEY (SiteId) REFERENCES CmSite(SiteId) --;