|
@@ -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>
|