Files
tnb.server/EquipMgr/Tnb.EquipMgr/EquSpotInsRecordService.cs
2023-05-17 17:33:19 +08:00

82 lines
3.3 KiB
C#

using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
using JNPF.VisualDev.Interfaces;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar;
using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Interfaces;
namespace Tnb.EquipMgr
{
/// <summary>
/// 点巡检执行管理
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
[Route("api/[area]/[controller]/[action]")]
[OverideVisualDev(ModuleId)]
public class EquSpotInsRecordService : IOverideVisualDevService, IEquSpotInsRecordService, IDynamicApiController, ITransient
{
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
private const string ModuleId = "26123080740885";
private readonly ISqlSugarRepository<EqpSpotInsRecordH> _repository;
private readonly IVisualDevService _visualDevService;
private readonly IRunService _runService;
private readonly IUserManager _userManager;
public EquSpotInsRecordService(ISqlSugarRepository<EqpSpotInsRecordH> repository,
IRunService runService,
IUserManager userManager,
IVisualDevService visualDevService)
{
_repository = repository;
_visualDevService = visualDevService;
_runService = runService;
_userManager = userManager;
OverideFuncs.UpdateAsync = ExecuteSpotIns;
}
public async Task<dynamic> ExecuteSpotIns(string id,[FromBody]VisualDevModelDataUpInput input)
{
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
{
//string attachment = JsonConvert.SerializeObject(input.data["attachment"]);
// _repository.UpdateAsync(x => new EqpSpotInsRecordH()
// {
// result = (int)input.data["result"],
// attachment = attachment,
// result_remark = input.data["result_remark"].ToString(),
// }, x => x.id == input.data["id"]);
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true);
await _runService.Update(id,templateEntity, input);
EqpSpotInsRecordH eqpSpotInsRecordH = _repository.GetSingle(x=>x.id==input.data["id"].ToString());
string status = "";
if (eqpSpotInsRecordH.is_repeat == "1")
{
status = SpotInsRecordExecutionStatus.TOBECHECK;
}
else
{
status = SpotInsRecordExecutionStatus.COMPLETED;
}
_repository.UpdateAsync(x => new EqpSpotInsRecordH()
{
status = status,
spot_record_date_time = DateTime.Now,
spot_record_user_id = _userManager.UserId
}, x => x.id == input.data["id"]);
});
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
return result.IsSuccess ? "执行成功" : result.ErrorMessage;
}
}
}