mh_sms/APT.MicroApi/APT.SC.WebApi/Controllers/Api/OGController/13OGPolicyDocumentDetail.cs

106 lines
4.3 KiB
C#
Raw Normal View History

2024-01-22 09:17:01 +08:00
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<T_OG_POLICY_DOCUMENT>
{
[HttpPost, Route("FullUpdate")]
public JsonActionResult<bool> 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_OG_POLICY_DOCUMENT>(t => t.APPOINT_TYPE == entity.APPOINT_TYPE);
if (isHave != null)
{
entity.ID = isHave.ID;
entity.VERSION = isHave.VERSION + 1;
var oldDetail = GetEntities<T_OG_POLICY_DOCUMENT_DETAIL>(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;
});
}
/// <summary>
/// 排序分页查询数据
/// </summary>
/// <param name="pageFilter">分页过滤实体</param>
/// <returns></returns>
[HttpPost, Route("FullOrderPaged")]
public PagedActionResult<T_OG_POLICY_DOCUMENT_DETAIL> FullOrderPaged([FromBody] KeywordPageFilter pageFilter)
{
var modify = pageFilter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID");
modify.Field = "POLICY_DOCUMENT_ID";
PagedActionResult<T_OG_POLICY_DOCUMENT_DETAIL> result = this.GetOrderPageEntities<T_OG_POLICY_DOCUMENT_DETAIL>(null, pageFilter);
return result;
}
}
}