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

📄 custmanageunit.pas

📁 用友系统二次开发 存货管理 客户管理 订货审核 退货审核 铺货计划 调货计划
💻 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 + -