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

📄 changeschedefine.pas

📁 pasa人力资源考勤管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit changeschedefine;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, ImgList, Db, ADODB, Mask, DBCtrls, ComCtrls,
  wwdblook;

type
  Tformchangeschedefine = class(TForm)
    Aqy1: TADOQuery;
    Splitter1: TSplitter;
    Panel1: TPanel;
    Label6: TLabel;
    DBEdit1: TDBEdit;
    Label7: TLabel;
    DBEdit2: TDBEdit;
    Label9: TLabel;
    Label12: TLabel;
    DBEdit45: TDBEdit;
    Label14: TLabel;
    DBEdit46: TDBEdit;
    Label15: TLabel;
    DBEdit47: TDBEdit;
    Label24: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Qry1: TADOQuery;
    ADOQuery1: TADOQuery;
    wwDBLookupCombo2: TwwDBLookupCombo;
    Panel2: TPanel;
    Label4: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit48: TDBEdit;
    DBEdit49: TDBEdit;
    DBEdit50: TDBEdit;
    DBEdit51: TDBEdit;
    DBCheckBox27: TDBCheckBox;
    DBCheckBox28: TDBCheckBox;
    DBEdit52: TDBEdit;
    DBEdit53: TDBEdit;
    DBEdit54: TDBEdit;
    DBEdit55: TDBEdit;
    DBEdit56: TDBEdit;
    DBEdit57: TDBEdit;
    DBEdit58: TDBEdit;
    DBCheckBox29: TDBCheckBox;
    DBCheckBox30: TDBCheckBox;
    DBEdit59: TDBEdit;
    DBEdit60: TDBEdit;
    DBEdit61: TDBEdit;
    DBEdit62: TDBEdit;
    DBEdit63: TDBEdit;
    DBEdit64: TDBEdit;
    DBEdit65: TDBEdit;
    DBCheckBox31: TDBCheckBox;
    DBCheckBox32: TDBCheckBox;
    DBEdit66: TDBEdit;
    DBEdit67: TDBEdit;
    DBEdit68: TDBEdit;
    DBEdit69: TDBEdit;
    DBEdit70: TDBEdit;
    DBEdit71: TDBEdit;
    DBEdit72: TDBEdit;
    DBCheckBox33: TDBCheckBox;
    DBCheckBox34: TDBCheckBox;
    DBEdit73: TDBEdit;
    DBEdit74: TDBEdit;
    DBEdit75: TDBEdit;
    DBEdit76: TDBEdit;
    DBEdit77: TDBEdit;
    DBEdit78: TDBEdit;
    DBEdit79: TDBEdit;
    DBCheckBox35: TDBCheckBox;
    DBCheckBox36: TDBCheckBox;
    DBEdit80: TDBEdit;
    DBCheckBox37: TDBCheckBox;
    DBCheckBox38: TDBCheckBox;
    DBCheckBox39: TDBCheckBox;
    DBCheckBox40: TDBCheckBox;
    Label36: TLabel;
    DBComboBox1: TDBComboBox;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    DBEdit81: TDBEdit;
    DBEdit82: TDBEdit;
    DateTimePicker3: TDateTimePicker;
    DBMemo1: TDBMemo;
    Panel5: TPanel;
    RG1: TRadioGroup;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Label2: TLabel;
    Label3: TLabel;
    Label25: TLabel;
    ListBox1: TListBox;
    ListBox2: TListBox;
    ComboBox1: TComboBox;
    Button1: TButton;
    Edit1: TEdit;
    Label5: TLabel;
    Label10: TLabel;
    Label18: TLabel;
    Label26: TLabel;
    Label21: TLabel;
    Label20: TLabel;
    Label19: TLabel;
    Label11: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    DBEdit9: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit27: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit32: TDBEdit;
    DBCheckBox1: TDBCheckBox;
    DBCheckBox16: TDBCheckBox;
    DBCheckBox2: TDBCheckBox;
    DBEdit37: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBEdit28: TDBEdit;
    DBEdit14: TDBEdit;
    DBEdit33: TDBEdit;
    DBCheckBox4: TDBCheckBox;
    DBCheckBox17: TDBCheckBox;
    DBCheckBox5: TDBCheckBox;
    DBEdit38: TDBEdit;
    DBEdit19: TDBEdit;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    DBEdit29: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit34: TDBEdit;
    DBCheckBox7: TDBCheckBox;
    DBCheckBox18: TDBCheckBox;
    DBCheckBox8: TDBCheckBox;
    DBEdit39: TDBEdit;
    DBEdit23: TDBEdit;
    DBEdit24: TDBEdit;
    DBEdit25: TDBEdit;
    DBEdit30: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit35: TDBEdit;
    DBCheckBox13: TDBCheckBox;
    DBCheckBox19: TDBCheckBox;
    DBCheckBox14: TDBCheckBox;
    DBEdit40: TDBEdit;
    DBEdit26: TDBEdit;
    DBEdit21: TDBEdit;
    DBEdit22: TDBEdit;
    DBEdit31: TDBEdit;
    DBEdit20: TDBEdit;
    DBEdit36: TDBEdit;
    DBCheckBox10: TDBCheckBox;
    DBCheckBox20: TDBCheckBox;
    DBCheckBox11: TDBCheckBox;
    DBEdit41: TDBEdit;
    DBCheckBox12: TDBCheckBox;
    DBCheckBox3: TDBCheckBox;
    DBCheckBox6: TDBCheckBox;
    DBCheckBox9: TDBCheckBox;
    Label13: TLabel;
    DBEdit6: TDBEdit;
    Label16: TLabel;
    DBComboBox2: TDBComboBox;
    Label27: TLabel;
    ADOQuery1scheno: TStringField;
    ADOQuery1schename: TStringField;
    ADOQuery1s1: TBCDField;
    ADOQuery1gotime1: TStringField;
    ADOQuery1outtime1: TStringField;
    ADOQuery1e1: TBCDField;
    ADOQuery1add1: TBooleanField;
    ADOQuery1decrease1: TBCDField;
    ADOQuery1daytime1: TBCDField;
    ADOQuery1unout1: TBooleanField;
    ADOQuery1kuan1: TBCDField;
    ADOQuery1night1: TBooleanField;
    ADOQuery1s2: TBCDField;
    ADOQuery1gotime2: TStringField;
    ADOQuery1outtime2: TStringField;
    ADOQuery1e2: TBCDField;
    ADOQuery1add2: TBooleanField;
    ADOQuery1decrease2: TBCDField;
    ADOQuery1daytime2: TBCDField;
    ADOQuery1unout2: TBooleanField;
    ADOQuery1kuan2: TBCDField;
    ADOQuery1night2: TBooleanField;
    ADOQuery1s3: TBCDField;
    ADOQuery1gotime3: TStringField;
    ADOQuery1outtime3: TStringField;
    ADOQuery1e3: TBCDField;
    ADOQuery1add3: TBooleanField;
    ADOQuery1decrease3: TBCDField;
    ADOQuery1daytime3: TBCDField;
    ADOQuery1unout3: TBooleanField;
    ADOQuery1kuan3: TBCDField;
    ADOQuery1night3: TBooleanField;
    ADOQuery1s4: TBCDField;
    ADOQuery1gotime4: TStringField;
    ADOQuery1outtime4: TStringField;
    ADOQuery1e4: TBCDField;
    ADOQuery1add4: TBooleanField;
    ADOQuery1decrease4: TBCDField;
    ADOQuery1daytime4: TBCDField;
    ADOQuery1unout4: TBooleanField;
    ADOQuery1kuan4: TBCDField;
    ADOQuery1night4: TBooleanField;
    ADOQuery1s5: TBCDField;
    ADOQuery1gotime5: TStringField;
    ADOQuery1outtime5: TStringField;
    ADOQuery1e5: TBCDField;
    ADOQuery1add5: TBooleanField;
    ADOQuery1decrease5: TBCDField;
    ADOQuery1daytime5: TBCDField;
    ADOQuery1unout5: TBooleanField;
    ADOQuery1kuan5: TBCDField;
    ADOQuery1night5: TBooleanField;
    ADOQuery1memo: TStringField;
    ADOQuery1operator: TStringField;
    ADOQuery1cdate: TDateTimeField;
    ADOQuery1dayhours: TBCDField;
    ADOQuery1unatd: TBooleanField;
    ADOQuery1ot: TBooleanField;
    ADOQuery1notgive: TBooleanField;
    ADOQuery1otkind: TStringField;
    ADOQuery1unatdxia: TBooleanField;
    DBNavigator1: TDBNavigator;
    DBCheckBox21: TDBCheckBox;
    DBCheckBox15: TDBCheckBox;
    DBCheckBox22: TDBCheckBox;
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DateTimePicker1CloseUp(Sender: TObject);
    procedure DateTimePicker2CloseUp(Sender: TObject);
    procedure DBEdit1Exit(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1Change(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure RG1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
    procedure DBEdit2Exit(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure wwDBLookupCombo1Exit(Sender: TObject);
    procedure DBCheckBox6Click(Sender: TObject);
    procedure DBCheckBox7Click(Sender: TObject);
    procedure DBCheckBox8Click(Sender: TObject);
    procedure DBCheckBox9Click(Sender: TObject);
    procedure DBCheckBox10Click(Sender: TObject);
    procedure DBCheckBox16Click(Sender: TObject);
    procedure DBNavigator1BeforeAction(Sender: TObject;
      Button: TNavigateBtn);
    procedure DBCheckBox15Click(Sender: TObject);
    procedure DBCheckBox21Click(Sender: TObject);
    procedure DBEdit50Exit(Sender: TObject);
    procedure DBEdit57Exit(Sender: TObject);
    procedure DBEdit64Exit(Sender: TObject);
    procedure DBEdit71Exit(Sender: TObject);
    procedure DBEdit78Exit(Sender: TObject);
    procedure DBEdit10Exit(Sender: TObject);
    procedure DBEdit14Exit(Sender: TObject);
    procedure DBEdit15Exit(Sender: TObject);
    procedure DBEdit16Exit(Sender: TObject);
    procedure DBEdit20Exit(Sender: TObject);
    procedure DBEdit81KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure wwDBLookupCombo2Exit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Tbstate:string;   //表示加班Table和连班table的目前状态
    procedure  FillNull1;    //换班作业中清空函数,主要是对(原班次编号有关的)控件赋初始值
    procedure  FillData1;    //用班次主档数据,'原班次编号'对应的时段写入控件中
    procedure  FillNull2;    //换班作业中清空函数,主要是对(换班班次编号有关的)控件赋初始值
    procedure  FillData2;    //用班次主档数据,'换班后的班次编号'对应的时段写入控件中
    procedure  CanEdit(bn:boolean);      //bn:false---和未知的班次进行换班,控件中的值让其修改                                         //bn:true---和已有的斑次进行换班,控件中的值不让其修改
    procedure Indata(var cx:Tbcdfield;lb1:string;decrease:string);
  end;

var
  formchangeschedefine: Tformchangeschedefine;

implementation

uses datamol,publicfunction,overtime,main, changebc,cvcode;
{$R *.DFM}

//向listbox1中添加员工
procedure Tformchangeschedefine.ComboBox1KeyPress(Sender: TObject;
  var Key: Char);
begin
  if key=#13 then
   begin
     listbox1.Items.Clear;
     Qry1.close;
     Qry1.SQL.Text:='select * from pub05010 where dno='''+trim(copy(combobox1.text,1,8))+''' ';
     Qry1.Open;
     if Qry1.eof then
       Application.MessageBox('没有该部门,部门编号有误','Error',mb_ok+mb_iconerror)
     else begin
       Qry1.close;  //选出该部门所有的员工
       Qry1.SQL.Clear;
       Qry1.SQL.Text:='select workno,name,sexname from per24010 where deptno='''+trim(copy(combobox1.text,1,8))+''' and leave=0 order by workno';
       Qry1.Open;
       if Qry1.Eof then    //如果为空,提示user信息
         Application.MessageBox('该部门没有员工','Error',mb_ok+mb_iconerror)
       else
         while not Qry1.Eof do  //不为空,就把它加入listbox1(工号,姓名,性别)中,等待user选择
         begin
           listbox1.Items.Add(Qry1.fieldbyname('workno').asstring+''+
                              Qry1.fieldbyname('name').asstring+''+
                              Qry1.fieldbyname('sexname').asstring);
           Qry1.Next;
         end;
     end;
     Qry1.Close;
   end;
end;

procedure Tformchangeschedefine.ComboBox2KeyPress(Sender: TObject;
  var Key: Char);
begin
  if key=#13 then
    begin
      //判断该员工是否已经加入换班人员列表
    end;
end;

procedure Tformchangeschedefine.Button1Click(Sender: TObject);
var
   i,id,ygbh:integer;
   createtime:string;
begin
  //提示信息 :'继续新增吗',yes是新增记录,no退出此画面,cancel没有动作,保持此画面
 with datamod do
 begin
   adopublic.open;
   ygbh:=adopublicworknolength.AsInteger;
   if panel1.visible then  //换班
    begin
        aqy1.Close;
        aqy1.SQL.Clear;
        aqy1.SQL.Add('select * From atd01010');
        aqy1.Open;

        adochangebc.post;
         if tbstate='old' then   //这张加班单上已存在员工,把以前的删除再新增进去
          begin
           Query1.close;
           query1.Sql.Clear;
           Query1.SQL.Add('delete from atd08011 where  id='''+adochangebcid.asstring+''' ');
           query1.execsql;
          end;
          createtime:=formatdatetime('yyyy/mm/dd hh:mm:ss',now);
          for i:=0 to listbox2.Items.Count-1 do
           begin
            try
             adoquery3.Close;
             adoquery3.SQL.Clear;
             adoquery3.SQL.Text:='select name,prof,dept,mankind from per24010 where workno='''+trim(copy(listbox2.items[i],1,ygbh))+'''';
             adoquery3.Open;
             Query1.close;
             Query1.sql.text:='Insert into atd08011 Select '''+adochangebcid.asstring+''','''+trim(copy(listbox2.items[i],1,ygbh))+''','+
                           ''''+adoquery3.fieldbyname('name').asstring+''','''+adoquery3.fieldbyname('prof').asstring+''','''+adoquery3.fieldbyname('dept').asstring+'''';

             Query1.execsql;
            except
             Application.messagebox(pchar('开立工号为:'+trim(copy(listbox2.items[i],1,ygbh))+'的换班单出错'),'Error',mb_ok+mb_iconerror);
            end;
      end;  //for

⌨️ 快捷键说明

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