📄 realtyf42a.pas
字号:
// 4 新增
if f_RealtyF42.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 投诉单(单号,房间,客户,投诉类别,投诉方式,投诉时间,接待人,投诉内容,';
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(Edit1.Text);
query.Parameters.ParamByName('s2').Value:=trim(s1);
query.Parameters.ParamByName('s3').Value:=trim(Edit3.Text);
query.Parameters.ParamByName('s4').Value:=trim(Edit4.Text);
query.Parameters.ParamByName('s5').Value:=trim(Edit5.Text);
query.Parameters.ParamByName('s6').Value:=datetostr(Edit6.date);
query.Parameters.ParamByName('s7').Value:=trim(Edit7.Text);
query.Parameters.ParamByName('s8').Value:=trim(Edit8.Text);
query.Parameters.ParamByName('s9').Value:=trim(Edit9.Text);
query.Parameters.ParamByName('s10').Value:=trim(Edit10.Text);
query.Parameters.ParamByName('s11').Value:=trim(Edit11.Text);
query.Parameters.ParamByName('s12').Value:='N';
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
query1.SQL.Clear;
query1.SQL.Add('select * from 房间 where 编号 ='''+query.fieldbyname('房间').Value+'''') ;
query1.Open;
if query1.RecordCount>0 then
begin
with f_RealtyF42.listview1.Items.Add do
begin
caption:=mainform.getName('管理区',query1.fieldbyname('管理区').Value);
subitems.Add(mainform.getName('楼宇',query1.fieldbyname('楼宇').Value));
subitems.Add(query1.fieldbyname('名称').Value);
subitems.Add(query.fieldbyname('单号').Value);
subitems.Add(query.fieldbyname('客户').Value);
query3.SQL.Clear;
query3.SQL.Add('select * from 客户资料 where 客户名称='''+query.fieldbyname('客户').Value+'''');
query3.Open;
if query3.RecordCount>0 then
begin
subitems.Add(query3.fieldbyname('电话').Value);
end
else
begin
subitems.Add('');
end;
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);
query2.SQL.Clear;
query2.SQL.Add('select * from 投诉处理 where 单号='''+query.fieldbyname('单号').Value+'''');
query2.Open;
if query2.RecordCount>0 then
begin
subitems.Add(query2.fieldbyname('是否已解决').Value);
end
else
begin
subitems.Add('N');
end;
subitems.Add(query.fieldbyname('审核').Value);
end;
end;
query.Next;
end;
query2.Close;
query2.Free;
query3.Close;
query3.Free;
query1.Close;
query1.Free;
query.Close;
query.Free;
// 四 清空字段、设置自动编号并移动光标到第一个录入字段的输入框中
getId;
edit2.Text:='';
edit3.Text:='';
edit4.ItemIndex:=edit4.Items.IndexOf('');
edit5.ItemIndex:=edit5.Items.IndexOf('');
edit6.date:=date;
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';
listview1.Items.Clear;
edit11.Text:='';
Edit1.SetFocus;
end;
// 5 修改
if f_RealtyF42.bnew=false then
begin
// 一更新主表
s:='update 投诉单 set 单号='''+edit1.text;
s:=s+''',房间='''+s1;
s:=s+''',客户='''+edit3.Text;
s:=s+''',投诉类别='''+edit4.Text;
s:=s+''',投诉方式='''+edit5.Text;
s:=s+''',投诉时间='''+datetostr(edit6.date);
s:=s+''',接待人='''+edit7.Text;
s:=s+''',投诉内容='''+edit8.Text;
s:=s+''',备注='''+edit9.Text;
s:=s+''',操作员='''+edit10.Text;
s:=s+''',修订='''+edit11.Text;
s:=s+''' where 单号='''+f_RealtyF42.ListView1.Selected.subitems[2]+'''';
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_RealtyF42.listview1.Selected.subitems[2]+'''';
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;
if query.recordcount>0 then
begin
query1.SQL.Clear;
query1.SQL.Add('select * from 房间 where 编号 ='''+query.fieldbyname('房间').Value+'''') ;
query1.Open;
if query1.RecordCount>0 then
begin
with f_RealtyF42.listview1.selected do
begin
query3.SQL.Clear;
query3.SQL.Add('select * from 管理区 where 编号='''+query1.fieldbyname('管理区').Value+'''');
query3.Open;
if query3.RecordCount>0 then s1:=query3.fieldbyname('名称').Value;
query3.SQL.Clear;
query3.SQL.Add('select * from 楼宇 where 编号='''+query1.fieldbyname('楼宇').Value+'''');
query3.Open;
if query3.RecordCount>0 then s2:=query3.fieldbyname('名称').Value;
s3:=mainform.getName('房间',query.fieldbyname('房间').Value);
caption:=s1;
subitems[0]:=s2;
subitems[1]:=s3;
subitems[2]:=query.fieldbyname('单号').Value;
subitems[3]:=query.fieldbyname('客户').Value;
query3.SQL.Clear;
query3.SQL.Add('select * from 客户资料 where 客户名称='''+query.fieldbyname('客户').Value+'''');
query3.Open;
if query3.RecordCount>0 then
begin
subitems[4]:=query3.fieldbyname('电话').Value;
end
else
begin
subitems[4]:='';
end;
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;
query2.SQL.Clear;
query2.SQL.Add('select * from 投诉处理 where 单号='''+query.fieldbyname('单号').Value+'''');
query2.Open;
if query2.RecordCount>0 then
begin
subitems[10]:=query2.fieldbyname('是否已解决').Value;
end;
subitems[11]:=query.fieldbyname('审核').Value;
end;
end;
end;
query2.Close;
query2.Free;
query3.Close;
query3.Free;
query1.Close;
query1.Free;
query.Close;
query.Free;
// 四 关闭窗口
close;
end;
end;
procedure Tf_RealtyF42A.Button5Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyF42A.edit4Select(Sender: TObject);
begin
if edit4.Text='新增投诉类别' then
begin
mainform.t1:='投诉类别';
f_Car4s931:=Tf_Car4s931.Create(self);
f_Car4s931.showmodal;
if f_Car4s931.bOK=true then
begin
edit4.Items.Add(mainform.t1);
edit4.ItemIndex:=edit4.Items.IndexOf(mainform.t1);
end
else edit4.ItemIndex:=edit4.Items.IndexOf('');
end;
end;
procedure Tf_RealtyF42A.edit5Select(Sender: TObject);
begin
if edit5.Text='新增投诉方式' then
begin
mainform.t1:='投诉方式';
f_Car4s931:=Tf_Car4s931.Create(self);
f_Car4s931.showmodal;
if f_Car4s931.bOK=true then
begin
edit5.Items.Add(mainform.t1);
edit5.ItemIndex:=edit5.Items.IndexOf(mainform.t1);
end
else edit5.ItemIndex:=edit5.Items.IndexOf('');
end;
end;
procedure Tf_RealtyF42A.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -