⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qt_js.pas

📁 汽配前台收费,一个具有详细功能的小系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  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 + -