新員工入職自動加入所在部門的郵件組。,所在郵件組

來源:互聯網
上載者:User

新員工入職自動加入所在部門的郵件組。,所在郵件組

需求:公司每次有新員工入職的時候,都需要手動的把這些人加入相應的所在部門的郵件組,以方便他們能接收到部門領導發的最新指示。兩三個人還好說,但是人多了手動一個一個的添加就沒意思了。所以為了不想再做這些無用功,也為了自動化營運。所以編寫了下面的代碼。歡迎各位大神提出富貴的意見。

提示:跟據HR資料提取的人員資訊

 

 

 1 #!/usr/bin/python 2 # coding:utf-8 3  4 import sys 5 sys.path.append('/sw/systems/shared/python') 6 from DB import DB 7 con,cur = DB().connect() 8  9 from Company import Company      #匯入公司員工模組10 company = Company()          11 users = company.employees      #擷取所有人員12 departments = company.departments  #擷取所有人員所在的部門13 14 from AD import AD           #匯入AD模組15 ad = AD()16 ad_users = ad.get_users()      #擷取所有ad域使用者17 18 user_list = {}19 for key in users:20     city = users[key]['location_code'].lower()21     dep = users[key]['department'].lower()22     username = users[key]['username'].strip()23 24     if dep and city:25         user_list.setdefault(dep,[])26         user_list[dep].append(username)27         user_list.setdefault(dep+city,[])     #以部門+城市命令形成新的郵件組 hrbj28         user_list[dep+city].append(username)29         user_list.setdefault('base%s' %city,[])30         user_list['base%s' % city].append(username)31         if username not in ['cbremble','nkovalevich','nrich','isugarman']:       #排除高管32             user_list.setdefault('attendance%s' % city,[])33             user_list['attendance%s'% city].append(username)34         35         36         user_list.setdefault('prod',[])37         user_list.setdefault('prod%s' % city,[])38         user_list['prod%s'% city].append(username)39         user_list['prod'].append(username)40 
 #擷取目前正在使用的郵箱組資訊41 def mail_forward():42 query = """ SELECT name,forward_name from mail.forward """ 43 cur.execute(query)44 results = cur.fetchall()45 forwards = {}46 for result in results:47 name = result['name']48 forward_name = result['forward_name'].lower().strip()49 forwards.setdefault(name,[])50 forwards[name].append(forward_name)51 return forwards52 53 forwards = mail_forward()54 55 try:56 for dep in user_list:57 if dep in forwards.keys():58 if dep:59 need_add_alias = set(user_list[dep]) - set(forwards[dep])   #用hr資料庫所有部門的人員和郵件資料庫所有以部門命名的郵件組做比較60 else:61 need_add_alias = user_list[dep]62 if need_add_alias:63 for user in need_add_alias:64 if user not in ad_users:     #判斷使用者是否在AD裡65 pass 66 else:67 add_forward = """insert ignore into mail.forward(name,forward_name,status,description) values ('%s','%s','Enabled','script import') """ % (dep,user)68 cur.execute(add_forward)69 con.commit()70 except Exception,e:71 print type(e),e

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.