#!/usr/bin/perl
require "$ENV{HOME}/perl/setEnv.pl";
use DBI;
use Mail::Sendmail;
use MIME::QuotedPrint;
use MIME::Base64;
use Encode;
#use utf8;
$ENV{LANG} = "zh_TW.Big5";
#$ENV{LANG} = "zh_TW.UTF-8";
my $dbh = DBI->connect("$connectString", "$username", "$pass")
or print "Can't connect to database: ", $DBI::errstr, "\n";
my $mailList;
my $mailListCC;
my @dt = &getDate(-1);
my $html;
&main();
sub main {
&getWO();
}
sub getWO {
my $str = encode("utf8",decode("big5","公司人員"));
my $str2 = encode("utf8",decode("big5","公用電話區"));
my $sql = q{
select a.*,rownum
from (
select depart_no,depart_name,round(sum(telamt)) telamt,
--replace(c.email,'@','\@') email_leader
c.email email_leader
from tel_vw_report a,hr_tbl_glsegment b,hr_tbl_personnel c
where rmnth like to_char(sysdate-1,'yyyymm')
and telcat = ?
and a.depart_no = b.segment_no
and b.leader = c.id
group by depart_no,depart_name,c.email
order by telamt desc
) a
where rownum <= 20
};
#print "$sql";
#$sql = encode("utf8",decode("big5",$sql));
my $sth = $dbh->prepare($sql);
$sth->execute($str);
$html .= qq{<table width = "50%" border="1">};
$html .= qq{<tr><th width = "250%" bgcolor="#8fb3f3">排名</th><th width = "10%" bgcolor="#8fb3f3">部門代碼</th><th width = "5%" bgcolor="#8fb3f3">部門名稱</th>};
$html .= qq{<th width = "5%" bgcolor="#8fb3f3">金額</th></tr>};
while (my @data = $sth->fetchrow_array()) {
#print "@data\n";
$html .= qq {<tr>};
$data[1] = encode("big5",$data[1]); #寄出內容要big5
$html .= qq {<td>$data[4]</td><td>$data[0]</td><td>$data[1]</td><td>$data[2]</td>};
$html .= qq {</tr>};
#$mailList .= $data[3] .";";
#$mailListCC .= $data[6] .";";
}
$html .= qq{</table>};
#$mailListCC .= "ty.ruan\@aot.com.tw";
$sth->execute($str);
$mailListCC = "";
while (my @data = $sth->fetchrow_array()) {
$data[1] = encode("utf8",$data[1]); #比對內容要utf8
if ($data[1] =~ m/$str2/o) {
$mailList = "xxx\@yyy.com.tw";
}
else {
$mailList = $data[3];
}
#print "$data[4],$data[0],$data[1]\t$mailList\n";
$mailListCC = "xxx1\@yyy.com.tw" if ($data[4] == 1); #只要收一封第一名的就好,多了很煩
$data[1] = encode("big5",$data[1]);
&mailTelAMT($data[4],$data[0],$data[1]);
}
}
sub mailTelAMT {
my ($rank,$depart,$deptnm) = @_;
my %mail = (
From => 'MIS <xxx1@yyy.com.tw>',
To => "$mailList",
Cc => "$mailListCC",
#To => "xxx1\@yyy.com.tw",
Subject => "本月部門撥打公司人員手機(不經MVPN)排名 -- $depart $deptnm 第$rank名",
);
$mail{smtp} = "$smtp";
my $url = "http://yyy-reporting/ReportServer/Pages/ReportViewer.aspx?%2f%e9%9b%bb%e8%a9%b1%e8%b2%bb%e7%b5%b1%e8%a8%88%2f%e9%9b%bb%e8%a9%b1%e8%b2%bb%e7%b5%b1%e8%a8%88Summary&rs:Command=Render";
#print "$url\n";
$message = qq {"$dt[5]/$dt[4]/$dt[3] $dt[2]:$dt[1]:$dt[0]"<br>
<br>更多資訊,請至 <a href=${url}>這裡</a>查詢
<br>請鼓勵部門員工撥打公司人員手機時多使用MVPN平台,協助公司減低電信通訊費用;<font color=blue>謝謝你的幫忙</font>
$html
};
#$message = encode("utf8",decode("big5",$message));
$boundary = "====" . time() . "====";
$mail{'content-type'} = "multipart/html; boundary=\"$boundary\"";
$boundary = '--'.$boundary;
$mail{body} = <<END_OF_BODY;
$boundary
Content-Type: text/html; charset="big5"
Content-Transfer-Encoding: quoted-printable
$message
$boundary
$mail{body}
$boundary--
END_OF_BODY
sendmail(%mail) || print "Error: $Mail::Sendmail::error\n";
}
This man is too old to remember everything in his brain. Right now, he needs a place to write down what he has studied.
標籤
4GL
(1)
人才發展
(10)
人物
(3)
太陽能
(4)
心理
(3)
心靈
(10)
文學
(31)
生活常識
(14)
光學
(1)
名句
(10)
即時通訊軟體
(2)
奇狐
(2)
爬蟲
(1)
音樂
(2)
產業
(5)
郭語錄
(3)
無聊
(3)
統計
(4)
新聞
(1)
經濟學
(1)
經營管理
(42)
解析度
(1)
遊戲
(5)
電學
(1)
網管
(10)
廣告
(1)
數學
(1)
機率
(1)
雜趣
(1)
證券
(4)
證券期貨
(1)
ABAP
(15)
AD
(1)
agentflow
(4)
AJAX
(1)
Android
(1)
AnyChart
(1)
Apache
(14)
BASIS
(4)
BDL
(1)
C#
(1)
Church
(1)
CIE
(1)
CO
(38)
Converter
(1)
cron
(1)
CSS
(23)
DMS
(1)
DVD
(1)
Eclipse
(1)
English
(1)
excel
(5)
Exchange
(4)
Failover
(1)
Fedora
(1)
FI
(57)
File Transfer
(1)
Firefox
(3)
FM
(2)
fourjs
(1)
Genero
(1)
gladiatus
(1)
google
(1)
Google Maps API
(2)
grep
(1)
Grub
(1)
HR
(2)
html
(23)
HTS
(8)
IE
(1)
IE 8
(1)
IIS
(1)
IMAP
(3)
Internet Explorer
(1)
java
(4)
JavaScript
(22)
jQuery
(6)
JSON
(1)
K3b
(1)
ldd
(1)
LED
(3)
Linux
(117)
Linux Mint
(4)
Load Balance
(1)
Microsoft
(2)
MIS
(2)
MM
(51)
MSSQL
(1)
MySQL
(27)
Network
(1)
NFS
(1)
Office
(1)
OpenSSL
(1)
Oracle
(126)
Outlook
(3)
PDF
(6)
Perl
(60)
PHP
(33)
PL/SQL
(1)
PL/SQL Developer
(1)
PM
(3)
Postfix
(2)
postfwd
(1)
PostgreSQL
(1)
PP
(50)
python
(5)
QM
(1)
Red Hat
(4)
Reporting Service
(28)
ruby
(11)
SAP
(234)
scp
(1)
SD
(16)
sed
(1)
Selenium
(3)
Selenium-WebDriver
(5)
shell
(5)
SQL
(4)
SQL server
(8)
sqlplus
(1)
SQuirreL SQL Client
(1)
SSH
(2)
SWOT
(3)
Symantec
(2)
T-SQL
(7)
Tera Term
(2)
tip
(1)
tiptop
(24)
Tomcat
(6)
Trouble Shooting
(1)
Tuning
(5)
Ubuntu
(37)
ufw
(1)
utf-8
(1)
VIM
(11)
Virtual Machine
(2)
VirtualBox
(1)
vnc
(3)
Web Service
(2)
wget
(1)
Windows
(19)
Windows
(1)
WM
(6)
Xvfb
(2)
youtube
(1)
yum
(2)
沒有留言:
張貼留言