using APT.BaseData.Domain.Entities.FM; using APT.BaseData.Domain.Enums; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.OG; using APT.MS.Domain.Entities.SC.SC; using APT.MS.Domain.Enums; using APT.Utility; using Microsoft.AspNetCore.Mvc; using NPOI.SS.Formula.Functions; using System; using System.Collections.Generic; using System.Linq; namespace APT.SC.WebApi.Controllers.Api.OG { [Route("api/OG/OGPolicyDocument")] public class OGPolicyDocumentController : AuthorizeApiController { [HttpPost, Route("FullUpdate")] public JsonActionResult FullUpdate([FromBody] T_OG_POLICY_DOCUMENT entity) { return SafeExecute(() => { var newditailID = Guid.NewGuid(); var Nav_Files = entity.Nav_Files; var Nav_AppointUsers = entity.Nav_AppointUsers; Nav_Files.ForEach(t => { t.POLICY_DOCUMENT_DETAIL_ID = newditailID; }); Nav_AppointUsers.ForEach(t => { t.POLICY_DOCUMENT_DETAIL_ID = newditailID; t.Nav_User = null; }); var isHave = GetEntity(t => t.APPOINT_TYPE == entity.APPOINT_TYPE); if (isHave != null) { entity.ID = isHave.ID; entity.VERSION = isHave.VERSION + 1; var oldDetail = GetEntities(t => t.POLICY_DOCUMENT_ID == isHave.ID&&t.STATUS== HMOperationStepEnum.有效, new BaseFilter(entity.ORG_ID)); foreach (var item in oldDetail) { item.STATUS = HMOperationStepEnum.作废; } BantchUpdateEntity(oldDetail); } if (entity.USER_ID == Guid.Empty) { entity.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value; } if (entity.CODE == null) { entity.CODE = "RM" + DateTime.Now.ToString("yyyyMMddHHmmss"); } T_OG_POLICY_DOCUMENT_DETAIL newDetail = new T_OG_POLICY_DOCUMENT_DETAIL { ID = newditailID, POLICY_DOCUMENT_ID = entity.ID, CODE = entity.CODE, NAME = entity.NAME, APPOINT_TYPE = entity.APPOINT_TYPE, VERSION = entity.VERSION, DEPARTMENT_ID = entity.DEPARTMENT_ID, APPOINT_AGREEUSER_ID = entity.APPOINT_AGREEUSER_ID, PUBLISH_TIME = entity.PUBLISH_TIME, APPOINT_EFFECT_TIME = entity.APPOINT_EFFECT_TIME, APPOINT_REASON = entity.APPOINT_REASON, USER_ID = entity.USER_ID, ORG_ID = entity.ORG_ID }; entity.Nav_Files = null; entity.Nav_AppointUsers = null; UnifiedCommit(() => { UpdateEntityNoCommit(entity); if (newDetail != null) AddEntityNoCommit(newDetail); if (Nav_Files != null && Nav_Files.Any()) BantchSaveEntityNoCommit(Nav_Files); if (Nav_AppointUsers != null && Nav_AppointUsers.Any()) BantchSaveEntityNoCommit(Nav_AppointUsers); }); return true; }); } /// /// 排序分页查询数据 /// /// 分页过滤实体 /// [HttpPost, Route("FullOrderPaged")] public PagedActionResult FullOrderPaged([FromBody] KeywordPageFilter pageFilter) { var modify = pageFilter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID"); modify.Field = "POLICY_DOCUMENT_ID"; PagedActionResult result = this.GetOrderPageEntities(null, pageFilter); return result; } } }