87 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
namespace APT.PF.WebApi.Controllers.Api
 | 
						|
{
 | 
						|
    using APT.Infrastructure.Core;
 | 
						|
    using Microsoft.AspNetCore.Mvc;
 | 
						|
    using System.Collections.Generic;
 | 
						|
    using APT.Utility;
 | 
						|
    using APT.Infrastructure.Api;
 | 
						|
    using APT.BaseData.Domain.ApiModel.PF;
 | 
						|
    using APT.BaseData.Domain.Entities;
 | 
						|
    using System.Linq;
 | 
						|
    using System;
 | 
						|
    using APT.MS.Domain.Entities.PF;
 | 
						|
 | 
						|
    [Route("api/PF/PFApproveTemp")]
 | 
						|
    public partial class ApproveTempController : AuthorizeApiController<T_PF_APPROVE_TEMP>
 | 
						|
    {
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 更新或新增数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="entity">对象实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("FullUpdate")]
 | 
						|
        public JsonActionResult<bool> FullUpdate([FromBody] T_PF_APPROVE_TEMP entity)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                var detail = entity.Nav_ApproveTempDetails;
 | 
						|
                entity.Nav_ApproveTempDetails = null;
 | 
						|
                if (detail != null && detail.Any())
 | 
						|
                { 
 | 
						|
                    var first = detail.Where(m=> !m.IS_DELETED).OrderByDescending(t=>t.NUM).FirstOrDefault();
 | 
						|
                    if (first != null)
 | 
						|
                    {
 | 
						|
                        var roleName = this.GetEntity<T_PF_APPROVAL_ROLE>(t => t.ID == first.APPROVE_ROLE_ID);
 | 
						|
                        entity.APPROVE_ROLE_NAME = roleName?.NAME;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    this.UpdateEntityNoCommit(entity);
 | 
						|
                    if (detail != null)
 | 
						|
                        this.BantchSaveEntityNoCommit(detail);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 审批模板下拉带出明细数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("GetDetail")]
 | 
						|
        public JsonActionResult<T_PF_APPROVE> GetDetail([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute(() =>
 | 
						|
            {
 | 
						|
                T_PF_APPROVE main = new T_PF_APPROVE();
 | 
						|
                List<T_PF_APPROVE_DETAIL> detailList = new List<T_PF_APPROVE_DETAIL>();
 | 
						|
                //传入的识别表CODE不为空
 | 
						|
                if (!string.IsNullOrEmpty(filter.Keyword))
 | 
						|
                {
 | 
						|
                    var approveTemp = GetEntity<T_PF_APPROVE_TEMP>(t => t.ID.ToString() == filter.Keyword, false, "Nav_ApproveTempDetails", "Nav_ApproveTempDetails.Nav_DefaultApproveUser");
 | 
						|
                    if (approveTemp != null && approveTemp.Nav_ApproveTempDetails != null && approveTemp.Nav_ApproveTempDetails.Any())
 | 
						|
                    {
 | 
						|
                        //一般任务
 | 
						|
                        approveTemp.Nav_ApproveTempDetails.ForEach(t =>
 | 
						|
                        {
 | 
						|
                            T_PF_APPROVE_DETAIL detail = new T_PF_APPROVE_DETAIL();
 | 
						|
                            detail.NUM = t.NUM;
 | 
						|
                            detail.NAME = t.NAME;
 | 
						|
                            detail.APPROVE_USER_ID = (Guid)t.DEFAULT_APPROVE_USER_ID;
 | 
						|
                            detail.Nav_ApproveUser = t.Nav_DefaultApproveUser;
 | 
						|
                            detail.IS_ALLOW_UPDATE = t.IS_ALLOW_UPDATE;
 | 
						|
                            detailList.Add(detail);
 | 
						|
                        });
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                main.Nav_ApproveDetails = detailList;
 | 
						|
                return main;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
    }
 | 
						|
}
 |