📄 planbrowerunit.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 + -