From 5cbff329db3fb4289ddf6b6f525bc5db3dbef780 Mon Sep 17 00:00:00 2001 From: chenwenkai <1084072318@qq.com> Date: Wed, 13 Nov 2024 18:57:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E6=A3=80=E8=AE=B0=E5=BD=95=E8=BD=BD?= =?UTF-8?q?=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QcMgr/Tnb.QcMgr/QcCheckTaskService.cs | 110 ++++++++++++++------------ 1 file changed, 59 insertions(+), 51 deletions(-) diff --git a/QcMgr/Tnb.QcMgr/QcCheckTaskService.cs b/QcMgr/Tnb.QcMgr/QcCheckTaskService.cs index 52d0f5e5..05972794 100644 --- a/QcMgr/Tnb.QcMgr/QcCheckTaskService.cs +++ b/QcMgr/Tnb.QcMgr/QcCheckTaskService.cs @@ -470,6 +470,43 @@ namespace Tnb.QcMgr //}, db); #endregion + + #region 记录时间区间内的载具信息 + var prdCarrs = await db.Queryable().Where(a => a.mo_task_id == prdMoTask.id && a.create_time >= CheckTaskInput.startEndTime[0].TimeStampToDateTime() && a.create_time <= CheckTaskInput.startEndTime[1].TimeStampToDateTime()).ToListAsync(); + var qcCheckExecCarrys = new List(); + foreach (var prdCarr in prdCarrs) + { + var wmsCarryH = await db.Queryable().Where(r => r.carry_code == prdCarr.material_box_code).FirstAsync(); + if (wmsCarryH == null) + continue; + + WmsCarryCode wmsCarryCode = await db.Queryable().FirstAsync(x => x.carry_id == wmsCarryH.id); + BasLocation basLocation = await db.Queryable().Where(r => r.location_code == wmsCarryH.location_code).FirstAsync(); + //WmsCarryMat wmsCarryMat = await db.Queryable().Where(r => r.carry_id == wmsCarryH.id).FirstAsync(); + + var qcCheckExecCarry = new QcCheckExecCarry() + { + qc_check_exec_id = QcCheckExecH.id, + carry_id = wmsCarryH.id, + carry_code = wmsCarryH.carry_code, + warehouse_id = basLocation != null ? basLocation.wh_id : "", + qty = wmsCarryCode != null ? wmsCarryCode.codeqty.ToString() : "", + status = wmsCarryH.is_check, + location_id = basLocation != null ? basLocation.id : "", + location_code = basLocation != null ? basLocation.location_code : "", + material_id = wmsCarryCode?.material_id, + reporter_id= prdCarr.create_id, + processer_id=_userManager.UserId, + create_id = _userManager.UserId, + create_time = DateTime.Now + }; + qcCheckExecCarrys.Add(qcCheckExecCarry); + } + _ = await db.Insertable(qcCheckExecCarrys).ExecuteCommandAsync(); + #endregion + + + //载具需要在中储仓和暂存仓才需要暂控 List prdReports = await db.Queryable().LeftJoin((a, b) => a.material_box_code == b.carry_code).LeftJoin((a, b, c) => b.location_id == c.id).LeftJoin((a, b, c, d) => c.wh_id == d.id).Where((a, b, c, d) => a.mo_task_id == prdMoTask.id && a.create_time >= CheckTaskInput.startEndTime[0].TimeStampToDateTime() && a.create_time <= CheckTaskInput.startEndTime[1].TimeStampToDateTime() && (c.wh_id == WmsWareHouseConst.WAREHOUSE_ZC_ID || c.wh_id == WmsWareHouseConst.WAREHOUSE_ZCC_ID)).ToListAsync(); if (prdReports != null) @@ -483,36 +520,7 @@ namespace Tnb.QcMgr .Where(x => carryCodes.Contains(x.carry_code)) .ExecuteCommandAsync(); - #region 记录被暂控的载具信息 - //var qcCheckExecCarrys = new List(); - //foreach(var carryCode in carryCodes) - //{ - // var wmsCarryH = await db.Queryable().Where(r => r.carry_code == carryCode).FirstAsync(); - // if (wmsCarryH == null) - // continue; - // WmsCarryCode wmsCarryCode = await db.Queryable().FirstAsync(x => x.carry_id == wmsCarryH.id); - // BasLocation basLocation = await db.Queryable().Where(r => r.location_code == wmsCarryH.location_code).FirstAsync(); - // WmsCarryMat wmsCarryMat = await db.Queryable().Where(r => r.carry_id == wmsCarryH.id).FirstAsync(); - - // var qcCheckExecCarry = new QcCheckExecCarry() - // { - // qc_check_exec_id = QcCheckExecH.id, - // carry_id = wmsCarryH.id, - // carry_code = wmsCarryH.carry_code, - // warehouse_id = basLocation != null ? basLocation.wh_id : "", - // qty = wmsCarryCode != null ? wmsCarryCode.codeqty.ToString() : "", - // status = wmsCarryH.is_check, - // location_id = basLocation != null ? basLocation.id : "", - // location_code = basLocation != null ? basLocation.location_code : "", - // material_id= wmsCarryMat?.material_id, - // create_id = _userManager.UserId, - // create_time = DateTime.Now - // }; - // qcCheckExecCarrys.Add(qcCheckExecCarry); - //} - //_ = await db.Insertable(qcCheckExecCarrys).ExecuteCommandAsync(); - #endregion #region 记录暂控处理单主/子表信息 @@ -674,33 +682,33 @@ namespace Tnb.QcMgr }).FirstAsync(); Result.checktypes = new List>(); - //var qcCheckExecCarrys = await db.Queryable().Where(r => r.qc_check_exec_id == QcCheckExecH.id).ToListAsync(); - //if(qcCheckExecCarrys!=null && qcCheckExecCarrys.Count > 0) - //{ - // var checkCarrys = new List(); - // foreach(var acec in qcCheckExecCarrys) - // { - // WmsCarryH carryH = await db.Queryable().FirstAsync(x => x.id == acec.carry_id); - // BasMaterial basMaterial = await db.Queryable().SingleAsync(x => x.id == acec.material_id); - // var carry = new CheckCarry() - // { - // carry_name = carryH.carry_name, - // location_id = acec.location_id, - // location_code = acec.location_code, - // material_name = basMaterial?.name, - // qty = string.IsNullOrEmpty(acec.qty) ? 0 : Convert.ToDecimal(acec.qty), - // is_check=acec.status - // }; - // checkCarrys.Add(carry); - // } - // Result.carryInfo= checkCarrys; - //} + var qcCheckExecCarrys = await db.Queryable().Where(r => r.qc_check_exec_id == QcCheckExecH.id).ToListAsync(); + if (qcCheckExecCarrys != null && qcCheckExecCarrys.Count > 0) + { + var checkCarrys = new List(); + foreach (var acec in qcCheckExecCarrys) + { + WmsCarryH carryH = await db.Queryable().FirstAsync(x => x.id == acec.carry_id); + BasMaterial basMaterial = await db.Queryable().SingleAsync(x => x.id == acec.material_id); + var carry = new CheckCarry() + { + carry_name = carryH.carry_name, + location_id = acec.location_id, + location_code = acec.location_code, + material_name = basMaterial?.name, + qty = string.IsNullOrEmpty(acec.qty) ? 0 : Convert.ToDecimal(acec.qty), + is_check = acec.status + }; + checkCarrys.Add(carry); + } + Result.carryInfo = checkCarrys; + } //if (!string.IsNullOrEmpty(QcCheckExecH.carry_code)) //{ // WmsCarryH carryH = await db.Queryable().FirstAsync(x => x.carry_code == QcCheckExecH.carry_code); // WmsCarryCode carryCode = await db.Queryable().FirstAsync(x => x.carry_id == carryH.id); // string materialId = carryCode?.id ?? ""; - // BasMaterial basMaterial = await db.Queryable().SingleAsync(x=>x.id==materialId); + // BasMaterial basMaterial = await db.Queryable().SingleAsync(x => x.id == materialId); // Result.carryInfo = new CheckCarry() // { // carry_name = carryH.carry_name,