mh_jy_safe/APT.MicroApi/APT.SC.WebApi/Controllers/Api/OHController/OHHealthExamBatchController.cs

101 lines
3.6 KiB
C#
Raw Permalink Normal View History

2025-08-25 09:56:57 +08:00
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums.PF;
using APT.BaseData.Domain.IServices;
using APT.BaseData.Domain.IServices.AE;
using APT.BaseData.Domain.IServices.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.OH;
using APT.MS.Domain.Entities.TI;
using APT.MS.Domain.Enums;
using APT.Utility;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
namespace APT.SC.WebApi.Controllers.Api.OH
{
[Route("api/OH/OHHealthExamBatch")]
public class OHHealthExamBatchController : AuthorizeApiController<T_OH_HEALTH_EXAM_BATCH>
{
IFMFlowPermitService MFlowPermitService { get; set; }
IPFApproveCallBackService ApproveCallBackService { get; set; }
IAEAccidentEventReportService AccidentEventReportService { get; set; }
public OHHealthExamBatchController(IFMFlowPermitService mFlowPermitService, IPFApproveCallBackService approveCallBackService, IAEAccidentEventReportService accidentEventReportService)
{
MFlowPermitService = mFlowPermitService;
ApproveCallBackService = approveCallBackService;
AccidentEventReportService = accidentEventReportService;
}
/// <summary>
/// 体检周期表 修改
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost, Route("FullUpdate")]
public JsonActionResult<bool> FullUpdate([FromBody] T_OH_HEALTH_EXAM_BATCH entity)
{
return SafeExecute<bool>(() =>
{
var ListDepartment = entity.Nav_ListDepartment;
entity.Nav_ListDepartment = null;
#region
if (string.IsNullOrEmpty(entity.BATCH))
{
throw new Exception("请填写体检批次");
}
if (entity.START_TIME == DateTime.MinValue)
{
throw new Exception("请选择体检开始时间");
}
if (entity.END_TIME == DateTime.MinValue)
{
throw new Exception("请选择体检截止时间");
}
if (entity.START_TIME > entity.END_TIME)
{
throw new Exception("体检开始时间不能大于截止时间");
}
if (string.IsNullOrEmpty(entity.LOCATION))
{
throw new Exception("请填写体检地点");
}
if (!entity.USER_ID.HasValue)
{
throw new Exception("请填写带队人员");
}
if (ListDepartment == null || !ListDepartment.Any())
{
throw new Exception("请选择体检人所在部门!");
}
else
{
foreach (var item in ListDepartment)
{
item.Nav_Department = null;
}
}
#endregion
//entity.START_TIME = entity.START_TIME.Date;
//entity.END_TIME = entity.END_TIME.Date.AddDays(1).AddSeconds(-1);
this.UnifiedCommit(() =>
{
if (entity != null)
UpdateEntityNoCommit(entity); //事故事件上报
if (ListDepartment != null && ListDepartment.Any())
BantchSaveEntityNoCommit(ListDepartment);
});
return true;
});
}
}
}