亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mddatabases.~pas

?? 被系統(tǒng)名叫生產(chǎn)信息管理系統(tǒng)
?? ~PAS
字號(hào):
unit mdDataBases;

interface

uses
  SysUtils, Classes, Variants, Dialogs, DB, DBTables, Controls, StdCtrls, DateUtils, StrUtils;

type
  TdmDataSource = class(TDataModule)
    dbaDataBases: TDatabase;
    tblPerson: TTable;
    dsPerson: TDataSource;
    tblDepartment: TTable;
    dsDepartment: TDataSource;
    tblHoliday: TTable;
    dsHoliday: TDataSource;
    tblOperator: TTable;
    dsOperator: TDataSource;
    tblOverTime: TTable;
    dsOverTime: TDataSource;
    tblSalary: TTable;
    dsSalary: TDataSource;
    tblVocation: TTable;
    dsVocation: TDataSource;
    CheckBox1: TCheckBox;
    tblCheckTime: TTable;
    dsCheckTime: TDataSource;
    tblPersonID: TStringField;
    tblPersonPERSON_NAME: TStringField;
    tblPersonPERSON_PASSWORD: TStringField;
    tblPersonPERSON_SEX: TStringField;
    tblPersonPERSON_BIRTHDAY: TDateTimeField;
    tblPersonPERSON_WORKDATE: TDateTimeField;
    tblPersonDEPARTMENT: TStringField;
    tblPersonJOB: TStringField;
    tblPersonBASE_SALARY: TFloatField;
    tblPersonADDRESS: TStringField;
    tblPersonTEL: TStringField;
    tblPersonOTHER_SALARY1: TFloatField;
    tblPersonOTHER_SALARY2: TFloatField;
    tblPersonDESCRIPTION: TStringField;
    tblDepartmentID: TStringField;
    tblDepartmentDEPARTMENT_NAME: TStringField;
    tblDepartmentDEPARTMENT_MASTER_ID: TStringField;
    tblDepartmentDEPARTMENT_SUBSIDY: TFloatField;
    tblDepartmentDESCRIPTION: TStringField;
    tblOperatorID: TStringField;
    tblOperatorOPERATOR_NAME: TStringField;
    tblOperatorOPERATOR_PASSWORD: TStringField;
    tblOperatorOPERATOR_RIGHTS: TStringField;
    tblOperatorDESCRIPTION: TStringField;
    tblOverTimePERSON_ID: TStringField;
    tblOverTimeSTART_TIME: TDateTimeField;
    tblOverTimeEND_TIME: TDateTimeField;
    tblOverTimeOPERATOR: TStringField;
    tblOverTimeDESCRIPTION: TStringField;
    tblVocationID: TStringField;
    tblVocationVOCATION_NAME: TStringField;
    tblVocationVOCATION_SUBSIDY: TFloatField;
    tblVocationDESCRIPTION: TStringField;
    tblCheckTimeID: TStringField;
    tblCheckTimeRECORDTIME: TDateTimeField;
    tblCheckTimeRECORDTYPE: TStringField;
    tblCheckTimeRESULT: TStringField;
    tblCheckTimeTIMECOUNT: TFloatField;
    tblCheckTimeSALARY: TFloatField;
    qrySQLCommand: TQuery;
    dsSQLCommand: TDataSource;
    tblOverTimeTIMECOUNT: TFloatField;
    tblOverTimeSALARY: TFloatField;
    tblHolidayPERSON_ID: TStringField;
    tblHolidayHOLIDAY_REASON: TStringField;
    tblHolidaySTARTTIME: TDateTimeField;
    tblHolidayENDTIME: TDateTimeField;
    tblHolidayOPERATOR: TStringField;
    tblHolidayDESCRIPTION: TStringField;
    tblHolidayTIMECOUNT: TFloatField;
    tblHolidaySALARY: TFloatField;
    tblSalaryID: TStringField;
    tblSalaryPERSON_ID: TStringField;
    tblSalaryPERSON_NAME: TStringField;
    tblSalaryBASE_SALARY: TFloatField;
    tblSalaryDEPARTMENT_SALARY: TFloatField;
    tblSalaryVOCATION_SALARY: TFloatField;
    tblSalaryOTHER_SALARY1: TFloatField;
    tblSalaryOTHER_SALARY2: TFloatField;
    tblSalaryBONUS: TFloatField;
    tblSalaryMULCT: TFloatField;
    tblSalarySHOULD_PAY_SALARY: TFloatField;
    tblSalaryREAL_PAY_SALARY: TFloatField;
    tblSalaryIS_PAY: TIntegerField;
  private
    { Private declarations }
  public
    { Public declarations }
    procedure MakeSalaryTable;
    procedure RecordWorkTime(const strRecordType:string);
    function GetPersonName(const strPersonID:string):string;
    function GetPersonID(const strPersonName:string):string;
    function GetPersonDepartmentSalary(const strID:string):Real;
    function GetPersonVocationSalary(const strID:string):Real;
    function GetPersonBonus(const strID:string):Real;
    function GetPersonMulct(const strID:string):Real;
  end;

var
  dmDataSource: TdmDataSource;

  function GetFieldValue(const tblTableName:TDataSet;strFieldName: string):TStrings;

implementation

uses Common;

{$R *.dfm}

function GetFieldValue(const tblTableName:TDataSet;strFieldName: string):TStrings;
var
    CurrentTableRecordNum: Integer;
begin
    Result:=TStringList.Create;
    Result.Clear;
    CurrentTableRecordNum := tblTableName.RecNo;
    tblTableName.First;
    while not tblTableName.EOF do
    begin
        Result.Add(tblTableName[strFieldName]);
        tblTableName.Next;
    end;
    tblTableName.MoveBy(CurrentTableRecordNum);
end;

{ TdmDataSource }

function TdmDataSource.GetPersonBonus(const strID: string): Real;
var
    CurrentTableRecordNum: Integer;
begin
    CurrentTableRecordNum := tblOverTime.RecNo;
    tblOverTime.First;
    Result:=0;
    while not tblOverTime.EOF do
    begin
        if tblOverTime['PERSON_ID']=Trim(strID) then
            Result:=Result+tblOverTime['SALARY'];
        tblOverTime.Next;
    end;
    tblOverTime.MoveBy(CurrentTableRecordNum);
end;

function TdmDataSource.GetPersonDepartmentSalary(
  const strID: string): Real;
var
    CurrentTableRecordNum: Integer;
begin
    CurrentTableRecordNum := dmDataSource.tblDepartment.RecNo;
    tblDepartment.DisableControls;
    tblDepartment.Locate('ID',strID,[loCaseInsensitive]);
    if Not tblDepartment.Eof then
        Result:=tblDepartment['DEPARTMENT_SUBSIDY']
    else
        Result:=0;
    tblDepartment.MoveBy(CurrentTableRecordNum);
    tblDepartment.EnableControls;
end;

function TdmDataSource.GetPersonID(const strPersonName: string): string;
var
    CurrentTableRecordNum: Integer;
begin
    CurrentTableRecordNum := dmDataSource.tblPerson.RecNo;
    tblPerson.DisableControls;
    tblPerson.Locate('PERSON_NAME',strPersonName,[loCaseInsensitive]);
    if Not tblPerson.Eof then
        Result:=tblPerson['ID']
    else
        Result:='';
    tblPerson.MoveBy(CurrentTableRecordNum);
    tblPerson.EnableControls;
end;

function TdmDataSource.GetPersonMulct(const strID: string): Real;
var
    CurrentTableRecordNum: Integer;
begin
    CurrentTableRecordNum :=tblHoliday.RecNo;
    tblHoliday.First;
    Result:=0;
    while not tblHoliday.EOF do
    begin
        if tblHoliday['PERSON_ID']=Trim(strID) then
            Result:=Result+tblHoliday['SALARY'];
        tblHoliday.Next;
    end;
    tblHoliday.MoveBy(CurrentTableRecordNum);

    CurrentTableRecordNum := tblCheckTime.RecNo;
    tblCheckTime.First;
    while not tblCheckTime.Eof do
    begin
        if tblCheckTime['ID']=Trim(strID) then
            Result:=Result+tblCheckTime['SALARY'];
        tblCheckTime.Next;
    end;
    tblCheckTime.MoveBy(CurrentTableRecordNum);
end;

function TdmDataSource.GetPersonName(const strPersonID: string): string;
var
    CurrentTableRecordNum: Integer;
begin
    CurrentTableRecordNum := dmDataSource.tblPerson.RecNo;
    tblPerson.DisableControls;
    tblPerson.Locate('ID',strPersonID,[loCaseInsensitive]);
    if Not tblPerson.Eof then
        Result:=tblPerson['PERSON_NAME']
    else
        Result:='';
    tblPerson.MoveBy(CurrentTableRecordNum);
    tblPerson.EnableControls;
end;

function TdmDataSource.GetPersonVocationSalary(const strID: string): Real;
var
    CurrentTableRecordNum: Integer;
begin
    CurrentTableRecordNum := dmDataSource.tblVocation.RecNo;
    tblVocation.DisableControls;
    tblVocation.Locate('ID',strID,[loCaseInsensitive]);
    if Not tblVocation.Eof then
        Result:=tblVocation['VOCATION_SUBSIDY']
    else
        Result:=0;
    tblVocation.MoveBy(CurrentTableRecordNum);
    tblVocation.EnableControls;
end;

procedure TdmDataSource.MakeSalaryTable;
var
    I:Integer;
begin
    tblSalary.Close;
    tblSalary.Exclusive:=True;
    tblSalary.EmptyTable;
    tblSalary.Exclusive:=False;
    tblSalary.Open;
    for I := 0 to tblPerson.RecordCount-1 do
    begin
        tblSalary.Append;
        tblSalary['ID']:=I+1;
        tblSalary['PERSON_ID']:=tblPerson['ID'];
        tblSalary['PERSON_NAME']:=tblPerson['PERSON_NAME'];
        tblSalary['BASE_SALARY']:=tblPerson['BASE_SALARY'];
        tblSalary['DEPARTMENT_SALARY']:=GetPersonDepartmentSalary(tblPerson['ID']);
        tblSalary['VOCATION_SALARY']:=GetPersonVocationSalary(tblPerson['ID']);
        tblSalary['OTHER_SALARY1']:=tblPerson['OTHER_SALARY1'];
        tblSalary['OTHER_SALARY2']:=tblPerson['OTHER_SALARY2'];
        tblSalary['BONUS']:=GetPersonBonus(tblPerson['ID']);
        tblSalary['MULCT']:=GetPersonMulct(tblPerson['ID']);
        tblSalary['SHOULD_PAY_SALARY']:=
            tblSalary['BASE_SALARY']+
            tblSalary['DEPARTMENT_SALARY']+
            tblSalary['VOCATION_SALARY']+
            tblSalary['BONUS'];
        tblSalary['REAL_PAY_SALARY']:=
            tblSalary['SHOULD_PAY_SALARY']+tblSalary['MULCT'];
        tblSalary['IS_PAY']:=False;
        tblSalary.Post;
        tblPerson.Next;
    end;
    tblSalary.ApplyUpdates;
    tblSalary.Close;
    tblSalary.Open;
end;

procedure TdmDataSource.RecordWorkTime(const strRecordType:string);
var
    strTime:string;
    dtmTime,dtmNowTime:TDateTime;
    fltLate,fltEarly:Real;
begin
    if length(strRecordType)>2 then
        strTime:=ReadIniFileString('.\Setting.Ini','時(shí)間設(shè)定',strRecordType);
    fltLate:=ReadIniFileFloat('.\Setting.Ini','工資設(shè)定','遲到扣款');
    fltEarly:=ReadIniFileFloat('.\Setting.Ini','工資設(shè)定','早退扣款');
    dtmTime:=TimeOf(StrToDateTime('01-01-01 '+strTime+':00'));
    dtmNowTime:=TimeOf(Now);
    tblCheckTime.Append;
    tblCheckTime['ID']:=dmDataSource.tblPerson['ID'];
    tblCheckTime['RECORDTIME']:=Now;
    tblCheckTime['RECORDTYPE']:=strRecordType;
    if RightStr(strRecordType,2)='上班' then
    begin
        if  dtmNowTime>dtmTime then
        begin
            tblCheckTime['RESULT']:='遲到';
            tblCheckTime['TIMECOUNT']:=
                DateTimeToReal(dtmTime,dtmNowTime);
            tblCheckTime['SALARY']:=
                DateTimeToReal(dtmTime,dtmNowTime)*fltLate*-1;
            tblCheckTime.Post;
            tblCheckTime.ApplyUpdates;
        end
        else
            tblCheckTime.Cancel;
    end;
    if RightStr(strRecordType,2)='下班' then
    begin
        if  dtmNowTime<dtmTime then
        begin
            tblCheckTime['RESULT']:='早退';
            tblCheckTime['TIMECOUNT']:=
                DateTimeToReal(dtmTime,dtmNowTime);
            tblCheckTime['SALARY']:=
                DateTimeToReal(dtmTime,dtmNowTime)*fltEarly*-1;
            tblCheckTime.Post;
            tblCheckTime.ApplyUpdates;
        end
        else
            tblCheckTime.Cancel;
    end;
end;

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜片在线观看| 日韩欧美精品三级| 色婷婷久久久久swag精品| 大尺度一区二区| 波多野结衣精品在线| av一区二区三区四区| 91视频在线观看| 色哟哟欧美精品| 欧美视频一二三区| 欧美日韩一区二区三区在线| 色噜噜狠狠色综合中国| 一本大道久久精品懂色aⅴ| 色天天综合久久久久综合片| 色一区在线观看| 欧美喷潮久久久xxxxx| 制服丝袜国产精品| 精品美女在线观看| 欧美色图激情小说| 成人三级在线视频| 欧美日韩精品福利| 日韩美女视频一区二区 | 亚洲视频1区2区| 国产亚洲婷婷免费| 亚洲精品在线网站| 久久久久久免费毛片精品| 制服丝袜亚洲网站| 日韩亚洲欧美中文三级| 国产日韩视频一区二区三区| 国产精华液一区二区三区| 国产乱对白刺激视频不卡| 国产91清纯白嫩初高中在线观看| 99精品偷自拍| 欧美高清视频一二三区| 精品成人一区二区三区四区| 国产精品久久久久精k8| 亚洲成人先锋电影| 麻豆精品在线视频| 丁香另类激情小说| 欧美精品色综合| 精品av久久707| 亚洲免费观看高清完整版在线| 午夜精品123| 成人深夜在线观看| 欧美老女人在线| 国产欧美视频一区二区| 夜夜操天天操亚洲| 精彩视频一区二区| 色天使久久综合网天天| 在线视频欧美精品| 麻豆精品在线看| 99精品国产一区二区三区不卡| 欧美高清视频不卡网| 久久精品亚洲乱码伦伦中文| 亚洲妇女屁股眼交7| 国产成人免费在线视频| 色噜噜久久综合| 久久精品一区二区三区不卡| 亚洲妇熟xx妇色黄| 99久久精品久久久久久清纯| 欧美一级在线免费| 亚洲免费观看高清完整版在线观看 | 精品美女在线观看| 一区二区三区国产精华| 国产一区二区三区高清播放| 欧美日韩精品一区二区三区四区 | 国产精品美女久久久久久久久| 亚洲欧美激情插| 91福利资源站| 久久久精品国产免大香伊| 日韩成人午夜精品| 欧美在线999| 国产精品久久福利| 成人av网在线| 国产精品日韩成人| 成人高清视频在线| 欧美国产精品一区二区| 欧洲av在线精品| 欧美日韩国产天堂| 亚洲欧洲国产专区| 国内精品伊人久久久久影院对白| 欧美亚洲一区二区在线观看| 中文字幕制服丝袜成人av | 岛国av在线一区| 精品国产髙清在线看国产毛片| 亚洲一区二区精品久久av| www.欧美亚洲| 中文乱码免费一区二区| 国产综合成人久久大片91| 91精品国产综合久久香蕉麻豆| 亚洲一区二区三区四区的| 成+人+亚洲+综合天堂| 久久久久久9999| 激情深爱一区二区| 精品入口麻豆88视频| 日韩av在线播放中文字幕| 欧美亚洲日本一区| 91美女蜜桃在线| 中文字幕av一区二区三区免费看| 国内精品伊人久久久久av影院| 日本精品免费观看高清观看| 国产精品久久久久久久久晋中 | 91视频xxxx| |精品福利一区二区三区| 成人av网站在线观看免费| 国产精品久久久一本精品| www.欧美日韩| 亚洲视频一区在线| 91热门视频在线观看| 亚洲精品老司机| 欧美午夜一区二区三区免费大片| 午夜视频在线观看一区二区三区| 欧美三级电影网站| 日本人妖一区二区| 久久这里只精品最新地址| 国产成人亚洲综合a∨猫咪| 国产视频一区在线播放| 99精品视频在线观看| 亚洲精品国产a久久久久久| 欧美日韩小视频| 欧美激情在线看| 精品国产1区2区3区| 91精品国产一区二区三区香蕉 | 国产乱码精品一区二区三| 国产精品国产三级国产三级人妇| 91精品国产品国语在线不卡| 成人精品免费视频| 国模无码大尺度一区二区三区| 一区二区三区四区五区视频在线观看 | 91精品国产aⅴ一区二区| 婷婷一区二区三区| 欧美xxxxxxxxx| av一区二区不卡| 亚洲综合一区二区精品导航| 日韩一区二区不卡| 国产91高潮流白浆在线麻豆| 亚洲欧美日本韩国| 日韩一区二区在线观看视频播放| 国产一区二区免费在线| 欧美亚洲丝袜传媒另类| 欧美美女一区二区在线观看| 91精品啪在线观看国产60岁| 久久这里都是精品| 久久久青草青青国产亚洲免观| 精品国产伦一区二区三区免费| 欧美精品久久天天躁| 日韩欧美精品三级| 欧美成人乱码一区二区三区| 日本一区二区视频在线观看| 亚洲精品午夜久久久| 亚洲激情图片小说视频| 亚洲黄色录像片| **网站欧美大片在线观看| 欧美亚洲免费在线一区| 韩国av一区二区| 一区二区高清在线| 欧美成人高清电影在线| 99久久99久久精品免费观看| 蜜臀久久99精品久久久久宅男| 中文字幕在线免费不卡| 日韩免费观看高清完整版在线观看 | 国产精品久久毛片a| 777午夜精品视频在线播放| 成人国产亚洲欧美成人综合网| 婷婷综合在线观看| 中文字幕一区二区在线观看| 欧美一级理论片| 在线观看不卡一区| 国产91精品欧美| 免费高清在线一区| 成人永久看片免费视频天堂| 国产宾馆实践打屁股91| 久久精品视频在线看| 91美女视频网站| 国产精品萝li| 久久精品国产精品亚洲精品| 成人精品国产免费网站| 欧美丰满一区二区免费视频| 2019国产精品| 久久99精品久久久久| 欧美又粗又大又爽| 国产精品久久久久久久久久久免费看 | 六月丁香婷婷色狠狠久久| 亚洲欧美日韩综合aⅴ视频| 精品精品欲导航| 制服丝袜亚洲网站| 欧美怡红院视频| 99国产精品久久久| 国产成人无遮挡在线视频| 美女精品自拍一二三四| 亚洲国产视频a| 亚洲一二三区在线观看| 亚洲视频一区二区在线观看| 九九精品视频在线看| 亚洲国产欧美日韩另类综合| 日韩毛片高清在线播放| 中文幕一区二区三区久久蜜桃| 久久久一区二区三区| 日韩久久久久久| 亚洲精品一区二区三区蜜桃下载| 日韩午夜激情免费电影|