📄 u_gs_dm.~pas
字号:
unit U_GS_DM;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables;
type
TGS_DM = class(TDataModule)
Q_empbktimestable: TQuery;
DQ_empbktimestable: TDataSource;
Q_everydaytime: TQuery;
DQ_everydaytime: TDataSource;
V_empworktime: TQuery;
DV_empworktime: TDataSource;
Q_teams: TQuery;
V_depemptimestable: TQuery;
DV_depemptimestable: TDataSource;
Q_teamstime: TQuery;
V_empworktimeworkday: TDateTimeField;
V_empworktimeejbm_id: TIntegerField;
V_empworktimeyjbm_name: TStringField;
V_empworktimeejbm_name: TStringField;
V_empworktimework_num: TStringField;
V_empworktimename: TStringField;
V_empworktimeZB_time: TFloatField;
V_empworktimeJB_time: TFloatField;
V_empworktimeZBsj_time: TFloatField;
V_empworktimeJBsj_time: TFloatField;
V_empworktimeZBbj_time: TFloatField;
V_empworktimeJBbj_time: TFloatField;
V_empworktimeTBJ: TFloatField;
V_empworktimeCD_time: TFloatField;
V_empworktimeCD_int: TIntegerField;
V_empworktimeZT_time: TFloatField;
V_empworktimeZT_int: TIntegerField;
V_empworktimeKG_time: TFloatField;
V_empworktimeKG_int: TIntegerField;
V_empworktimeGS_time: TFloatField;
V_empworktimeDL_time: TFloatField;
V_empworktimeGX_time: TFloatField;
V_empworktimeJ_time: TFloatField;
V_empworktimeK_time: TFloatField;
V_empworktimememe2_time: TFloatField;
StoredProc1: TStoredProc;
Q_everydaytimeemp_id: TIntegerField;
Q_everydaytimeworkday: TStringField;
Q_everydaytimeZB_time: TFloatField;
Q_everydaytimeJB_time: TFloatField;
Q_everydaytimeZBsj_time: TFloatField;
Q_everydaytimeJBsj_time: TFloatField;
Q_everydaytimeZBbj_time: TFloatField;
Q_everydaytimeJBbj_time: TFloatField;
Q_everydaytimeTBJ: TFloatField;
Q_everydaytimeCD_time: TFloatField;
Q_everydaytimeCD_int: TIntegerField;
Q_everydaytimeZT_time: TFloatField;
Q_everydaytimeZT_int: TIntegerField;
Q_everydaytimeKG_time: TFloatField;
Q_everydaytimeKG_int: TIntegerField;
Q_everydaytimeGS_time: TFloatField;
Q_everydaytimeDL_time: TFloatField;
Q_everydaytimeGX_time: TFloatField;
Q_everydaytimeJ_time: TFloatField;
Q_everydaytimeK_time: TFloatField;
Q_everydaytimememe2_time: TFloatField;
Q_temp: TQuery;
V_empworktimeZB: TFloatField;
V_empworktimeJB: TFloatField;
V_empworktimemoringup: TIntegerField;
V_empworktimechar1: TStringField;
V_empworktimemoringdown: TIntegerField;
V_empworktimechar2: TStringField;
V_empworktimeafternoonup: TIntegerField;
V_empworktimechar3: TStringField;
V_empworktimeafternoondown: TIntegerField;
V_empworktimechar4: TStringField;
V_empworktimeeveningup: TIntegerField;
V_empworktimechar5: TStringField;
V_empworktimeeveningdown: TIntegerField;
V_empworktimechar6: TStringField;
V_depemptimestableempid: TIntegerField;
V_depemptimestableyjbm_name: TStringField;
V_depemptimestableejbm_name: TStringField;
V_depemptimestablework_num: TStringField;
V_depemptimestablename: TStringField;
V_depemptimestableworkday: TDateTimeField;
V_depemptimestablemoringup: TIntegerField;
V_depemptimestablechar1: TStringField;
V_depemptimestablemoringdown: TIntegerField;
V_depemptimestablechar2: TStringField;
V_depemptimestableafternoonup: TIntegerField;
V_depemptimestablechar3: TStringField;
V_depemptimestableafternoondown: TIntegerField;
V_depemptimestablechar4: TStringField;
V_depemptimestableeveningup: TIntegerField;
V_depemptimestablechar5: TStringField;
V_depemptimestableeveningdown: TIntegerField;
V_depemptimestablechar6: TStringField;
V_depemptimestableexceptionclass: TStringField;
V_depemptimestableteamsid: TIntegerField;
V_empworktimeempid: TIntegerField;
Q_master: TQuery;
Q_detail: TQuery;
MasterDS: TDataSource;
Q_masteryjbm_name: TStringField;
Q_masterejbm_name: TStringField;
Q_mastername: TStringField;
Q_masterwork_num: TStringField;
Q_masteryjbm_id: TIntegerField;
Q_masterejbm_id: TIntegerField;
Q_masteremp_id: TIntegerField;
Q_detailworkday: TDateTimeField;
Q_detailejbm_id: TIntegerField;
Q_detailyjbm_name: TStringField;
Q_detailejbm_name: TStringField;
Q_detailwork_num: TStringField;
Q_detailname: TStringField;
Q_detailZB_time: TFloatField;
Q_detailJB_time: TFloatField;
Q_detailZBsj_time: TFloatField;
Q_detailJBsj_time: TFloatField;
Q_detailZBbj_time: TFloatField;
Q_detailJBbj_time: TFloatField;
Q_detailTBJ: TFloatField;
Q_detailCD_time: TFloatField;
Q_detailCD_int: TIntegerField;
Q_detailZT_time: TFloatField;
Q_detailZT_int: TIntegerField;
Q_detailKG_time: TFloatField;
Q_detailKG_int: TIntegerField;
Q_detailGS_time: TFloatField;
Q_detailDL_time: TFloatField;
Q_detailGX_time: TFloatField;
Q_detailJ_time: TFloatField;
Q_detailK_time: TFloatField;
Q_detailmeme2_time: TFloatField;
Q_detailmoringup: TIntegerField;
Q_detailchar1: TStringField;
Q_detailmoringdown: TIntegerField;
Q_detailchar2: TStringField;
Q_detailafternoonup: TIntegerField;
Q_detailchar3: TStringField;
Q_detailafternoondown: TIntegerField;
Q_detailchar4: TStringField;
Q_detaileveningup: TIntegerField;
Q_detailchar5: TStringField;
Q_detaileveningdown: TIntegerField;
Q_detailchar6: TStringField;
Q_detailempid: TIntegerField;
Q_detailZB: TFloatField;
Q_detailJB: TFloatField;
Q_detailnum: TIntegerField;
V_empworktimeteamsid: TIntegerField;
V_empworktimeexceptionclass: TStringField;
Q_everydaytimeGC_time: TFloatField;
V_empworktimeGC_time: TFloatField;
Q_detailGC_time: TFloatField;
Q_gs_memo: TQuery;
Q_gs_memoempid: TIntegerField;
Q_gs_memomemo: TMemoField;
DS_gs_memo: TDataSource;
Q_gs_memodatemonth: TStringField;
procedure V_empworktimeCalcFields(DataSet: TDataSet);
procedure MasterDSDataChange(Sender: TObject; Field: TField);
procedure Q_detailCalcFields(DataSet: TDataSet);
procedure V_empworktimeAfterScroll(DataSet: TDataSet);
procedure Q_gs_memoBeforePost(DataSet: TDataSet);
private
{ Private declarations }
sql:string;
up,down:integer;
result_time:real;//结果时数
Procedure EXE_sql(s:string);
Function have(empid:integer;workday:string):boolean;
Function jb(teamsid,empid:integer;workday:string):string;
Function ZB(teamsid:integer):string;
Function convert:real;
Function Qj_time(empid,workday,sj:string):integer;
public
{ Public declarations }
yjbm,ejbm,worknum,fromdate,todate:string;//一级部门,二级部门,工号,开始日期,截止日期
YesNO:boolean; //布尔值
Procedure select_all(fromdate,todate:string);//全部部门
Procedure select_yjbm(yjbm,fromdate,todate:string);//一级部门
Procedure select_ejbm(ejbm,fromdate,todate:string);//二级部门
Procedure select_worknum(worknum,fromdate,todate:string);//工号
Procedure calcu;//-统计
Procedure openall_everydaytime(date1,date2:string);//时间表
Procedure open_everydaytime(item,s,date1,date2:string);//(item=全部部门,一级部门,二级部门,姓名,工号,combobox1-comboobx4,date1=maskedit1,date2=maskedit2;
Procedure Find_KG(item,s,fromD,toD:string);//查找旷工
end;
var
GS_DM: TGS_DM;
implementation
uses U_state;
{$R *.DFM}
procedure TGS_DM.Find_KG(item,s,fromD,toD:string);
var
i:integer;
date1,date2:Tdate;
Q_temp1,Q_temp2,Q_temp3:TQuery;
//q_temp1用来调用V_YJ_EJ_EMP,Q_TEMP2用来调用EMPTIMESTABLE表,Q_temp3用来调用emptimestable表
begin
Q_temp1:=TQuery.Create(self);
Q_temp2:=TQuery.Create(self);
Q_temp3:=TQuery.Create(self);
Q_temp1.DatabaseName:='Person_DB';
Q_temp2.DatabaseName:='Person_DB';
Q_temp3.DatabaseName:='Person_DB';
try
with Q_temp1 do //使用q_temp1调用V_yj_ej_emp表
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -