Скачиваний:
3
Добавлен:
29.03.2025
Размер:
302.94 Кб
Скачать

6. Подготовка примера спецификации изделия

/************Подготовка данных для примера*********************/

/***************************************************************/

/********* Добавление изделий **************/

/*0 - «Изделие без конфигуратора»

2 1 - «Типовое изделие с конфигуратором»

3 2 - «Вариант исполнения»

*/

select * from INS_PROD2(15,'','ЛИСТ 14-Б-ПН-ОСТ 3СП',0,0);

/*id = 54*/

select * from INS_PROD2(15,'','ЛИСТ 10-Б-ПН-ОСТ 3СП',0,0);

/*id = 55*/

/***************************************************************/

/************* Создание перечислений *********************/

select * from INS_ENUN('Кпр','КОЛ. ПРОУШИН') /*3*/

select * from INS_ENUN('Кр','КОЛ. РАСПОРОК') /*4*/

select * from INS_VAL_ENUM(3,'','',0); /*16*/

select * from INS_VAL_ENUM(3,'1','1',1); /*17*/

select * from INS_VAL_ENUM(3,'2','2',2); /*18*/

select * from INS_VAL_ENUM(4,'','',0); /*19*/

select * from INS_VAL_ENUM(4,'','',2); /*20*/

select * from INS_VAL_ENUM(4,'','',4); /*21*/

/***************** Создание параметров *************/

select * from INS_PARAMETR('К_ПРшт','КОЛ.ПРОУШИН ',9,2,3);/*19*/

select * from INS_PARAMETR('К_Ршт','КОЛ. РАСПОРОК',9,2,4); *20*/

/***************************************************************/

/********** Добавление параметров для типового изделия **/

insert into PAR_TYPE_PROD(ID_PROD,ID_PAR,MIN_VAL,MAX_VAL)

values(52,19,0,2);

insert into PAR_TYPE_PROD(ID_PROD,ID_PAR,MIN_VAL,MAX_VAL)

values(52,20,0,4);

/***************************************************************/

/********* Созданиепредикатов **********************/

/* NEW_PRED(pIdPar integer,pOper char(1),pVal integer)*/

/***

1. (Кпр=0 and Кр=0) or (Кпр=0 and Кр=2) or (Кпр=1 and Кр=0) дляматериала M3

2. (Кпр=1 and Кр=2) or (Кпр=2 and Кр=2) для материала M2

3. (Кпр=2 and Кр=4) для материала M1

4. (Кпр=1 and Кр=0) or (Кпр=1 and Кр=2) для строки с количеством проушин 1

5. (Кпр=2 and Кр=2) or (Кпр=1 and Кр=4) для строки с количеством проушин 2

6. Кр=2 для строки с количеством распорок 2

7. (Кпр=2 and Кр=4) для строки с количеством распорок 4

Недопустимые варианты задаются функцией:

(Кпр=0 and Кр=4) or (Кпр=1 and Кр=4) or ( Кпр=2 and Кр=0)

*/

select * from NEW_PRED(19,'=',16) /*1 Кпр=0 */

select * from NEW_PRED(20,'=',19) /*2 Кр=0 */

select * from NEW_PRED(20,'=',20) /*3 Кр=2 */

select * from NEW_PRED(19,'=',17) /*4 Кпр=1 */

select * from NEW_PRED(19,'=',18) /*5 Кпр=2 */

select * from NEW_PRED(20,'=',21) /*6 Кр=4 */

/***************************************************************/

/********* Созданиефункций **********************/

/* procedure NEW_F(pShName varchar(15),pName varchar(50))

returns(oIdF integer,oRes integer)

*/

select * from NEW_F('1','1') /*9*/

select * from NEW_F('2','2') /*10*/

select * from NEW_F('3','3') /*11*/

select * from NEW_F('4','4') /*12*/

select * from NEW_F('5','5') /*13*/

select * from NEW_F('6','6') /*14*/

select * from NEW_F('7','7') /*15*/

select * from NEW_F('ER','ER') /*16*/

/********* Созданиетелафункций **********************/

/* procedure ADD_PRED(pIdF integer,pNumD integer, pIdPred integer)

returns(oNumK integer,oRes integer)

*/

/*1. (Кпр=0 and Кр=0) or (Кпр=0 and Кр=2) or (Кпр=1 and Кр=0) дляматериала M3*/

select * from ADD_PRED(9,1,1);

select * from ADD_PRED(9,1,2);

select * from ADD_PRED(9,2,1);

select * from ADD_PRED(9,2,3);

select * from ADD_PRED(9,3,4);

select * from ADD_PRED(9,3,2);

/*2. (Кпр=1 and Кр=2) or (Кпр=2 and Кр=2) для материала M2*/

select * from ADD_PRED(10,1,4);

select * from ADD_PRED(10,1,3);

select * from ADD_PRED(10,2,5);

select * from ADD_PRED(10,2,2);

/*3. (Кпр=2 and Кр=4) для материала M1 */

select * from ADD_PRED(11,1,5);

select * from ADD_PRED(11,1,6);

/*4. (Кпр=1 and Кр=0) or (Кпр=1 and Кр=2) для строки с количеством проушин 1 */

select * from ADD_PRED(12,1,4);

select * from ADD_PRED(12,1,2);

select * from ADD_PRED(12,2,4);

select * from ADD_PRED(12,2,3);

/*5. (Кпр=2 and Кр=2) or (Кпр=1 and Кр=4) для строки с количеством проушин 2 */

select * from ADD_PRED(13,1,5);

select * from ADD_PRED(13,1,2);

select * from ADD_PRED(13,2,4);

select * from ADD_PRED(13,2,6);

/*6. Кр=2 для строки с количеством распорок 2 */

select * from ADD_PRED(14,1,3);

/*7. (Кпр=2 and Кр=4) для строки с количеством распорок 4 */

select * from ADD_PRED(15,1,5);

select * from ADD_PRED(15,1,6);

/*Недопустимые варианты задаются функцией:

(Кпр=0 and Кр=4) or (Кпр=1 and Кр=4) or ( Кпр=2 and Кр=0) */

select * from ADD_PRED(16,1,1);

select * from ADD_PRED(16,1,6);

select * from ADD_PRED(16,2,4);

select * from ADD_PRED(16,2,6);

select * from ADD_PRED(16,3,5);

select * from ADD_PRED(16,3,2);

/***************************************************************/

/********* Изменение спецификации **********************/

/*Выбираем типовое изделие 52 КП25.00.00.450 КОРПУС*/

select * from INS_POS(52,45, 2); /* количествопроушин 2*/

select * from INS_POS(52,35, 4); /* количествораспорок 4*/

select * from INS_POS(36,54, 0.004); /*заменаматериаластенок */

select * from INS_POS(36,55, 0.003);

select * from INS_POS(34,54, 0.012);

select * from INS_POS(36,55, 0.01);

/***************************************************************/

/**************** Создание нового варианта продукции *******/

/*Используем procedureNEW_VAR_PROD ( pTypeProdinteger)

returns (

OIDPROD integer,oName varchar(250), oShName varchar(50),

ORES integer)

ID_PROD SHORT_NAME NAME CONF ID_CL TYPE_PROD FLAG U PRICE

52 КП25.00.00.450 КОРПУС 1 24 0 */

select * from NEW_VAR_PROD ( 52) /*56*/

/* Новый вариант исполнения

ID_PROD SHORT_NAME NAME CONF ID_CL TYPE_PROD FLAG U PRICE

56 КП25.00.00.450 КОРПУС 2 24 52 */

/***************************************************************/

/*Заносим значения параметров конфигурации для варианта исполнения используя

WRITE_PAR3 (

PIDPROD integer,

PIDPAR integer,

pIdVal integer,

PVAL double precision)

*/

select * from WRITE_PAR3 (56,19,16,0); /*OK*/

select * from WRITE_PAR3 (56,20,19,0); /*OK*/

Соседние файлы в папке 4