unit U_KHGetCPManage; //4 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, RM_e_Xls,jpeg, BtnEdit, cxButtonEdit, cxDropDownEdit; type TfrmKHGetCPManage = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBAdd: TToolButton; TBDel: TToolButton; TBClose: TToolButton; DataSource1: TDataSource; ADOQueryPrint: TADOQuery; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; cxGridPopupMenu1: TcxGridPopupMenu; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; Panel1: TPanel; Label2: TLabel; CYNo: TEdit; ToolButton2: TToolButton; ToolButton3: TToolButton; Label1: TLabel; CYName: TEdit; Label4: TLabel; CYEName: TEdit; Label5: TLabel; CYSpec: TEdit; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; DataSource2: TDataSource; ADOQueryMain: TADOQuery; CDS_Main: TClientDataSet; v1Column12: TcxGridDBColumn; v1Column13: TcxGridDBColumn; ToolButton1: TToolButton; ToolButton4: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; ODPat: TOpenDialog; IdFTP1: TIdFTP; SaveDialog1: TSaveDialog; v1Column18: TcxGridDBColumn; v1Column19: TcxGridDBColumn; Label3: TLabel; KHName: TEdit; Label6: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; v1Column14: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column16: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column20: TcxGridDBColumn; Label7: TLabel; CKNO: TEdit; ToolButton7: TToolButton; RM2: TRMGridReport; RMDBDataSet1: TRMDBDataSet; RMXLSExport1: TRMXLSExport; ToolButton8: TToolButton; Image2: TImage; ToolButton9: TToolButton; Panel4: TPanel; Label13: TLabel; LabName: TBtnEditA; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; v1P_ChnName: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; v1Quantity: TcxGridDBColumn; v1UnitName: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; cxGridDBColumn13: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; cxSplitter1: TcxSplitter; ClientDataSet2: TClientDataSet; DataSource3: TDataSource; cxGridPopupMenu2: TcxGridPopupMenu; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure cxDBTreeList1DblClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure CYNoKeyPress(Sender: TObject; var Key: Char); procedure CYNoChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure CKNOKeyPress(Sender: TObject; var Key: Char); procedure ToolButton7Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton9Click(Sender: TObject); procedure LabNameBtnClick(Sender: TObject); private { Private declarations } PState:Integer; FCPID,FTopID:String; procedure InitTree(); procedure InitGrid(); procedure ReadINIFile(); public { Public declarations } end; var frmKHGetCPManage: TfrmKHGetCPManage; implementation uses U_DataLink,U_RTFun,U_CPAdd,U_FileUp,U_KHGetCPAdd,U_ZDYHelp; {$R *.dfm} procedure TfrmKHGetCPManage.InitTree(); var i:Integer; begin {with ADOQueryTree do begin Close; SQL.Clear; SQL.Add('select * from CP_Type order by CPlevel,CPName'); Open; end; cxDBTreeList1.Items[0].Expand(false); } //cxDBTreeList1.Items[1].Expand(False); end; procedure TfrmKHGetCPManage.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; SQL.Add('exec P_Select_Get_CP_YDang :CKID,:Begdate,:EndDate,:PState'); Parameters.ParamByName('CKID').Value:=''; Parameters.ParamByName('Begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime)); Parameters.ParamByName('EndDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1)); Parameters.ParamByName('PState').Value:=0; Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmKHGetCPManage.FormDestroy(Sender: TObject); begin frmKHGetCPManage:=nil; end; procedure TfrmKHGetCPManage.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmKHGetCPManage.TBCloseClick(Sender: TObject); begin WriteCxGrid('客户拿样',Tv1,'样品管理'); if DirectoryExists(ExtractFileDir('E:\Right1209')) then winexec('cmd /c rd /s /q D:\Right1209',sw_hide); Close; end; procedure TfrmKHGetCPManage.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('delete CP_YDang_KHGet where CKID='''+Trim(CDS_Main.fieldbyname('CKID').AsString)+''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update CK_YP_KC Set KCQty=(select sum(Qty*QtyFlag) from CK_YP_CR A where A.CRID=CK_YP_KC.CRID'); sql.Add(' and isnull(A.QYCKID,'''')<>'''+Trim(CDS_Main.fieldbyname('CKID').AsString)+''')'); sql.Add(' where CRID in'); sql.Add('(select CRID from CK_YP_CR where isnull(QYCKID,'''')='''+Trim(CDS_Main.fieldbyname('CKID').AsString)+''')'); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete CK_YP_CR where isnull(QYCKID,'''')='''+Trim(CDS_Main.fieldbyname('CKID').AsString)+''''); ExecSQL; end; CDS_Main.Delete; end; procedure TfrmKHGetCPManage.FormShow(Sender: TObject); begin //InitTree(); ReadCxGrid('样品列表',Tv1,'样品管理'); EndDate.DateTime:=SGetServerDate(ADOQueryTemp); BegDate.DateTime:=EndDate.DateTime-7; end; procedure TfrmKHGetCPManage.cxDBTreeList1DblClick(Sender: TObject); begin InitGrid(); end; procedure TfrmKHGetCPManage.TBAddClick(Sender: TObject); begin try frmKHGetCPAdd:=TfrmKHGetCPAdd.Create(Application); with frmKHGetCPAdd do begin FCYID:=''; //FCPID:=Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString); //FCPNo:=Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString); if ShowModal=1 then begin Self.InitGrid(); end; end; finally frmKHGetCPAdd.Free; end; end; procedure TfrmKHGetCPManage.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmKHGetCPManage.ToolButton3Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; try frmKHGetCPAdd:=TfrmKHGetCPAdd.Create(Application); with frmKHGetCPAdd do begin FCYID:=Trim(Self.CDS_Main.fieldbyname('CKNO').AsString); //FCPID:=Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString); //FCPNo:=Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString); if ShowModal=1 then begin Self.InitGrid(); end; end; finally frmKHGetCPAdd.Free; end; end; procedure TfrmKHGetCPManage.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 TfrmKHGetCPManage.CYNoKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CP_YDang where CYID='''+Trim(CYNo.Text)+''''); Open; CYNo.Text:=Trim(fieldbyname('CYNo').AsString); end; end; end; procedure TfrmKHGetCPManage.CYNoChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmKHGetCPManage.ToolButton1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel('客户拿样',cxGrid1); end; procedure TfrmKHGetCPManage.ToolButton4Click(Sender: TObject); var fPrintFile:string; begin if CDS_Main.IsEmpty then Exit; if Trim(LabName.Text)='' then begin Application.MessageBox('标签名称不能为空!','提示',0); Exit; end; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+Trim(LabName.Text)+'.rmf' ; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName.Text)+'.rmf'),'提示',0); end; end; procedure TfrmKHGetCPManage.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 TfrmKHGetCPManage.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin // ToolButton6.Click; end; procedure TfrmKHGetCPManage.CKNOKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin if Trim(CKNO.Text)='' then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; SQL.Add('exec P_Select_Get_CP_YDang :CKID,:Begdate,:EndDate,:PState'); Parameters.ParamByName('CKID').Value:=Trim(CKNO.Text); Parameters.ParamByName('Begdate').Value:=''; Parameters.ParamByName('EndDate').Value:=''; Parameters.ParamByName('PState').Value:=3; Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); CKNO.Text:=''; finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmKHGetCPManage.ToolButton7Click(Sender: TObject); var fPrintFile:string; begin if CDS_Main.IsEmpty then Exit; with ADOQueryPrint do begin Close; sql.Clear; SQL.Add('exec P_Select_Get_CP_YDang :CKID,:Begdate,:EndDate,:PState'); Parameters.ParamByName('CKID').Value:=Trim(CDS_Main.fieldbyname('CKNO').AsString); Parameters.ParamByName('Begdate').Value:=''; Parameters.ParamByName('EndDate').Value:=''; Parameters.ParamByName('PState').Value:=3; Open; end; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\拿样清单.rmf' ; if FileExists(fPrintFile) then begin RM2.LoadFromFile(fPrintFile); RMVariables['printer']:=Trim(DName); RM2.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\拿样清单.rmf'),'提示',0); end; end; procedure TfrmKHGetCPManage.ToolButton8Click(Sender: TObject); var fPrintFile:string; begin fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\空白信笺纸.rmf' ; if FileExists(fPrintFile) then begin RM2.LoadFromFile(fPrintFile); RM2.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\空白信笺纸.rmf'),'提示',0); end; end; procedure TfrmKHGetCPManage.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var jpg:TJpegImage; myStream:TADOBlobStream; begin if CDS_Main.IsEmpty then Exit; if Trim(CDS_Main.fieldbyname('CYID').AsString)='' then Exit; // if cxPageControl1.ActivePageIndex=6 then begin Image2.Picture.Assign(nil); try with ADOQueryTemp do begin close; sql.Clear; sql.Add(' select * from TP_File A where A.WBID='''+Trim(CDS_Main.fieldbyname('CYID').AsString)+''''); sql.Add(' and TFType=''样品'' '); open; if RecordCount>0 then begin if trim(ADOQueryTemp.fieldbyname('FilesOther').AsString)<>'' then begin myStream:=tadoblobstream.Create(tblobfield(ADOQueryTemp.fieldbyname('FilesOther')),bmread); if myStream=nil then exit; jpg:=TJPEGImage.Create; jpg.LoadFromStream(myStream); Image2.Picture.Assign(jpg); end; end; end; finally jpg.Free; myStream.Free; end; end; with ADOQueryTemp do begin Close; sql.Clear; SQL.Add('select A.CRTime,A.CRID,A.BCID,A.Qty,A.QtyUnit,A.CYColor,A.Note,A.CYType,A.BCID '); sql.Add(' ,A.CRPrice,A.BZTYpe,A.PBFactory,A.RCFactory,A.HJGFactory,A.CYID,A.WeiZhi,A.MiLenNote'); SQL.Add(',B.CYNO,B.CYName,B.CYMF,B.CYKZ,B.CYSpec,B.CYCF,B.CYHX,B.CYEName,B.CYECF,B.CYColorEng'); sql.Add(',MLen=dbo.F_Get_MLen(A.CYID),C.KCQty,A.CYID '); SQL.Add(' from CK_YP_CR A inner join CP_YDang B on A.CYID=B.CYID '); sql.Add(' inner join CK_YP_KC C on A.CRID=C.CRID'); sql.Add(' where A.QYCKID='''+Trim(CDS_Main.fieldbyname('CKID').AsString)+''''); sql.Add(' and CRFlag=''出库'' '); Open; end; SCreateCDS20(ADOQueryTemp,ClientDataSet2); SInitCDSData20(ADOQueryTemp,ClientDataSet2); end; procedure TfrmKHGetCPManage.ToolButton9Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; try frmKHGetCPAdd:=TfrmKHGetCPAdd.Create(Application); with frmKHGetCPAdd do begin FCYID:=Trim(Self.CDS_Main.fieldbyname('CKNO').AsString); CopyInt:=99; //FCPID:=Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString); //FCPNo:=Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString); if ShowModal=1 then begin Self.InitGrid(); end; end; finally frmKHGetCPAdd.Free; end; end; procedure TfrmKHGetCPManage.LabNameBtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='YPLabName'; flagname:='样品标签'; fnote:=True; TBAdd.Visible:=False; TBEdit.Visible:=False; TBDel.Visible:=False; if ShowModal=1 then begin Self.LabName.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; end.