正在显示
4 个修改的文件
包含
20 行增加
和
11 行删除
@@ -82,20 +82,20 @@ type DepartmentStatisticsResponse struct { | @@ -82,20 +82,20 @@ type DepartmentStatisticsResponse struct { | ||
82 | func (this *DepartmentStatisticsResponse) Len() int { return len(this.List) } | 82 | func (this *DepartmentStatisticsResponse) Len() int { return len(this.List) } |
83 | func (this *DepartmentStatisticsResponse) Less(i, j int) bool { | 83 | func (this *DepartmentStatisticsResponse) Less(i, j int) bool { |
84 | //已审核 按照总数从大到小排序;若相同,按照已通过数量从大到小排序;若还相同,按照成果数量从大到小排序;*/ | 84 | //已审核 按照总数从大到小排序;若相同,按照已通过数量从大到小排序;若还相同,按照成果数量从大到小排序;*/ |
85 | - if this.List[i].ACTotal > this.List[j].ACTotal { | 85 | + if this.List[i].ACTotal < this.List[j].ACTotal { |
86 | return true | 86 | return true |
87 | } | 87 | } |
88 | - if this.List[i].ChanceApprovedTotal > this.List[j].ChanceApprovedTotal { | 88 | + if this.List[i].ChanceApprovedTotal < this.List[j].ChanceApprovedTotal { |
89 | return true | 89 | return true |
90 | } | 90 | } |
91 | - if this.List[i].AchievementTotal > this.List[j].AchievementTotal { | 91 | + if this.List[i].AchievementTotal < this.List[j].AchievementTotal { |
92 | return true | 92 | return true |
93 | } | 93 | } |
94 | - | ||
95 | - //待审核 | ||
96 | - //if this.List[i].ChanceApprovingTotal > this.List[j].ChanceApprovingTotal { | ||
97 | - // return true | ||
98 | - //} | 94 | + if this.List[i].ACTotal == this.List[j].ACTotal && this.List[i].ChanceApprovedTotal == this.List[j].ChanceApprovedTotal && this.List[i].AchievementTotal == this.List[j].AchievementTotal { |
95 | + if this.List[i].Dep.Id > this.List[j].Dep.Id { | ||
96 | + return true | ||
97 | + } | ||
98 | + } | ||
99 | return false | 99 | return false |
100 | } | 100 | } |
101 | func (this *DepartmentStatisticsResponse) Swap(i, j int) { | 101 | func (this *DepartmentStatisticsResponse) Swap(i, j int) { |
@@ -57,6 +57,7 @@ func walkDepartment(to *protocol.Department, dfrom *models.Department) (err erro | @@ -57,6 +57,7 @@ func walkDepartment(to *protocol.Department, dfrom *models.Department) (err erro | ||
57 | var newD *protocol.Department = &protocol.Department{ | 57 | var newD *protocol.Department = &protocol.Department{ |
58 | DepartmentId: dfrom.Id, | 58 | DepartmentId: dfrom.Id, |
59 | Name: dfrom.Name, | 59 | Name: dfrom.Name, |
60 | + CreateTime: dfrom.CreateAt, | ||
60 | Departments: []*protocol.Department{}, | 61 | Departments: []*protocol.Department{}, |
61 | } | 62 | } |
62 | if len(dfrom.Managers) > 0 { | 63 | if len(dfrom.Managers) > 0 { |
@@ -92,6 +93,7 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DepartmentStat | @@ -92,6 +93,7 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DepartmentStat | ||
92 | item.Dep = protocol.Dep{ | 93 | item.Dep = protocol.Dep{ |
93 | Id: department.DepartmentId, | 94 | Id: department.DepartmentId, |
94 | Name: department.Name, | 95 | Name: department.Name, |
96 | + Time: department.CreateTime.Unix(), | ||
95 | } | 97 | } |
96 | rsp.List = append(rsp.List, item) | 98 | rsp.List = append(rsp.List, item) |
97 | rsp.Total += item.ChanceApprovedTotal + item.AchievementTotal | 99 | rsp.Total += item.ChanceApprovedTotal + item.AchievementTotal |
@@ -124,7 +126,8 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DepartmentStat | @@ -124,7 +126,8 @@ func Statistics(header *protocol.RequestHeader, request *protocol.DepartmentStat | ||
124 | err = protocol.NewErrWithMessage(2) | 126 | err = protocol.NewErrWithMessage(2) |
125 | return | 127 | return |
126 | } | 128 | } |
127 | - sort.Sort(rsp) | 129 | + sort.Stable(rsp) |
130 | + sort.Stable(sort.Reverse(rsp)) | ||
128 | return | 131 | return |
129 | } | 132 | } |
130 | 133 |
@@ -35,10 +35,14 @@ func TestGetRootDepartment(t *testing.T) { | @@ -35,10 +35,14 @@ func TestGetRootDepartment(t *testing.T) { | ||
35 | func TestSortDepartmentStastics(t *testing.T) { | 35 | func TestSortDepartmentStastics(t *testing.T) { |
36 | s := &protocol.DepartmentStatisticsResponse{ | 36 | s := &protocol.DepartmentStatisticsResponse{ |
37 | List: []*protocol.DepartmentStatistics{ | 37 | List: []*protocol.DepartmentStatistics{ |
38 | - {ChanceApprovedTotal: 8, AchievementTotal: 12, ACTotal: 20}, | ||
39 | {ChanceApprovedTotal: 12, AchievementTotal: 8, ACTotal: 20}, | 38 | {ChanceApprovedTotal: 12, AchievementTotal: 8, ACTotal: 20}, |
39 | + {ChanceApprovedTotal: 8, AchievementTotal: 12, ACTotal: 20}, | ||
40 | {ChanceApprovedTotal: 20, AchievementTotal: 20, ACTotal: 40}, | 40 | {ChanceApprovedTotal: 20, AchievementTotal: 20, ACTotal: 40}, |
41 | {ChanceApprovedTotal: 5, AchievementTotal: 10, ACTotal: 15}, | 41 | {ChanceApprovedTotal: 5, AchievementTotal: 10, ACTotal: 15}, |
42 | + {Dep: protocol.Dep{Id: 3}, ChanceApprovedTotal: 6, AchievementTotal: 10, ACTotal: 16}, | ||
43 | + {Dep: protocol.Dep{Id: 2}, ChanceApprovedTotal: 6, AchievementTotal: 10, ACTotal: 16}, | ||
44 | + {Dep: protocol.Dep{Id: 1}, ChanceApprovedTotal: 6, AchievementTotal: 10, ACTotal: 16}, | ||
45 | + {ChanceApprovedTotal: 20, AchievementTotal: 30, ACTotal: 50}, | ||
42 | }, | 46 | }, |
43 | //List: []*protocol.DepartmentStatistics{ | 47 | //List: []*protocol.DepartmentStatistics{ |
44 | // {ChanceApprovingTotal: 10}, | 48 | // {ChanceApprovingTotal: 10}, |
@@ -49,6 +53,7 @@ func TestSortDepartmentStastics(t *testing.T) { | @@ -49,6 +53,7 @@ func TestSortDepartmentStastics(t *testing.T) { | ||
49 | // {ChanceApprovingTotal: 50}, | 53 | // {ChanceApprovingTotal: 50}, |
50 | //}, | 54 | //}, |
51 | } | 55 | } |
52 | - sort.Sort(s) | 56 | + sort.Stable(s) |
57 | + sort.Stable(sort.Reverse(s)) | ||
53 | t.Log(common.AssertJson(s)) | 58 | t.Log(common.AssertJson(s)) |
54 | } | 59 | } |
-
请 注册 或 登录 后发表评论