From bc7bb2cec69d361114d017aad5c3c34442436a6a Mon Sep 17 00:00:00 2001 From: zhou keda <1315948824@qq.com> Date: Fri, 16 Aug 2024 11:41:53 +0800 Subject: [PATCH] bug --- BasicData/Tnb.BasicData/BasMbomService.cs | 2 +- .../Entity/ToolMoldReturn.cs | 5 ++ .../Tnb.EquipMgr/ToolMoldReturnService.cs | 69 +++++++++++++++++++ 3 files changed, 75 insertions(+), 1 deletion(-) diff --git a/BasicData/Tnb.BasicData/BasMbomService.cs b/BasicData/Tnb.BasicData/BasMbomService.cs index f748f7ec..2598d5d4 100644 --- a/BasicData/Tnb.BasicData/BasMbomService.cs +++ b/BasicData/Tnb.BasicData/BasMbomService.cs @@ -57,7 +57,7 @@ namespace Tnb.BasicData { ISqlSugarClient db = _repository.AsSugarClient(); Dictionary? queryJson = string.IsNullOrEmpty(input.queryJson) ? null : input.queryJson.ToObject>(); - string materialInfo = queryJson?["query_info"]?.ToString() ?? ""; + string materialInfo = queryJson.ContainsKey("query_info") ? queryJson["query_info"].ToString() : ""; SqlSugarPagedList list = await db.Queryable((a, b, c, d) => new object[] { JoinType.Left, a.material_id == b.id, diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldReturn.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldReturn.cs index d8ef0ab1..ae624efe 100644 --- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldReturn.cs +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldReturn.cs @@ -83,5 +83,10 @@ public partial class ToolMoldReturn : BaseEntity /// 归还库位id /// public string? location_id { get; set; } + + /// + /// 附件 + /// + public string attachment { get; set; } } \ No newline at end of file diff --git a/EquipMgr/Tnb.EquipMgr/ToolMoldReturnService.cs b/EquipMgr/Tnb.EquipMgr/ToolMoldReturnService.cs index 893b2105..c613f101 100644 --- a/EquipMgr/Tnb.EquipMgr/ToolMoldReturnService.cs +++ b/EquipMgr/Tnb.EquipMgr/ToolMoldReturnService.cs @@ -123,6 +123,10 @@ namespace Tnb.EquipMgr { toolMoldReturn.remark = input.data[nameof(ToolMoldReturn.remark)].ToString(); } + if (input.data.ContainsKey(nameof(ToolMoldReturn.attachment))) + { + toolMoldReturn.attachment = input.data[nameof(ToolMoldReturn.attachment)].ToString(); + } toolMoldReturn.create_time = DateTime.Now; toolMoldReturn.create_id = _userManager.UserId; // VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true); @@ -147,5 +151,70 @@ namespace Tnb.EquipMgr return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : (dynamic)(result.IsSuccess ? "保存成功" : result.ErrorMessage); } + + public async Task PdaSave(VisualDevModelDataCrInput input) + { + string Code = await _billRuleService.GetBillNumber("moldReturn"); + DbResult result = await _db.Ado.UseTranAsync(async () => + { + ToolMoldReturn toolMoldReturn = new ToolMoldReturn(); + toolMoldReturn.code = Code; + string moldQrCode = input.data[nameof(ToolMolds.mold_code)].ToString(); + string locatonQrCode = input.data[nameof(ToolLocation.location_code)].ToString(); + ToolMolds toolMolds = await _db.Queryable() + .LeftJoin((a, b) => a.id == b.source_id && b.source_name == "TOOL_MOLDS") + .Where((a, b) => b.code == moldQrCode) + .FirstAsync(); + + if (toolMolds == null) + { + throw Oops.Bah($"未找到二维码为{moldQrCode}的模具"); + } + + ToolLocation toolLocation = await _db.Queryable() + .LeftJoin((a, b) => a.id == b.source_id && b.source_name == "TOOL_LOCATION") + .Where((a, b) => b.code == locatonQrCode) + .FirstAsync(); + + if (toolLocation == null) + { + throw Oops.Bah($"未找到二维码为{locatonQrCode}的工具库位"); + } + + toolMoldReturn.mold_id = toolMolds.id; + toolMoldReturn.location_id = toolLocation.id; + if (input.data[nameof(ToolMoldReturn.return_id)] != null) + { + toolMoldReturn.return_id = input.data[nameof(ToolMoldReturn.return_id)].ToString(); + } + if (input.data[nameof(ToolMoldReturn.return_time)] != null) + { + toolMoldReturn.return_time = GetDateTime(long.Parse(input.data[nameof(ToolMoldReturn.return_time)].ToString()!)); + } + if (input.data.ContainsKey(nameof(ToolMoldReturn.remark))) + { + toolMoldReturn.remark = input.data[nameof(ToolMoldReturn.remark)].ToString(); + } + if (input.data.ContainsKey(nameof(ToolMoldReturn.attachment))) + { + toolMoldReturn.attachment = input.data[nameof(ToolMoldReturn.attachment)].ToString(); + } + toolMoldReturn.create_time = DateTime.Now; + toolMoldReturn.create_id = _userManager.UserId; + // VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleId, true); + //await _runService.Create(templateEntity, input); + await _db.Insertable(toolMoldReturn).ExecuteCommandAsync(); + + if (!string.IsNullOrEmpty(toolMolds.id)) + { + _ = await _db.Updateable() + .SetColumns(x => x.mold_status == Tnb.BasicData.DictConst.ZKTypeId) + .SetColumnsIF(!string.IsNullOrEmpty(toolLocation.id), x => x.location_id == toolLocation.id) + .Where(x => x.id == toolMolds.id).ExecuteCommandAsync(); + } + }); + + return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : (dynamic)(result.IsSuccess ? "保存成功" : result.ErrorMessage); + } } } \ No newline at end of file