unit U_CPKWList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,jpeg,U_SLT, ComObj, 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, cxCalendar, cxButtonEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter, Menus, cxContainer, cxImage, cxDBEdit; type FdDy = record inc: integer; //客户端套接字句柄 FDdys: string[32]; //客户端套接字 FdDysName: string[32]; //客户端套接字 end; TfrmCPKWList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBDel: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; defstr1: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; ToolButton3: TToolButton; v2Column6: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; Label1: TLabel; ZdyCode: TEdit; ToolButton4: TToolButton; v2Column8: TcxGridDBColumn; Label2: TLabel; DEFstr3: TComboBox; v2Column10: TcxGridDBColumn; v2Column11: TcxGridDBColumn; v2Column12: TcxGridDBColumn; v2Column13: TcxGridDBColumn; defstr2: TEdit; Label4: TLabel; v2Column2: TcxGridDBColumn; v2Column4: TcxGridDBColumn; ToolButton5: TToolButton; v2Column5: TcxGridDBColumn; ToolButton6: TToolButton; ADOQueryPrint: TADOQuery; CheckBox1: TCheckBox; ToolButton7: TToolButton; IdFTP1: TIdFTP; OpenDialog1: TOpenDialog; Tv2Column1: TcxGridDBColumn; Tv2Column2: TcxGridDBColumn; Tv2Column3: TcxGridDBColumn; Tv2Column4: TcxGridDBColumn; ToolButton8: TToolButton; GG: TEdit; Label5: TLabel; KH: TEdit; Label6: TLabel; Label7: TLabel; CKLX: TComboBox; Tv2Column5: TcxGridDBColumn; Tv2Column6: TcxGridDBColumn; Label8: TLabel; DDH: TEdit; EndDate: TDateTimePicker; CheckBox2: TCheckBox; BegDate: TDateTimePicker; ToolButton9: TToolButton; Tv2Column7: TcxGridDBColumn; Tv2Column8: TcxGridDBColumn; Label9: TLabel; QRCZ: TComboBox; ToolButton10: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton11: TToolButton; Label10: TLabel; BPLX: TComboBox; Tv2Column9: TcxGridDBColumn; Label49: TLabel; Label50: TLabel; MaxQty: TEdit; MinQty: TEdit; Tv2Column10: TcxGridDBColumn; GroupBox1: TGroupBox; ScrollBox1: TScrollBox; adoqueryPicture: TADOQuery; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure defstr1Change(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure ToolButton9Click(Sender: TObject); procedure Tv2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure ToolButton10Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ToolButton11Click(Sender: TObject); procedure MinQtyChange(Sender: TObject); procedure ToolButton12Click(Sender: TObject); procedure Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private { Private declarations } procedure InitGrid(); procedure InitImage(); public fkeyNo: string; dFdDy: array[0..20] of FdDy; //客户端连接数组 end; var frmCPKWList: TfrmCPKWList; Mach: array of TfrmSlt; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_CPKWEdit, U_CPKWKCList, U_SysLogOrderzsd; {$R *.dfm} procedure TfrmCPKWList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add(' select A.*, '); sql.Add(' cpRollNum=(select count(MJID) from CK_BanCP_KC X where X.KCKW=A.zdyCode and X.kcQty>0),'); sql.Add(' cpQty=(select sum(kcQty) from CK_BanCP_KC X where X.KCKW=A.zdyCode and X.kcQty>0 and mjid NOT like ''%C%'') '); sql.Add(' from KH_Zdy_Attachment A '); sql.Add(' where Type=''CPKW'' and sczt<>1'); // sql.Add('and A.FillTime>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + ''' '); // sql.Add('and A.FillTime<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' '); if trim(fkeyNo) <> '' then begin sql.Add(' and DDH=''' + trim(fkeyNo) + ''' '); end else begin sql.Add('and A.FillTime>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + ''' '); sql.Add('and A.FillTime<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' '); end; Open; end; SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); finally ADOQueryMain.EnableControls; end; ToolButton2.Click; end; procedure TfrmCPKWList.FormDestroy(Sender: TObject); begin frmCPKWList := nil; end; procedure TfrmCPKWList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmCPKWList.TBCloseClick(Sender: TObject); begin WriteCxGrid(self.Caption, Tv2, '客户自定义1'); Close; end; procedure TfrmCPKWList.TBDelClick(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; CDS_HZ.DisableControls; with CDS_HZ do begin First; while not Eof do begin if CDS_HZ.FieldByName('SSel').AsBoolean = True then begin if Trim(CDS_HZ.fieldbyname('ATID').AsString) <> '' then begin with ADOQueryCmd do begin Close; SQL.Clear; if Trim(DParameters1) <> '高权限' then begin sql.Add('Update KH_Zdy_Attachment Set ZT=''删除'' '); sql.Add('where ATID=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); end else begin sql.Add('Update KH_Zdy_Attachment Set sczt=1,ZT=''删除'' '); //1是假删除,0是新增的 sql.Add('where ATID=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); end; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('库位删除'))); sql.Add(',' + quotedstr(trim('条码号:' + trim(CDS_HZ.FieldByName('ATID').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); // sql.Add('delete KH_Zdy_Attachment where ATID=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); // sql.Add('delete KH_Zdy where ZdyNo=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); ExecSQL; end; end; CDS_HZ.Delete; end else Next; end; end; CDS_HZ.EnableControls; // if Trim(CDS_HZ.fieldbyname('ATID').AsString) <> '' then // begin // with ADOQueryCmd do // begin // Close; // SQL.Clear; // sql.Add('delete KH_Zdy_Attachment where ATID=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); // sql.Add('delete KH_Zdy where ZdyNo=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); // ExecSQL; // end; // end; // CDS_HZ.Delete; end; procedure TfrmCPKWList.FormShow(Sender: TObject); begin cxGrid2.Align := alclient; ReadCxGrid(self.Caption, Tv2, '客户自定义1'); if Trim(DParameters1) <> '高权限' then begin ToolButton8.Visible := false; // TBDel.Visible := false; // ToolButton3.Visible := false; // ToolButton4.Visible := false; ToolButton9.Visible := False; ToolButton10.Visible := False; end; BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 1; EndDate.DateTime := SGetServerDate10(ADOQueryTemp); InitGrid(); end; procedure TfrmCPKWList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmCPKWList.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); end; end; procedure TfrmCPKWList.defstr1Change(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmCPKWList.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid2); // SelExportData(Tv2,ADOQueryMain,'供应商资料列表'); end; procedure TfrmCPKWList.ToolButton4Click(Sender: TObject); begin try frmCPKWEdit := TfrmCPKWEdit.Create(Application); with frmCPKWEdit do begin FCYID := Trim(Self.CDS_HZ.fieldbyname('ATID').AsString); XZdyCode := Trim(Self.CDS_HZ.fieldbyname('ZdyCode').AsString); Xqty := Trim(Self.CDS_HZ.fieldbyname('qty').AsString); if ShowModal = 1 then begin TBRafresh.Click; end; end; finally frmCPKWEdit.Free; end; end; procedure TfrmCPKWList.ToolButton3Click(Sender: TObject); begin try frmCPKWEdit := TfrmCPKWEdit.Create(Application); with frmCPKWEdit do begin FCYID := ''; if ShowModal = 1 then begin TBRafresh.Click; end; end; finally frmCPKWEdit.Free; end; end; procedure TfrmCPKWList.ToolButton5Click(Sender: TObject); begin frmCPKWKCList := TfrmCPKWKCList.create(self); with frmCPKWKCList do begin fkeyNO := CDS_HZ.fieldbyname('zdyCode').AsString; showmodal; free; end; end; procedure TfrmCPKWList.ToolButton6Click(Sender: TObject); var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin if CDS_HZ.IsEmpty then Exit; if CDS_HZ.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; CDS_HZ.DisableControls; with CDS_HZ do begin First; while not Eof do begin if CDS_HZ.FieldByName('SSel').AsBoolean then begin with ADOQueryPrint do begin Close; SQL.Clear; sql.Add('select A.* '); sql.Add(' from KH_Zdy_Attachment A'); SQL.Add(' where ATID=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); SQL.Add(' and Type=''CPKW'' '); Open; end; try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(ADOQueryPrint.fieldbyname('ATID').AsString); fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); if FileExists(fImagePath) then DeleteFile(fImagePath); Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); except application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); CDS_HZ.EnableControls; exit; end; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\成品库位标签.rmf'; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; RM1.LoadFromFile(fPrintFile); // RM1.ShowReport; RM1.PrintReport; sleep(200); end else begin CDS_HZ.EnableControls; Application.MessageBox(PChar('没有找' + trim(fPrintFile)), '提示', 0); Exit; end; end; Next; end; end; CDS_HZ.EnableControls; end; procedure TfrmCPKWList.CheckBox1Click(Sender: TObject); begin SelOKNo(CDS_HZ, checkbox1.Checked); end; procedure TfrmCPKWList.ToolButton7Click(Sender: TObject); var excelApp, WorkBook: Variant; i, j, k, ExcelRowCount: integer; maxId: string; begin try excelApp := CreateOleObject('Excel.Application'); openDialog1.Filter := '*.CSV;*.xls'; if opendialog1.Execute then begin WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName); end else exit; excelApp.Visible := false; ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count; except application.MessageBox('加载EXCEL错误!', '错误信息', MB_ICONERROR); exit; end; try k := 0; for i := 1 to 20 do begin if trim(excelApp.Cells[1, i].value) = '' then break; if trim(excelApp.Cells[1, i].value) = '仓位编号' then begin dFdDy[k].inc := i; dFdDy[k].FDdys := 'ZdyCode'; dFdDy[k].FdDysName := '产品编号'; end; k := k + 1; end; except end; ADOQueryCmd.Connection.BeginTrans; try for i := 2 to ExcelRowCount do begin if GetLSNo(ADOQueryCmd, maxId, 'KW', 'KH_Zdy_Attachment', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from KH_Zdy_Attachment where 1=2'); open; end; ADOQueryCmd.Append; for j := 0 to k - 1 do begin if trim(dFdDy[j].FDdys) <> '' then ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value := excelApp.Cells[i, dFdDy[j].inc].Value; end; ADOQueryCmd.FieldByName('ATID').Value := Trim(maxId); ADOQueryCmd.FieldByName('ZdyName').Value := Trim(ADOQueryCmd.fieldbyname('ZdyCode').AsString); // ADOQueryCmd.FieldByName('khType').Value:=Trim(fkhType); ADOQueryCmd.FieldByName('Type').Value := 'CPKW'; ADOQueryCmd.FieldByName('Filler').Value := Trim(DName); ADOQueryCmd.Post; end; WorkBook.Close; excelApp.Quit; excelApp := Unassigned; WorkBook := Unassigned; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except WorkBook.Close; excelApp.Quit; excelApp := Unassigned; WorkBook := Unassigned; ADOQueryCmd.Connection.RollbackTrans; end; end; procedure TfrmCPKWList.ToolButton8Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; if CDS_HZ.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try CDS_HZ.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin First; while not Eof do begin if CDS_HZ.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update KH_Zdy_Attachment Set CKLX=''出库'',CKSJ=Getdate() '); sql.Add('where ATID=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); ExecSQL; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_HZ.EnableControls; application.MessageBox('出库成功!', '提示信息'); TBRafresh.Click; except ADOQueryCmd.Connection.RollbackTrans; CDS_HZ.EnableControls; application.MessageBox('出库失败!', '提示信息', 0); end; end; procedure TfrmCPKWList.ToolButton9Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; if CDS_HZ.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try CDS_HZ.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin First; while not Eof do begin if CDS_HZ.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update KH_Zdy_Attachment Set QRCZ=''已审核'' '); sql.Add('where ATID=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); if Trim(CDS_HZ.fieldbyname('zt').AsString) = '删除' then //审核删除 begin sql.Add('Update KH_Zdy_Attachment Set sczt=1 '); sql.Add('where ATID=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); end; ExecSQL; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_HZ.EnableControls; application.MessageBox('审核成功!', '提示信息'); TBRafresh.Click; except ADOQueryCmd.Connection.RollbackTrans; CDS_HZ.EnableControls; application.MessageBox('审核失败!', '提示信息', 0); end; end; procedure TfrmCPKWList.Tv2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if AViewInfo.GridRecord.Values[tv2.GetColumnByFieldName('QRCZ').Index] = '未审核' then ACanvas.Brush.Color := clRed; // InitImage(); end; procedure TfrmCPKWList.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_HZ.IsEmpty then exit; try with adoqueryPicture do begin close; sql.Clear; sql.Add(' select A.tfid,A.WBID,A.FilesOther,A.FileName from TP_File A where A.WBID=' + quotedstr(trim(CDS_HZ.fieldbyname('hxFile').AsString))); 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 TfrmCPKWList.ToolButton10Click(Sender: TObject); begin frmSysLogOrderzsd := TfrmSysLogOrderzsd.create(self); with frmSysLogOrderzsd do begin fModel := self.caption; // frmSysLogOrderzsd.FMainId := Trim(Self.FMainId); showmodal; free; end; end; procedure TfrmCPKWList.N1Click(Sender: TObject); begin SelOKNoFiler(Tv2, True); end; procedure TfrmCPKWList.N2Click(Sender: TObject); begin SelOKNoFiler(Tv2, False); end; procedure TfrmCPKWList.ToolButton11Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; if CDS_HZ.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try CDS_HZ.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin First; while not Eof do begin if CDS_HZ.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update KH_Zdy_Attachment Set CKLX=''在库'',CKSJ=null '); sql.Add('where ATID=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); ExecSQL; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_HZ.EnableControls; application.MessageBox('撤销出库成功!', '提示信息'); TBRafresh.Click; except ADOQueryCmd.Connection.RollbackTrans; CDS_HZ.EnableControls; application.MessageBox('撤销出库失败!', '提示信息', 0); end; end; procedure TfrmCPKWList.MinQtyChange(Sender: TObject); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add(' select A.*, '); sql.Add(' cpRollNum=(select count(MJID) from CK_BanCP_KC X where X.KCKW=A.zdyCode and X.kcQty>0),'); sql.Add(' cpQty=(select sum(kcQty) from CK_BanCP_KC X where X.KCKW=A.zdyCode and X.kcQty>0 and mjid NOT like ''%C%'') '); sql.Add(' from KH_Zdy_Attachment A '); sql.Add(' where Type=''CPKW'' and sczt<>1'); sql.Add('and A.FillTime>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + ''' '); sql.Add('and A.FillTime<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' '); if strtofloatdef(trim(MinQty.text), 0) > 0 then begin sql.Add('and A.qty>=''' + (trim(MinQty.text)) + ''' '); end; if strtofloatdef(trim(MaxQty.text), 0) > 0 then begin sql.Add('and A.qty<=''' + (trim(MaxQty.text)) + ''' '); end; Open; end; SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCPKWList.ToolButton12Click(Sender: TObject); begin InitImage(); end; procedure TfrmCPKWList.Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin InitImage(); end; end.