unit U_BSPrtDyeejInList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, dxScrollbarAnnotations, cxContainer, cxProgressBar, FrameDateSel, dxSkinsCore, dxSkinsDefaultPainters, dxSkinWXI; type TfrmBSPrtDyeejInList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; TBDel: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; TBAdd: TToolButton; TBEdit: TToolButton; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label8: TLabel; P_name: TcxTextEdit; FromCoName: TcxTextEdit; P_spec: TcxTextEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; v1Column10: TcxGridDBColumn; Label10: TLabel; BatchNo: TcxTextEdit; v1Column20: TcxGridDBColumn; ToolButton1: TToolButton; BPIOID: TcxTextEdit; ToolButton2: TToolButton; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; frmFrameDateSel1: TfrmFrameDateSel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure BPIOIDChange(Sender: TObject); procedure P_specChange(Sender: TObject); procedure FromCoNameChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); private procedure InitGrid(); procedure setStatus(); { Private declarations } public canshu1, FSTKName, canshu3: string; { Public declarations } end; implementation uses U_DataLink, U_RTFun, U_BSPrtDyeejInEdit, U_LabelPrint; {$R *.dfm} procedure TfrmBSPrtDyeejInList.setStatus(); begin end; procedure TfrmBSPrtDyeejInList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmBSPrtDyeejInList.FormCreate(Sender: TObject); begin inherited; frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp); frmFrameDateSel1.BegDate.Date := frmFrameDateSel1.EndDate.Date; canshu1 := Trim(self.fParameters1); FSTKName := Trim(self.fParameters2); canshu3 := Trim(self.fParameters3); end; procedure TfrmBSPrtDyeejInList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.*,money=isnull(price,0)*Qty '); SQL.Add(' ,p_type=(select p_type from Bs_Product_Info e where e.C_SCcode=a.p_code)'); SQL.Add(',QTYKG=(QTY/1000)'); sql.Add(' from BS_Product_IO A'); sql.add(' where A.IOTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.BegDate.Date)) + ''''); sql.Add(' and A.IOTime<''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.EndDate.Date + 1)) + ''''); sql.Add(' and isnull(STKNAME,'''')=''' + Trim(FSTKName) + ''''); SQL.Add(' and IOFlag=''入库'' '); SQL.Add(' order by ziono desc'); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmBSPrtDyeejInList.TBRafreshClick(Sender: TObject); begin toolbar1.SetFocus; InitGrid(); end; procedure TfrmBSPrtDyeejInList.ToolButton1Click(Sender: TObject); begin WriteCxGrid(Self.Caption, Tv1, '染色坯布仓库'); end; procedure TfrmBSPrtDyeejInList.ToolButton2Click(Sender: TObject); var WSQL: string; begin inherited; if CDS_MAIN.IsEmpty then Exit; // if not CDS_MAIN.Locate('SSel', True, []) then // begin // Application.MessageBox('没有选择数据!', '提示', 0); // Exit; // end; // WSQL := ''; // CDS_MAIN.DisableControls; // with CDS_MAIN do // begin // First; // while not Eof do // begin // if CDS_MAIN.fieldbyname('SSel').AsBoolean then // begin // if WSQL <> '' then // begin // WSQL := WSQL + ',' + QuotedStr(Trim(CDS_MAIN.fieldbyname('BPIOID').AsString)); // end // else // begin // WSQL := QuotedStr(TRIM(CDS_MAIN.fieldbyname('BPIOID').AsString)); // end; // end; // Next; // end; // end; // CDS_MAIN.Locate('SSel', True, []); // CDS_MAIN.EnableControls; WSQL := CDS_MAIN.fieldbyname('ZIONO').AsString; try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FLMType := 'RHL'; FFiltration1 := WSQL; if ShowModal = 1 then begin end; end; finally frmLabelPrint.Free; end; end; procedure TfrmBSPrtDyeejInList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmBSPrtDyeejInList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmBSPrtDyeejInList.FormShow(Sender: TObject); begin inherited; ReadCxGrid(Self.Caption, Tv1, '染色坯布仓库'); setStatus(); InitGrid(); end; procedure TfrmBSPrtDyeejInList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel(FSTKName + '入库列表', cxGrid2); end; procedure TfrmBSPrtDyeejInList.TBFindClick(Sender: TObject); begin CDSDataFilter(ADOQueryMain, CDS_Main, Tv1, '{"FilterStr":"' + CommonFiltersByContainer(Panel1, ' {"EquTag": 1,"LikeTag": 2,"Fields": ""}') + '" }'); end; procedure TfrmBSPrtDyeejInList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmBSPrtDyeejInList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmBSPrtDyeejInList.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) '); sql.Add('values(''二级仓入库'' '); sql.Add(',' + quotedstr(CDS_Main.fieldbyname('BPIOID').AsString)); sql.Add(',''撤销入库'' '); sql.Add(',' + quotedstr(DName)); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(CDS_Main.fieldbyname('BPIOID').AsString)); sql.Add(') '); execsql; end; with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_BS_Product_In_Del '); Sql.Add(' @BPIOIDS=' + quotedstr(Trim(CDS_Main.fieldbyname('BPIOID').AsString))); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); end; end; procedure TfrmBSPrtDyeejInList.TBAddClick(Sender: TObject); begin try frmBSPrtDyeejInEdit := TfrmBSPrtDyeejInEdit.Create(Application); with frmBSPrtDyeejInEdit do begin FBCId := ''; frmBSPrtDyeejInEdit.canshu3 := Trim(Self.canshu3); FSTKName := Self.FSTKName; if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmBSPrtDyeejInEdit.Free; end; end; procedure TfrmBSPrtDyeejInList.TBEditClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('exec P_Fin_Flow_Judge '); Sql.Add(' @FFIDS=' + quotedstr(Trim(CDS_Main.fieldbyname('BPIOID').AsString))); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; // with ADOQueryTemp do // begin // Close; // Sql.Clear; // Sql.Add('exec P_BS_Product_In_Edit '); // Sql.Add(' @BPIOIDS=' + quotedstr(Trim(CDS_Main.fieldbyname('BPIOID').AsString))); // Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); // Sql.Add(',@DName=' + quotedstr(Trim(DName))); // Open; // end; // if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then // begin // Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); // exit; // end; try frmBSPrtDyeejInEdit := TfrmBSPrtDyeejInEdit.Create(Application); with frmBSPrtDyeejInEdit do begin FBCId := Trim(CDS_Main.fieldbyname('BPIOID').AsString); TBDel.Visible := False; TBAdd.Visible := False; FSTKName := Self.FSTKName; if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmBSPrtDyeejInEdit.Free; end; end; procedure TfrmBSPrtDyeejInList.BPIOIDChange(Sender: TObject); begin if Length(Trim(BPIOID.Text)) < 4 then begin if Trim(BPIOID.Text) <> '' then Exit; end; TBFind.Click; end; procedure TfrmBSPrtDyeejInList.P_specChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBSPrtDyeejInList.FromCoNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmBSPrtDyeejInList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; end.