📄 unit_planappend.~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 + -