diff --git a/ReadMe.txt b/ReadMe.txt
index 722b4cd37..b5822682b 100644
--- a/ReadMe.txt
+++ b/ReadMe.txt
@@ -70,3 +70,8 @@ kw:
undefined image_width
bundle exec rake db:migrate:down version=20140725062302
bundle exec rake db:migrate:up version=20140725062302
+
+=================================[2014-07-19]=====================================
+kw: Mysql2::Error,洢,CALL sp_project_status_cursor();
+bundle exec rake db:migrate:down version=20130828004955
+bundle exec rake db:migrate:up version=20130828004955
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 9b2481c1b..76be5d51f 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -75,6 +75,7 @@ class ProjectsController < ApplicationController
helper :watchers
# helper :watcherlist
helper :words
+ helper :project_score
### added by william
include ActsAsTaggableOn::TagsHelper
diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb
index c7cbf217d..4a0586c95 100644
--- a/app/controllers/welcome_controller.rb
+++ b/app/controllers/welcome_controller.rb
@@ -18,7 +18,7 @@
class WelcomeController < ApplicationController
include ApplicationHelper
include WelcomeHelper
-
+ helper :project_score
caches_action :robots
# before_filter :fake, :only => [:index, :course]
before_filter :entry_select, :only => [:index]
diff --git a/app/helpers/project_score_helper.rb b/app/helpers/project_score_helper.rb
index fe7c8307e..923a3da72 100644
--- a/app/helpers/project_score_helper.rb
+++ b/app/helpers/project_score_helper.rb
@@ -1,5 +1,5 @@
# encoding: utf-8
-class ProjectScoreHelper
+module ProjectScoreHelper
#缺陷数量
def issue_num project
project.issues.count
@@ -7,7 +7,67 @@ class ProjectScoreHelper
#缺陷留言数量
def issue_journal_num project
- project
+ project.issue_changes.count
+ end
+
+ #新闻数量
+ def news_num project
+ project.news.count
+ end
+
+ #文档数量
+ def document_num project
+ project.documents.count
+ end
+
+ #代码提交数量
+ def changesets_num project
+ project.changesets.count
+ end
+
+ #讨论区帖子数量
+ def board_message_num project
+ board_message_count = 0
+ project.boards.each do |board|
+ board_message_count += board.messages_count
+ end
+ board_message_count
+ end
+
+ #缺陷得分
+ def issue_score project
+ i_num = issue_num project
+ i_j_num = issue_journal_num project
+ i_num * 4 + i_j_num
+ end
+
+ # 新闻得分
+ def news_score project
+ n_num = news_num project
+ n_num
+ end
+
+ #文档得分
+ def document_score project
+ d_num = document_num project
+ d_num * 4
+ end
+
+ #代码提交得分
+ def changesets_score project
+ c_num = changesets_num project
+ c_num * 4
+ end
+
+ #讨论区帖子得分
+ def board_message_score project
+ b_m_num = board_message_num project
+ b_m_num * 2
+ end
+
+ #项目得分
+ def project_scores project
+ (issue_score project) + (news_score project) + (document_score project) + (changesets_score project) + (board_message_score project)
end
end
\ No newline at end of file
diff --git a/app/views/bids/_homework_list.html.erb b/app/views/bids/_homework_list.html.erb
index 2009d1252..9e8aceaff 100644
--- a/app/views/bids/_homework_list.html.erb
+++ b/app/views/bids/_homework_list.html.erb
@@ -96,7 +96,7 @@
-
- <% issue_count = @project.issues.count %>
- <% issue_journal_count = @project.issue_changes.count %>
- <% issue_score = issue_count * 0.2 %>
- <% issue_journal_score = issue_journal_count * 0.1 %>
- <% finall_issue_score = issue_score + issue_journal_score %>
-
- <% new_count = @project.news.count %>
- <% new_score = new_count * 0.1 %>
- <% finall_new_score = new_score %>
-
- <% document_count = @project.documents.count %>
- <% file_score = document_count * 0.1 %>
- <% finall_file_score = file_score %>
-
- <% changeset_count = @project.changesets.count %>
- <% code_submit_score = changeset_count * 0.3 %>
- <% finall_code_submit_score = code_submit_score %>
-
- <% board_message_count = 0 %>
- <% @project.boards.each do |board| %>
- <% board_message_count += board.messages_count %>
- <% end %>
- <% topic_score = board_message_count * 0.1 %>
- <% finall_topic_score = topic_score %>
-
- <% finall_project_score = finall_issue_score + finall_new_score + finall_file_score + finall_code_submit_score + topic_score %>
<% if @project.project_type == 0 %>
<%= l(:label_project_grade)%> :
- <%= link_to(format("%.2f" , finall_project_score ).to_f, {:controller => 'projects',
+ <%= link_to(format("%.2f" , project_scores(@project) ).to_i, {:controller => 'projects',
:action => 'show_projects_score',
:remote => true,
:id => @project.id
diff --git a/app/views/projects/_code_submit_score_index.html.erb b/app/views/projects/_code_submit_score_index.html.erb
index 238993afe..802779967 100644
--- a/app/views/projects/_code_submit_score_index.html.erb
+++ b/app/views/projects/_code_submit_score_index.html.erb
@@ -1,7 +1,4 @@
-<% changeset_count = @project.changesets.count %>
-<% code_submit_score = changeset_count * 0.3 %>
-<% finall_code_submit_score = code_submit_score %>
-
<%= l(:label_code_submit_number) %> * 0.3 = <%= changeset_count %> * 0.3 = <%= format("%.2f" , code_submit_score).to_f %>
-
<%= l(:label_code_submit_score) %> = <%= format("%.2f" , finall_code_submit_score).to_f %>
+
<%= l(:label_code_submit_number) %> * 4 = <%= changesets_num(@project) %> * 4 = <%= format("%.2f" , changesets_score(@project)).to_i %>
+
<%= l(:label_code_submit_score) %> = <%= format("%.2f" , changesets_score(@project)).to_i %>
\ No newline at end of file
diff --git a/app/views/projects/_file_score_index.html.erb b/app/views/projects/_file_score_index.html.erb
index 3b4810f65..ce80ddbd2 100644
--- a/app/views/projects/_file_score_index.html.erb
+++ b/app/views/projects/_file_score_index.html.erb
@@ -1,7 +1,4 @@
-<% document_count = @project.documents.count %>
-<% file_score = document_count * 0.1 %>
-<% finall_file_score = file_score %>
-
<%= l(:label_file_number) %> * 0.1 = <%= document_count %> * 0.1 = <%= format("%.2f" , file_score).to_f %>
-
<%= l(:label_file_score) %> = <%= format("%.2f" , finall_file_score).to_f %>
+
<%= l(:label_file_number) %> * 4 = <%= document_num(@project) %> * 4 = <%= format("%.2f" , document_score(@project)).to_i %>
+
<%= l(:label_file_score) %> = <%= format("%.2f" , document_score(@project)).to_i %>
\ No newline at end of file
diff --git a/app/views/projects/_issue_score_index.html.erb b/app/views/projects/_issue_score_index.html.erb
index 8ca3d240c..7353ce5a3 100644
--- a/app/views/projects/_issue_score_index.html.erb
+++ b/app/views/projects/_issue_score_index.html.erb
@@ -1,11 +1,6 @@
-<% issue_count = @project.issues.count %>
-<% issue_journal_count = @project.issue_changes.count %>
-<% issue_score = issue_count * 0.2 %>
-<% issue_journal_score = issue_journal_count * 0.1 %>
-<% finall_issue_score = issue_score + issue_journal_score %>
-
<%= l(:label_issue_number) %> * 0.2 = <%= issue_count %> * 0.2 = <%= format("%.2f" , issue_score).to_f %>
-
<%= l(:label_issue_journal_number) %> * 0.1 = <%= issue_journal_count %> * 0.1 = <%= format("%.2f" , issue_journal_score).to_f %>
-
<%= l(:label_issue_score) %> = <%= format("%.2f" , issue_score).to_f %> + <%= format("%.2f" , issue_journal_score).to_f %>
- = <%= format("%.2f" , finall_issue_score).to_f %>
+
<%= l(:label_issue_number) %> * 4 = <%= issue_num(@project) %> * 4 = <%= format("%.2f" , issue_num(@project) * 4).to_i %>
+
<%= l(:label_issue_journal_number) %> * 1 = <%= issue_journal_num(@project) %> * 1 = <%= format("%.2f" , issue_journal_num(@project)).to_i %>
+
<%= l(:label_issue_score) %> = <%= format("%.2f" , issue_num(@project) * 4).to_i %> + <%= format("%.2f" , issue_journal_num(@project)).to_i %>
+ = <%= format("%.2f" , issue_score(@project)).to_i %>
\ No newline at end of file
diff --git a/app/views/projects/_news_score_index.html.erb b/app/views/projects/_news_score_index.html.erb
index 0f374b871..b3d66efeb 100644
--- a/app/views/projects/_news_score_index.html.erb
+++ b/app/views/projects/_news_score_index.html.erb
@@ -1,7 +1,5 @@
-<% new_count = @project.news.count %>
-<% new_score = new_count * 0.1 %>
-<% finall_new_score = new_score %>
-
<%= l(:label_new_number) %> * 0.1 = <%= new_count %> * 0.1 = <%= format("%.2f" , new_score).to_f %>
-
<%= l(:label_news_score) %> = <%= format("%.2f" , finall_new_score).to_f %>
+
+
<%= l(:label_new_number) %> * 1 = <%= news_num(@project) %> * 1 = <%= format("%.2f" , news_score(@project)).to_i %>
+
<%= l(:label_news_score) %> = <%= format("%.2f" , news_score(@project)).to_i %>
\ No newline at end of file
diff --git a/app/views/projects/_project.html.erb b/app/views/projects/_project.html.erb
index 41ad2a62c..e9a733ece 100644
--- a/app/views/projects/_project.html.erb
+++ b/app/views/projects/_project.html.erb
@@ -18,37 +18,37 @@