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

📄 mainunit.~pas

📁 晋业ERP扩展模块 独立的商品铺货计划及后确认进度
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
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 + -