Explorar el Código

判斷合約狀態是否有修改,有修改才發通知Email

Mike hace 3 años
padre
commit
f4e83f3675
Se han modificado 1 ficheros con 161 adiciones y 157 borrados
  1. 161 157
      is_close_changed_notice.py

+ 161 - 157
is_close_changed_notice.py

@@ -119,167 +119,171 @@ async def is_close_changed_notice(exf_id: str = '', is_close: str = ''):
         return
 
     for r in db.query(q):
-        subject = '[合約狀態修改]:' + r['company'] + ' (合約編號:' + r['num'] + ')_' + datetime.now().strftime("%Y-%m-%d %H:%M")
-
-        html = """
-            <!DOCTYPE html>
-            <head>
-                <meta charset="UTF-8">
-            </head>
-            <body>
-            """
-         
-        if is_close == 'D':
-            print('修改後狀態: 續約(D)')
-            html += '<div>本合約狀態已修改為 <span style="color:red;">續約</span></div>'
+        # 判斷合約狀態是否有修改
+        if is_close == r['is_close']: # 合約狀態未修改
+            print ('合約狀態未修改,不須通知')
+        else: # 合約狀態有修改        
+            subject = '[合約狀態修改]:' + r['company'] + ' (合約編號:' + r['num'] + ')_' + datetime.now().strftime("%Y-%m-%d %H:%M")
+
+            html = """
+                <!DOCTYPE html>
+                <head>
+                    <meta charset="UTF-8">
+                </head>
+                <body>
+                """
             
-            '''
-            # 發送通知給負責業務、CRM、Kevin、Sam
-            email_list = ['sam@hhh.com.tw','kevin.h@hhh.com.tw', 'miko@hhh.com.tw', 'mollie@hhh.com.tw', 'lynn@hhh.com.tw', 'zoe_lo@hhh.com.tw']
-
-            #  負責業務
-            print('負責業務: ' + r['sales_man'])
-            email_list.append(r['sales_man'])
-
-            # 取得執行單位Email清單
-            q1 = "SELECT DISTINCT(execute_man) \
-                FROM execute_detail \
-                WHERE exf_id=" + exf_id
-            
-            q1_result_count = len(list(db.query(q1)))
-
-            if q1_result_count > 0: # 有執行單位Email清單
-                for r1 in db.query(q1):
-                    if r1['execute_man']:
-                        print('執行單位: ' + r1['execute_man'])
-                        email_list.append(r1['execute_man'])
-            '''
-        elif is_close == 'E':
-            print('修改後狀態: 不續約延期(E)')
-            html += '<div>本合約狀態已修改為 <span style="color:red;">不續約延期</span></div>'
-            
-            '''
-            # 發送通知給負責業務、CRM、Kevin、Sam
-            # 以變更後的合約日期來發送通知信
-            email_list = ['sam@hhh.com.tw','kevin.h@hhh.com.tw', 'miko@hhh.com.tw', 'mollie@hhh.com.tw', 'lynn@hhh.com.tw', 'zoe_lo@hhh.com.tw']
-
-            #  負責業務
-            print('負責業務: ' + r['sales_man'])
-            email_list.append(r['sales_man'])
-
-            # 取得執行單位Email清單
-            q1 = "SELECT DISTINCT(execute_man) \
-                FROM execute_detail \
-                WHERE exf_id=" + exf_id
-            
-            q1_result_count = len(list(db.query(q1)))
-
-            if q1_result_count > 0: # 有執行單位Email清單
-                for r1 in db.query(q1):
-                    if r1['execute_man']:
-                        print('執行單位: ' + r1['execute_man'])
-                        email_list.append(r1['execute_man'])
-            '''
-        elif is_close == 'F':
-            print('修改後狀態: 不續約需下線(F)')
-            html += '<div>本合約狀態已修改為 <span style="color:red;">不續約需下線</span></div>'
-            
-            '''
-            # 發送通知通知給負責業務、CRM、財務部、Kevin、Sam
-            email_list = ['sam@hhh.com.tw','kevin.h@hhh.com.tw', 'miko@hhh.com.tw', 'mollie@hhh.com.tw', 'lynn@hhh.com.tw', 'zoe_lo@hhh.com.tw', 'acct_team@hhh.com.tw']
-
-            #  負責業務
-            print('負責業務: ' + r['sales_man'])
-            email_list.append(r['sales_man'])
-
-            # 取得執行單位Email清單
-            q1 = "SELECT DISTINCT(execute_man) \
-                FROM execute_detail \
-                WHERE exf_id=" + exf_id
-            
-            q1_result_count = len(list(db.query(q1)))
-
-            if q1_result_count > 0: # 有執行單位Email清單
-                for r1 in db.query(q1):
-                    if r1['execute_man']:
-                        print('執行單位: ' + r1['execute_man'])
-                        email_list.append(r1['execute_man'])
-            '''
-        elif is_close == 'G':
-            print('修改後狀態: 已到期未續約(G)')
-            html += '<div>本合約狀態已修改為 <span style="color:red;">已到期未續約</span></div>'
-            
-            '''
-            # 發送通知給負責業務、Kevin、Sam
-            email_list = ['sam@hhh.com.tw','kevin.h@hhh.com.tw']
-
-            # 負責業務
-            print('負責業務: ' + r['sales_man'])
-            email_list.append(r['sales_man'])
-            '''
-
-            # 列出該合約底下所有執行項目(含已完成、未完成)
-            q1 = "SELECT * \
-                FROM execute_detail \
-                WHERE exf_id=" + exf_id + \
-                " ORDER BY execute_man"
-            
-            q1_result_count = len(list(db.query(q1)))
-
-            if q1_result_count > 0: # 有執行項目
-                html += "<br><table style='width:100%;border-collapse: collapse;' border='1'> \
-                <tr style='text-align:left;'> \
-                    <th style='width:5%;'>#</th> \
-                    <th>大項目</th> \
-                    <th>執行項</th> \
-                    <th>單位</th> \
-                    <th>是否完成</th> \
-                    <th>完成人</th> \
-                    <th>備註</th> \
-                    <th>預計排程日期</th> \
-                    <th>第一次提醒日</th> \
-                </tr>";
-
-                idx = 1
-
-                for r1 in db.query(q1):
-                    if r1['set_date'] is None:
-                        r1['set_date'] = '無'
-                    
-                    if r1['alert_date_1'] is None:
-                        r1['alert_date_1'] = '無'
-                    
-                    # 執行單位Email
-                    if r1['execute_man'] == 'hhh_edit@hhh.com.tw':
-                        r1['execute_man'] = '編輯採訪部'
-                    elif r1['execute_man'] == 'hhh_mk@hhh.com.tw':
-                        r1['execute_man'] = '行銷企劃部'
-                    elif r1['execute_man'] == 'hhh_web@hhh.com.tw':
-                        r1['execute_man'] = '網站工程部'
-                    elif r1['execute_man'] == 'hhh_video@hhh.com.tw':
-                        r1['execute_man'] = '影音企劃部'
-                    elif r1['execute_man'] == 'agent@hhh.com.tw':
-                        r1['execute_man'] = '幸福經紀人'
-                    elif r1['execute_man'] == 'hhh_admin@hhh.com.tw':
-                        r1['execute_man'] = '行政部'
-                    elif r1['execute_man'] == 'hhh_sales@hhh.com.tw':
-                        r1['execute_man'] = '業務部'
-                    
-                    html += "<tr><td>" + str(idx) + "</td><td>" + r1['lv1'] + "</td><td>" + r1['lv2'] + "</td><td>" + r1['execute_man'] + "</td><td>" + r1['is_complete'] + "</td><td>" + r1['complete_man'] + "</td><td>" + r1['note'] + "</td><td>" + str(r1['set_date']) + "</td><td>" + str(r1['alert_date_1']) + "</td></tr>"
-
-                    idx += 1
+            if is_close == 'D':
+                print('修改後狀態: 續約(D)')
+                html += '<div>本合約狀態已修改為 <span style="color:red;">續約</span></div>'
+                
+                '''
+                # 發送通知給負責業務、CRM、Kevin、Sam
+                email_list = ['sam@hhh.com.tw','kevin.h@hhh.com.tw', 'miko@hhh.com.tw', 'mollie@hhh.com.tw', 'lynn@hhh.com.tw', 'zoe_lo@hhh.com.tw']
+
+                #  負責業務
+                print('負責業務: ' + r['sales_man'])
+                email_list.append(r['sales_man'])
+
+                # 取得執行單位Email清單
+                q1 = "SELECT DISTINCT(execute_man) \
+                    FROM execute_detail \
+                    WHERE exf_id=" + exf_id
+                
+                q1_result_count = len(list(db.query(q1)))
+
+                if q1_result_count > 0: # 有執行單位Email清單
+                    for r1 in db.query(q1):
+                        if r1['execute_man']:
+                            print('執行單位: ' + r1['execute_man'])
+                            email_list.append(r1['execute_man'])
+                '''
+            elif is_close == 'E':
+                print('修改後狀態: 不續約延期(E)')
+                html += '<div>本合約狀態已修改為 <span style="color:red;">不續約延期</span></div>'
+                
+                '''
+                # 發送通知給負責業務、CRM、Kevin、Sam
+                # 以變更後的合約日期來發送通知信
+                email_list = ['sam@hhh.com.tw','kevin.h@hhh.com.tw', 'miko@hhh.com.tw', 'mollie@hhh.com.tw', 'lynn@hhh.com.tw', 'zoe_lo@hhh.com.tw']
+
+                #  負責業務
+                print('負責業務: ' + r['sales_man'])
+                email_list.append(r['sales_man'])
+
+                # 取得執行單位Email清單
+                q1 = "SELECT DISTINCT(execute_man) \
+                    FROM execute_detail \
+                    WHERE exf_id=" + exf_id
+                
+                q1_result_count = len(list(db.query(q1)))
+
+                if q1_result_count > 0: # 有執行單位Email清單
+                    for r1 in db.query(q1):
+                        if r1['execute_man']:
+                            print('執行單位: ' + r1['execute_man'])
+                            email_list.append(r1['execute_man'])
+                '''
+            elif is_close == 'F':
+                print('修改後狀態: 不續約需下線(F)')
+                html += '<div>本合約狀態已修改為 <span style="color:red;">不續約需下線</span></div>'
                 
-                html += "</table>"
-        else:
-            print ('修改後狀態: ' + is_close + ',不需通知')
-            return
+                '''
+                # 發送通知通知給負責業務、CRM、財務部、Kevin、Sam
+                email_list = ['sam@hhh.com.tw','kevin.h@hhh.com.tw', 'miko@hhh.com.tw', 'mollie@hhh.com.tw', 'lynn@hhh.com.tw', 'zoe_lo@hhh.com.tw', 'acct_team@hhh.com.tw']
+
+                #  負責業務
+                print('負責業務: ' + r['sales_man'])
+                email_list.append(r['sales_man'])
+
+                # 取得執行單位Email清單
+                q1 = "SELECT DISTINCT(execute_man) \
+                    FROM execute_detail \
+                    WHERE exf_id=" + exf_id
+                
+                q1_result_count = len(list(db.query(q1)))
+
+                if q1_result_count > 0: # 有執行單位Email清單
+                    for r1 in db.query(q1):
+                        if r1['execute_man']:
+                            print('執行單位: ' + r1['execute_man'])
+                            email_list.append(r1['execute_man'])
+                '''
+            elif is_close == 'G':
+                print('修改後狀態: 已到期未續約(G)')
+                html += '<div>本合約狀態已修改為 <span style="color:red;">已到期未續約</span></div>'
+                
+                '''
+                # 發送通知給負責業務、Kevin、Sam
+                email_list = ['sam@hhh.com.tw','kevin.h@hhh.com.tw']
+
+                # 負責業務
+                print('負責業務: ' + r['sales_man'])
+                email_list.append(r['sales_man'])
+                '''
+
+                # 列出該合約底下所有執行項目(含已完成、未完成)
+                q1 = "SELECT * \
+                    FROM execute_detail \
+                    WHERE exf_id=" + exf_id + \
+                    " ORDER BY execute_man"
+                
+                q1_result_count = len(list(db.query(q1)))
+
+                if q1_result_count > 0: # 有執行項目
+                    html += "<br><table style='width:100%;border-collapse: collapse;' border='1'> \
+                    <tr style='text-align:left;'> \
+                        <th style='width:5%;'>#</th> \
+                        <th>大項目</th> \
+                        <th>執行項</th> \
+                        <th>單位</th> \
+                        <th>是否完成</th> \
+                        <th>完成人</th> \
+                        <th>備註</th> \
+                        <th>預計排程日期</th> \
+                        <th>第一次提醒日</th> \
+                    </tr>";
+
+                    idx = 1
+
+                    for r1 in db.query(q1):
+                        if r1['set_date'] is None:
+                            r1['set_date'] = '無'
+                        
+                        if r1['alert_date_1'] is None:
+                            r1['alert_date_1'] = '無'
+                        
+                        # 執行單位Email
+                        if r1['execute_man'] == 'hhh_edit@hhh.com.tw':
+                            r1['execute_man'] = '編輯採訪部'
+                        elif r1['execute_man'] == 'hhh_mk@hhh.com.tw':
+                            r1['execute_man'] = '行銷企劃部'
+                        elif r1['execute_man'] == 'hhh_web@hhh.com.tw':
+                            r1['execute_man'] = '網站工程部'
+                        elif r1['execute_man'] == 'hhh_video@hhh.com.tw':
+                            r1['execute_man'] = '影音企劃部'
+                        elif r1['execute_man'] == 'agent@hhh.com.tw':
+                            r1['execute_man'] = '幸福經紀人'
+                        elif r1['execute_man'] == 'hhh_admin@hhh.com.tw':
+                            r1['execute_man'] = '行政部'
+                        elif r1['execute_man'] == 'hhh_sales@hhh.com.tw':
+                            r1['execute_man'] = '業務部'
+                        
+                        html += "<tr><td>" + str(idx) + "</td><td>" + r1['lv1'] + "</td><td>" + r1['lv2'] + "</td><td>" + r1['execute_man'] + "</td><td>" + r1['is_complete'] + "</td><td>" + r1['complete_man'] + "</td><td>" + r1['note'] + "</td><td>" + str(r1['set_date']) + "</td><td>" + str(r1['alert_date_1']) + "</td></tr>"
+
+                        idx += 1
+                    
+                    html += "</table>"
+            else:
+                print ('修改後狀態: ' + is_close + ',不須通知')
+                return
 
-        html += "<div><br>幸福空間經營團隊敬上<br><br>※此信為系統自動寄送,請勿直接回信。謝謝!</div>"
+            html += "<div><br>幸福空間經營團隊敬上<br><br>※此信為系統自動寄送,請勿直接回信。謝謝!</div>"
 
-        html += """
-            </body>
-            </html>
-            """ 
+            html += """
+                </body>
+                </html>
+                """ 
 
     # Email清單
     email_list = ['mike@choozmo.com', 'stacy@choozmo.com']