📄 charge.~pas
字号:
begin
Close;
Sql.Clear;
Sql.Add('SELECT * FROM [Car] where C_ID='''+Trim(Edit2.Text)+'''');
try
Prepared;
Open;
Edit1.Text:=frm_data.ADOQuery_Car.FieldByName('C_NO').AsString;
Edit3.Text:=frm_data.ADOQuery_Car.FieldByName('Drive_ID').AsString;
Edit4.Text:=frm_data.ADOQuery_Car.FieldByName('Type').AsString;
Edit5.Text:=frm_data.ADOQuery_Car.FieldByName('Fdjh').AsString;
Edit6.Text:=frm_data.ADOQuery_Car.FieldByName('Facaty_type').AsString;
Edit7.Text:=frm_data.ADOQuery_Car.FieldByName('Man').AsString;
Edit8.Text:=frm_data.ADOQuery_Car.FieldByName('H_Man').AsString;
Except
Application.MessageBox('系统错误!系统在打开数据表【Car】时出错!与远程服务器连接失败!',Pchar(Application.Title),MB_ICONWARNing);
Exit;
End;
end;
//
end;
procedure Tfrm_Charge.Cmd_AddClick(Sender: TObject);
var
tempList_NO:String;
tempstr:string;
tempint:Integer;
begin
inherited;
Cmd_Save.Enabled:=True;
Cmd_Add.Enabled:=False;
DBGrid1.Visible:=False;
Edit9.Text:=func.Use_mond; //取得使用软件的单位名称
Edit10.Text:=func.Login_Name; //取得系统用户登陆名称
Edit11.Text:=ForMatDateTime('yyyy''-''mm''-''dd',now); //取得系统当前日期
//
//自动取得单据编号 单据编号是当前日期加上后四位数值
//如果系统数据库当前日期有记录就指向最后一条记录并且加一
//如果系统数据库当前日期没有记录就单据编号就是当前日期加上0001
with frm_data.Query_Charge do
begin
Close;
Sql.Clear;
// 查询是否有符合当前日期的条件的记录
Sql.Add('SELECT * FROM [Charge] WHERE Charge_Date='''+ Trim(FormatDateTime('yyyy''-''mm''-''dd',now))+'''');
Try
Prepared;
Open;
//******************************************************************
//有符合当前日期的记录
if frm_data.Query_Charge.RecordCount>0 then
begin
Last; //指向最后一条记录
tempList_NO:=frm_data.Query_Charge.FieldByName('List_NO').AsString;
tempstr:=Copy(tempList_NO,9,Length(tempList_NO)-8);
tempint:=StrToInt(tempstr)+1;
if ((tempint>1) and (tempint<10)) then //如果最后四位数值加上1小于10 说明原来的数据的格式
begin //如同当前日期200403110001到200403110008
Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+'000'+IntTostr(tempint);
end;
if ((tempint>=10) and (tempint<100)) then
begin
Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+'00'+IntTostr(tempint);
end;
if ((tempint>=100) and (tempint<1000)) then
begin
Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+'0'+IntTostr(tempint);
end;
if ((tempint>=1000) and (tempint<10000)) then
begin
Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+IntTostr(tempint);
end;
if ((tempint>=10000) and (tempint<100000)) then
begin
Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+IntTostr(tempint);
end;
end;
//******************************************************************
//------------------------------------------------------------------
//没有符合当前日期的记录
if frm_data.Query_Charge.RecordCount=0 then
begin
Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+'0001';
end;
//------------------------------------------------------------------
Except
Application.MessageBox('系统错误!系统在打开数据表【Charge】时出错!与远程服务器连接失败!',Pchar(Application.Title),MB_ICONWARNing);
Exit;
End;
end;
//
end;
procedure Tfrm_Charge.Cmd_ExitClick(Sender: TObject);
begin
inherited;
Edit9.Text:='';
Edit10.Text:='';
Edit11.Text:='';
Edit12.Text:='';
Cmd_Add.Enabled:=True;
Cmd_Save.Enabled:=False;
with frm_data.StoredProc_Pro_Charge_View do
begin
Close;
frm_data.StoredProc_Pro_Charge_View.ProcedureName:='Pro_Charge_View';
Try
Prepared;
Open;
if frm_data.StoredProc_Pro_Charge_View.RecordCount>0 then
begin
DBGrid1.Visible:=True;
First;
Edit1.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('C_NO').AsString;
Edit2.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('C_ID').AsString;
Edit3.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Drive_ID').AsString;
Edit4.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Type').AsString;
Edit5.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Fdjh').AsString;
Edit6.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Facaty_type').AsString;
Edit7.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Man').AsString;
Edit8.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('H_Man').AsString;
Edit9.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charge_Mond').AsString;
Edit10.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charager').AsString;
Edit11.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charge_Date').AsString;
Edit12.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('List_No').AsString;
end
else
begin
DBGrid1.Visible:=False;
Edit1.Text:=''; Edit2.Text:=''; Edit1.Text:='';
Edit4.Text:=''; Edit5.Text:=''; Edit6.Text:='';
Edit7.Text:=''; Edit8.Text:=''; Edit9.Text:='';
Edit10.Text:=''; Edit11.Text:=''; Edit12.Text:='';
end;
Except
Application.MessageBox('系统错误!系统在打开数据表时'+#13#10#13+'与远程服务器连接错误!',Pchar(Application.Title),MB_ICONWARNING);
Exit;
end;
end;
end;
procedure Tfrm_Charge.Cmd_MondClick(Sender: TObject);
begin
inherited;
func.Mond_Select:='';
func.Mond_Select_Result:='';
func.Mond_Select:='have';
frm_Mond_Select:=Tfrm_Mond_Select.Create(self);
frm_Mond_Select.ShowModal;
Edit9.Text:=func.Mond_Select_Result;
frm_Mond_Select.Free;
end;
procedure Tfrm_Charge.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
action:=cafree;
end;
procedure Tfrm_Charge.DBGrid1CellClick(Column: TColumn);
begin
inherited;
Edit1.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('C_NO').AsString;
Edit2.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('C_ID').AsString;
Edit3.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Drive_ID').AsString;
Edit4.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Type').AsString;
Edit5.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Fdjh').AsString;
Edit6.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Facaty_type').AsString;
Edit7.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Man').AsString;
Edit8.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('H_Man').AsString;
Edit9.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charge_Mond').AsString;
Edit10.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charager').AsString;
Edit11.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charge_Date').AsString;
Edit12.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('List_No').AsString;
end;
procedure Tfrm_Charge.DBGrid1DblClick(Sender: TObject);
var
k,CRcowCount:integer;
begin
inherited;
if Trim(Edit12.Text)<>'' then
begin
with frm_data.Query_Charge do
begin
Close;
Sql.Clear;
Sql.Add('SELECT * FROM [Charge_Detail] WHERE List_NO='''+Trim(Edit12.Text)+'''');
Try
Prepared;
Open;
if frm_data.Query_Charge.RecordCount>0 then
begin
CRcowCount:=frm_data.Query_Charge.RecordCount;
k:=frm_data.Query_Charge.RecordCount;
StringGrid1.RowCount:=CRcowCount+1;
//showmessage(IntToStr(k));
for K:=1 to StringGrid1.RowCount do
begin
StringGrid1.Cells[0,K]:=IntTostr(k); //表示第0列第i行的名称
end;
for k:=1 to k do
begin
StringGrid1.Cells[1,k]:=frm_data.Query_Charge.FieldByName('Charge_Type').AsString;//商品编号
StringGrid1.Cells[2,k]:=frm_data.Query_Charge.FieldByName('Charge_Name').AsString;//商品名称
StringGrid1.Cells[3,k]:=frm_data.Query_Charge.FieldByName('Charge_money').AsString;//数量
StringGrid1.Cells[4,k]:=frm_data.Query_Charge.FieldByName('Charge_Repark').AsString;//单价
Next;
end;
end;
Except
end;
end;
end;
end;
procedure Tfrm_Charge.SpeedButton7Click(Sender: TObject);
begin
inherited;
frm_Charge_Report:=Tfrm_Charge_Report.Create(self);
frm_Charge_Report.ShowModal;
frm_Charge_Report.Free;
end;
procedure Tfrm_Charge.SpeedButton8Click(Sender: TObject);
begin
inherited;
frm_ReportInFormation:=Tfrm_ReportInFormation.Create(self);
frm_ReportInFormation.Lab_Money_Title.Caption:=func.Use_mond+frm_ReportInFormation.Lab_Money_Title.Caption;
frm_ReportInFormation.Lab_List_No.Caption:='单据编号:'+Trim(Edit12.Text);
frm_ReportInFormation.Lab_C_NO.Caption:='车辆编号:'+Trim(Edit1.Text);
frm_ReportInFormation.Lab_C_ID.Caption:='车牌号码:'+Trim(Edit2.Text);
frm_ReportInFormation.lab_man.Caption:='车主姓名:'+Trim(Edit7.Text);
frm_ReportInFormation.Lab_ChargeDate.Caption:='收费日期:'+Trim(Edit11.Text);
frm_ReportInFormation.Lab_Charager.Caption:='收费人员:'+Trim(Edit10.Text);
frm_ReportInFormation.lab_ChargeMond.Caption:='收款单位:'+Trim(Edit9.Text);
frm_ReportInFormation.Lab_ren.Caption:='制表人员:'+func.Login_Name;
frm_ReportInFormation.Lab_Time.Caption:='制表时间:'+forMatdateTime('yyyy''-''mm''-''dd',Now)+' '+forMatdateTime('hh'':''mm'':''ss',Now);
with frm_Data.Query_Charge_View do
begin
Close;
Sql.Clear;
Sql.Add('Select * from [Charge_View] where List_No='''+Trim(Edit12.Text)+'''');
Prepared;
open;
frm_ReportInFormation.Lab_Amount.Caption:='收款笔数为:'+IntToStr(frm_data.Query_Charge_View.RecordCount)+'笔';
frm_ReportInFormation.QuickRep_Money.Prepare;
frm_ReportInFormation.QuickRep_Money.Preview;
frm_ReportInFormation.QuickRep_Money.Free;
end;
end;
procedure Tfrm_Charge.StringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
s:string;
r:TRect;
begin
inherited;
with sender as TStringGrid do
begin
if (GDFocused in state) then
begin
Pcol:=Acol;
Prow:=ARow;
String_Col:=ARow;
end;
end;
//文字垂直居中
with StringGrid1 do
begin
Canvas.FillRect(Rect);
s:=Cells[ACol,ARow];
r:=Rect;
DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
end;
end;
procedure Tfrm_Charge.StringGrid1DblClick(Sender: TObject);
var
openstr:string;
S1,s2,s3:string;
begin
inherited;
if Trim(Edit1.Text)='' then
begin
Application.MessageBox('操作失败,【车辆编号】不能为空!',pchar(application.Title),mb_iconwarning);
Edit1.SetFocus;
Exit;
end;
if Trim(Edit2.Text)='' then
begin
Application.MessageBox('操作失败,【车牌号码】不能为空!',pchar(application.Title),mb_iconwarning);
Edit2.SetFocus;
Exit;
end;
if PCol=1 then //表示选择的是收费类别 选择的是第一列
begin
Charge_Type_Str:='';
Charge_Type_Result:='';
Charge_Type_Str:='000001';
frm_Charge_Type:=Tfrm_Charge_Type.Create(self);
frm_Charge_Type.ShowModal;
StringGrid1.Cells[1,String_Col]:=Charge_Type_Result;//类别名称
frm_Charge_Type.Free;
end;
if PCol=2 then //表示选择的是收费类别 选择的是第一列
begin
Charge_Name_Str:='';
Charge_Name_Result:='';
Charge_Name_Str:='000001';
frm_Charge_Name:=Tfrm_Charge_Name.Create(self);
frm_Charge_Name.ShowModal;
StringGrid1.Cells[2,String_Col]:=Charge_Name_Result;//收费名称
frm_Charge_Name.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -