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