unit U_DyeDJBClothInList; 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, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, dxSkinWXI, dxScrollbarAnnotations; type TfrmDyeDJBClothInList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; 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; Label12: TLabel; C_name: TEdit; FromCoName: TEdit; BCIOID: TEdit; C_spec: TEdit; IOType: TComboBox; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Label10: TLabel; BatchNo: TEdit; v1Column9: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column19: TcxGridDBColumn; v1Column20: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; ToolButton1: TToolButton; Tv1Column1: TcxGridDBColumn; ToolButton2: TToolButton; Tv1Column2: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column10: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; Label6: TLabel; Label7: TLabel; C_Width: TEdit; C_GramWeight: TEdit; Label9: TLabel; Label11: TLabel; C_XINHAO: TEdit; C_ColorDepth: TEdit; 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 BCIOIDChange(Sender: TObject); procedure C_specChange(Sender: TObject); procedure FromCoNameChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); private canshu1, canshu2, canshu3, FWorkshop: string; procedure InitGrid(); procedure setStatus(); { Private declarations } public FSTKName: string; { Public declarations } end; implementation uses U_DataLink, U_RTFun, U_DyeGreyClothInEdit, U_LabelPrint; {$R *.dfm} procedure TfrmDyeDJBClothInList.setStatus(); begin if canshu1 = '查询' then begin TBAdd.Visible := false; TBEdit.Visible := false; TBDel.Visible := false; end; end; procedure TfrmDyeDJBClothInList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmDyeDJBClothInList.FormCreate(Sender: TObject); begin inherited; EndDate.DateTime := SGetServerDate(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime; canshu1 := Trim(self.fParameters1); canshu2 := Trim(self.fParameters2); FWorkshop := Trim(self.fParameters3); end; procedure TfrmDyeDJBClothInList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from BS_Cloth_IO 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) + ''''); SQL.Add(' and IOFlag=''入库'' '); if trim(FWorkshop) <> '' then sql.Add(' and A.Workshop=''' + trim(FWorkshop) + ''' '); SQL.Add(' order by IOTime desc'); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_Main); SInitCDSData(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmDyeDJBClothInList.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmDyeDJBClothInList.ToolButton1Click(Sender: TObject); begin WriteCxGrid(Self.Caption, Tv1, '染色坯布仓库'); end; procedure TfrmDyeDJBClothInList.ToolButton2Click(Sender: TObject); var MBCIOID: string; begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; MBCIOID := ''; CDS_Main.DisableControls; with CDS_Main do begin First; while CDS_Main.Locate('SSel', True, []) do begin MBCIOID := MBCIOID + ',' + Trim(CDS_Main.fieldbyname('BCIOID').AsString); Edit; FieldByName('SSel').Value := False; Post; end; end; CDS_Main.EnableControls; try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FLMType := 'DyeGreyClothInPrint1'; FFiltration1 := MBCIOID; if ShowModal = 1 then begin // Self.InitGrid(); end; end; finally frmLabelPrint.Free; end; end; procedure TfrmDyeDJBClothInList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if (AViewInfo.GridRecord.Values[v1Column4.Index] = '回修入库') then begin ACanvas.Brush.Color := $008080FF; end; if (AViewInfo.GridRecord.Values[v1Column4.Index] = '打样入库') then begin ACanvas.Brush.Color := $0080FF80; end; if (AViewInfo.GridRecord.Values[v1Column4.Index] = '返修入库') then begin ACanvas.Brush.Color := $00FF80FF; end; if (AViewInfo.GridRecord.Values[v1Column4.Index] = '样返入库') then begin ACanvas.Brush.Color := $00FF8080; end; end; procedure TfrmDyeDJBClothInList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmDyeDJBClothInList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmDyeDJBClothInList.FormShow(Sender: TObject); begin inherited; ReadCxGrid(Self.Caption, Tv1, '染色坯布仓库'); setStatus(); InitGrid(); end; procedure TfrmDyeDJBClothInList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel(FSTKName + '入库列表', cxGrid2); end; procedure TfrmDyeDJBClothInList.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 TfrmDyeDJBClothInList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmDyeDJBClothInList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmDyeDJBClothInList.TBDelClick(Sender: TObject); var MBCIOID: string; begin if CDS_Main.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; MBCIOID := ''; CDS_Main.DisableControls; with CDS_Main do begin First; while CDS_Main.Locate('SSel', True, []) do begin MBCIOID := MBCIOID + ',' + Trim(CDS_Main.fieldbyname('BCIOID').AsString); CDS_Main.Delete; end; end; CDS_Main.EnableControls; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; Sql.Clear; Sql.Add('exec P_BS_Cloth_In_Del '); Sql.Add(' @BCIOIDS=' + quotedstr(MBCIOID)); 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 TfrmDyeDJBClothInList.TBAddClick(Sender: TObject); begin try frmDyeGreyClothInEdit := TfrmDyeGreyClothInEdit.Create(Application); with frmDyeGreyClothInEdit do begin FBCId := ''; frmDyeGreyClothInEdit.canshu3 := Trim(Self.canshu3); FWorkshop := self.FWorkshop; FSTKName := Self.FSTKName; if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmDyeGreyClothInEdit.Free; end; end; procedure TfrmDyeDJBClothInList.TBEditClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; Sql.Clear; Sql.Add('exec P_BS_Cloth_In_Edit '); Sql.Add(' @BCIOIDS=' + quotedstr(Trim(CDS_Main.fieldbyname('BCIOID').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 frmDyeGreyClothInEdit := TfrmDyeGreyClothInEdit.Create(Application); with frmDyeGreyClothInEdit do begin FBCId := Trim(CDS_Main.fieldbyname('BCIOID').AsString); TBDel.Visible := False; TBAdd.Visible := False; FWorkshop := self.FWorkshop; FSTKName := Self.FSTKName; if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmDyeGreyClothInEdit.Free; end; end; procedure TfrmDyeDJBClothInList.BCIOIDChange(Sender: TObject); begin if Length(Trim(BCIOID.Text)) < 4 then begin if Trim(BCIOID.Text) <> '' then Exit; end; TBFind.Click; end; procedure TfrmDyeDJBClothInList.C_specChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDyeDJBClothInList.FromCoNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmDyeDJBClothInList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; end.