|
@@ -159,6 +159,118 @@ crm_list = ['mike@choozmo.com', 'shopbook2016@gmail.com', 'dingdingdongcat@gmail
|
|
|
|
|
|
# 寄送逾期執行表單Email通知
|
|
|
for email in crm_list:
|
|
|
+ print ("發送Email: " + email)
|
|
|
hhh_send_mail(email, html)
|
|
|
|
|
|
-print ('發送逾期執行項目通知 (CRM) end...')
|
|
|
+print ('發送逾期執行項目通知 (CRM) end...')
|
|
|
+
|
|
|
+print ('發送逾期執行項目通知 (執行單位) start...')
|
|
|
+
|
|
|
+# 執行單位Email
|
|
|
+execute_man_list = ['hhh_edit@hhh.com.tw','hhh_mk@hhh.com.tw','hhh_web@hhh.com.tw','hhh_video@hhh.com.tw','agent@hhh.com.tw','hhh_admin@hhh.com.tw','hhh_sales@hhh.com.tw']
|
|
|
+
|
|
|
+for execute_man in execute_man_list:
|
|
|
+ # 所有逾期合約 (執行單位)
|
|
|
+ q1 = "SELECT DISTINCT(ef.exf_id) \
|
|
|
+ FROM execute_detail ed \
|
|
|
+ left JOIN execute_form ef ON ed.exf_id=ef.exf_id \
|
|
|
+ WHERE TIMESTAMPDIFF(DAY, set_date, NOW()) > 15 \
|
|
|
+ AND ef.is_close='N' AND ef.is_delete='N' \
|
|
|
+ AND ed.is_delete = 'N' AND ed.is_complete='N' \
|
|
|
+ AND ed.set_date > '" + overdue_date + "' \
|
|
|
+ AND ed.execute_man = '" + execute_man + "' \
|
|
|
+ ORDER BY ef.contract_time, ed.set_date"
|
|
|
+
|
|
|
+ # 所有逾期執行項 (執行單位)
|
|
|
+ q2 = "SELECT * \
|
|
|
+ FROM execute_detail ed \
|
|
|
+ left JOIN execute_form ef ON ed.exf_id=ef.exf_id \
|
|
|
+ WHERE TIMESTAMPDIFF(DAY, set_date, NOW()) > 15 \
|
|
|
+ AND ef.is_close='N' AND ef.is_delete='N' \
|
|
|
+ AND ed.is_delete = 'N' AND ed.is_complete='N' \
|
|
|
+ AND ed.set_date > '" + overdue_date + "' \
|
|
|
+ AND ed.execute_man = '" + execute_man + "' \
|
|
|
+ ORDER BY ef.contract_time, ed.set_date"
|
|
|
+
|
|
|
+ html = """
|
|
|
+ <!DOCTYPE html>
|
|
|
+ <head>
|
|
|
+ <meta charset="UTF-8">
|
|
|
+ </head>
|
|
|
+ <body>
|
|
|
+ """
|
|
|
+
|
|
|
+ # q1_result_count = len(list(db.query(q1)))
|
|
|
+ q2_result_count = len(list(db.query(q2)))
|
|
|
+
|
|
|
+ # if q1_result_count > 0: # 有逾期合約
|
|
|
+ # html += "<div style='color:blue;'><b>逾期合約: 共" + str(q1_result_count) + "筆</b></div>"
|
|
|
+
|
|
|
+ if q2_result_count > 0: # 有逾期執行項目
|
|
|
+ # html += "<div style='color:blue;'><b>逾期執行項目: 共" + str(q2_result_count) + "筆</b><br><br></div>"
|
|
|
+ html += "<div style='color:blue;'><b>" + execute_man + "逾期執行項目: 共" + str(q2_result_count) + "筆</b><br><br></div>"
|
|
|
+
|
|
|
+ html += "<table style='width:100%;border-collapse: collapse;' border='1'> \
|
|
|
+ <tr style='text-align:left;'> \
|
|
|
+ <th style='width:5%;'>#</th> \
|
|
|
+ <th>合約</th> \
|
|
|
+ <th style='width:20%;'>設計公司</th> \
|
|
|
+ <th style='width:15%;'>合約到期日</th> \
|
|
|
+ <th style='width:5%;'>負責業務</th> \
|
|
|
+ <th style='width:20%;'>執行項</th> \
|
|
|
+ <th style='width:15%;'>預定到期日</th> \
|
|
|
+ </tr>";
|
|
|
+
|
|
|
+ count = 1
|
|
|
+
|
|
|
+ for r1 in db.query(q1):
|
|
|
+ # 特定合約的所有逾期執行項
|
|
|
+ q3 = "SELECT * \
|
|
|
+ FROM execute_detail ed \
|
|
|
+ left JOIN execute_form ef ON ed.exf_id=ef.exf_id \
|
|
|
+ WHERE TIMESTAMPDIFF(DAY, set_date, NOW()) > 15 \
|
|
|
+ AND ef.is_close='N' AND ef.is_delete='N' \
|
|
|
+ AND ed.is_delete = 'N' AND ed.is_complete='N' \
|
|
|
+ AND ed.set_date > '" + overdue_date + "' \
|
|
|
+ AND ed.execute_man = '" + execute_man + "' \
|
|
|
+ AND ef.exf_id = '" + str(r1['exf_id']) + "' \
|
|
|
+ ORDER BY ef.contract_time, ed.set_date"
|
|
|
+
|
|
|
+ q3_result_count = str(len(list(db.query(q3)))+1)
|
|
|
+
|
|
|
+ idx = 0
|
|
|
+
|
|
|
+ for r3 in db.query(q3):
|
|
|
+ url = 'https://backstage.hhh.com.tw/admin/home/execute?exf_id=' + str(r3['exf_id'])
|
|
|
+
|
|
|
+ if r3['set_date'] is None:
|
|
|
+ r3['set_date'] = '無'
|
|
|
+
|
|
|
+ if idx < 1:
|
|
|
+ html += "<tr><td rowspan='" + q3_result_count + "'>" + str(count) + "</td><td rowspan='" + q3_result_count + "'><a href='" + url + "' target='_blank'>" + r3['num'] + "</a></td><td rowspan='" + q3_result_count + "'>" + r3['company'] + "</td><td rowspan='" + q3_result_count + "'>" + str(r3['contract_time']) + "</td><td rowspan='" + q3_result_count + "'>" + r3['sales_man'] + "</td><td>" + r3['lv1'] + "_" + r3['lv2'] + "</td><td>" + str(r3['set_date']) + "</td><tr>"
|
|
|
+
|
|
|
+ idx += 1
|
|
|
+ else:
|
|
|
+ html += "<tr><td>" + r3['lv1'] + "_" + r3['lv2'] + "</td><td>" + str(r3['set_date']) + "</td></tr>"
|
|
|
+
|
|
|
+ count += 1
|
|
|
+
|
|
|
+ html += "</table>";
|
|
|
+ else: # 無逾期執行表單資料
|
|
|
+ print ("無逾期執行表單記錄,不須處理")
|
|
|
+
|
|
|
+ html += """
|
|
|
+ </body>
|
|
|
+ </html>
|
|
|
+ """
|
|
|
+
|
|
|
+ # 寄送逾期執行表單Email通知
|
|
|
+ # for email in crm_list:
|
|
|
+ # print ("發送Email: " + email)
|
|
|
+
|
|
|
+ email = 'mike@choozmo.com'
|
|
|
+ print ("發送Email: " + email)
|
|
|
+ hhh_send_mail(email, html)
|
|
|
+
|
|
|
+print ('發送逾期執行項目通知 (執行單位) end...')
|
|
|
+
|