unit U_MLMangeRS_Sel;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
  cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
  StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
  cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
  cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
  cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
  RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxTextEdit,
  cxButtonEdit, Menus, cxLookAndFeelPainters, cxButtons, cxImage;

type
  TfrmMLMangeRS_Sel = class(TForm)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBClose: TToolButton;
    DataSource1: TDataSource;
    ADOQueryTree: TADOQuery;
    ADOQueryTemp: TADOQuery;
    ADOQueryCmd: TADOQuery;
    cxGridPopupMenu1: TcxGridPopupMenu;
    Panel1: TPanel;
    ToolButton2: TToolButton;
    DataSource2: TDataSource;
    ADOQueryMain: TADOQuery;
    CDS_Main: TClientDataSet;
    ToolButton1: TToolButton;
    RM1: TRMGridReport;
    RMDB_Main: TRMDBDataSet;
    ODPat: TOpenDialog;
    IdFTP1: TIdFTP;
    SaveDialog1: TSaveDialog;
    DataSource3: TDataSource;
    cxGridPopupMenu2: TcxGridPopupMenu;
    Order_GX: TClientDataSet;
    DataSource4: TDataSource;
    cxGridPopupMenu3: TcxGridPopupMenu;
    ML_Col: TClientDataSet;
    DataSource5: TDataSource;
    cxGridPopupMenu4: TcxGridPopupMenu;
    CDS_Sub: TClientDataSet;
    cxStyleRepository1: TcxStyleRepository;
    cxStyle1: TcxStyle;
    cxGridPopupMenu5: TcxGridPopupMenu;
    DataSource6: TDataSource;
    Ord_HX: TClientDataSet;
    ADOQuery1: TADOQuery;
    TCK: TToolButton;
    Panel5: TPanel;
    Label2: TLabel;
    MLNo: TEdit;
    Label1: TLabel;
    Label4: TLabel;
    MLName: TEdit;
    GYLXName: TEdit;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1MLNo: TcxGridDBColumn;
    v1MLName: TcxGridDBColumn;
    v1MLMF: TcxGridDBColumn;
    v1MLKZ: TcxGridDBColumn;
    v1Column1: TcxGridDBColumn;
    v1Column2: TcxGridDBColumn;
    v1GYLXName: TcxGridDBColumn;
    v1SKID: TcxGridDBColumn;
    cxGrid1Level1: TcxGridLevel;
    Label3: TLabel;
    ToolButton3: TToolButton;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TBCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure cxDBTreeList1DblClick(Sender: TObject);
    procedure TBRafreshClick(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure MLNoChange(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ToolButton10Click(Sender: TObject);
    procedure TV4CellClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure Tv1DblClick(Sender: TObject);
    procedure TCKClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    PState:Integer;
    FCPID,FTopID:String;
    procedure InitTree();
    procedure InitGrid();
    procedure ReadINIFile();
    procedure ButtonColorCSH();
  public
    canshu1:string;
    { Public declarations }
  end;

var
  frmMLMangeRS_Sel: TfrmMLMangeRS_Sel;

implementation
uses
  U_DataLink,U_Fun,U_CPAdd,U_FileUp,U_MLManage_LR,U_BPZdy_LR,U_BPZdy_SH,U_MLManage_LRRS,
  U_MLManage_FHLR,U_MLManage_ZHLR,U_BPZdy_HXK,U_MLMange_CX,U_BPZdy_LRPB,U_BPZdy_LRGX,
  U_CPManage_TP,U_BPZdy_LRSHK, U_BPZdy_PanelCX,U_BPZdy_Panel;

{$R *.dfm}

procedure TfrmMLMangeRS_Sel.InitTree();
begin
  
end;

procedure TfrmMLMangeRS_Sel.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * ');
      sql.Add(',SKID=(select B.SKID from BP_ZDY B where B.BPID=A.MBPID)');
      sql.Add(',BPCode=(select B.BPCode from BP_ZDY B where B.BPID=A.MBPID)');
      sql.Add(' from ML_Manage A ');
      sql.Add(' where isnull(MLType,'''')=''染色面料'' ');
      Open;
    end;
    SCreateCDS20(ADOQueryMain,CDS_Main);
    SInitCDSData20(ADOQueryMain,CDS_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmMLMangeRS_Sel.FormDestroy(Sender: TObject);
begin
  frmMLMangeRS_Sel:=nil;
end;

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

procedure TfrmMLMangeRS_Sel.TBCloseClick(Sender: TObject);
begin
  WriteCxGrid('染色面料选择',Tv1,'样品管理');
  Close;
end;
procedure TfrmMLMangeRS_Sel.FormShow(Sender: TObject);
begin
  InitGrid();
  ReadCxGrid('染色面料选择',Tv1,'样品管理');
end;

procedure TfrmMLMangeRS_Sel.cxDBTreeList1DblClick(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmMLMangeRS_Sel.TBRafreshClick(Sender: TObject);
begin
  InitGrid();
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
    SCreateCDS20(ADOQueryMain,CDS_Main);
    SInitCDSData20(ADOQueryMain,CDS_Main);
  end;
end;

procedure TfrmMLMangeRS_Sel.ToolButton2Click(Sender: TObject);
begin
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
    SCreateCDS20(ADOQueryMain,CDS_Main);
    SInitCDSData20(ADOQueryMain,CDS_Main);
  end;
end;

procedure TfrmMLMangeRS_Sel.MLNoChange(Sender: TObject);
begin
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain,SGetFilters(Panel5,1,2));
    SCreateCDS20(ADOQueryMain,CDS_Main);
    SInitCDSData20(ADOQueryMain,CDS_Main);
  end;
end;

procedure TfrmMLMangeRS_Sel.ToolButton1Click(Sender: TObject);
begin
  if CDS_Main.IsEmpty then Exit;
  TcxGridToExcel('客户拿样',cxGrid1);
end;

procedure TfrmMLMangeRS_Sel.ReadINIFile();
var
  programIni:Tinifile;  //配置文件名
  FileName:string;
begin
  FileName:=ExtractFilePath(Paramstr(0))+'SYSTEMSET.INI';
  programIni:=Tinifile.create(FileName);
  server:=programIni.ReadString('SERVER','服务器地址','127.0.0.1');
  programIni.Free;
end;

procedure TfrmMLMangeRS_Sel.Tv1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add(' select A.*,isnull(B.BPCode,C.MLNo) BPCode,isnull(B.BPName,C.MLName) BPName');
    sql.Add(' ,isnull(B.BPMF,C.MLMF) BPMF,isnull(B.BPKZ,C.MLKZ) BPKZ');
    sql.Add(',B.BPJS,B.BPWS,B.BPMiDu,B.BPUnit,C.MLDLNo,C.DLHXK');
    SQL.Add(' from ML_Manage_PB A left join BP_ZDY B on B.BPID=A.BPID ');
    sql.Add(' left join ML_Manage C on C.MLID=A.BPID');
    sql.Add(' where A.MLID='''+Trim(CDS_Main.fieldbyname('MLID').AsString)+'''');
    //ShowMessage(sql.Text);
    Open;
  end;
  SCreateCDS20(ADOQueryCmd,CDS_Sub);
  SInitCDSData20(ADOQueryCmd,CDS_Sub);
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add(' select A.*,B.*,C.* from ML_Manage_GX A inner join BP_ZDY B on B.BPID=A.BPID ');
    sql.Add('inner join BP_ZDY_Sub C on C.BPSubID=A.BPSubID');
    sql.Add(' where A.MLID='''+Trim(CDS_Main.fieldbyname('MLID').AsString)+'''');
    Open;
  end;
  SCreateCDS20(ADOQueryCmd,Order_GX);
  SInitCDSData20(ADOQueryCmd,Order_GX);
  //if CDS_Main.FieldByName('MLType').AsString<>'复合' then
  begin
    //if CDS_Main.FieldByName('MLType').AsString<>'组合' then
    begin
      with ADOQueryCmd do
      begin
        Close;
        SQL.Clear;
        sql.Add('select * from BP_ZDY_Sub ');
        sql.Add('where BPCode='''+Trim(CDS_Main.fieldbyname('MLDLNo').AsString)+''' and BPflag=''SHK''');
        Open;
      end;
      SCreateCDS20(ADOQueryCmd,ML_Col);
      SInitCDSData20(ADOQueryCmd,ML_Col);
    end;
    with ADOQueryCmd do
    begin
      Close;
      SQL.Clear;
      sql.Add('select A.*,B.* from BP_ZDY_Sub A ');
      Sql.Add('inner join KH_Zdy_Attachment B on A.HXATID=B.ATID and B.Type=''CPHX''');
      sql.Add(' where A.BPCode='''+trim(CDS_Main.fieldbyname('DLHXK').AsString)+'''');
      open;
    end;
    SCreateCDS20(ADOQueryCmd,Ord_HX);
    SInitCDSData20(ADOQueryCmd,Ord_HX);
  end;
end;

procedure TfrmMLMangeRS_Sel.ToolButton10Click(Sender: TObject);
begin
  {if RadioGroup1.ItemIndex=-1 then
  begin
    application.MessageBox('请选择工序','提示');
    exit;
  end;}
  
end;

procedure TfrmMLMangeRS_Sel.TV4CellClick(Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);
begin
  //if CDS_Main.FieldByName('MLType').AsString='复合' then
  begin
    with ADOQuery1 do
    begin
      Close;
      SQL.Clear;
      sql.Add('select * from BP_ZDY_Sub ');
      sql.Add('where BPCode='''+Trim(CDS_Sub.Fieldbyname('MLDLNo').AsString)+''' and BPflag=''SHK''');
      Open;
    end;
    SCreateCDS20(ADOQuery1,ML_Col);
    SInitCDSData20(ADOQuery1,ML_Col);
    with ADOQuery1 do
    begin
      Close;
      SQL.Clear;
      sql.Add('select A.*,B.* from BP_ZDY_Sub A ');
      Sql.Add('inner join KH_Zdy_Attachment B on A.HXATID=B.ATID and B.Type=''CPHX''');
      sql.Add(' where A.BPCode='''+trim(CDS_Sub.Fieldbyname('DLHXK').AsString)+'''');
      open;
    end;
    SCreateCDS20(ADOQuery1,Ord_HX);
    SInitCDSData20(ADOQuery1,Ord_HX);
  end;
end;

procedure TfrmMLMangeRS_Sel.Tv1DblClick(Sender: TObject);
begin
  TCK.Click;
end;

procedure TfrmMLMangeRS_Sel.TCKClick(Sender: TObject);
begin
  if CDS_Main.FieldByName('GYType').AsString='染色' then
  begin
    try
      frmMLManage_LRRS:=TfrmMLManage_LRRS.Create(Application);
      with frmMLManage_LRRS do
      begin
        FCYID:=Trim(Self.CDS_Main.fieldbyname('MLID').AsString);
        FGYName:='染色';
        viewFlag:=True;
        if ShowModal=1 then
        begin
          Self.InitGrid();
        end;
      end;
    finally
      frmMLManage_LRRS.Free;
    end;
  end;
end;

procedure TfrmMLMangeRS_Sel.ButtonColorCSH();
begin

end;

procedure TfrmMLMangeRS_Sel.FormCreate(Sender: TObject);
begin
  canshu1:=Trim(DParameters1);
end;

end.
