unit U_DBKcList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, MMSystem, Menus, BtnEdit, RM_e_Xls, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, 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, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue; type TfrmDBKcList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1P_CodeName: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Label3: TLabel; CodeName: TEdit; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; TOk: TToolButton; v1Ssel: TcxGridDBColumn; v1MJXH: TcxGridDBColumn; v1Column1: TcxGridDBColumn; Label7: TLabel; v1Column5: TcxGridDBColumn; ADOQueryPrint: TADOQuery; RMDB_Main: TRMDBDataSet; RM1: TRMGridReport; ADOQueryMain: TADOQuery; Label31: TLabel; Rangchang: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ToolButton2: TToolButton; ToolButton1: TToolButton; v1Column2: TcxGridDBColumn; Label9: TLabel; Note: TEdit; v1Column7: TcxGridDBColumn; Label1: TLabel; v1Column9: TcxGridDBColumn; kuwei: TBtnEditA; RMXLSExport1: TRMXLSExport; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column8: TcxGridDBColumn; Label2: TLabel; BatchNo: TEdit; Tv1Column1: TcxGridDBColumn; Label4: TLabel; CPColor: TEdit; Tv1Column2: TcxGridDBColumn; CheckBox1: TCheckBox; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Label5: TLabel; fromFactoryName: TEdit; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure CodeNameChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TOkClick(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure edtKuWeiBtnClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure kuweiBtnClick(Sender: TObject); procedure CheckBox1Click(Sender: TObject); private procedure InitGrid(); procedure SetStatus(); { Private declarations } public fType: integer; fCKName, FZZType: string; { Public declarations } end; var frmdBKcList: TfrmdBKcList; implementation uses U_DataLink, U_Fun10, U_ZDYHelp; {$R *.dfm} procedure TfrmDBKcList.SetStatus(); begin if fType = 10 then begin TOk.Visible := true; v1Ssel.Visible := true; end; end; procedure TfrmDBKcList.InitGrid(); begin try with adoqueryMain do begin close; sql.Clear; sql.Add(' select A.*,hzzsms=(select sum(crqtyflag*zsqty) from CK_PB_CR b where b.kcid=a.kcid) '); sql.Add(' from CK_PB_CR A where CRFlag=''入库'' and Valid=''Y'' and CKName=''坯布仓库'' '); SQL.Add('AND MLTYPE=''底布'''); if CheckBox1.Checked = False then begin SQL.Add(' and A.KCPS>0'); end; open; end; SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); finally end; end; procedure TfrmDBKcList.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption + tv1.Name, Tv1, '面料仓库'); if fType = 10 then Action := cahide else Action := cafree; end; procedure TfrmDBKcList.FormDestroy(Sender: TObject); begin frmDBKcList := nil; end; procedure TfrmDBKcList.CodeNameChange(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 TfrmDBKcList.FormShow(Sender: TObject); begin readCxGrid(self.Caption + tv1.Name, Tv1, '面料仓库'); SetStatus(); InitGrid(); end; procedure TfrmDBKcList.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmDBKcList.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TfrmDBKcList.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmDBKcList.TOkClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ModalResult := 1; end; procedure TfrmDBKcList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('isph').index] = '1' then ACanvas.Brush.Color := clred; end; procedure TfrmDBKcList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, true); end; procedure TfrmDBKcList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, false); end; procedure TfrmDBKcList.edtKuWeiBtnClick(Sender: TObject); begin // try // frmCPKWList:=TfrmCPKWList.Create(Application); // with frmCPKWList do // begin // if ShowModal=1 then // begin // edtKuWei.Text:=Trim(CDS_HZ.fieldbyname('ZdyCode').AsString); // edtKuweiName.Text:=Trim(CDS_HZ.fieldbyname('DEFstr1').AsString); // end; // end; // finally // frmCPKWList.Free; // end; end; procedure TfrmDBKcList.ToolButton2Click(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 TfrmDBKcList.ToolButton1Click(Sender: TObject); begin if Application.MessageBox('确定删除现有库存后重新生成库存么?', '提示', 32 + 4) <> IDYES then Exit; try with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('exec P_Up_FlKcAll '); ExecSQL; end; Application.MessageBox('重新生成库存成功!', '提示信息', 0); except Application.MessageBox('重新生成库存失败!', '提示信息', 0); end; end; procedure TfrmDBKcList.kuweiBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'kuwei'; flagname := '库位'; if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); ToolButton2.Click; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmDBKcList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; end.