📄 deptfun.pas
字号:
unit deptfun;
interface
uses SysUtils,Classes,adodb;
//-------------基本功能
function create_dept(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function copy_dept(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function delete_dept(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function modify_dept(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function create_work(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function delete_work(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
function modify_work(params:WideString;out outstr:string;adoconn:TADOConnection):boolean;
procedure Query_deptinfo(params:WideString;out querys:tadoquery);
function check_authority_dept(funid,authority:string):boolean;
implementation
uses shareunit;
// 部门工种管理 6-10
function check_authority_dept(funid,authority:string):boolean;
begin
case strtointdef(funid,public_unkonw) of
public_unkonw: result:=true;
public_add: result:=authority[6]='1';
public_modify: result:=authority[7]='1';
public_del: result:=authority[8]='1';
public_copy: result:=authority[9]='1';
public_add_temp: result:=authority[6]='1';
public_clear_temp: result:=authority[7]='1';
public_del_temp: result:=authority[8]='1';
else result:=true;
end;
end;
//-------------基本功能
function create_dept(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 dept_list where dept=:ax');
querys.Parameters.ParamByName('ax').value:=getparamitem(params,'tuid');
querys.Open;
if querys['tmp']=0 then
try
adoconn.Connected:=true;
adoconn.BeginTrans;
querys.close;
querys.sql.clear;
querys.sql.add('insert into dept_list(dept)');
querys.sql.add('values(: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;
function modify_dept(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 dept_worktype where dept=:ax');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tnewuid');
querys.open;
if querys['tmp']=0 then
try
adoconn.Connected:=true;
adoconn.BeginTrans;
querys.close;
querys.sql.clear;
querys.sql.add('update dept_list set dept=:ax where dept=:ar');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tnewuid');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tolduid');
querys.execsql;
querys.close;
querys.sql.clear;
querys.sql.add('update dept_worktype set dept=:ax where dept=:ar');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tnewuid');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tolduid');
querys.execsql;
querys.close;
querys.sql.clear;
querys.sql.add('update P_archives set dept=:ax where dept=:ar');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tnewuid');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tolduid');
querys.execsql;
adoconn.CommitTrans;
result:=true;
except
adoconn.RollbackTrans;
outstr:='部门修改时更新错误!';
end;
finally
querys.close;
freeandnil(querys);
end;
end;
function copy_dept(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 dept_list where dept=:ax');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tnewuid');
querys.open;
if querys['tmp']=0 then
try
adoconn.Connected:=true;
adoconn.BeginTrans;
querys.close;
querys.sql.clear;
querys.sql.add('insert into dept_list(dept)');
querys.sql.add('values(:ax)');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tnewuid');
querys.execsql;
querys.close;
querys.sql.clear;
querys.sql.add('insert into dept_worktype(dept,work_type)');
querys.sql.add('select :ax,work_type from dept_worktype where dept=:ar');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tnewuid');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tolduid');
querys.execsql;
adoconn.CommitTrans;
result:=true;
except
adoconn.RollbackTrans;
outstr:='部门复制时更新错误!';
end;
finally
querys.close;
freeandnil(querys);
end;
end;
function delete_dept(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 dept_list where dept=:ax');
querys.Parameters.ParamByName('ax').value:=getparamitem(params,'tuid');
querys.Open;
abc1:=querys['tmp']=1;
querys.Close;
querys.sql.clear;
querys.sql.add('select count(*)as tmp from P_archives where dept=:ax');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tuid');
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('delete from dept_worktype where dept=:ax');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tuid');
querys.execsql;
querys.close;
querys.sql.clear;
querys.sql.add('delete from dept_list where dept=: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;
function create_work(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 dept_worktype where dept=:ax and work_type=:ar');
querys.Parameters.parambyname('ax').value:=getparamitem(params,'tdept');
querys.Parameters.parambyname('ar').value:=getparamitem(params,'tuid');
querys.open;
if querys['tmp']=0 then
try
adoconn.Connected:=true;
adoconn.BeginTrans;
querys.close;
querys.sql.clear;
querys.sql.add('insert into dept_worktype(dept,work_type)');
querys.sql.add('values(:ax,:ar)');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tdept');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tuid');
querys.execsql;
adoconn.CommitTrans;
result:=true;
except
adoconn.RollbackTrans;
outstr:='工种建立时更新错误!';
end;
finally
querys.close;
freeandnil(querys);
end;
end;
function modify_work(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 dept_worktype where dept=:ax and work_type=:ar');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tdept');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tnewuid');
querys.open;
if querys['tmp']=0 then
try
adoconn.Connected:=true;
adoconn.BeginTrans;
querys.close;
querys.sql.clear;
querys.sql.add('update dept_worktype set work_type=:ai where dept=:ax and work_type=:ar');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tdept');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tolduid');
querys.parameters.parambyname('ai').value:=getparamitem(params,'tnewuid');
querys.execsql;
querys.close;
querys.sql.clear;
querys.sql.add('update P_archives set work_type=:ai where dept=:ax and work_type=:ar');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tdept');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tolduid');
querys.parameters.parambyname('ai').value:=getparamitem(params,'tnewuid');
querys.execsql;
adoconn.CommitTrans;
result:=true;
except
adoconn.RollbackTrans;
outstr:='工种修改时更新错误!';
end;
finally
querys.close;
freeandnil(querys);
end;
end;
function delete_work(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 dept_worktype where dept=:ax and work_type=:ar');
querys.Parameters.parambyname('ax').value:=getparamitem(params,'tdept');
querys.Parameters.parambyname('ar').value:=getparamitem(params,'tuid');
querys.open;
abc1:=querys['tmp']=1;
querys.close;
querys.sql.clear;
querys.sql.add('select count(*)as tmp from P_archives where dept=:ax and work_type=:ar');
querys.Parameters.parambyname('ax').value:=getparamitem(params,'tdept');
querys.Parameters.parambyname('ar').value:=getparamitem(params,'tuid');
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('delete from dept_worktype where dept=:ax and work_type=:ar');
querys.parameters.parambyname('ax').value:=getparamitem(params,'tdept');
querys.parameters.parambyname('ar').value:=getparamitem(params,'tuid');
querys.execsql;
adoconn.CommitTrans;
result:=true;
except
adoconn.RollbackTrans;
outstr:='工种删除时更新错误!';
end;
finally
querys.close;
freeandnil(querys);
end;
end;
procedure Query_deptinfo(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 dept from dept_list');
querys.open;
end;
public_infor:
begin
querys.Close;
querys.SQL.clear;
querys.SQL.Add('select * from dept_worktype where dept=: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 + -