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

📄 unit_planappend.~pas

📁 用友ERP功能扩展
💻 ~PAS
字号:
unit Unit_PlanAppend;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, cxGraphics, cxTextEdit, cxMaskEdit, cxDropDownEdit,
  cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox, StdCtrls, Buttons,
  cxRadioGroup, cxControls, cxContainer, cxEdit, cxGroupBox, cxLabel,
  cxCalendar, cxMemo;

type
  TForm_PlanAppend = class(TForm)
    PC_ProductAppend: TPageControl;
    TS_PlanAttribute: TTabSheet;
    RG_PlanType: TcxRadioGroup;
    RB_PlanTypeRetrun: TcxRadioButton;
    RB_PlanTypeNewAdd: TcxRadioButton;
    RB_PlanTypeOldSale: TcxRadioButton;
    RB_PlantypeNewSale: TcxRadioButton;
    Bt_Ok: TBitBtn;
    BitBtn2: TBitBtn;
    cxRadioGroup1: TcxRadioGroup;
    LCB_ProductCode: TcxLookupComboBox;
    Label_ProductName: TcxLabel;
    cxRadioGroup3: TcxRadioGroup;
    DE_PlanDate: TcxDateEdit;
    DE_EndDate: TcxDateEdit;
    cxRadioGroup4: TcxRadioGroup;
    cxLabel1: TcxLabel;
    cxLabel2: TcxLabel;
    GB_Cust: TcxGroupBox;
    RB_AllCustomer: TcxRadioButton;
    RB_SaleBadCust: TcxRadioButton;
    RB_DefineCust: TcxRadioButton;
    GB_OldSalePrice: TcxGroupBox;
    TE_CustNumber: TcxTextEdit;
    Memo_Plan: TcxMemo;
    TE_OldSalePrice: TcxTextEdit;
    procedure LCB_ProductCodePropertiesChange(Sender: TObject);
    procedure RB_AllCustomerClick(Sender: TObject);
    procedure RB_DefineCustClick(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure RB_PlanTypeRetrunClick(Sender: TObject);
    procedure RB_PlanTypeOldSaleClick(Sender: TObject);
    procedure RB_PlanTypeNewAddClick(Sender: TObject);
    procedure RB_PlantypeNewSaleClick(Sender: TObject);
    procedure Bt_OkClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_PlanAppend: TForm_PlanAppend;

implementation
uses  Unit_Data;

{$R *.dfm}

procedure TForm_PlanAppend.LCB_ProductCodePropertiesChange(
  Sender: TObject);
begin
    IF LCB_ProductCode.Text <> '' Then
    Begin
    Label_ProductName.Caption := Form_Data.Table__Inventory.Lookup('cInvCode',LCB_ProductCode.Text,'cInvName');
    DE_PlanDate.Date := Now();
    DE_EndDate.Date  := Now() + 15;
    Bt_Ok.Enabled := True ;
    end;
end;

procedure TForm_PlanAppend.RB_AllCustomerClick(Sender: TObject);
begin
    IF RB_AllCustomer.Checked = True  Then
    TE_CustNumber.Enabled := False
    Else TE_CustNumber.Enabled := True;


end;

procedure TForm_PlanAppend.RB_DefineCustClick(Sender: TObject);
begin
    IF RB_DeFineCust.Checked = True  Then
    TE_CustNumber.Enabled := True
    Else TE_CustNumber.Enabled := False;

end;

procedure TForm_PlanAppend.BitBtn2Click(Sender: TObject);
begin
    Close;

end;

procedure TForm_PlanAppend.RB_PlanTypeRetrunClick(Sender: TObject);
begin
    IF RB_PlanTypeOldSale.Checked = True Then
    Begin
        GB_OldSalePrice.Enabled := True;
        TE_OldSalePrice.Enabled := True;
    end Else Begin
        GB_OldSalePrice.Enabled := False;
        TE_OldSalePrice.Enabled := False;
    End;
end;

procedure TForm_PlanAppend.RB_PlanTypeOldSaleClick(Sender: TObject);
begin
    IF RB_PlanTypeOldSale.Checked = True Then
    Begin
        GB_OldSalePrice.Enabled := True;
        TE_OldSalePrice.Enabled := True;
    end Else Begin
        GB_OldSalePrice.Enabled := False;
        TE_OldSalePrice.Enabled := False;
    End;

end;

procedure TForm_PlanAppend.RB_PlanTypeNewAddClick(Sender: TObject);
begin
    IF RB_PlanTypeOldSale.Checked = True Then
    Begin
        GB_OldSalePrice.Enabled := True;
        TE_OldSalePrice.Enabled := True;
    end Else Begin
        GB_OldSalePrice.Enabled := False;
        TE_OldSalePrice.Enabled := False;
    End;

end;

procedure TForm_PlanAppend.RB_PlantypeNewSaleClick(Sender: TObject);
begin
    IF RB_PlanTypeOldSale.Checked = True Then
    Begin
        GB_OldSalePrice.Enabled := True;
        TE_OldSalePrice.Enabled := True;
    end Else Begin
        GB_OldSalePrice.Enabled := False;
        TE_OldSalePrice.Enabled := False;
    End;

end;

procedure TForm_PlanAppend.Bt_OkClick(Sender: TObject);
Var
    iType,iCust,PBNO: Integer;
    sName: String;
begin

    iCust := 0;
    // 确认客户信息;
    IF (RB_DefineCust.Checked = True AND ((TE_CustNumber.Text ='') OR (STRTOINT(TE_CustNumber.Text) = 0 )))Then
    Begin
        Showmessage('请输入新计划的客户信息!');
        Exit;
    End;

    IF RB_PlanTypeNewSale.Checked = True Then iType := 1
    Else IF RB_PlanTypeRetrun.Checked = True Then iType := 2
    Else IF RB_PlanTypeOldSale.Checked = True Then iType := 3
    Else IF RB_PlanTypeNewAdd.Checked = True Then iType := 4
    Else begin
        Showmessage('不明计划类别!请确认');
        Exit;
    end;

    Form_Data.SQL.Close;
    Form_Data.SQL.SQL.Clear;
    Form_Data.SQL.SQL.Add('SELECT TOP 1 PBName FROM a__Plan');
    Form_Data.SQL.SQL.Add('WHERE (PSDate >= '''+ FormatDatetime('YYYY-MM-',Now())+'01' +''') AND (PSDate < +'''+ FormatDatetime('YYYY-MM-DD',Now()+1) +''')');
    Form_Data.SQL.SQL.Add('ORDER BY PBNO DESC');
    Form_Data.SQL.Open;

    IF Form_Data.SQL.RecordCount = 0 Then sName := '001'
    Else Begin
        sName := IntToStr(StrToInt(Copy(Form_Data.SQL.FieldByName('PBName').asString,6,3))+1);
        While length(sName) < 3 do
        Begin
            sName := '0' +  sName;
        End;
    End;
    sName := 'P' + FormatDatetime('YYMM',Now()) + sName;


    IF RB_DefineCust.Checked = True Then iCust := StrToInt(TE_CustNumber.Text)
    Else IF RB_AllCustomer.Checked = True Then
    Begin

        Form_Data.SQL.Close;
        Form_Data.SQL.SQL.Clear;
        Form_Data.SQL.SQL.Add('SELECT DISTINCT SaleDealList.cInvCode, Customer.cCusCode, Customer.cCusAbbName');
        Form_Data.SQL.SQL.Add('FROM SaleDealList INNER JOIN Customer ON SaleDealList.cCusCode = Customer.cCusCode');
        Form_Data.SQL.SQL.Add('WHERE cInvCode = '''+ LCB_ProductCode.Text +'''');
        Form_Data.SQL.SQL.Add('ORDER BY SaleDealList.cInvCode');
        Form_Data.SQL.Open;

        iCust := Form_Data.SQL.RecordCount;
    End;


    //加入计划信息;

    With Form_Data.Table__Plan do
    Begin
        Form_Data.Table__Plan.Append;
        Form_Data.Table__Plan.FieldValues['PBName'] := sName;
        Form_Data.Table__Plan.FieldValues['PTCode'] := iType;
        Form_Data.Table__Plan.FieldValues['PSDate'] := DE_PlanDate.Date;
        Form_Data.Table__Plan.FieldValues['PEDate'] := DE_EndDate.Date;
        Form_Data.Table__Plan.FieldValues['PBProd'] := LCB_ProductCode.Text;
        Form_Data.Table__Plan.FieldValues['PBCust'] := iCust;
        Form_Data.Table__Plan.FieldValues['PBMemo'] := Memo_Plan.Text;
        Form_Data.Table__Plan.FieldValues['PMaker'] := UserName;
        Form_Data.Table__Plan.Post;
    End;

    IF RB_AllCustomer.Checked = True Then
    Begin
        PBNO := Form_Data.Table__Plan.FieldValues['PBNO'];
        Form_Data.SQL.First;
        While Not Form_Data.SQL.Eof do
        Begin
            Form_Data.Table__Plans.Append;
            Form_Data.Table__Plans.FieldValues['PLCustID'] := Form_Data.SQL.FieldValues['cCusCode'] ;
            Form_Data.Table__Plans.FieldValues['PBNO']     := PBNO ;
            Form_Data.Table__Plans.FieldValues['PLType']   := 1 ;
            Form_Data.Table__Plans.FieldValues['PLState']  := 0 ;
            Form_Data.Table__Plans.Post;
            Form_Data.SQL.Next;
        End;
        Form_Data.tSQL.Close;
        Form_Data.tSQL.SQL.Clear;
        Form_Data.tSQL.SQL.Add('UPDATE SA_CusUPrice');
        Form_Data.tSQL.SQL.Add('SET dEndDate = '''+ DateToStr(DE_EndDate.Date) + '''');
        Form_Data.tSQL.SQL.Add('WHERE cInvCode = '''+ LCB_ProductCode.Text +'''');
        Form_Data.tSQL.ExecSQL;
    End;


    IF MessageDlg('计划已新增成功! 还需要增加新的计划码?',mtInformation,[mbOK,mbCancel],0) = mrOk Then
    Begin
        LCB_ProductCode.Text := '';
        RB_DefineCust.Checked := True;
        DE_PlanDate.EditValue := '';
        DE_EndDate.EditValue  := '';
    End Else Close;

    Form_Data.SQL_Plan.Active := False ;
    Form_Data.SQL_Plan.Active := True ;
    Form_Data.SQL_Plans.Active := False ;
    Form_Data.SQL_Plans.Active := True ;

    Form_Data.SQL_Plan.Locate('计划单号',sName,[]);

end;

procedure TForm_PlanAppend.FormShow(Sender: TObject);
begin
    LCB_ProductCode.Text := ''
end;

end.

⌨️ 快捷键说明

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