unit U_MLMangeTJCX;

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, BtnEdit,
  jpeg;

type
  TfrmMLMangeTJCX = 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;
    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;
    DataSource6: TDataSource;
    Ord_HX: TClientDataSet;
    ADOQuery1: TADOQuery;
    Panel5: TPanel;
    Label2: TLabel;
    TJML: TEdit;
    Label1: TLabel;
    Label4: TLabel;
    MLPinYin: TEdit;
    TJGYName: TEdit;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1TJML: TcxGridDBColumn;
    v1MLName: TcxGridDBColumn;
    v1MLMF: TcxGridDBColumn;
    v1MLKZ: TcxGridDBColumn;
    v1Column1: TcxGridDBColumn;
    v1TJGYName: TcxGridDBColumn;
    cxGrid1Level1: TcxGridLevel;
    Label3: TLabel;
    v1MLXXGYName: TcxGridDBColumn;
    v1HXType: TcxGridDBColumn;
    v1MLXXNO: TcxGridDBColumn;
    v1ColGS: TcxGridDBColumn;
    Label5: TLabel;
    MLXXNO: TEdit;
    Label6: TLabel;
    MLKZ: TEdit;
    Label7: TLabel;
    Button1: TButton;
    HXType: TEdit;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N4: TMenuItem;
    RM2: TRMGridReport;
    N5: TMenuItem;
    ToolButton1: 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 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 FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure HXTypeChange(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure Tv1DblClick(Sender: TObject);
  private
    { Private declarations }
    PState:Integer;
    FCPID,FTopID:String;
    procedure InitGrid();
    procedure ReadINIFile();
  public
    canshu1,FTJTPID,FFTJHX:string;
    { Public declarations }
  end;

var
  frmMLMangeTJCX: TfrmMLMangeTJCX;

implementation
uses
  U_DataLink,U_Fun,U_FileUp, U_SCPerson,U_MLManage_LRTJ;

{$R *.dfm}

procedure TfrmMLMangeTJCX.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select *,MLDLNo SKID,MLPinYin=dbo.getPinYin(A.MLName) ');
      sql.Add(',ColGS=(select count(B.TJML) from Image_Info B where B.TJML=A.TJML)');
      sql.Add(' from ML_Manage A ');
      sql.Add(' where isnull(A.MLType,'''')=''烫金面料'' ');
      Open;
    end;
    SCreateCDS20(ADOQueryMain,CDS_Main);
    SInitCDSData20(ADOQueryMain,CDS_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmMLMangeTJCX.FormDestroy(Sender: TObject);
begin
  frmMLMangeTJCX:=nil;
end;

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

procedure TfrmMLMangeTJCX.TBCloseClick(Sender: TObject);
begin
  WriteCxGrid('烫金面料1',Tv1,'样品管理');
  Close;
end;
procedure TfrmMLMangeTJCX.FormShow(Sender: TObject);
begin
  {if canshu1='高权限' then
  begin
    toolbutton11.Visible:=True;
    ToolButton3.Visible:=true;
    TBDel.Visible:=true;
  end
  else
  begin
    if canshu1='查询' then
    begin
      toolbutton11.Visible:=false;
      ToolButton3.Visible:=false;
      TBDel.Visible:=false;
    end
    else
    begin
      toolbutton11.Visible:=false;
      ToolButton3.Visible:=false;
      TBDel.Visible:=false;
    end;
  end;}
  InitGrid();
  ReadCxGrid('烫金面料1',Tv1,'样品管理');
end;

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

procedure TfrmMLMangeTJCX.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 TfrmMLMangeTJCX.ToolButton2Click(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 TfrmMLMangeTJCX.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 TfrmMLMangeTJCX.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 TfrmMLMangeTJCX.ToolButton10Click(Sender: TObject);
begin
  {if RadioGroup1.ItemIndex=-1 then
  begin
    application.MessageBox('请选择工序','提示');
    exit;
  end;}
  
end;

procedure TfrmMLMangeTJCX.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 TfrmMLMangeTJCX.FormCreate(Sender: TObject);
begin
  canshu1:=Trim(DParameters1);
end;

procedure TfrmMLMangeTJCX.Button1Click(Sender: TObject);
begin
  frmSCPerson:=TfrmSCPerson.Create(Application);
  with frmSCPerson do
  begin
    FlagStr:='HXZDYType';
    if ShowModal=1 then
    begin
      HXType.Text:=Trim(FSDPerson);
    end;
    free;
  end;
end;

procedure TfrmMLMangeTJCX.HXTypeChange(Sender: TObject);
begin
  ToolButton2.Click;
end;

procedure TfrmMLMangeTJCX.ToolButton1Click(Sender: TObject);
begin
  modalresult:=1
end;

procedure TfrmMLMangeTJCX.Tv1DblClick(Sender: TObject);
begin
  try
    frmMLManage_LRTJ:=TfrmMLManage_LRTJ.Create(Application);
    with frmMLManage_LRTJ do
    begin
      FCYID:=Trim(Self.CDS_Main.fieldbyname('MLID').AsString);
      FGYName:='烫金';
      FTJML:=Trim(Self.CDS_Main.fieldbyname('TJML').AsString);
      FTJGYName:=Trim(Self.CDS_Main.fieldbyname('TJGYName').AsString);
      if ShowModal=1 then
      begin
        FTJTPID:=Trim(FTJTP);
        FFTJHX:=Trim(FTJHX);
      end;
    end;
  finally
    frmMLManage_LRTJ.Free;
  end;
  ModalResult:=1;
end;

end.


