?? unit_managerdistribute.pas
字號:
unit Unit_ManagerDistribute;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, TFlatPanelUnit, Grids, DBGrids, ComCtrls, StdCtrls,
TFlatSpeedButtonUnit, TFlatRadioButtonUnit, TFlatComboBoxUnit,
TFlatEditUnit, Db, DBTables, TFlatCheckBoxUnit, Menus,FunctionP,
TFlatButtonUnit;
type
TFrm_ManagerDistribute = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
FlatPanel1: TFlatPanel;
Panel6: TPanel;
FlatPanel2: TFlatPanel;
FlatPanel3: TFlatPanel;
Label4: TLabel;
Label5: TLabel;
Fbutton_select: TFlatSpeedButton;
Label3: TLabel;
Label6: TLabel;
Label8: TLabel;
Label11: TLabel;
com_areano: TFlatComboBox;
com_djdm: TFlatComboBox;
com_PRODUCTNO: TFlatComboBox;
Fedit_sid1: TFlatEdit;
Fedit_je1: TFlatEdit;
Fedit_je2: TFlatEdit;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
DateTimePicker3: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
Label12: TLabel;
Fedit_sid2: TFlatEdit;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label19: TLabel;
Label20: TLabel;
Q_s: TQuery;
com_city: TFlatComboBox;
com_jx: TFlatComboBox;
Q_I_U: TQuery;
Q_u: TQuery;
Label7: TLabel;
Label21: TLabel;
com_gh: TFlatComboBox;
Label9: TLabel;
Label10: TLabel;
Query_Pub: TQuery;
Lstvw_old: TListView;
Panel5: TPanel;
Fbutton_execute: TFlatSpeedButton;
FlatButton1: TFlatButton;
Panel7: TPanel;
Fbutton_close: TFlatSpeedButton;
Panel8: TPanel;
ListBox1: TListBox;
Panel9: TPanel;
Label1: TLabel;
Lab_num1: TLabel;
Label2: TLabel;
Lab_num2: TLabel;
PanelLeftBot: TPanel;
Label22: TLabel;
FlatComboBox1: TFlatComboBox;
procedure Fedit_sid1KeyPress(Sender: TObject; var Key: Char);
procedure Fedit_sid2KeyPress(Sender: TObject; var Key: Char);
procedure Fedit_je1KeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure Fbutton_closeClick(Sender: TObject);
procedure Fbutton_selectClick(Sender: TObject);
procedure Fedit_je2KeyPress(Sender: TObject; var Key: Char);
procedure com_cityChange(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
procedure Fbutton_executeClick(Sender: TObject);
procedure com_jxChange(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Lstvw_oldDblClick(Sender: TObject);
procedure FlatButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_ManagerDistribute: TFrm_ManagerDistribute;
implementation
uses main, dmmain, Unit_Public, crypt;
{$R *.DFM}
procedure TFrm_ManagerDistribute.Fedit_sid1KeyPress(Sender: TObject;
var Key: Char);
begin
if not( key in ['0'..'9',#13,#8]) then //只允許輸入數字
key:=#0;
if key=#13 then
begin
if length(trim(Fedit_sid1.Text))<>11 then //驗證電話號碼
begin
Application.MessageBox('電話號碼不正確!','錯誤',MB_OK);
exit;
end;
Fedit_sid2.SetFocus;
end;
end;
procedure TFrm_ManagerDistribute.Fedit_sid2KeyPress(Sender: TObject;
var Key: Char);
begin
if not( key in ['0'..'9',#13,#8]) then //只允許輸入數字
key:=#0;
if key=#13 then
begin
if length(trim(Fedit_sid2.Text))<>11 then //驗證電話號碼
begin
Application.MessageBox('電話號碼不正確!','錯誤',MB_OK);
exit;
end;
if Fedit_sid2.Text<Fedit_sid1.Text then
begin
Application.MessageBox('電話號碼不正確!','錯誤',MB_OK);
exit;
end;
Fedit_je1.SetFocus;
end;
end;
procedure TFrm_ManagerDistribute.Fedit_je1KeyPress(Sender: TObject;
var Key: Char);
begin
if not( key in ['0'..'9',#13,#8]) then //只允許輸入數字
key:=#0;
if key=#13 then
Fedit_je2.SetFocus;
end;
procedure TFrm_ManagerDistribute.FormShow(Sender: TObject);
begin
crypt.UserEnter_Log(Caption,'分配客戶',-1,Gh,'登入窗體');
//初始化控件
com_gh.Items.Clear;
Fun_GetCity(com_city, '', 0, ps_cityname);
Fun_GetCounty(com_jx, '', ps_cityname);
Pro_GFillInitValue(self, ' ');
Fun_GetManager(com_gh, '', ps_cityname,ps_HOMENAME,gh);
Fun_GetManager(com_gh, '未分配', com_city.Text, com_jx.text, gh);
com_gh.ItemIndex := 0;
FlatComboBox1.ItemIndex := 0;
end;
procedure TFrm_ManagerDistribute.Fbutton_closeClick(Sender: TObject);
var
i:integer;
begin
//else
close;
end;
procedure TFrm_ManagerDistribute.Fbutton_selectClick(Sender: TObject);
var
tmp_item : TlistItem;
i : integer;
begin
//modify by h 2002.08.19
FlatButton1Click(sender);
q_s.Close;
q_s.sql.Clear;
q_s.SQL.Add('select * from t_o_distcust where 1=1');// a.fp_bz=0');
//q_s.sql.add(',t_d_grade b,t_d_product c where a.fp_bz=0 and a.djdm=b.GRADENO and a.PRODUCTNO=c.PRODUCTNO');
//地市代碼
if Fun_GetCity(com_city, '', 1) <> '' then
begin
q_s.sql.Add('and CITYNO=:CITYNO ');
q_s.ParamByName('CITYNO').asstring := Fun_GetCity(com_city, '', 1);
end;
//局向代碼
if Fun_GetCounty(com_jx, '', '', 1) <> '' then
begin
q_s.sql.add('and OFF_NO_HOME=:OFF_NO_HOME ');
q_s.ParamByName('OFF_NO_HOME').asstring := Fun_GetCounty(com_jx, '', '', 1);
end;
//區域
if Fun_GetArea(com_areano, '', com_city.text, com_jx.text, 1, '') <> '' then
begin
q_s.sql.add('and areano=:areano ');
q_s.ParamByName('areano').asstring := Fun_GetArea(com_areano, '', com_city.text, com_jx.text, 1, '');
end;
//星級
if com_djdm.ItemIndex > 0 then
begin
//內置函數不能用在字段等式的左邊
q_s.sql.add('and DJDM=:DJDM ');
q_s.ParamByName('DJDM').asstring := Fun_GetCodeName(com_djdm);
//q_s.sql.add('and to_char(DJDM)=:DJDM ');
//q_s.ParamByName('DJDM').asstring := Fun_GetCodeName(com_djdm);
end;
//品牌
if com_PRODUCTNO.ItemIndex>0 then
begin
q_s.sql.add('and PRODUCTNO=:PRODUCTNO ');
q_s.ParamByName('PRODUCTNO').asstring := Fun_GetCodeName(com_PRODUCTNO);
end;
//起始號碼
if (trim(Fedit_sid1.text)<>'') then
begin
q_s.sql.add('and sid>=:bsid ');
q_s.ParamByName('bsid').asstring:=trim(Fedit_sid1.text);
end;
//終止號碼
if (trim(Fedit_sid1.text)<>'') then
begin
q_s.sql.add(' and sid<=:esid ');
q_s.ParamByName('esid').asstring:=trim(Fedit_sid2.text);
end;
//N月平均消費金額
if (trim(Fedit_je1.text) <> '') then
begin
q_s.sql.add('and je>=:bje');
q_s.ParamByName('bje').asinteger := strtoint(trim(Fedit_je1.text));
end;
if (trim(Fedit_je2.text) <> '') then
begin
q_s.sql.add(' and je<=:eje ');
q_s.ParamByName('eje').asinteger:=strtoint(trim(Fedit_je2.text));
end;
//時間條件加錯了,內置函數不能用在字段等式的左邊
//入網時間
if DateTimePicker1.Checked then
begin
q_s.sql.add(' And SDATE >= To_Date('''+FormatDateTime('YYYY-MM-DD',datetimepicker1.DateTime)+''',''YYYY-MM-DD'')');
//q_s.sql.add('and to_char(SDATE,''yyyy-mm-dd'')>=:SDATE ');
//q_s.ParamByName('SDATE').asstring := formatdatetime('yyyy-mm-dd', datetimepicker1.date);
end;
if DateTimePicker2.Checked then
begin
q_s.sql.add(' And SDATE < To_Date('''+FormatDateTime('YYYY-MM-DD',DateTimePicker2.DateTime+1)+''',''YYYY-MM-DD'')');
//q_s.sql.add('and to_char(a.SDATE,''yyyy-mm-dd'')<=:EDATE ');
//q_s.ParamByName('EDATE').asstring:=formatdatetime('yyyy-mm-dd',datetimepicker2.date);
end;
//成為大戶時間
if datetimepicker3.Checked then
begin
q_s.sql.add(' And EBE_DH_T >= To_Date('''+FormatDateTime('YYYY-MM-DD',datetimepicker3.DateTime)+''',''YYYY-MM-DD'')');
//q_s.sql.add('and to_char(a.BE_DH_T,''yyyy-mm-dd'')>=:SBE_DH_T ');
//q_s.ParamByName('SBE_DH_T').asstring:=formatdatetime('yyyy-mm-dd',datetimepicker3.date);
end;
if datetimepicker4.Checked then
begin
q_s.sql.add(' And EBE_DH_T < To_Date('''+FormatDateTime('YYYY-MM-DD',datetimepicker4.DateTime+1)+''',''YYYY-MM-DD'')');
//q_s.sql.add(' and to_char(a.BE_DH_T,''yyyy-mm-dd'')<=:EBE_DH_T ');
//q_s.ParamByName('EBE_DH_T').asstring := formatdatetime('yyyy-mm-dd',datetimepicker4.date);
end;
if FlatComboBox1.ItemIndex > 0 then
begin
q_s.sql.add(' and FP_BZ=:FP_BZ ');
q_s.ParamByName('FP_BZ').AsInteger := FlatComboBox1.ItemIndex - 1;
end;
q_s.sql.add(' order by sid ');
q_s.open;
q_s.last;
q_s.first;
Lab_num1.caption:=inttostr(q_s.RecordCount);
for i:=0 to lstvw_old.Items.Count - 1 do
lstvw_old.Items.Delete(i);
while not q_s.eof do
begin
tmp_item := lstvw_old.Items.Add();
tmp_item.Caption := q_s.fieldbyname('Sid').asstring;
tmp_item.SubItems.Add(q_s.fieldbyname('name').asstring);
q_s.next;
end;
end;
procedure TFrm_ManagerDistribute.Fedit_je2KeyPress(Sender: TObject;
var Key: Char);
begin
if not( key in ['0'..'9',#13,#8]) then
key:=#0;
end;
procedure TFrm_ManagerDistribute.com_cityChange(Sender: TObject);
begin
Fun_GetCounty(com_jx,'所有',com_city.Text);
Fun_GetManager(com_gh,'',com_city.Text,'','');
end;
procedure TFrm_ManagerDistribute.ListBox1DblClick(Sender: TObject);
var
tmp_item : TListItem;
i : integer;
begin
try
if listbox1.Items.Count>0 then
begin
tmp_item := lstvw_old.Items.Add();
for i := 0 to (ListBox1.Items.Count - 1) do
begin
if ListBox1.Selected[i] then
begin
//showmessage(trim(ListBox1.Items[i]));
if q_s.Locate('SID', trim(ListBox1.Items[i]), []) then
begin
tmp_item.Caption := q_s.fieldbyname('Sid').asstring;
tmp_item.SubItems.Add(q_s.fieldbyname('name').asstring);
end;
ListBox1.Items.Delete(i);
end;
end;
end;
except
end;
end;
procedure TFrm_ManagerDistribute.Fbutton_executeClick(Sender: TObject);
var
i : integer;
begin
if listbox1.Items.Count > 0 then
begin
if trim(com_gh.text) = '' then
begin
showmessage('請選擇要人員分配的客戶經理工號');
exit;
end;
if (Application.MessageBox('確定將這些大客戶分配給該客戶經理嗎?', '系統提示', MB_OKCANCEL)=id_ok) then
begin
Dm_Main.Databasedh.StartTransaction;
for i:=0 to listbox1.Items.Count-1 do
begin
q_u.close;
q_u.sql.Clear;
q_u.sql.Add('update t_f_custinfo set gh=:gh where sid='+''''+listbox1.Items[i]+'''');
if com_gh.ItemIndex = 0 then
q_u.ParamByName('gh').asstring := ''
else
q_u.ParamByName('gh').asstring := copy(com_gh.text,1,pos(':', com_gh.text) - 1);
q_u.ExecSQL;
with Query_Pub do
begin
Close;
Sql.Clear;
Sql.Add('update t_o_distcust set FP_BZ=:FP_BZ where sid='+''''+listbox1.Items[i]+'''');
if com_gh.ItemIndex = 0 then
Query_Pub.ParamByName('FP_BZ').AsInteger := 0
else
Query_Pub.ParamByName('FP_BZ').AsInteger := 1;
ExecSql;
end;
with Query_Pub do
begin
Close;
Sql.Clear;
Sql.Add('insert into t_h_custinfo(SID, MODICONTENT, MODI_DATE, MODI_MANAGERNO)');
Sql.Add(' values(:sid, :MODICONTENT, :MODI_DATE, :MODI_MANAGERNO)');
ParamByName('SID').AsString := listbox1.Items[i];
ParamByName('MODICONTENT').AsString := '分配客戶經理';
ParamByName('MODI_DATE').AsDate := strtodate(GetSysDateTime);
ParamByName('MODI_MANAGERNO').AsString := GH;
ExecSql;
end;
Dm_Main.Databasedh.Commit;
end;
//
listbox1.Items.Clear;
Lab_num2.caption:='0';
Lab_num1.caption:='0';
end;
end
else
Application.MessageBox('請選擇要分配的客戶經理的大客戶!', '系統提示', MB_OK)
end;
procedure TFrm_ManagerDistribute.com_jxChange(Sender: TObject);
begin
Fun_GetArea(com_areano, '所有', com_city.text, com_jx.text, 0, '0');
Fun_GetManager(com_gh, '未分配', com_city.Text, com_jx.text, gh);
com_gh.ItemIndex := 0;
end;
procedure TFrm_ManagerDistribute.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TFrm_ManagerDistribute.Lstvw_oldDblClick(Sender: TObject);
begin
if (lstvw_old.Selected = nil) then
exit;
ListBox1.Items.Add(lstvw_old.Selected.Caption);
lstvw_old.Items.Delete(lstvw_old.Selected.Index);
end;
procedure TFrm_ManagerDistribute.FlatButton1Click(Sender: TObject);
var
i : integer;
begin
listbox1.Items.Clear;
Lstvw_old.Items.Clear;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -