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

📄 ord410_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
      ADODataSet1.Post;
      ANum[AMonth]:=ANum[AMonth]+AValue;
    end else
    begin
      ADODataSet1.Append;
      ADODataSet1.FieldByName('FNo').Value:=ADOQuery1.FieldByName('FNo').Value;
      ADODataSet1.FieldByName('FName').Value:='['+ADOQuery1.FieldByName('FNo').Value+']'+ADOQuery1.FieldByName('FName').Value;
      ADODataSet1.FieldByName('FParent').Value:=ADOQuery1.FieldByName('FParent').Value;
      AValue:=ADOQuery1.FieldByName('FQty').AsInteger;
      AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
      SetFieldValue(AMonth,AValue,1);
      ADODataSet1.Post;
      ADODataSet1.Edit;
      AValue:=ADOQuery1.FieldByName('FAmount').AsFloat;
      AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
      SetFieldValue(AMonth,AValue,2);
      ADODataSet1.Post;
      ANum[AMonth]:=ANum[AMonth]+AValue;
    end;
    ADOQuery1.Next;
  end;
end;

procedure TOrd410_01Form.ByArea(AYear: string);
var
  ABookmark:TBookmark;  
  AMonth,AParentNo:Integer;
  AValue:Double;
begin
  //销售数量和销售金额统计  按销售日期
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select O120_001 as FNo,O120_002 as FName,O120_003 as FParent,sum(O510B_005) as FQty,sum(O510B_013) as FAmount,month(O510A_003) as FMonth');
  ADOQuery1.SQL.Add('from ORD510A,ORD510B,ORD150,ORD120');
  ADOQuery1.SQL.Add('where O510A_001=O510B_001 and O510A_017=O150_001 and O150_011=O120_001 and year(O510A_003)='+AYear);
  ADOQuery1.SQL.Add('group by O120_001,O120_002,O120_003,month(O510A_003)');
  ADOQuery1.SQL.Add('order by O120_001');
  ADOQuery1.Open;
  while not ADOQuery1.Eof do
  begin
    if ADODataSet1.Locate('FNo',ADOQuery1.FieldByName('FNo').Value,[]) then
    begin
      ADODataSet1.Edit;
      AValue:=ADOQuery1.FieldByName('FQty').AsFloat;
      AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
      SetFieldValue(AMonth,AValue,1);
      ADODataSet1.Post;
      ADODataSet1.Edit;
      AValue:=ADOQuery1.FieldByName('FAmount').AsFloat;
      AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
      SetFieldValue(AMonth,AValue,2);
      ADODataSet1.Post;
      ANum[AMonth]:=ANum[AMonth]+AValue;
    end else
    begin
      ADODataSet1.Append;
      ADODataSet1.FieldByName('FNo').Value:=ADOQuery1.FieldByName('FNo').Value;
      ADODataSet1.FieldByName('FName').Value:='['+ADOQuery1.FieldByName('FNo').Value+']'+ADOQuery1.FieldByName('FName').Value;
      ADODataSet1.FieldByName('FParent').Value:=ADOQuery1.FieldByName('FParent').Value;
      AValue:=ADOQuery1.FieldByName('FQty').AsInteger;
      AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
      SetFieldValue(AMonth,AValue,1);
      ADODataSet1.Post;
      ADODataSet1.Edit;
      AValue:=ADOQuery1.FieldByName('FAmount').AsFloat;
      AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
      SetFieldValue(AMonth,AValue,2);
      ADODataSet1.Post;
      ANum[AMonth]:=ANum[AMonth]+AValue;
    end;
    ADOQuery1.Next;
  end;

  //累加數量到上級類別
  ADODataSet1.First;
  while not ADODataSet1.Eof do
  begin
    ABookmark:=ADODataSet1.GetBookmark;
    AParentNo:=ADODataSet1.FieldByName('FParent').AsInteger;
    if AParentNo<>0 then
    begin
      AValue:=ADODataSet1.FieldByName('FQty1').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty1','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty2').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty2','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty3').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty3','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty4').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty4','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty5').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty5','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty6').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty6','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty7').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty7','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty8').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty8','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty9').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty9','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty10').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty10','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty11').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty11','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty12').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty12','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FTotal').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FTotal','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount1').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount1','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount2').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount2','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount3').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount3','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount4').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount4','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount5').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount5','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount6').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount6','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount7').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount7','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount8').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount8','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount9').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount9','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount10').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount10','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount11').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount11','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount12').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount12','ORD120','O120_001','O120_002','O120_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FFinish').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FFinish','ORD120','O120_001','O120_002','O120_003');
    end;
    ADODataSet1.GotoBookmark(ABookmark);
    ADODataSet1.FreeBookmark(ABookmark);
    ADODataSet1.Next;
  end;
end;

procedure TOrd410_01Form.sbSearchClick(Sender: TObject);
begin
  inherited;
//查询
  ANum[1]:=0;   ANum[2]:=0;   ANum[3]:=0;  ANum[4]:=0;  ANum[5]:=0;
  ANum[6]:=0;   ANum[7]:=0;   ANum[8]:=0;  ANum[9]:=0;  ANum[10]:=0;
  ANum[11]:=0;  ANum[12]:=0;  ANum[13]:=0;

  AAmount[1]:=0;  AAmount[2]:=0;  AAmount[3]:=0;  AAmount[4]:=0;  AAmount[5]:=0;
  AAmount[6]:=0;  AAmount[7]:=0;  AAmount[8]:=0;  AAmount[9]:=0;  AAmount[10]:=0;
  AAmount[11]:=0; AAmount[12]:=0; AAmount[13]:=0;

  Screen.Cursor:=crHourGlass;
  if Assigned(SYSDM.wwFilterDialog1.Form) then SYSDM.wwFilterDialog1.ClearFilter;
  ADODataSet1.DisableControls;
  ADODataSet1.Close;
  ADODataSet1.CreateDataSet;
  case cbType.ItemIndex of
    0:ByCustomer(cbYear.Text);       //按客户
    1:ByCustomerClass(cbYear.Text);  //按客户类别
    2:ByItem(cbYear.Text);           //按产品
    3:ByItemClass(cbYear.Text);      //按产品类别
    4:BySeller(cbYear.Text);         //按销售员
    5:ByArea(cbYear.Text);           //按地区         
  end;
  ADODataSet1.EnableControls;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select sum(O510B_005) as FQty,sum(O510B_013) as FAmount,month(O510A_003) as FMonth');
  ADOQuery1.SQL.Add('  from ORD510A,ORD510B where year(O510A_003)='+cbYear.Text);
  ADOQuery1.SQL.Add('  group by month(O510A_003)');
  ADOQuery1.Open;
  Screen.Cursor:=crDefault;
end;

procedure TOrd410_01Form.ActOpenExecute(Sender: TObject);
begin
  inherited;
//查看
 
end;

procedure TOrd410_01Form.ReportGetValue(const ParName: String; var ParValue: Variant);
begin
  inherited;

end;

procedure TOrd410_01Form.ActPrintExecute(Sender: TObject);
var
  AfrReport:TfrReport;
begin
  AfrReport:=TfrReport.Create(nil);
  try
    PreparedReport(ADODataSet1,AReportName,AfrReport);
    SYSDM.frDBDataSet1.DataSet:=ADODataSet1;
    ADODataSet1.DisableControls;
    SYSDM.frReport2.OnGetValue:=ReportGetValue;
    SYSDM.frReport2.ShowPreparedReport;
    SYSDM.frReport2.ShowReport;
    ADODataSet1.EnableControls;
  finally
    ADODataSet1.EnableControls;
    SYSDM.frReport2.Clear;
  end;
end;

procedure TOrd410_01Form.RefreshEvent;
begin
  inherited;
  sbSearch.Click;
end;

initialization
  RegisterClass(TOrd410_01Form);

finalization
  UnRegisterClass(TOrd410_01Form);

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -