作者 庄敏学

合并分支 'test' 到 'master'

Test



查看合并请求 !9
不能预览此文件类型
@@ -396,10 +396,13 @@ func (rs *EvaluationProjectService) List(in *command.QueryProjectCommand) (inter @@ -396,10 +396,13 @@ func (rs *EvaluationProjectService) List(in *command.QueryProjectCommand) (inter
396 pmpUserIds = append(pmpUserIds, userId) 396 pmpUserIds = append(pmpUserIds, userId)
397 } 397 }
398 398
399 - // 当前时间超过截至时间显示【已结束】  
400 - if now > project.EndTime.Unix() {  
401 - project.State = domain.ProjectStateDisable 399 + // 如果是已启用状态时,当前时间超过截至时间显示【已结束】
  400 + if project.State == domain.ProjectStateEnable {
  401 + if now > project.EndTime.Unix() {
  402 + project.State = domain.ProjectStateDisable
  403 + }
402 } 404 }
  405 +
403 } 406 }
404 407
405 if len(pmpUserIds) > 0 { 408 if len(pmpUserIds) > 0 {
@@ -2,7 +2,9 @@ package command @@ -2,7 +2,9 @@ package command
2 2
3 //保存员工填写评估内容 3 //保存员工填写评估内容
4 type SaveAssessInfoCommand struct { 4 type SaveAssessInfoCommand struct {
5 - AssessId int `json:"assessId"` 5 + AssessId int `json:"assessId"` //
  6 + ExecutorId int `json:"executorId"` //填写人的id
  7 + CompanyId int `json:"companyId"` //公司id
6 AssessContent []AssesssContent `json:"assessContent"` 8 AssessContent []AssesssContent `json:"assessContent"`
7 } 9 }
8 10
@@ -208,10 +208,7 @@ func (srv StaffAssessServeice) AssessTaskDesc(param *query.AssessTaskDescQuery) @@ -208,10 +208,7 @@ func (srv StaffAssessServeice) AssessTaskDesc(param *query.AssessTaskDescQuery)
208 } 208 }
209 } 209 }
210 } 210 }
211 - //未参与的,不算在个人的评估环节里  
212 - if stepItem.Status != "" {  
213 - result.StepList = append(result.StepList, stepItem)  
214 - } 211 + result.StepList = append(result.StepList, stepItem)
215 } 212 }
216 if err := transactionContext.CommitTransaction(); err != nil { 213 if err := transactionContext.CommitTransaction(); err != nil {
217 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 214 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
@@ -1299,7 +1296,7 @@ func (srv StaffAssessServeice) ListExecutorInviteAssess(param *query.ListInviteU @@ -1299,7 +1296,7 @@ func (srv StaffAssessServeice) ListExecutorInviteAssess(param *query.ListInviteU
1299 1296
1300 switch v.Types { 1297 switch v.Types {
1301 case domain.AssessInviteDiffSuper: 1298 case domain.AssessInviteDiffSuper:
1302 - m["typs"] = "不同上级同事" 1299 + m["types"] = "不同上级同事"
1303 case domain.AssessInviteSameSuper: 1300 case domain.AssessInviteSameSuper:
1304 m["types"] = "相同上级同事" 1301 m["types"] = "相同上级同事"
1305 } 1302 }
@@ -1598,6 +1595,12 @@ func (srv *StaffAssessServeice) getStaffDescrip(transactionContext application.T @@ -1598,6 +1595,12 @@ func (srv *StaffAssessServeice) getStaffDescrip(transactionContext application.T
1598 departmentRepo := factory.CreateDepartmentRepository(map[string]interface{}{ 1595 departmentRepo := factory.CreateDepartmentRepository(map[string]interface{}{
1599 "transactionContext": transactionContext, 1596 "transactionContext": transactionContext,
1600 }) 1597 })
  1598 + // //查找员工的部门
  1599 + // var departmentList []*domain.Department
  1600 + // if len(userData.DepartmentId) > 0 {
  1601 +
  1602 + // }
  1603 +
1601 var supperUserList []*domain.User 1604 var supperUserList []*domain.User
1602 if len(userData.DepartmentId) > 0 { 1605 if len(userData.DepartmentId) > 0 {
1603 _, departmentList, err := departmentRepo.Find(map[string]interface{}{ 1606 _, departmentList, err := departmentRepo.Find(map[string]interface{}{
@@ -1659,7 +1662,13 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma @@ -1659,7 +1662,13 @@ func (srv StaffAssessServeice) SaveAssessInfo(param *command.SaveAssessInfoComma
1659 if endTimeInt < time.Now().Unix() { 1662 if endTimeInt < time.Now().Unix() {
1660 return nil, application.ThrowError(application.BUSINESS_ERROR, "当前环节已过截止时间,提交后无法修改内容") 1663 return nil, application.ThrowError(application.BUSINESS_ERROR, "当前环节已过截止时间,提交后无法修改内容")
1661 } 1664 }
1662 - 1665 + //检查执行人
  1666 + if assessData.CompanyId != param.CompanyId {
  1667 + return nil, application.ThrowError(application.BUSINESS_ERROR, "当前用户不是评估的执行人")
  1668 + }
  1669 + if assessData.Executor.UserId != param.ExecutorId {
  1670 + return nil, application.ThrowError(application.BUSINESS_ERROR, "当前用户不是评估的执行人")
  1671 + }
1663 assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{ 1672 assessContentRepo := factory.CreateStaffAssessContentRepository(map[string]interface{}{
1664 "transactionContext": transactionContext, 1673 "transactionContext": transactionContext,
1665 }) 1674 })
@@ -1763,3 +1772,78 @@ func (srv StaffAssessServeice) ListTargetUserAssess(param *query.ListTargetUserA @@ -1763,3 +1772,78 @@ func (srv StaffAssessServeice) ListTargetUserAssess(param *query.ListTargetUserA
1763 1772
1764 return tool_funs.SimpleWrapGridMap(int64(cnt), assessList), nil 1773 return tool_funs.SimpleWrapGridMap(int64(cnt), assessList), nil
1765 } 1774 }
  1775 +
  1776 +//获取员工的上级是谁 ,TODO
  1777 +func (srv StaffAssessServeice) getStaffSuper(transactionContext application.TransactionContext, targetUser domain.User) ([]domain.User, error) {
  1778 + departmentRepo := factory.CreateDepartmentRepository(map[string]interface{}{
  1779 + "transactionContext": transactionContext,
  1780 + })
  1781 + userRepo := factory.CreateUserRepository(map[string]interface{}{
  1782 + "transactionContext": transactionContext,
  1783 + })
  1784 +
  1785 + var departmemtList []*domain.Department
  1786 + var err error
  1787 + if len(targetUser.DepartmentId) > 0 {
  1788 + _, departmemtList, err = departmentRepo.Find(map[string]interface{}{
  1789 + "ids": targetUser.DepartmentId,
  1790 + })
  1791 + if err != nil {
  1792 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工的部门列表"+err.Error())
  1793 + }
  1794 + }
  1795 + if len(departmemtList) == 0 {
  1796 +
  1797 + }
  1798 + //获取部门管理员
  1799 + var chargeUserIds []int64
  1800 + var targetUserAsManager *domain.Department
  1801 +loop:
  1802 + for _, v := range departmemtList {
  1803 + if len(v.ChargeUserIds) == 0 {
  1804 + continue
  1805 + }
  1806 + //检查员工自身是否是管理员
  1807 + for _, vv := range v.ChargeUserIds {
  1808 + if vv == targetUser.Id {
  1809 + targetUserAsManager = v
  1810 + break loop
  1811 + }
  1812 + }
  1813 + chargeUserIds = append(chargeUserIds, v.ChargeUserIds...)
  1814 + }
  1815 + if targetUserAsManager != nil {
  1816 + //清空原有的管理员
  1817 + chargeUserIds = []int64{}
  1818 + //员工自身是否是管理员,查找父级部门
  1819 + _, parentDepartment, err := departmentRepo.Find(map[string]interface{}{
  1820 + "id": targetUserAsManager.ParentId,
  1821 + })
  1822 + if err != nil {
  1823 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工现在部门的父级"+err.Error())
  1824 + }
  1825 + for _, v := range parentDepartment {
  1826 + chargeUserIds = append(chargeUserIds, v.ChargeUserIds...)
  1827 + }
  1828 + }
  1829 +
  1830 + var chargeUserList []*domain.User
  1831 + if len(chargeUserIds) > 0 {
  1832 + _, chargeUserList, err = userRepo.Find(map[string]interface{}{
  1833 + "ids": chargeUserIds,
  1834 + })
  1835 + if err != nil {
  1836 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取主管员工数据"+err.Error())
  1837 + }
  1838 + }
  1839 + if len(chargeUserList) == 0 {
  1840 + //如果都找不到数据
  1841 +
  1842 + }
  1843 +
  1844 + // _, chargeUserList, err := userRepo.Find(map[string]interface{}{
  1845 + // "ids": chargeUserIds,
  1846 + // })
  1847 +
  1848 + return nil, nil
  1849 +}
@@ -25,8 +25,9 @@ const ( @@ -25,8 +25,9 @@ const (
25 ) 25 )
26 26
27 type EntryItem struct { 27 type EntryItem struct {
28 - Title string `json:"title" comment:"填写标题"`  
29 - HintText string `json:"hintText" comment:"文本内容提示"` 28 + Title string `json:"title" comment:"填写标题"`
  29 + HintText string `json:"hintText" comment:"文本内容提示"`
  30 + Definition string `json:"definition" comment:"定义"`
30 } 31 }
31 32
32 // NodeContent 评估内容 33 // NodeContent 评估内容
@@ -11,6 +11,7 @@ type PerformanceApplicationForm struct { @@ -11,6 +11,7 @@ type PerformanceApplicationForm struct {
11 Weight string //权重 11 Weight string //权重
12 Standard string //标准 12 Standard string //标准
13 Task string //任务、指标 13 Task string //任务、指标
  14 + Definition string //定义
14 } 15 }
15 16
16 type PerformanceDimension struct { 17 type PerformanceDimension struct {
@@ -26,7 +27,8 @@ type PerformanceModule struct { @@ -26,7 +27,8 @@ type PerformanceModule struct {
26 } 27 }
27 28
28 type PerformanceTarget struct { 29 type PerformanceTarget struct {
29 - Task string `json:"task"` 30 + Task string `json:"task"`
  31 + Definition string `json:"definition"`
30 } 32 }
31 33
32 func LoadPerformanceDimensions(rows [][]string) ([]*PerformanceDimension, error) { 34 func LoadPerformanceDimensions(rows [][]string) ([]*PerformanceDimension, error) {
@@ -59,6 +61,10 @@ func LoadPerformanceDimensions(rows [][]string) ([]*PerformanceDimension, error) @@ -59,6 +61,10 @@ func LoadPerformanceDimensions(rows [][]string) ([]*PerformanceDimension, error)
59 taskName = "填写自评反馈" 61 taskName = "填写自评反馈"
60 } 62 }
61 form.Task = taskName 63 form.Task = taskName
  64 + //定义
  65 + if len(item) > 5 {
  66 + form.Definition = strings.TrimSpace(item[5])
  67 + }
62 //权重 68 //权重
63 if len(item) > 6 && item[6] != "" { 69 if len(item) > 6 && item[6] != "" {
64 weightName = item[6] 70 weightName = item[6]
@@ -199,7 +205,7 @@ func getStandard(items []*PerformanceApplicationForm) (string, error) { @@ -199,7 +205,7 @@ func getStandard(items []*PerformanceApplicationForm) (string, error) {
199 func getTasks(items []*PerformanceApplicationForm) ([]*PerformanceTarget, error) { 205 func getTasks(items []*PerformanceApplicationForm) ([]*PerformanceTarget, error) {
200 tasks := make([]*PerformanceTarget, 0) 206 tasks := make([]*PerformanceTarget, 0)
201 for _, item := range items { 207 for _, item := range items {
202 - target := &PerformanceTarget{Task: item.Task} 208 + target := &PerformanceTarget{Task: item.Task, Definition: item.Definition}
203 tasks = append(tasks, target) 209 tasks = append(tasks, target)
204 } 210 }
205 return tasks, nil 211 return tasks, nil
@@ -41,7 +41,10 @@ func (controller *ImportController) Import() { @@ -41,7 +41,10 @@ func (controller *ImportController) Import() {
41 formType := controller.GetString("type") 41 formType := controller.GetString("type")
42 switch formType { 42 switch formType {
43 case "PerformanceDimension": 43 case "PerformanceDimension":
44 - dimensions, _ := domain.LoadPerformanceDimensions(rows) 44 + dimensions, err := domain.LoadPerformanceDimensions(rows)
  45 + if err != nil {
  46 + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error()))
  47 + }
45 list := controller.parseTemplateNodeContent(dimensions) 48 list := controller.parseTemplateNodeContent(dimensions)
46 controller.Response(tool_funs.SimpleWrapGridMap(int64(len(list)), list), nil) 49 controller.Response(tool_funs.SimpleWrapGridMap(int64(len(list)), list), nil)
47 default: 50 default:
@@ -103,8 +106,9 @@ func (controller *ImportController) parseTemplateNodeContent(data []*domain.Perf @@ -103,8 +106,9 @@ func (controller *ImportController) parseTemplateNodeContent(data []*domain.Perf
103 for i3 := range module.Target { 106 for i3 := range module.Target {
104 target := module.Target[i3] 107 target := module.Target[i3]
105 nc.EntryItems = append(nc.EntryItems, &domain.EntryItem{ 108 nc.EntryItems = append(nc.EntryItems, &domain.EntryItem{
106 - Title: target.Task, // 输入型标题  
107 - HintText: "", // 输入项提示文本 109 + Title: target.Task, // 输入型标题
  110 + HintText: "", // 输入项提示文本
  111 + Definition: target.Definition, //定义
108 }) 112 })
109 } 113 }
110 // 没有任何输入项时,默认1个 114 // 没有任何输入项时,默认1个
@@ -237,6 +237,9 @@ func (c *StaffAssessController) SaveAssessInfo() { @@ -237,6 +237,9 @@ func (c *StaffAssessController) SaveAssessInfo() {
237 c.Response(nil, e) 237 c.Response(nil, e)
238 return 238 return
239 } 239 }
  240 + userReq := middlewares.GetUser(c.Ctx)
  241 + paramReq.ExecutorId = int(userReq.UserId)
  242 + paramReq.CompanyId = int(userReq.CompanyId)
240 data, err := srv.SaveAssessInfo(paramReq) 243 data, err := srv.SaveAssessInfo(paramReq)
241 c.Response(data, err) 244 c.Response(data, err)
242 } 245 }