Files
tnb.server/QcMgr/Tnb.QcMgr/QcCheckPlanService.cs
2023-06-05 17:41:46 +08:00

78 lines
2.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Aspose.Cells.Drawing;
using JNPF.Common.Core.Manager;
using JNPF.Common.Enums;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.VisualDev;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.QcMgr.Entities;
using Tnb.QcMgr.Entities.Dto;
using Tnb.QcMgr.Interfaces;
namespace Tnb.QcMgr
{
/// <summary>
/// 质检方案模块
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 800)]
[Route("api/[area]/[controller]/[action]")]
public class QcCheckPlanService : IQcCheckPlanService, IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<QcCheckPlanH> _repository;
private readonly IUserManager _userManager;
public QcCheckPlanService(ISqlSugarRepository<QcCheckPlanH> repository, IUserManager userManager)
{
_repository = repository;
_userManager = userManager;
}
/// <summary>
/// 保存质检方案
/// </summary>
/// <param name="CheckPlanInput"></param>
/// <returns></returns>
public async Task SaveData(CheckPlanInput CheckPlanInput)
{
var db = _repository.AsSugarClient();
try
{
QcCheckPlanH QcCheckPlanH = new QcCheckPlanH();
QcCheckPlanH.name = CheckPlanInput.name;
QcCheckPlanH.status = CheckPlanInput.status;
QcCheckPlanH.checktype = CheckPlanInput.checktype;
QcCheckPlanH.numtype = CheckPlanInput.numtype;
QcCheckPlanH.pagetype = CheckPlanInput.pagetype;
QcCheckPlanH.writerule = CheckPlanInput.writerule;
QcCheckPlanH.remind = CheckPlanInput.remind;
QcCheckPlanH.attachment = CheckPlanInput.attachment;
QcCheckPlanH.isaddmul = CheckPlanInput.isaddmul;
QcCheckPlanH.create_time = DateTime.Now;
QcCheckPlanH.create_id = _userManager.UserId;
QcCheckPlanD QcCheckPlanD = new QcCheckPlanD();
QcCheckPlanD.mainid = QcCheckPlanH.id;
QcCheckPlanD.triggertype = CheckPlanInput.triggertype;
QcCheckPlanD.content = CheckPlanInput.content;
await db.Ado.BeginTranAsync();
await db.Insertable(QcCheckPlanH).ExecuteCommandAsync();
await db.Insertable(QcCheckPlanD).ExecuteCommandAsync();
await db.Ado.CommitTranAsync();
}
catch (Exception ex)
{
await db.Ado.RollbackTranAsync();
throw Oops.Oh(ErrorCode.COM1000);
}
}
}
}