From 209cfe58c76efb9bf64277ba0777fbecf95d5fc3 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 29 Jun 2023 15:11:42 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=87=BA=E5=BA=93=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=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 --- .../Tnb.WarehouseMgr/WmsOutStockService.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs index cb297a26..e33e2811 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs @@ -224,7 +224,21 @@ namespace Tnb.WarehouseMgr } } } - var isOk = await _wareHouseService.GenPreTask(preTasks, null); + List pretaskCodes = new(); + foreach (var pt in preTasks) + { + var partCodes = carryCodes.FindAll(x => x.carry_id == pt.carry_id).Distinct().ToList(); + var curPreTaskCodes = partCodes.Adapt>(); + curPreTaskCodes.ForEach(x => + { + x.id=SnowflakeIdHelper.NextId(); + x.bill_id = pt.id; + x.create_time = DateTime.Now; + }); + pretaskCodes.AddRange(curPreTaskCodes); + } + + var isOk = await _wareHouseService.GenPreTask(preTasks, pretaskCodes); GenPreTaskUpInput genPreTaskAfterUpInput = new(); genPreTaskAfterUpInput.CarryIds = preTasks.Select(x => x.carry_id).ToList(); genPreTaskAfterUpInput.LocationIds = new HashSet(locIds).ToList(); From 4f30009a240e98d6451b405fd3cfe22fd25d0d8d Mon Sep 17 00:00:00 2001 From: zhoukeda <1315948824@qq.com> Date: Thu, 29 Jun 2023 15:16:33 +0800 Subject: [PATCH 2/2] bug --- .../Dto/BasDefect/DefectOutput.cs | 9 +++++++ BasicData/Tnb.BasicData/BasDefectService.cs | 26 +++++++++++-------- 2 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 BasicData/Tnb.BasicData.Entities/Dto/BasDefect/DefectOutput.cs diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasDefect/DefectOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasDefect/DefectOutput.cs new file mode 100644 index 00000000..dcf2811c --- /dev/null +++ b/BasicData/Tnb.BasicData.Entities/Dto/BasDefect/DefectOutput.cs @@ -0,0 +1,9 @@ +namespace Tnb.BasicData.Entities.Dto +{ + public class DefectOutput + { + public string id { get; set; } + public string defect_code { get; set; } + public string defect_name { get; set; } + } +} \ No newline at end of file diff --git a/BasicData/Tnb.BasicData/BasDefectService.cs b/BasicData/Tnb.BasicData/BasDefectService.cs index b9fcd432..01cd4c26 100644 --- a/BasicData/Tnb.BasicData/BasDefectService.cs +++ b/BasicData/Tnb.BasicData/BasDefectService.cs @@ -5,6 +5,7 @@ using JNPF.Systems.Interfaces.System; using JNPF.VisualDev; using Microsoft.AspNetCore.Mvc; using SqlSugar; +using Tnb.BasicData.Entities.Dto; using Tnb.BasicData.Entities; using Tnb.BasicData.Interfaces; @@ -33,18 +34,21 @@ namespace Tnb.BasicData public async Task GetDefectListByProcessId(Dictionary dic) { string processId = dic["processId"]; - return await _repository.AsSugarClient().Queryable() - .LeftJoin((a, b) => a.process_id == b.id) - .LeftJoin((a, b, c) => a.defective_id == c.id) - .LeftJoin((a,b,c,d)=>c.defect_type_id==d.id) - .Where((a, b, c) => a.process_id == processId && c.enabled==1) - .Select((a, b, c,d) => new + var db = _repository.AsSugarClient(); + List defectIds = await db.Queryable().Where(x=>x.process_id==processId).Select(x=>x.defective_id).ToListAsync(); + List defectTypeIds = await db.Queryable().Where(x=>defectIds.Contains(x.id) && x.enabled==1).Select(x=>x.defect_type_id).ToListAsync(); + return await _repository.AsSugarClient().Queryable() + .Where((a) => defectTypeIds.Contains(a.id)) + .Select(a => new { - id = c.id, - defect_code = c.defect_code, - defect_name = c.defect_name, - defect_type_id = d.defect_type_name, - defect_type_id_id = d.id + defect_type_id = a.id, + defect_type_name = a.defect_type_name, + children = SqlFunc.Subqueryable().Where(x=>x.defect_type_id==a.id && defectIds.Contains(x.id)).ToList(x=>new DefectOutput() + { + id = x.id, + defect_code = x.defect_code, + defect_name = x.defect_name, + }) }).ToListAsync(); } }