leiy 1 éve%!(EXTRA string=óta)
szülő
commit
137f6a5f4e

+ 56 - 36
OASystem/OASystem.Api/Controllers/PersonnelModuleController.cs

@@ -6,6 +6,7 @@ using OASystem.Domain.Entities.PersonnelModule;
 using OASystem.Domain.ViewModels.PersonnelModule;
 using OASystem.Domain.ViewModels.QiYeWeChat;
 using OASystem.Infrastructure.Repositories.PersonnelModule;
+using System.Collections.Generic;
 using System.Data;
 using System.Diagnostics;
 using System.Globalization;
@@ -109,66 +110,85 @@ namespace OASystem.API.Controllers
             if (!startDtIsValid) return Ok(JsonView(false, "开始日期格式错误!正确时间格式:yyyy-MM-dd  "));
             if (!endDtIsValid) return Ok(JsonView(false, "结束格式错误!正确时间格式:yyyy-MM-dd  "));
 
-            
-
-            int res = -1;
-
             #region 处理数据
-            Pm_WageIssueWorkingDay pm_WageIssueWorkingDay = new Pm_WageIssueWorkingDay();
-            pm_WageIssueWorkingDay = _mapper.Map<Pm_WageIssueWorkingDay>(dto);
+            Pm_WageIssueWorkingDay pm_WageIssueWorkingDay1 = new Pm_WageIssueWorkingDay();
+            pm_WageIssueWorkingDay1 = _mapper.Map<Pm_WageIssueWorkingDay>(dto);
             List<Sys_Calendar> sys_Calendars = new List<Sys_Calendar>();
             sys_Calendars = _mapper.Map<List<Sys_Calendar>>(dto.CalendarInfos);
-            pm_WageIssueWorkingDay.Workdays = sys_Calendars.Where(it => it.IsWorkDay == true).ToList().Count();
+            pm_WageIssueWorkingDay1.Workdays = sys_Calendars.Where(it => it.IsWorkDay == true).ToList().Count();
             foreach (var item in sys_Calendars)
             {
-                item.Remark = pm_WageIssueWorkingDay.Remark;
-                item.CreateUserId = pm_WageIssueWorkingDay.CreateUserId;
-                item.CreateTime = pm_WageIssueWorkingDay.CreateTime;
+                item.Remark = pm_WageIssueWorkingDay1.Remark;
+                item.CreateUserId = pm_WageIssueWorkingDay1.CreateUserId;
+                item.CreateTime = pm_WageIssueWorkingDay1.CreateTime;
             }
 
             #endregion
 
             var _sqlSugar = _wageSheetRep._sqlSugar;
-            if (dto.Status == 1)
+            _sqlSugar.BeginTran();
+
+
+            try
             {
-                string sql = string.Format("Select * From  Pm_WageIssueWorkingDay Where IsDel = 0 and YearMonth='{0}'",dto.YearMonth);
 
-                var data = await _sqlSugar.SqlQueryable<WageSheetMonthView>(sql).FirstAsync();
-                if (data != null)
+
+
+                //月份表是否存在
+                Pm_WageIssueWorkingDay pm_WageIssueWorkingDay = new Pm_WageIssueWorkingDay()
                 {
-                    return Ok(JsonView(false, dto.YearMonth + "日期数据已存在,请前往修改!"));
-                }
+                    YearMonth = dto.YearMonth,
+                    StartDate = dto.StartDate,
+                    EndDate = dto.EndDate,
+                    Workdays = dto.CalendarInfos.Where(it => it.IsWorkDay == true).ToList().Count()
+                };
 
-                _sqlSugar.BeginTran();
-                int add1 = await _sqlSugar.Insertable< Pm_WageIssueWorkingDay>(pm_WageIssueWorkingDay).ExecuteCommandAsync();
-                if (add1 > 0) res = 0;
-                int add2 = await _sqlSugar.Insertable<Sys_Calendar>(sys_Calendars).ExecuteCommandAsync();
-                if (add2 > 0) res = 0;
-                _sqlSugar.CommitTran();
-            }
-            else if (dto.Status == 1)
-            {
-                _sqlSugar.BeginTran();
+                string sql = string.Format("Select * From Pm_WageIssueWorkingDay Where Isdel = 0 And YearMonth='{0}'", dto.YearMonth);
+                var workdsys = await _sqlSugar.SqlQueryable<Pm_WageIssueWorkingDay>(sql).FirstAsync();
 
+                if (workdsys == null) //添加
+                {
+                    pm_WageIssueWorkingDay.CreateUserId = dto.UserId;
+                    pm_WageIssueWorkingDay.IsDel = 0;
 
-                int upd1 = await _sqlSugar.Updateable< Pm_WageIssueWorkingDay >(pm_WageIssueWorkingDay)
-                    .UpdateColumns(it => new { it.YearMonth,it.StartDate,it.EndDate,it.Workdays,it.DeleteTime })
-                    .ExecuteCommandAsync();
-                if (upd1 > 0) res = 0;
-                int upd2 = await _sqlSugar.Updateable<Sys_Calendar>(sys_Calendars)
+                    int addId = await _sqlSugar.Insertable(pm_WageIssueWorkingDay).ExecuteReturnIdentityAsync();
+                }
+                else //更新
+                {
+                    int updCount = await _sqlSugar.Updateable(pm_WageIssueWorkingDay).IgnoreColumns(z => new { z.CreateUserId, z.CreateTime, z.DeleteUserId, z.DeleteTime, z.IsDel }).ExecuteCommandAsync();
+                }
+
+                List<Sys_Calendar> sys_Calendars_add = new List<Sys_Calendar>();
+                List<Sys_Calendar> sys_Calendars_update = new List<Sys_Calendar>();
+                sys_Calendars_add = sys_Calendars.Where(it => it.Id == 0).ToList();
+                sys_Calendars_update = sys_Calendars.Where(it => it.Id != 0).ToList();
+
+                int add1 = 0;
+                int upd = 0;
+                if (sys_Calendars_add.Count > 0)
+                {
+                    await _sqlSugar.Insertable(sys_Calendars_add).ExecuteReturnIdentityAsync();
+                }
+                if (sys_Calendars_update.Count > 0)
+                {
+                    await _sqlSugar.Updateable<Sys_Calendar>(sys_Calendars)
                     .UpdateColumns(it => new { it.Dt, it.IsWorkDay, it.IsHoliDay, it.HoliDayName })
                     .WhereColumns(it => it.Id)
                     .ExecuteCommandAsync();
-                if (upd2 > 0) res = 0;
+                }
 
                 _sqlSugar.CommitTran();
-            }
-            else return Ok(JsonView(false, "Status 请传入正确的状态码 1 添加 2 修改"));
 
-            if (res == 0) return Ok(JsonView(true, "操作成功!"));
+
+                return Ok(JsonView(true, "操作成功!"));
+            }
+            catch (Exception ex)
+            {
+                _sqlSugar.RollbackTran();
+                return Ok(JsonView(false, ex.Message));
+            }
 
 
-            return Ok(JsonView(false, "操作失败!"));
         }
 
         /// <summary>

+ 2 - 1
OASystem/OASystem.Domain/Dtos/PersonnelModule/WageSheetMonthWorkdaysDto.cs

@@ -17,8 +17,9 @@ namespace OASystem.Domain.Dtos.PersonnelModule
     /// <summary>
     /// 添加 Or 修改
     /// </summary>
-    public class WageSheetMonthWorkdaysAddOrEditDto : OpBaseDto
+    public class WageSheetMonthWorkdaysAddOrEditDto 
     {
+        public int UserId { get; set; }
         /// <summary>
         /// 年月
         /// </summary>