📄 user_count_un.pas
字号:
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 + -