Commit 063afbf9 by wyc

考勤上报加载上月调整,logo和医院名称(appsettings.json)

parent 49b5b0c8
...@@ -21,7 +21,9 @@ public AppController(ILogger<AppController> logger, IConfiguration configuration ...@@ -21,7 +21,9 @@ public AppController(ILogger<AppController> logger, IConfiguration configuration
public ActionResult AppOptions() public ActionResult AppOptions()
{ {
var OpenOAuth = _configuration.GetValue<bool>("AppOptions:OpenOAuth", false); var OpenOAuth = _configuration.GetValue<bool>("AppOptions:OpenOAuth", false);
return Ok(new ApiResponse(ResponseType.OK, "", new { OpenOAuth })); var siteTitle = _configuration.GetValue("AppOptions:SiteTitle", "");
var siteLogo = _configuration.GetValue("AppOptions:SiteLogo", "");
return Ok(new ApiResponse(ResponseType.OK, "", new { OpenOAuth, siteTitle, siteLogo }));
} }
} }
} }
\ No newline at end of file
...@@ -2,13 +2,16 @@ ...@@ -2,13 +2,16 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using AngleSharp.Dom.Events; using AngleSharp.Dom.Events;
using K4os.Hash.xxHash;
using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using Performance.DtoModels; using Performance.DtoModels;
using Performance.EntityModels; using Performance.EntityModels;
using Performance.EntityModels.Entity; using Performance.EntityModels.Entity;
using Performance.Repository; using Performance.Repository;
using Performance.Repository.Repository; using Performance.Repository.Repository;
using static Performance.Services.ExtractExcelService.WriteDataHelper;
namespace Performance.Services namespace Performance.Services
{ {
...@@ -32,6 +35,7 @@ public class CopyService : IAutoInjection ...@@ -32,6 +35,7 @@ public class CopyService : IAutoInjection
private readonly PerforPerAttendanceDeptRepository _perforPerAttendanceDeptRepository; private readonly PerforPerAttendanceDeptRepository _perforPerAttendanceDeptRepository;
private readonly PerforCofDeptDetailRepository _perforCofDeptDetailRepository; private readonly PerforCofDeptDetailRepository _perforCofDeptDetailRepository;
private readonly PerforCofEmpDetailRepository _perforCofEmpDetailRepository; private readonly PerforCofEmpDetailRepository _perforCofEmpDetailRepository;
private readonly PerforPeremployeeRepository _perforPeremployeeRepository;
public CopyService( public CopyService(
ILogger<ConfigService> logger, ILogger<ConfigService> logger,
...@@ -51,7 +55,8 @@ public class CopyService : IAutoInjection ...@@ -51,7 +55,8 @@ public class CopyService : IAutoInjection
PerforPerAssessIssueSchemeRepository perforPerAssessIssueSchemeRepository, PerforPerAssessIssueSchemeRepository perforPerAssessIssueSchemeRepository,
PerforPerAttendanceDeptRepository perforPerAttendanceDeptRepository, PerforPerAttendanceDeptRepository perforPerAttendanceDeptRepository,
PerforCofDeptDetailRepository perforCofDeptDetailRepository, PerforCofDeptDetailRepository perforCofDeptDetailRepository,
PerforCofEmpDetailRepository perforCofEmpDetailRepository PerforCofEmpDetailRepository perforCofEmpDetailRepository,
PerforPeremployeeRepository perforPeremployeeRepository
) )
{ {
_logger = logger; _logger = logger;
...@@ -72,6 +77,7 @@ PerforCofEmpDetailRepository perforCofEmpDetailRepository ...@@ -72,6 +77,7 @@ PerforCofEmpDetailRepository perforCofEmpDetailRepository
_perforPerAttendanceDeptRepository = perforPerAttendanceDeptRepository; _perforPerAttendanceDeptRepository = perforPerAttendanceDeptRepository;
_perforCofDeptDetailRepository = perforCofDeptDetailRepository; _perforCofDeptDetailRepository = perforCofDeptDetailRepository;
_perforCofEmpDetailRepository = perforCofEmpDetailRepository; _perforCofEmpDetailRepository = perforCofEmpDetailRepository;
_perforPeremployeeRepository = perforPeremployeeRepository;
} }
...@@ -322,8 +328,8 @@ public void Copy_AttendanceType(per_allot allot, int prevAllotId) ...@@ -322,8 +328,8 @@ public void Copy_AttendanceType(per_allot allot, int prevAllotId)
var attendanceTypes = _pperAttendanceTypeRepository.GetEntities(g => g.AllotId == prevAllotId || g.AllotId == allot.ID) ?? new List<per_attendance_type>(); var attendanceTypes = _pperAttendanceTypeRepository.GetEntities(g => g.AllotId == prevAllotId || g.AllotId == allot.ID) ?? new List<per_attendance_type>();
//查询上月有没有类型,没有就跳过 //查询上月有没有类型,没有就跳过
var prevAttTypes = attendanceTypes.Where(w => w.AllotId == prevAllotId).ToList(); var prevAttTypes = attendanceTypes.Where(w => w.AllotId == prevAllotId).ToList();
if (prevAttTypes.Any()) if (!prevAttTypes.Any()) return;
{
// 删除当月的考勤类型 // 删除当月的考勤类型
var delAttTypes = attendanceTypes.Where(w => w.AllotId == allot.ID).ToList(); var delAttTypes = attendanceTypes.Where(w => w.AllotId == allot.ID).ToList();
if (delAttTypes.Any()) if (delAttTypes.Any())
...@@ -342,47 +348,49 @@ public void Copy_AttendanceType(per_allot allot, int prevAllotId) ...@@ -342,47 +348,49 @@ public void Copy_AttendanceType(per_allot allot, int prevAllotId)
var successfulType = _pperAttendanceTypeRepository.AddRange(newAttTypes.ToArray()); var successfulType = _pperAttendanceTypeRepository.AddRange(newAttTypes.ToArray());
if (successfulType) if (successfulType)
{ {
var attendanceDepts = _perforPerAttendanceDeptRepository.GetEntities(t => t.AllotId == prevAllotId || t.AllotId == allot.ID) var prevPerEmployee = _perforPeremployeeRepository.GetEntities(g => g.AllotId == prevAllotId);
?? new List<per_attendance_dept>(); if (!prevPerEmployee.Any()) return;
var prevAttDepts = attendanceDepts.Where(w => w.AllotId == prevAllotId).ToList();
if (prevAttDepts.Any())
{
// 删除当月的考勤上报 // 删除当月的考勤上报
var delAttDepts = attendanceDepts.Where(w => w.AllotId == allot.ID).ToList(); var delAttDepts = _perforPerAttendanceDeptRepository.GetEntities(w => w.AllotId == allot.ID).ToList();
if (delAttDepts.Any()) if (delAttDepts.Any())
{ {
_perforPerAttendanceDeptRepository.RemoveRange(delAttDepts.ToArray()); _perforPerAttendanceDeptRepository.RemoveRange(delAttDepts.ToArray());
} }
var newAttDepts = prevAttDepts.Select(t => new per_attendance_dept //查询默认考勤类型
var typeDefault = newAttTypes.Find(f => f.IsDefault == (int)Attendance.Default.默认);
var cofaccounting = _cofaccountingRepository.GetEntities(g => g.AllotId == prevAllotId);
int currentMonth = DateTime.DaysInMonth(allot.Year, allot.Month);
var newAttDepts = prevPerEmployee.Select(t =>
{
var code = cofaccounting
.Where(p => p.UnitType == t.UnitType && p.AccountingUnit == t.AccountingUnit)
.Select(p => p.Code)
.FirstOrDefault() ?? "";
var newDept = new per_attendance_dept
{ {
HospitalId = t.HospitalId, HospitalId = t.HospitalId,
AllotId = allot.ID, AllotId = allot.ID,
PersonnelName = t.PersonnelName, PersonnelName = t.DoctorName,
PersonnelNumber = t.PersonnelNumber, PersonnelNumber = t.PersonnelNumber,
PermanentStaff = t.PermanentStaff, PermanentStaff = t.PermanentStaff ?? 0,
Code = t.Code, Code = code,
UnitType = t.UnitType, UnitType = t.UnitType,
AccountingUnit = t.AccountingUnit, AccountingUnit = t.AccountingUnit,
State = (int)Attendance.Report.未提交 State = (int)Attendance.Report.未提交
}).ToList(); };
//查询默认考勤类型
var typeDefault = newAttTypes.Find(f => f.IsDefault == (int)Attendance.Default.默认); for (int i = 1; i <= currentMonth; i++)
if (typeDefault != null)
{
foreach (var item in newAttDepts)
{
for (int i = 1; i <= 31; i++)
{ {
typeof(per_attendance_dept).GetProperty($"Day{i:d2}")?.SetValue(item, typeDefault.Id); typeof(per_attendance_dept).GetProperty($"Day{i:d2}")?.SetValue(newDept, typeDefault.Id);
}
}
} }
return newDept;
}).ToList();
_perforPerAttendanceDeptRepository.AddRange(newAttDepts.ToArray()); _perforPerAttendanceDeptRepository.AddRange(newAttDepts.ToArray());
} }
} }
}
}
public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyData = false) public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyData = false)
{ {
var flag = delHistotyData; var flag = delHistotyData;
...@@ -421,7 +429,6 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat ...@@ -421,7 +429,6 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat
UpdateTime = dateTimeNow, UpdateTime = dateTimeNow,
}); });
var aCategoryTemp = _perforPerAssessCategoryRepository.AddRange(newaCategorys.ToArray()); var aCategoryTemp = _perforPerAssessCategoryRepository.AddRange(newaCategorys.ToArray());
//if (!aCategoryTemp) throw new PerformanceException("考核分类未继承成功,请检查后在尝试!");
} }
} }
var aCategoryss = _perforPerAssessCategoryRepository.GetEntities(t => t.AllotId == allot.ID); var aCategoryss = _perforPerAssessCategoryRepository.GetEntities(t => t.AllotId == allot.ID);
...@@ -445,7 +452,6 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat ...@@ -445,7 +452,6 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat
}); });
var aSchemeTemp = _perforPerAssessSchemeRepository.AddRange(newaSchemes.ToArray()); var aSchemeTemp = _perforPerAssessSchemeRepository.AddRange(newaSchemes.ToArray());
// if (!aSchemeTemp) throw new PerformanceException("考核方案未继承成功,请检查后在尝试!");
} }
} }
var aSchemes = _perforPerAssessSchemeRepository.GetEntities(t => t.AllotId == allot.ID); var aSchemes = _perforPerAssessSchemeRepository.GetEntities(t => t.AllotId == allot.ID);
...@@ -474,8 +480,6 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat ...@@ -474,8 +480,6 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat
UpdateTime = dateTimeNow, UpdateTime = dateTimeNow,
}); });
var aSchemeItemsTemp = _perforPerAssessSchemeItemsRepository.AddRange(newaSchemeItems.ToArray()); var aSchemeItemsTemp = _perforPerAssessSchemeItemsRepository.AddRange(newaSchemeItems.ToArray());
// if (!aSchemeItemsTemp) throw new PerformanceException("考核方案指标未继承成功,请检查后在尝试!");
} }
} }
var aSchemeItemss = _perforPerAssessSchemeItemsRepository.GetEntities(t => t.AllotId == allot.ID); var aSchemeItemss = _perforPerAssessSchemeItemsRepository.GetEntities(t => t.AllotId == allot.ID);
...@@ -499,7 +503,6 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat ...@@ -499,7 +503,6 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat
UpdateTime = dateTimeNow, UpdateTime = dateTimeNow,
}); });
var aSchemeTargetTemp = _perforPerAssessSchemeTargetRepository.AddRange(newaSchemeTarget.ToArray()); var aSchemeTargetTemp = _perforPerAssessSchemeTargetRepository.AddRange(newaSchemeTarget.ToArray());
// if (!aSchemeTargetTemp) throw new PerformanceException("考核对象未继承成功,请检查后在尝试!");
} }
} }
...@@ -546,7 +549,6 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat ...@@ -546,7 +549,6 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat
AuditRemark = null, AuditRemark = null,
}); });
var aIssueSchemeTemp = _perforPerAssessIssueSchemeRepository.AddRange(newaIssueSchemess.ToArray()); var aIssueSchemeTemp = _perforPerAssessIssueSchemeRepository.AddRange(newaIssueSchemess.ToArray());
// if (!aSchemeItemsTemp) throw new PerformanceException("考核下发未继承成功,请检查后在尝试!");
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment