⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 planbrowerunit.~pas

📁 用友系统二次开发 存货管理 客户管理 订货审核 退货审核 铺货计划 调货计划
💻 ~PAS
字号:
unit PlanbrowerUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dxExEdtr, ExtCtrls, RzPanel, dxCntner, dxTL, dxDBCtrl, dxDBGrid,
  cxControls, cxContainer, cxEdit, cxCheckBox, StdCtrls, cxRadioGroup,
  RzButton, cxTextEdit, cxGroupBox, DB, ADODB, Mask, RzEdit, cxGraphics,
  cxMaskEdit, cxDropDownEdit, ComCtrls, RzDTP, DBCtrls, cxCheckListBox,
  Menus, cxListBox;

type
  TfrmPlanbrower = class(TForm)
    dxDBGrid1: TdxDBGrid;
    RzToolbar1: TRzToolbar;
    BtnExecute: TRzToolButton;
    Plans: TADODataSet;
    DataSource1: TDataSource;
    RzPanel1: TRzPanel;
    cxGroupBox4: TcxGroupBox;
    CB20: TcxCheckBox;
    CB_23: TcxTextEdit;
    CB23: TcxCheckBox;
    CB22: TcxCheckBox;
    CB21: TcxCheckBox;
    cxGroupBox3: TcxGroupBox;
    CB00: TcxCheckBox;
    CB01: TcxCheckBox;
    CB02: TcxCheckBox;
    cxGroupBox1: TcxGroupBox;
    CB12: TcxCheckBox;
    CB14: TcxCheckBox;
    CB13: TcxCheckBox;
    CB10: TcxCheckBox;
    CB11: TcxCheckBox;
    CB15: TcxCheckBox;
    CB03: TcxCheckBox;
    dxDBGrid1cPlanCode: TdxDBGridMaskColumn;
    dxDBGrid1cTypeCode: TdxDBGridMaskColumn;
    dxDBGrid1cInvCode: TdxDBGridMaskColumn;
    dxDBGrid1cInvName: TdxDBGridColumn;
    dxDBGrid1iCusCount: TdxDBGridMaskColumn;
    dxDBGrid1dStartDate: TdxDBGridMaskColumn;
    dxDBGrid1dEndDate: TdxDBGridMaskColumn;
    dxDBGrid1cInvCCode: TdxDBGridMaskColumn;
    dxDBGrid1Column10: TdxDBGridMaskColumn;
    dxDBGrid1Column11: TdxDBGridMaskColumn;
    dxDBGrid1Column12: TdxDBGridMaskColumn;
    dxDBGrid1Column13: TdxDBGridMaskColumn;
    dxDBGrid1Column14: TdxDBGridMaskColumn;
    PlanscPlanCode: TStringField;
    PlansID: TIntegerField;
    PlanscTypeCode: TStringField;
    PlanscInvCode: TStringField;
    PlanscInvName: TWideStringField;
    PlansiCusCount: TIntegerField;
    PlansdStartDate: TStringField;
    PlansdEndDate: TStringField;
    PlanscInvCCode: TStringField;
    PlansDSDesigner: TIntegerField;
    PlansDSDesigner2: TIntegerField;
    PlansDSDesigner3: TIntegerField;
    PlansDSDesigner4: TIntegerField;
    PlansDSDesigner5: TIntegerField;
    PlansDSDesigner6: TStringField;
    CB_21: TcxComboBox;
    CB_22: TcxComboBox;
    CB__21: TRzDateTimePicker;
    CB__22: TRzDateTimePicker;
    Panel1: TPanel;
    DBText1: TDBText;
    Panel2: TPanel;
    DBText2: TDBText;
    DBText3: TDBText;
    DBText4: TDBText;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    CusLB: TcxListBox;
    N2: TMenuItem;
    N3: TMenuItem;
    procedure BtnExecuteClick(Sender: TObject);
    procedure CB00PropertiesChange(Sender: TObject);
    procedure CB10PropertiesChange(Sender: TObject);
    procedure CB11PropertiesChange(Sender: TObject);
    procedure CB21PropertiesChange(Sender: TObject);
    procedure CB22PropertiesChange(Sender: TObject);
    procedure CB23PropertiesChange(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure dxDBGrid1DblClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure N1Click(Sender: TObject);
    procedure PlansAfterClose(DataSet: TDataSet);
    procedure N3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmPlanbrower: TfrmPlanbrower;

implementation

uses

mainUnit,DataUnit, PublicUnit, LoginUnit;

{$R *.dfm}

procedure TfrmPlanbrower.BtnExecuteClick(Sender: TObject);
Var
  SqlList : TStringList ;
  s1,s2,s3,s4,s5,sfilter: String;
begin

  Plans.Active := false ;
  Plans.Active := True ;
  Plans.Filtered := false ;
  SqlList := TStringlist.Create ;

  SqlList.Clear;
  if CB01.Checked then SqlList.Add(CB01.Hint);
  if CB02.Checked then SqlList.Add(CB02.Hint);
  if CB03.Checked then SqlList.Add(CB03.Hint);
  if ListToStr(SqlList,' OR ') <> '' Then
  s1 := ' (' + ListToStr(SqlList,' OR ')+') ';

  SqlList.Clear;
  if CB12.Checked then SqlList.Add(CB12.Hint);
  if CB13.Checked then SqlList.Add(CB13.Hint);
  if CB14.Checked then SqlList.Add(CB14.Hint);
  if CB15.Checked then SqlList.Add(CB15.Hint);
  if ListToStr(SqlList,' OR ') <> '' Then
  s2 := ' (' + ListToStr(SqlList,' OR ')+') ';

  If CB21.Checked then s3 :=' (' + CB21.Hint + CB_21.Text +''''+ FormatDatetime('YYYY-MM-DD',CB__21.Date)+''') '  ;
  If CB22.Checked then s4 :=' (' + CB22.Hint + CB_22.Text +''''+ FormatDatetime('YYYY-MM-DD',CB__22.Date)+''') '  ;
  If CB23.Checked then s5 :=' (' + CB23.Hint + ' = ''' + CB_23.Text +''') ' ;

  if s1 <> '' then sfilter := s1 ;
  if s2 <> '' then if sfilter <> ''  then sfilter := sfilter + ' AND '+ s2 else sfilter := s2;
  if s3 <> '' then if sfilter <> ''  then sfilter := sfilter + ' AND '+ s3 else sfilter := s3;
  if s4 <> '' then if sfilter <> ''  then sfilter := sfilter + ' AND '+ s4 else sfilter := s4;
  if s5 <> '' then if sfilter <> ''  then sfilter := sfilter + ' AND '+ s5 else sfilter := s5;

  showmessage(sfilter);
  if  sfilter <> '' then
  begin
      Plans.Filter := sfilter ;
      Plans.Filtered := true ;
  end ;

end;

procedure TfrmPlanbrower.CB00PropertiesChange(Sender: TObject);
begin
    cb01.Checked := cb00.Checked ;
    cb02.Checked := cb00.Checked ;
    cb03.Checked := cb00.Checked ;
end;

procedure TfrmPlanbrower.CB10PropertiesChange(Sender: TObject);
begin
    cb11.Checked := cb10.Checked ;
    cb15.Checked := cb10.Checked ;

end;

procedure TfrmPlanbrower.CB11PropertiesChange(Sender: TObject);
begin
    cb12.Checked := cb11.Checked ;
    cb13.Checked := cb11.Checked ;
    cb14.Checked := cb12.Checked ;
end;

procedure TfrmPlanbrower.CB21PropertiesChange(Sender: TObject);
begin
    CB_21.Enabled := CB21.Checked ;
    CB__21.Enabled := CB21.Checked ;
end;

procedure TfrmPlanbrower.CB22PropertiesChange(Sender: TObject);
begin
    CB_22.Enabled := CB22.Checked ;
    CB__22.Enabled := CB22.Checked ;

end;

procedure TfrmPlanbrower.CB23PropertiesChange(Sender: TObject);
begin
    CB_23.Enabled := CB23.Checked ;

end;

procedure TfrmPlanbrower.FormActivate(Sender: TObject);

Var
  SqlList : TStringList ;
  s1,s2,s3,s4,s5,sfilter: String;
begin

  Plans.Active := false ;

  CB_21.Text  := '>=';
  CB__21.Date := Now()-1 ;

  Plans.Active := True ;
  Plans.Filtered := false ;
  SqlList := TStringlist.Create ;

  SqlList.Clear;
  if CB01.Checked then SqlList.Add(CB01.Hint);
  if CB02.Checked then SqlList.Add(CB02.Hint);
  if CB03.Checked then SqlList.Add(CB03.Hint);
  if ListToStr(SqlList,' OR ') <> '' Then
  s1 := ' (' + ListToStr(SqlList,' OR ')+') ';

  SqlList.Clear;
  if CB12.Checked then SqlList.Add(CB12.Hint);
  if CB13.Checked then SqlList.Add(CB13.Hint);
  if CB14.Checked then SqlList.Add(CB14.Hint);
  if CB15.Checked then SqlList.Add(CB15.Hint);
  if ListToStr(SqlList,' OR ') <> '' Then
  s2 := ' (' + ListToStr(SqlList,' OR ')+') ';

  If CB21.Checked then s3 :=' (' + CB21.Hint + CB_21.Text +''''+ FormatDatetime('YYYY-MM-DD',CB__21.Date)+''') '  ;
  If CB22.Checked then s4 :=' (' + CB22.Hint + CB_22.Text +''''+ FormatDatetime('YYYY-MM-DD',CB__22.Date)+''') '  ;
  If CB23.Checked then s5 :=' (' + CB23.Hint + ' = ''' + CB_23.Text +''') ' ;

  if s1 <> '' then sfilter := s1 ;
  if s2 <> '' then if sfilter <> ''  then sfilter := sfilter + ' AND '+ s2 else sfilter := s2;
  if s3 <> '' then if sfilter <> ''  then sfilter := sfilter + ' AND '+ s3 else sfilter := s3;
  if s4 <> '' then if sfilter <> ''  then sfilter := sfilter + ' AND '+ s4 else sfilter := s4;
  if s5 <> '' then if sfilter <> ''  then sfilter := sfilter + ' AND '+ s5 else sfilter := s5;

//  showmessage(sfilter);
  if  sfilter <> '' then
  begin
      Plans.Filter := sfilter ;
      Plans.Filtered := true ;
  end ;

end;

procedure TfrmPlanbrower.dxDBGrid1DblClick(Sender: TObject);
begin
    sqltext := '_PM_P_InvCustState_Query 6,'''+ Plans.fieldbyName('cPlanCode').asString +''','''' ';
    CusLB.Items := getlist(sqltext);
end;

procedure TfrmPlanbrower.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   Action:=caFree;
end;

procedure TfrmPlanbrower.N1Click(Sender: TObject);
var
    i,j :integer;
    sCusnames,sMemo:string;
begin
    if Not dm.tbPower.FieldValues['M203_8'] then begin
      showmessage('无权执行,请咨询系统管理员!');
      exit;
    end;

    if MessageDlg('提示: '+#13+'确认要从计划中清除吗?'+#13+#13+#13+'客户:'+lefts(CusLB.Items.Strings[CusLB.ItemIndex]),mtInformation,[mbOK,mbCancel],0) = mrOk Then begin
        try
            With dm.sql do begin
                 CommandText := 'ExeCute _PM_P_DelCusPlan :a,:b ';
                 Parameters.ParamByName('a').Value := lefts(CusLB.Items.Strings[CusLB.ItemIndex]);
                 Parameters.ParamByName('b').Value := Plans.fieldbyName('cPlanCode').asString;
                 execute;
                 showmessage('清除客户成功!');
            end;
        except
            showmessage('清除客户失败!');
            exit ;
        end;
    end;
    sqltext := '_PM_P_InvCustState_Query 6,'''+ Plans.fieldbyName('cPlanCode').asString +''','''' ';
    CusLB.Items := getlist(sqltext);

end;

procedure TfrmPlanbrower.PlansAfterClose(DataSet: TDataSet);
begin
    CusLB.Items.Clear ;
end;

procedure TfrmPlanbrower.N3Click(Sender: TObject);
begin
    if Not dm.tbPower.FieldValues['M203_9'] then begin
      showmessage('无权执行,请咨询系统管理员!');
      exit;
    end;

    if MessageDlg('提示: '+#13+'确认要删除当前计划中吗?'+#13+#13+#13,mtInformation,[mbOK,mbCancel],0) = mrOk Then begin
        try
            With dm.sql do begin
                 CommandText := 'Delete a__Plan Where PBName =:a';
                 Parameters.ParamByName('a').Value := Plans.fieldbyName('cPlanCode').asString;
                 execute;
                 showmessage('删除计划成功!');
            end;
        except
            showmessage('删除计划失败!');
            exit ;
        end;
    end;
end;

end.

⌨️ 快捷键说明

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