📄 qt_js.pas
字号:
qe_gs.Close;
qe_gs.ParamByName('ibh').Value := cur_bh;
qe_gs.Open;
qe_gs.First;
f_gs := qe_gs.FieldByName('sum3').Value;
f_gs := Int(f_gs) + Round((Frac(f_gs)*100))/100;
if f_gs < 0.01 then f_gs := 0;
zz_gsf := f_gs;
f_h2 := StrToFloat(Trim(txt_h2.Text));
if f_h2 < 0.01 then f_h2 := 0;
f_gs := f_gs * f_h2 * 0.01 + f_gs;
f_gs := Int(f_gs) + Round((Frac(f_gs)*100))/100;
qe_gs.Close;
//其他费用
//工时费
qe_other.Close;
qe_other.ParamByName('ibh').Value := cur_bh;
qe_other.Open;
qe_other.First;
f_other := qe_other.FieldByName('sum4').Value;
f_other := Int(f_other) + Round((Frac(f_other)*100))/100;
if f_other < 0.01 then f_other := 0;
zz_other := f_other;
qe_other.Close;
//////////////////////////////////////////////////
if cur_wx_kind = '三包' then begin
txt_clf.Text := '0';
txt_gsf.Text := '0';
txt_sbf.Text := FloatToStr(f_pj1 + f_pj2 + f_gs);
if f_yj < 0.01 then
lbl_yf.Caption := '应收金额:'
else
lbl_yf.Caption := '应返金额:';
//
txt_yf.Text := FloatToStr(f_yj);
end else begin
txt_clf.Text := FloatToStr(f_pj1);
txt_gsf.Text := FloatToStr(f_gs);
txt_sbf.Text := FloatToStr(f_pj2);
txt_fjf.Text := FloatToStr(f_other);
f_fy := f_pj1 + f_gs + f_other - f_yj;
if Abs(f_fy) < 0.01 then begin
lbl_yf.Caption := '应收金额:';
f_fy := 0;
end else if f_fy < 0 then
lbl_yf.Caption := '应返金额:'
else if f_fy > 0 then
lbl_yf.Caption := '应收金额:';
//
txt_yf.Text := FloatToStr(Abs(f_fy));
end;
txt_yj.Text := FloatToStr(f_yj);
txt_zf.Text := FloatToStr(f_pj1 + f_pj2 + f_other + f_gs);
///////////////////////////////////////////////
//cur_clf := f_pj1 + f_pj2;
//cur_gsf := f_gs;
end;
procedure Tfrm_qt_js.QueryResult;
var
intResult: integer;
int_xz_sum: Double;
int_fk_sum: Double;
begin
intResult := 0;
//
qe_jy1.Close;
qe_jy1.ParamByName('ibh').Value := Trim(combo_bh.Text);
qe_jy1.Open;
qe_jy1.First;
//
if (qe_jy1.Bof) and (qe_jy1.Eof) then begin
MessageBox(Handle, '未找到此委托编号相关的登记信息', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end else begin
if (qe_jy1.FieldByName('dj_yj_jsbs').AsInteger = 0) and (qe_jy1.FieldByName('dj_yj_bs').AsInteger = 1) then begin
MessageBox(Handle, '此委托编号尚有押金未结算', '沈阳信德', MB_ICONQUESTION or MB_OK);
combo_bh.SetFocus;
intResult := 1;
end else begin
qe_jy.Close;
qe_jy.SQL.Clear;
qe_jy.SQL.Add('SELECT * FROM PJ_ADD WHERE DJ_BH = ''' + Trim(combo_bh.Text) + '''');
qe_jy.Open;
qe_jy.First;
while not qe_jy.Eof do begin
int_xz_sum := qe_jy.FieldByName('pj_xz_sum').Value;
int_fk_sum := qe_jy.FieldByName('pj_fk_sum').Value;
//
if (int_xz_sum > 0.01) or (int_fk_sum > 0.01) then begin
MessageBox(Handle, '此委托编号尚有配件未返库或者尚有新增配件, 不能结算', '沈阳信德', MB_ICONQUESTION or MB_OK);
combo_bh.SetFocus;
intResult := 1;
Break;
end;
qe_jy.Next;
end;
end;
end;
//
if intResult = 0 then begin
cur_bh := Trim(combo_bh.Text);
cur_cph := Trim(qe_jy1.FieldByName('dj_cph').AsString);
cur_cx := Trim(qe_jy1.FieldByName('dj_cx').AsString);
cur_czdw := Trim(qe_jy1.FieldByName('dj_czdw').AsString);
cur_cz := Trim(qe_jy1.FieldByName('dj_cz').AsString);
cur_dph := Trim(qe_jy1.FieldByName('dj_dph').AsString);
cur_fdjh := Trim(qe_jy1.FieldByName('dj_fdjh').AsString);
cur_tel := Trim(qe_jy1.FieldByName('dj_tel').AsString);
cur_addr := Trim(qe_jy1.FieldByName('dj_addr').AsString);
cur_time := Trim(qe_jy1.FieldByName('dj_time').AsString);
//
cur_yj := qe_jy1.FieldByName('dj_yj_bs').AsInteger;
cur_bx := qe_jy1.FieldByName('dj_bx_bs').AsInteger;
cur_bx_kind := Trim(qe_jy1.FieldByName('dj_bx_kind').AsString);
cur_wx_kind := Trim(qe_jy1.FieldByName('dj_wx_kind').AsString);
//
qe_pj_add.Close;
qe_pj_add.ParamByName('ibh').Value := Trim(combo_bh.Text);
qe_pj_add.Open;
qe_pj_add.First;
//
qe_gs_add.Close;
qe_gs_add.ParamByName('ibh').Value := Trim(combo_bh.Text);
qe_gs_add.Open;
qe_gs_add.First;
//
qe_other_add.Close;
qe_other_add.ParamByName('ibh').Value := Trim(combo_bh.Text);
qe_other_add.Open;
qe_other_add.First;
//
qe_jy.Close;
//
cmd_p_qd.Enabled := True;
cmd_js.Enabled := True;
//
ResultMoney;
//
pe_money.Enabled := True;
end else if intResult = 1 then begin
qe_gs_add.Close;
qe_pj_add.Close;
qe_jy1.Close;
qe_jy.Close;
//
combo_bh.SetFocus;
cmd_p_qd.Enabled := False;
cmd_js.Enabled := False;
//
txt_clf.Text := '';
txt_gsf.Text := '';
txt_sbf.Text := '';
txt_yj.Text := '';
txt_yf.Text := '';
//
pe_money.Enabled := False;
end;
end;
procedure Tfrm_qt_js.FormClose(Sender: TObject; var Action: TCloseAction);
begin
qe_pj1.Close;
qe_pj2.Close;
qe_pj3.Close;
qe_yj.Close;
qe_gs.Close;
qe_pj_add.Close;
qe_gs_add.Close;
qe_other.Close;
qe_other_add.Close;
qe_jy.Close;
qe_jy1.Close;
//
frm_main.mu_yw_gl_js.Enabled := True;
frm_main.cmd_js.Enabled := True;
frm_main.current_handle := 0;
//
Action := caFree;
end;
procedure Tfrm_qt_js.FormDestroy(Sender: TObject);
begin
qe_pj1 := nil;
qe_pj2 := nil;
qe_pj3 := nil;
qe_yj := nil;
qe_gs := nil;
qe_pj_add := nil;
qe_gs_add := nil;
qe_other_add := nil;
qe_other := nil;
qe_jy := nil;
qe_jy1 := nil;
//
frm_qt_js := nil;
end;
procedure Tfrm_qt_js.FormShow(Sender: TObject);
begin
frm_main.mu_yw_gl_js.Enabled := False;
frm_main.cmd_js.Enabled := False;
frm_main.current_handle := Handle;
//
InitBHList;
//
combo_bh.SetFocus;
end;
procedure Tfrm_qt_js.cmd_p_qdClick(Sender: TObject);
begin
combo_p.Items.Clear;
combo_p.items.Assign(Printer.Printers);
if combo_p.Items.Count = 0 then begin
MessageBox(Handle, '没有可用的打印机,请添加打印机', '沈阳信德', MB_ICONQUESTION or MB_OK);
Exit;
end;
//
if Trim(txt_yf.Text) = '' then begin
MessageBox(Handle, '结算金额无效', '沈阳信德', MB_ICONQUESTION or MB_OK);
Exit;
end;
//
frm_print.lbl_cap4.Caption := frm_log.cur_gs_name;
frm_print.lbl_tel4.Caption := frm_log.cur_gs_tel;
frm_print.lbl_addr4.Caption := frm_log.cur_gs_addr;
frm_print.lbl_cph4.Caption := cur_cph;
frm_print.lbl_dph4.Caption := cur_time;
frm_print.lbl_cx4.Caption := cur_cx;
frm_print.lbl_cz4.Caption := cur_cz;
frm_print.lbl_bh4.Caption := cur_bh;
frm_print.lbl_fdjh4.Caption := cur_fdjh;
frm_print.lbl_dw4.Caption := cur_czdw;
if cur_wx_kind = '无' then begin
frm_print.lbl_wx4.Caption := cur_bx_kind;
frm_print.lbl_kind4.Caption := '保险类型';
end else begin
frm_print.lbl_wx4.Caption := cur_wx_kind;
frm_print.lbl_kind4.Caption := '维修类型';
end;
//
frm_print.lbl_clf.Caption := frm_log.ControlNum(Trim(txt_clf.Text));
if cb_clf.Checked then
frm_print.lbl_clf44.Caption := '材料费(含' + Trim(txt_h1.Text) + '%' + '附加费¥:):'
else
frm_print.lbl_clf44.Caption := '材料费(¥):';
frm_print.lbl_gsf44.Caption := '工时费(¥):';
frm_print.lbl_gsf.Caption := frm_log.ControlNum(Trim(txt_gsf.Text));
frm_print.lbl_fjf4.Caption := frm_log.ControlNum(Trim(txt_fjf.Text));
frm_print.lbl_zjf.Caption := frm_log.ControlNum(Trim(txt_zf.Text));
//
frm_print.lbl_date4.Caption := frm_log.controlDate(DateToStr(Date()));
frm_print.qr_wx.DataSet := qe_jy1;
frm_print.qrd_pj.DataSet := qe_gs_add;
frm_print.qrd_gs.DataSet := qe_pj_add;
frm_print.qrd_other.DataSet := qe_other_add;
frm_print.txt_kind4.DataSet := qe_pj_add;
//frm_print.txt_gg4.DataSet := qe_pj_add;
frm_print.txt_name4.DataSet := qe_pj_add;
frm_print.txt_sum4.DataSet := qe_pj_add;
frm_print.txt_unit4.DataSet := qe_pj_add;
frm_print.txt_dj4.DataSet := qe_pj_add;
frm_print.txt_je4.DataSet := qe_pj_add;
frm_print.txt_text4.DataSet := qe_gs_add;
frm_print.txt_zj4.DataSet := qe_gs_add;
frm_print.txt_o_name4.DataSet := qe_other_add;
frm_print.txt_o_je4.DataSet := qe_other_add;
//
if cb_print.Checked then
frm_print.qr_wx.Preview
else
frm_print.qr_wx.Print;
//end else begin
{if not Assigned(frm_o_fy) then begin
frm_o_fy := Tfrm_o_fy.Create(Application);
frm_o_fy.ShowModal;
if frm_log.intPrint = 2 then Exit;
end;
qe_pj_add.Last;
intCount := qe_pj_add.RecordCount;
intCount1 := intCount div 18;
if intCount - intCount1 * 18 > 0 then intCount1 := intCount1 + 1;
if intCount < 18 then
maxR := intCount - 1
else if intCount >= 18 then
maxR := 17;
//
frm_print.pc_main.ActivePageIndex := 11;
frm_print.lbl_bx_z1.Caption := frm_log.bx_z_title;
frm_print.lbl_bx_f1.Caption := frm_log.bx_f_title;
frm_print.lbl_cph0.Caption := cur_cph;
frm_print.lbl_cx0.Caption := cur_cx;
frm_print.lbl_cz0.Caption := cur_cz;
frm_print.lbl_fdjh0.Caption := cur_fdjh;
frm_print.lbl_czdw0.Caption := cur_czdw;
DecodeDate(Now, year, month, day);
frm_print.lbl_year.Caption := IntToStr(year);
frm_print.lbl_month.Caption := IntToStr(month);
frm_print.lbl_day.Caption := IntToStr(day);
//
if intCount > 0 then begin
frm_print.lbl_sums.Caption := IntToStr(intCount1);
SetLength(frm_print.arrayColumns1, intCount);
SetLength(frm_print.arrayColumns2, intCount);
SetLength(frm_print.arrayColumns3, intCount);
SetLength(frm_print.arrayColumns4, intCount);
//
qe_pj_add.First;
lst1.Items.Clear;
lst2.Items.Clear;
lst3.Items.Clear;
while not qe_pj_add.Eof do begin
f_sum := qe_pj_add.FieldByName('pj_ck_sum').Value;
f_zj := qe_pj_add.FieldByName('pj_ck_sum').Value * qe_pj_add.FieldByName('pj_dj').Value;
f_zj := Int(f_zj) + Round((Frac(f_zj)*100))/100;
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -