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

📄 user_count_un.pas

📁 布林电话收费管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
           dm.q_b.Next;
         end;
         cou1:=dm.q_b.FieldValues ['序号']+1;
         bsskinedit7.Text:=inttostr(100000+cou1);
        dm.q_b.First;
         bsskinedit5.Text:=floattostr(sum1);
         end
     else
      begin
        bsskinedit7.Text:='999999';
        bsskinedit5.Text:='0.00';
     end;
     if dm.q_3.Recordset.RecordCount >0 then
       begin
         dm.q_3.Last;
         cou1:=dm.q_3.FieldValues ['序号']+1;
         bsskinedit7.Text:=inttostr(100000+cou1);
         end
     else
      begin
        bsskinedit7.Text:='999999';
        bsskinedit5.Text:='0.00';
     end;

end;

procedure Tuser_count.bsSkinXFormButton4Click(Sender: TObject);
begin
  inherited;
  close;
end;

procedure Tuser_count.bsSkinXFormButton3Click(Sender: TObject);
begin
  inherited;
  formcreate(nil);
end;

procedure Tuser_count.bsSkinXFormButton8Click(Sender: TObject);
begin
  inherited;
  formcreate(nil);
end;

procedure Tuser_count.bsSkinXFormButton2Click(Sender: TObject);
var
 str1,d1,d2,d3,d4,d5:string;
 userendprn:tuserendprn;
begin
  inherited;
 if dm.q_a.Recordset.RecordCount >0 then
  begin
  if  bsskinmessage1.MessageDlg('你确定对当前数据进行结帐操作吗?',mtconfirmation,[mbyes,mbcancel],0)=mryes then
    begin
     //结帕主要做的工作是:1置明细表中的客户数据的结帐标志
     //明细表中的数据进行分类,得出分类的数据结果
     //2.将结帐数据写入结帐表中.
     //3.结帐操作日专
     //将日志中的数据分类,打在结帐表上.
     with dm do
      begin
       q_e.Close;
       q_e.SQL.Clear;
       q_e.SQL.Add(' select up_lb,sum(up_je) as je from tel_up_mx ');
       q_e.SQL.Add('where up_user=:up_user and up_skjz=:up_skjz');
       q_e.SQL.Add('group by up_lb');
       q_e.Parameters.ParamByName('up_user').Value:=user_id;
       q_e.Parameters.ParamByName('up_skjz').Value:='1';
       q_e.Prepared;
       q_e.Open;
      end;
       str1:='操作员收款分项为:            ';
     while not dm.q_e.Eof do
      begin
        str1:=str1+'其中:'+dm.q_e.FieldValues ['up_lb']+'为:   '+floattostr(dm.q_e.FieldValues ['je'])+'元    ';
        dm.q_e.Next;
      end;
//      showmessage(str1);
     //其实这里可以加入操作日志的统计.但过慢,就不加入了.只是做一个写入结标志就可以了
      with dm do
       begin
        q_f.Close;
        q_f.SQL.Clear;
        q_f.SQL.Add('update tel_log set LOG_MARK=:log_mark where log_id=:log_id');
        q_f.Parameters.ParamByName('log_id').Value:=user_id;
        q_f.Parameters.ParamByName('log_mark').Value:='2';
        q_f.Prepared;
        q_f.ExecSQL;
        q_f.Close;
        q_f.SQL.Clear;
        q_f.SQL.Add('insert into count_end (count_bh,user_id,user_name,count_je,');
        q_f.SQL.add('count_memo ,COUNT_TIME,Count_djzs)');
        q_f.SQL.Add('values(:count_bh,:user_id,:user_name,:count_je,');
        q_f.SQL.add(':count_memo ,:COUNT_TIME,:Count_djzs)');
        q_f.Parameters.ParamByName('count_bh').Value:=bsskinedit7.Text ;
        q_f.Parameters.ParamByName('user_id').Value:=user_id ;
        q_f.Parameters.ParamByName('user_name').Value:=user_name ;
        q_f.Parameters.ParamByName('count_je').Value:=strtofloat(bsskinedit2.Text) ;
        q_f.Parameters.ParamByName('count_memo').Value:=str1 ;
        q_f.Parameters.ParamByName('count_time').Value:=now ;
        q_f.Parameters.ParamByName('count_djzs').Value:=bsskinedit6.Text ;
        q_f.Prepared;
        q_f.ExecSQL;
        q_f.Close;
        q_f.SQL.Clear;
        q_f.SQL.Add('update tel_up_mx set up_skjz=:log_mark where up_user=:log_id');
        q_f.Parameters.ParamByName('log_id').Value:=user_id;
        q_f.Parameters.ParamByName('log_mark').Value:=bsskinedit7.Text ;
        q_f.Prepared;
        q_f.ExecSQL;
       end;
       writetolog('0.00');
      bsskinmessage1.MessageDlg('操作员当前数据的结帐工作进行完毕!!'+chr(13)+'以下将打印用户的结帐报表,请准备好打印机!!!',mtinformation,[mbok],0);
      userendprn:=tuserendprn.Create(user_count);
      d1:=bsskinedit7.Text ;
      d2:= str1 ;

      d3:= bsskinedit6.Text ;
      d4:= bsskinedit2.Text;
      d5:=datetimetostr(now);
      userendprn.start_d(d1,d2,d3,d4,d5 );
     userendprn.QuickRep1.Prepare;
      userendprn.QuickRep1.PreviewModal ;
//      userendprn.QuickRep1.Print;
     //进行结帐表的写入
      formcreate(nil);
    end;
  end
 else
  begin
   bsskinmessage1.MessageDlg('当前的操作员不存在没有结帐的数据!',mtinformation,[mbyes],0);
   bsskinxformbutton4.SetFocus;
  end;
end;

procedure Tuser_count.bsSkinXFormButton10Click(Sender: TObject);
var
 d1,d2,d3,d4,d5:string;
 userendprn:tuserendprn;
begin
  inherited;
if bsskinmessage1.MessageDlg('是否重新打印本张结帐单?',mtconfirmation,[mbok,mbcancel],0)=mrok then
 begin
 with dm do
 begin
      userendprn:=tuserendprn.Create(user_count);
      d1:=q_b.FieldValues ['结帐编号'] ;
      d2:= q_b.FieldValues ['结帐内容'] ;
      d3:= q_b.FieldValues ['单据张数'] ;
      d4:= floattostr(q_b.FieldValues ['结帐金额'] );
      d5:=datetimetostr(q_b.FieldValues ['结帐时间'] );
      userendprn.start_d(d1,d2,d3,d4,d5 );
      userendprn.QuickRep1.Prepare;;
      userendprn.QuickRep1.PreviewModal ;
 end;
end; 
end;

procedure Tuser_count.bsSkinXFormButton6Click(Sender: TObject);
var
 d1,d2,d3,d4,d5:string;
 userendprn:tuserendprn;
begin
  inherited;
if bsskinmessage1.MessageDlg('是否重新打印本张结帐单?',mtconfirmation,[mbok,mbcancel],0)=mrok then
 begin
 with dm do
 begin
      userendprn:=tuserendprn.Create(user_count);
      d1:=q_b.FieldValues ['结帐编号'] ;
      d2:= q_b.FieldValues ['结帐内容'] ;
      d3:= q_b.FieldValues ['单据张数'] ;
      d4:= floattostr(q_b.FieldValues ['结帐金额'] );
      d5:=datetimetostr(q_b.FieldValues ['结帐时间'] );
      userendprn.start_d(d1,d2,d3,d4,d5 );
  //    userendprn.QuickRep1.Prepare;
      userendprn.QuickRep1.print ;
 end;
end;
end;
procedure Tuser_count.bsSkinXFormButton5Click(Sender: TObject);
begin
  inherited;
  formcreate(nil);
end;

procedure Tuser_count.bsSkinXFormButton7Click(Sender: TObject);
var
 sum2:real;
begin
  inherited;
       with dm do
      begin
       q_f.Close;
       q_f.SQL.Clear;
       q_f.SQL.Add('select count_xh as 序号,count_bh AS 结帐编号,');
       q_f.SQL.Add('user_id as 操作员工号,user_name as 操作员姓名,');
       q_f.SQL.Add('count_je as 结帐金额,count_memo as 结帐内容,');
       q_f.SQL.Add('COUNT_TIME as 结帐时间,Count_djzs as 单据张数 from count_end');
       q_f.SQL.Add('where count_time>=:cout1 and count_time<=:cout2');
//       q_f.SQL.Add('group by user_id');
       q_f.Parameters.ParamByName('cout1').Value:=strtodatetime(bsskindateedit3.Text+' 00:00:00');
       q_f.Parameters.ParamByName('cout2').Value:=strtodatetime(bsskindateedit4.text+' 23:59:59');
       q_f.Prepared;
       q_f.Open;
      end;
       sum2:=0;
      while not dm.q_f.Eof do
       begin
        sum2:=sum2+dm.q_f.FieldValues ['结帐金额'];
        dm.q_f.Next;
       end;
       dm.q_f.First;
       bsskinedit10.Text:=floattostr(sum2);
    da3:=tdatasource.Create(nil);
    da3.DataSet:=dm.q_f;
    bsskindbgrid3.DataSource:=da3;
end;

procedure Tuser_count.bsSkinXFormButton16Click(Sender: TObject);
begin
  inherited;
  formcreate(nil);
end;

procedure Tuser_count.bsSkinXFormButton13Click(Sender: TObject);
begin
  inherited;
    with dm do
     begin
      q_2.Close;
      q_2.SQL.Clear;
      q_2.SQL.Add('select up_bh as 用户收据号,up_user as 操作员工号,up_tel as 用户电话号,');
      q_2.SQL.Add(' up_sfzh as 身份证号,up_name as 用户姓名,');
      q_2.SQL.Add('up_je as 用户交款额,up_DATE as 交款结帐期,');
      q_2.SQL.Add(' up_hf as 用户电话费,up_fwje as 用户服务费,');
      q_2.SQL.Add(' user_time as 操作员时间 from tel_up_mx ');
      q_2.SQL.Add('where user_time>=:up_user1 and user_time<=:up_user2 and up_skjz=:up_skjz');
      q_2.Parameters.ParamByName('up_user1').Value:=strtodatetime(bsskindateedit5.text+' 00:00:00');
      q_2.Parameters.ParamByName('up_user2').Value:=strtodatetime(bsskindateedit6.text+' 23:59:59');
      q_2.Parameters.ParamByName('up_skjz').Value:='1';
      q_2.Prepared;
      q_2.Open;
     end;
     da4:=tdatasource.Create(nil);
     da4.DataSet:=dm.q_2;
     bsskindbgrid4.DataSource:=da4;
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -