📄 q_wjs.pas
字号:
unit q_wjs;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Mask, ExtCtrls, Grids, DBGrids, Db, DBTables, Printers,
QRCtrls;
type
Tfrm_q_wjs = class(TForm)
pe_select: TPanel;
cb_bh: TCheckBox;
pe_bh: TPanel;
Label4: TLabel;
Label5: TLabel;
txt_bh_xx: TMaskEdit;
txt_bh_sx: TMaskEdit;
pe_wx: TPanel;
Label6: TLabel;
combo_wx_kind: TComboBox;
cmd_q_sel: TBitBtn;
cb_cph: TCheckBox;
pe_cph: TPanel;
Label8: TLabel;
txt_cph: TEdit;
cb_time: TCheckBox;
pe_time: TPanel;
Label1: TLabel;
Label2: TLabel;
txt_time_xx: TMaskEdit;
txt_time_sx: TMaskEdit;
rb_wx: TRadioButton;
rb_bx: TRadioButton;
pe_bx: TPanel;
Label3: TLabel;
combo_bx_kind: TComboBox;
Panel3: TPanel;
Panel4: TPanel;
qe_cl: TQuery;
ds_cl: TDataSource;
DBGrid1: TDBGrid;
qe_pj_add: TQuery;
ds_pj_add: TDataSource;
DBGrid2: TDBGrid;
qe_gs_add: TQuery;
ds_gs_add: TDataSource;
qe_bx: TQuery;
cmd_print: TBitBtn;
DBGrid3: TDBGrid;
DBGrid4: TDBGrid;
Panel2: TPanel;
qe_other: TQuery;
ds_other: TDataSource;
procedure qe_clAfterScroll(DataSet: TDataSet);
procedure cb_bhClick(Sender: TObject);
procedure cb_timeClick(Sender: TObject);
procedure cb_cphClick(Sender: TObject);
procedure rb_wxClick(Sender: TObject);
procedure rb_bxClick(Sender: TObject);
procedure cmd_q_selClick(Sender: TObject);
procedure cmd_q_allClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cmd_printClick(Sender: TObject);
private
{ Private declarations }
strSQL: string;
//
function RuleCheck: integer;
public
{ Public declarations }
end;
var
frm_q_wjs: Tfrm_q_wjs;
implementation
{$R *.DFM}
uses
log, main, o_fy, print;
function Tfrm_q_wjs.RuleCheck: integer;
var
intResult: integer;
strYear, strMonth, strDay: string;
begin
intResult := 0;
strSQL := 'SELECT * FROM CL_DJ WHERE DJ_ZF_BS = 0 AND DJ_JS_BS = 0 ';
//
if cb_time.Checked then begin
if Trim(txt_time_xx.EditText) = '0000-00-00' then begin
if Trim(txt_time_sx.EditText) = '0000-00-00' then begin
MessageBox(Handle, '请确定登记时间', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end else begin
MessageBox(Handle, '请确定登记时间下限', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end;
end else begin
strYear := Copy(Trim(txt_time_xx.EditText), 1, 4);
strMonth := Copy(Trim(txt_time_xx.EditText), 6, 2);
strDay := Copy(Trim(txt_time_xx.EditText), 9, 2);
if (StrToInt(strYear) < 1980) or (StrToInt(strMonth) = 0) or (StrToInt(strMonth) > 12) or (StrToInt(strDay) = 0) or (StrToInt(strDay) > 31) then begin
MessageBox(Handle, '登记下限时间无效', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_time_xx.SetFocus;
intResult := 1;
end else begin
if Trim(txt_time_sx.EditText) = '0000-00-00' then
strSQL := strSQL + 'AND DJ_TIME = ''' + Trim(txt_time_xx.EditText) + ''' '
else begin
strYear := Copy(Trim(txt_time_sx.EditText), 1, 4);
strMonth := Copy(Trim(txt_time_sx.EditText), 6, 2);
strDay := Copy(Trim(txt_time_sx.EditText), 9, 2);
if (StrToInt(strYear) < 1980) or (StrToInt(strMonth) = 0) or (StrToInt(strDay) = 0) then begin
MessageBox(Handle, '登记上限时间无效', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_time_sx.SetFocus;
intResult := 1;
end else
strSQL := strSQL + 'AND DJ_TIME >= ''' + Trim(txt_time_xx.EditText) + ''' AND DJ_TIME <= ''' + Trim(txt_time_sx.EditText) + ''' ';
end;
end;
end;
end;
//
if cb_bh.Checked then begin
if Trim(txt_bh_xx.EditText) = '00000000-000-000' then begin
if Trim(txt_bh_sx.EditText) = '00000000-000-000' then begin
MessageBox(Handle, '请确定委托编号', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end else begin
MessageBox(Handle, '请确定委托编号下限', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end;
end else begin
if Trim(txt_bh_sx.EditText) = '00000000-000-000' then
strSQL := strSQL + 'AND DJ_BH = ''' + Trim(txt_bh_xx.EditText) + ''' '
else begin
strSQL := strSQL + 'AND DJ_BH >= ''' + Trim(txt_bh_xx.EditText) + ''' AND DJ_BH <= ''' + Trim(txt_bh_sx.EditText) + ''' ';
end;
end;
end;
//
if cb_cph.Checked then begin
if Trim(txt_cph.Text) = '' then begin
MessageBox(Handle, '请确定车牌号', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end else begin
strSQL := strSQL + 'AND DJ_CPH LIKE ''%' + Trim(txt_cph.Text) + '%'' ';
end;
end;
//
if rb_wx.Checked then begin
if combo_wx_kind.ItemIndex = -1 then begin
MessageBox(Handle, '请确定维修类型', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end else begin
strSQL := strSQL + 'AND DJ_WX_KIND = ''' + combo_wx_kind.Text + ''' ';
end;
end;
//
if rb_bx.Checked then begin
if combo_bx_kind.ItemIndex = -1 then begin
MessageBox(Handle, '请确定保险类型', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end else begin
strSQL := strSQL + 'AND DJ_BX_KIND = ''' + combo_bx_kind.Text + ''' ';
end;
end;
//
if (not cb_time.Checked) and (not cb_bh.Checked) and (not cb_cph.Checked) and (not rb_bx.Checked) and (not rb_wx.Checked) then begin
MessageBox(Handle, '请确定查询条件', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end;
//
Result := intResult;
end;
procedure Tfrm_q_wjs.qe_clAfterScroll(DataSet: TDataSet);
begin
if (qe_cl.Bof) and (qe_cl.Eof) then Exit;
//
qe_pj_add.Close;
qe_pj_add.ParamByName('ibh').Value := Trim(qe_cl.FieldByName('dj_bh').AsString);
qe_pj_add.Open;
qe_pj_add.First;
//
qe_gs_add.Close;
qe_gs_add.ParamByName('ibh').Value := Trim(qe_cl.FieldByName('dj_bh').AsString);
qe_gs_add.Open;
qe_gs_add.First;
//
qe_other.Close;
qe_other.ParamByName('ibh').Value := Trim(qe_cl.FieldByName('dj_bh').AsString);
qe_other.Open;
qe_other.First;
end;
procedure Tfrm_q_wjs.cb_bhClick(Sender: TObject);
begin
if cb_bh.Checked then begin
pe_bh.Enabled := True;
txt_bh_xx.SetFocus;
end else begin
txt_bh_xx.Text := '';
txt_bh_sx.Text := '';
//
pe_bh.Enabled := False;
end;
end;
procedure Tfrm_q_wjs.cb_timeClick(Sender: TObject);
begin
if cb_time.Checked then begin
pe_time.Enabled := True;
txt_time_xx.SetFocus;
end else begin
txt_time_xx.Text := '';
txt_time_sx.Text := '';
//
pe_time.Enabled := False;
end;
end;
procedure Tfrm_q_wjs.cb_cphClick(Sender: TObject);
begin
if cb_cph.Checked then begin
pe_cph.Enabled := True;
txt_cph.SetFocus;
end else begin
txt_cph.Text := '';
pe_cph.Enabled := False;
end;
end;
procedure Tfrm_q_wjs.rb_wxClick(Sender: TObject);
begin
pe_bx.Enabled := False;
combo_bx_kind.ItemIndex := -1;
//
pe_wx.Enabled := True;
combo_wx_kind.SetFocus;
end;
procedure Tfrm_q_wjs.rb_bxClick(Sender: TObject);
begin
pe_wx.Enabled := False;
combo_wx_kind.ItemIndex := -1;
//
pe_bx.Enabled := True;
combo_bx_kind.SetFocus;
end;
procedure Tfrm_q_wjs.cmd_q_selClick(Sender: TObject);
var
intResult: integer;
begin
intResult := RuleCheck;
if intResult = 1 then
Exit
else begin
qe_cl.Close;
qe_cl.SQL.Clear;
qe_cl.SQL.Add(strSQL);
qe_cl.Open;
qe_cl.First;
//
if (qe_cl.Bof) and (qe_cl.Eof) then begin
MessageBox(Handle, '没有找到满足条件记录', '沈阳信德', MB_ICONQUESTION or MB_OK);
qe_cl.Close;
qe_pj_add.Close;
qe_gs_add.Close;
cmd_print.Enabled := False;
//
Exit;
end else
cmd_print.Enabled := True;
end;
end;
procedure Tfrm_q_wjs.cmd_q_allClick(Sender: TObject);
begin
strSQL := 'SELECT * FROM CL_DJ WHERE DJ_ZF_BS = 0 AND DJ_JS_BS = 0';
qe_cl.Close;
qe_cl.SQL.Clear;
qe_cl.SQL.Add(strSQL);
qe_cl.Open;
//
if (qe_cl.Eof) and (qe_cl.Bof) then begin
MessageBox(Handle, '没有找到未结算的记录', '沈阳信德', MB_ICONQUESTION or MB_OK);
qe_cl.Close;
qe_pj_add.Close;
qe_gs_add.Close;
end;
end;
procedure Tfrm_q_wjs.FormClose(Sender: TObject; var Action: TCloseAction);
begin
qe_cl.Close;
qe_pj_add.Close;
qe_gs_add.Close;
qe_other.Close;
//
frm_main.mu_cx_cl_wjs.Enabled := True;
frm_main.current_handle := 0;
//
Action := caFree;
end;
procedure Tfrm_q_wjs.FormDestroy(Sender: TObject);
begin
qe_cl := nil;
qe_pj_add := nil;
qe_gs_add := nil;
qe_other := nil;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -