📄 custmanageunit.pas
字号:
unit CustManageUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCheckListBox, RzTabs, ExtCtrls, cxTextEdit, ActnList,
cxMaskEdit, cxDropDownEdit, cxEdit, cxCheckBox, cxControls, cxContainer,
cxListBox, StdCtrls, cxRadioGroup, RzPanel, RzSplit, CheckLst, Menus;
type
TfrmCusManage = class(TForm)
RzPanel2: TRzPanel;
Panel1: TPanel;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
RzPageControl2: TRzPageControl;
TSA: TRzTabSheet;
TSC: TRzTabSheet;
TSD: TRzTabSheet;
TSE: TRzTabSheet;
TSF: TRzTabSheet;
RzSizePanel1: TRzSizePanel;
Panel3: TPanel;
Panel4: TPanel;
CBFQ: TcxCheckBox;
Fqlist: TcxComboBox;
CB_HA: TcxCheckBox;
CB_HC: TcxCheckBox;
CB_HE: TcxCheckBox;
CB_HD: TcxCheckBox;
CB_HB: TcxCheckBox;
CB_LA: TcxCheckBox;
CB_LC: TcxCheckBox;
CB_LB: TcxCheckBox;
CB_CB: TcxCheckBox;
CB_CD: TcxCheckBox;
CB_CC: TcxCheckBox;
CB_CA: TcxCheckBox;
Panel5: TPanel;
CusList: TListBox;
TSAList: TCheckListBox;
TSCList: TCheckListBox;
TSDList: TCheckListBox;
TSEList: TCheckListBox;
TSFList: TCheckListBox;
TSB: TRzTabSheet;
TSBList: TCheckListBox;
PMTSB: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Panel2: TPanel;
RB_LS: TcxRadioButton;
RB_PF: TcxRadioButton;
procedure FormCreate(Sender: TObject);
procedure QCusList;
procedure RB_PFClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CusListDblClick(Sender: TObject);
procedure PlanTran(ID:integer);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmCusManage: TfrmCusManage;
implementation
uses MainUnit, PublicUnit, DataUnit, LoginUnit;
{$R *.dfm}
procedure TfrmCusManage.FormCreate(Sender: TObject);
begin
sqltext := 'SELECT DISTINCT P.cPersonCode'+'+'' - ''+'+'P.cPersonName FROM Customer INNER JOIN Person AS P ON Customer.cCusPPerson = P.cPersonCode ';
fqList.Properties.Items := Getlist(sqltext);
if FrmLogin.LandingUser = '邱文姬' then fqList.Text := 'A025 - 1. 第一区';
if FrmLogin.LandingUser = '韦慧君' then fqList.Text := 'B192 - 2. 第二区';
QCusList ;
// if (Fqlist.Text='') AND (fqList.Properties.Items.Count>0) then fqList.Properties.Items.Strings[0] ;
end;
procedure TfrmCusManage.QCusList ;
Var
SqlList : TStringList ;
Sqltext : String;
begin
SqlList := TStringlist.Create ;
Sqltext :='SELECT cCusCode '+'+'' - ''+'+'cCusAbbName FROM Customer ';
If RB_PF.Checked then Sqltext := Sqltext +' WHERE ' + RB_PF.Hint ;
If RB_LS.Checked then Sqltext := Sqltext +' WHERE ' + RB_LS.Hint ;
If CBFQ.Checked then Sqltext := Sqltext + ' AND (cCusPPerson = '''+ lefts(Fqlist.Text)+''')' ;
SqlList.Clear;
If CB_HA.Checked Then SqlList.Add(CB_HA.Hint) ;
If CB_HB.Checked Then SqlList.Add(CB_HB.Hint) ;
If CB_HC.Checked Then SqlList.Add(CB_HC.Hint) ;
If CB_HD.Checked Then SqlList.Add(CB_HD.Hint) ;
If CB_HE.Checked Then SqlList.Add(CB_HE.Hint) ;
if ListToStr(SqlList,' OR ') <> '' Then Sqltext := Sqltext+ ' AND (' + ListToStr(SqlList,' OR ')+') ';
SqlList.Clear;
If CB_LA.Checked Then SqlList.Add(CB_LA.Hint) ;
If CB_LB.Checked Then SqlList.Add(CB_LB.Hint) ;
If CB_LC.Checked Then SqlList.Add(CB_LC.Hint) ;
if ListToStr(SqlList,' OR ') <> '' Then Sqltext := Sqltext+ ' AND (' + ListToStr(SqlList,' OR ')+') ';
SqlList.Clear;
If CB_CA.Checked Then SqlList.Add(CB_CA.Hint) ;
If CB_CB.Checked Then SqlList.Add(CB_CB.Hint) ;
If CB_CC.Checked Then SqlList.Add(CB_CC.Hint) ;
if ListToStr(SqlList,' OR ') <> '' Then Sqltext := Sqltext+ ' AND (' + ListToStr(SqlList,' OR ')+') ';
// showmessage(Sqltext);
Sqltext := Sqltext+ ' ORDER by cCusCode ';
CusList.Items := getlist(Sqltext);
end;
procedure TfrmCusManage.RB_PFClick(Sender: TObject);
begin
QCusList ;
end;
procedure TfrmCusManage.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmCusManage.CusListDblClick(Sender: TObject);
var
Sqltext,sCusCode : string ;
begin
Panel5.Caption := CusList.Items.Strings[CusList.ItemIndex];
sCusCode := Lefts(Panel5.Caption);
Sqltext := '_PM_P_CustInvState_Query 1,10,''' + sCusCode + ''','''' ';
TSBList.Items := Getlist(Sqltext);
TSB.Caption := '调货未通知 ['+ inttostr(TSBList.Items.Count)+']';
Sqltext := '_PM_P_CustInvState_Query 1,2,''' + sCusCode + ''','''' ';
TSCList.Items := Getlist(Sqltext);
TSC.Caption := '调货未打印 ['+ inttostr(TSCList.Items.Count)+']';
Sqltext := '_PM_P_CustInvState_Query 1,13,''' + sCusCode + ''','''' ';
TSDList.Items := Getlist(Sqltext);
TSD.Caption := '调货已打印 ['+ inttostr(TSDList.Items.Count)+']';
Sqltext := '_PM_P_CustInvState_Query 1,12,''' + sCusCode + ''','''' ';
TSEList.Items := Getlist(Sqltext);
TSE.Caption := '文胸待铺货 ['+ inttostr(TSEList.Items.Count)+']';
Sqltext := '_PM_P_CustInvState_Query 2,12,''' + sCusCode + ''','''' ';
TSFList.Items := Getlist(Sqltext);
TSF.Caption := '内裤待铺货 ['+ inttostr(TSFList.Items.Count)+']';
end;
procedure TfrmCusManage.PlanTran(ID:integer);
var
i,j : integer;
sInvCodes,sInvNames,sMemo : string;
begin
case id of
201 : sMemo := '已于 '+ formatdatetime('YYYYMMDD',now())+' 电话通知客户! ' + FrmLogin.LandingUser;
202 : sMemo := '已于 '+ formatdatetime('YYYYMMDD',now())+' 传真通知客户! ' + FrmLogin.LandingUser;
203 : sMemo := '已于 '+ formatdatetime('YYYYMMDD',now())+inputbox('通知方式','',' 其它:')+' 通知客户! ' + FrmLogin.LandingUser;
204 : sMemo := '已于 '+ formatdatetime('YYYYMMDD',now())+' 未通知客户直接处理! ' + FrmLogin.LandingUser;
end;
j := 0 ;
with TSBList.Items do begin
for i := 0 to Count-1 do begin
if TSBList.Checked[i] then begin
j:=j+1;
if sInvCodes = '' then begin
sInvCodes := ''''+lefts(Strings[i])+'''';
sInvNames := lefts(rights(rights(rights(rights(Strings[i])))))+' ';
end else begin
sInvCodes := sInvCodes +','''+ lefts(Strings[i])+'''';
sInvNames := sInvNames + #13 + lefts(rights(rights(rights(rights(Strings[i])))))+' ';
end;
end;
end;
end;
if j=0 then begin
showmessage('没有计划要处理!');
exit;
end;
if MessageDlg('以下客户都通知了吗? '+#13+#13+sInvNames+#13+#13+#13,mtCustom,[mbOK,mbCancel],0) = mrOk Then begin
try
With dm.sql do begin
CommandText := 'EP_AujudPlans :a,:b,:c,:d';
Parameters.ParamByName('a').Value := 0 ;
Parameters.ParamByName('b').Value := Lefts(Panel5.Caption) ;
Parameters.ParamByName('c').Value := sInvCodes ;
Parameters.ParamByName('d').Value := sMemo ;
execute;
end;
except
exit ;
end;
end;
end;
procedure TfrmCusManage.N1Click(Sender: TObject);
begin
PlanTran(TAction(sender).Tag);
end;
procedure TfrmCusManage.N2Click(Sender: TObject);
begin
PlanTran(TAction(sender).Tag);
end;
procedure TfrmCusManage.N4Click(Sender: TObject);
begin
PlanTran(TAction(sender).Tag);
end;
procedure TfrmCusManage.N5Click(Sender: TObject);
begin
PlanTran(TAction(sender).Tag);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -