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

📄 ord410_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount7').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount7','ORD110','O110_001','O110_002','O110_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount8').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount8','ORD110','O110_001','O110_002','O110_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount9').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount9','ORD110','O110_001','O110_002','O110_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount10').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount10','ORD110','O110_001','O110_002','O110_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount11').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount11','ORD110','O110_001','O110_002','O110_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount12').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount12','ORD110','O110_001','O110_002','O110_003');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FFinish').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FFinish','ORD110','O110_001','O110_002','O110_003');
    end;
    ADODataSet1.GotoBookmark(ABookmark);
    ADODataSet1.FreeBookmark(ABookmark);
    ADODataSet1.Next;
  end;
end;

procedure TOrd410_01Form.ByItem(AYear: string);
var
  AValue:double;
  AMonth:integer;
begin
  //销售数量和销售金额统计  按销售日期
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select I150_001 as FNo,''[''+I150_002+'']''+I150_003 as FName,I150_001 as FParent,sum(O510B_005) as FQty,sum(O510B_013) as FAmount,month(O510A_003) as FMonth');
  ADOQuery1.SQL.Add('from ORD510A,ORD510B,INV150');
  ADOQuery1.SQL.Add('where O510A_001=O510B_001 and O510B_003=I150_001 and year(O510A_003)='+AYear);
  ADOQuery1.SQL.Add('group by I150_001,''[''+I150_002+'']''+I150_003,I150_001,month(O510A_003)');
  ADOQuery1.SQL.Add('order by ''[''+I150_002+'']''+I150_003');
  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').AsString+']'+ADOQuery1.FieldByName('FName').AsString;
      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.ByItemClass(AYear:string);  //按産品類別
var
  ABookmark:TBookmark;  
  AMonth,AParentNo:Integer;
  AValue:double;
begin
  //销售数量和销售金额统计  按销售日期
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select I120_001 as FNo,''[''+I120_002+'']''+I120_003 as FName,I120_004 as FParent,sum(O510B_005) as FQty,sum(O510B_013) as FAmount,month(O510A_003) as FMonth');
  ADOQuery1.SQL.Add('from ORD510A,ORD510B,INV150,INV120');
  ADOQuery1.SQL.Add('where O510A_001=O510B_001 and O510B_003=I150_001 and I150_005=I120_001 and year(O510A_003)='+AYear);
  ADOQuery1.SQL.Add('group by I120_001,''[''+I120_002+'']''+I120_003,I120_004,month(O510A_003)');
  ADOQuery1.SQL.Add('order by ''[''+I120_002+'']''+I120_003');
  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').AsString+']'+ADOQuery1.FieldByName('FName').AsString;
      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','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty2').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty2','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty3').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty3','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty4').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty4','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty5').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty5','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty6').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty6','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty7').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty7','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty8').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty8','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty9').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty9','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty10').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty10','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty11').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty11','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FQty12').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FQty12','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FTotal').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FTotal','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount1').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount1','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount2').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount2','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount3').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount3','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount4').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount4','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount5').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount5','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount6').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount6','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount7').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount7','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount8').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount8','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount9').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount9','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount10').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount10','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount11').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount11','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FAmount12').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount12','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
      ADODataSet1.GotoBookmark(ABookmark);
      AValue:=ADODataSet1.FieldByName('FFinish').AsInteger;
      UpdateParent(AParentNo,AValue,ADODataSet1,'FFinish','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
    end;
    ADODataSet1.GotoBookmark(ABookmark);
    ADODataSet1.FreeBookmark(ABookmark);
    ADODataSet1.Next;
  end;
end;

procedure TOrd410_01Form.BySeller(AYear: string);
var
  AValue:double;
  AMonth:integer;
begin
  //销售数量和销售金额统计  按销售日期
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select H150_001 as FNo,''[''+H150_002+'']''+H150_003 as FName,H150_001 as FParent,sum(O510B_005) as FQty,sum(O510B_013) as FAmount,month(O510A_003) as FMonth');
  ADOQuery1.SQL.Add('from ORD510A,ORD510B,HRM150');
  ADOQuery1.SQL.Add('where O510A_001=O510B_001 and O510A_005=H150_001 and year(O510A_003)='+AYear);
  ADOQuery1.SQL.Add('group by H150_001,''[''+H150_002+'']''+H150_003,H150_001,month(O510A_003)');
  ADOQuery1.SQL.Add('order by ''[''+H150_002+'']''+H150_003');
  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);

⌨️ 快捷键说明

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