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