⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cess.pas

📁 三層源碼,DELPHI寫的三層源碼,三層源碼,
💻 PAS
字号:
unit cess;

interface

uses SysUtils,Classes,adodb;



//-------------基本功能
function create_cess(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function modify_cess(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function delete_cess(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;

//-------------查询
procedure Query_cessinfo(params:WideString;out querys:tadoquery);
function check_authority_cess(funid,authority:string):boolean;


implementation
uses shareunit;

function check_authority_cess(funid,authority:string):boolean;
begin
case strtointdef(funid,public_unkonw) of
   public_unkonw:          result:=true;
   public_add:             result:=authority[66]='1';
   public_modify:          result:=authority[67]='1';
   public_del:             result:=authority[68]='1';

   public_infor:           result:=authority[70]='1';
   public_list:            result:=authority[70]='1';

   else result:=true;
   end;
end;


function create_cess(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
var querys:tadoquery;
    abc1,abc2:boolean;
begin
result:=false;
outstr:='记录已经存在!';
try
querys:=tadoquery.create(nil);
querys.Connection:=adoconn;

querys.Close;
querys.sql.clear;
querys.sql.add('select count(*)as tmp from cess where cmax>=:ar and cmin<=:ax');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tmin');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tmin');
querys.open;
abc1:=querys['tmp']=0;
if not abc1 then outstr:='给定的起始金额包含在现在的税率表中!';

querys.Close;
querys.sql.clear;
querys.sql.add('select count(*)as tmp from cess where cmax>=:ar and cmin<=:ax');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tmax');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tmax');
querys.open;
abc2:=querys['tmp']=0;
if not abc2 then outstr:='给定的上限金额包含在现有的税率表中!';

if abc1 and abc2 then
    try
    adoconn.Connected:=true;
    adoconn.BeginTrans;

    querys.close;
    querys.sql.clear;
    querys.sql.add('insert into cess(cmin,cmax,rate,deduct)');
    querys.sql.add('values(:a1,:a2,:a3,:a4)');
    querys.parameters.parambyname('a1').value:=getparamitem(params,'tmin');
    querys.parameters.parambyname('a2').value:=getparamitem(params,'tmax');
    querys.parameters.parambyname('a3').value:=getparamitem(params,'trate');
    querys.parameters.parambyname('a4').value:=getparamitem(params,'tdeduct');
    querys.execsql;

    adoconn.CommitTrans;
    result:=true;
    except
    adoconn.RollbackTrans;
    outstr:='新建税率表记录时更新错误!';
    end;

finally
querys.close;
freeandnil(querys);
end;
end;


function modify_cess(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
var querys:tadoquery;
begin
result:=false;
outstr:='记录不存在!';
try
querys:=tadoquery.create(nil);
querys.Connection:=adoconn;

querys.Close;
querys.sql.clear;
querys.sql.add('select count(*)as tmp from cess where cmin=:ax');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tuid');
querys.open;
if querys['tmp'] = 1 then
    try
    adoconn.Connected:=true;
    adoconn.BeginTrans;

    querys.close;
    querys.sql.clear;
    querys.sql.add('update cess set rate=:ar,deduct=:an where cmin=:ax');
    querys.parameters.parambyname('ax').value:=getparamitem(params,'tuid');
    querys.parameters.parambyname('ar').value:=getparamitem(params,'trate');
    querys.parameters.parambyname('an').value:=getparamitem(params,'tdeduct');
    querys.execsql;
    
    adoconn.CommitTrans;
    result:=true;
    except
    adoconn.RollbackTrans;
    outstr:='修改税率表记录时更新错误!';
    end;

finally
querys.close;
freeandnil(querys);
end;

end;


function delete_cess(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
var querys:tadoquery;
begin
result:=false;
outstr:='记录不存在!';
try
querys:=tadoquery.create(nil);
querys.Connection:=adoconn;

querys.Close;
querys.sql.clear;
querys.sql.add('select count(*)as tmp from cess where cmin=:ax');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tuid');
querys.open;
if querys['tmp'] = 1 then
    try
    adoconn.Connected:=true;
    adoconn.BeginTrans;

    querys.close;
    querys.sql.clear;
    querys.sql.add('delete from cess where cmin=:ax');
    querys.parameters.parambyname('ax').value:=getparamitem(params,'tuid');
    querys.execsql;
    
    adoconn.CommitTrans;
    result:=true;
    except
    adoconn.RollbackTrans;
    outstr:='删除税率表记录时更新错误!';
    end;

finally
querys.close;
freeandnil(querys);
end;
end;


procedure Query_cessinfo(params:WideString;out querys:tadoquery);
var funid:integer;
begin
funid:=strtointdef(getparamitem(params,'funid'),public_unkonw);
case funid of
 public_list:
    begin
    querys.close;
    querys.sql.clear;
    querys.sql.add('select * from cess');
    querys.open;
    end;

 public_infor:
    begin
    querys.close;
    querys.sql.clear;
    querys.sql.add('select * from cess where cmin=:ax');
    querys.parameters.parambyname('ax').value:=getparamitem(params,'tuid');
    querys.open;
    end;

 end; 
   
end;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -