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;
 | 
						|
            });
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |