Mike 3 年之前
父節點
當前提交
14c3475849
共有 1 個文件被更改,包括 113 次插入1 次删除
  1. 113 1
      execute_detail_notice.py

+ 113 - 1
execute_detail_notice.py

@@ -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...')
+