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

📄 stclothstockrep.pas

📁 详细的ERP设计资料
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit STClothStockRep;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, WSVoucherBrowse, DB, ActnList, Grids,WSEdit, DBGrids, QLDBGrid,
  ComCtrls, ExtCtrls, ToolWin,DateUtils, ADODB, StdCtrls, Buttons, GEdit,
  DBCtrls, Menus, WNADOCQuery,TypInfo, CheckLst;

type
  TSTClothStockRepForm = class(TWSVoucherBrowseForm)
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    adsMaster: TADODataSet;
    Panel2: TPanel;
    ADOQuery: TADOQuery;
    ADOQuery2: TADOQuery;
    Panel3: TPanel;
    Panel5: TPanel;
    Button3: TButton;
    TempAds: TADODataSet;
    WNADOCQuery1: TWNADOCQuery;
    Button1: TButton;
    Panel4: TPanel;
    GroupBox3: TGroupBox;
    Memo1: TMemo;
    Button2: TButton;
    Panel6: TPanel;
    Button4: TButton;
    ExpSttcGroupBox: TGroupBox;
    ExpSttcCheckListBox: TCheckListBox;
    ExpSttcCkBxPopMenu: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    GroupBox1: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    ListGoodsDetailAct: TAction;
    ListGoodsDetail: TMenuItem;
    VipsetPanel: TPanel;
    Label1: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Button5: TButton;
    Button6: TButton;
    ToolButton1: TToolButton;
    GoodsFlowListAct: TAction;
    AccountListQry: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    AccountListQryDSDesigner: TDateTimeField;
    AccountListQryDSDesigner2: TStringField;
    AccountListQryDSDesigner3: TStringField;
    AccountListQryDSDesigner4: TStringField;
    AccountListQryDSDesigner5: TStringField;
    AccountListQryDSDesigner6: TStringField;
    AccountListQryDSDesigner7: TStringField;
    AccountListQryDSDesigner8: TStringField;
    AccountListQryDSDesigner9: TStringField;
    AccountListQryDSDesigner10: TBCDField;
    AccountListQryDSDesigner11: TBCDField;
    AccountListQryDSDesigner12: TBCDField;
    AccountListQryDSDesigner13: TStringField;
    AccountListQryDSDesigner14: TBCDField;
    AccountListQryDSDesigner15: TBCDField;
    AccountListQryDSDesigner16: TBCDField;
    AccountListQryDSDesigner17: TBCDField;
    AccountListQryDSDesigner18: TBCDField;
    AccountListQryDSDesigner19: TStringField;
    AccountListQryDSDesigner20: TBCDField;
    AccountListQryDSDesigner21: TBCDField;
    AccountListQryDSDesigner22: TBCDField;
    AccountListQryDSDesigner23: TBCDField;
    AccountListQryDSDesigner24: TBCDField;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    DeadStockAct: TAction;
    procedure UpdateDBGrid;
    procedure DBGridTitleClick(Column: TColumn);
    procedure DBGridDblClick(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure adsMasterBeforeOpen(DataSet: TDataSet);
    procedure ExpSttcCheckListBoxClickCheck(Sender: TObject);
    procedure ListGoodsDetailActExecute(Sender: TObject);
    procedure GoodsFlowListActExecute(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure DateTimePicker1CloseUp(Sender: TObject);
    procedure DateTimePicker2CloseUp(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure adsMasterAfterOpen(DataSet: TDataSet);
    procedure DeadStockActExecute(Sender: TObject);

  private
    { Private declarations }
    WhereStr,SelectStr :string;
  public
    { Public declarations }
  protected
    function CreateEditForm: TWSEditForm; override;
  end;

var
  STClothStockRepForm: TSTClothStockRepForm;

implementation

uses CommonDM,QLDBFlt,QLRptBld,SLRpCheckReckoning;

{$R *.dfm}

function TSTClothStockRepForm.CreateEditForm: TWSEditForm;
begin
//  Result := TSLEdClearBillAForm.Create(Self);
end;


procedure TSTClothStockRepForm.UpdateDBGrid;
var I: Integer;
begin
  with DBGrid do
  begin
    FooterRowCount := 0;
    Columns[0].Footer.ValueType := fvtStaticText;
    Columns[0].Footer.Value := '合计:';
    Columns[0].Footer.Alignment := taCenter;
    Columns[0].Title.Alignment:= taCenter;
    for I := 0 to Columns.Count - 1 do
    begin
      Columns[i].Width :=120;
      if Pos('日',Columns[I].FieldName)>0 then Columns[i].Width :=70;
      if Pos('编',Columns[I].FieldName)>0 then Columns[i].Width :=70;
      Columns[i].Title.Alignment:= taCenter;
      if Columns[I].Field is TNumericField then
      begin
        if (not CheckBox1.Checked) and (Pos('数量',Columns[I].FieldName)>0 )
             then Columns[I].Visible :=False;
        if (not CheckBox2.Checked) and  (Pos('单价',Columns[I].FieldName)>0 )
             then Columns[I].Visible :=False;
        if (not CheckBox3.Checked) and  (Pos('金额',Columns[I].FieldName)>0 )
             then Columns[I].Visible :=False;
        SetStrProp(Fields[I], 'DisplayFormat','#,#.00') ;
        if (Pos('单价',Columns[I].FieldName)<=0)   then
           Columns[I].Footer.ValueType := fvtSum;
      end;
    end;
    FooterRowCount := 1;
  end;
end;

procedure TSTClothStockRepForm.DBGridTitleClick(Column: TColumn);
begin
  inherited;
  UpdateDBGrid;
end;

procedure TSTClothStockRepForm.DBGridDblClick(Sender: TObject);
begin
// inherited;
end;


procedure TSTClothStockRepForm.Button3Click(Sender: TObject);
begin
  inherited;
  WNADOCQuery1.TabName :='TempExpenseList';
  WNADOCQuery1.ConnectionString :=CommonData.acnConnection.ConnectionString;
  WNADOCQuery1.Execute(False);
  if  trim(WNADOCQuery1.QueryTerm)<>'' then
      WhereStr :=' where ' +  trim(WNADOCQuery1.QueryTerm)
      else WhereStr :=' Where 1=1 ' ;
  Memo1.ReadOnly :=False;
  Memo1.Clear;
  if ( copy(trim(WNADOCQuery1.QueryTerm),1,3) ='not' ) or
    ( copy(trim(WNADOCQuery1.QueryTerm),1,3) ='NOT' )then
     Memo1.Text :='全部不满足条件: '
     +Copy(trim(WNADOCQuery1.ShowTerm.Text),5,length(trim(WNADOCQuery1.ShowTerm.Text))-4 )
     else Memo1.Text :=Copy(trim(WNADOCQuery1.ShowTerm.Text),5,length(trim(WNADOCQuery1.ShowTerm.Text))-4);
  if WhereStr =' Where 1=1 ' then
    begin
      Memo1.Clear;
      Memo1.Text :='不限制条件!';
    end;
  Memo1.ReadOnly :=True;
  ToolBar.Hint :=' 台帐条件: '+Memo1.Text;
  if Button1.Tag=1 then Button1Click(sender)
    else Button2Click(sender);
end;

procedure TSTClothStockRepForm.FormShow(Sender: TObject);
var I :integer;
begin
  inherited;
  ADOQuery.Close;
  ADOQuery.SQL.Text :=' IF EXISTS(  SELECT * FROM tempdb..sysobjects '
        +' WHERE ID = OBJECT_ID('+Quotedstr('tempdb..#ExpenseList')
        +' )) DROP TABLE #ExpenseList ' ;
  ADOQuery.ExecSQL;

//销售出库
  ADOQuery.Close;
  ADOQuery.SQL.Text :=' select b.Date [日期], '
    +' b.Code [编号],                        '
    +' b.BillMode [业务类别],                '
    +' d.name  [经手人] ,                    '
    +' c.name [仓库名称],                    '
    +' h.name [商品类别],                    '
    +' e.name [商品名称],                    '
    +' e.Code [商品编号],                    '
    +' g.name [标准单位],                    '
    +' a.GoodsSpec [颜色],               '
    +' a.CapStyle [杯型],               '
    +' Isnull(a.SizeA,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库S],  '   //
    +' Isnull(a.SizeB,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库M],  '
    +' Isnull(a.SizeC,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库L],  '
    +' Isnull(a.SizeD,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库XL],  '
    +' Isnull(a.SizeE,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库XXL],  '
    +' Isnull(a.SizeF,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库XXXL],  '
    +' Isnull(a.QuantityPcs,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库均码],                  '

    +' a.GoalQuantity*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库标准数量],  '
    +' a.PriceGoal [入库标准单价],                '
    +' a.Amount*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库金额], '

//    +' f.name     [入库包装单位],                '
//    +' a.Quantity*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库包装数量],     '
//    +' a.PriceBase [入库包装单价]  ,             '


    +' Isnull(a.SizeA,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [出库S],  '   //
    +' Isnull(a.SizeB,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [出库M],  '
    +' Isnull(a.SizeC,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [出库L],  '
    +' Isnull(a.SizeD,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [出库XL],  '
    +' Isnull(a.SizeE,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [出库XXL],  '
    +' Isnull(a.SizeF,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [出库XXXL],  '
    +' Isnull(a.QuantityPcs,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [出库均码], '

    +' a.GoalQuantity*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [出库标准数量],  '
    +' a.PriceGoal [出库标准单价],                '
    +' a.Amount*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [出库金额] '

//    +' f.name     [出库包装单位],                '
//    +' a.Quantity*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [出库包装数量],     '
//    +' a.PriceBase [出库包装单价]                '
    +' into #ExpenseList '
    +' from SLSaleDetail a                   '
    +' left outer join SLSaleMaster     b on b.ID=a.MasterID      '
    +' left outer join STWarehouse         c on c.ID=b.WareHouseID      '
    +' left outer join MSEmployee       d on d.ID=b.EmployeeID    '
    +' left outer join DAGoods          e on e.ID=a.GoodsID       '
    +' left outer join MSUnit           f on f.ID=a.PackUnitID    '
    +' left outer join MSUnit           g on g.ID=E.UnitID    '
    +' left outer join DAGoodsClass     h on h.ID=e.GoodsClassID  '
    +' where b.RecordState<>'+ Quotedstr('删除')
    +' and isnull(a.GoodsID,0) <>0 '
    +' order by  b.date ,b.code,a.ID ';
  ADOQuery.ExecSQL;
//销售出库

  ADOQuery.Close;
  ADOQuery.SQL.Text :=' Update  #ExpenseList set [入库S]=null , '
    +' [入库M]=null, [入库L]=null , [入库XL]=null ,    '
    +' [入库XXL]=null,[入库XXXL]=null, [入库均码]=null,  '
    +' [入库标准数量]=null,[入库标准单价]=null ,[入库金额]=null ';
  ADOQuery.ExecSQL;

  //采购入库--
  ADOQuery.Close;
  ADOQuery.SQL.Text :=' insert into  #ExpenseList (     '
    +' [日期], [编号],[业务类别],[经手人] , [仓库名称],  '
    +' [商品类别], [商品名称],[商品编号],[标准单位],[颜色],[杯型], '
    +' [入库S] ,[入库M],[入库L] , [入库XL] ,    '
    +' [入库XXL],[入库XXXL], [入库均码],            '
    +' [入库标准数量],[入库标准单价] ,[入库金额] ) '
    +' select b.Date [日期],   '
    +' b.Code [编号],                        '
    +' b.BillMode [业务类别],                '
    +' d.name  [经手人] ,                    '
    +' c.name [仓库名称],                    '
    +' h.name [商品类别],                    '
    +' e.name [商品名称],                    '
    +' e.Code [商品编号],                    '
    +' g.name [标准单位],                    '
    +' a.GoodsSpec [颜色],               '
    +' a.CapStyle [杯型],               '
    +' Isnull(a.SizeA,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库S],  '   //
    +' Isnull(a.SizeB,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库M],  '
    +' Isnull(a.SizeC,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库L],  '
    +' Isnull(a.SizeD,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库XL],  '
    +' Isnull(a.SizeE,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库XXL],  '
    +' Isnull(a.SizeF,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库XXXL],  '
    +' Isnull(a.QuantityPcs,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库均码],         '
    +' Isnull(a.GoalQuantity,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库标准数量],    '
    +' a.PriceGoal [入库标准单价],                '
    +' Isnull(a.Amount,0)*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库金额]              '
    +' from PCPurchaseDetail a                   '
    +' left outer join PCPurchaseMaster     b on b.ID=a.MasterID      '
    +' left outer join STWarehouse         c on c.ID=b.WareHouseID      '
    +' left outer join MSEmployee       d on d.ID=b.EmployeeID    '
    +' left outer join DAGoods          e on e.ID=a.GoodsID       '
    +' left outer join MSUnit           f on f.ID=a.PackUnitID    '
    +' left outer join MSUnit           g on g.ID=E.UnitID    '
    +' left outer join DAGoodsClass     h on h.ID=e.GoodsClassID  '
    +' where b.RecordState<>'+ Quotedstr('删除')
    +' and isnull(a.GoodsID,0) <>0 '
    +' order by  b.date ,b.code,a.ID ';
  ADOQuery.ExecSQL;
//采购入库--

//生产入库==
  {
  ADOQuery.Close;
  ADOQuery.SQL.Text :=' insert into  #ExpenseList ( '
    +' [日期], [编号],[业务类别],[经手人] , [仓库名称], '
    +' [商品类别], [商品名称],[规格型号],[标准单位],'
    +' [入库标准数量], [入库标准单价],[入库金额],[入库包装单位],    '
    +' [入库包装数量], [入库包装单价]  )'
    +' select b.Date [日期], '
    +' b.Code [编号],                        '
    +' b.BillMode [业务类别],                '
    +' d.name  [经手人] ,                    '
    +' c.name [仓库名称],                    '
    +' h.name [商品类别],                    '
    +' e.name [商品名称],                    '
    +' a.GoodsSpec [规格型号],               '
    +' g.name [标准单位],                    '
    +' a.GoalQuantity*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库标准数量],  '
    +' a.PriceGoal [入库标准单价],                '
    +' a.Amount*Isnull(b.ModeDC,1)*Isnull(b.ModeC,1) [入库金额],                  '
    +' f.name     [入库包装单位],                '

⌨️ 快捷键说明

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