unit U_DyeGreyClothStkList;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
  cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
  cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
  cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
  ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
  cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
  RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit,
  cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
  cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList;

type
  TfrmDyeGreyClothStkList = class(TfrmBaseList)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBFind: TToolButton;
    TBClose: TToolButton;
    Panel1: TPanel;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    DataSource1: TDataSource;
    cxGridPopupMenu1: TcxGridPopupMenu;
    CDS_Main: TClientDataSet;
    CDS_HZ: TClientDataSet;
    PopupMenu1: TPopupMenu;
    cxGrid2: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1Column14: TcxGridDBColumn;
    v2Column1: TcxGridDBColumn;
    v1Column8: TcxGridDBColumn;
    v1Column4: TcxGridDBColumn;
    v1Column5: TcxGridDBColumn;
    v1Column10: TcxGridDBColumn;
    v1Column1: TcxGridDBColumn;
    v2Column6: TcxGridDBColumn;
    v1Column3: TcxGridDBColumn;
    cxGrid2Level1: TcxGridLevel;
    Label3: TLabel;
    Label4: TLabel;
    Label8: TLabel;
    Label2: TLabel;
    C_name: TEdit;
    FromCoName: TEdit;
    C_spec: TEdit;
    C_XINHAO: TEdit;
    v1Column6: TcxGridDBColumn;
    v1Column7: TcxGridDBColumn;
    v1Column9: TcxGridDBColumn;
    v1Column11: TcxGridDBColumn;
    v1Column12: TcxGridDBColumn;
    Label5: TLabel;
    Saleser: TEdit;
    ToolButton2: TToolButton;
    Tv1Column1: TcxGridDBColumn;
    Tv1Column2: TcxGridDBColumn;
    Tv1Column3: TcxGridDBColumn;
    Label1: TLabel;
    StkPosition: TEdit;
    ToolButton1: TToolButton;
    Edit1: TEdit;
    ADOQueryTmp: TADOQuery;
    Tv1Column4: TcxGridDBColumn;
    Tv1Column5: TcxGridDBColumn;
    Tv1Column6: TcxGridDBColumn;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TBRafreshClick(Sender: TObject);
    procedure ConNoMChange(Sender: TObject);
    procedure TBCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TBFindClick(Sender: TObject);
    procedure MPRTCodeNameChange(Sender: TObject);
    procedure SXBatchNOChange(Sender: TObject);
    procedure FromCoNameChange(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);

    procedure Tv1Column3PropertiesChange(Sender: TObject);
    procedure Tv1Column3PropertiesEditValueChanged(Sender: TObject);
  private
    procedure InitGrid();
    { Private declarations }
  public
    FstkName, FWorkshop: string;
    { Public declarations }
  end;

var
  frmDyeGreyClothStkList: TfrmDyeGreyClothStkList;

implementation

uses
  U_DataLink, U_RTFun, U_ZDYHelp;

{$R *.dfm}

procedure TfrmDyeGreyClothStkList.FormDestroy(Sender: TObject);
begin
  inherited;
  frmDyeGreyClothStkList := nil;
end;

procedure TfrmDyeGreyClothStkList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  Action := caFree;
end;

procedure TfrmDyeGreyClothStkList.FormCreate(Sender: TObject);
begin
  inherited;
  FWorkshop := Trim(self.fParameters3);
end;

procedure TfrmDyeGreyClothStkList.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      sql.Clear;
      sql.Add(' select A.* ');
      sql.Add(' from BS_Cloth_IO A    ');
      SQL.Add(' where A.IOFlag=''入库'' and (isnull(StkQty,0)>0 or isnull(StkPiece,0)>0) ');
      sql.Add(' and isnull(stkName,'''')=''' + Trim(FstkName) + '''');
      if trim(FWorkshop) <> '' then
        sql.Add(' and A.Workshop=''' + trim(FWorkshop) + ''' ');
      Open;
    end;
    SCreateCDS(ADOQueryMain, CDS_Main);
    SInitCDSData(ADOQueryMain, CDS_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmDyeGreyClothStkList.TBRafreshClick(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmDyeGreyClothStkList.ConNoMChange(Sender: TObject);
begin
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
  end;
end;

procedure TfrmDyeGreyClothStkList.TBCloseClick(Sender: TObject);
begin

  Close;
end;

procedure TfrmDyeGreyClothStkList.FormShow(Sender: TObject);
begin
  inherited;
  ReadCxGrid(trim(Self.Caption), Tv1, '染色坯布仓库');
  InitGrid();
end;

procedure TfrmDyeGreyClothStkList.TBFindClick(Sender: TObject);
begin
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
    SCreateCDS(ADOQueryMain, CDS_Main);
    SInitCDSData(ADOQueryMain, CDS_Main);
  end;
end;

procedure TfrmDyeGreyClothStkList.MPRTCodeNameChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmDyeGreyClothStkList.SXBatchNOChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmDyeGreyClothStkList.FromCoNameChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmDyeGreyClothStkList.ToolButton1Click(Sender: TObject);
var
  FPiZhong: string;
  FReal: Double;
begin
  if Trim(edit1.Text) = '' then
  begin
    Application.MessageBox('库位不能为空!', '提示', 0);
    Exit;
  end;

  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    sql.Add(' update BS_Cloth_IO set StkPosition=' + quotedstr(Trim(edit1.Text)));
    sql.Add(' where  bcioid=   ' + quotedstr(cds_main.FieldByName('bcioid').asstring));

//    sql.Add('Update JYOrder_Main Set StkPosition=' + quotedstr(edit1.Text));
//    sql.Add(' where Mainid=''' + Trim(CDS_MAIN.fieldbyname('Mainid').AsString) + '''');
    ExecSQL;
  end;
  with CDS_MAIN do
  begin
    Edit;
    FieldByName('StkPosition').Value := edit1.Text;
    Post;
  end;
  tv1.Controller.EditingController.ShowEdit();
end;

procedure TfrmDyeGreyClothStkList.ToolButton2Click(Sender: TObject);
begin
  WriteCxGrid(trim(Self.Caption), Tv1, '染色坯布仓库');
end;

procedure TfrmDyeGreyClothStkList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
  ModalResult := 1;
end;

procedure TfrmDyeGreyClothStkList.Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
  inherited;
  try
    frmZDYHelp := TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag := 'StkPosition';
      flagname := '库位';
      MainType := FSTKName;
      if ShowModal = 1 then
      begin
        with Self.CDS_Main do
        begin
          Edit;
          FieldByName('StkPosition').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
          with ADOQueryTemp do
          begin

            Close;
            sql.Clear;

            sql.Add(' update BS_Cloth_IO set StkPosition=' + quotedstr(Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString)));
            sql.Add(' where  bcioid=   ' + quotedstr(cds_main.FieldByName('bcioid').asstring));

            execsql;
          end;
        end;
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;

end;

procedure TfrmDyeGreyClothStkList.Tv1Column3PropertiesChange(Sender: TObject);
var
  mvalue, FFieldName: string;
begin

  mvalue := TcxTextEdit(Sender).EditingText;
  FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
  with CDS_Main do
  begin
    Edit;
    FieldByName(FFieldName).Value := mvalue;
    Post;
  end;
  with ADOQueryTmp do
  begin

    Close;
    sql.Clear;

    sql.Add(' update BS_Cloth_IO set StkPosition=' + quotedstr(Trim(mvalue)));
    sql.Add(' where  bcioid=   ' + quotedstr(cds_main.FieldByName('bcioid').asstring));

    execsql;
  end;

  tv1.Controller.EditingController.ShowEdit();
end;

procedure TfrmDyeGreyClothStkList.Tv1Column3PropertiesEditValueChanged(Sender: TObject);
var
  mvalue, FFieldName: string;
begin

  mvalue := TcxTextEdit(Sender).EditingText;
  FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
  with CDS_Main do
  begin
    Edit;
    FieldByName(FFieldName).Value := mvalue;
    Post;
  end;
  with ADOQueryTmp do
  begin

    Close;
    sql.Clear;

    sql.Add(' update BS_Cloth_IO set StkPosition=' + quotedstr(Trim(mvalue)));
    sql.Add(' where  bcioid=   ' + quotedstr(cds_main.FieldByName('bcioid').asstring));

    execsql;
  end;

  tv1.Controller.EditingController.ShowEdit();
end;

end.

