Django项目:CRM(客户关系管理系统)--75--65PerfectCRM实现CRM课程分数排名

 1 # classtop_urls.py
 2 # ————————64PerfectCRM实现CRM课程排名详情————————
 3 from django.conf.urls import url
 4 from bpm.coursetop import coursetop_views
 5 urlpatterns = [
 6     url( r‘^coursetop_details/(\d+)/$‘, coursetop_views.coursetop_details, name="coursetop_details" ),    # 课程排名详情
 7
 8     # ————————65PerfectCRM实现CRM课程分数排名————————
 9     url( r‘^coursetop_score/(\d+)/$‘, coursetop_views.coursetop_score, name="coursetop_score" ),    # 班级分数排行
10     # ————————65PerfectCRM实现CRM课程分数排名————————
11
12 ]
13 # ————————64PerfectCRM实现CRM课程排名详情————————

# classtop_urls.py

 1 # coursetop_views.py
 2 # ————————64PerfectCRM实现CRM课程排名详情————————
 3 #————班级学生详情——#计算#{学员ID:分数}——#计算 #{学员ID: [分数, 排名] }————#
 4 #班级学生详情#计算#{学员ID:分数}
 5 from django.db.models import Sum #返回数组中所有值的和
 6 def get_course_grades(class_obj):#返回整个班级的成绩
 7     c=models.StudyRecord.objects.filter(course_record__from_class=class_obj).values_list(‘student‘)
 8     a=Sum(‘score‘)#Sum返回数组中所有值的和   #学习成绩
 9     e=c.annotate(a) #annotate数据库的数据聚合函数
10     class_grade_dic=dict(e)#{1: 285, 16: 190}#{学员ID:分数}
11     print( ‘全班成绩:‘, class_grade_dic)
12     return class_grade_dic   #as class_grade_dic
13
14 #班级学生详情#计算 #{学员ID: [分数, 排名] }
15 def get_course_ranking(class_grade_dic):#返回整个班级的排名数据
16     ranking_list = sorted(class_grade_dic.items(),key=lambda x:x[1],reverse=True)#进行排序后的列表#以第2个参数对比#倒序
17     print(‘成绩排序:‘,ranking_list)
18     ranking_dic = {}
19     for item in ranking_list:
20         ranking_dic[item[0]] = [item[1], ranking_list.index(item)+1] #循环添加 排名数 到 排序后的列表
21     print( ‘全班排名:‘, ranking_dic)#{1: [285, 1], 10: [280, 2], }#{学员ID: [分数, 排名] }
22     return ranking_dic
23 #————班级学生详情——#计算#{学员ID:分数}——#计算 #{学员ID: [分数, 排名] }————#
24
25 from django.contrib.auth.decorators import login_required  # 登陆后页面才能访问
26 from django.shortcuts import render #页面返回
27 from crm import models #数据库
28 #班级学生详情
29 @login_required  # 登陆后页面才能访问
30 def coursetop_details(request,class_id):
31     classes_obj = models.ClassList.objects.get(id=class_id)#通过ID获取02班级表
32     enrollmentlist=classes_obj.enrollment_set.all()#通过班级ID,获取06学员报名信息表
33
34     class_grade_dic=get_course_grades(classes_obj.id)#{学员ID:分数}        #全班成绩 # coursetop_tags.py 根据id 找对应的分数
35     ranking_dic=get_course_ranking(class_grade_dic)#{学员ID: [分数, 排名] } #全班排名 # coursetop_tags.py 根据id 找对应的排名
36
37     return render(request,‘bpm_coursetop/coursetop_details.html‘,locals())
38 # ————————64PerfectCRM实现CRM课程排名详情————————
39
40
41
42 # ————————65PerfectCRM实现CRM课程分数排名————————
43 #———— 班级学生详情——#计算 #{排名: (ID, 分数)}#排名查名字————#
44 def get_ranking_name(class_grade_dic):
45     lists=[]
46     ranking_list = sorted(class_grade_dic.items(),key=lambda x:x[1],reverse=True)#进行排序后的列表#以第2个参数对比#倒序
47     #ranking_list [(1, 285), (10, 280)] #按分高排序的ID顺序
48     for item in ranking_list:
49         temp={}
50         temp[ranking_list.index(item) + 1] = item  # 循环添加 排名数 到 排序后的列表
51         lists.append(temp)
52     print( ‘排名查名字:‘, lists )#[{1: (1, 285)}, {2: (10, 280)}]#[{排名: (学员ID, 分数)}]
53     return lists
54 #———— 班级学生详情——#计算 #{排名: (ID, 分数)}#排名查名字————#
55
56 #班级学生详情#全班成绩排名 #通过#{排名: (ID, 分数)}#排名查名字
57 @login_required  # 登陆后页面才能访问
58 def coursetop_score(request,class_id):
59     classes_obj = models.ClassList.objects.get(id=class_id)#通过ID获取02班级表
60     class_grade_dic=get_course_grades(classes_obj.id)#{学员ID:分数}        #全班成绩
61     lists=get_ranking_name(class_grade_dic)#计算#[{排名: (学员ID, 分数)}]  #按分高排序的ID顺序
62     return render(request,‘bpm_coursetop/coursetop_score.html‘,locals())
63
64 # ————————65PerfectCRM实现CRM课程分数排名————————

# coursetop_views.py

 1 # coursetop_tags.py
 2 # ————————64PerfectCRM实现CRM课程排名详情————————
 3 from crm import models
 4 from django import template
 5 register = template.Library()
 6
 7 @register.simple_tag
 8 def fetch_stu_course_score(class_grade_dic, enroll_obj_id ): #获取 学员 课程 分数
 9     score=class_grade_dic.get(enroll_obj_id) #根据 id 找对应的分数
10     print(‘#{学员ID:分数} #全班成绩‘,score)
11     return score
12
13 @register.simple_tag
14 def get_stu_grade_ranking(course_ranking_dic,enroll_obj_id):#得到 学员 班级 排名
15     score_top = course_ranking_dic.get(enroll_obj_id) #根据id 找对应的排名
16     if score_top:
17         print( ‘#{学员ID: [分数, 排名] } #全班排名:‘, score_top[1] )
18         return score_top[1]
19
20 @register.simple_tag
21 def get_already_homework(enroll_obj_id): #获得已交作业
22     score_list=models.StudyRecord.objects.select_related().filter(student=enroll_obj_id).values_list(‘score‘)#根据09学习纪录的ID #获取学习成绩列表
23     number=0
24     for score in score_list:
25         if score!= (0,) :
26             number += 1
27     print(‘已交作业次数‘,number)
28     return number
29
30
31 @register.simple_tag
32 def get_stu_attendance(enroll_obj_id): #获得学员出勤次数
33     attendance_list=models.StudyRecord.objects.select_related().filter(student=enroll_obj_id).values_list(‘attendance‘)
34     number=0
35     for attendance in attendance_list:
36         if attendance == (0,) :
37             number += 1
38     print(‘获得点名出勤‘,number)
39     return number
40
41 @register.simple_tag
42 def get_stu_late(enroll_obj_id): #获得学员迟到次数
43     attendance_list=models.StudyRecord.objects.select_related().filter(student=enroll_obj_id).values_list(‘attendance‘)
44     number=0
45     for attendance in attendance_list:
46         if attendance == (1,) :
47             number += 1
48     print(‘获得点名迟到‘,number)
49     return number
50
51 @register.simple_tag
52 def get_stu_absenteeism(enroll_obj_id): #获得学员缺勤次数
53     attendance_list=models.StudyRecord.objects.select_related().filter(student=enroll_obj_id).values_list(‘attendance‘)
54     number=0
55     for attendance in attendance_list:
56         if attendance == (2,) :
57             number += 1
58     print(‘获得点名缺勤‘,number)
59     return number
60
61 @register.simple_tag
62 def get_stu_early(enroll_obj_id): #获得学员早退次数
63     attendance_list=models.StudyRecord.objects.select_related().filter(student=enroll_obj_id).values_list(‘attendance‘)
64     number=0
65     for attendance in attendance_list:
66         if attendance == (3,) :
67             number += 1
68     print(‘获得点名早退‘,number)
69     return number
70 # ————————64PerfectCRM实现CRM课程排名详情————————
71
72 # ————————65PerfectCRM实现CRM课程分数排名————————
73 @register.simple_tag
74 def top(enroll_obj):#排名查姓名
75     enrollment = models.Enrollment.objects.filter(id=enroll_obj).first()#通过ID查06学员报名信息表
76     return enrollment #06学员报名信息表
77 # ————————65PerfectCRM实现CRM课程分数排名————————

# coursetop_tags.py

 1 {#coursetop_score.html#}
 2 {## ————————65PerfectCRM实现CRM课程分数排名————————#}
 3 {% extends ‘bpm_master/bpm_sample.html‘ %}
 4 {% load coursetop_tags %}
 5 {% block right-container-content %} {#自定义内容开始 右边页面内容#}
 6     <div class="panel-default">
 7         <div class="panel-default">
 8             <div class="panel-body">
 9                 <h4>当前用户: {{ request.user }} | 讲师名字:{{ request.user.stu_account.name }} |
10                     讲师QQ:{{ request.user.stu_account }} </h4>
11                 <ol class="breadcrumb">
12                     <li><a href="{% url ‘teacher_class‘ %}">我的班级</a></li>
13                     <li><a href="{% url ‘teacher_class_detail‘ classes_obj.id %}">{{ classes_obj }}</a></li>
14                     <li><a href="{% url ‘coursetop_score‘ classes_obj.id %}">分数排名</a></li>
15                 </ol>
16                 <table class="table table-striped table-responsive">
17                     <thead>
18                     <tr>
19                         <th><a href="{% url ‘coursetop_details‘ classes_obj.id %}">学员ID</a></th>
20                         <th><a target="_blank" href="/king_admin/crm/enrollment/?enrolled_class={{ class_id }}">学员姓名</a>
21                         </th>
22                         <th>学员QQ</th>
23                         <th>报名日期</th>
24                         <th>课程成绩</th>
25                         <th>班级排名</th>
26                         <th>已交作业</th>
27                         <th>出勤次数</th>
28                         <th>迟到次数</th>
29                         <th>缺勤次数</th>
30                         <th>早退次数</th>
31                     </tr>
32                     </thead>
33
34
35                     <tbody>
36                     {% for enroll_objs  in  lists %}
37                         {% for top,enroll_obj in enroll_objs.items %}{#teacher_class_stu_list.html#}
38                             {% top enroll_obj.0 as enrollment %}{#teacher_class_stu_list.html#}
39                             <tr>
40                                 <td>{{ enroll_obj.0 }}</td>
41                                 {#学员ID#}
42                                 <td>{{ enrollment.customer.name }}</td>
43                                 {#学员姓名#}
44                                 <td>{{ enrollment.customer.qq }}</td>
45                                 {#学员QQ#}
46                                 <td>{{ enrollment.date }}</td>
47                                 {#报名日期#}
48                                 <td style="color: #ff0f00"> {{ enroll_obj.1 }}{#课程成绩#} </td>
49                                 <td style="color: #ff0f00">
50                                     {{ top }}{#班级排名#}
51                                 </td>
52                                 <td>{% get_already_homework enroll_obj.0 %}</td>
53                                 {#已交作业#}
54                                 <td>
55                                     {% get_stu_attendance enroll_obj.0 %}{#出勤次数#}
56                                 </td>
57                                 <td>
58                                     {% get_stu_late enroll_obj.0 %}{#迟到次数#}
59                                 </td>
60                                 <td>
61                                     {% get_stu_absenteeism enroll_obj.0 %}{#缺勤次数#}
62                                 </td>
63                                 <td>
64                                     {% get_stu_early enroll_obj.0 %}{#早退次数#}
65                                 </td>
66                             </tr>
67                         {% endfor %}
68                     {% endfor %}
69                     </tbody>
70                 </table>
71             </div>
72         </div>
73     </div>
74 {% endblock %}
75 {## ————————65PerfectCRM实现CRM课程分数排名————————#}

{#coursetop_score.html#}

 1 {#coursetop_details.html#}
 2 {## ————————64PerfectCRM实现CRM课程排名详情————————#}
 3 {% extends ‘bpm_master/bpm_sample.html‘ %}
 4 {% load coursetop_tags %} {#计算课程排名#}
 5 {% block right-container-content %} {#自定义内容开始 右边页面内容#}
 6     <div class="panel-default">
 7         <div class="panel-default">
 8             <div class="panel-body">
 9                 <h4>当前用户: {{ request.user }} | 讲师名字:{{ request.user.stu_account.name }} |
10                     讲师QQ:{{ request.user.stu_account }} </h4>
11                 <ol class="breadcrumb">
12                     <li><a href="{% url ‘teacher_class‘ %}">我的班级</a></li>
13                     <li><a href="{% url ‘teacher_class_detail‘ classes_obj.id %}">{{ classes_obj }}</a></li>
14                     <li><a href="{% url ‘coursetop_details‘ classes_obj.id %}">课程排行</a></li>
15                 </ol>
16                 <table class="table table-striped table-responsive">
17                     <thead>
18                     <tr>
19                         <th>学员ID</th>
20                         <th><a target="_blank" href="/king_admin/crm/enrollment/?enrolled_class={{ class_id }}">学员姓名</a>
21                         </th>
22                         <th>学员QQ</th>
23                         <th>报名日期</th>
24                         <th>
25                             {## ————————65PerfectCRM实现CRM课程分数排名————————#}
26                             <a href="{% url ‘coursetop_score‘ classes_obj.id %}">
27                                 {## ————————65PerfectCRM实现CRM课程分数排名————————#}
28                                 课程成绩
29                             </a>
30                         </th>
31                         <th>
32                             {## ————————65PerfectCRM实现CRM课程分数排名————————#}
33                             <a href="{% url ‘coursetop_score‘ classes_obj.id %}">
34                                 {## ————————65PerfectCRM实现CRM课程分数排名————————#}
35                                 班级排名
36                             </a>
37                         </th>
38                         <th>已交作业</th>
39                         <th>出勤次数</th>
40                         <th>迟到次数</th>
41                         <th>缺勤次数</th>
42                         <th>早退次数</th>
43                     </tr>
44                     </thead>
45
46
47                     <tbody>
48                     {% for enroll_obj  in  enrollmentlist %}
49                         <tr>
50                             <td style="color: #ff0f00">{{ enroll_obj.id }}</td>
51                             {# 学员id#}
52                             <td>{{ enroll_obj.customer.name }}</td>
53                             {# 学员姓名#}
54                             <td>{{ enroll_obj.customer.qq }}</td>
55                             {# 学员QQ#}
56                             <td>{{ enroll_obj.date }}</td>
57                             {# 报名日期#}
58                             <td>
59                                 {% fetch_stu_course_score class_grade_dic enroll_obj.id %} {# 得到 学员 课程 分数#}
60                             </td>
61                             <td>
62                                 {% get_stu_grade_ranking ranking_dic enroll_obj.id %} {# 得到 学员 课程 排名#}
63                             </td>
64                             <td>
65                                 {% get_already_homework enroll_obj.id %}{# 已交作业#}
66                             </td>
67                             <td>
68                                 {% get_stu_attendance enroll_obj.id %} {# 得到 学员出勤次数#}
69                             </td>
70                             <td>
71                                 {% get_stu_late enroll_obj.id %} {# 得到 学员出勤次数#}
72                             </td>
73                             <td>
74                                 {% get_stu_absenteeism enroll_obj.id %} {# 得到 学员出勤次数#}
75                             </td>
76                             <td>
77                                 {% get_stu_early enroll_obj.id %} {# 得到 学员早退次数#}
78                             </td>
79                         </tr>
80                     {% endfor %}
81                     </tbody>
82                 </table>
83             </div>
84         </div>
85     </div>
86 {% endblock %}
87 {## ————————64PerfectCRM实现CRM课程排名详情————————#}

{#coursetop_details.html#}

原文地址:https://www.cnblogs.com/ujq3/p/9034052.html

时间: 2024-10-29 17:27:58

Django项目:CRM(客户关系管理系统)--75--65PerfectCRM实现CRM课程分数排名的相关文章

CRM客户关系管理系统如何分析客户的动态需求

由于激烈的市场竞争,对于怎样掌握客户的动态需求,怎样保持客户市场的稳定增长,对于企业来说已经成为普遍的关注点.CRM客户关系管理系统经过了10年的发展历程,怎样管理客户.了解客户成就了CRM客户关系管理系统的大市场. CRM供货商一般侧重于宣扬软件的特性及功用,而对其全体价值则没有做出了解的表述. 用户高档处理层一般从基础设施安顿而非运营和战略视点对待CRM客户关系管理系统施行. 由于无法从运营和战略视点安顿CRM客户关系管理系统,用户对CRM的价值认知只停留在技术功率层面上. 只需跨过技术和流

Django CRM客户关系管理系统

CRM需求分析 随着信息化时代带来的科技创新,CRM客户关系管理系统带来的效益在已经成为很多企业提高竞争优势的一分部,CRM客户关系管理系统将企业管理和客户关系管理集成到统一的平台,其系统功能主要体现在企业与客户之间的业务和企业内部之前部门之间的业务.因此CRM客户关系管理系统不但可以记录企业自内部信息,对于客户信息存储也是可以做到的,其中还涉及市场竞争对手的情报资料,还包括了企业进行营销.销售及支持服务所需的各种数据. 功能实现 (1)建议统一的信息编码系统; (2)设计能够良好反映事物特性的

CRM客户关系管理系统商业项目

本课程共33讲,购买课程后,可以下载项目需求分析文档,数据库设计文档,完整的项目源代码,数据库文件等资料,系统采用jsp,servlet,js,ajax,jquery,easyui,mysql数据库等相关技术实现,所有代码均为原生态,无第三方插件,系统稳定,高效,快捷,本系统是专门针对各种中小型企业量身定做的CRM客户关系管理系统,为企业管客户,管商机,管销售,从而推动业务进展,提高工作效率,管理大数据. 项目主要功能有客户管理,合同管理,合同附件管理,合同预览(放大缩小),订单管理,商务洽谈,

CRM客户关系管理系统商业项目视频课程

本课程共33讲,购买课程后,可以下载项目需求分析文档,数据库设计文档,完整的项目源代码,数据库文件等资料,系统采用jsp,servlet,js,ajax,jquery,easyui,mysql数据库等相关技术实现,所有代码均为原生态,无第三方插件,系统稳定,高效,快捷,本系统是专门针对各种中小型企业量身定做的CRM客户关系管理系统,为企业管客户,管商机,管销售,从而推动业务进展,提高工作效率,管理大数据. 项目主要功能有客户管理,合同管理,合同附件管理,合同预览(放大缩小),订单管理,商务洽谈,

CRM客户关系管理系统需求分析文档

系统简介 本软件采用现在流行的WEB架构开发,主要针对中小型公司.管销售,管客户,管商机:可以在任何能上网的地方登录使用,使用简单,功能强大,方便快捷,丰富完善的报表功能,极大的提高公司的运营效率,不会因为人员的变动而导致数据的丢失,对公司的日常业务,问题追责等提供详细数据,对于公司领导可以做到"一表知天下",具体功能如下:1.客户管理:1.1.有非常完善的客户资料信息,对不同的客户进行分类管理,如普通客户,VIP客户,成交客户和潜在客户等1.2.对客户的每次来电,拜访情况可以做详细的

crm客户关系管理系统大约多少钱?

随着CRM在企业中的应用普遍化,不少人相信对CRM系统并不陌生,但是更多人关注的还是CRM客户关系管理系统价格如何. 其实CRM价格并不是固定的,毕竟市面上CRM系统种类众多,种类不同,价格不一样,功能不同,价格也不一样,所以CRM客户关系管理系统价格是由多方面因素影响的. 其实不同的CRM都有不同的价格,况且现在很多CRM都分模块或分版本销售,所以会出现不同的需求不同的价格.当然了选择CRM不仅仅要看价格,而且要看这套CRM是否符合自己公司的具体需求.可以尝试多去试用,多去对比,找出适合自己企

最好用的CRM客户关系管理系统

佳网CRM客户关系管理系统我们致力于解决企业客户管理,提高企业的办事效率,为企业提供一站式服务化繁为简: 统一管理,不再分散 解决客户资料分散于业务员个人的问题,现在每个人一个帐号,客户资料统一管理 权限设置细化明确 不同部门设置不同的菜单权限,不同的员工级别设置不同的操作权限 精准定位,多条件查找 根据级别.合同状态.所属业务员.跟单状态等不同条件快速查找客户资料 客户资料随身而行 移动端全功能支持,随时随地看客户.跟单.订单.合同资料 实时消息提醒 第一时间通知与您相关的新消息,即刻加入企业

CRM客户关系管理系统如何推动企业走向成功

随着我国互联网信息技术水平的不断提高,crm客户关系管理系统发展迅速.许多的企业对crm系统进行了引进,帮助企业赢得收益与未来,那crm系统如何帮助企业走向成功的呢?下面我们一起来看看. 一.集中保存客户信息客户无疑是企业发展的根本,crm系统拥有强大的客户信息管理的能力,可以详细记录客户信息,对客户的信息进行集中管理和共享,防止出现因业务调整或人员的流动而产生客户资源或数据的流失:同时,crm系统能够保证客户信息的完整,积累企业的宝贵财富.让企业从现有客户中获取更多市场份额,让客户生命周期发挥

CRM客户关系管理系统-需求概设和详设

大概设计 大概设计就是对需求进行一个整体性分析,把需要实现的功能都列出来,对于客户关系管理系统,我们需要从角色出发,从而确定有哪些需求,最好是画个思维导图 首先我们是为培训学校这么一个场景来开发的,所以有:学生,讲师,销售,老板这么四个角色,那接下来,我们就要对这几个角色需要实现哪些功能逐一分析了 第一个,学生,1.交作业 2.查成绩 3.请假 4.合同 5.我的推荐 6.投诉建议 第二个,讲师, 1.上课点名 2.批作业 3.创建上课记录 4.查看班级成绩 5.课时申报 6.问卷调查 第三个,