From 4c02911d552730665a5ca548a7d9f15c5bfbe398 Mon Sep 17 00:00:00 2001 From: qianjiawei <1184704771@qq.com> Date: Wed, 21 Jun 2023 13:35:51 +0800 Subject: [PATCH] 1 --- QcMgr/Tnb.QcMgr.Entities/Dto/CheckItem.cs | 12 +- QcMgr/Tnb.QcMgr.Entities/Dto/CheckItems.cs | 82 +++++++------- QcMgr/Tnb.QcMgr.Entities/Dto/CheckPlan.cs | 80 ++++++------- QcMgr/Tnb.QcMgr.Entities/Dto/CheckTask.cs | 126 ++++++++++++--------- QcMgr/Tnb.QcMgr.Entities/Dto/Trigger.cs | 14 +-- QcMgr/Tnb.QcMgr/QcCheckItemService.cs | 62 +++++----- QcMgr/Tnb.QcMgr/QcCheckPlanService.cs | 42 ++++--- QcMgr/Tnb.QcMgr/QcCheckTaskService.cs | 47 ++++---- 8 files changed, 250 insertions(+), 215 deletions(-) diff --git a/QcMgr/Tnb.QcMgr.Entities/Dto/CheckItem.cs b/QcMgr/Tnb.QcMgr.Entities/Dto/CheckItem.cs index cab28a3f..7c4c1096 100644 --- a/QcMgr/Tnb.QcMgr.Entities/Dto/CheckItem.cs +++ b/QcMgr/Tnb.QcMgr.Entities/Dto/CheckItem.cs @@ -8,14 +8,14 @@ namespace Tnb.QcMgr.Entities { public class CheckItemOut { - public string checktypeid { get; set; } - public string checktypename { get; set; } - public List items { get; set; } + public string? checktypeid { get; set; } + public string? checktypename { get; set; } + public List? items { get; set; } } public class CheckItem { - public string itemid { get; set; } - public string name { get; set; } - public string code { get; set; } + public string? itemid { get; set; } + public string? name { get; set; } + public string? code { get; set; } } } diff --git a/QcMgr/Tnb.QcMgr.Entities/Dto/CheckItems.cs b/QcMgr/Tnb.QcMgr.Entities/Dto/CheckItems.cs index a4cd4289..8af6d628 100644 --- a/QcMgr/Tnb.QcMgr.Entities/Dto/CheckItems.cs +++ b/QcMgr/Tnb.QcMgr.Entities/Dto/CheckItems.cs @@ -8,54 +8,54 @@ namespace Tnb.QcMgr.Entities.Dto { public class CheckItemsInput { - public string id { get; set; } - public string name { get; set; } - public string status { get; set; } - public List checktypes { get; set; } + public string? id { get; set; } + public string? name { get; set; } + public string? status { get; set; } + public List? checktypes { get; set; } } public class CheckTypeInput { - public string id { get; set; } - public List items { get; set; } + public string? id { get; set; } + public List? items { get; set; } } public class ItemInput { - public string itemid { get; set; } - public string code { get; set; } - public string name { get; set; } - public string itemdid { get; set; } + public string? itemid { get; set; } + public string? code { get; set; } + public string? name { get; set; } + public string? itemdid { get; set; } - public string extype { get; set; } - public string excontent { get; set; } - public string check { get; set; } - public string errorcause { get; set; } - public string errorlevel { get; set; } - public string remark { get; set; } - public string attachment { get; set; } - public string isexec { get; set; } - public string customer { get; set; } + public string? extype { get; set; } + public string? excontent { get; set; } + public string? check { get; set; } + public string? errorcause { get; set; } + public string? errorlevel { get; set; } + public string? remark { get; set; } + public string? attachment { get; set; } + public string? isexec { get; set; } + public string? customer { get; set; } } public class CheckItemsOut { - public string id { get; set; } - public string name { get; set; } - public string status { get; set; } - public List checktypes { get; set; } + public string? id { get; set; } + public string? name { get; set; } + public string? status { get; set; } + public List? checktypes { get; set; } } public class CheckTypeOut { - public string checktypeid { get; set; } - public string checktypename { get; set; } - public List items { get; set; } + public string? checktypeid { get; set; } + public string? checktypename { get; set; } + public List? items { get; set; } } public class ItemOut { - public string itemid { get; set; } - public string code { get; set; } - public string name { get; set; } - public string itemdid { get; set; } - public Show setShow { get; set; } - public Data setData { get; set; } + public string? itemid { get; set; } + public string? code { get; set; } + public string? name { get; set; } + public string? itemdid { get; set; } + public Show? setShow { get; set; } + public Data? setData { get; set; } } public class Show { @@ -70,15 +70,15 @@ namespace Tnb.QcMgr.Entities.Dto public bool isexec { get; set; } } public class Data { - public string extype { get; set; } - public Excontent excontent { get; set; } - public string check { get; set; } - public string[] errorcause { get; set; } - public string[] errorlevel { get; set; } - public string remark { get; set; } - public string attachment { get; set; } - public string customer { get; set; } - public Isexec isexec { get; set; } + public string? extype { get; set; } + public Excontent? excontent { get; set; } + public string? check { get; set; } + public string[]? errorcause { get; set; } + public string[]? errorlevel { get; set; } + public string? remark { get; set; } + public string? attachment { get; set; } + public string? customer { get; set; } + public Isexec? isexec { get; set; } } public class Isexec { diff --git a/QcMgr/Tnb.QcMgr.Entities/Dto/CheckPlan.cs b/QcMgr/Tnb.QcMgr.Entities/Dto/CheckPlan.cs index 154b2e31..e19c59f6 100644 --- a/QcMgr/Tnb.QcMgr.Entities/Dto/CheckPlan.cs +++ b/QcMgr/Tnb.QcMgr.Entities/Dto/CheckPlan.cs @@ -9,55 +9,55 @@ namespace Tnb.QcMgr.Entities { public class CheckPlanInput { - public string mainid { get; set; } - public string addid { get; set; } - public string triggertype { get; set; } - public string content { get; set; } - public List checktypes { get; set; } + public string? mainid { get; set; } + public string? addid { get; set; } + public string? triggertype { get; set; } + public string? content { get; set; } + public List? checktypes { get; set; } } public class CheckPlanTypeInput { - public string id { get; set; } - public List items { get; set; } + public string? id { get; set; } + public List? items { get; set; } } public class PlanItemInput { - public string itemid { get; set; } - public string extype { get; set; } - public string excontent { get; set; } - public string check { get; set; } - public string errorcause { get; set; } - public string errorlevel { get; set; } - public string remark { get; set; } - public string attachment { get; set; } - public string isexec { get; set; } - public string customer { get; set; } + public string? itemid { get; set; } + public string? extype { get; set; } + public string? excontent { get; set; } + public string? check { get; set; } + public string? errorcause { get; set; } + public string? errorlevel { get; set; } + public string? remark { get; set; } + public string? attachment { get; set; } + public string? isexec { get; set; } + public string? customer { get; set; } } public class CheckPlansOut { - public string id { get; set; } + public string? id { get; set; } public bool hasadd { get; set; } public bool hasitem{ get; set; } - public string addid { get; set; } - public string triggertype { get; set; } - public string content { get; set; } - public List checktypes { get; set; } + public string? addid { get; set; } + public string? triggertype { get; set; } + public string? content { get; set; } + public List? checktypes { get; set; } } public class CheckPlanTypeOut { - public string checktypeid { get; set; } - public string checktypename { get; set; } - public List items { get; set; } + public string? checktypeid { get; set; } + public string? checktypename { get; set; } + public List? items { get; set; } } public class PlanItemOut { - public string itemid { get; set; } - public string code { get; set; } - public string name { get; set; } - public string itemdid { get; set; } - public PlanItemShow setShow { get; set; } - public PlanItemData setData { get; set; } + public string? itemid { get; set; } + public string? code { get; set; } + public string? name { get; set; } + public string? itemdid { get; set; } + public PlanItemShow? setShow { get; set; } + public PlanItemData? setData { get; set; } } public class PlanItemShow @@ -74,15 +74,15 @@ namespace Tnb.QcMgr.Entities } public class PlanItemData { - public string extype { get; set; } - public Excontent excontent { get; set; } - public string check { get; set; } - public string[] errorcause { get; set; } - public string[] errorlevel { get; set; } - public string remark { get; set; } - public string attachment { get; set; } - public string customer { get; set; } - public IsexecP isexec { get; set; } + public string? extype { get; set; } + public Excontent? excontent { get; set; } + public string? check { get; set; } + public string[]? errorcause { get; set; } + public string[]? errorlevel { get; set; } + public string? remark { get; set; } + public string? attachment { get; set; } + public string? customer { get; set; } + public IsexecP? isexec { get; set; } } public class IsexecP { diff --git a/QcMgr/Tnb.QcMgr.Entities/Dto/CheckTask.cs b/QcMgr/Tnb.QcMgr.Entities/Dto/CheckTask.cs index a95ad0ac..dff6b0da 100644 --- a/QcMgr/Tnb.QcMgr.Entities/Dto/CheckTask.cs +++ b/QcMgr/Tnb.QcMgr.Entities/Dto/CheckTask.cs @@ -8,28 +8,42 @@ namespace Tnb.QcMgr.Entities.Dto { public class CheckTaskOut { - public string mainid { get; set; } - public string workid { get; set; } - public string workname { get; set; } - public string wareid { get; set; } - public List checktypes { get; set; } + public string? mainid { get; set; } + public string? workid { get; set; } + public string? workname { get; set; } + public string? wareid { get; set; } + public string? status { get; set; } + public List? checktypes { get; set; } } public class CheckExecTypeOut { - public string checktypeid { get; set; } - public string checktypename { get; set; } - public List items { get; set; } + public string? checktypeid { get; set; } + public string? checktypename { get; set; } + public List? items { get; set; } } public class ExecItemOut { - public string itemid { get; set; } - public string code { get; set; } - public string name { get; set; } - public string itemdid { get; set; } - public ExecItemShow setShow { get; set; } - public ExecItemData setData { get; set; } + public string? itemid { get; set; } + public string? code { get; set; } + public string? name { get; set; } + public string? itemdid { get; set; } + public ExecItemShow? setShow { get; set; } + public ExecItemData? setData { get; set; } + public PostItemForm? postItemForm { get; set; } } + public class PostItemForm + { + public string? attachment { get; set; } + public string[]? checkbox { get; set; } + public string? errorcause { get; set; } + public string? errorlevel { get; set; } + public int measuredValue { get; set; } + public string? radio { get; set; } + public string? remark { get; set; } + public string? text { get; set; } + public string? verdict { get; set; } + } public class ExecItemShow { public bool extype { get; set; } @@ -44,37 +58,37 @@ namespace Tnb.QcMgr.Entities.Dto } public class ExecItemData { - public string extype { get; set; } - public Excontent excontent { get; set; } - public string check { get; set; } - public List errorcause { get; set; } - public List errorlevel { get; set; } - public string remark { get; set; } - public string attachment { get; set; } - public string customer { get; set; } - public IsexecE isexec { get; set; } + public string? extype { get; set; } + public Excontent? excontent { get; set; } + public string? check { get; set; } + public List? errorcause { get; set; } + public List? errorlevel { get; set; } + public string? remark { get; set; } + public string? attachment { get; set; } + public string? customer { get; set; } + public IsexecE? isexec { get; set; } } public class Excontent { - public string excontentType { get; set; } - public string excontentNum { get; set; } - public string amongMaxNum { get; set; } - public string amongMinNum { get; set; } - public string amongMinUnit { get; set; } - public string gapValue { get; set; } - public string greaterThanValue { get; set; } - public string lessThanValue { get; set; } - public string excontentText { get; set; } - public List excontentOptions { get; set; } + public string? excontentType { get; set; } + public string? excontentNum { get; set; } + public string? amongMaxNum { get; set; } + public string? amongMinNum { get; set; } + public string? amongMinUnit { get; set; } + public string? gapValue { get; set; } + public string? greaterThanValue { get; set; } + public string? lessThanValue { get; set; } + public string? excontentText { get; set; } + public List? excontentOptions { get; set; } } public class ExcontentOption { - public string value { get; set; } + public string? value { get; set; } } public class Error { - public string id { get; set; } - public string name { get; set; } + public string? id { get; set; } + public string? name { get; set; } } public class IsexecE { @@ -84,34 +98,34 @@ namespace Tnb.QcMgr.Entities.Dto public class CheckTaskInput { - public string mainid { get; set; } - public string checknum { get; set; } - public string status { get; set; } - public string result { get; set; } + public string? mainid { get; set; } + public string? checknum { get; set; } + public string? status { get; set; } + public string? result { get; set; } - public List checktypes { get; set; } + public List? checktypes { get; set; } } public class CheckExexTypeInput { - public string id { get; set; } - public List items { get; set; } + public string? id { get; set; } + public List? items { get; set; } } public class ExecItemInput { - public string itemdid { get; set; } + public string? itemdid { get; set; } - public string itemid { get; set; } - public string extype { get; set; } - public string excontent { get; set; } - public string check { get; set; } - public string errorcause { get; set; } - public string errorlevel { get; set; } - public string remark { get; set; } - public string attachment { get; set; } - public string isexec { get; set; } - public string customer { get; set; } - public string result { get; set; } - public string postItemForm { get; set; } + public string? itemid { get; set; } + public string? extype { get; set; } + public string? excontent { get; set; } + public string? check { get; set; } + public string? errorcause { get; set; } + public string? errorlevel { get; set; } + public string? remark { get; set; } + public string? attachment { get; set; } + public string? isexec { get; set; } + public string? customer { get; set; } + public string? result { get; set; } + public string? postItemForm { get; set; } } } diff --git a/QcMgr/Tnb.QcMgr.Entities/Dto/Trigger.cs b/QcMgr/Tnb.QcMgr.Entities/Dto/Trigger.cs index 00f73cb9..d13358b4 100644 --- a/QcMgr/Tnb.QcMgr.Entities/Dto/Trigger.cs +++ b/QcMgr/Tnb.QcMgr.Entities/Dto/Trigger.cs @@ -9,12 +9,12 @@ namespace Tnb.QcMgr.Entities.Dto { public class TriggerPlan { - public string id { get; set; } - public string name { get; set; } - public string code { get; set; } - public string type { get; set; } - public string cycle { get; set; } - public string[] trievent { get; set; } - public string[] trieventid { get; set; } + public string? id { get; set; } + public string? name { get; set; } + public string? code { get; set; } + public string? type { get; set; } + public string? cycle { get; set; } + public string[]? trievent { get; set; } + public string[]? trieventid { get; set; } } } diff --git a/QcMgr/Tnb.QcMgr/QcCheckItemService.cs b/QcMgr/Tnb.QcMgr/QcCheckItemService.cs index fa8583a3..df3acbe1 100644 --- a/QcMgr/Tnb.QcMgr/QcCheckItemService.cs +++ b/QcMgr/Tnb.QcMgr/QcCheckItemService.cs @@ -93,7 +93,7 @@ namespace Tnb.QcMgr { CheckItemOuts.Add(new CheckItemOut { checktypeid = data.type!, checktypename = data.typename!, items = new List() }); var CheckItemOut = CheckItemOuts.Where(p => p.checktypeid == data.type).First(); - CheckItemOut.items.Add(new CheckItem() { itemid = data.id, name = data.name!, code = data.code! }); + CheckItemOut.items?.Add(new CheckItem() { itemid = data.id, name = data.name!, code = data.code! }); } } return CheckItemOuts; @@ -111,8 +111,8 @@ namespace Tnb.QcMgr var QcCheckItems = await db.Queryable().ToListAsync(); var QcCheckTypes = await db.Queryable().ToListAsync(); var QcCheckItemsH = await db.Queryable().Where(p => p.id == CheckItemsInput.id).FirstAsync(); - List QcCheckItemsRs = null; - List QcCheckItemsDs = null; + List QcCheckItemsRs = new List(); + List QcCheckItemsDs = new List(); if (QcCheckItemsH != null) { QcCheckItemsRs = await db.Queryable().Where(p => p.itemshid == QcCheckItemsH.id).ToListAsync(); @@ -169,7 +169,7 @@ namespace Tnb.QcMgr Item.setShow.attachment = !string.IsNullOrEmpty(Item.setData.attachment); Item.setShow.customer = !string.IsNullOrEmpty(Item.setData.customer); Item.setShow.isexec = Item.setData.isexec == null ? false : true; - CheckItemsOut.checktypes.Where(p => p.checktypeid == QcCheckItemsR.typeid).First().items.Add(Item); + CheckItemsOut.checktypes.Where(p => p.checktypeid == QcCheckItemsR.typeid).First().items?.Add(Item); } } } @@ -189,7 +189,7 @@ namespace Tnb.QcMgr try { if (!string.IsNullOrEmpty(CheckItemsInput.id)) - await Delete(CheckItemsInput.id); + await Delete(CheckItemsInput.id); QcCheckItemsH QcCheckItemsH = new QcCheckItemsH(); QcCheckItemsH.name = CheckItemsInput.name; QcCheckItemsH.status = CheckItemsInput.status; @@ -197,32 +197,38 @@ namespace Tnb.QcMgr QcCheckItemsH.create_id = _userManager.UserId; List QcCheckItemsRs = new List(); List QcCheckItemsDs = new List(); - foreach (var checktype in CheckItemsInput.checktypes) + if (CheckItemsInput.checktypes != null) { - foreach (var item in checktype.items) + foreach (var checktype in CheckItemsInput.checktypes) { - var QcCheckItemsD = new QcCheckItemsD() + if (checktype.items != null) { - extype = item.extype, - excontent = item.excontent, - check = item.check, - errorcause = item.errorcause.Replace("\"","").Trim(), - errorlevel = item.errorlevel.Replace("\"", "").Trim(), - remark = item.remark, - attachment = item.attachment, - isexec = item.isexec, - custom=item.customer - }; - QcCheckItemsDs.Add(QcCheckItemsD); - var QcCheckItemsR = new QcCheckItemsR() - { - itemshid = QcCheckItemsH.id, - typeid = checktype.id, - itemid = item.itemid, - itemsdid = QcCheckItemsD.id - }; + foreach (var item in checktype.items) + { + var QcCheckItemsD = new QcCheckItemsD() + { + extype = item.extype, + excontent = item.excontent, + check = item.check, + errorcause = item.errorcause?.Replace("\"", "").Trim(), + errorlevel = item.errorlevel?.Replace("\"", "").Trim(), + remark = item.remark, + attachment = item.attachment, + isexec = item.isexec, + custom = item.customer + }; + QcCheckItemsDs.Add(QcCheckItemsD); + var QcCheckItemsR = new QcCheckItemsR() + { + itemshid = QcCheckItemsH.id, + typeid = checktype.id, + itemid = item.itemid, + itemsdid = QcCheckItemsD.id + }; - QcCheckItemsRs.Add(QcCheckItemsR); + QcCheckItemsRs.Add(QcCheckItemsR); + } + } } } QcCheckItemsDs.ForEach(p => @@ -237,7 +243,7 @@ namespace Tnb.QcMgr await db.Insertable(QcCheckItemsDs).ExecuteCommandAsync(); await db.Ado.CommitTranAsync(); } - catch (Exception ex) + catch (Exception) { await db.Ado.RollbackTranAsync(); throw Oops.Oh(ErrorCode.COM1000); diff --git a/QcMgr/Tnb.QcMgr/QcCheckPlanService.cs b/QcMgr/Tnb.QcMgr/QcCheckPlanService.cs index 19fd21ad..e3c4f2bb 100644 --- a/QcMgr/Tnb.QcMgr/QcCheckPlanService.cs +++ b/QcMgr/Tnb.QcMgr/QcCheckPlanService.cs @@ -104,7 +104,7 @@ namespace Tnb.QcMgr Item.setShow.attachment = !string.IsNullOrEmpty(Item.setData.attachment); Item.setShow.customer = !string.IsNullOrEmpty(Item.setData.customer); Item.setShow.isexec = Item.setData.isexec == null ? false : true; - CheckPlansOut.checktypes.Where(p => p.checktypeid == QcCheckPlanD.typeid).First().items.Add(Item); + CheckPlansOut.checktypes.Where(p => p.checktypeid == QcCheckPlanD.typeid).First()?.items?.Add(Item); } } return CheckPlansOut; @@ -160,24 +160,30 @@ namespace Tnb.QcMgr QcCheckPlanAdd.triggertype = CheckPlanInput.triggertype; QcCheckPlanAdd.content = CheckPlanInput.content; List QcCheckPlanDs = new List(); - foreach (var checktype in CheckPlanInput.checktypes) + if (CheckPlanInput.checktypes != null) { - foreach (var item in checktype.items) + foreach (var checktype in CheckPlanInput.checktypes) { - QcCheckPlanD QcCheckPlanD = new QcCheckPlanD(); - QcCheckPlanD.mainid = CheckPlanInput.mainid; - QcCheckPlanD.typeid = checktype.id; - QcCheckPlanD.itemid = item.itemid; - QcCheckPlanD.extype = item.extype; - QcCheckPlanD.excontent = item.excontent; - QcCheckPlanD.check = item.check; - QcCheckPlanD.errorcause = item.errorcause.Replace("\"", "").Trim(); - QcCheckPlanD.errorlevel = item.errorlevel.Replace("\"", "").Trim(); - QcCheckPlanD.remark = item.remark; - QcCheckPlanD.attachment = item.attachment; - QcCheckPlanD.isexec = item.isexec; - QcCheckPlanD.custom = item.customer; - QcCheckPlanDs.Add(QcCheckPlanD); + if (checktype.items != null) + { + foreach (var item in checktype.items) + { + QcCheckPlanD QcCheckPlanD = new QcCheckPlanD(); + QcCheckPlanD.mainid = CheckPlanInput.mainid; + QcCheckPlanD.typeid = checktype.id; + QcCheckPlanD.itemid = item.itemid; + QcCheckPlanD.extype = item.extype; + QcCheckPlanD.excontent = item.excontent; + QcCheckPlanD.check = item.check; + QcCheckPlanD.errorcause = item.errorcause?.Replace("\"", "").Trim(); + QcCheckPlanD.errorlevel = item.errorlevel?.Replace("\"", "").Trim(); + QcCheckPlanD.remark = item.remark; + QcCheckPlanD.attachment = item.attachment; + QcCheckPlanD.isexec = item.isexec; + QcCheckPlanD.custom = item.customer; + QcCheckPlanDs.Add(QcCheckPlanD); + } + } } } await db.Ado.BeginTranAsync(); @@ -185,7 +191,7 @@ namespace Tnb.QcMgr await db.Insertable(QcCheckPlanAdd).ExecuteCommandAsync(); await db.Ado.CommitTranAsync(); } - catch (Exception ex) + catch (Exception) { await db.Ado.RollbackTranAsync(); throw Oops.Oh(ErrorCode.COM1000); diff --git a/QcMgr/Tnb.QcMgr/QcCheckTaskService.cs b/QcMgr/Tnb.QcMgr/QcCheckTaskService.cs index 86ecf9dd..e50ee4a0 100644 --- a/QcMgr/Tnb.QcMgr/QcCheckTaskService.cs +++ b/QcMgr/Tnb.QcMgr/QcCheckTaskService.cs @@ -81,6 +81,7 @@ namespace Tnb.QcMgr CheckTaskOut.mainid = id; CheckTaskOut.wareid = QcCheckExecH.wareid!; CheckTaskOut.workid = QcCheckExecH.workid!; + CheckTaskOut.status = QcCheckExecH.status!; if (!string.IsNullOrEmpty(CheckTaskOut.workid)) CheckTaskOut.workname = db.Queryable().Where(p => p.Id == CheckTaskOut.workid).First().FullName; CheckTaskOut.checktypes = new List(); @@ -130,13 +131,15 @@ namespace Tnb.QcMgr Item.setShow.extype = !string.IsNullOrEmpty(Item.setData.extype); Item.setShow.excontent = !string.IsNullOrEmpty(QcCheckExecD.excontent); Item.setShow.check = !string.IsNullOrEmpty(Item.setData.check); - Item.setShow.errorcause = Item.setData.errorcause.Count == 0 ? false : true; - Item.setShow.errorlevel = Item.setData.errorlevel.Count == 0 ? false : true; + Item.setShow.errorcause = Item.setData.errorcause?.Count == 0 ? false : true; + Item.setShow.errorlevel = Item.setData.errorlevel?.Count == 0 ? false : true; Item.setShow.remark = !string.IsNullOrEmpty(Item.setData.remark); Item.setShow.attachment = !string.IsNullOrEmpty(Item.setData.attachment); Item.setShow.customer = !string.IsNullOrEmpty(Item.setData.customer); Item.setShow.isexec = Item.setData.isexec == null ? false : true; - CheckTaskOut.checktypes.Where(p => p.checktypeid == QcCheckExecD.typeid).First().items.Add(Item); + if(!string.IsNullOrEmpty(QcCheckExecD.postdata)) + Item.postItemForm= JSON.Deserialize(QcCheckExecD.postdata!); + CheckTaskOut.checktypes.Where(p => p.checktypeid == QcCheckExecD.typeid).First()?.items?.Add(Item); } return CheckTaskOut; } @@ -159,23 +162,29 @@ namespace Tnb.QcMgr QcCheckExecH.execuser = _userManager.UserId; QcCheckExecH.exectime = DateTime.Now.ToString(); var QcCheckExecDs = await db.Queryable().Where(p => p.mainid == CheckTaskInput.mainid).ToListAsync(); - foreach (var checktype in CheckTaskInput.checktypes) + if (CheckTaskInput.checktypes != null) { - foreach (var item in checktype.items) + foreach (var checktype in CheckTaskInput.checktypes) { - var QcCheckExecD = QcCheckExecDs.Where(p => p.id == item.itemdid).FirstOrDefault(); - if (QcCheckExecD == null) - continue; - QcCheckExecD.excontent = item.excontent; - QcCheckExecD.check = item.check; - QcCheckExecD.errorcause = item.errorcause; - QcCheckExecD.errorlevel = item.errorlevel; - QcCheckExecD.remark = item.remark; - QcCheckExecD.attachment = item.attachment; - QcCheckExecD.isexec = item.isexec; - QcCheckExecD.custom = item.customer; - QcCheckExecD.result = item.result; - QcCheckExecD.postdata = item.postItemForm; + if (checktype.items != null) + { + foreach (var item in checktype.items) + { + var QcCheckExecD = QcCheckExecDs.Where(p => p.id == item.itemdid).FirstOrDefault(); + if (QcCheckExecD == null) + continue; + QcCheckExecD.excontent = item.excontent; + QcCheckExecD.check = item.check; + QcCheckExecD.errorcause = item.errorcause; + QcCheckExecD.errorlevel = item.errorlevel; + QcCheckExecD.remark = item.remark; + QcCheckExecD.attachment = item.attachment; + QcCheckExecD.isexec = item.isexec; + QcCheckExecD.custom = item.customer; + QcCheckExecD.result = item.result; + QcCheckExecD.postdata = item.postItemForm; + } + } } } await db.Ado.BeginTranAsync(); @@ -183,7 +192,7 @@ namespace Tnb.QcMgr await db.Updateable(QcCheckExecDs).ExecuteCommandAsync(); await db.Ado.CommitTranAsync(); } - catch (Exception ex) + catch (Exception) { throw Oops.Oh(ErrorCode.COM1000);