📄 frmgzcalc.pas
字号:
unit frmGzcalc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, dxDBTLCl, dxGrClms, dxTL, dxDBCtrl, dxDBGrid,
dxCntner, StdCtrls, Buttons, ComCtrls, dxEditor, dxEdLib, ExtCtrls, DB,
ADODB,DateUtils, RM_dset, RM_dbset, RM_class;
type
TGzcalcForm = class(TForm)
Panel1: TPanel;
Label3: TLabel;
Label4: TLabel;
Label1: TLabel;
edtPersonID: TdxButtonEdit;
edtFirstDate: TDateTimePicker;
edtEndDate: TDateTimePicker;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
grdGzcalc: TdxDBGrid;
spGzcalc: TADOStoredProc;
dsGzcalc: TDataSource;
spGzcalcRateID: TStringField;
spGzcalcRateName: TStringField;
spGzcalcModelID: TStringField;
spGzcalcColor: TStringField;
spGzcalcShoesize: TStringField;
spGzcalcProdANums: TIntegerField;
spGzcalcRateA: TBCDField;
spGzcalcARates: TBCDField;
spGzcalcProdBNums: TIntegerField;
spGzcalcRateB: TBCDField;
spGzcalcBRates: TBCDField;
spGzcalcProdCNums: TIntegerField;
spGzcalcRateC: TBCDField;
spGzcalcCRates: TBCDField;
spGzcalcSubsidy: TBCDField;
grdGzcalcRateID: TdxDBGridMaskColumn;
grdGzcalcRateName: TdxDBGridMaskColumn;
grdGzcalcModelID: TdxDBGridMaskColumn;
grdGzcalcColor: TdxDBGridMaskColumn;
grdGzcalcShoesize: TdxDBGridMaskColumn;
grdGzcalcProdANums: TdxDBGridMaskColumn;
grdGzcalcRateA: TdxDBGridCurrencyColumn;
grdGzcalcARates: TdxDBGridCurrencyColumn;
grdGzcalcProdBNums: TdxDBGridMaskColumn;
grdGzcalcRateB: TdxDBGridCurrencyColumn;
grdGzcalcBRates: TdxDBGridCurrencyColumn;
grdGzcalcProdCNums: TdxDBGridMaskColumn;
grdGzcalcRateC: TdxDBGridCurrencyColumn;
grdGzcalcCRates: TdxDBGridCurrencyColumn;
grdGzcalcSubsidy: TdxDBGridCurrencyColumn;
rmpGzCalc: TRMReport;
RMDBDataSet1: TRMDBDataSet;
SaveDialog: TSaveDialog;
StatusBar1: TStatusBar;
procedure BitBtn1Click(Sender: TObject);
procedure edtPersonIDButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure FormCreate(Sender: TObject);
procedure rmpGzCalcGetValue(const ParName: String;
var ParValue: Variant);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
GzcalcForm: TGzcalcForm;
implementation
{$R *.dfm}
uses DataCenter, ChoicePerson,frmMsg, frmNoExist;
procedure TGzcalcForm.BitBtn1Click(Sender: TObject);
var
NoexistQuery:TAdoQuery;
begin
NoexistQuery:=TAdoQuery.Create(self);
with NoexistQuery do
begin
Connection:=dmData.AdoConnection1;
Sql.Add('select distinct a.OrderNo,b.ModelID,b.Color,b.Shoesize from RateForms a left join RateFormsDetail b on a.OrderNo=b.OrderNo');
Sql.Add(' where (b.modelID<>'' and a.RateID<>'' and ((rtrim(b.ModelID)+rtrim(b.Color)+rtrim(b.Shoesize)) not in (select rtrim(ModelID)+rtrim(Color)+rtrim(Shoesize) from Rates)))');
Open;
if RecordCount>0 then
begin
application.CreateForm(TNoexistForm,NoexistForm);
NoexistForm.dsNoexist.DataSet:=NoexistQuery;
NoexistForm.ShowModal;
NoexistForm.Hide;
NoexistForm.Free;
end;
close;
Free;
end;
GzcalcForm.Update;
spGzcalc.Close;
spGzcalc.Parameters[1].Value:=edtFirstDate.Date;
spGzcalc.Parameters[2].Value:=edtEndDate.Date;
spGzcalc.Parameters[3].Value:=edtPersonID.Text;
MsgForm:=TmsgForm.create(self);
MsgForm.Show;
screen.Cursor:=crSQLWAIT;
MsgForm.update;
spGzcalc.open;
MsgForm.Hide;
screen.Cursor:=crDefault;
MsgForm.Close;
MsgForm.Free;
StatusBar1.Panels[0].Text:='总有记录数:'+inttostr(spGzcalc.recordcount)+'条';
end;
procedure TGzcalcForm.edtPersonIDButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
if Application.FindComponent('frmChoicePerson')=nil then
Application.CreateForm(TfrmChoicePerson,frmChoicePerson);
dmData.aquPersonel.SQL.Text:='select * from Personel';
dmData.aquPersonel.Open;
case frmChoicePerson.ShowModal of {返回的值}
mrCancel:
begin
edtFirstDate.SetFocus;
// ValueIsChange:=true;
end;
mrOk:
begin
edtPersonID.Text:=dmData.aquPersonelPersonID.Value;
edtFirstDate.SetFocus;
end;
end;
end;
procedure TGzcalcForm.FormCreate(Sender: TObject);
begin
edtFirstDate.Date:=Date()-dayof(date())+1;
edtEndDate.Date:=date();
end;
procedure TGzcalcForm.rmpGzCalcGetValue(const ParName: String;
var ParValue: Variant);
begin
if ParName='FirstDate' then ParValue:=DateToStr(edtFirstDate.Date);
if ParName='EndDate' then ParValue:=DateToStr(edtEndDate.Date);
end;
procedure TGzcalcForm.BitBtn3Click(Sender: TObject);
begin
spGzcalc.DisableControls;
rmpGzcalc.LoadFromFile('GzTryCalc');
rmpGzcalc.ShowReport;
spGzcalc.EnableControls;
end;
procedure TGzcalcForm.BitBtn4Click(Sender: TObject);
begin
if SaveDialog.Execute then
begin
if FileExists(SaveDialog.FileName) then
if MessageDlg(Format('文件"'+SaveDialog.FileName+'"已经存在,是否替换原有文件?', [SaveDialog.FileName]),mtConfirmation, mbYesNoCancel, 0) <> idYes then Exit;
grdGzCalc.SaveToXLS(SaveDialog.FileName,true);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -