providerfrm.pas

来自「医药连锁经营管理系统源码」· PAS 代码 · 共 617 行 · 第 1/2 页

PAS
617
字号
unit ProviderFrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGridEh, DbUtilsEh, EhLibCDS,StdCtrls, DBCtrls, Buttons,ExtCtrls,
  ComCtrls,RzPanel, RzSplit, RzBorder, RzBmpBtn, RzLabel, RzBckgnd,
  RzButton, ActnList, Menus, Db, DBClient, MConnect,xBaseFrm,iMainFrm,
  xEhLibCtl,Variants, Mask, RzEdit, RzSpnEdt, TFlatPanelUnit, ModuleAction,
  ImgList, ckDBClient, RzTabs,DbFuncs,ShowProGress, TFlatSpeedButtonUnit,
  RzStatus,uDataTypes;

type
  TFmProvider = class(TxBaseForm)
    ActionList1: TActionList;
    ActRefresh: TModlAction;
    ActNew: TModlAction;
    ActModify: TModlAction;
    ActDele: TModlAction;
    dbgProviders: TxDBGridEh;
    ActMore: TModlAction;
    ActFind: TModlAction;
    ActPrint: TModlAction;
    ActExit: TModlAction;
    Panel1: TPanel;
    BtnNew: TRzBitBtn;
    BitBtn2: TRzBitBtn;
    BtnPrint: TRzBitBtn;
    BtnEdit: TRzBitBtn;
    BtnDel: TRzBitBtn;
    BtnFind: TRzBitBtn;
    Btnfresh: TRzBitBtn;
    BtnMore: TRzBitBtn;
    DCOMCONN: TDCOMConnection;
    CdsProviders: TckClientDataSet;
    CdsProvidersProvNo: TStringField;
    CdsProvidersProvName: TStringField;
    CdsProvidersFullName: TStringField;
    CdsProvidersABCKind: TStringField;
    CdsProvidersTrade: TStringField;
    CdsProvidersSubjectDept: TStringField;
    CdsProvidersWorkingMode: TStringField;
    CdsProvidersWorkingBound: TStringField;
    CdsProvidersCorpName: TStringField;
    CdsProvidersCorpDuty: TStringField;
    CdsProvidersOwnerKind: TStringField;
    CdsProvidersQualityPar: TStringField;
    CdsProvidersPermitNo: TStringField;
    CdsProvidersCompetency: TStringField;
    CdsProvidersArea: TStringField;
    CdsProvidersPostCode: TStringField;
    CdsProvidersAddress: TStringField;
    CdsProvidersLinkMan: TStringField;
    CdsProvidersMobile: TStringField;
    CdsProvidersLinkTel: TStringField;
    CdsProvidersFax: TStringField;
    CdsProvidersAccountBank: TStringField;
    CdsProvidersAccountNo: TStringField;
    CdsProvidersTaxNo: TStringField;
    CdsProvidersCredit: TIntegerField;
    CdsProvidersPayModeNo: TStringField;
    CdsProvidersPause: TBooleanField;
    CdsProvidersRemark: TStringField;
    CdsProvidersAdosProMan: TDataSetField;
    CdsProvidersAdosProGoods: TDataSetField;
    CdsProvGoods: TckClientDataSet;
    CdsProvLinkmans: TckClientDataSet;
    CdsProvLinkmansProvNo: TStringField;
    CdsProvLinkmansLinkMan: TStringField;
    CdsProvLinkmansNickName: TStringField;
    CdsProvLinkmansSex: TStringField;
    CdsProvLinkmansBirthday: TDateTimeField;
    CdsProvLinkmansDept: TStringField;
    CdsProvLinkmansDuty: TStringField;
    CdsProvLinkmansAddress: TStringField;
    CdsProvLinkmansTel1: TStringField;
    CdsProvLinkmansTel2: TStringField;
    CdsProvLinkmansMobile: TStringField;
    CdsProvLinkmansOICQ: TStringField;
    CdsProvLinkmansEMail: TStringField;
    CdsProvLinkmansRemark: TStringField;
    DsProvLinkmans: TDataSource;
    DsProvGoods: TDataSource;
    DsProviders: TDataSource;
    RzSizePanel1: TRzSizePanel;
    PageTabs: TRzPageControl;
    TabSheet1: TRzTabSheet;
    dbgProvGoods: TxDBGridEh;
    TabSheet2: TRzTabSheet;
    dbgProvLinkmans: TxDBGridEh;
    CdsPayModes: TckClientDataSet;
    CdsProvidersPayModename: TStringField;
    RzPanel1: TRzPanel;
    ActNewLinkman: TModlAction;
    ActEdtLinkman: TModlAction;
    ActDelLinkman: TModlAction;
    ActNewProvGoods: TModlAction;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    RzBitBtn3: TRzBitBtn;
    RzPanel2: TRzPanel;
    RzBitBtn5: TRzBitBtn;
    RzBitBtn7: TRzBitBtn;
    RzBitBtn8: TRzBitBtn;
    ActEditProvGoods: TModlAction;
    ActDelProvGoods: TModlAction;
    CdsProvGoodsProvNo: TStringField;
    CdsProvGoodsGoodsID: TStringField;
    CdsProvGoodsName: TStringField;
    CdsProvGoodsSpecs: TStringField;
    CdsProvGoodsUnit1: TStringField;
    CdsProvGoodsPrice1: TBCDField;
    CdsProvGoodsUnit2: TStringField;
    CdsProvGoodsPrice2: TBCDField;
    CdsProvGoodsRemark: TStringField;
    CdsProvGoodsProvGoodsID: TStringField;
    CdsProvGoodsNearDate: TDateTimeField;
    ptBkPanel: TFlatPanel;
    ptCaption: TRzMarqueeStatus;
    FlatPanel2: TPanel;
    BtnWhatIs: TFlatSpeedButton;
    BtnHelp: TFlatSpeedButton;
    FlatPanel3: TPanel;
    BtnPopMenu: TFlatSpeedButton;
    TopPopMenu: TPopupMenu;
    SetFields1: TMenuItem;
    refresh1: TMenuItem;
    ImageList1: TImageList;
    ActDesignReport: TModlAction;
    ActFieldsLayOut: TModlAction;
    ActDataExport: TModlAction;
    CdsProvGoodsDataUsable: TBooleanField;
    CdsPayModesPayModeNo: TStringField;
    CdsPayModesPayModeName: TStringField;
    CdsPayModesTimeLimit: TIntegerField;
    CdsPayModesDataUsable: TBooleanField;
    CdsProvidersProvPyCode: TStringField;
    CdsProvidersEmpNo: TStringField;
    CdsProvidersCoinKind: TStringField;
    CdsProvidersDataUsable: TBooleanField;
    CdsProvidersCreater: TStringField;
    CdsProvidersCreatTime: TDateTimeField;
    CdsProvidersMender: TStringField;
    CdsProvidersUpdateTime: TDateTimeField;
    CdsProvidersGrup: TIntegerField;
    CdsProvidersCreditDays: TIntegerField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn2Click(Sender: TObject);
    procedure ActNewExecute(Sender: TObject);
    procedure ActModifyExecute(Sender: TObject);
    procedure ActDeleExecute(Sender: TObject);
    procedure ActRefreshExecute(Sender: TObject);
    procedure ActMoreExecute(Sender: TObject);
    procedure CdsProvidersBeforeGetRecords(Sender: TObject;
      var OwnerData: OleVariant);
    procedure FormShow(Sender: TObject);
    procedure CdsProvidersAfterOpen(DataSet: TDataSet);
    procedure CdsProvidersBeforeOpen(DataSet: TDataSet);
    procedure BtnDelClick(Sender: TObject);
    procedure CdsProvidersReconcileError(DataSet: TCustomClientDataSet;
      E: EReconcileError; UpdateKind: TUpdateKind;
      var Action: TReconcileAction);
    procedure CdsProvGoodsReconcileError(DataSet: TCustomClientDataSet;
      E: EReconcileError; UpdateKind: TUpdateKind;
      var Action: TReconcileAction);
    procedure CdsProvLinkmansReconcileError(DataSet: TCustomClientDataSet;
      E: EReconcileError; UpdateKind: TUpdateKind;
      var Action: TReconcileAction);
    procedure CdsProvGoodsNewRecord(DataSet: TDataSet);
    procedure CdsProvLinkmansNewRecord(DataSet: TDataSet);
    procedure CdsProvGoodsGoodsidChange(Sender: TField);
    procedure ActExitExecute(Sender: TObject);
    procedure ActPrintExecute(Sender: TObject);
    procedure ActNewLinkmanExecute(Sender: TObject);
    procedure ActEdtLinkmanExecute(Sender: TObject);
    procedure ActDelLinkmanExecute(Sender: TObject);
    procedure ActEditProvGoodsExecute(Sender: TObject);
    procedure ActNewProvGoodsExecute(Sender: TObject);
    procedure CdsProvidersAfterGetRecords(Sender: TObject;
      var OwnerData: OleVariant);
    procedure CdsProvidersBeforeRefresh(DataSet: TDataSet);
    procedure ActDelProvGoodsExecute(Sender: TObject);
    procedure BtnPopMenuClick(Sender: TObject);
    procedure ActFieldsLayOutExecute(Sender: TObject);
    procedure ActDataExportExecute(Sender: TObject);
    procedure dbgProvidersDblClick(Sender: TObject);
  private
    bTrueEof:Boolean;
    iClientID,PacketRcs:Integer;
    IFmMain :IMainForm;
    FlagGoodsID,BeforeGoodsID :String;
    CdsFieldProperty :TckClientDataSet;
    LocSetting: PLocSetting;
    SvrCommon,SvrProviders:TDispatchConnection;
    PublicMark:TBookMark;
  public

  end;

const
  sFieldProPerty='Select * From SysFieldProperty '+
        ' Where TableName In(''Providers'',''ProvGoods'',''ProvLinkmans'', ''Goodses'')';

var
  FmProvider :TFmProvider;
  vOwnerData:Variant;

implementation

uses ProvEdFrm, RepSelectFrm,ProvGoods, ProvLinkmanEd,FieldsLayoutFrm,
  DataExportFrm, ceGlobal;


{$R *.DFM}


procedure TFmProvider.FormCreate(Sender: TObject);
begin
  IFmMain:=Application.MainForm As IMainForm;
  iClientID:=IFmMain.IFmMainEx.ClientID;
  LocSetting := IFmMain.IFmMainEx.GetLocSetting;
  CdsFieldProperty:=TCkClientDataSet.Create(Self);
  SetGressHint('正在连接到供应厂商资料管理服务器...');
  SvrProviders:=iFmMain.GetConnection(Handle, '','ProviderSvr.Providers');
  SetGressHint('正在连接到公用信息服务器');
  SvrCommon:=iFmMain.GetConnection(Handle,'','CommonSvr.CommonRDM');
  SetGressHint('正在读取用户操作权限...');
  IFmMain.SetActionStatus(ActionList1, hInstance, self.ClassName);
  SetGressHint('正在读取大数据集设置属性...');
  CdsProviders.RemoteServer:=SvrProviders;
  CdsPayModes.RemoteServer :=SvrProviders;
  CdsPayModes.ProviderName := 'DspFields';
  CdsFieldProPerty.RemoteServer:=SvrCommon;
  CdsFieldProPerty.ProviderName:='DspTemp';
  PacketRcs:=IFmMain.IFmMainEx.GetLocSetting^.PacketRecs;
  CdsProviders.PacketRecords:=PacketRcs;
end;

procedure TFmProvider.FormShow(Sender: TObject);
var sTableNames :string;
begin
  Inherited;
  PageTabs.BackgroundColor := Color;
  SetGressHint('初始化本地环境...');
  ptBkPanel.Color := TitlePanelColor;
  ptCaption.FillColor := TitlePanelColor;
  SetGridEhColor([dbgProviders, dbgProvGoods, dbgProvLinkmans]);
  SysFieldXml(CdsFieldProPerty,sFieldProPerty, ClassName+'.Xml');
  SetFieldProperty(CdsFieldProPerty,CdsProviders, 'Providers');
  SetFieldProperty(CdsFieldProPerty,CdsProvGoods, 'ProvGoods,Goodses');
  SetFieldProperty(CdsFieldProPerty,CdsProvLinkmans, 'ProvLinkmans');
  SetGressHint('读取历史单据...');
  CdsProviders.Open;
  CdsPayModes.Open;
  dbgProviders.SetAutoSort('');
  dbgProvGoods.SetAutoSort('');
  dbgProvLinkmans.SetAutoSort('');
  FreeGressForm;
end;

procedure TFmProvider.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Inherited;
  Action := caFree;
end;
procedure TFmProvider.BitBtn2Click(Sender: TObject);
begin
  ActExitExecute(Sender);
end;

procedure TFmProvider.ActNewExecute(Sender: TObject);
var varString:String;
  b1 : Boolean;
begin
	with TFmProvEd.Create(self) do begin
    b1 := False;
    CdsProviders.Append;
    CdsPayModes.First;
    Hide;
    while not(CdsPayModes.Eof) do
    begin
      if CdsPayModesDataUsable.Value then
        CoKind.Items.Add(CdsPayModesPayModeNo.Value+':'+CdsPayModesPayModeName.Value+':'+'['+CdsPayModesTimeLimit.AsString+'天]');
      CdsPayModes.Next;
    end;
    If ShowModal<>mrOk Then Begin
      CdsProviders.Cancel;
      CdsProviders.CancelUpdates;
    End;
    Free;
  End;
End;

procedure TFmProvider.ActModifyExecute(Sender: TObject);
var varString:String;
begin
  IF CdsProviders.IsEmpty then Exit;
	with TFmProvEd.Create(self) do begin
    edProvNo.ReadOnly:=True;
    CdsProviders.Edit;
    CdsPayModes.First;
    Hide;
    while not(CdsPayModes.Eof) do
    begin
      if CdsPayModesDataUsable.Value then
        CoKind.Items.Add(CdsPayModesPayModeNo.Value+':'+CdsPayModesPayModeName.Value+':'+'['+CdsPayModesTimeLimit.AsString+'天]');
      CdsPayModes.Next;

⌨️ 快捷键说明

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