📄 tas420_01.pas.svn-base
字号:
AValue:=ADOQuery1.FieldByName('FTotal').AsInteger;
AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
SetFieldValue(AMonth,AValue);
ADODataSet1.Post;
end;
ADOQuery1.Next;
end;
end;
procedure TTas420_01Form.ByCustomer(AYear:string); //按客户
var
AValue,AMonth:Integer;
begin
//装机总数統計
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select count(T500_001) as FTotal,O150_002,O150_003,month(T500_026) as FMonth');
ADOQuery1.SQL.Add(' from TAS500,ORD150 where T500_015=O150_001 and year(T500_026)='+AYear);
ADOQuery1.SQL.Add('group by O150_002,O150_003,month(T500_026)');
ADOQuery1.SQL.Add('order by O150_002');
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
if ADODataSet1.Locate('FCode',ADOQuery1.FieldByName('O150_002').Value,[]) then
begin
ADODataSet1.Edit;
AValue:=ADOQuery1.FieldByName('FTotal').AsInteger;
AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
SetFieldValue(AMonth,AValue);
ADODataSet1.Post;
end else
begin
ADODataSet1.Append;
ADODataSet1.FieldByName('FCode').Value:=ADOQuery1.FieldByName('O150_002').Value;
ADODataSet1.FieldByName('FName').Value:=ADOQuery1.FieldByName('O150_003').Value;
AValue:=ADOQuery1.FieldByName('FTotal').AsInteger;
AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
SetFieldValue(AMonth,AValue);
ADODataSet1.Post;
end;
ADOQuery1.Next;
end;
end;
procedure TTas420_01Form.sbSearchClick(Sender: TObject);
begin
inherited;
//查询
Screen.Cursor:=crHourGlass;
if Assigned(SYSDM.wwFilterDialog1.Form) then SYSDM.wwFilterDialog1.ClearFilter;
ADODataSet1.DisableControls;
ADODataSet1.Close;
ADODataSet1.FieldDefs.Clear;
ADODataSet1.FieldDefs.Add('FCode',ftString,30);
ADODataSet1.FieldDefs.Add('FName',ftString,50);
ADODataSet1.FieldDefs.Add('FTotal1',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal2',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal3',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal4',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal5',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal6',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal7',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal8',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal9',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal10',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal11',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal12',ftInteger,0);
ADODataSet1.FieldDefs.Add('FTotal',ftInteger,0);
ADODataSet1.CreateDataSet;
case cbType.ItemIndex of
0:ByItem(cbYear.Text); //按产品
1:ByItemClass(cbYear.Text); //按産品類別
2:ByCustomer(cbYear.Text); //按客户
end;
ADODataSet1.EnableControls;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select count(T500_001) as FTotal,month(T500_026) as FMonth');
ADOQuery1.SQL.Add(' from TAS500 where year(T500_026)='+cbYear.Text);
ADOQuery1.SQL.Add('group by month(T500_026)');
ADOQuery1.Open;
DBChart1.RefreshData;
Screen.Cursor:=crDefault;
end;
procedure TTas420_01Form.ActOpenExecute(Sender: TObject);
var
AFieldInfo1,AFieldInfo2:TwwFieldInfo;
begin
inherited;
//查看
if ADODataSet1.IsEmpty then Exit;
Screen.Cursor:=crHourGlass;
Tas500_01Form:=TTas500_01Form.Create(Application);
Tas500_01Form.sbSearch.Click;
FilterDialog(Tas500_01Form.DataSource1,False);
AFieldInfo1:=TwwFieldInfo.create;
AFieldInfo2:=TwwFieldInfo.create;
AFieldInfo1.FieldName:='T500_026';
AFieldInfo1.DisplayLabel:=Tas500_01Form.ADOQuery1T500_026.DisplayLabel;
AFieldInfo1.MatchType:=fdMatchRange;
AFieldInfo1.CaseSensitive:=False;
AFieldInfo1.NonMatching:=False;
AFieldInfo1.FilterValue:='';
AFieldInfo1.MinValue:=cbYear.Text+'-01-01';
AFieldInfo1.MaxValue:=cbYear.Text+'-12-31';
SYSDM.wwFilterDialog1.FieldInfo.Add(AFieldInfo1);
//按产品
if cbType.ItemIndex=0 then
begin
AFieldInfo2.FieldName:='I150_002';
AFieldInfo2.DisplayLabel:=Tas500_01Form.ADOQuery1I150_002.DisplayLabel;
AFieldInfo2.MatchType:=fdMatchExact;
AFieldInfo2.CaseSensitive:=False;
AFieldInfo2.NonMatching:=False;
AFieldInfo2.FilterValue:=ADODataSet1FCode.Value;;
SYSDM.wwFilterDialog1.FieldInfo.Add(AFieldInfo2);
end else
//按产品类别
if cbType.ItemIndex=1 then
begin
AFieldInfo2.FieldName:='I120_003';
AFieldInfo2.DisplayLabel:=Tas500_01Form.ADOQuery1I120_003.DisplayLabel;
AFieldInfo2.MatchType:=fdMatchStart;
AFieldInfo2.CaseSensitive:=False;
AFieldInfo2.NonMatching:=False;
AFieldInfo2.FilterValue:=ADODataSet1FName.Value;;
SYSDM.wwFilterDialog1.FieldInfo.Add(AFieldInfo2);
end else
//按客户
if cbType.ItemIndex=2 then
begin
AFieldInfo2.FieldName:='O150_003';
AFieldInfo2.DisplayLabel:=Tas500_01Form.ADOQuery1O150_003.DisplayLabel;
AFieldInfo2.MatchType:=fdMatchStart;
AFieldInfo2.CaseSensitive:=False;
AFieldInfo2.NonMatching:=False;
AFieldInfo2.FilterValue:=ADODataSet1FName.Value;;
SYSDM.wwFilterDialog1.FieldInfo.Add(AFieldInfo2);
end;
SYSDM.wwFilterDialog1.ApplyFilter;
Tas500_01Form.ARecordCount:=GetDataSetCount(Tas500_01Form.ADOQuery1);
Screen.Cursor:=crDefault;
Tas500_01Form.ShowModal;
end;
procedure TTas420_01Form.dxDBGrid1DblClick(Sender: TObject);
begin
inherited;
ActOpen.Execute;
end;
procedure TTas420_01Form.ReportGetValue(const ParName: String; var ParValue: Variant);
begin
inherited;
if ParName='AYear' then ParValue:=lblYear.Caption //年度
else if ParName='AYearValue' then ParValue:=cbYear.Text //
else if ParName='AType' then ParValue:=lblType.Caption //类型
else if ParName='ATypeValue' then ParValue:=cbType.Text //
else if ParName='FCode' then ParValue:=ADODataSet1FCode.DisplayLabel //编号
else if ParName='FName' then ParValue:=ADODataSet1FName.DisplayLabel //名称
else if ParName='FTotal1' then ParValue:=ADODataSet1FTotal1.DisplayLabel //一月
else if ParName='FTotal2' then ParValue:=ADODataSet1FTotal2.DisplayLabel //二月
else if ParName='FTotal3' then ParValue:=ADODataSet1FTotal3.DisplayLabel //三月
else if ParName='FTotal4' then ParValue:=ADODataSet1FTotal4.DisplayLabel //四月
else if ParName='FTotal5' then ParValue:=ADODataSet1FTotal5.DisplayLabel //五月
else if ParName='FTotal6' then ParValue:=ADODataSet1FTotal6.DisplayLabel //六月
else if ParName='FTotal7' then ParValue:=ADODataSet1FTotal7.DisplayLabel //七月
else if ParName='FTotal8' then ParValue:=ADODataSet1FTotal8.DisplayLabel //八月
else if ParName='FTotal9' then ParValue:=ADODataSet1FTotal9.DisplayLabel //九月
else if ParName='FTotal10' then ParValue:=ADODataSet1FTotal10.DisplayLabel //十月
else if ParName='FTotal11' then ParValue:=ADODataSet1FTotal11.DisplayLabel //十一月
else if ParName='FTotal12' then ParValue:=ADODataSet1FTotal12.DisplayLabel //十二月
else if ParName='FTotal' then ParValue:=ADODataSet1FTotal.DisplayLabel //小计
else if ParName='FSum' then ParValue:=GetDBString('TAS42001023') //合计
end;
procedure TTas420_01Form.ActPrintExecute(Sender: TObject);
var
AfrReport:TfrReport;
begin
//inherited;
with TBitmap.Create do
try
DBChart1.bevelOuter:=bvNone;
Width:=DBChart1.Width;
Height:=DBChart1.Height;
DBChart1.BufferedDisplay:=False;
DBChart1.Draw(Canvas,Rect(0,0,Width,Height));
DBChart1.BufferedDisplay:=True;
SaveToFile(ASystemPath+'Report\TAS420.bmp');
DBChart1.bevelOuter:=bvLowered;
finally
Free;
end;
AfrReport:=TfrReport.Create(nil);
try
PreparedReport(ADODataSet1,AReportName,AfrReport);
SYSDM.frDBDataSet1.DataSet:=ADODataSet1;
ADODataSet1.DisableControls;
SYSDM.frReport2.OnGetValue:=ReportGetValue;
TfrPictureView(SYSDM.frReport2.FindObject('Picture2')).Picture.LoadFromFile(ASystemPath+'Report\TAS420.bmp');
SYSDM.frReport2.ShowPreparedReport;
SYSDM.frReport2.ShowReport;
ADODataSet1.EnableControls;
finally
ADODataSet1.EnableControls;
SYSDM.frReport2.Clear;
// AfrReport.Free;
if FileExists(ASystemPath+'\Report\TAS420.bmp') then DeleteFile(ASystemPath+'Report\TAS420.bmp');
end;
end;
procedure TTas420_01Form.RefreshEvent;
begin
inherited;
sbSearch.Click;
end;
initialization
RegisterClass(TTas420_01Form);
finalization
UnRegisterClass(TTas420_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -