Files
F6--/其它系统脚本/新签回访180天V4.ipynb
T
2026-01-30 11:28:35 +08:00

445 lines
38 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2023-11-25 不是节假日\n",
"[datetime.date(2023, 1, 1), datetime.date(2023, 1, 8), datetime.date(2023, 1, 15), datetime.date(2023, 1, 22), datetime.date(2023, 1, 29), datetime.date(2023, 2, 5), datetime.date(2023, 2, 12), datetime.date(2023, 2, 19), datetime.date(2023, 2, 26), datetime.date(2023, 3, 5), datetime.date(2023, 3, 12), datetime.date(2023, 3, 19), datetime.date(2023, 3, 26), datetime.date(2023, 4, 2), datetime.date(2023, 4, 9), datetime.date(2023, 4, 16), datetime.date(2023, 4, 23), datetime.date(2023, 4, 30), datetime.date(2023, 5, 7), datetime.date(2023, 5, 14), datetime.date(2023, 5, 21), datetime.date(2023, 5, 28), datetime.date(2023, 6, 4), datetime.date(2023, 6, 11), datetime.date(2023, 6, 18), datetime.date(2023, 6, 25), datetime.date(2023, 7, 2), datetime.date(2023, 7, 9), datetime.date(2023, 7, 16), datetime.date(2023, 7, 23), datetime.date(2023, 7, 30), datetime.date(2023, 8, 6), datetime.date(2023, 8, 13), datetime.date(2023, 8, 20), datetime.date(2023, 8, 27), datetime.date(2023, 9, 3), datetime.date(2023, 9, 10), datetime.date(2023, 9, 17), datetime.date(2023, 9, 24), datetime.date(2023, 10, 1), datetime.date(2023, 10, 8), datetime.date(2023, 10, 15), datetime.date(2023, 10, 22), datetime.date(2023, 10, 29), datetime.date(2023, 11, 5), datetime.date(2023, 11, 12), datetime.date(2023, 11, 19), datetime.date(2023, 11, 26), datetime.date(2023, 12, 3), datetime.date(2023, 12, 10), datetime.date(2023, 12, 17), datetime.date(2023, 12, 24), datetime.date(2023, 12, 31)]\n",
"当前日期: 2023-11-28 15:00:56.144785\n",
"遍历日期: 2023-11-27\n",
"遍历次数: 1\n",
"2023-06-08 2023-06-09\n",
"读取到省市小六技术专家区域客服区域客成表单中 66 条数据!\n",
"2023-06-08 11\n",
"2023-08-17 2023-11-25 1279\n",
"2023-05-09 2023-08-17 1265\n",
"2023-01-29 2023-05-09 1528\n",
"2022-10-21 2023-01-29 763\n",
"2022-07-13 2022-10-21 1165\n",
"2022-04-04 2022-07-13 1540\n",
"2021-12-25 2022-04-04 1356\n",
"2021-09-16 2021-12-25 2004\n",
"2021-06-08 2021-09-16 111\n",
"2021-02-28 2021-06-08 0\n",
"[['116743693536486170'], ['063512664121403125'], ['253635282420072174'], ['011062062226778435'], ['1457294844855952'], ['245308451136546029'], ['163135142119897263'], ['106216373838354980'], ['416944291218848']]\n",
"116743693536486170\n",
"{'dateField_lmelabb1': '1700895943702', 'employeeField_lmeqk429': '116743693536486170', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '佰事吉名车维修', 'textField_lnsi0v6s': '旗舰版', 'employeeField_lnsi0v6u': '054169455736370109', 'employeeField_lnsi0v6v': '1525590028775887', 'employeeField_lnsi0v6w': '116743693536486170', 'dateField_lnsi0v6x': '1700895943702', 'textField_lnsi0v6y': '佰事吉名车维修', 'textField_lnsi0v6z': 'CHS202306080233595', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 新签180天后:\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '1525590028775887', 'employeeField_lmeqk424': '054169455736370109', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-5F766771MPRF4GZPF71LABD941Z82U9C61POLFA&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"2626065538702722\n",
"{'dateField_lmelabb1': '1700895943702', 'employeeField_lmeqk429': '063512664121403125', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '上海燊企汽车配件有限公司', 'textField_lnsi0v6s': '标准版', 'employeeField_lnsi0v6u': '2626065538702722', 'employeeField_lnsi0v6v': '1525590028775887', 'employeeField_lnsi0v6w': '063512664121403125', 'dateField_lnsi0v6x': '1700895943702', 'textField_lnsi0v6y': '上海燊企汽车配件有限公司', 'textField_lnsi0v6z': 'CHS202306080233653', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 新签180天后:\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '1525590028775887', 'employeeField_lmeqk424': '2626065538702722', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-5F766771MPRF4GZPF71LABD941Z82R9C61POLB9&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"195159084238961158\n",
"{'dateField_lmelabb1': '1700895943702', 'employeeField_lmeqk429': '253635282420072174', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '星航奔驰专修', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '054169455736370109', 'employeeField_lnsi0v6v': '025366033037741985', 'employeeField_lnsi0v6w': '253635282420072174', 'dateField_lnsi0v6x': '1700895943702', 'textField_lnsi0v6y': '星航奔驰专修', 'textField_lnsi0v6z': 'CHS202110190143061', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 新签180天后:\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '025366033037741985', 'employeeField_lmeqk424': '054169455736370109', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-JO8668C1VORFUO22785RNCK8Q4KW300J31POL49&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"253635282420072174\n",
"{'dateField_lmelabb1': '1700895943702', 'employeeField_lmeqk429': '253635282420072174', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '温州市龙湾区浩迪汽车服务有限公司', 'textField_lnsi0v6s': '标准版', 'employeeField_lnsi0v6u': '054169455736370109', 'employeeField_lnsi0v6v': '025366033037741985', 'employeeField_lnsi0v6w': '253635282420072174', 'dateField_lnsi0v6x': '1700895943702', 'textField_lnsi0v6y': '温州市龙湾区浩迪汽车服务有限公司', 'textField_lnsi0v6z': 'CHS202306080233583', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 新签180天后:\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '025366033037741985', 'employeeField_lmeqk424': '054169455736370109', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-5F766771MPRF4GZPF71LABD941Z82R9C61POLA9&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"031367616021462180\n",
"{'dateField_lmelabb1': '1700895943702', 'employeeField_lmeqk429': '011062062226778435', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '德通汽配', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '052909055823302010', 'employeeField_lnsi0v6v': '025366033037741985', 'employeeField_lnsi0v6w': '011062062226778435', 'dateField_lnsi0v6x': '1700895943702', 'textField_lnsi0v6y': '德通汽配', 'textField_lnsi0v6z': 'CHS202202190167198', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 新签180天后:\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '025366033037741985', 'employeeField_lmeqk424': '052909055823302010', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-LO966L914URFEX2HEOJEZ9U56O3H2I8941POLH6&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"031367616021462180\n",
"{'dateField_lmelabb1': '1700895943702', 'employeeField_lmeqk429': '011062062226778435', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '韩泰轮胎专卖店(双拥路店)', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '052909055823302010', 'employeeField_lnsi0v6v': '025366033037741985', 'employeeField_lnsi0v6w': '011062062226778435', 'dateField_lnsi0v6x': '1700895943702', 'textField_lnsi0v6y': '韩泰轮胎专卖店(双拥路店)', 'textField_lnsi0v6z': 'CHS201902280007269', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 新签180天后:\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '025366033037741985', 'employeeField_lmeqk424': '052909055823302010', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-UG8660A19TRFKTRFBPM3V7CCU6LG3OJD21POL08&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"163135142119897263\n",
"{'dateField_lmelabb1': '1700895943702', 'employeeField_lmeqk429': '1457294844855952', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '2店', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '180720602439816818', 'employeeField_lnsi0v6v': '1525590028775887', 'employeeField_lnsi0v6w': '1457294844855952', 'dateField_lnsi0v6x': '1700895943702', 'textField_lnsi0v6y': '2店', 'textField_lnsi0v6z': 'CHS202306080233670', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 新签180天后:\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '1525590028775887', 'employeeField_lmeqk424': '180720602439816818', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-TD666Z91PORFVINX7NLW4B6DQ6WG2Y7P61POLNB&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"0103433535667605\n",
"{'dateField_lmelabb1': '1700895943702', 'employeeField_lmeqk429': '245308451136546029', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '圣易朗汽车服务', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '0103433535667605', 'employeeField_lnsi0v6v': '232229053125844557', 'employeeField_lnsi0v6w': '245308451136546029', 'dateField_lnsi0v6x': '1700895943702', 'textField_lnsi0v6y': '圣易朗汽车服务', 'textField_lnsi0v6z': 'CHS202006190091582', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 新签180天后:\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '232229053125844557', 'employeeField_lmeqk424': '0103433535667605', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-J8C66JD1JURFZ6YZ53WKUCYTSJ3V33GQ61POLU4&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"0615271028177307\n",
"{'dateField_lmelabb1': '1700895943702', 'employeeField_lmeqk429': '163135142119897263', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '好车有道车友俱乐部', 'textField_lnsi0v6s': '基础版', 'employeeField_lnsi0v6u': '180720602439816818', 'employeeField_lnsi0v6v': '1525590028775887', 'employeeField_lnsi0v6w': '163135142119897263', 'dateField_lnsi0v6x': '1700895943702', 'textField_lnsi0v6y': '好车有道车友俱乐部', 'textField_lnsi0v6z': 'CHS202302240206812', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 新签180天后:\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '1525590028775887', 'employeeField_lmeqk424': '180720602439816818', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-1U8662C1OORF4PI9632YUDD9GJRH2IGP51POLZ2&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n",
"416944291218848\n",
"{'dateField_lmelabb1': '1700895943702', 'employeeField_lmeqk429': '416944291218848', 'tableField_lnsi0v71': [{'textField_lnsi0v72': '卡叮汽车服务', 'textField_lnsi0v6s': '标准版', 'employeeField_lnsi0v6u': '055512041727184572', 'employeeField_lnsi0v6v': '1218085201677303', 'employeeField_lnsi0v6w': '416944291218848', 'dateField_lnsi0v6x': '1700895943702', 'textField_lnsi0v6y': '卡叮汽车服务', 'textField_lnsi0v6z': 'CHS202306080233598', 'selectField_lnsi0v6q': '强化培训', 'textareaField_lnsi0v6r': '\\n 新签180天后:\\n 1.客户日常使用问题解答;\\n 2.跟客户查看主营分析,推荐进销存功能深度使用;\\n 3.跟客户查看车辆分析,推荐短信及其他营销功能;\\n 4.说明转介绍政策,索要转介绍;'}], 'employeeField_lmeqk423': '1218085201677303', 'employeeField_lmeqk424': '055512041727184572', 'textField_lmu0523h': '自动派发回访计划', 'editorField_lodoplg0': ['root', {}, ['p', {}, ['span', {'data-type': 'text'}, ['span', {'data-type': 'leaf'}, '']], ['a', {'href': 'https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=FINST-5F766771MPRF4GZPF71LABD941Z82S9C61POLQ9&isAdmin=true'}, ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '点击查看门店NGV']]], ['span', {'data-type': 'text'}, ['span', {'unlink': {}, 'data-type': 'leaf'}, '']]]]}\n"
]
}
],
"source": [
"import holidays\n",
"from datetime import date\n",
"\n",
"# 创建一个中国节假日对象\n",
"cn_holidays = holidays.China()\n",
"# 获取当前日期\n",
"input_date = date.today()\n",
"switch = \"\"\n",
"# 判断日期是否为节假日\n",
"if input_date in cn_holidays:\n",
" switch = \"节假日\"\n",
" print(f\"{input_date} 是节假日\")\n",
"else:\n",
" switch = \"非节假日\"\n",
" print(f\"{input_date} 不是节假日\")\n",
"date_list = []\n",
"for data in cn_holidays:\n",
" date_list.append(str(data))\n",
"\n",
"from datetime import date, timedelta\n",
"\n",
"def get_saturdays(year):\n",
" start_date = date(year, 1, 1)\n",
" end_date = date(year, 12, 31)\n",
" saturdays = []\n",
"\n",
" while start_date <= end_date:\n",
" if start_date.weekday() == 6: # 周日的weekday值为6\n",
" saturdays.append(start_date)\n",
" start_date += timedelta(days=1)\n",
"\n",
" return saturdays\n",
"\n",
"current_year = date.today().year\n",
"saturdays = get_saturdays(current_year)\n",
"print(saturdays)\n",
"for data in saturdays:\n",
" date_list.append(str(data))\n",
"date_list = list(set(date_list))\n",
"date_list = sorted(date_list, reverse=False)\n",
"\n",
"# -*- coding: utf-8 -*-\n",
"import psycopg2\n",
"import pandas as pd\n",
"# 获得连接\n",
"conn = psycopg2.connect(database=\"f6_bi\", user=\"BASIC$ro_caowei\", password=\"!ro_caowei123\", host=\"hgprecn-cn-nif1vnv0y002-cn-shanghai.hologres.aliyuncs.com\", port=\"80\")\n",
"# 获得游标对象,一个游标对象可以对数据库进行执行操作\n",
"cursor = conn.cursor()\n",
"\n",
"import datetime\n",
"now_time = datetime.datetime.now()\n",
"yes_time = now_time + datetime.timedelta(days=-1)\n",
"yes_time_nyr = int(yes_time.strftime('%Y%m%d'))# 获取前一天日期\n",
"# sql语句 建表\n",
"sql =f\"\"\"SELECT * FROM \"public\".\"holo_ads_report_saas_profile_ngv_detail_d\" WHERE \"date_id\" = '{yes_time_nyr}' ;\"\"\"\n",
"# 执行语句\n",
"cursor.execute(sql)\n",
"# 获取结果集的每一行\n",
"rows = cursor.fetchall()\n",
"# 获取所有字段名\n",
"all_fields = cursor.description\n",
"#执行结果转化为dataframe\n",
"col = []\n",
"for i in all_fields:\n",
" col.append(i[0])\n",
"data_NGV = pd.DataFrame(list(rows),columns=col)\n",
"# data_NGV.to_excel(r'C:\\Users\\admin\\Desktop\\NGV明细.xlsx')\n",
"# 关闭数据库连接\n",
"cursor.close()\n",
"conn.close()\n",
"import pandas as pd\n",
"import pandas as pd\n",
"import numpy as np\n",
"import requests\n",
"import json\n",
"import time\n",
"import re\n",
"from datetime import datetime\n",
"from dateutil.relativedelta import relativedelta\n",
"from pathlib import Path\n",
"from urllib.parse import quote\n",
"from io import BytesIO\n",
"\n",
"ROOT = Path('.').absolute() # 当前工作目录\n",
"\n",
"\n",
"# 生成 token,参数不需要修改\n",
"def generateToken() -> str:\n",
" \"\"\" 生成 token \"\"\"\n",
"\n",
" token_api = 'https://api.dingtalk.com/v1.0/oauth2/accessToken'\n",
"\n",
" # 该信息在钉钉开放应用中\n",
" data = {\n",
" \"appKey\": \"ding5kqocon5s9oph5uq\",\n",
" \"appSecret\": 'HL1jgsIIfLAC0eTH0A1m4mwxUDqbgsiPeCCGGE3ocM6qJBTIW7Ivt9drxF_Z4Kb_'\n",
" }\n",
"\n",
" res = requests.post(token_api, json=data)\n",
" token = res.json()['accessToken']\n",
"\n",
" return token\n",
"\n",
"def read_instances(token, formUuid, page, n,formatted_today,formatted_today_two):\n",
" \"\"\" 函数功能:读取普通表单的所有数据 \"\"\"\n",
"\n",
" api = f'https://api.dingtalk.com//v1.0/yida/forms/instances/search'\n",
"\n",
" headers = {\n",
" \"Content-Type\": \"application/json\",\n",
" \"x-acs-dingtalk-access-token\": token\n",
" }\n",
"\n",
" formData = {\n",
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
" \"userId\" : \"yida_pub_account\",\n",
" \"language\" : \"zh_CN\",\n",
" \"formUuid\" : formUuid,\n",
" \"createFromTimeGMT\" : formatted_today,\n",
" \"createToTimeGMT\" : formatted_today_two,\n",
" \"currentPage\" : page,\n",
" \"pageSize\" : n\n",
" }\n",
"\n",
" res = requests.post(api, headers=headers, json=formData)\n",
" return res.json()\n",
"\n",
"def initiate_process(TOKEN,formUuid,processCode,formData):\n",
" \"\"\" 发起宜搭审批流程 \"\"\"\n",
" api = f'https://api.dingtalk.com//v1.0/yida/processes/instances/start'\n",
"\n",
" headers = {\n",
" \"Content-Type\": \"application/json\",\n",
" \"x-acs-dingtalk-access-token\": TOKEN\n",
" }\n",
" payload = {\n",
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
" \"userId\" : \"yida_pub_account\",\n",
" \"language\" : \"zh_CN\",\n",
" \"formUuid\" : formUuid,\n",
" \"formDataJson\" : json.dumps(formData, cls=NpEncoder),\n",
" \"processCode\" : processCode,\n",
" }\n",
"\n",
" res = requests.post(api, headers=headers, json=payload)\n",
" return res.json()\n",
"def read_instances_new(token, formUuid, page, n):\n",
" \"\"\" 函数功能:读取普通表单的所有数据 \"\"\"\n",
"\n",
" api = f'https://api.dingtalk.com//v1.0/yida/forms/instances/search'\n",
"\n",
" headers = {\n",
" \"Content-Type\": \"application/json\",\n",
" \"x-acs-dingtalk-access-token\": token\n",
" }\n",
"\n",
" formData = {\n",
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
" \"userId\" : \"yida_pub_account\",\n",
" \"language\" : \"zh_CN\",\n",
" \"formUuid\" : formUuid,\n",
" \"currentPage\" : page,\n",
" \"pageSize\" : n\n",
" }\n",
"\n",
" res = requests.post(api, headers=headers, json=formData)\n",
" return res.json()\n",
"def read_instances_ngv(token, formUuid, page, n,searchField):\n",
" \"\"\" 函数功能:读取普通表单的所有数据 \"\"\"\n",
"\n",
" api = f'https://api.dingtalk.com//v1.0/yida/forms/instances/search'\n",
"\n",
" headers = {\n",
" \"Content-Type\": \"application/json\",\n",
" \"x-acs-dingtalk-access-token\": token\n",
" }\n",
"\n",
" formData = {\n",
" \"appType\" : \"APP_UYZ0KG6L0CCNV80GZ66O\",\n",
" \"systemToken\" : \"XA966F81JAJOFCVVVKO64E9MIIZV1EWE5SFMKJ2\",\n",
" \"userId\" : \"yida_pub_account\",\n",
" \"language\" : \"zh_CN\",\n",
" \"formUuid\" : formUuid,\n",
" \"searchFieldJson\": json.dumps(searchField),\n",
" \"currentPage\" : page,\n",
" \"pageSize\" : n\n",
" }\n",
"\n",
" res = requests.post(api, headers=headers, json=formData)\n",
" return res.json()\n",
"class NpEncoder(json.JSONEncoder):\n",
" def default(self, obj):\n",
" if isinstance(obj, np.integer):\n",
" return int(obj)\n",
" elif isinstance(obj, np.floating):\n",
" return float(obj)\n",
" elif isinstance(obj, np.ndarray):\n",
" return obj.tolist()\n",
" else:\n",
" return super(NpEncoder, self).default(obj)\n",
" \n",
"TOKEN = generateToken()\n",
"import datetime\n",
"kaishiriqi = 173\n",
"kaishiriqi_1 = 172\n",
"date_one = 1\n",
"now_time = datetime.datetime.now()\n",
"now_time = now_time + datetime.timedelta(days=+3)\n",
"if now_time.strftime(\"%Y-%m-%d\") in date_list:\n",
" date_one = 0\n",
" print(\"开始次数:\",date_one)\n",
"print(\"当前日期:\",now_time)\n",
"\n",
"for i in range(1,10):\n",
" new_date = now_time + datetime.timedelta(days=-i)\n",
" new_date = new_date.strftime(\"%Y-%m-%d\")\n",
" print(\"遍历日期:\",new_date)\n",
" if new_date in date_list:\n",
" date_one = date_one + 1 \n",
" print(\"节假日期:\",new_date)\n",
" else:\n",
" break\n",
"print(\"遍历次数:\",date_one)\n",
"# now_time = datetime.datetime.now()\n",
"for i in range(0,date_one):\n",
" now_time = now_time + datetime.timedelta(days=-i)\n",
" today = now_time + datetime.timedelta(days=-kaishiriqi) # 根据周日和法定节假日 输出每日需要筛选的日期范围\n",
" formatted_today = today.strftime(\"%Y-%m-%d\")\n",
" today_two = now_time + datetime.timedelta(days=-kaishiriqi_1)\n",
" formatted_today_two = today_two.strftime(\"%Y-%m-%d\")\n",
" print(formatted_today,formatted_today_two)\n",
" timestamp_ms = int(time.time() * 1000) # 当然日期时间戳 毫秒级\n",
" '''读取省市小六技术专家区域客服区域客成 '''\n",
" FORMID = \"FORM-TP866D918DFCA4FW79YZU5X43FO32QZJQDZJL7\" #省市小六技术专家区域客服区域客成\n",
" # 读取流程表单数据\n",
" form_data = read_instances_new(token=TOKEN, formUuid=FORMID, page=1, n=100)\n",
" PAGES = form_data.get('totalCount')//100 + 1\n",
" textField_gif29wy = {}\n",
" textField_3athky8 = {}\n",
" textField_3hgho1m = {}\n",
" textField_nc7gskc = {}\n",
" textField_qk1e5di = {}\n",
" textField_m3hchxc = {} # 市\n",
" \"\"\" 获取全量数据 \"\"\"\n",
" for i in range(1, PAGES+1):\n",
" form_data = read_instances_new(token=TOKEN, formUuid=FORMID, page=i, n=100)\n",
" for data in form_data.get('data'):\n",
" textField_gif29wy[data['formData']['textField_3hgho1m']]=data['formData']['textField_gif29wy'] #区域客成id\n",
" textField_3athky8[data['formData']['textField_3hgho1m']]=data['formData']['textField_3athky8'] #区域客服id\n",
" textField_3hgho1m[data['formData']['textField_3hgho1m']]=data['formData']['textField_3hgho1m'] #小六id\n",
" textField_nc7gskc[data['formData']['textField_3hgho1m']]=data['formData']['textField_nc7gskc'] #技术专家id\n",
" textField_qk1e5di[data['formData']['textField_3hgho1m']]=data['formData']['textField_lntniove'] #区域经理id\n",
" textField_m3hchxc[data['formData']['textField_m3hchxc']]=data['formData']['textField_3hgho1m'] #小六id-市\n",
" print(f'读取到省市小六技术专家区域客服区域客成表单中 {len(textField_gif29wy)} 条数据!')\n",
" # [流程]新签服务流程 读取待处理数据\n",
" json_data = []\n",
" read_data = read_instances(TOKEN, \"FORM-9X766NA1SOATBRSH2K42D8BJCX7L326HI64TKG5\", 1, 100,formatted_today,formatted_today_two)\n",
" PAGES = read_data.get('totalCount')//100 + 1\n",
" print(formatted_today,read_data.get('totalCount'))\n",
" for a in range(1,PAGES + 1):\n",
" read_data = read_instances(TOKEN, \"FORM-9X766NA1SOATBRSH2K42D8BJCX7L326HI64TKG5\", a, 100,formatted_today,formatted_today_two) \n",
" for i in range(0,len(read_data[\"data\"])):\n",
" json_data.append(read_data[\"data\"][i]['formData'])\n",
" # [流程]新签服务流程 读取待处理数据\n",
" json_data_all = []\n",
" for i in range(0,1000,100):\n",
" now_time = datetime.datetime.now()\n",
" today = now_time + datetime.timedelta(days=-(i+100))\n",
" formatted_today = today.strftime(\"%Y-%m-%d\")\n",
" today_two = now_time + datetime.timedelta(days=-i)\n",
" formatted_today_two = today_two.strftime(\"%Y-%m-%d\")\n",
" timestamp_ms = int(time.time() * 1000) # 当然日期时间戳 毫秒级\n",
" read_data = read_instances(TOKEN, \"FORM-9X766NA1SOATBRSH2K42D8BJCX7L326HI64TKG5\", 1, 100,formatted_today,formatted_today_two)\n",
" PAGES = read_data.get('totalCount')//100 + 1\n",
" print(formatted_today,formatted_today_two,read_data.get('totalCount'))\n",
" for a in range(1,PAGES + 1):\n",
" read_data = read_instances(TOKEN, \"FORM-9X766NA1SOATBRSH2K42D8BJCX7L326HI64TKG5\", a, 100,formatted_today,formatted_today_two) \n",
" for i in range(0,len(read_data[\"data\"])):\n",
" json_data_all.append(read_data[\"data\"][i]['formData'])\n",
" df = pd.DataFrame(json_data_all)\n",
" # 将所有字段设置为字符串类型\n",
" df = df.astype(str)\n",
" data_NGV = data_NGV[['org_code', 'id_own_group']]\n",
" data_NGV = data_NGV.rename(columns={'org_code': 'orgCode'})\n",
" result = pd.merge(df, data_NGV, on='orgCode', how='left')\n",
" data_details_not_null = result.sort_values(by='openTime', ascending=True).drop_duplicates(subset='id_own_group')\n",
" # 重置索引\n",
" data_details_not_null = data_details_not_null.reset_index(drop=True)\n",
" data_details_all = data_details_not_null.copy() # 替换名称 v2 \n",
" # 获取待回访人员信息+去重\n",
" name_list = []\n",
" for data in json_data:\n",
" name_list.append(data['employeeField_kyi1dqth_id'])\n",
" unique_arr = []\n",
" [unique_arr.append(x) for x in name_list if x not in unique_arr]\n",
" print(unique_arr)\n",
"\n",
" # 每日工作计划\n",
" formUuid = \"FORM-4V966N81OMEEH85QDP8XW4AH1AIZ2GKRLZTML21\"\n",
" processCode = \"TPROC--4V966N81OMEEH85QDP8XW4AH1AIZ21ORLZTML31\"\n",
" # 遍历数据并进行创建\n",
" for name in unique_arr:\n",
" tableField_lnsi0v71 = {}\n",
" tableField_lnsi0v71['dateField_lmelabb1'] = \"\"\n",
" tableField_lnsi0v71['employeeField_lmeqk429'] = \"\"\n",
" for data in json_data:\n",
" if data['employeeField_kyi1dqth_id'] == name and data['orgCode'] in data_details_all['orgCode'].values:\n",
" print(textField_m3hchxc[data['city']])\n",
" data_one = {} # 子表单\n",
" data_two = {} # 主表单\n",
" # 子表单\n",
" data_one['textField_lnsi0v72'] = data['orgName']\n",
" data_one['textField_lnsi0v6s'] = data[\"saasEdition\"] # 销售版本\n",
" try:\n",
" data_one['employeeField_lnsi0v6u'] = textField_nc7gskc[name[0]] # 技术专家\n",
" data_one['employeeField_lnsi0v6v'] = textField_qk1e5di[name[0]] # 区域经理\n",
" if textField_3hgho1m[name[0]] ==\"\":\n",
" data_one['employeeField_lnsi0v6w'] = textField_m3hchxc[data['city']] # 运营顾问\n",
" else:\n",
" data_one['employeeField_lnsi0v6w'] = textField_3hgho1m[name[0]] # 运营顾问\n",
" except:\n",
" data_one['employeeField_lnsi0v6u'] = data['technician_id'][0] # 技术专家\n",
" data_one['employeeField_lnsi0v6v'] = data['manager_id'][0] # 区域经理\n",
" data_one['employeeField_lnsi0v6w'] = textField_m3hchxc[data['city']] # 运营顾问\n",
" data_one['dateField_lnsi0v6x'] = str(timestamp_ms) # 计划日期\n",
" data_one['textField_lnsi0v6y'] = data[\"orgName\"] # 门店名称-拷贝\n",
" data_one['textField_lnsi0v6z'] = data[\"orgCode\"] # 门店编码\n",
" data_one['selectField_lnsi0v6q'] = \"强化培训\" # 拜访目的\n",
" # data_one['textField_lnsi0v70'] = data_result.loc[i,\"id_own_group\"] # 公司id\n",
" data_one['textareaField_lnsi0v6r'] = '''\n",
" 新签180天后:\n",
" 1.客户日常使用问题解答;\n",
" 2.跟客户查看主营分析,推荐进销存功能深度使用;\n",
" 3.跟客户查看车辆分析,推荐短信及其他营销功能;\n",
" 4.说明转介绍政策,索要转介绍;''' # 拜访目的说明\n",
" # 加入数据\n",
" tableField_lnsi0v71['tableField_lnsi0v71'] = [data_one]\n",
" # 主表单\n",
" # data_two['dateField_lmelabb1'] = str(timestamp_ms)\n",
" # data_two['employeeField_lmeqk429'] = name\n",
" tableField_lnsi0v71['dateField_lmelabb1'] = str(timestamp_ms)\n",
" try:\n",
" if name[0] ==\"\":\n",
" tableField_lnsi0v71['employeeField_lmeqk429'] = textField_m3hchxc[data['city']] # 运营顾问\n",
" else:\n",
" tableField_lnsi0v71['employeeField_lmeqk429'] = name[0]\n",
" tableField_lnsi0v71['employeeField_lmeqk423'] = textField_qk1e5di[name[0]] # 区域经理\n",
" tableField_lnsi0v71['employeeField_lmeqk424'] = textField_nc7gskc[name[0]] # 技术专家\n",
" except:\n",
" tableField_lnsi0v71['employeeField_lmeqk429'] = textField_m3hchxc[data['city']] # 运营顾问\n",
" tableField_lnsi0v71['employeeField_lmeqk423'] = data['manager_id'][0] # 区域经理\n",
" tableField_lnsi0v71['employeeField_lmeqk424'] = data['technician_id'][0] # 技术专家\n",
" tableField_lnsi0v71['textField_lmu0523h'] = \"自动派发回访计划\" # 状态备用\n",
" # 富文本 超链接 NGV\n",
" try:\n",
" form_data_ngv = read_instances_ngv(token=TOKEN, formUuid=\"FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91\", page=1, n=100, searchField={'textField_zc1iowp': data[\"orgCode\"]})\n",
" tableField_lnsi0v71['editorField_lodoplg0'] = [\"root\",{},[\"p\",{},[\"span\",{\"data-type\":\"text\"},[\"span\",{\"data-type\":\"leaf\"},\"\"]],[\"a\",{\"href\":\"https://f6car.aliwork.com/APP_UYZ0KG6L0CCNV80GZ66O/formDetail/FORM-ZK866D91O9LA4NIHCARG2DPIPCXF3Z087PPHL91?formInstId=\"+form_data_ngv['data'][0]['formInstanceId']+\"&isAdmin=true\"},[\"span\",{\"data-type\":\"text\"},[\"span\",{\"unlink\":{},\"data-type\":\"leaf\"},\"点击查看门店NGV\"]]],[\"span\",{\"data-type\":\"text\"},[\"span\",{\"unlink\":{},\"data-type\":\"leaf\"},\"\"]]]] # 富文本 超链接 NGV\n",
" except:\n",
" pass\n",
" # res=initiate_process(TOKEN,formUuid,processCode,tableField_lnsi0v71)\n",
" # print(res,tableField_lnsi0v71)\n",
" print(tableField_lnsi0v71)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "F6processing",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}