yuanrf před 4 měsíci
rodič
revize
c8d698fb15

+ 85 - 2
OASystem/OASystem.Api/Controllers/PersonnelModuleController.cs

@@ -2107,8 +2107,9 @@ OPTION (MAXRECURSION 0); -- 允许无限递归      ";
 
             var List = _sqlSugar.Queryable<Per_AssessmentSetting>()
                         .LeftJoin<Per_AssessmentContentSetting>((a, b) => a.Id == b.AssessmentSettingId && b.IsDel == 0)
+                        .LeftJoin<Per_AssessmentScore>((a, b,c) => b.Id == c.AssessmentContentSettingId && c.IsDel == 0)
                         .Where((a, b) => a.IsDel == 0 && ids.Contains(a.Id))
-                        .Select((a, b) => new TreeNode
+                        .Select((a, b, c) => new TreeNode
                         {
                             Id = a.Id,
                             Name = a.Name,
@@ -2121,7 +2122,15 @@ OPTION (MAXRECURSION 0); -- 允许无限递归      ";
                             AssessmentSettingId = b.AssessmentSettingId,
                             Fixed = b.Fixed,
                             TargetValue = b.TargetValue,
-                            AssessmentProportion_Percentage = a.AssessmentProportion * 100
+                            AssessmentProportion_Percentage = a.AssessmentProportion * 100,
+                            HigherUpAssessment = c.HigherUpAssessment,
+                            HigherUpConfig = c.HigherUpConfig,
+                            HigherUpUserId = c.HigherUpUserId,
+                            Score = c.Score,
+                            ScoreTotal = c.ScoreTotal,
+                            SelfAssessment = c.SelfAssessment,
+                            Status = c.Status,
+                            YearMonth = c.YearMonth,
                         })
                         .ToList();
 
@@ -2147,6 +2156,80 @@ OPTION (MAXRECURSION 0); -- 允许无限递归      ";
             return parent;
         }
 
+        [HttpPost]
+        public async Task<IActionResult> AssessmentSettingOperationAsync(PerAssessmentSettingOperationDto dto)
+        {
+            var jw = JsonView(false);
+            try
+            {
+                var entity = new Per_AssessmentSetting
+                {
+                    Name = dto.Name,
+                    AssessmentProportion = dto.AssessmentProportion,
+                    AssessmentStandard = dto.AssessmentStandard,
+                    ParentId = dto.ParentId,
+                    Id = dto.Id,
+                    Remark = dto.Remark,
+                };
+
+                jw.Code = 200;
+                jw.Data = "";
+                if (dto.Id == 0)
+                {
+                    entity.CreateUserId = dto.CreateId;
+                    entity.CreateTime = DateTime.Now;
+                    await _sqlSugar.Insertable(entity).ExecuteCommandAsync();
+                    jw.Msg = "添加成功!";
+                }
+                else
+                {
+                    await _sqlSugar.Updateable(entity).ExecuteCommandAsync();
+                    jw.Msg = "修改成功!";
+                }
+            }
+            catch (Exception ex)
+            {
+               jw.Msg = "Api error " + ex.Message;
+               jw.Code = 400;
+               jw.Data = "";
+            }
+
+            return Ok(jw);
+        }
+
+        [HttpPost]
+        public async Task<IActionResult> QueryAssessmentSettingListOffsetAsync(QueryAssessmentSettingListOffsetAsyncDto dto)
+        {
+            var jw = JsonView(false);
+
+            RefAsync<int> total = 0;//REF和OUT不支持异步,想要真的异步这是最优解
+            var entities = await _sqlSugar.Queryable<Per_AssessmentSetting>()
+                                 .WhereIF(!string.IsNullOrEmpty(dto.SearchValue), e => e.Name.Contains(dto.SearchValue))       
+                                 .ToPageListAsync(dto.pageIndex, dto.pageSize, total);
+           
+            var DtoResult = entities.Select(e => new
+            {
+                Name = e.Name,
+                AssessmentProportion = e.AssessmentProportion,
+                AssessmentStandard = e.AssessmentStandard,
+                ParentId = e.ParentId,
+                Remark = e.Remark
+            }).ToList();
+
+            jw.Data = new
+            {
+                total = total.Value,
+                dto.pageIndex,
+                dto.pageSize,
+                List = DtoResult
+            };
+
+            jw.Code = 200;
+            jw.Msg = "查询成功!";
+
+            return Ok(jw);
+        }
+
         #endregion
     }
 }

+ 13 - 1
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -1487,8 +1487,20 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
 
                 #endregion
 
+                var ExcludedKeyStr = new string[] { "快递费" };
+                var ClientKeyStr = new string[] { "邀请函翻译" };
+                var expable = Expressionable.Create<Res_InvitationOfficialActivityData>();
+                foreach (var key in ClientKeyStr)
+                {
+                    expable = expable.And(it => !it.Contact.Contains(key));
+                }
+                foreach (var item in ExcludedKeyStr)
+                {
+                    expable = expable.And(it => !it.UnitName.Contains(item));
+                }
+
                 List<Grp_DelegationInfo> _DelegationInfos = _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0).OrderByDescending(it => it.JietuanTime).ToList();
-                List<Res_InvitationOfficialActivityData> _ioaDatas = _sqlSugar.Queryable<Res_InvitationOfficialActivityData>().Where(it => it.IsDel == 0).ToList();
+                List<Res_InvitationOfficialActivityData> _ioaDatas = _sqlSugar.Queryable<Res_InvitationOfficialActivityData>().Where(it => it.IsDel == 0).Where(expable.ToExpression()).ToList();
                 List<Sys_Users> _Users = _sqlSugar.Queryable<Sys_Users>().Where(it => it.IsDel == 0).ToList();
 
                 var _countryData = _ioaDatas.Select(it => it.Country).Distinct().ToList(); _countryData.Remove("");

+ 71 - 0
OASystem/OASystem.Domain/Dtos/PersonnelModule/TreeNode.cs

@@ -58,5 +58,76 @@ namespace OASystem.Domain.Dtos.PersonnelModule
         public List<TreeNode> Children { get; set; }
 
         public decimal AssessmentProportion_Percentage { get; set; }
+
+
+
+        /// <summary>
+        /// 年月份
+        /// </summary>
+        public DateTime YearMonth { get; set; }
+
+
+        /// <summary>
+        /// 达成情况
+        /// </summary>
+        public int Status { get; set; }
+
+        /// <summary>
+        /// 自评
+        /// </summary>
+        public decimal SelfAssessment { get; set; }
+
+        /// <summary>
+        /// 上级评分
+        /// </summary>
+        public decimal HigherUpAssessment { get; set; }
+
+        /// <summary>
+        /// 该项得分
+        /// </summary>
+        public decimal Score { get; set; }
+
+        /// <summary>
+        /// 绩效分
+        /// </summary>
+        public decimal ScoreTotal { get; set; }
+
+        /// <summary>
+        /// 上级确认
+        /// </summary>
+        public int HigherUpConfig { get; set; }
+
+        /// <summary>
+        /// 上级员工id
+        /// </summary>
+        public int HigherUpUserId { get; set; }
+
+        /// <summary>
+        /// 详细信息
+        /// </summary>
+        //public string Details { get; set; }
+
+    }
+
+    public class PerAssessmentSettingOperationDto
+    {
+        public string Name { get; set; }
+        public decimal AssessmentProportion { get; set; }
+        public string AssessmentStandard { get; set; }
+        public int ParentId { get; set; }
+        public int Id { get; set; }
+
+        public int CreateId { get; set; }
+
+        public string Remark { get; set; }
+    }
+
+    public class QueryAssessmentSettingListOffsetAsyncDto 
+    {
+        public  int pageIndex { get; set; }
+        
+        public int pageSize { get; set; }
+
+        public string SearchValue { get; set; }
     }
 }