unit U_FinishedClothKCList_SMCK; 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, MovePanel, Menus, cxCheckBox, Clipbrd, cxPC, Math, cxLookAndFeels, cxLookAndFeelPainters, dxBarBuiltInMenu, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter; type TfrmFinishedClothKCList_SMCK = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; MovePanel2: TMovePanel; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton1: TToolButton; Panel1: TPanel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label12: TLabel; Label14: TLabel; Label9: TLabel; Label13: TLabel; P_CodeName: TEdit; P_Color: TEdit; orderno: TEdit; JYID: TEdit; P_Code: TEdit; KHName: TEdit; CarNo: TEdit; BatchNo: TEdit; Panel2: TPanel; Panel3: TPanel; cxTabControl1: TcxTabControl; Panel6: TPanel; BTLP: TButton; BTNP: TButton; TCBNOR: TComboBox; Label1: TLabel; LBCPAP: TLabel; tbOK: TToolButton; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Sel: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxgrdPS: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column5: TcxGridDBColumn; cxgrdMJLen: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; cxgrdConNoPS: TcxGridDBColumn; cxgrdCKPS: TcxGridDBColumn; cxgrdWFPS: TcxGridDBColumn; Label11: TLabel; JYType: TComboBox; v1Column7: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure BTLPClick(Sender: TObject); procedure BTNPClick(Sender: TObject); procedure Tv1DblClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure TCBNORChange(Sender: TObject); procedure tbOKClick(Sender: TObject); procedure ordernoChange(Sender: TObject); procedure ordernoKeyPress(Sender: TObject; var Key: Char); private FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; procedure InitGrid(); procedure SetStatus(); { Private declarations } public { Public declarations } FMainid, FSubId, FConNo, FColor, FCodeName: string; canshu1: string; end; var frmFinishedClothKCList_SMCK: TfrmFinishedClothKCList_SMCK; implementation uses U_DataLink, U_Fun, U_SysLogHelp; {$R *.dfm} procedure TfrmFinishedClothKCList_SMCK.SetStatus(); var i: Integer; begin Panel6.Visible := False; case cxTabControl1.TabIndex of 0: begin ClearOrHideControls(Panel1, '0', True, True); ClearOrHideControls(Panel1, '1', True, False); for i := 0 to tv1.ColumnCount - 1 do begin tv1.Columns[i].Visible := false; end; IsVisibleTV(Panel1, TV1, '0', True); cxgrdPS.Visible := True; cxgrdMJLen.Visible := True; cxgrdCKPS.Visible := True; cxgrdConNoPS.Visible := True; cxgrdWFPS.Visible := True; end; 1: begin for i := 0 to tv1.ColumnCount - 1 do begin tv1.Columns[i].Visible := True; end; cxgrdPS.Visible := false; cxgrdCKPS.Visible := false; cxgrdConNoPS.Visible := false; cxgrdWFPS.Visible := false; ClearOrHideControls(Panel1, '0', False, True); ClearOrHideControls(Panel1, '1', False, True); Panel6.Visible := True; end; end; end; procedure TfrmFinishedClothKCList_SMCK.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmFinishedClothKCList_SMCK.InitGrid(); var fwhere, Pwhere, fFSId: string; Fwfps: Double; begin Pwhere := SGetFilters(Panel1, 1, 2); if trim(Pwhere) <> '' then fwhere := fwhere + ' and ' + trim(Pwhere); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; case cxTabControl1.TabIndex of 0: /////////////////////////订单汇总////////////////////////////// begin sql.Add('exec P_CPCK_Get_KCHZ '); sql.Add(' ''' + fwhere + ''' '); end; 1: /////////////////////////明细////////////////////////////// begin sql.Add('exec P_CPCK_Get_KC '); sql.Add('@pageIndex=' + inttostr(CurrentPage)); sql.Add(',@pageSize=' + inttostr(RecordsNumber)); sql.Add(',@criteria= ' + quotedstr(fwhere)); end; end; //showmessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); if cxTabControl1.TabIndex = 1 then LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber)); if cxTabControl1.TabIndex = 0 then begin fFSId := CDS_Main.FieldByName('orderno').AsString; with CDS_Main do begin CDS_Main.DisableControls; First; while not eof do begin if (FieldByName('CKPS').Value <> 0) or (FieldByName('PS').Value <> 0) then begin Edit; Fwfps := FieldByName('ConNoPS').AsFloat - FieldByName('PS').AsFloat - FieldByName('CKPS').AsFloat; Post; end else begin Edit; FieldByName('CKPS').Value := 0; Fwfps := FieldByName('ConNoPS').AsFloat; Post; end; if Fwfps < 0 then begin Fwfps := 0; end; //ShowMessage(FloatToStr(Fwfsl)); Edit; FieldByName('WFRKPS').Value := FloatToStr(Fwfps); Post; Next; end; end; CDS_Main.EnableControls; CDS_Main.Locate('orderno', fFSId, []); end; finally ADOQueryMain.EnableControls; end; end; procedure TfrmFinishedClothKCList_SMCK.TBRafreshClick(Sender: TObject); begin orderNo.SetFocus; ToolBar1.SetFocus; MovePanel2.Visible := True; MovePanel2.Refresh; InitGrid(); MovePanel2.Visible := False; end; procedure TfrmFinishedClothKCList_SMCK.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmFinishedClothKCList_SMCK.TBCloseClick(Sender: TObject); begin WriteCxGrid(self.Caption, Tv1, '成品仓库'); Close; end; procedure TfrmFinishedClothKCList_SMCK.FormShow(Sender: TObject); var fsj: string; begin CurrentPage := 1; RecordsNumber := 500; fsj := 'select distinct Code=Null,Name=CRType from FinishedCloth_CR where CRFlag=''入库'' order by CRType '; // SInitComBoxBySql(ADOQueryTemp, CRType, False, fsj); ReadCxGrid(self.Caption, Tv1, '成品仓库'); SetStatus(); InitGrid(); end; procedure TfrmFinishedClothKCList_SMCK.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('库存列表', cxGrid2); end; procedure TfrmFinishedClothKCList_SMCK.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmFinishedClothKCList_SMCK.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmFinishedClothKCList_SMCK.ToolButton1Click(Sender: TObject); begin frmSysLogHelp := TfrmSysLogHelp.create(self); with frmSysLogHelp do begin fModel := self.caption; // facction:='生产指示单删除'; showmodal; free; end; end; procedure TfrmFinishedClothKCList_SMCK.BTLPClick(Sender: TObject); begin if CurrentPage > 1 then CurrentPage := CurrentPage - 1; InitGrid(); end; procedure TfrmFinishedClothKCList_SMCK.BTNPClick(Sender: TObject); begin if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then CurrentPage := CurrentPage + 1; InitGrid(); end; procedure TfrmFinishedClothKCList_SMCK.Tv1DblClick(Sender: TObject); var Tabint: integer; begin Tabint := cxTabControl1.TabIndex; case Tabint of 0: begin AssignmentControls(Panel1, CDS_Main, '0'); cxTabControl1.TabIndex := 1; end; end; end; procedure TfrmFinishedClothKCList_SMCK.cxTabControl1Change(Sender: TObject); begin SetStatus(); InitGrid(); end; procedure TfrmFinishedClothKCList_SMCK.TCBNORChange(Sender: TObject); begin RecordsNumber := StrToInt(TCBNOR.Text); CurrentPage := 1; InitGrid(); end; procedure TfrmFinishedClothKCList_SMCK.tbOKClick(Sender: TObject); begin if CDS_Main.IsEmpty then exit; if cds_main.FieldByName('ssel').AsBoolean = False then begin Application.MessageBox('请先选择数据!', '提示', 0); Exit; end; ModalResult := 1; end; procedure TfrmFinishedClothKCList_SMCK.ordernoChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, cds_Main); SInitCDSData20(ADOQueryMain, cds_Main); end; procedure TfrmFinishedClothKCList_SMCK.ordernoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin // SetStatus(); InitGrid(); end; end; end.