Opened 3 months ago

Closed 3 months ago

#1254 closed улучшение (fixed)

Необходимо создать процедуру в MYSQL для работы и-са Несоответствия в ревизии 340

Reported by: Denis_N Owned by: Denis_N
Priority: minor Component: БД изделий АДС
Keywords: Cc: san

Description (last modified by Denis_N)

DELIMITER $$

CREATE PROCEDURE `mismatchQueryOnlyMismatch` (`min` INT, `max` INT, `searchName` VARCHAR(100), `searchSerial` VARCHAR(100), `searchComment` VARCHAR(10000))
BEGIN
set @prevtotal := 0;
set @mintotal := 0;
select * from (select *, @mintotal as mintotal, @prevtotal := @mintotal - total as prevtotal from
(select products.serial, history.uid, history.date, hist1.total from history inner join
(select uid, count(uid) as total from history where ((`history`.type_write = 'mismatch' and (`history`.`status` is null or `history`.`status` = 'fail'))
    or (`history`.type_write = 'mismatch' and `history`.`status` = 'ok' and `history`.bond is null)) and comment is not null and  comment != '' group by uid) as hist1 on history.uid = hist1.uid
inner join products on products.uid = history.uid where (products.name like searchName
and products.serial like searchSerial and history.comment like searchComment) and (history.uid, history.date) in
(select uid, max(date) from history where ((`history`.type_write = 'mismatch' and (`history`.`status` is null or `history`.`status` = 'fail'))
    or (`history`.type_write = 'mismatch' and `history`.`status` = 'ok' and `history`.bond is null)) and history.comment like searchComment and comment is not null and comment != '' group by uid )
group by products.serial, history.uid, history.date, hist1.total order by history.date desc) as hist2
where (@mintotal := @minTotal + total)) as hust2 where hust2.mintotal > min and hust2.prevtotal < max;
END$$

DELIMITER ;

Необходимо изменить adcproducts_tables.sql
Также этот тикет связан с тикетом: https://trac.adc-line.ru/mc-04/ticket/1255#ticket.

Change History (3)

comment:1 by Denis_N, 3 months ago

Description: modified (diff)

comment:2 by Denis_N, 3 months ago

Description: modified (diff)

comment:3 by san, 3 months ago

Resolution: fixed
Status: newclosed

In 341/base:

Изменения в структуре БД:
Изменена процедура mismatchQuery.
Добавлена новая процедура mismatchQueryOnlyMismatch.
Удалена неиспользуемая ныне процедура mismatchQueryWithoutOtkAndRecordRows.
Closes: #1254, #1255

Note: See TracTickets for help on using tickets.