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

📄 ugettwodate.pas

📁 制衣管理系统程序+源码,编译通过还不错啊,可以
💻 PAS
字号:
unit uGetTwoDate;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, DateUtils, ExtCtrls, cxControls,
  cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxButtonEdit;

type
  TfrmGetTwoDate = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Label2: TLabel;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Bevel3: TBevel;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    cxButtonEdit1: TcxButtonEdit;
    cxButtonEdit2: TcxButtonEdit;
    Label5: TLabel;
    Label9: TLabel;
    Label3: TLabel;
    D_Picker1: TDateTimePicker;
    Label4: TLabel;
    D_Picker2: TDateTimePicker;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    procedure D_Picker1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure D_Picker2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox1Exit(Sender: TObject);
    procedure cxButtonEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxButtonEdit1PropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure cxButtonEdit2PropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure cxButtonEdit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormShow(Sender: TObject);
  private
     procedure init;
     function GetOperationID(Sender: Tobject): integer;
     procedure ClientToMaster;
     function GetClientData(SField, sFieldT: String): integer;
    { Private declarations }
  public
    { Public declarations }
  end;


implementation

uses
   uMain, uReport, uGlobal, uPublic;

{$R *.dfm}

procedure TfrmGetTwoDate.D_Picker1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return: d_picker2.SetFocus;
   end;
end;

procedure TfrmGetTwoDate.D_Picker2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   case key of
      vk_return: ComboBox1.SetFocus;
   end;
end;

procedure TfrmGetTwoDate.SpeedButton2Click(Sender: TObject);
begin
   close;
end;

procedure TfrmGetTwoDate.SpeedButton1Click(Sender: TObject);
var sqlT:string;
    IDL : integer;
    c_sou,c_dec : string;
begin
   if (d_picker2.Date - d_picker1.Date) < 0 then begin
      infoWnd('开始日期不能大于结束日期!');
      exit;
   end;
   IDL := GetOperationID(ComboBox1);
   IF IDL = 0 THEN EXIT;
   c_sou := formatDatetime('yyyy-MM-dd',d_picker1.date);
   c_dec := formatDateTime('yyyy-MM-dd',d_picker2.date + 1);
   try
      case tag of
         13: begin
               sqlT := 'EXECUTE getStockPlanDay @cStock = '''''+
                       ',@DSOU = '''+c_sou+''''+
                       ',@DDEC = '''+c_dec+''''+
                       ',@CCLIENT = '''+cxButtonEdit1.Text+'''';
               frmMain.cdPub.Close;
               frmmain.cdPub.CommandText := sqlT;
               frmmain.cdPub.Open;
               frmReport.ReportS(13,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
            end;
         23: begin
               sqlT := 'EXECUTE getStockDay @IDL = '''+intTostr(IDL)+''''+
                       ',@DSOU = '''+c_sou+''''+
                       ',@DDEC = '''+c_dec+''''+
                       ',@CCLIENT = '''+cxButtonEdit1.Text+'''';
               frmMain.cdPub.Close;
               frmmain.cdPub.CommandText := sqlT;
               frmmain.cdPub.Open;
               IF IDL = 21 THEN
                  frmReport.ReportS(23,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
               IF IDL = 22 THEN
                  frmReport.ReportS(24,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
               IF IDL = -21 THEN
                  frmReport.ReportS(25,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
               IF IDL = -22 THEN
                  frmReport.ReportS(26,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
            end;
         33: begin
               sqlT := 'EXECUTE getHGoodsDay @IDL = '''+intTostr(IDL)+''''+
                       ',@DSOU = '''+c_sou+''''+
                       ',@DDEC = '''+c_dec+''''+
                       ',@CCLIENT = '''+cxButtonEdit1.Text+'''';
               frmMain.cdPub.Close;
               frmmain.cdPub.CommandText := sqlT;
               frmmain.cdPub.Open;
               IF IDL = 31 THEN
                  frmReport.ReportS(33,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
               IF IDL = 32 THEN
                  frmReport.ReportS(34,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
               IF IDL = -31 THEN
                  frmReport.ReportS(35,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
               IF IDL = -32 THEN
                  frmReport.ReportS(36,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
            end;
         43: begin //成品日
               sqlT := 'EXECUTE getGoodsDay @IDL = '''+intTostr(IDL)+''''+
                       ',@DSOU = '''+c_sou+''''+
                       ',@DDEC = '''+c_dec+''''+
                       ',@CCLIENT = '''+trim(cxButtonEdit1.Text)+'''';
               frmMain.cdPub.Close;
               frmmain.cdPub.CommandText := sqlT;
               frmmain.cdPub.Open;
               IF IDL = 41 THEN
                  frmReport.ReportS(43,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
               IF IDL = -41 THEN
                  frmReport.ReportS(44,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
            end;
         53: begin
               sqlT := 'EXECUTE getMoneyDay @clb = '''+intTostr(IDL)+''''+
                       ',@DSOU = '''+c_sou+''''+
                       ',@DDEC = '''+c_dec+''''+
                       ',@CCLIENT = '''+cxButtonEdit1.Text+'''';
               frmMain.cdPub.Close;
               frmmain.cdPub.CommandText := sqlT;
               frmmain.cdPub.Open;
               frmReport.ReportS(53,0,c_sou+' 至 '+c_dec, frmMain.cdpub.data);
            end;
      end;
   finally

   end;
end;

procedure TfrmGetTwoDate.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if (key=vk_return) and (ssCtrl in shift) then
      SpeedButton1Click(nil)
   else
   if key=vk_escape then
      speedbutton2Click(nil);
end;

procedure TfrmGetTwoDate.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   case key of
      vk_return: IF cxButtonEdit1.CanFocus THEN
                    cxButtonEdit1.SetFocus;
   end;   
end;

procedure TfrmGetTwoDate.ComboBox1Exit(Sender: TObject);
begin
   GetOperationID(comboBox1);
end;

procedure TfrmGetTwoDate.cxButtonEdit1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return : if cxButtonEdit1.Text = '' then
                     cxButtonEdit2.SetFocus
                  Else
                     cxButtonEdit1PropertiesButtonClick(sender,0);
   end;
end;

procedure TfrmGetTwoDate.cxButtonEdit1PropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
   If GetClientData('CCode',trim(cxButtonEdit1.Text)) <= 0 then exit;
   IF frmGetData.ShowModal = mrOk THEN BEGIN
      ClientToMaster;
      d_Picker1.SetFocus;
   END;
end;

procedure TfrmGetTwoDate.cxButtonEdit2PropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
   If GetClientData('cName',trim(cxButtonEdit2.Text)) <= 0 then exit;
   IF frmGetData.ShowModal = mrOk THEN BEGIN
      ClientToMaster;
      d_Picker1.SetFocus;
   END;
end;

procedure TfrmGetTwoDate.cxButtonEdit2KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return : if cxButtonEdit2.Text = '' then
                     cxButtonEdit1.SetFocus
                  Else
                     cxButtonEdit2PropertiesButtonClick(sender,0);
   end;
end;

function TfrmGetTwoDate.GetOperationID(Sender: Tobject): integer;
begin
   Result := 0;
   IF (TcomboBox(sender).Text = '-41') OR
      (TcomboBox(sender).Text = '成品销售(-41)') THEN Begin
      TcomboBox(sender).Text := '成品销售(-41)';
      result := -41;
   End
   ELSE
   IF (TcomboBox(sender).Text = '-32') OR
      (TcomboBox(sender).Text = '委外加工(-32)') THEN Begin
      TcomboBox(sender).Text := '委外加工(-32)';
      result := -32;
   End
   ELSE
   IF (TcomboBox(sender).Text = '-31') OR
      (TcomboBox(sender).Text = '半成品出仓(-31)') THEN Begin
      TcomboBox(sender).Text := '半成品出仓(-31)';
      result := -31;
   End
   ELSE
   IF (TcomboBox(sender).Text = '-22') OR
      (TcomboBox(sender).Text = '发外染料(-22)') THEN Begin
      TcomboBox(sender).Text := '发外染料(-22)';
      result := -22;
   End
   ELSE
   IF (TcomboBox(sender).Text = '-21') OR
      (TcomboBox(sender).Text = '材料出仓(-21)') THEN Begin
      TcomboBox(sender).Text := '材料出仓(-21)';
      result := -21;
   End
   ELSE
   IF (TcomboBox(sender).Text = '11') OR
      (TcomboBox(sender).Text = '采购计划(11)') THEN Begin
      TcomboBox(sender).Text := '采购计划(11)';
      result := 11;
   End
   ELSE
   IF (TcomboBox(sender).Text = '21') OR
      (TcomboBox(sender).Text = '材料进仓(21)') THEN Begin
      TcomboBox(sender).Text := '材料进仓(21)';
      result := 21;
   End
   ELSE
   IF (TcomboBox(sender).Text = '22') OR
      (TcomboBox(sender).Text = '染料收货(22)') THEN Begin
      TcomboBox(sender).Text := '染料收货(22)';
      result := 22;
   End
   ELSE
   IF (TcomboBox(sender).Text = '31') OR
      (TcomboBox(sender).Text = '裁床登记(31)') THEN Begin
      TcomboBox(sender).Text := '裁床登记(31)';
      result := 31;
   End
   ELSE
   IF (TcomboBox(sender).Text = '32') OR
      (TcomboBox(sender).Text = '加工收货(32)') THEN Begin
      TcomboBox(sender).Text := '加工收货(32)';
      result := 32;
   End
   ELSE
   IF (TcomboBox(sender).Text = '41') OR
      (TcomboBox(sender).Text = '成品进仓(41)') THEN Begin
      TcomboBox(sender).Text := '成品进仓(41)';
      result := 41;
   End
   ELSE
   IF (TcomboBox(sender).Text = '53') OR
      (TcomboBox(sender).Text = '收付款日报表') THEN Begin
      TcomboBox(sender).Text := '收付款日报表';
      result := 53;
   End
   ELSE BEGIN
      //TcomboBox(sender).SetFocus;
      infoWnd('请确定业务类别!');
   END;
end;

function TfrmGetTwoDate.GetClientData(SField, sFieldT: String): integer;
begin
   with frmMain.cdPub do begin
      close;
      commandText := 'select IKey,CCode 客户编号,CName 客户名称 From T_pubClient'+#13+
      'where ' + sfield +' like ''%'+sfieldT+'%''';
      open;
      fieldbyname('IKEY').Visible := False;
      Result := recordCount;
   end;
end;

procedure TfrmGetTwoDate.ClientToMaster;
begin
   with frmMain.cdPub do Begin
      cxButtonEdit1.text := fieldbyname('客户编号').Asstring;
      cxButtonEdit2.text := fieldbyname('客户名称').AsString;
   end;
end;

procedure TfrmGetTwoDate.init;
begin
   comboBox1.Clear;
   d_picker1.Date := date;
   d_picker2.Date := date;
   case tag of
      13: Begin
          comboBox1.Items.Add('采购计划(11)');
          comboBox1.Text := '采购计划(11)';
      end;
      23: Begin
          comboBox1.Items.Add('发外染料(-22)');
          comboBox1.Items.Add('材料出仓(-21)');
          comboBox1.Items.Add('材料进仓(21)');
          comboBox1.Items.Add('染料收货(22)');
      end;
      33: Begin
          comboBox1.Items.Add('裁床登记(31)');
          comboBox1.Items.Add('加工收货(32)');
          comboBox1.Items.Add('半成品出仓(-31)');
          comboBox1.Items.Add('委外加工(-32)');
      end;
      43: Begin
          comboBox1.Items.Add('成品进仓(41)');
          comboBox1.Items.Add('成品销售(-41)');
      end;
      53: Begin
          comboBox1.Items.Add('收付款日报表');
          comboBox1.Text := '收付款日报表';
      end;
   end;
end;

procedure TfrmGetTwoDate.FormShow(Sender: TObject);
begin
   init;
end;

end.

⌨️ 快捷键说明

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