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 { 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; } /// /// 安全生产费用使用 修改 /// /// /// [HttpPost, Route("FullUpdate")] public JsonActionResult FullUpdate([FromBody] T_TI_PROJECT_MONEY entity) { return SafeExecute(() => { 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(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 listFiles = new List(); 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; }); } } }