📄 q_js.pas
字号:
unit q_js;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, StdCtrls, Buttons, Mask, ExtCtrls, Printers,
QRCtrls;
type
Tfrm_q_js = 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;
cmd_print: TBitBtn;
Panel3: TPanel;
DBGrid1: TDBGrid;
ds_cl: TDataSource;
qe_cl: TQuery;
qe_pj_add: TQuery;
ds_pj_add: TDataSource;
qe_gs_add: TQuery;
ds_gs_add: TDataSource;
qe_bx: TQuery;
Panel1: TPanel;
Label9: TLabel;
Label10: TLabel;
txt_clf: TEdit;
txt_zf: TEdit;
Label11: TLabel;
txt_clf1: TEdit;
Label7: TLabel;
txt_gsf: TEdit;
Label12: TLabel;
txt_other: TEdit;
Panel5: TPanel;
DBGrid3: TDBGrid;
DBGrid2: TDBGrid;
DBGrid4: TDBGrid;
qe_other: TQuery;
ds_other: TDataSource;
Panel2: TPanel;
combo_p: TComboBox;
qe_pj_addpj_id: TIntegerField;
qe_pj_adddj_bh: TStringField;
qe_pj_addpj_kind_id: TStringField;
qe_pj_addpj_kind: TStringField;
qe_pj_addpj_gg_id: TStringField;
qe_pj_addpj_gg: TStringField;
qe_pj_addpj_iid: TStringField;
qe_pj_addpj_name: TStringField;
qe_pj_addpj_sy_sum: TFloatField;
qe_pj_addpj_ck_sum: TFloatField;
qe_pj_addpj_xz_sum: TFloatField;
qe_pj_addpj_fk_sum: TFloatField;
qe_pj_addpj_unit: TStringField;
qe_pj_addpj_dj: TFloatField;
qe_pj_addpj_jj: TFloatField;
qe_pj_addpj_sb: TStringField;
qe_pj_addpj_zf_bs: TSmallintField;
qe_pj_addpj_js_bs: TSmallintField;
qe_pj_addpj_date: TStringField;
qe_pj_addpj_dj1: TStringField;
qe_pj_addpj_je1: TStringField;
qe_gs_addpj_id: TIntegerField;
qe_gs_adddj_bh: TStringField;
qe_gs_addgs_text: TStringField;
qe_gs_addgs_sum: TFloatField;
qe_gs_addgs_dj: TFloatField;
qe_gs_addgs_zj: TFloatField;
qe_gs_addgs_pg: TStringField;
qe_gs_addgs_pg_id: TStringField;
qe_gs_addgs_zf_bs: TSmallintField;
qe_gs_addgs_dj1: TStringField;
qe_gs_addgs_zj1: TStringField;
qe_otherpj_id: TIntegerField;
qe_otherdj_bh: TStringField;
qe_othero_name: TStringField;
qe_othero_je: TFloatField;
qe_otherpj_zf_bs: TSmallintField;
qe_othero_je1: TStringField;
//
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 FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cmd_printClick(Sender: TObject);
procedure qe_pj_addCalcFields(DataSet: TDataSet);
procedure qe_gs_addCalcFields(DataSet: TDataSet);
procedure qe_otherCalcFields(DataSet: TDataSet);
private
{ Private declarations }
strSQL: string;
//
function RuleCheck: integer;
public
{ Public declarations }
end;
var
frm_q_js: Tfrm_q_js;
implementation
{$R *.DFM}
uses
log, main, print, o_fy;
function Tfrm_q_js.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 = 1 ';
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_JSTIME = ''' + 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_JSTIME >= ''' + Trim(txt_time_xx.EditText) + ''' AND DJ_JSTIME <= ''' + 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_js.qe_clAfterScroll(DataSet: TDataSet);
var
f_clf, f_other, f_gsf: Double;
f_hj: Double;
begin
if (qe_cl.Bof) and (qe_cl.Eof) then Exit;
//
f_clf := qe_cl.FieldByName('dj_pj_je').Value;
if f_clf < 0.01 then f_clf := 0;
f_gsf := qe_cl.FieldByName('dj_gs_je').Value;
if f_gsf < 0.01 then f_gsf := 0;
f_other := qe_cl.FieldByName('dj_fj_je').Value;
if f_other < 0.01 then f_other := 0;
f_hj := f_clf + f_gsf + f_other;
if f_hj < 0.01 then f_hj := 0;
//
qe_pj_add.Close;
qe_pj_add.ParamByName('ibh').Value := Trim(qe_cl.FieldByName('dj_bh').AsString);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -