From 600cd6d9001e62dec9c427cbbe07066c068032a6 Mon Sep 17 00:00:00 2001 From: "DEVICE8\\12494" Date: Wed, 31 May 2023 10:34:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E5=85=B7=E4=BF=9D=E5=85=BB=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E4=B8=9A=E5=8A=A1=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Consts/MoldUseStatus.cs | 6 +- .../Entity/ToolMoldMaintainItem.cs | 6 +- .../Entity/ToolMoldMaintainItemRecord.cs | 46 +++++ .../Entity/ToolMoldMaintainRunRecord.cs | 30 +-- .../Entity/ToolMoldMaintainRunRecordD.cs | 42 +++++ .../Tnb.EquipMgr.Entities/Entity/ToolMolds.cs | 4 + .../ToolMoldMaintainGroupService.cs | 100 +++++++++- .../ToolMoldMaintainRunService.cs | 173 +++++++++++------- 8 files changed, 314 insertions(+), 93 deletions(-) create mode 100644 EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainItemRecord.cs create mode 100644 EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRunRecordD.cs diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Consts/MoldUseStatus.cs b/EquipMgr/Tnb.EquipMgr.Entities/Consts/MoldUseStatus.cs index db9570c7..a27c20bf 100644 --- a/EquipMgr/Tnb.EquipMgr.Entities/Consts/MoldUseStatus.cs +++ b/EquipMgr/Tnb.EquipMgr.Entities/Consts/MoldUseStatus.cs @@ -11,6 +11,10 @@ namespace Tnb.EquipMgr.Entities.Consts /// /// 模具使用状态在库状态ID /// - public const string MOLDUSESTATUSZKID = "26149307089941"; + public const string MOLD_USE_STATUS_ZK_ID = "26149307089941"; + /// + /// 模具使用状态-保养Id + /// + public const string MOLD_USE_STATUS_MAINTAIN_ID = "26149311082005"; } } diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainItem.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainItem.cs index b4d9e4e4..a6aa168a 100644 --- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainItem.cs +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainItem.cs @@ -66,6 +66,10 @@ public partial class ToolMoldMaintainItem : BaseEntity /// /// 保养项完成状态 0,未完成,1,已完成 /// - public int? status { get; set; } + public int status { get; set; } = 0; + /// + /// 模具id + /// + public string mold_id { get; set; } } diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainItemRecord.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainItemRecord.cs new file mode 100644 index 00000000..34f90a71 --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainItemRecord.cs @@ -0,0 +1,46 @@ +using JNPF.Common.Contracts; +using JNPF.Common.Security; +using SqlSugar; + +namespace Tnb.EquipMgr.Entities; + +/// +/// 模具保养 +/// +[SugarTable("tool_mold_maintain_item_record")] +public partial class ToolMoldMaintainItemRecord : BaseEntity +{ + public ToolMoldMaintainItemRecord() + { + id = SnowflakeIdHelper.NextId(); + } + /// + /// 保养项 保养状态 0 未完成,1 已完成 + /// + public int status { get; set; } + + /// + /// 保养组Id + /// + public string? item_group_id { get; set; } + + /// + /// 保养组名称 + /// + public string? item_group_name { get; set; } + + /// + /// 保养项Id + /// + public string? item_id { get; set; } + + /// + /// 保养项名称 + /// + public string? item_name { get; set; } + /// + /// 模具ID + /// + public string mold_id { get; set; } + +} diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRunRecord.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRunRecord.cs index 6f2679d2..4f4b51bf 100644 --- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRunRecord.cs +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRunRecord.cs @@ -59,26 +59,6 @@ public partial class ToolMoldMaintainRunRecord : BaseEntity /// public string? eqp_name { get; set; } - /// - /// 保养组编码 - /// - public string? group_code { get; set; } - - /// - /// 保养组名称 - /// - public string? group_name { get; set; } - - /// - /// 保养项编号 - /// - public string? check_item_code { get; set; } - - /// - /// 保养项名称 - /// - public string? check_item_name { get; set; } - /// /// 计划开始时间 /// @@ -94,4 +74,14 @@ public partial class ToolMoldMaintainRunRecord : BaseEntity /// public decimal? plan_time { get; set; } + /// + /// 维保人 + /// + public string? maintain_person { get; set; } + + /// + /// 异常记录 + /// + public string? exception_record { get; set; } + } diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRunRecordD.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRunRecordD.cs new file mode 100644 index 00000000..04a23a42 --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRunRecordD.cs @@ -0,0 +1,42 @@ +using JNPF.Common.Contracts; +using JNPF.Common.Security; +using SqlSugar; + +namespace Tnb.EquipMgr.Entities; + +/// +/// 模具保养计划记录表子表 +/// +[SugarTable("tool_mold_maintain_run_record_d")] +public partial class ToolMoldMaintainRunRecordD : BaseEntity +{ + public ToolMoldMaintainRunRecordD() + { + id = SnowflakeIdHelper.NextId(); + } + /// + /// 模具编号 + /// + public string? mold_id { get; set; } + + /// + /// 保养组编码 + /// + public string? group_id { get; set; } + + /// + /// 保养组名称 + /// + public string? group_name { get; set; } + + /// + /// 保养项编号 + /// + public string? check_item_id { get; set; } + + /// + /// 保养项名称 + /// + public string? check_item_name { get; set; } + +} diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs index b0f50a5b..c93b2913 100644 --- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs @@ -133,5 +133,9 @@ public partial class ToolMolds : BaseEntity /// 模具型号 /// public string? mold_type_code { get; set; } + /// + /// 关联保养项信息 + /// + public string item_json { get; set; } } diff --git a/EquipMgr/Tnb.EquipMgr/ToolMoldMaintainGroupService.cs b/EquipMgr/Tnb.EquipMgr/ToolMoldMaintainGroupService.cs index 20d67e21..4cfb0c2d 100644 --- a/EquipMgr/Tnb.EquipMgr/ToolMoldMaintainGroupService.cs +++ b/EquipMgr/Tnb.EquipMgr/ToolMoldMaintainGroupService.cs @@ -19,6 +19,8 @@ using JNPF.Common.Contracts; using Tnb.EquipMgr.Entities; using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Interfaces; +using Senparc.Weixin.MP.AdvancedAPIs.GroupMessage; +using Aop.Api.Domain; namespace Tnb.EquipMgr { @@ -79,8 +81,60 @@ namespace Tnb.EquipMgr /// /// [HttpPost] - public async Task RelevanceMaintianGroupAndItem(MoldMaintainGroupItemInput input) => - await Relevance(input, nameof(ToolMoldMaintainGroupItem.item_group_id), nameof(ToolMoldMaintainGroupItem.item_id), it => it.item_group_id == input.id); + public async Task RelevanceMaintianGroupAndItem(MoldMaintainGroupItemInput input) + { + try + { + await _db.Ado.BeginTranAsync(); + + if (input.ids == null || input.ids.Count == 0) throw new ArgumentException($"parameter {nameof(input.ids)} not be null or count not be zero"); + await Relevance(input, nameof(ToolMoldMaintainGroupItem.item_group_id), nameof(ToolMoldMaintainGroupItem.item_id), it => it.item_group_id == input.id); + List itemRecords = new(); + var grpIds = await _db.Queryable().Where(it => input.ids.Contains(it.item_id)).Select(it => it.item_group_id).Distinct().ToListAsync(); + if (grpIds?.Count > 0) + { + var grps = await _db.Queryable().Where(it => grpIds.Contains(it.id)).ToListAsync(); + foreach (var grp in grps) + { + var molds = await _db.Queryable().Where(it => it.item_group_id == grp.id).ToListAsync(); + if (molds?.Count > 0) + { + foreach (var mold in molds) + { + var dbItIds = await _db.Queryable().Where(it => it.mold_id == mold.id && it.item_group_id == grp.id && input.ids.Contains(it.id)).Select(it => it.item_id).ToListAsync(); + input.ids = input.ids.Except(dbItIds).ToList(); + if (input.ids?.Count > 0) + { + var items = await _db.Queryable().Where(it => input.ids.Contains(it.id)).ToListAsync(); + if (items?.Count > 0) + { + foreach (var item in items) + { + ToolMoldMaintainItemRecord record = new(); + record.mold_id = mold.id; + record.item_group_id = grp.id; + record.item_group_name = grp.name; + record.item_id = item.id; + record.item_name = item.name; + record.status = 0; + itemRecords.Add(record); + } + } + } + } + } + } + await _db.Insertable(itemRecords).ExecuteCommandAsync(); + } + + await _db.Ado.CommitTranAsync(); + } + catch (Exception ex) + { + await _db.Ado.RollbackTranAsync(); + throw; + } + } /// /// 关联项目组与模具 @@ -88,8 +142,45 @@ namespace Tnb.EquipMgr /// /// [HttpPost] - public async Task RelevanceMaintianGroupAndMold(MoldMaintainGroupItemRelationInput input) => + public async Task RelevanceMaintianGroupAndMold(MoldMaintainGroupItemRelationInput input) + { await Relevance(input, nameof(ToolMoldMaintainGroupRelation.item_group_id), nameof(ToolMoldMaintainGroupRelation.mold_id), it => it.item_group_id == input.id); + List itemRecords = new(); + foreach (var moldId in input.ids) + { + var grpIds = await _db.Queryable().Where(it => it.mold_id == moldId).Select(it => it.item_group_id).Distinct().ToListAsync(); + if (grpIds?.Count > 0) + { + var grps = await _db.Queryable().Where(it => grpIds.Contains(it.id)).ToListAsync(); + foreach (var grp in grps) + { + var itemIds = await _db.Queryable().Where(it => it.item_group_id == grp.id).Select(it => it.item_id).ToListAsync(); + if (itemIds?.Count > 0) + { + var dbItemIds = await _db.Queryable().Where(it => it.mold_id == moldId && it.item_group_id == grp.id && itemIds.Contains(it.item_id)).Select(it => it.item_id).ToListAsync(); + itemIds = itemIds.Except(dbItemIds).ToList(); + if (itemIds?.Count > 0) + { + var items = await _db.Queryable().Where(it => itemIds.Contains(it.id)).ToListAsync(); + foreach (var item in items) + { + ToolMoldMaintainItemRecord record = new(); + record.mold_id = moldId; + record.item_group_id = grp.id; + record.item_group_name = grp.name; + record.item_id = item.id; + record.item_name = item.name; + record.status = 0; + itemRecords.Add(record); + } + } + } + } + } + } + await _db.Insertable(itemRecords).ExecuteCommandAsync(); + + } /// /// 删除项目组与模具检查项信息 /// @@ -98,14 +189,15 @@ namespace Tnb.EquipMgr [HttpPost] public async Task Delete(MoldMaintainDelInput input) { - if (input.table_name == "item") { await Delete(it => it.item_group_id == input.id && input.ids.Contains(it.item_id)); + await Delete(it => it.item_group_id == input.id && input.ids.Contains(it.item_id)); } else { await Delete(it => it.item_group_id == input.id && input.ids.Contains(it.mold_id)); + await Delete(it => it.item_group_id == input.id && input.ids.Contains(it.mold_id)); } } diff --git a/EquipMgr/Tnb.EquipMgr/ToolMoldMaintainRunService.cs b/EquipMgr/Tnb.EquipMgr/ToolMoldMaintainRunService.cs index 970ce20d..ce87a030 100644 --- a/EquipMgr/Tnb.EquipMgr/ToolMoldMaintainRunService.cs +++ b/EquipMgr/Tnb.EquipMgr/ToolMoldMaintainRunService.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using Aspose.Cells.Drawing; +using DingTalk.Api.Request; using JNPF.Common.Core.Manager; using JNPF.Common.Enums; using JNPF.Common.Extension; @@ -14,6 +15,7 @@ using JNPF.FriendlyException; using JNPF.Logging; using JNPF.Systems.Interfaces.System; using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; using SqlSugar; using StackExchange.Profiling.Internal; using Tnb.BasicData; @@ -51,8 +53,8 @@ namespace Tnb.EquipMgr [HttpGet] public async Task GetMaintainInfoFromByPlanId([FromRoute] string planId) { - dynamic info = new ExpandoObject(); - var planMoldRelation = await _db.Queryable() + List result = new(); + var planMoldRelations = await _db.Queryable() .LeftJoin((a, b) => a.maintain_plan_id == b.id)//ToolMoldMaintainPlan .LeftJoin((a, b, c) => b.plan_code == c.plan_code) .Where(a => a.maintain_plan_id == planId) @@ -61,27 +63,35 @@ namespace Tnb.EquipMgr mold_id = a.mold_id, plan_start_time = c.plan_start_time, }) - .FirstAsync(); - if (planMoldRelation != null) + .ToListAsync(); + if (planMoldRelations?.Count > 0) { - var mold = await _db.Queryable().FirstAsync(it => it.id == planMoldRelation.mold_id); - if (mold != null) + var mids = planMoldRelations.Select(x => x.mold_id).ToList(); + var molds = await _db.Queryable().Where(it => mids.Contains(it.id)).ToListAsync(); + if (molds?.Count > 0) { - info.mold_code = mold.mold_code; - info.mold_name = mold.mold_name; - info.mold_status = (await _dictionaryDataService.GetInfo(mold.mold_status))?.FullName; - info.maintain_qty = mold.maintain_qty; - info.plan_start_time = planMoldRelation.plan_start_time; - var moldEqpRelation = await _db.Queryable().FirstAsync(it => it.mold_id == mold.id); - if (moldEqpRelation != null) + for (int i = 0, cnt = molds.Count; i < cnt; i++) { - var eqp = await _db.Queryable().FirstAsync(it => it.id == moldEqpRelation.equipment_id); - info.eqp_code = eqp.code; - info.eqp_name = eqp.name; + var mold = molds[i]; + dynamic info = new ExpandoObject(); + info.mold_id = mold.id; + info.mold_code = mold.mold_code; + info.mold_name = mold.mold_name; + info.mold_status = (await _dictionaryDataService.GetInfo(mold.mold_status))?.FullName; + info.maintain_qty = mold.maintain_qty; + info.plan_start_time = planMoldRelations[i].plan_start_time; + var moldEqpRelation = await _db.Queryable().FirstAsync(it => it.mold_id == mold.id); + if (moldEqpRelation != null) + { + var eqp = await _db.Queryable().FirstAsync(it => it.id == moldEqpRelation.equipment_id); + info.eqp_code = eqp.code; + info.eqp_name = eqp.name; + } + result.Add(info); } } } - return info; + return result; } /// /// 根据模具ID获取,保养组及项目信息 @@ -92,23 +102,32 @@ namespace Tnb.EquipMgr public async Task GetCheckItemAndGrpByMoldId([FromRoute] string moldId) { if (moldId.IsNullOrEmpty()) throw new ArgumentException($"parameter {nameof(moldId)} not be null or empty"); - - var itemGroupRelation = await _db.Queryable().FirstAsync(it => it.mold_id == moldId); - if (itemGroupRelation != null) { - var checkItems = await _db.Queryable((a, b, c) => new JoinQueryInfos - ( - JoinType.Left, a.id == b.item_group_id, - JoinType.Left, b.item_id == c.id - )) - .Where(a => a.id == itemGroupRelation.item_group_id) - .Select((a, b, c) => new - { - item_group_id = a.id, - item_group_name = a.name, - item_id = c.id, - item_name = c.name, - }).ToListAsync(); + + var checkItems = await _db.Queryable().Where(it => it.mold_id == moldId).Select(it => new + { + item_group_id = it.item_group_id, + item_group_name = it.item_group_name, + item_id = it.item_id, + item_name = it.item_name, + status = it.status, + }).ToListAsync(); + + //var checkItems = await _db.Queryable((a, b, c, d) => new JoinQueryInfos + // ( + // JoinType.Inner, a.item_group_id == b.id, + // JoinType.Inner, b.id == c.item_group_id, + // JoinType.Inner, c.item_id == d.id + // )) + // .Where(a => a.mold_id == moldId) + // .Select((a, b, c, d) => new + // { + // item_group_id = b.id, + // item_group_name = b.name, + // item_id = d.id, + // item_name = d.name, + // status = d.status, + // }).ToListAsync(); return checkItems; } return Enumerable.Empty(); @@ -127,48 +146,67 @@ namespace Tnb.EquipMgr [HttpPost] public async Task MaintainStart(MoldMaintainRunUpInput input) { + if (input == null) throw new ArgumentNullException("input"); try { await _db.Ado.BeginTranAsync(); var dic = await _dictionaryDataService.GetDicByTypeId(DictConst.MaintainStatusTypeId); - var plan = await _db.Queryable().FirstAsync(it => it.id == input.plan_id); - if (plan != null) + var mold = await _db.Queryable().FirstAsync(it => it.id == input.mold_id); + if (mold != null) { - plan.status = DictConst.MoldMaintainStatusDBYCode; - var row = await _db.Updateable(plan).ExecuteCommandAsync(); - if (row < 1) throw Oops.Oh(ErrorCode.COM1001); - ToolMoldMaintainRunRecord record = new(); - record.plan_code = plan.plan_code; - record.mode = plan.mode; - record.plan_status = dic.ContainsKey(plan.plan_code) ? dic[plan.plan_code].ToString() : ""; - record.designer = _userManager.RealName; - record.designer_time = DateTime.Now; - var moldPlanRelation = await _db.Queryable().FirstAsync(it => it.maintain_plan_id == input.plan_id); - if (moldPlanRelation != null) + mold.mold_status = MoldUseStatus.MOLD_USE_STATUS_MAINTAIN_ID; + var isOk = await _db.Updateable(mold).Where(it => it.id == input.mold_id).ExecuteCommandHasChangeAsync(); + if (!isOk) throw Oops.Oh(ErrorCode.COM1001); + var plan = await _db.Queryable().LeftJoin((a, b) => a.maintain_plan_id == b.id) + .Where(a => a.mold_id == input.mold_id).Select((a, b) => b).FirstAsync(); + + if (plan is not null) { - var mold = await _db.Queryable().FirstAsync(it => it.id == moldPlanRelation.mold_id); - record.mold_code = mold?.mold_code; - record.mold_name = mold?.mold_name; - var moldGroupRelation = await _db.Queryable().FirstAsync(it => it.mold_id == mold.id); - if (moldGroupRelation != null) - { - var maintainGroup = await _db.Queryable().FirstAsync(it => it.id == moldGroupRelation.item_group_id); - record.group_name = maintainGroup.name; - var itemGrpRelation = await _db.Queryable().FirstAsync(it => it.item_group_id == maintainGroup.id); - if (itemGrpRelation != null) + //插入保养计划记录 + ToolMoldMaintainRunRecord record = new(); + record.plan_code = plan.plan_code; + record.mode = plan.mode; + record.plan_status = dic.ContainsKey(plan.plan_code) ? dic[plan.plan_code].ToString() : ""; + record.designer = _userManager.RealName; + record.designer_time = DateTime.Now; + record.mold_code = mold.mold_code; + record.mold_name = mold.mold_name; + record.plan_start_time = DateTime.Now; + var row = await _db.Insertable(record).ExecuteCommandAsync(); + if (row < 1) throw Oops.Oh(ErrorCode.COM1001); + + var maintainInfos = await _db.Queryable() + .LeftJoin((a, b) => a.item_group_id == b.id) + .LeftJoin((a, b, c) => b.id == c.item_group_id) + .LeftJoin((a, b, c, d) => c.item_id == d.id) + .Where(a => a.mold_id == input.mold_id) + .Select((a, b, c, d) => new { - var checkItem = await _db.Queryable().FirstAsync(it => it.id == itemGrpRelation.item_id); - record.check_item_name = checkItem.name; + group_id = b.id, + group_name = b.name, + check_item_id = d.id, + check_item_name = d.name + }) + .ToListAsync(); + if (maintainInfos?.Count > 0) + { + List recordDs = new(); + foreach (var info in maintainInfos) + { + ToolMoldMaintainRunRecordD record_d = new(); + record_d.group_id = info.group_id; + record_d.group_name = info.group_name; + record_d.check_item_id = info.check_item_id; + record_d.check_item_name = info.check_item_name; + recordDs.Add(record_d); } + row = await _db.Insertable(recordDs).ExecuteCommandAsync(); + if (row < 1) throw Oops.Oh(ErrorCode.COM1001); } } - record.plan_start_time = DateTime.Now; - row = await _db.Insertable(record).ExecuteCommandAsync(); - if (row < 1) throw Oops.Oh(ErrorCode.COM1001); - - await _db.Ado.CommitTranAsync(); } + await _db.Ado.CommitTranAsync(); } catch (Exception ex) { @@ -183,9 +221,10 @@ namespace Tnb.EquipMgr { if (input == null) throw new ArgumentNullException("input"); if (input.itemIds == null || input.itemIds.Count == 0) throw new ArgumentException($"parameter {nameof(input.itemIds)} not be null or empty"); - var row = await _db.Updateable().SetColumns(it => new ToolMoldMaintainItem { status = input.status }).Where(it => input.itemIds.Contains(it.id)).ExecuteCommandAsync(); + var row = await _db.Updateable().SetColumns(it => new ToolMoldMaintainItemRecord { status = 1 }).Where(it => input.itemIds.Contains(it.id)).ExecuteCommandAsync(); if (row < 1) throw Oops.Oh(ErrorCode.COM1001); } + /// /// 模具保养计划执行-保养完成 /// @@ -204,18 +243,18 @@ namespace Tnb.EquipMgr var itemIds = await _db.Queryable().Where(it => grpIds.Contains(it.item_group_id)).Select(it => it.item_id).ToListAsync(); if (itemIds?.Count > 0) { - var items = await _db.Queryable().Where(it => itemIds.Contains(it.id) && it.status.HasValue && it.status.Value == 1).ToListAsync(); + var items = await _db.Queryable().Where(it => it.mold_id == input.mold_id && it.status == 1).ToListAsync(); if (items?.Count < itemIds.Count) { throw new AppFriendlyException("当前模具有未完成的保养项目", 500); } - var row = await _db.Updateable().SetColumns(it => new ToolMolds { mold_status = MoldUseStatus.MOLDUSESTATUSZKID }).Where(it => it.id == input.mold_id).ExecuteCommandAsync(); + var row = await _db.Updateable().SetColumns(it => new ToolMolds { mold_status = MoldUseStatus.MOLD_USE_STATUS_ZK_ID }).Where(it => it.id == input.mold_id).ExecuteCommandAsync(); if (row < 1) throw Oops.Oh(ErrorCode.COM1001); var allMoldStatus = await _db.Queryable().InnerJoin((a, b) => a.mold_id == b.id) .Where((a, b) => a.maintain_plan_id == input.plan_id) .Select((a, b) => b.mold_status) .ToListAsync(); - if (allMoldStatus?.Count > 0 && allMoldStatus.All(x => x == MoldUseStatus.MOLDUSESTATUSZKID)) + if (allMoldStatus?.Count > 0 && allMoldStatus.All(x => x == MoldUseStatus.MOLD_USE_STATUS_ZK_ID)) { row = await _db.Updateable().SetColumns(it => new ToolMoldMaintainPlan { status = MoldPlanMaintainStatus.MOLDPLAN_MAINTAIN_STATUS_COMPLETED_CODE }).Where(it => it.id == input.plan_id).ExecuteCommandAsync(); }