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

84 lines
3.1 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/TLProjectFinish")]
public class TLProjectFinishController : AuthorizeApiController<T_TL_PROJECT_FINISH>
{
IFMFlowPermitService MFlowPermitService { get; set; }
IFMNotificationTaskService NotificationTaskService { get; set; }
public TLProjectFinishController(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_FINISH 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.Archived)
{
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;
});
}
}
}