mh_sms/APT.MicroApi/APT.SC.WebApi/Controllers/Api/TLController/TLProjectHightController.cs
2024-01-22 09:17:01 +08:00

83 lines
3.0 KiB
C#

using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums.PF;
using APT.BaseData.Domain.IServices;
using APT.BaseData.Domain.IServices.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.TL;
using APT.MS.Domain.Enums;
using APT.Utility;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
namespace APT.SC.WebApi.Controllers.Api.SC
{
[Route("api/TL/TLProjectHight")]
public class TLProjectHightController : AuthorizeApiController<T_TL_PROJECT_HIGHT>
{
IFMFlowPermitService MFlowPermitService { get; set; }
IFMNotificationTaskService NotificationTaskService { get; set; }
public TLProjectHightController(IFMFlowPermitService mFlowPermitService, IFMNotificationTaskService notificationTaskService)
{
MFlowPermitService = mFlowPermitService;
NotificationTaskService = notificationTaskService;
}
/// <summary>
/// 附件上传
/// 设计文件专家评审意见
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost, Route("FullUpdate")]
public JsonActionResult<bool> FullUpdate([FromBody] T_TL_PROJECT_HIGHT entity)
{
return SafeExecute<bool>(() =>
{
var files = entity.Nav_Files;//附件
entity.Nav_Files = null;
if (entity.USER_ID == Guid.Empty)
{
entity.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
entity.DEPARTMENT_ID = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
}
if (entity.USER_ID != APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value)
{
throw new Exception("只能操作自己提交的记录!");
}
if (entity.STATUS != PFStandardStatus.Draft)
{
if (files == null || !files.Any())
{
throw new Exception("请上传施工记录!");
}
if (!entity.RESULT.HasValue)
{
throw new Exception("请选择施工是否满足规程及安全、健康要求!");
}
if (entity.RESULT.Value == BaseData.Domain.Enums.FMTureOrFalse. && string.IsNullOrEmpty(entity.RESULT_REASON))
{
throw new Exception("请填写不合格描述!");
}
}
entity.Nav_Tailing = null;
this.UnifiedCommit(() =>
{
if (entity != null)
UpdateEntityNoCommit(entity);
if (files != null && files.Any())//附件
BantchSaveEntityNoCommit(files);
});
return true;
});
}
}
}