unit U_DyeGreyClothStkStats; 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, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, dxScrollbarAnnotations; type TfrmDyeGreyClothStkStats = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; DS_Main: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; CDS_HZ: TClientDataSet; PopupMenu1: TPopupMenu; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column14: TcxGridDBColumn; v2Column1: TcxGridDBColumn; Tv1Material: TcxGridDBColumn; Tv1CKPiece: TcxGridDBColumn; Tv1CKQty: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label3: TLabel; Label8: TLabel; C_name: TEdit; finishDescription: TEdit; Tv1IOTime: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column9: TcxGridDBColumn; ToolButton2: TToolButton; ToolButton1: TToolButton; ADOQueryTmp: TADOQuery; Tv1Column4: TcxGridDBColumn; Tv1finishDescription: TcxGridDBColumn; Tv1OrderNo: TcxGridDBColumn; Tv1Note: TcxGridDBColumn; TbExport: TToolButton; Label1: TLabel; Label4: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Tv1CKIOTime: TcxGridDBColumn; TbSave: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure MPRTCodeNameChange(Sender: TObject); procedure SXBatchNOChange(Sender: TObject); procedure FromCoNameChange(Sender: TObject); // procedure ToolButton1Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure FormCreate(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv1Column3PropertiesChange(Sender: TObject); procedure Tv1Column3PropertiesEditValueChanged(Sender: TObject); procedure TbExportClick(Sender: TObject); procedure TbSaveClick(Sender: TObject); private procedure InitGrid(); function SaveData(): Boolean; { Private declarations } public FstkName, FWorkshop: string; { Public declarations } end; var frmDyeGreyClothStkStats: TfrmDyeGreyClothStkStats; implementation uses U_DataLink, U_RTFun, U_ZDYHelp; {$R *.dfm} procedure TfrmDyeGreyClothStkStats.FormDestroy(Sender: TObject); begin inherited; frmDyeGreyClothStkStats := nil; end; procedure TfrmDyeGreyClothStkStats.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmDyeGreyClothStkStats.FormCreate(Sender: TObject); begin inherited; FWorkshop := Trim(self.fParameters3); end; procedure TfrmDyeGreyClothStkStats.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.*'); sql.Add(' from V_BS_Cloth_StkStats A '); sql.add(' where A.IOTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + ''''); sql.Add(' and A.IOTime<''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + ''''); sql.Add(' and isnull(stkName,'''')=''' + Trim(FstkName) + ''''); if trim(FWorkshop) <> '' then sql.Add(' and A.Workshop=''' + trim(FWorkshop) + ''' '); Open; end; SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmDyeGreyClothStkStats.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmDyeGreyClothStkStats.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmDyeGreyClothStkStats.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmDyeGreyClothStkStats.TbExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel(FSTKName + '库存列表', cxGrid2); end; procedure TfrmDyeGreyClothStkStats.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(Self.Caption), Tv1, '坯布库存统计'); BegDate.DateTime := SGetServerDate(ADOQueryCmd) - 2; EndDate.DateTime := SGetServerDate(ADOQueryCmd); InitGrid(); end; procedure TfrmDyeGreyClothStkStats.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); end; end; procedure TfrmDyeGreyClothStkStats.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDyeGreyClothStkStats.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDyeGreyClothStkStats.FromCoNameChange(Sender: TObject); begin TBFind.Click; end; //procedure TfrmDyeGreyClothStkList.ToolButton1Click(Sender: TObject); //var // FPiZhong: string; // FReal: Double; //begin // if Trim(edit1.Text) = '' then // begin // Application.MessageBox('库位不能为空!', '提示', 0); // Exit; // end; // // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add(' update BS_Cloth_IO set StkPosition=' + quotedstr(Trim(edit1.Text))); // sql.Add(' where bcioid= ' + quotedstr(cds_main.FieldByName('bcioid').asstring)); // //// sql.Add('Update JYOrder_Main Set StkPosition=' + quotedstr(edit1.Text)); //// sql.Add(' where Mainid=''' + Trim(CDS_MAIN.fieldbyname('Mainid').AsString) + ''''); // ExecSQL; // end; // with CDS_MAIN do // begin // Edit; // FieldByName('StkPosition').Value := edit1.Text; // Post; // end; // tv1.Controller.EditingController.ShowEdit(); //end; procedure TfrmDyeGreyClothStkStats.ToolButton2Click(Sender: TObject); begin WriteCxGrid(trim(Self.Caption), Tv1, '坯布库存统计'); end; procedure TfrmDyeGreyClothStkStats.TbSaveClick(Sender: TObject); begin if SaveData() then begin Application.MessageBox('保存成功!', '提示', 0); InitGrid(); end; end; function TfrmDyeGreyClothStkStats.SaveData(): Boolean; begin try ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; CDS_Main.First; while not CDS_Main.Eof do begin with ADOQueryCmd do begin Close; SQL.Clear; sql.add('select * from BS_Cloth_IO where OrderNo = ' + QuotedStr(Trim(CDS_Main.FieldByName('OrderNo').AsString))); Open; end; ADOQueryCmd.First; while not ADOQueryCmd.Eof do begin ADOQueryCmd.Edit; ADOQueryCmd.FieldByName('finish').value := CDS_Main.FieldByName('finish').AsString; ADOQueryCmd.FieldByName('Note').value := CDS_Main.FieldByName('Note').AsString; ADOQueryCmd.Post; ADOQueryCmd.Next; end; CDS_Main.Next; end; CDS_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; Result := True; except Result := False; ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); end; end; procedure TfrmDyeGreyClothStkStats.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ModalResult := 1; end; procedure TfrmDyeGreyClothStkStats.Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin inherited; try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'StkPosition'; flagname := '库位'; MainType := FSTKName; if ShowModal = 1 then begin with Self.CDS_Main do begin Edit; FieldByName('StkPosition').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' update BS_Cloth_IO set StkPosition=' + quotedstr(Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString))); sql.Add(' where bcioid= ' + quotedstr(cds_main.FieldByName('bcioid').asstring)); execsql; end; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmDyeGreyClothStkStats.Tv1Column3PropertiesChange(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_Main do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryTmp do begin Close; sql.Clear; sql.Add(' update BS_Cloth_IO set StkPosition=' + quotedstr(Trim(mvalue))); sql.Add(' where bcioid= ' + quotedstr(cds_main.FieldByName('bcioid').asstring)); execsql; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmDyeGreyClothStkStats.Tv1Column3PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_Main do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryTmp do begin Close; sql.Clear; sql.Add(' update BS_Cloth_IO set StkPosition=' + quotedstr(Trim(mvalue))); sql.Add(' where bcioid= ' + quotedstr(cds_main.FieldByName('bcioid').asstring)); execsql; end; tv1.Controller.EditingController.ShowEdit(); end; end.