purchpayqry.pas

来自「医药连锁经营管理系统源码」· PAS 代码 · 共 333 行

PAS
333
字号
unit PurchPayQry;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RzTabs, ExtCtrls, Menus, RzPanel, RzSplit, RzCommon, DBClient,
  DB, ckDBClient, MConnect, TFlatSpeedButtonUnit, RzStatus, TFlatPanelUnit,
  StdCtrls, RzButton, RzDTP, RzEdit, RzCmboBx, RzBtnEdt, ComCtrls, DBGridEh, DbUtilsEh, EhLibCDS,
  Mask, Grids, xEhLibCtl, xBaseFrm, IMainFrm, uGlobal, uDataTypes, ActnList,
  ModuleAction, ImgList, RzRadChk,DBFuncs, RzLabel;

type
  TFmPchPayQry = class(TxBaseForm)
    RzSizePanel1: TRzSizePanel;
    ptBkPanel: TFlatPanel;
    ptCaption: TRzMarqueeStatus;
    FlatPanel2: TPanel;
    BtnWhatIs: TFlatSpeedButton;
    BtnHelp: TFlatSpeedButton;
    FlatPanel3: TPanel;
    BtnPopMenu: TFlatSpeedButton;
    TopPopMenu: TPopupMenu;
    SetFields1: TMenuItem;
    refresh1: TMenuItem;
    DCOMConnection1: TDCOMConnection;
    dsPurchPay: TDataSource;
    cdsPurchPay: TckClientDataSet;
    RzGroupBox1: TRzGroupBox;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    RzBitBtn3: TRzBitBtn;
    Label3: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    edBillNo1: TRzEdit;
    edBillNo2: TRzEdit;
    edProvNo: TRzButtonEdit;
    cbOptor: TRzButtonEdit;
    cbAudit: TRzComboBox;
    edAudit: TRzButtonEdit;
    Label5: TLabel;
    Label11: TLabel;
    DTCtrl1: TRzDateTimePicker;
    DTCtrl2: TRzDateTimePicker;
    Label12: TLabel;
    edDepartID: TRzButtonEdit;
    Panel1: TPanel;
    dbgPchOrders: TxDBGridEh;
    ActionList1: TActionList;
    ImageList1: TImageList;
    ActQuery: TModlAction;
    ActReport: TModlAction;
    ActFieldsLayout: TModlAction;
    ActDataExport: TModlAction;
    ActDesignReport: TModlAction;
    ckMultiSelect: TRzCheckBox;
    ActViewBill: TModlAction;
    RzLabel1: TRzLabel;
    RzLabel2: TRzLabel;
    edPayMode: TRzButtonEdit;
    edBillNo: TRzEdit;
    edCheckNo: TRzEdit;
    edGoodsID: TRzButtonEdit;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ActQueryExecute(Sender: TObject);
    procedure ActReportExecute(Sender: TObject);
    procedure ActFieldsLayoutExecute(Sender: TObject);
    procedure ActDataExportExecute(Sender: TObject);
    procedure BtnPopMenuClick(Sender: TObject);
    procedure cdsPurchPayAfterOpen(DataSet: TDataSet);
    procedure ActViewBillExecute(Sender: TObject);
    procedure edProvNoButtonClick(Sender: TObject);
    procedure edDepartIDButtonClick(Sender: TObject);
    procedure cbOptorButtonClick(Sender: TObject);
    procedure edAuditButtonClick(Sender: TObject);
    procedure edPayModeButtonClick(Sender: TObject);
    procedure edGoodsIDButtonClick(Sender: TObject);
  private
    IFmMain: IMainForm;
    LocSetting: PLocSetting;
    iClientID: Integer;
    SvrCommon: TDispatchConnection;
    CdsFieldProperty :TckClientDataSet;
  public
    { Public declarations }
  end;

var
  FmPchPayQry: TFmPchPayQry;

Const
  sFieldProPerty='Select * From SysFieldProperty '+
        ' Where TableName=''PurchPay''';

implementation
uses SelectGoodsFrm,ceGlobal, ShowProGress, FieldsLayoutFrm, RepSelectFrm, DataExportFrm,
     SelectProvFrm,SelectEmpFrm,SelectDepartFrm,
     SelectPayMode;

{$R *.dfm}

procedure TFmPchPayQry.FormCreate(Sender: TObject);
var SystemTime: TSystemTime;
begin
  CdsFieldProperty := TckClientDataSet.Create(Self);
  GetLocalTime(SystemTime);
  with SystemTime do
    DTCtrl1.Date := EncodeDate(wYear, wMonth, 1);
  DTCtrl2.Date := Date;

  IFmMain := Application.MainForm as IMainForm;
  LocSetting := IFmMain.IFmMainEx.GetLocSetting;
  iClientID := IFmMain.IFmMainEx.ClientID;
  SetGressHint('正在连接到公用信息服务器...');
  SvrCommon := IFmMain.GetConnection(Handle, '', 'CommonSvr.CommonRDM');
  cdsPurchPay.RemoteServer := SvrCommon;

  CdsFieldProPerty.ProviderName:='DspTemp';
  CdsFieldProPerty.RemoteServer:=SvrCommon;

end;

procedure TFmPchPayQry.FormShow(Sender: TObject);
var sTableNames: string;
begin
  SetGressHint('初始化本地环境...');
  IFmMain.SetActionStatus(ActionList1, hInstance, self.ClassName);
  SysFieldXml(CdsFieldProPerty,sFieldProPerty,'TFmPurchPayQry.Xml');
  sTableNames:='PurchPay';
  SetFieldProperty(CdsFieldProPerty,CdsPurchPay,sTableNames);
  SetGridEhColor([dbgPchOrders]);
  ptBkPanel.Color := TitlePanelColor;
//  cdsPurchPay.Open;
  FreeGressForm;
end;

procedure TFmPchPayQry.ActQueryExecute(Sender: TObject);
var swMst, swDtl, str: String;
   sTableNames:String;
begin
	swMst := 'and M.FDATE>='''+FormatDateTime('yyyy-mm-dd', DTCtrl1.Date)
  				+''' AND M.FDATE<'''+FormatDateTime('yyyy-mm-dd', DTCtrl2.Date+1)+'''';
  if edBillNo.Text<>'' then
    swMst := swMst+'AND M.Invoice='''+edBillNo.Text+'''';
  if edPayMode.Text<>'' then
    swMst := swMst+'AND M.PayKind='''+edPayMode.Text+'''';
	str := edProvNo.Text;
	if str<>'' then
  	swMst := swMst+' AND M.ProvNo='''+str+'''';
  str := edBillNo1.Text;
  if str<>'' then begin
  	if edBillNo2.Text='' then
      swMst := swMst+' AND M.BILLNO='''+str+''''
    else
    	swMst := swMst+' AND M.BILLNO>='''+str+''' AND M.BillNo<='''+edBillNo2.Text+'''';
  end;
  str := edCheckNo.Text;
  if str<>'' then
  	swMst := swMst+' AND M.ChequeNo='''+str+'''';
  str := cbOptor.Text;
  if str<>'' then
  	swMst := swMst+' AND M.Creater='''+str+'''';
  str := edAudit.Text;
  if str<>'' then
  	swMst := swMst+' AND M.Audit='''+str+'''';
  if cbAudit.ItemIndex=1 then
  	swMst := swMst+' AND M.Audit IS NOT NULL '
  else if cbAudit.ItemIndex=2 then
  	swMst := swMst+' AND M.Audit IS NULL ';

  str := edGoodsID.Text;
  if str<>'' then begin
    if AnsiPos(',', str)>0 then
      swDtl := ' AND GoodsID IN ('''+str+''')'
    else
      swDtl := ' AND GoodsID Like '''+edGoodsID.Text+'''';
  end;
  cdsPurchPay.Close;
  cdsPurchPay.Data := SvrCommon.AppServer.QueryBill(iClientID, 'PurchPay', swMst, swDtl);
  sTableNames := 'PurchPay';
  SetFieldProperty(CdsFieldProPerty,cdsPurchPay,sTableNames);
end;

procedure TFmPchPayQry.ActReportExecute(Sender: TObject);
begin
  SelRepPrint(self.Name, [cdsPurchPay], '采购付款查询', ActDesignReport.Enabled);
end;

procedure TFmPchPayQry.ActFieldsLayoutExecute(Sender: TObject);
begin
  SetFieldsLayOut(LocSetting^.FieldLayoutCfgFile, Name, [dbgPchOrders], '采购付款查询');
end;

procedure TFmPchPayQry.ActDataExportExecute(Sender: TObject);
begin
	ExportData([cdsPurchPay], '采购付款查询', '');
end;

procedure TFmPchPayQry.BtnPopMenuClick(Sender: TObject);
var tp:TPoint;
begin
  tp.X:=BtnPopMenu.Left;
  tp.Y:=BtnPopMenu.Top+BtnPopMenu.Height+1;
  tp:=ClientToScreen(tp);
	TopPopmenu.Popup(tp.x,tp.Y);
end;

procedure TFmPchPayQry.cdsPurchPayAfterOpen(DataSet: TDataSet);
begin
  LoadFieldsLayOut(LocSetting^.FieldLayoutCfgFile, Name, [dbgPchOrders]);
end;

procedure TFmPchPayQry.ActViewBillExecute(Sender: TObject);
var //Form: TForm;
    Values: Variant;
    sBillNo, sBills: String;
    mark: TBookmark;
begin
  if cdsPurchPay.IsEmpty then Exit;
{  IFmMain.OnAction(Sender);
  Form := FindForm('TFmPchOrder');
  if (Form=nil)or not (Form is TxBaseForm) then Exit;
}  with cdsPurchPay do begin
    sBillNo := FieldByName('BillNo').AsString;
    mark := GetBookmark;
    DisableControls;
    try
      First;
      while not Eof do begin
        sBills := sBills+FieldByName('BillNo').AsString+#13;
        Next;
      end;
    finally
      GotoBookmark(mark);
      FreeBookmark(mark);
      EnableControls;
    end;
  end;
  Values := VarArrayCreate([0,1], varOleStr);
  Values[0] := sBillNo;
  Values[1] := sBills;
//  TxBaseForm(Form).DoSome('ViewBill', Values);
//  Form.BringToFront;
  IFmMain.DoSome(ActViewBill.ModuleFile, 'ViewBill', Values);
  Values := NULL;
end;

procedure TFmPchPayQry.edProvNoButtonClick(Sender: TObject);
Var
  ProvNo :String;
  ProvName :String;
begin
  ProvNo := '';
  ProvName := '';
  if SelectProv(ProvNo,ProvName) then
  edProvNo.Text := ProvNo;
end;

procedure TFmPchPayQry.edDepartIDButtonClick(Sender: TObject);
Var
  DptId :Integer;
  DptNo :String;
  DptName :String;
begin
  DptId := 0;
  DptNo := '';
  DptName := '';
  if SelectDepart(DptId,DptNo,DptName) then
  edDepartID.Text := DptNo;
end;

procedure TFmPchPayQry.cbOptorButtonClick(Sender: TObject);
Var
  EmpNo,EmpName :string;
begin
  EmpNo := '';
  EmpName := '';
  if SelectEmp(EmpNo,EmpName) then
  cbOptor.Text := EmpNo;
end;

procedure TFmPchPayQry.edAuditButtonClick(Sender: TObject);
Var
  EmpNo,EmpName :string;
begin
  EmpNo := '';
  EmpName := '';
  if SelectEmp(EmpNo,EmpName) then
  edAudit.Text := EmpNo;
end;

procedure TFmPchPayQry.edPayModeButtonClick(Sender: TObject);
Var
  PayId,PayName :String;
begin
  Payid :='';
  PayName := '';
  if SelectPay(PayId,PayName) then
  edPayMode.Text := PayId;
end;

procedure TFmPchPayQry.edGoodsIDButtonClick(Sender: TObject);
var
  sGoodsId :String;
begin
  sGoodsID := '';
  if ckMultiSelect.Checked then
  begin
    if SelectGoodsID(sGoodsID, true) then
      If edGoodsID.Text<>'' Then
        edGoodsId.Text := edGoodsId.Text+','+sGoodsId
      else
        edGoodsId.Text := sGoodsID;
  End
  else if SelectGoodsID(sGoodsID, false) then
    edGoodsID.text := sGoodsID;
end;

initialization
  RegisterClass(TFmPchPayQry);

finalization
  UnRegisterClass(TFmPchPayQry);

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?