基于時(shí)序下的進(jìn)出記錄匹配和數(shù)據(jù)去重

時(shí)序下進(jìn)出記錄匹配說(shuō)明

需求說(shuō)明

一個(gè)人至少管理1個(gè)工地;每天至少要去一個(gè)自己管理的工地凫海;該人員沒(méi)有固定上下班時(shí)間;統(tǒng)計(jì)一個(gè)人的月度工地出勤績(jī)效情況。???

績(jī)效考核標(biāo)準(zhǔn):

?????? (1)每天工地工作時(shí)長(zhǎng)不小于m小時(shí)混聊,則達(dá)標(biāo);

?????? (2)每個(gè)月所有工地工作時(shí)長(zhǎng)總和不小于n天乾巧,則達(dá)標(biāo)句喜;

?????? (3)每月該人管理的所有工地都有出勤記錄的才達(dá)標(biāo),有工地未出勤的績(jī)效不達(dá)標(biāo)沟于;

?????? (4)只有滿足上述條件的績(jī)效才達(dá)標(biāo)藤滥;否則,不達(dá)標(biāo)社裆。

其中拙绊,夜班加班的分割處理,分割部分計(jì)入當(dāng)天統(tǒng)計(jì)泳秀。

現(xiàn)只能通過(guò)提供的進(jìn)出記錄标沪,判斷月度出勤績(jī)效情況。

問(wèn)題描述

硬件上報(bào)讀卡進(jìn)出記錄的問(wèn)題說(shuō)明:

?????? c-1.進(jìn)或者出記錄的時(shí)間時(shí)長(zhǎng)問(wèn)題:若人員經(jīng)電感線圈激活卡片嗜傅,但在該激活區(qū)域停留了一段時(shí)間金句,這種情況下的時(shí)間是哪一個(gè)?

?????? c-2.硬件設(shè)備如何保證按照時(shí)間順序進(jìn)出記錄完整匹配的情況吕嘀?

?????? c-3.假如無(wú)法保證時(shí)序下數(shù)據(jù)的完整性违寞,是否可以降低不完整的情況,少量數(shù)據(jù)異常標(biāo)識(shí)處理偶房?

?????? ??? 時(shí)序下的進(jìn)出記錄隊(duì)列可能情況很多趁曼,這里羅列部分:

????????????? 偶數(shù)隊(duì)列長(zhǎng)度情況,

????????????? (1)進(jìn)出進(jìn)出進(jìn)出

????????????? (2)出進(jìn)出進(jìn)出進(jìn)

????????????? (3)出出進(jìn)出進(jìn)進(jìn)

????????????? (4)進(jìn)進(jìn)出出進(jìn)出

????????????? 奇數(shù)隊(duì)列長(zhǎng)度情況棕洋,

????????????? (1)進(jìn)出進(jìn)出進(jìn)出進(jìn)

????????????? (2)出進(jìn)出進(jìn)出進(jìn)出

????????????? (3)出出進(jìn)進(jìn)出進(jìn)進(jìn)

????????????? (4)進(jìn)進(jìn)出出進(jìn)出出

? 這樣的組合太多挡闰,不再一一羅列,如果上述無(wú)法保證時(shí)序下數(shù)據(jù)完整匹配的情況,則考核的報(bào)表無(wú)法保證真實(shí)可靠性摄悯。

問(wèn)題分析

要解決上述需求赞季,必須要匹配下列要素。

(1)? ? 月度時(shí)序奢驯;

(2)? ? 日期匹配申钩;

(3)? ? 項(xiàng)目地人員、日期匹配瘪阁;

(4)? ? 項(xiàng)目地進(jìn)出記錄匹配典蜕;

月度時(shí)序問(wèn)題

假如,某人某天未去他管理的項(xiàng)目地罗洗,則無(wú)進(jìn)出記錄愉舔,在sql 后,查詢不到該天日期伙菜,會(huì)造成該月日期中斷轩缤。

怎么解決因查詢無(wú)進(jìn)出記錄造成的月日期時(shí)序中斷的情況?

a.???存儲(chǔ)過(guò)程調(diào)用

這里不再贅述贩绕。

b.???sql變量控制

指定數(shù)據(jù)條數(shù)火的,生成連續(xù)的數(shù)字或日期。

涉及到的知識(shí)點(diǎn)是變量淑倾,DATE_SUB(),DATE_FORMAT().使用以上方法的好處就是不用創(chuàng)建存儲(chǔ)過(guò)程馏鹤,也不涉及到任何表。缺點(diǎn)就是數(shù)據(jù)的條數(shù)控制并不靈活娇哆,不能和用戶之間形成互動(dòng)湃累,即不能自定義日期區(qū)間,只能控制數(shù)據(jù)條數(shù)碍讨。

c.??利用現(xiàn)有含日期時(shí)間的表

要求是這個(gè)表中的數(shù)據(jù)足夠龐大治力,好處是不涉及存儲(chǔ)過(guò)程,不涉及變量勃黍,且能自定義日期區(qū)間宵统。

綜合考慮,使用存儲(chǔ)過(guò)程調(diào)用覆获。

mysql 存儲(chǔ)過(guò)程調(diào)用

可以理解為建立標(biāo)準(zhǔn)日期時(shí)間表马澈。

step1.創(chuàng)建存儲(chǔ)過(guò)程

CREATE PROCEDURE createDate()

BEGIN

?????? DECLAREindexdate DATE;

?????? setindexdate = DATE('2019-01-01');

WHILE indexdate<=DATE('2020-01-01')

? DO

???????????????????? INSERTinto? ts_date(date) VALUES(indexdate);

???????????????????? setindexdate = ADDDATE(indexdate,1);

end WHILE;

END;

Step2.存儲(chǔ)過(guò)程調(diào)用

CALL createDate();

日期匹配問(wèn)題

這里可以這么處理

(1)? ?根據(jù)月度時(shí)序中的表來(lái)補(bǔ)全日期,

(2)? ?再根據(jù)日期來(lái)查詢進(jìn)出記錄弄息,

(3)? ?根據(jù)卡號(hào)過(guò)濾人員痊班,

(4)? ?根據(jù)記錄中的處理機(jī)設(shè)備編號(hào)來(lái)區(qū)分項(xiàng)目地。

這里就不存在問(wèn)題了疑枯。

項(xiàng)目地匹配問(wèn)題

設(shè)備和項(xiàng)目地綁定辩块,這里可以這樣處理

(1)? ? 根據(jù)處理機(jī)設(shè)備來(lái)區(qū)分項(xiàng)目地

(2)? ? 根據(jù)記錄中上報(bào)的卡號(hào)識(shí)別人員信息

這里也不存在問(wèn)題。

項(xiàng)目地進(jìn)出記錄匹配問(wèn)題

上報(bào)數(shù)據(jù)中有時(shí)間荆永、人員卡號(hào)废亭、處理機(jī)編號(hào)、進(jìn)出狀態(tài)標(biāo)識(shí)具钥,滿足匹配條件豆村。

但是,因?yàn)橐馔庠斐傻倪M(jìn)出記錄不匹配骂删,會(huì)對(duì)報(bào)表統(tǒng)計(jì)造成致命錯(cuò)誤掌动。

因此這里重點(diǎn)說(shuō)明下因?yàn)楫惓T斐傻臄?shù)據(jù)匹配問(wèn)題。

匹配模式

正常的匹配模式有下列幾種:

1.? ? ABAB

2.? ? BABA

3.? ? ABABA

4.? ? BABAB

5.? ? A

6.? ? B

其它的均為異常情況宁玫;

基于此粗恢,提供基本匹配算法。

基本思路:

(1)? ?匹配要素為A(進(jìn))B(出)

(2)? ?根據(jù)需要匹配的數(shù)據(jù)長(zhǎng)度構(gòu)造上述6種匹配模式下的正確匹配數(shù)據(jù)組

(3)? ?篩選符合條件的數(shù)據(jù)欧瘪,重組新的數(shù)據(jù)組并標(biāo)識(shí)不匹配的數(shù)據(jù)到源數(shù)據(jù)組

構(gòu)造匹配數(shù)據(jù)組方法如下:


構(gòu)造匹配數(shù)據(jù)

構(gòu)建滿足匹配模式的數(shù)據(jù)并標(biāo)識(shí)原始數(shù)據(jù)匹配情況的方法如下:


數(shù)據(jù)匹配及源數(shù)據(jù)標(biāo)識(shí)

上述完成后眷射,只需要解決數(shù)據(jù)的重發(fā)問(wèn)題即可。

(1)? ? 數(shù)據(jù)重發(fā)問(wèn)題佛掖,需要根據(jù)實(shí)際設(shè)備驗(yàn)證妖碉。

(2)? ? 跨多天工作的情況:實(shí)際情況下會(huì)很少發(fā)生,上述計(jì)算時(shí)長(zhǎng)均分割到當(dāng)天和前天芥被,這樣理論上會(huì)造成實(shí)際時(shí)長(zhǎng)缺失欧宜。建議配合提供管理制度解決。

最終標(biāo)記

數(shù)據(jù)去重

因?yàn)槭歉鶕?jù)時(shí)間去重的拴魄,記錄有進(jìn)出之分冗茸,且進(jìn)出需要考核時(shí)長(zhǎng),因此需要根據(jù)客戶要求靈活控制去重時(shí)間和保留進(jìn)出記錄的哪一種匹中。

去重
驗(yàn)證


true


false
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蚀狰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子职员,更是在濱河造成了極大的恐慌麻蹋,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焊切,死亡現(xiàn)場(chǎng)離奇詭異扮授,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)专肪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門刹勃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人嚎尤,你說(shuō)我怎么就攤上這事荔仁。” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵乏梁,是天一觀的道長(zhǎng)次洼。 經(jīng)常有香客問(wèn)我,道長(zhǎng)遇骑,這世上最難降的妖魔是什么卖毁? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮落萎,結(jié)果婚禮上亥啦,老公的妹妹穿的比我還像新娘。我一直安慰自己练链,他們只是感情好翔脱,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著媒鼓,像睡著了一般届吁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上隶糕,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天瓷产,我揣著相機(jī)與錄音,去河邊找鬼枚驻。 笑死濒旦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的再登。 我是一名探鬼主播尔邓,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼锉矢!你這毒婦竟也來(lái)了梯嗽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沽损,失蹤者是張志新(化名)和其女友劉穎灯节,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绵估,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡炎疆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了国裳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片形入。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖缝左,靈堂內(nèi)的尸體忽然破棺而出亿遂,到底是詐尸還是另有隱情浓若,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布蛇数,位于F島的核電站挪钓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏苞慢。R本人自食惡果不足惜诵原,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一英妓、第九天 我趴在偏房一處隱蔽的房頂上張望挽放。 院中可真熱鬧,春花似錦蔓纠、人聲如沸辑畦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)纯出。三九已至,卻和暖如春敷燎,著一層夾襖步出監(jiān)牢的瞬間暂筝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工硬贯, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留焕襟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓饭豹,卻偏偏與公主長(zhǎng)得像鸵赖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拄衰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容