📄 fwdjb.pas
字号:
SQL.Add('select Count(*) as fwlxsl from fwxxk where Trim(fw_mc)=:lsbl_fwmc');
ParamByName('lsbl_fwmc').AsString := selecttext1;
Prepare;
open;
if FieldByName('fwlxsl').AsInteger = 0 then
begin
Close;
MessageDlg('没有找到服务类型【' + selecttext1 + '】,请重新选择', mtWarning, [mbOk], 0);
fwlxEdit.SelectAll;
fwlxEdit.SetFocus;
Result := False;
Exit;
end;
Close;
end;
end;
if (copy(Verify_lx, 3, 1) = '1') then
begin
if fwryedit.Text <> '' then
begin
selecttext1 := Trim(fwryEdit.Text); //将服务人员姓名赋值全局临时变量selecttext1
with cxQuery do //下面进行服务人员的查询,如果没有找到则不能进行数据保存
begin
SQL.clear;
SQL.Add('select Count(*) as fwrysl from ygdasjk where Trim(yg_xm)=:lsbl_ygxm');
ParamByName('lsbl_ygxm').AsString := selecttext1;
Prepare;
open;
if FieldByName('fwrysl').AsInteger = 0 then
begin
Close;
MessageDlg('没有找到服务人员【' + selecttext1 + '】,请重新选择', mtWarning, [mbOk], 0);
fwryEdit.SelectAll;
fwryEdit.SetFocus;
Result := False;
Exit;
end;
Close;
end;
end;
end;
Result := True;
end;
function Tfrmfwdjb.Getkhxxfunction(khxxdata: string): Integer; //客户查询函数
var
lsbl_cxkhxx: string;
begin
lsbl_cxkhxx := '%' + khxxdata + '%';
with cxQuery do //下面进行客户名称的查询,如果没有找到则不能进行数据保存
begin
SQL.clear;
SQL.Add('select kh_bh,kh_mc from khxxk where kh_bh like :lsbl_cxnr');
SQL.Add('or kh_mc like :lsbl_cxnr');
SQL.Add('or kh_zjm like :lsbl_cxnr');
ParamByName('lsbl_cxnr').AsString := lsbl_cxkhxx;
Prepare;
open;
if RecordCount = 0 then //=0,即没有找到此客户
begin
MessageDlg('没有找到客户【' + khxxdata + '】', mtWarning, [mbOk], 0);
Close;
Result := 0;
Exit;
end;
if RecordCount = 1 then //=1,即找到了此客户
begin
selecttext1 := Trim(FieldByName('kh_bh').AsString);
selecttext2 := Trim(FieldByName('kh_mc').AsString);
Close;
Result := 1;
Exit;
end;
if RecordCount > 1 then //>1,即找到了客户,但不唯一需进行选择
begin
Close;
Result := 2;
Exit;
end;
end;
end;
procedure Tfrmfwdjb.SaveToolButtonClick(Sender: TObject);
var
lsbl_save: Boolean;
begin
lsbl_save := dataverify('111');
if lsbl_save = True then
begin
lsbl_save := datasave();
if lsbl_save = True then
begin
fwdjb_bjzt := ''; //将变量fwdjb_bjzt赋值为空状态
enabledstatus(False);
SaveToolButton.Enabled := False;
end;
end;
end;
function Tfrmfwdjb.datasave: Boolean; //数据保存函数
begin
try
frmfwdjbDataModule.fwdjbTable.ApplyUpdates;
Result := True;
except
Messagedlg('数据保存失败', mtWarning, [mbOk], 0);
Result := False;
end;
end;
procedure Tfrmfwdjb.khxzSpeedButtonClick(Sender: TObject);
begin
selecttext1 := '';
selecttext2 := '';
selecttext3 := '';
selecttext4 := '';
frmkhzlcx := Tfrmkhzlcx.Create(Self);
with frmkhzlcx do
begin
khzlcx_data := '';
ShowModal;
end;
if selecttext1 <> '' then
begin
frmfwdjbDataModule.fwdjbTable.FieldByName('fwdj_khbh').AsString := selecttext1;
khmcEdit.Text := selecttext2;
if selecttext3 <> '' then
gjrqEdit.Value := strtodate(selecttext3)
else
gjrqEdit.Text := '';
jqxhEdit.Text := selecttext4;
end;
end;
procedure Tfrmfwdjb.khmcEditExit(Sender: TObject);
var
lsbl_khzlcxdata: string;
begin
if khmcEdit.Text = '' then
begin
MessageDlg('客户名称不能为空', mtWarning, [mbOK], 0);
KhmcEdit.SetFocus;
Exit;
end;
case Getkhxxfunction(Trim(khmcEdit.Text)) of
0: lsbl_khzlcxdata := '';
1:
begin
frmfwdjbDataModule.fwdjbTable.FieldByName('fwdj_khbh').AsString := selecttext1;
khmcEdit.Text := selecttext2;
Exit;
end;
2: lsbl_khzlcxdata := Trim(khmcEdit.Text);
end;
selecttext1 := '';
selecttext2 := '';
selecttext3 := '';
selecttext4 := '';
frmkhzlcx := Tfrmkhzlcx.Create(Self);
with frmkhzlcx do
begin
khzlcx_data := lsbl_khzlcxdata;
ShowModal;
end;
if selecttext1 <> '' then
begin
frmfwdjbDataModule.fwdjbTable.FieldByName('fwdj_khbh').AsString := selecttext1;
khmcEdit.Text := selecttext2;
if selecttext3 <> '' then
gjrqEdit.Value := strtodate(selecttext3)
else
gjrqEdit.Text := '';
jqxhEdit.Text := selecttext4;
end
else
begin
KhmcEdit.SetFocus;
Exit;
end;
end;
procedure Tfrmfwdjb.fwryEditExit(Sender: TObject);
var
lsbl_fwrycxdata: string;
begin
if fwryEdit.Text <> '' then
begin
case Getfwryfunction(Trim(fwryEdit.Text)) of
0: lsbl_fwrycxdata := '';
1:
begin
frmfwdjbDataModule.fwdjbTable.FieldByName('fwdj_rybh').AsString := selecttext1;
fwryEdit.Text := selecttext2;
Exit;
end;
2: lsbl_fwrycxdata := Trim(fwryEdit.Text);
end;
selecttext1 := '';
selecttext2 := '';
frmygzlxz := Tfrmygzlxz.Create(Self);
with frmygzlxz do
begin
fwrycx_data := lsbl_fwrycxdata;
ShowModal;
end;
if selecttext1 <> '' then
begin
frmfwdjbDataModule.fwdjbTable.FieldByName('fwdj_rybh').AsString := selecttext1;
fwryEdit.Text := selecttext2;
end
else
begin
fwryEdit.SetFocus;
Exit;
end;
end;
end;
function Tfrmfwdjb.Getfwryfunction(fwrydata: string): Integer; //服务人员查询函数
var
lsbl_cxfwry: string;
begin
lsbl_cxfwry := '%' + fwrydata + '%';
with cxQuery do //下面进行服务人员的查询,如果没有找到则不能进行数据保存
begin
SQL.clear;
SQL.Add('select yg_bh,yg_xm from ygdasjk where yg_bh like :lsbl_cxnr');
SQL.Add('or yg_xm like :lsbl_cxnr');
SQL.Add('or yg_zjm like :lsbl_cxnr');
ParamByName('lsbl_cxnr').AsString := lsbl_cxfwry;
Prepare;
open;
if RecordCount = 0 then //=0,即没有找到此服务人员
begin
MessageDlg('没有找到服务人员【' + fwrydata + '】', mtWarning, [mbOk], 0);
Close;
Result := 0;
Exit;
end;
if RecordCount = 1 then //=1,即找到了此服务人员
begin
selecttext1 := Trim(FieldByName('yg_bh').AsString);
selecttext2 := Trim(FieldByName('yg_xm').AsString);
Close;
Result := 1;
Exit;
end;
if RecordCount > 1 then //>1,即找到了服务人员,但不唯一需进行选择
begin
Close;
Result := 2;
Exit;
end;
end;
end;
procedure Tfrmfwdjb.fwlxEditExit(Sender: TObject);
var
lsbl_fwlxcxdata: string;
begin
if fwlxEdit.Text <> '' then
begin
case Getfwlxfunction(Trim(fwlxEdit.Text)) of
0: lsbl_fwlxcxdata := '';
1:
begin
frmfwdjbDataModule.fwdjbTable.FieldByName('fwdj_lxbh').AsString := selecttext1;
fwlxEdit.Text := selecttext2;
Exit;
end;
2: lsbl_fwlxcxdata := Trim(fwlxEdit.Text);
end;
selecttext1 := '';
selecttext2 := '';
frmfwlxxz := Tfrmfwlxxz.Create(Self);
with frmfwlxxz do
begin
fwlxcx_data := lsbl_fwlxcxdata;
ShowModal;
end;
if selecttext1 <> '' then
begin
frmfwdjbDataModule.fwdjbTable.FieldByName('fwdj_lxbh').AsString := selecttext1;
fwlxEdit.Text := selecttext2;
end
else
begin
fwlxEdit.SetFocus;
Exit;
end;
end;
end;
function Tfrmfwdjb.Getfwlxfunction(fwlxdata: string): Integer; //服务人员查询函数
var
lsbl_cxfwlx: string;
begin
lsbl_cxfwlx := '%' + fwlxdata + '%';
with cxQuery do //下面进行服务类型的查询,如果没有找到则不能进行数据保存
begin
SQL.clear;
SQL.Add('select fw_bh,fw_mc from fwxxk where fw_bh like :lsbl_cxnr');
SQL.Add('or fw_mc like :lsbl_cxnr');
ParamByName('lsbl_cxnr').AsString := lsbl_cxfwlx;
Prepare;
open;
if RecordCount = 0 then //=0,即没有找到此服务类型
begin
MessageDlg('没有找到服务类型【' + fwlxdata + '】', mtWarning, [mbOk], 0);
Close;
Result := 0;
Exit;
end;
if RecordCount = 1 then //=1,即找到了此服务类型
begin
selecttext1 := Trim(FieldByName('fw_bh').AsString);
selecttext2 := Trim(FieldByName('fw_mc').AsString);
Close;
Result := 1;
Exit;
end;
if RecordCount > 1 then //>1,即找到了服务类型,但不唯一需进行选择
begin
Close;
Result := 2;
Exit;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -