unit U_ElevatorKcList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset ,MMSystem, Menus, BtnEdit,U_SLT,jpeg; type TfrmElevatorKcList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1P_CodeName: TcxGridDBColumn; v1P_SPEC: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1CRType: TcxGridDBColumn; v1CRTime: TcxGridDBColumn; Label3: TLabel; P_CodeName: TEdit; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; TOk: TToolButton; v1Ssel: TcxGridDBColumn; Label7: TLabel; P_Color: TEdit; Label8: TLabel; Label9: TLabel; kuwei: TEdit; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; ADOQueryPrint: TADOQuery; RMDB_Main: TRMDBDataSet; RM1: TRMGridReport; v1Column8: TcxGridDBColumn; ADOQueryMain: TADOQuery; Label13: TLabel; v1Column9: TcxGridDBColumn; P_Code: TEdit; Label18: TLabel; v1Column16: TcxGridDBColumn; Label31: TLabel; FactoryName: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; ToolButton2: TToolButton; v1Column2: TcxGridDBColumn; Panel2: TPanel; Label1: TLabel; Button1: TButton; edtKuWei: TBtnEditA; ToolButton1: TToolButton; v1Column1: TcxGridDBColumn; GroupBox1: TGroupBox; ScrollBox1: TScrollBox; v1Column7: TcxGridDBColumn; v1Column10: TcxGridDBColumn; adoqueryPicture: TADOQuery; ToolButton3: TToolButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure P_CodeNameChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TOkClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure edtKuWeiBtnClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton3Click(Sender: TObject); private procedure InitGrid(); procedure SetStatus(); procedure InitImage(); { Private declarations } public fType:integer; fCKName:string; { Public declarations } end; var frmElevatorKcList: TfrmElevatorKcList; var Mach: array of TfrmSlt; implementation uses U_DataLink,U_Fun10,U_ZDYHelp; {$R *.dfm} procedure TfrmElevatorKcList.InitImage(); var i,j:integer; jpg:TJpegImage; myStream: TADOBlobStream; begin j:=length(Mach); if j>0 then begin for i:=0 to j-1 do begin Mach[i].free; end; end; SetLength(Mach, 0); IF CDS_Main.IsEmpty then exit; try with adoqueryPicture do begin close; sql.Clear; sql.Add(' select A.TFID,A.WBID,A.FilesOther,B.FileName from TP_File A,XD_File B where A.TFID =B.XFID '); if CDS_Main.IsEmpty=False then begin sql.Add('and A.WBID='+quotedstr(trim(CDS_Main.fieldbyname('MJID').AsString))); end else begin sql.add(' and 1=2'); end; open; end; j:=adoqueryPicture.RecordCount; if j<1 then exit; adoqueryPicture.DisableControls; adoqueryPicture.First; SetLength(Mach, j); jpg:=TJpegImage.Create(); for i:=0 to j-1 do begin if triM(adoqueryPicture.fieldbyname('FilesOther').AsString)<>'' then begin myStream:=tadoblobstream.Create(tblobfield(adoqueryPicture.fieldbyname('FilesOther')),bmread); jpg.LoadFromStream(myStream); Mach[i] := TfrmSlt.Create(Self); Mach[i].Name:=trim(adoqueryPicture.fieldbyname('TFID').AsString); Mach[i].Parent := ScrollBox1; Mach[I].Left:=0+i*165; Mach[i].Init(adoqueryPicture.fieldbyname('TFID').AsString,adoqueryPicture.fieldbyname('FileName').AsString,jpg); end; adoqueryPicture.Next; end; adoqueryPicture.EnableControls; finally jpg.free; application.ProcessMessages; end; end; procedure TfrmElevatorKcList.SetStatus(); begin if fType=10 then begin TOk.Visible:=true; v1Ssel.Visible:=true; ToolButton1.Visible:=True; end; end; procedure TfrmElevatorKcList.InitGrid(); begin try with adoqueryMain do begin close; sql.Clear; sql.Add(' select A.* '); SQL.Add(' from CK_Sample_CR A '); sql.Add(' where A.Qty<>0 and CKName='+quotedstr(trim(fCKName))); sql.ADD(' and A.Valid=''Y'' and A.CRFlag=''入库'' '); sql.Add(' order by A.CRTime desc,A.CRNO desc'); open; end; SCreateCDS20(adoqueryMain,CDS_Main); SInitCDSData20(adoqueryMain,CDS_Main); finally end; end; procedure TfrmElevatorKcList.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption+tv1.Name,Tv1,'面料仓库'); if fType=10 then Action:=cahide else Action:=cafree; end; procedure TfrmElevatorKcList.FormDestroy(Sender: TObject); begin frmElevatorKcList:=nil; end; procedure TfrmElevatorKcList.P_CodeNameChange(Sender: TObject); begin if adoqueryMain.Active=False then Exit; SDofilter(adoqueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(adoqueryMain,CDS_Main); SInitCDSData20(adoqueryMain,CDS_Main); end; procedure TfrmElevatorKcList.FormShow(Sender: TObject); begin readCxGrid(self.Caption+tv1.Name,Tv1,'面料仓库'); SetStatus(); InitGrid(); end; procedure TfrmElevatorKcList.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmElevatorKcList.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TfrmElevatorKcList.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmElevatorKcList.TOkClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ModalResult:=1; end; procedure TfrmElevatorKcList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,true); end; procedure TfrmElevatorKcList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,false); end; procedure TfrmElevatorKcList.edtKuWeiBtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='mykuwei'; flagname:='库位'; if ShowModal=1 then begin edtKuWei.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmElevatorKcList.ToolButton2Click(Sender: TObject); begin if adoqueryMain.Active=False then Exit; SDofilter(adoqueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(adoqueryMain,CDS_Main); SInitCDSData20(adoqueryMain,CDS_Main); end; procedure TfrmElevatorKcList.ToolButton1Click(Sender: TObject); begin if Panel2.Visible=False then Panel2.Visible:=True else Panel2.Visible:=False; end; procedure TfrmElevatorKcList.Button1Click(Sender: TObject); begin if trim(edtKuWei.Text)='' then exit; try ADOQueryCmd.Connection.BeginTrans; while CDS_Main.Locate('SSel',true,[]) do begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update CK_Sample_CR set kuwei='+quotedstr(trim(edtKuWei.Text))); sql.Add(' where CRNO='+quotedstr(trim(CDS_Main.FieldByName('CRNO').AsString))); execsql; end; with CDS_Main do begin Edit; FieldByName('SSel').Value:=false; FieldByName('KuWei').Value:=trim(edtKuWei.Text); end; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; end end; procedure TfrmElevatorKcList.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin InitImage(); end; procedure TfrmElevatorKcList.ToolButton3Click(Sender: TObject); begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('exec P_Up_SampleKcAll'); execsql; end; end; end.