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

📄 tas420_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
      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 + -