From 8f28ca63dde584e5fefe51a07e69fd9b1af76fd2 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期一, 09 六月 2025 12:28:27 +0800 Subject: [PATCH] 1.生产补料/超领优化 2.委外补料/超领优化 3.巡检检验新增工单查询选择 4.巡检优化新增时间段字段 --- service/Warehouse/MesItemBlManager.cs | 69 ++++++++++++++++++++++ service/QC/IpqcService.cs | 32 ++++++++++ service/Wom/WwGdManager.cs | 4 Controllers/Warehouse/MesItemBlController.cs | 36 ++++++++++++ entity/VIpqcXj.cs | 12 ++++ Controllers/QC/IpqcController.cs | 27 ++++++++ 6 files changed, 176 insertions(+), 4 deletions(-) diff --git a/Controllers/QC/IpqcController.cs b/Controllers/QC/IpqcController.cs index ed93146..5d5eb0d 100644 --- a/Controllers/QC/IpqcController.cs +++ b/Controllers/QC/IpqcController.cs @@ -323,5 +323,30 @@ } } - + + /// <summary> + /// 鐜板満鏀舵枡鑾峰彇鍙�夊伐鍗曚俊鎭� + /// </summary> + /// <param name="query"></param> + /// <returns></returns> + [HttpPost("GetIpqcXjDaa")] + public ResponseResult GetIpqcXjDaa([FromBody] dynamic query) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetIpqcXjDaa(query); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + } \ No newline at end of file diff --git a/Controllers/Warehouse/MesItemBlController.cs b/Controllers/Warehouse/MesItemBlController.cs index 2800b1f..ee7123a 100644 --- a/Controllers/Warehouse/MesItemBlController.cs +++ b/Controllers/Warehouse/MesItemBlController.cs @@ -459,5 +459,41 @@ } } + + /// <summary> + /// 鏍规嵁鍗曞彿鑾峰彇鐢熶骇琛ユ枡鍗曟槑缁� + /// </summary> + /// <param name="query">鏌ヨ鍙傛暟锛屽繀椤诲寘鍚玝illNo</param> + /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns> + /// <remarks> + /// 璇锋眰绀轰緥: + /// POST /api/MesItemBl/GetMesItemBlDetailByBillNo + /// { + /// "billNo": "BL202401010001" + /// } + /// </remarks> + /// <response code="200">鎴愬姛鑾峰彇琛ユ枡鍗曟槑缁�</response> + /// <response code="400">鑾峰彇澶辫触锛屽彲鑳芥槸鍗曟嵁鍙蜂笉瀛樺湪鎴栧凡瀹屾垚</response> + [HttpPost("GetMesItemWWBlDetailByBillNo")] + public ResponseResult GetMesItemWWBlDetailByBillNo( + [FromBody] WarehouseQuery query) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = _manager.GetMesItemWWBlDetailByBillNo(query); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + #endregion } \ No newline at end of file diff --git a/entity/VIpqcXj.cs b/entity/VIpqcXj.cs index 8fc4c7a..e22fbd5 100644 --- a/entity/VIpqcXj.cs +++ b/entity/VIpqcXj.cs @@ -157,4 +157,16 @@ /// </summary> [SugarColumn(ColumnName = "CREATE_DATE")] public string CreateDate { get; set; } + + /// <summary> + /// 浜х嚎id + /// </summary> + [SugarColumn(ColumnName = "line_id")] + public string lineId { get; set; } + + /// <summary> + /// 鏃堕棿娈� + /// </summary> + [SugarColumn(ColumnName = "check_time_slot")] + public string checkTimeSlot { get; set; } } \ No newline at end of file diff --git a/service/QC/IpqcService.cs b/service/QC/IpqcService.cs index 8964b18..d6c87f0 100644 --- a/service/QC/IpqcService.cs +++ b/service/QC/IpqcService.cs @@ -7,6 +7,7 @@ using SqlSugar; using System.Data; using System.Data.SqlClient; +using System.Text; using static Azure.Core.HttpHeader; using static Microsoft.EntityFrameworkCore.DbLoggerCategory; @@ -152,6 +153,7 @@ a => a.Guid == parsedGuid.ToString()) .Where(a => (a.FSubmit ?? 0) == 0) .OrderByDescending(a => a.CreateDate) + .OrderBy(a => a.checkTimeSlot) .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); return (pageList, totalCount); @@ -337,4 +339,34 @@ return Db.Ado.ExecuteCommand(sql, sqlParams); } + + + public dynamic GetIpqcXjDaa(dynamic unity) + { + + var sqlParams = new List<SugarParameter> { }; + sqlParams.Add(new("@xt", unity.xt)); + + var sql2 = new StringBuilder(@" + SELECT '['+DAA001+']['+DAA021+']' AS daaInfo,DAA001,DAA021 + FROM WOMDAA + WHERE DAA015 = @xt AND daa018 NOT IN ('W:瀹屽伐', 'D:寰呭紑宸�')"); + + if (!string.IsNullOrWhiteSpace(unity.selectKey?.ToString())) + { + sqlParams.Add(new("@selectKey", unity.selectKey)); + sql2.Append(@" + AND (DAA001 LIKE '%' + @selectKey + '%' + OR DAA021 LIKE '%' + @selectKey + '%')"); + } + + var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams); + + if (XcslItem == null) + { + throw new Exception("璇ユ潯浠朵笅鏃犲搴斿伐鍗曚俊鎭紝璇烽噸鏂拌緭鍏ワ紒"); + } + + return XcslItem; + } } \ No newline at end of file diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs index 762d934..0f0b52d 100644 --- a/service/Warehouse/MesItemBlManager.cs +++ b/service/Warehouse/MesItemBlManager.cs @@ -323,7 +323,7 @@ ErpAutoid = womdab.Erpid, PbillNo = query.billNo, ItemId = blDetail.Bld012, - DepotId = stockBarcode.DepotsId.ToString(), + DepotId = stockBarcode.DepotId.ToString(), ItemDabid = blDetail.Id, // Unit = blDetail.Bld009, // DepotId = (int)stockBarcode.DepotsId @@ -1815,5 +1815,72 @@ return (true, pendingList); } + + /// <summary> + /// 鏍规嵁鍗曞彿鑾峰彇鐢熶骇琛ユ枡鍗曟槑缁� prc_rf_pda_scan_zout_showbl + /// </summary> + /// <param name="billNo">琛ユ枡鍗曞彿</param> + /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns> + public ProductionPickDto + GetMesItemWWBlDetailByBillNo( + WarehouseQuery query) + { + if (string.IsNullOrEmpty(query.billNo)) + throw new Exception("璇烽�夊崟鎹彿锛�"); + + // 妫�鏌ヨˉ鏂欏崟鏄惁瀛樺湪涓斾负鐢熶骇琛ユ枡绫诲瀷 + var mesItemBl = Db.Queryable<MesItemBl>() + .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true) + .First(); + + if (mesItemBl == null) + throw new Exception("鍗曟嵁鍙蜂笉瀛樺湪鎴栨湭瀹℃牳锛�"); + + //if (mesItemBl.Bl019 == true) + // throw new Exception("鍗曟嵁鍙峰凡瀹屾垚锛�"); + + //// 鑾峰彇鏈畬鎴愮殑琛ユ枡鍗曟槑缁� + //var blDetails = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) => + // new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) + // .Where((a, b) => a.BlNo == query.billNo + // && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) + // .Select((a, b) => new MesItemBlDetail + // { + // Bld012 = b.Bld012, + // Bld002 = b.Bld002, + // Bld003 = b.Bld003, + // Bld004 = b.Bld004, + // Bld007 = b.Bld007, + // Bld008 = b.Bld008 + // }) + // .ToList(); + + //return (mesItemBl.Bl001, blDetails); + var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty, + dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001 +fROM MES_ITEM_BL_DETAIL A + LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID + LEFT JOIN MES_ITEMS C ON A.bld012 = CAST(C.item_id AS VARCHAR(50)) + LEFT JOIN WW_GD D ON B.about_guid = D.ID +WHERE B.bl_no = '{0}'", query.billNo); + + var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql); + + + var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); + + var YS_list = womdabs.Where(s => s.SQty > 0).ToList(); + + var dto = new ProductionPickDto + { + daa001 = womdabs[0].DAA001, + //PlanNo = womcaa.Caa020, + items = DS_list, + Ysitems = YS_list + }; + + return dto; + } + #endregion } \ No newline at end of file diff --git a/service/Wom/WwGdManager.cs b/service/Wom/WwGdManager.cs index 09de0e9..777d7dc 100644 --- a/service/Wom/WwGdManager.cs +++ b/service/Wom/WwGdManager.cs @@ -939,7 +939,7 @@ ErpAutoid = womdab.Erpid, PbillNo = query.billNo, ItemId = blDetail.Bld012, - DepotId = stockBarcode.DepotsId.ToString(), + DepotId = stockBarcode.DepotId.ToString(), ItemDabid = blDetail.Id, //AboutGuid = womdab.Id // Unit = blDetail.Bld009, @@ -1071,7 +1071,7 @@ // 鍒涘缓 鎻掑叆鏃ュ織 var logService = new LogService(); - var LogMsg = "[PDA]"+query.Type + "銆傛潯鐮併��" +query.barcode+"銆� 鍑哄簱鍗曞彿銆�"+ outNo +"銆�"; + var LogMsg = "[PDA]"+query.Type + "銆傛潯鐮併��" +query.barcode+"銆� 鏁伴噺銆�"+ stockBarcode.Quantity.ToString() + "銆� 鍑哄簱鍗曞彿銆�"+ outNo +"銆�"; logService.CreateLog(db,query.userName,wwgd.Id.ToString(), "WW_GD", LogMsg,wwgd.Daa001); return 1; -- Gitblit v1.9.3