📄 changeschedefine.pas
字号:
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 + -