📄 realtyc41a.pas
字号:
unit RealtyC41A;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
StrUtils, ExtDlgs, ComCtrls, math, ToolWin, ImgList, Menus;
type
Tf_RealtyC41A = class(TForm)
Label2: TLabel;
Button5: TButton;
Button7: TButton;
Edit7: TEdit;
Button1: TButton;
Label3: TLabel;
Edit5: TEdit;
Button2: TButton;
Label7: TLabel;
Edit8: TEdit;
Button3: TButton;
DateTimePicker1: TDateTimePicker;
Label1: TLabel;
procedure NN6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
bMod:bool;
sTable:string;
cols:integer;
bGetdata:bool;
end;
var
f_RealtyC41A: Tf_RealtyC41A;
implementation
uses data, main,RealtyC33,RealtyA12,Car4s931,realtyI11C,RealtyA11;
{$R *.dfm}
//Close*************************************
procedure Tf_RealtyC41A.NN6Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyC41A.Button7Click(Sender: TObject);
Var
query,query1,query2,query11:TADOQuery;
s,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,r,r3,ss:string;
i:integer;
d:double;
begin
query:=TADOQuery.Create(nil);
query.Connection:=DataModuleADO.ADOConnection1;
query1:=TADOQuery.Create(nil);
query1.Connection:=DataModuleADO.ADOConnection1;
query2:=TADOQuery.Create(nil);
query2.Connection:=DataModuleADO.ADOConnection1;
query11:=TADOQuery.Create(nil);
query11.Connection:=DataModuleADO.ADOConnection1;
if (edit5.Text='') and (edit8.text='') and (edit7.Text='') then
begin
showmessage('请选择要新增的单位');
exit;
end;
if edit5.Text<>'' then
begin
ss:='按管理区';
s:='select * from 常规费用 where 收费月份='''+copy(datetostr(DateTimePicker1.Date),1,7);
s:=s+''' and 自动生成类别='''+ss+'''';
query.SQL.clear;
query.SQL.Add(s);
query.Open;
if query.RecordCount>0 then
begin
showmessage('已经'+ss+'生成'+copy(datetostr(DateTimePicker1.Date),1,7)+'月份的常规收费');
exit;
end;
query11.SQL.clear;
query11.SQL.Add('select * from 房间 where 管理区='''+mainform.getNum(edit5.Text)+'''');
query11.Open;
while not query11.Eof do
begin
s2:=query11.fieldbyname('编号').Value;
d:=query11.fieldbyname('建筑面积').AsVariant;
query1.SQL.Clear;
query1.SQL.Add('select * from 入伙登记 where 房间='''+s2+'''');
query1.Open;
if query1.RecordCount>0 then
begin
s3:=query1.fieldbyname('客户').Value;
query1.SQL.Clear;
query1.SQL.Add('select * from 客户资料 where 客户名称='''+s3+'''');
query1.Open;
if query1.RecordCount>0 then
begin
s3:=query1.fieldbyname('客户代码').Value;
end;
s9:='0';
query.SQL.Clear;
query.SQL.Add('select * from 房间收费项目设置 where 房间编号='''+s2+'''');
query.Open;
while not query.Eof do
begin
s4:=query.fieldbyname('收费项目编号').Value;
s5:=query.fieldbyname('收费标准编号').Value;
s:='select * from 收费项目 where 编号='''+s4;
s:=s+''' and 费用项目类型='''+'常规收费项目';
s:=s+'''';
query2.SQL.Clear;
query2.SQL.Add(s);
query2.Open;
if query2.RecordCount>0 then
begin
s:='select * from 收费标准 where 编号='''+query.fieldbyname('收费标准编号').Value;
s:=s+'''';
query2.SQL.Clear;
query2.SQL.Add(s);
query2.Open;
if query2.RecordCount>0 then
begin
s:= query2.fieldbyname('收费时间').Value;
s:='select * from 收费时间 where 编号='''+s;
s:=s+'''';
s9:=query2.fieldbyname('单价').Value;
s10:=Format('%.2f', [strtofloat(s9)*d]);
query2.SQL.Clear;
query2.SQL.Add(s);
query2.Open;
if query2.RecordCount>0 then
begin
if query2.fieldbyname('名称').Value='收当月' then
begin
s6:=query2.fieldbyname('收费日期').Value;
if strtoint(s6)<10 then s6:='0'+s6;
s6:=copy(datetostr(date),1,7)+'-'+ s6;
end;
if query2.fieldbyname('名称').Value='收上月' then
begin
if strtoint(query2.fieldbyname('收费日期').Value)<10 then s6:='0'+query2.fieldbyname('收费日期').Value
else s6:= query2.fieldbyname('收费日期').Value;
s7:=copy(datetostr(date),1,7)+'-01';
s7:=datetostr(strtodate(s7)-1);
s6:=copy(s7,1,7)+'-'+ s6;
end;
if query2.fieldbyname('名称').Value='收下月' then
begin
if strtoint(query2.fieldbyname('收费日期').Value)<10 then s6:='0'+query2.fieldbyname('收费日期').Value
else s6:= query2.fieldbyname('收费日期').Value;
s7:=copy(datetostr(date),1,7)+'-28';
s7:=datetostr(strtodate(s7)+4);
s6:=copy(s7,1,7)+'-'+ s6;
end;
if query2.fieldbyname('名称').Value='指定月' then
begin
s6:=query2.fieldbyname('收费日期').Value;
if strtoint(s6)<10 then s6:='0'+s6;
s6:=copy(datetostr(date),1,7)+'-'+ s6;
s:='select * from 收费时间明细 where 编号='''+query2.fieldbyname('编号').Value;
s:=s+''' and 月份='''+copy(copy(datetostr(date),1,7),6,2);
s:=s+'''';
query2.SQL.Clear;
query2.SQL.Add(s);
query2.Open;
if query2.RecordCount=0 then s6:='';
end;
end;
end;
s := 'select top 1 * from 常规费用 ORDER BY 单号 DESC';
query1.SQL.Clear;
Query1.SQL.Add(s);
Query1.Open ;
if query1.recordcount > 0 then
begin
s:= Query1.Fieldbyname('单号').AsString;
s:= Copy(S, 1, 7);
i:= strtoint(s)+1;
if i<10 then s1 := '000000'+inttostr(i)
else if (i > 9) and (i<100) then s1 := '00000'+inttostr(i)
else if (i > 99) and (i<1000) then s1 := '0000'+inttostr(i)
else if (i > 999) and (i<10000) then s1 := '000'+inttostr(i)
else if (i > 9999) and (i<100000) then s1 := '00'+inttostr(i)
else if (i > 99999) and (i<1000000) then s1 := '0'+inttostr(i)
else if i>999999 then s3 := inttostr(i);
end
else s1 := '0000001';
s:='select * from 常规费用 where 收费月份='''+copy(datetostr(DateTimePicker1.Date),1,7);
s:=s+''' and 房间='''+s2+''' and 收费项目='''+s4;
s:=s+'''';
query1.SQL.clear;
query1.SQL.Add(s);
query1.Open;
if (query1.RecordCount=0) and (s6<>'')then
begin
s:='insert into 常规费用 (单号,房间,客户,收费项目,收费标准,';
s:=s+'应收日期,计费开始日期,计费结束日期,单价,金额,';
s:=s+'优惠金额,优惠后金额,滞纳金截至日期,滞纳金天数,滞纳金,';
s:=s+'减免缴滞纳金,应收滞纳金,收取滞纳金,应收金额,已收金额,';
s:=s+'已收全,收全日期,收取费用类型,备注,制单人,';
s:=s+'修订人,自动生成类别,收费月份)';
s:=s+'values (:s1,:s2,:s3,:s4,:s5,';
s:=s+':s6,:s7,:s8,:s9,:s10,';
s:=s+':s11,:s12,:s13,:s14,:s15,';
s:=s+':s16,:s17,:s18,:s19,:s20,';
s:=s+':s21,:s22,:s23,:s24,:s25,';
s:=s+':s26,:s27,:s28)';
query1.SQL.Clear;
query1.SQL.Add(s);
query1.Parameters.ParamByName('s1').Value:=s1;
query1.Parameters.ParamByName('s2').Value:=s2;
query1.Parameters.ParamByName('s3').Value:=s3;
query1.Parameters.ParamByName('s4').Value:=s4;
query1.Parameters.ParamByName('s5').Value:=s5;
query1.Parameters.ParamByName('s6').Value:=s6;
query1.Parameters.ParamByName('s7').Value:=datetostr(date);
query1.Parameters.ParamByName('s8').Value:=datetostr(date);
query1.Parameters.ParamByName('s9').Value:=s9;
query1.Parameters.ParamByName('s10').Value:=s10;
query1.Parameters.ParamByName('s11').Value:=0;
query1.Parameters.ParamByName('s12').Value:=0;
query1.Parameters.ParamByName('s13').Value:=datetostr(date);
query1.Parameters.ParamByName('s14').Value:=0;
query1.Parameters.ParamByName('s15').Value:=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -