leiy před 1 rokem
rodič
revize
1e30fc8eba

+ 40 - 1
OASystem/OASystem.Api/Controllers/PersonnelModuleController.cs

@@ -1329,7 +1329,6 @@ namespace OASystem.API.Controllers
             }
         }
 
-
         /// <summary>
         /// 任务分配
         /// 任务确认完成
@@ -1370,6 +1369,46 @@ namespace OASystem.API.Controllers
             }
         }
 
+        /// <summary>
+        /// 任务分配
+        /// 任务评分
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostTaskAllocationScore(TaskAllocationScoreDto _dto)
+        {
+            try
+            {
+                #region  参数验证
+                if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
+                if (_dto.PageId < 1) _dto.PageId = 172; //任务指派Id
+
+                PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
+
+                #region 页面操作权限验证
+                pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
+
+                if (pageFunAuthView.EditAuth == 0) return Ok(JsonView(false, "您没有编辑权限!"));
+
+                #endregion
+
+                #endregion
+
+                var _view = await _taskAllocationRep._TaskScore(_dto);
+                if (_view.Code == 0)
+                {
+                    return Ok(JsonView(true, "操作成功!"));
+                }
+
+                return Ok(JsonView(false, _view.Msg));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, ex.Message));
+            }
+        }
+
         #endregion
     }
 }

+ 6 - 6
OASystem/OASystem.Domain/Dtos/PersonnelModule/TaskAllocationDto.cs

@@ -180,16 +180,16 @@ namespace OASystem.Domain.Dtos.PersonnelModule
         /// </summary>
         public int Id { get; set; }
 
-        public List<ScoreInfo> ScoreInfos { get; set; }
+        public int SubId { get; set; }
+
+        public int Score { get; set; }
+
+        public string ScoreRemark { get; set; }
 
     }
 
     public class ScoreInfo
     {
-        public int Id { get; set; }
-
-        public int Score { get; set; }
-
-        public string ScoreRemark { get; set; }
+        
     }
 }

+ 1 - 1
OASystem/OASystem.Domain/Entities/PersonnelModule/Pm_TaskRelevanceUser.cs

@@ -55,7 +55,7 @@ namespace OASystem.Domain.Entities.PersonnelModule
 
         /// <summary>
         /// 评分 
-        /// 1 优秀(9-10) 2 良好(7-9) 3 一般(5-6) 4 不合格(0-5)
+        /// 0 未评分 1 不合格(0-5)  2  一般(5-6)  3 良好(7-9) 4 优秀(9-10)
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int Score { get; set; } = 0;

+ 17 - 20
OASystem/OASystem.Infrastructure/Repositories/PersonnelModule/TaskAllocationRepository.cs

@@ -483,10 +483,12 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                 _result.Msg = string.Format("请传入有效的Id参数!");
                 return _result;
             }
-
+            //时间限制
+            //状态限制
             _sqlSugar.BeginTran();
             var update1 = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
                                          .SetColumns(it => it.TaskStatus == TaskerEnum.UnderWay)
+                                         .SetColumns(it => it.BeginTime == DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
                                          .Where(it => it.TAId == id)
                                          .Where(it => it.UserId == userId )
                                          .ExecuteCommandAsync();
@@ -529,9 +531,13 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                 return _result;
             }
 
+            //时间限制
+            //状态限制
+
             _sqlSugar.BeginTran();
             var update1 = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>()
                                          .SetColumns(it => it.TaskStatus == TaskerEnum.WaitConfirm)
+                                         .SetColumns(it => it.OverTime == DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
                                          .Where(it => it.TAId == id)
                                          .Where(it => it.UserId == userId)
                                          .ExecuteCommandAsync();
@@ -649,8 +655,10 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task<Result> _TaskScore(int portType, int id, List<ScoreInfo> subIds)
+        public async Task<Result> _TaskScore(TaskAllocationScoreDto dto)
         {
+            int portType = dto.PortType;
+            int id = dto.Id;
             if (portType == 1 || portType == 2 || portType == 3)
             {
                 if (id < 1)
@@ -659,12 +667,6 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                     return _result;
                 }
 
-                if (subIds.Count < 1)
-                {
-                    _result.Msg = string.Format("请传入有效的SubIds参数!");
-                    return _result;
-                }
-
                 var data = await _sqlSugar.Queryable<Pm_TaskAllocation>()
                                           .Where(it => it.IsDel == 0 && it.Id == id && it.IsComplete == 1)
                                           .FirstAsync();
@@ -674,18 +676,14 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                     return _result;
                 }
 
-                List<Pm_TaskRelevanceUser> _TaskRelevanceUsers = new List<Pm_TaskRelevanceUser>();
-                foreach (var item in subIds)
-                {
-                    _TaskRelevanceUsers.Add(new Pm_TaskRelevanceUser()
-                    {
-                        Id = item.Id,
-                        Score = item.Score,
-                        Remark = item.ScoreRemark
-                    });
-                }
+                Pm_TaskRelevanceUser _TaskRelevanceUser = new Pm_TaskRelevanceUser() {
+                    Id = dto.Id,
+                    Score = dto.Score,
+                    Remark = dto.ScoreRemark
 
-                var update = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>(_TaskRelevanceUsers)
+                };
+
+                var update = await _sqlSugar.Updateable<Pm_TaskRelevanceUser>(_TaskRelevanceUser)
                                             .UpdateColumns(it => new { it.Score, it.Remark })
                                             .WhereColumns(it => it.Id)
                                             .ExecuteCommandAsync();
@@ -696,7 +694,6 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                 }
                 else _result.Msg = "评分失败!";
 
-
             }
             else
             {