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 { /// /// 质检方案模块 /// [ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 800)] [Route("api/[area]/[controller]/[action]")] public class QcCheckPlanService : IQcCheckPlanService, IDynamicApiController, ITransient { private readonly ISqlSugarRepository _repository; private readonly IUserManager _userManager; public QcCheckPlanService(ISqlSugarRepository repository, IUserManager userManager) { _repository = repository; _userManager = userManager; } /// /// 保存质检方案 /// /// /// 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); } } } }