100 lines
4.0 KiB
C#
100 lines
4.0 KiB
C#
using APT.BaseData.Domain.Entities;
|
|
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.SC;
|
|
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;
|
|
|
|
namespace APT.SC.WebApi.Controllers.Api.SC
|
|
{
|
|
[Route("api/TI/TIProjectMoney")]
|
|
public class TIProjectMoneyController : AuthorizeApiController<T_TI_PROJECT_MONEY>
|
|
{
|
|
IFMFlowPermitService MFlowPermitService { get; set; }
|
|
IPFApproveCallBackService ApproveCallBackService { get; set; }
|
|
IFMNotificationTaskService NotificationTaskService { get; set; }
|
|
public TIProjectMoneyController(IFMFlowPermitService mFlowPermitService, IPFApproveCallBackService approveCallBackService, IFMNotificationTaskService notificationTaskService)
|
|
{
|
|
MFlowPermitService = mFlowPermitService;
|
|
ApproveCallBackService = approveCallBackService;
|
|
NotificationTaskService = notificationTaskService;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 安全生产费用使用 修改
|
|
/// </summary>
|
|
/// <param name="entity"></param>
|
|
/// <returns></returns>
|
|
[HttpPost, Route("FullUpdate")]
|
|
public JsonActionResult<bool> FullUpdate([FromBody] T_TI_PROJECT_MONEY entity)
|
|
{
|
|
return SafeExecute<bool>(() =>
|
|
{
|
|
if (entity.STATUS != PFStandardStatus.Draft && entity.STATUS != PFStandardStatus.Archived)
|
|
{
|
|
throw new Exception("获取操作方式有误!");
|
|
}
|
|
T_TI_PROJECT proj = null;
|
|
T_FM_NOTIFICATION_TASK task = null;
|
|
if (entity.PROJECT_ID == Guid.Empty)
|
|
{
|
|
throw new Exception("请选择项目名称!");
|
|
}
|
|
else
|
|
{
|
|
proj = GetEntity<T_TI_PROJECT>(entity.PROJECT_ID);
|
|
proj.ISMONEY = true;
|
|
|
|
if (entity.STATUS == PFStandardStatus.Archived && entity.TaskID != Guid.Empty)
|
|
{
|
|
task = NotificationTaskService.GetEntityTask(entity.TaskID, "TI016_SHOWPRINT");
|
|
}
|
|
}
|
|
var Details = entity.Nav_Details;
|
|
entity.Nav_Details = null;
|
|
List<T_TI_PROJECT_MONEY_DETAIL_FILE> listFiles = new List<T_TI_PROJECT_MONEY_DETAIL_FILE>();
|
|
if (Details != null && Details.Any())
|
|
{
|
|
foreach (var Detail in Details)
|
|
{
|
|
if (Detail.IS_DELETED)
|
|
continue;
|
|
if (Detail.Nav_Files == null && !Detail.Nav_Files.Any())
|
|
continue;
|
|
foreach (var itemdetail in Detail.Nav_Files)
|
|
{
|
|
itemdetail.DETAIL_ID = Detail.ID;
|
|
itemdetail.ORG_ID = Detail.ORG_ID;
|
|
}
|
|
|
|
listFiles.AddRange(Detail.Nav_Files);
|
|
Detail.Nav_Files = null;
|
|
}
|
|
}
|
|
|
|
this.UnifiedCommit(() =>
|
|
{
|
|
if (entity != null)
|
|
UpdateEntityNoCommit(entity); //保存主表
|
|
if (Details != null && Details.Any())//费用明细
|
|
BantchSaveEntityNoCommit(Details);
|
|
if (listFiles != null && listFiles.Any())//附件
|
|
BantchSaveEntityNoCommit(listFiles);
|
|
if (proj != null)
|
|
UpdateEntityNoCommit(proj);
|
|
if (task != null)//清除待办
|
|
UpdateEntityNoCommit(task);
|
|
});
|
|
|
|
return true;
|
|
});
|
|
}
|
|
}
|
|
} |