📄 mainunit.~pas
字号:
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, dxCntner, dxTL, ComObj, dxDBCtrl, dxDBGrid, DataUnit,
cxGraphics, Menus, cxLookAndFeelPainters, Grids, DBGrids, cxPC, StdCtrls,
cxButtons, cxControls, dxStatusBar, ExtCtrls, DBCtrls, Buttons,
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit,
cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox, ComCtrls,
cxDBExtLookupComboBox, cxLabel, cxDBLabel, cxDBEdit, cxSpinEdit,
cxCalendar, cxNavigator, cxDBNavigator, cxGroupBox, cxCheckListBox,
cxListBox, Mask,DB;
type
TMainForm = class(TForm)
P02: TPanel;
SB: TdxStatusBar;
PC01: TcxPageControl;
TS01: TcxTabSheet;
TS02: TcxTabSheet;
TS03: TcxTabSheet;
DBG01: TDBGrid;
P01: TPanel;
SB05: TSpeedButton;
SB04: TSpeedButton;
SB00: TSpeedButton;
SB02: TSpeedButton;
SB03: TSpeedButton;
GB: TGroupBox;
L00: TLabel;
CB01: TcxComboBox;
CB00: TcxLookupComboBox;
L11: TcxLabel;
L12: TcxLabel;
L13: TcxLabel;
CB03: TcxDateEdit;
CB04: TcxDateEdit;
L14: TcxLabel;
L15: TcxLabel;
L16: TcxLabel;
CB05: TcxTextEdit;
CB02: TcxSpinEdit;
GB00: TcxGroupBox;
L20: TcxLabel;
L30: TcxLabel;
L31: TcxLabel;
L32: TcxLabel;
L35: TcxLabel;
L36: TcxLabel;
CB30: TCheckBox;
SB06: TSpeedButton;
SB07: TSpeedButton;
SB08: TSpeedButton;
GB02: TcxGroupBox;
L33: TcxLabel;
L34: TcxLabel;
GB03: TcxGroupBox;
CB50: TcxComboBox;
LB00: TcxListBox;
LB01: TcxListBox;
SB31: TSpeedButton;
SB33: TSpeedButton;
SB32: TSpeedButton;
SB34: TSpeedButton;
L23: TcxLabel;
L24: TcxLabel;
L25: TcxLabel;
L27: TcxLabel;
L26: TcxLabel;
L21: TcxLabel;
L22: TcxLabel;
CB11: TcxLookupComboBox;
DBGrid1: TDBGrid;
SB40: TSpeedButton;
SB47: TSpeedButton;
SB46: TSpeedButton;
SB45: TSpeedButton;
SB44: TSpeedButton;
SB41: TSpeedButton;
SB42: TSpeedButton;
L28: TcxLabel;
DBGrid2: TDBGrid;
cxButton1: TcxButton;
cxGroupBox1: TcxGroupBox;
cxLabel3: TcxLabel;
cxLabel4: TcxLabel;
cxLabel6: TcxLabel;
cxLabel7: TcxLabel;
cxLabel8: TcxLabel;
DBGrid3: TDBGrid;
L50: TcxDBLabel;
L51: TcxDBLabel;
L52: TcxDBLabel;
L53: TcxDBLabel;
L54: TcxDBLabel;
L55: TcxDBLabel;
L56: TcxDBLabel;
L58: TcxDBLabel;
DTE01: TcxDBTextEdit;
DTE02: TcxDBTextEdit;
DBG04: TDBGrid;
CB41: TCheckBox;
DBGrid4: TDBGrid;
TS04: TcxTabSheet;
CB60: TcxComboBox;
DBGrid5: TDBGrid;
DBG06: TDBGrid;
DBE03: TDBEdit;
CB80: TCheckBox;
BT80: TcxButton;
procedure SB04Click(Sender: TObject);
procedure SB00Click(Sender: TObject);
procedure CB00PropertiesChange(Sender: TObject);
procedure SB03Click(Sender: TObject);
procedure SB06Click(Sender: TObject);
procedure CB30Click(Sender: TObject);
procedure SB05Click(Sender: TObject);
procedure SB02Click(Sender: TObject);
procedure CB03PropertiesChange(Sender: TObject);
procedure SB08Click(Sender: TObject);
procedure LB00DblClick(Sender: TObject);
procedure LB01DblClick(Sender: TObject);
procedure SB32Click(Sender: TObject);
procedure SB34Click(Sender: TObject);
procedure CB11PropertiesChange(Sender: TObject);
procedure CB50PropertiesChange(Sender: TObject);
procedure SB46Click(Sender: TObject);
procedure SB44Click(Sender: TObject);
procedure SB45Click(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
procedure SB47Click(Sender: TObject);
procedure cxDBTextEdit1PropertiesChange(Sender: TObject);
procedure DTE02PropertiesChange(Sender: TObject);
procedure cxComboBox1PropertiesChange(Sender: TObject);
procedure DBE03Change(Sender: TObject);
procedure CB80Click(Sender: TObject);
procedure BT80Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
NO,i:integer;
DDL:String;
implementation
{$R *.dfm}
procedure TMainForm.SB04Click(Sender: TObject);
begin
//判定是否符合添加条件
IF DDL = 'APPEND' then
Begin
IF (CB00.Text<>'') Then
Begin
//添加记录
DataForm.SQL.Close;
DataForm.SQL.SQL.Clear;
DataForm.SQL.SQL.Add('INSERT INTO a_PlanBefordhan (PBProd,PBname,PlanType,PBCust,PSDate,PEDate,PBMemo)');
DataForm.SQL.SQL.Add('VALUES ('''+CB00.Text+''','''+L00.Caption+''','''+CB01.Text+''','+VarTOSTR(CB02.Value)+','''+DateTOSTR(CB03.Date)+''','''+DateTOSTR(CB04.Date)+''','''+CB05.Text+''')');
DataForm.SQL.ExecSQL;
//刷新
DataForm.T_PB.Close;
DataForm.T_PB.Open;
DataForm.SQL_PB.Close;
DataForm.SQL_PB.SQL.Clear;
DataForm.SQL_PB.SQL.Add('SELECT ');
DataForm.SQL_PB.SQL.Add('a_PlanBefordhan.PBNO AS 序号, PBProd AS 商品代码, PBName AS 商品名称, PlanType AS 计划类别,PBCust AS 家数,');
DataForm.SQL_PB.SQL.Add('SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END)+SUM(CASE WHEN (PLstate = ''未处理'') THEN 1 ELSE 0 END) AS 已计划数,');
DataForm.SQL_PB.SQL.Add('PSDate AS 计划始日, PEDate AS 计划止日, SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END) AS 已完成数,SUM(CASE WHEN (PLstate = ''未处理'') THEN 1 ELSE 0 END) AS 未完成数,SUM(CASE WHEN (PLstate = ''未计划已'') THEN 1 ELSE 0 END) AS 计划外完成数,');
DataForm.SQL_PB.SQL.Add('PBCheck AS 计划状态, PBMemo AS 备注');
DataForm.SQL_PB.SQL.Add('From a_PlanBefordhan LEFT JOIN a_Planlist ON a_PlanBefordhan.PBNO = a_Planlist.PBNO');
DataForm.SQL_PB.SQL.Add(' Where a_PlanBefordhan.PBCheck = '''+'未转单'+'''' );
DataForm.SQL_PB.SQL.Add('Group By' );
DataForm.SQL_PB.SQL.Add(' a_PlanBefordhan.PBNO,PBProd,PBName,PlanType,PBCust,PSDate,PEDate,PBCheck,PBMemo' );
DataForm.SQL_PB.SQL.Add('ORDER BY PEDate');
DataForm.SQL_PB.Open;
CB30.State := cbChecked;
SB04.Enabled := False;
SB05.Enabled := False;
SB02.Enabled := True;
SB03.Enabled := True;
SB00.Enabled := True;
SB06.Enabled := True;
SB07.Enabled := True;
SB08.Enabled := True;
CB30.Enabled := True;
CB00.Enabled := False;
CB01.Enabled := False;
CB02.Enabled := False;
CB03.Enabled := False;
CB04.Enabled := False;
CB05.Enabled := False;
end Else Showmessage('商品编码不能为空!');
end Else IF DDL = 'UPDATE' Then Begin
DataForm.SQL.Close;
DataForm.SQL.SQL.Clear;
DataForm.SQL.SQL.Add('UPdate a_PlanBefordhan ');
DataForm.SQL.SQL.Add('SET PBProd ='''+ CB00.Text +''',');
DataForm.SQL.SQL.Add(' PBname ='''+ L00.Caption +''',');
DataForm.SQL.SQL.Add(' PlanType ='''+ CB01.Text +''',');
DataForm.SQL.SQL.Add(' PBCust ='''+ VarTOSTR(CB02.Value) +''',');
DataForm.SQL.SQL.Add(' PSDate ='''+ DateTOSTR(CB03.Date) +''',');
DataForm.SQL.SQL.Add(' PEDate ='''+ DateTOSTR(CB04.Date) +''',');
DataForm.SQL.SQL.Add(' PBMemo ='''+ CB05.Text +'''');
DataForm.SQL.SQL.Add('Where PBNO ='''+ INTTOSTR(NO)+'''');
DataForm.SQL.ExecSQL;
DataForm.T_PB.Close;
DataForm.T_PB.Open;
DataForm.SQL_PB.Close;
DataForm.SQL_PB.SQL.Clear;
DataForm.SQL_PB.SQL.Add('SELECT ');
DataForm.SQL_PB.SQL.Add('a_PlanBefordhan.PBNO AS 序号, PBProd AS 商品代码, PBName AS 商品名称, PlanType AS 计划类别,PBCust AS 家数,');
DataForm.SQL_PB.SQL.Add('SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END)+SUM(CASE WHEN (PLstate = ''未处理'') THEN 1 ELSE 0 END) AS 已计划数,');
DataForm.SQL_PB.SQL.Add('PSDate AS 计划始日, PEDate AS 计划止日, SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END) AS 已完成数,SUM(CASE WHEN (PLstate = ''未处理'') THEN 1 ELSE 0 END) AS 未完成数,SUM(CASE WHEN (PLstate = ''未计划已'') THEN 1 ELSE 0 END) AS 计划外完成数,');
DataForm.SQL_PB.SQL.Add('PBCheck AS 计划状态, PBMemo AS 备注');
DataForm.SQL_PB.SQL.Add('From a_PlanBefordhan LEFT JOIN a_Planlist ON a_PlanBefordhan.PBNO = a_Planlist.PBNO');
DataForm.SQL_PB.SQL.Add(' Where a_PlanBefordhan.PBCheck = '''+'未转单'+'''' );
DataForm.SQL_PB.SQL.Add('Group By' );
DataForm.SQL_PB.SQL.Add(' a_PlanBefordhan.PBNO,PBProd,PBName,PlanType,PBCust,PSDate,PEDate,PBCheck,PBMemo' );
DataForm.SQL_PB.SQL.Add('ORDER BY PEDate');
DataForm.SQL_PB.Open;
CB30.State := cbChecked;
SB04.Enabled := False;
SB05.Enabled := False;
SB02.Enabled := True;
SB03.Enabled := True;
SB00.Enabled := True;
SB06.Enabled := True;
SB07.Enabled := True;
SB08.Enabled := True;
CB30.Enabled := True;
CB00.Enabled := False;
CB01.Enabled := False;
CB02.Enabled := False;
CB03.Enabled := False;
CB04.Enabled := False;
CB05.Enabled := False;
end Else begin
IF CB00.Text <> '' then Begin
DataForm.SQL_PB.Filter := '商品代码 = '''+ CB00.Text +'''';
DataForm.SQL_PB.Filtered := True;
END ELse begin IF CB01.Text <> '' then Begin
DataForm.SQL_PB.Filter := '计划类别 = '''+ CB01.Text +'''';
DataForm.SQL_PB.Filtered := True;
END ELse begin IF CB02.Value <> 0 then Begin
DataForm.SQL_PB.Filter := '家数 = '''+ VarTOSTR(CB02.Value) +'''';
DataForm.SQL_PB.Filtered := True;
END ELse begin IF CB03.EditValue <> '' then Begin
DataForm.SQL_PB.Filter := '计划始日 = '''+ DateTOSTR(CB03.Date) +'''';
DataForm.SQL_PB.Filtered := True;
END ELse begin IF CB04.EditValue <> '' then Begin
DataForm.SQL_PB.Filter := '计划止日 = '''+ DateTOSTR(CB04.Date) +'''';
DataForm.SQL_PB.Filtered := True;
END ELse begin IF CB05.Text <> '' then Begin
DataForm.SQL_PB.Filter := '备注 Like '''+ CB05.Text +'''';
DataForm.SQL_PB.Filtered := True;
end;
end;
end;
end;
end;
end;
end;
DataForm.T_PB.Close;
DataForm.T_PB.Open;
DataForm.SQL_PB.Close;
DataForm.SQL_PB.SQL.Clear;
DataForm.SQL_PB.SQL.Add('SELECT ');
DataForm.SQL_PB.SQL.Add('a_PlanBefordhan.PBNO AS 序号, PBProd AS 商品代码, PBName AS 商品名称, PlanType AS 计划类别,PBCust AS 家数,');
DataForm.SQL_PB.SQL.Add('SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END)+SUM(CASE WHEN (PLstate = ''未处理'') THEN 1 ELSE 0 END) AS 已计划数,');
DataForm.SQL_PB.SQL.Add('PSDate AS 计划始日, PEDate AS 计划止日, SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END) AS 已完成数,SUM(CASE WHEN (PLstate = ''未处理'') THEN 1 ELSE 0 END) AS 未完成数,SUM(CASE WHEN (PLstate = ''未计划已'') THEN 1 ELSE 0 END) AS 计划外完成数,');
DataForm.SQL_PB.SQL.Add('PBCheck AS 计划状态, PBMemo AS 备注');
DataForm.SQL_PB.SQL.Add('From a_PlanBefordhan LEFT JOIN a_Planlist ON a_PlanBefordhan.PBNO = a_Planlist.PBNO');
DataForm.SQL_PB.SQL.Add(' Where a_PlanBefordhan.PBCheck = '''+'未转单'+'''' );
DataForm.SQL_PB.SQL.Add('Group By' );
DataForm.SQL_PB.SQL.Add(' a_PlanBefordhan.PBNO,PBProd,PBName,PlanType,PBCust,PSDate,PEDate,PBCheck,PBMemo' );
DataForm.SQL_PB.SQL.Add('ORDER BY PEDate');
DataForm.SQL_PB.Open;
CB30.State := cbChecked;
SB04.Enabled := False;
SB05.Enabled := False;
SB02.Enabled := True;
SB03.Enabled := True;
SB00.Enabled := True;
SB06.Enabled := True;
SB07.Enabled := True;
SB08.Enabled := True;
CB30.Enabled := True;
CB00.Enabled := False;
CB01.Enabled := False;
CB02.Enabled := False;
CB03.Enabled := False;
CB04.Enabled := False;
CB05.Enabled := False;
end;
procedure TMainForm.SB00Click(Sender: TObject);
begin
DDL := 'QUERY';
CB00.Enabled := True;
CB01.Enabled := True;
CB02.Enabled := True;
CB03.Enabled := True;
CB04.Enabled := True;
CB05.Enabled := True;
CB00.Text := '';
CB01.Text := '';
CB02.Value := 0;
CB03.EditValue := '';
CB04.EditValue := '';
CB05.Text := '';
SB00.Enabled := False;
SB02.Enabled := False;
SB03.Enabled := False;
CB30.Enabled := False;
SB06.Enabled := False;
SB07.Enabled := False;
SB08.Enabled := False;
SB04.Enabled := True;
SB05.Enabled := True;
end;
procedure TMainForm.CB00PropertiesChange(Sender: TObject);
begin
if CB00.Text <> '' Then
L00.Caption := DataForm.V_PROD.Lookup('商品代码',CB00.Text,'商品名称')
Else L00.Caption :='';
end;
procedure TMainForm.SB03Click(Sender: TObject);
begin
DDL := 'APPEND';
CB03.Date := NOW();
SB00.Enabled := False;
SB02.Enabled := False;
SB03.Enabled := False;
CB30.Enabled := False;
SB06.Enabled := False;
SB07.Enabled := False;
SB08.Enabled := False;
SB04.Enabled := True;
SB05.Enabled := True;
CB00.Enabled := True;
CB01.Enabled := True;
CB02.Enabled := True;
CB03.Enabled := True;
CB04.Enabled := True;
CB05.Enabled := True;
end;
procedure TMainForm.SB06Click(Sender: TObject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -