FHM09062601IBL - fix fn_numbering_klinik reference one.m_branch to one_lab.m_branch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
-- Fix fn_numbering_klinik: change one.m_branch reference to one_lab.m_branch
|
||||
-- Caused "Table 'one.m_branch' doesn't exist" error on INSERT into one_klinik.order
|
||||
|
||||
DROP FUNCTION IF EXISTS `fn_numbering_klinik`;
|
||||
DELIMITER $$
|
||||
CREATE DEFINER=`root`@`localhost` FUNCTION `fn_numbering_klinik`(`type` char(30)) RETURNS varchar(25) CHARSET utf8mb4 COLLATE utf8mb4_general_ci
|
||||
READS SQL DATA
|
||||
begin declare number varchar(50);
|
||||
declare prefix varchar(50);
|
||||
declare prefix_date varchar(50);
|
||||
declare sufix varchar(50);
|
||||
declare counter int;
|
||||
declare dgt int;
|
||||
declare rst varchar(5);
|
||||
declare udt datetime;
|
||||
|
||||
|
||||
select S_NumberingPrefix, S_NumberingPrefixDate, S_NumberingSufix, S_NumberingCounter, S_NumberingDigit, S_NumberingReset,
|
||||
S_NumberingLastUpdated
|
||||
into prefix, prefix_date, sufix, counter, dgt, rst, udt
|
||||
from s_numbering where S_NumberingType = type for update;
|
||||
|
||||
if rst = 'D' then
|
||||
if date_format(udt, '%Y-%m-%d') <> date_format(now(), '%Y-%m-%d') then
|
||||
set counter = 1;
|
||||
end if;
|
||||
elseif rst = 'M' then
|
||||
if date_format(udt, '%Y-%m') <> date_format(now(), '%Y-%m') then
|
||||
set counter = 1;
|
||||
end if;
|
||||
elseif rst = 'Y' then
|
||||
if date_format(udt, '%Y') <> date_format(now(), '%Y') then
|
||||
set counter = 1;
|
||||
end if;
|
||||
end if;
|
||||
|
||||
set number = '';
|
||||
if prefix is not null and prefix <> '' then
|
||||
set number = trim(prefix);
|
||||
end if;
|
||||
if prefix_date is not null and prefix_date <> '' then
|
||||
set number = concat(trim(number),date_format(now(),prefix_date));
|
||||
|
||||
if type = 'P' then
|
||||
set number = concat( prefix,fn_numbering_year(now()));
|
||||
end if;
|
||||
|
||||
|
||||
|
||||
if type = 'L' then
|
||||
set number = fn_get_prefix_nolab( now() );
|
||||
end if;
|
||||
/*if type = 'PAY' then
|
||||
set number = concat( trim(prefix),fn_numbering_year(now()), fn_numbering_month(now()) );
|
||||
end if;*/
|
||||
end if;
|
||||
|
||||
if rst = 'X' then
|
||||
set number = counter;
|
||||
else
|
||||
if type='PAY' then
|
||||
/*set @s_counter = lpad(counter,dgt,'0');
|
||||
set @xternal = (
|
||||
select numberMapTarget
|
||||
from number_map
|
||||
where
|
||||
numberMapOrigin = @s_counter
|
||||
limit 0,1
|
||||
);
|
||||
set number = concat(trim(number), trim(@xternal) );*/
|
||||
set number = concat(trim(number), lpad(counter,dgt,'0'));
|
||||
else
|
||||
set number = concat(trim(number), lpad(counter,dgt,'0'));
|
||||
end if;
|
||||
end if;
|
||||
if sufix is not null and sufix <> '' then
|
||||
set number = concat(trim(number),trim(sufix));
|
||||
end if;
|
||||
|
||||
|
||||
|
||||
if type = 'K' then
|
||||
set @branch_code = (select M_BranchCode from one_lab.m_branch where M_BranchIsActive = 'Y'
|
||||
and M_BranchIsDefault = 'Y' limit 0,1 );
|
||||
set number = concat(number,@branch_code);
|
||||
end if;
|
||||
update s_numbering set S_NumberingCounter = counter + 1, S_NumberingLastUpdated = NOW() where S_NumberingType=type;
|
||||
return trim(number);
|
||||
|
||||
|
||||
END$$
|
||||
DELIMITER ;
|
||||
Reference in New Issue
Block a user