📄 realtyg21a.pas
字号:
// 4 新增
if f_RealtyG21.bnew=true then
begin
// 一关键字段是否重复
query.SQL.Clear;
query.SQL.Add('select * from 保安排班 where 单号='''+edit1.Text+'''');
query.Open;
if query.RecordCount>0 then
begin
showmessage('单号重复');
edit1.SetFocus;
query.Close; //******************************必须
query.Free; //******************************必须
exit;
end;
// 二新增记录
//保存主表
s := 'insert into 保安排班(单号,负责人,日期,备注,操作员,修订,领导签名,组织机构,审核,审核时间,审核意见) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11)';
query.sql.Clear ;
query.sql.add(s);
query.Parameters.ParamByName('s1').Value:=trim(Edit1.Text);
query.Parameters.ParamByName('s2').Value:=trim(Edit2.Text);
query.Parameters.ParamByName('s3').Value:=datetostr(Edit3.date);
query.Parameters.ParamByName('s4').Value:=trim(Edit4.Text);
query.Parameters.ParamByName('s5').Value:=trim(Edit5.Text);
query.Parameters.ParamByName('s6').Value:=trim(Edit6.text);
query.Parameters.ParamByName('s7').Value:=trim(Edit7.Text);
query.Parameters.ParamByName('s8').Value:=ss;
query.Parameters.ParamByName('s9').Value:='N';
query.Parameters.ParamByName('s10').Value:='-';
query.Parameters.ParamByName('s11').Value:='-';
DataModuleADO.ADOConnection1.BeginTrans;
query.execsql;
DataModuleADO.ADOConnection1.CommitTrans;
//保存从表
for i:=0 to listview1.Items.Count-1 do
begin
if listview1.Items.Item[i].Caption='' then listview1.Items.Item[i].Caption:='-';
if listview1.Items.Item[i].SubItems[0]='' then listview1.Items.Item[i].SubItems[0]:='-';
if listview1.Items.Item[i].SubItems[1]='' then listview1.Items.Item[i].SubItems[1]:='-';
if listview1.Items.Item[i].SubItems[2]='' then listview1.Items.Item[i].SubItems[2]:='-';
if listview1.Items.Item[i].SubItems[3]='' then listview1.Items.Item[i].SubItems[3]:='-';
if listview1.Items.Item[i].SubItems[4]='' then listview1.Items.Item[i].SubItems[4]:='-';
if listview1.Items.Item[i].SubItems[5]='' then listview1.Items.Item[i].SubItems[5]:='-';
if listview1.Items.Item[i].SubItems[6]='' then listview1.Items.Item[i].SubItems[6]:='-';
if listview1.Items.Item[i].SubItems[7]='' then listview1.Items.Item[i].SubItems[7]:='-';
if listview1.Items.Item[i].SubItems[8]='' then listview1.Items.Item[i].SubItems[8]:='-';
if listview1.Items.Item[i].SubItems[9]='' then listview1.Items.Item[i].SubItems[9]:='-';
s:='insert into 保安排班明细 (岗亭,值班人员,工作内容,异常情况,处理结果,值班开始时间,值班结束时间,检查人,';
s:=s+'检查时间,检查情况,备注,单号) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12)';
query.SQL.Clear;
query.SQL.Add(s);
query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
query.Parameters.ParamByName('s2').Value:=trim(listview1.Items.Item[i].SubItems[0]);
query.Parameters.ParamByName('s3').Value:=trim(listview1.Items.Item[i].SubItems[1]);
query.Parameters.ParamByName('s4').Value:=trim(listview1.Items.Item[i].SubItems[2]);
query.Parameters.ParamByName('s5').Value:=trim(listview1.Items.Item[i].SubItems[3]);
query.Parameters.ParamByName('s6').Value:=trim(listview1.Items.Item[i].SubItems[4]);
query.Parameters.ParamByName('s7').Value:=trim(listview1.Items.Item[i].SubItems[5]);
query.Parameters.ParamByName('s8').Value:=trim(listview1.Items.Item[i].SubItems[6]);
query.Parameters.ParamByName('s9').Value:=trim(listview1.Items.Item[i].SubItems[7]);
query.Parameters.ParamByName('s10').Value:=trim(listview1.Items.Item[i].SubItems[8]);
query.Parameters.ParamByName('s11').Value:=trim(listview1.Items.Item[i].SubItems[9]);
query.Parameters.ParamByName('s12').Value:=trim(edit1.Text);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
showmessage('保存成功');
// 三 追加数据到父窗口listview中
query.SQL.clear;
query.SQL.Add('select * from 保安排班明细 where 单号 = '''+edit1.Text+'''');
query.Open;
while not query.Eof do
begin
s:='select * from 保安排班 where 单号='''+query.fieldbyname('单号').value+'''';
query1.sql.Clear;
query1.SQL.Add(s);
query1.Open;
if query1.RecordCount>0 then
begin
query2.SQL.Clear;
query2.SQL.Add('select * from 职员 where 名称='''+query1.fieldbyname('负责人').Value+'''');
query2.Open;
if query2.RecordCount>0 then
begin
r1:=query2.fieldbyname('岗位').Value;
r2:=query2.fieldbyname('职务').value;
end;
with f_RealtyG21.listview1.Items.add do
begin
caption:=query.fieldbyname('单号').Value;
subitems.Add(query1.fieldbyname('负责人').Value);
subitems.Add(query1.fieldbyname('领导签名').Value);
subitems.Add(r1);
subitems.Add(r2);
subitems.Add(query.fieldbyname('岗亭').Value);
subitems.Add(query.fieldbyname('值班人员').Value);
subitems.Add(query.fieldbyname('工作内容').Value);
subitems.Add(query.fieldbyname('值班开始时间').Value);
subitems.Add(query.fieldbyname('异常情况').Value);
subitems.Add(query.fieldbyname('处理结果').Value);
subitems.Add(query.fieldbyname('值班结束时间').Value);
subitems.Add(query.fieldbyname('检查人').Value);
subitems.Add(query.fieldbyname('检查情况').Value);
subitems.Add(query1.fieldbyname('审核').Value);
subitems.Add(query1.fieldbyname('审核时间').Value);
subitems.Add(query1.fieldbyname('审核意见').Value);
subitems.Add(mainform.getName('组织机构',query1.fieldbyname('组织机构').Value));
end;
end;
query.Next;
end;
query2.Close;
query2.Free;
query1.Close;
query1.Free;
query.Close;
query.Free;
// 四 清空字段、设置自动编号并移动光标到第一个录入字段的输入框中
getId;
edit2.Text:='';
edit3.date:=date;
edit4.Text:='';
edit5.Text:='';
edit6.text:='';
edit7.Text:='';
edit8.text:='';
listview1.Items.Clear;
end;
// 5 修改
if f_RealtyG21.bnew=false then
begin
// 一更新主表
s:='update 保安排班 set 单号='''+edit1.text;
s:=s+''',负责人='''+edit2.Text;
s:=s+''',日期='''+datetostr(edit3.date);
s:=s+''',备注='''+edit4.Text;
s:=s+''',操作员='''+edit5.Text;
s:=s+''',修订='''+edit6.Text;
s:=s+''',领导签名='''+edit7.Text;
s:=s+''',组织机构='''+ss;
s:=s+''' where 单号='''+f_RealtyG21.ListView1.Selected.caption+'''';
query.SQL.Clear;
query.SQL.Add(s);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
// 二删除从表再重新保存从表
DataModuleADO.ADOConnection1.BeginTrans;
query.sql.clear;
Query.SQL.Text:='delete from 保安排班明细 where 单号='''+f_RealtyG21.listview1.Selected.caption+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
for i:=0 to listview1.Items.Count-1 do
begin
if listview1.Items.Item[i].Caption='' then listview1.Items.Item[i].Caption:='-';
if listview1.Items.Item[i].SubItems[0]='' then listview1.Items.Item[i].SubItems[0]:='-';
if listview1.Items.Item[i].SubItems[1]='' then listview1.Items.Item[i].SubItems[1]:='-';
if listview1.Items.Item[i].SubItems[2]='' then listview1.Items.Item[i].SubItems[2]:='-';
if listview1.Items.Item[i].SubItems[3]='' then listview1.Items.Item[i].SubItems[3]:='-';
if listview1.Items.Item[i].SubItems[4]='' then listview1.Items.Item[i].SubItems[4]:='-';
if listview1.Items.Item[i].SubItems[5]='' then listview1.Items.Item[i].SubItems[5]:='-';
if listview1.Items.Item[i].SubItems[6]='' then listview1.Items.Item[i].SubItems[6]:='-';
if listview1.Items.Item[i].SubItems[7]='' then listview1.Items.Item[i].SubItems[7]:='-';
if listview1.Items.Item[i].SubItems[8]='' then listview1.Items.Item[i].SubItems[8]:='-';
if listview1.Items.Item[i].SubItems[9]='' then listview1.Items.Item[i].SubItems[9]:='-';
s:='insert into 保安排班明细 (岗亭,值班人员,工作内容,异常情况,处理结果,值班开始时间,值班结束时间,检查人,';
s:=s+'检查时间,检查情况,备注,单号) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12)';
query.SQL.Clear;
query.SQL.Add(s);
query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
query.Parameters.ParamByName('s2').Value:=trim(listview1.Items.Item[i].SubItems[0]);
query.Parameters.ParamByName('s3').Value:=trim(listview1.Items.Item[i].SubItems[1]);
query.Parameters.ParamByName('s4').Value:=trim(listview1.Items.Item[i].SubItems[2]);
query.Parameters.ParamByName('s5').Value:=trim(listview1.Items.Item[i].SubItems[3]);
query.Parameters.ParamByName('s6').Value:=trim(listview1.Items.Item[i].SubItems[4]);
query.Parameters.ParamByName('s7').Value:=trim(listview1.Items.Item[i].SubItems[5]);
query.Parameters.ParamByName('s8').Value:=trim(listview1.Items.Item[i].SubItems[6]);
query.Parameters.ParamByName('s9').Value:=trim(listview1.Items.Item[i].SubItems[7]);
query.Parameters.ParamByName('s10').Value:=trim(listview1.Items.Item[i].SubItems[8]);
query.Parameters.ParamByName('s11').Value:=trim(listview1.Items.Item[i].SubItems[9]);
query.Parameters.ParamByName('s12').Value:=trim(edit1.Text);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
// 三 更新父窗口listview中的当前行数据
query.SQL.clear;
query.SQL.Add('select * from 保安排班明细 where 单号 = '''+edit1.Text+'''');
query.Open;
while not query.Eof do
begin
s:='select * from 保安排班 where 单号='''+query.fieldbyname('单号').value+'''';
query1.sql.Clear;
query1.SQL.Add(s);
query1.Open;
if query1.RecordCount>0 then
begin
query2.SQL.Clear;
query2.SQL.Add('select * from 职员 where 名称='''+query1.fieldbyname('负责人').Value+'''');
query2.Open;
if query2.RecordCount>0 then
begin
r1:=query2.fieldbyname('岗位').Value;
r2:=query2.fieldbyname('职务').value;
end;
with f_RealtyG21.listview1.selected do
begin
caption:=query.fieldbyname('单号').Value;
subitems[0]:=query1.fieldbyname('负责人').Value;
subitems[1]:=query1.fieldbyname('领导签名').Value;
subitems[2]:=r1;
subitems[3]:=r2;
subitems[4]:=query.fieldbyname('岗亭').Value;
subitems[5]:=query.fieldbyname('值班人员').Value;
subitems[6]:=query.fieldbyname('工作内容').Value;
subitems[7]:=query.fieldbyname('值班开始时间').Value;
subitems[8]:=query.fieldbyname('异常情况').Value;
subitems[9]:=query.fieldbyname('处理结果').Value;
subitems[10]:=query.fieldbyname('值班结束时间').Value;
subitems[11]:=query.fieldbyname('检查人').Value;
subitems[12]:=query.fieldbyname('检查情况').Value;
subitems[13]:=query1.fieldbyname('审核').Value;
subitems[14]:=query1.fieldbyname('审核时间').Value;
subitems[15]:=query1.fieldbyname('审核意见').Value;
subitems[16]:=mainform.getName('组织机构',query1.fieldbyname('组织机构').Value);
end;
end;
query.Next;
end;
query2.Close;
query2.Free;
query1.Close;
query1.Free;
query.Close;
query.Free;
// 四 关闭窗口
close;
end;
end;
procedure Tf_RealtyG21A.Button5Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyG21A.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -