using APT.Infrastructure.Core;
using APT.BaseData.Domain.Entities.FM;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using APT.Utility;namespace APT.FM.WebApi.Controllers.Api.FM
{
///
/// 自动打印记录
///
[Route("api/FM/AutoPrintRecord")]
public class AutoPrintRecordController : AuthorizeApiController
{
///
/// 查询
///
///
///
[HttpPost, Route("Entities")]
public JsonActionResult> Entities([FromBody]KeywordFilter filter)
{
return WitEntities(null, filter);
}
///
/// 查询
///
///
///
///
[HttpPost, Route("OrderEntities")]
public JsonActionResult> OrderEntities([FromBody]KeywordFilter filter)
{
return WitOrderEntities(null, filter);
}
///
/// 查询
///
///
///
[HttpPost, Route("Paged")]
public PagedActionResult Paged([FromBody]KeywordPageFilter pageFilter)
{
return WitPaged(null, pageFilter);
}
///
/// 查询
///
///
///
[HttpPost, Route("OrderPaged")]
public PagedActionResult OrderPaged([FromBody]KeywordPageFilter pageFilter)
{
return WitOrderPaged(null, pageFilter);
}
///
/// 删除
///
///
///
[HttpGet, Route("Delete")]
public JsonActionResult Delete(string id)
{
return WitDelete(id);
}
///
/// 更新
///
///
///
[HttpPost, Route("Update")]
public JsonActionResult Update([FromBody]T_FM_AUTO_PRINT_RECORD entity)
{
return WitUpdate(entity);
}
///
/// 批量删除
///
///
///
[HttpGet, Route("BatchDelete")]
public JsonActionResult BatchDelete(string ids)
{
return WitBatchDelete(ids);
}
///
/// 获得单条实体数据
///
///
///
[HttpPost, Route("Get")]
public JsonActionResult Get([FromBody] KeywordFilter filter)
{
return WitEntity(null, filter);
}
/// 更新打印状态
///
///
[HttpPost, Route("UpdatePrintStatus")]
public JsonActionResult UpdatePrintStatus([FromBody] KeywordFilter filter)
{
return SafeExecute(() =>
{
if (string.IsNullOrEmpty(filter.Keyword))
throw new Exception("参数为空");
List recordIds = filter.Keyword.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(i=>new Guid(i)).ToList();
if (recordIds == null || !recordIds.Any())
throw new Exception("参数为空");
int printstatus = 1;
if (!string.IsNullOrEmpty(filter.Parameter1))
printstatus = Convert.ToInt32(filter.Parameter1);
var records = this.GetEntities(t => recordIds.Contains(t.ID), new BaseFilter(filter.OrgId)).ToList();
records.ForEach(t => t.PRINT_STATUS = printstatus);
this.BantchUpdateEntity(records);
return true;
});
}
}
}