LINE主動發出排班訊息

閱讀時間約 9 分鐘

1. 作業說明                      

1.1 先取得排班表 CSV檔,由csv 排班表取得本次要通知的數列"          

判斷通知日是否=今日,若是今日,則記取csv排班表之數列  

 若找無通知日=今日,則跳離,表示本次不傳送LINE通知   

          

1.2藉由上述csv 排班表取得之數列,再取得該數列所對應之訊息內容       

     將該訊息內容再出力至LINE傳送用參數檔(txt file),以便後續LINE訊息傳出之依據 

          

1.3  LINE 傳出作業                

 依據 上述1.2 取得傳送訊息內容, 傳出訊息至事先設定好之LINE群組,

 如此該群組成員便可收到LINE自動傳來之訊息

 

1.4  bat 設計與Windows自動排成設定

上述作業內容作成bat,以便可以按照排程,自動執行bat檔。

本次執行完後,

若判定需傳出訊息,則程式將會自動推播訊息給LINE群組內的所有成員;

若本次不須傳出訊息,則程式不會傳出LINE訊息。


2. 實例說明                    

2.1 csv 檔內之排班表預先排出2024年4月起三個月之計畫表,其各數列之內容如下  

raw-image

2.2 由上述數列,一一尋找通知日是否 = 今日

若是的話,將等於今日之通知日之數列值記取,以便以此數列取出相對應之訊息內容

本例今日 20240426 = 通知日,故判斷LINE需自動傳出訊息

本次要傳出之訊息內容為

4/29~5/11

李政杰

陳美軒

2.3 LINE 通知處理:

* 利用 python program : LINE_send_notify.exe

* LINE依據參數檔內所存之資料內容,傳出訊息至LINE群組

*上述參數檔內所存之資料內容,由執行bat檔後出力取得

本例 LINE參數檔內容取得如下:

M,

M,區公所值勤通知

M,期間: 4/29~5/11

M,早班: 李政杰

M,午班: 陳美軒

T,----------after executing bat job, decided the token Id -------


2.4 bat執行後,判斷本次是否需要傳出LINE 訊息

若需傳出LINE訊息,則由LINE_send_notify.exe 程式負責將內容傳至LINE官網機器,以便 LINE 能夠推播訊息給群組成員,群組成員收到LINE訊息內容,本例如下圖:

bat檔執行後,取得的訊息內容,由LINE官網自動傳出

bat檔執行後,取得的訊息內容,由LINE官網自動傳出


2.5 當排班表有更新時

排班內容是可異動的,當有需更新時, 直接更新追加Csv 檔即可,其餘程式與bat不必修改。


3. 改善前後

3.1 改善前 :

(1)主管或擔當人員欲查看下回排班值勤由誰負責,須找出紙張,或打開電腦檔案,才能查看

(2)值勤人員若無留意,容易忘記自己何日需值勤,耽誤值勤工作且無法事先準備

3.2 改善後: 

(1)事前LINE主動發出通知,無論何處,所有人均可掌握值勤排班內容 

(2) 換班前幾天收到通知,可事先安排交代事務給下回值勤人員,讓值勤業務能順利實施

4 bat 內容 :

bat name : LINESend_Shift.bat

@ECHO OFF
rem ---入力檔: (排班表)(IT).csv which you want to send message
REM ---出力檔: LINE_send_notify_par.txt which Python pg using parameters
d:
rem cd D:\LINCT_material\PC\cmd-bat\bat\LINE_Notify\IT_shift
cd D:\lin_PC\cmd-bat\bat\LINE_Notify\IT_shift
set /a var_indx=0
rem set T_md=%DATE:~5,2%%DATE:~8,2%
set T_ymd=%DATE:~,10%
set T_ymd=%T_ymd:/=%
set brk=N

rem ***STEP1 ---read csv for getting LINE 通知日
For /f " delims=" %%V in ('findstr "通知" "排班表.csv" ') do ( CALL :RCSV_D "%%V" )
:RD_Brake
rem echo %errorlevel% %var_indx% %LINE_F% %brk%
rem pause ---112 !var[%n%]! , n=%n% indx=%var_indx% ; %brk% ?

if %brk% NEQ Y ( echo ***** Do not LINE send this time & goto EOJ )

echo M,> LINE_send_notify_par.txt
echo M,區公所值勤通知>> LINE_send_notify_par.txt

rem ***STEP2 ---read csv for getting (: 期間: /早班 /午班) ": 班"
For /f " delims=" %%V in ('findstr ": " "排班表.csv" ') do (CALL :RCSV_M "%%V")

rem ---get LINE send token No. -------
rem ---test P-l echo T,iq3DuxNuFXOgoWRPQqEal>> LINE_send_notify_par.txt

echo T,iEPXCVYGWis0cjLLl2zoQnwq3DuxNuFXOgoWRPQqEal>> LINE_send_notify_par.txt
CALL D:\lin_PC\cmd-bat\bat\LINE_Notify\LINE_send_notify.exe

:EOJ %errorlevel% %var_indx% %brk%
rem pause job end-----
EXIT

:RCSV_D
rem --- getting LINE 通知日 --------
set full_str=%1
set full_str=%full_str:"=%
rem echo %full_str%

set /a n=0
rem set brk=N
:: Full str 內,不必全部執行DO,以條件判斷,中途可跳走,保留變數值 -----
for %%a in ( %full_str% ) do ( CALL :SETDate %%a )

rem pause ---111 n=%n% indx=%var_indx% ; %brk% ?
exit /b %errorlevel% %var_indx% %LINE_F% %brk%

:SETDate
if %1==%T_ymd% (
set brk=Y
set /a var_indx=%n%
goto RD_Brake )

set /a n=n+1
exit /b

:RCSV_M
set /a n=0
:: --- NOTED: for %%a in ( %full_str% ) --in 內 不可有雙引號" ",空白及() 均不可---
set full_str=%1
set full_str=%full_str:"=%
set full_str=%full_str: =%
set full_str=%full_str:(={%
set full_str=%full_str:)=}%

:: Full str 內,不必全部執行DO!brk! 以條件判斷,得到第2次exit /b,就中途跳走 -----
set brk=N
for %%a in ( %full_str% ) do (
CALL :SETM %%a
setlocal enabledelayedexpansion
if !brk!==Y exit /b )
exit /b

:SETM
if %n%==0 ( set var[0]=%1
) else (
if %n%==%var_indx% (
set brk=Y
echo M,%var[0]% %1>> LINE_send_notify_par.txt ))
set /a n=n+1
rem pause ---222 %var[0]% brk=%brk% n=%n% ind=%var_indx%?
exit /b

---------recorded by linct---------

avatar-img
59會員
146內容數
樂趣體驗紀錄,沙龍房間有歌唱,生活,科技
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
linct的沙龍 的其他內容
查看近日氣候 近日若計畫舉辦戶外活動,想要在你的電腦查詢近日氣候,事先掌握三天內的氣候,或想在你的手機上查看近日氣候。
每日自動檢查資料庫運作所產生的訊息,若發現有錯誤,自動寄出警告信給擔當人員
抓取對象檔案,自動進行壓縮處理,壓縮後產出一個壓縮檔案,如此便可節省硬碟使用空間
利用總機每日外線通話紀錄所產出之紀錄檔案,一筆一筆抓出,並加以判斷是否異常,若有意常發生,將擷取該筆異常資料明細出力之,並email給相關管理者
資料庫之備份工作大都是自動執行,但是執行結果是否成功,需要安排人員去檢查,有時疏忽忘記確認作業,致備份工作失敗仍不知道,等到有一天需要回復舊有資料的場合時,才發現找不到過去某段期間的備份資料,造成無法彌補之後果。   2.    改善: 2.1 設計一執行檔,功能為打開備
新系統建構時,可考慮採購建置VM機器,DB機器,備份機器以及網路設備等硬體機器。
查看近日氣候 近日若計畫舉辦戶外活動,想要在你的電腦查詢近日氣候,事先掌握三天內的氣候,或想在你的手機上查看近日氣候。
每日自動檢查資料庫運作所產生的訊息,若發現有錯誤,自動寄出警告信給擔當人員
抓取對象檔案,自動進行壓縮處理,壓縮後產出一個壓縮檔案,如此便可節省硬碟使用空間
利用總機每日外線通話紀錄所產出之紀錄檔案,一筆一筆抓出,並加以判斷是否異常,若有意常發生,將擷取該筆異常資料明細出力之,並email給相關管理者
資料庫之備份工作大都是自動執行,但是執行結果是否成功,需要安排人員去檢查,有時疏忽忘記確認作業,致備份工作失敗仍不知道,等到有一天需要回復舊有資料的場合時,才發現找不到過去某段期間的備份資料,造成無法彌補之後果。   2.    改善: 2.1 設計一執行檔,功能為打開備
新系統建構時,可考慮採購建置VM機器,DB機器,備份機器以及網路設備等硬體機器。
你可能也想看
Google News 追蹤
Thumbnail
這篇文章探討如何使用 VBA 來設計一個隨機生成不重覆的排班表,解決依據每日、每站、每人進行的排班需求。文章分享了設定人員、站點及工作日的基本步驟,並使用 AI - ChatGPT 4o 做為互動,最終產生了滿意的結果,並提供了一個 VBA設計完成 的影片 以及 免費的檔案下載。
Thumbnail
Line:@mqy0772c (加入並私訊我!!) https://liff.line.me/1645278921-kWRPP32q/?accountId=mqy0772c
Thumbnail
這個主題其實是LINE社群網友詢問的問題。 網友:請問像這樣的排班表,我要怎麼樣做樞紐或其他函數,來快速查找,某個人名出現在星期幾的哪些時段? 原PO還有附上一個檔案,畫面如下⬇️ 就是要把這個內容快速找到,某人的班別是在哪星期的哪個時段(好饒舌) 根據網友的需求,初步製作了一個簡
Thumbnail
Line:@mqy0772c (加入並私訊我!!) https://liff.line.me/1645278921-kWRPP32q/?accountId=mqy0772c
Thumbnail
科技發達的現代,就要善用科技化產品,來處理店裡的大小事務!排假是每個企業都會遇到的問題,該如何安排才能同時符合員工以及現場的需求?
Thumbnail
本文章將介紹如何在LINE Notify上設定及使用權杖(access token)來進行通知功能。透過此API,可以使用curl或JAVA CODE來讓結果顯示在Line上面,達到及時的通知效果。
8:30起床盥洗 9:00回覆買家問題 10:00整理訂單、撿貨、包貨 11:00-13:00跑外送曬太陽 13:00-14:00吃飯 14:00-16:00回覆買家問題,整理訂單,撿貨、出貨 17:00寄貨 18:00準備吃晚餐 19:30瑜珈課/運動 20:30-21:00回覆
Thumbnail
時間: 2024/1/19, 晚上8:00~9:00 形式: Line語音通話 規則: 前半小時日語,後半小時國語 前情提要 因為去年年底做了一個重大決定,所以今年年初我開始接了一些打工,狀況還不穩定,所以連續兩週暫停語言交換。
隨著科技進步,辦公室的工作模式也在不斷地演化。※LINE打卡系統※正成為企業提高效率、管理員工出勤的新選擇。本文從引言到未來展望,全面解析了此係統如何開啟高效工作之旅。 專家揭露了一鍵打卡的秘訣和快速簽到的隱藏功能,突顯了操作上的便捷性。接著,文章提供了權威資源引用指南,助你如何挑選最符合企業需求
Thumbnail
你是人資嗎?有沒有很常聽到主管這樣說「這週的班表可以幫我整理一下嗎?我馬上要,我要了解每個人上班的狀況。」但若是要花費大量時間手動輸入、整理,不僅費時費力,還容易出錯。眼看者時間一分一秒逼近,資料卻還沒統整完,真的會會崩潰到極點。教你一個技巧,讓你在1 分鐘內快速完成員工出勤表統計
Thumbnail
這篇文章探討如何使用 VBA 來設計一個隨機生成不重覆的排班表,解決依據每日、每站、每人進行的排班需求。文章分享了設定人員、站點及工作日的基本步驟,並使用 AI - ChatGPT 4o 做為互動,最終產生了滿意的結果,並提供了一個 VBA設計完成 的影片 以及 免費的檔案下載。
Thumbnail
Line:@mqy0772c (加入並私訊我!!) https://liff.line.me/1645278921-kWRPP32q/?accountId=mqy0772c
Thumbnail
這個主題其實是LINE社群網友詢問的問題。 網友:請問像這樣的排班表,我要怎麼樣做樞紐或其他函數,來快速查找,某個人名出現在星期幾的哪些時段? 原PO還有附上一個檔案,畫面如下⬇️ 就是要把這個內容快速找到,某人的班別是在哪星期的哪個時段(好饒舌) 根據網友的需求,初步製作了一個簡
Thumbnail
Line:@mqy0772c (加入並私訊我!!) https://liff.line.me/1645278921-kWRPP32q/?accountId=mqy0772c
Thumbnail
科技發達的現代,就要善用科技化產品,來處理店裡的大小事務!排假是每個企業都會遇到的問題,該如何安排才能同時符合員工以及現場的需求?
Thumbnail
本文章將介紹如何在LINE Notify上設定及使用權杖(access token)來進行通知功能。透過此API,可以使用curl或JAVA CODE來讓結果顯示在Line上面,達到及時的通知效果。
8:30起床盥洗 9:00回覆買家問題 10:00整理訂單、撿貨、包貨 11:00-13:00跑外送曬太陽 13:00-14:00吃飯 14:00-16:00回覆買家問題,整理訂單,撿貨、出貨 17:00寄貨 18:00準備吃晚餐 19:30瑜珈課/運動 20:30-21:00回覆
Thumbnail
時間: 2024/1/19, 晚上8:00~9:00 形式: Line語音通話 規則: 前半小時日語,後半小時國語 前情提要 因為去年年底做了一個重大決定,所以今年年初我開始接了一些打工,狀況還不穩定,所以連續兩週暫停語言交換。
隨著科技進步,辦公室的工作模式也在不斷地演化。※LINE打卡系統※正成為企業提高效率、管理員工出勤的新選擇。本文從引言到未來展望,全面解析了此係統如何開啟高效工作之旅。 專家揭露了一鍵打卡的秘訣和快速簽到的隱藏功能,突顯了操作上的便捷性。接著,文章提供了權威資源引用指南,助你如何挑選最符合企業需求
Thumbnail
你是人資嗎?有沒有很常聽到主管這樣說「這週的班表可以幫我整理一下嗎?我馬上要,我要了解每個人上班的狀況。」但若是要花費大量時間手動輸入、整理,不僅費時費力,還容易出錯。眼看者時間一分一秒逼近,資料卻還沒統整完,真的會會崩潰到極點。教你一個技巧,讓你在1 分鐘內快速完成員工出勤表統計