CREATE FUNCTION func_getVoucherId /*生成憑證編號*/
(
f_str varchar(255)
)
returns varchar(255) charset utf8
begin
/*獲取最大憑證號*/
declare v_maxVoucherId varchar(255) default '';
/*獲取最大憑證號*/
declare v_flowMaxVoucherId varchar(255) default '';
/*新的憑證號*/
declare v_newVoucherId varchar(255) default '';
/*判斷是新增存盤還是入賬存盤*/
if ifnull(rtrim(f_str),'') = '' then
select max(voucher_code) into v_maxVoucherId from finance_voucher ;
if ifnull(rtrim(v_maxVoucherId),'')='' then
set v_newVoucherId = rpad(replace(cast(curdate() as char(255)),'-',''),11,0); /*生成憑證編號*/
else
set v_newVoucherId = convert((convert(v_maxVoucherId,signed)+1),char(255));
end if ;
elseif ifnull(rtrim(f_str),'') = 'r' then
select max(voucherInfo) into v_flowMaxVoucherId from province_voucher_account_flow ;
if ifnull(rtrim(v_flowMaxVoucherId),'')='' then
set v_newVoucherId = rpad(replace(cast(curdate() as char(255)),'-',''),12,0); /*生成憑證編號*/
else
set v_newVoucherId = convert((convert(v_flowMaxVoucherId,signed)+1),char(255));
end if ;
end if ;
return v_newVoucherId ;
end ;
我目前做的項目也涉及到了這個生成規則,我用MYSQL數據庫函數寫了壹個,妳看下吧,希望能幫到妳