From 004a418bd6674d62d06587030e29897ce430f0f2 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期三, 30 四月 2025 15:57:04 +0800 Subject: [PATCH] 1.异常处置单推送OA 2.现场管理新增现场收料的条码查询功能 --- service/Wom/WomdaaManager.cs | 132 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 132 insertions(+), 0 deletions(-) diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs index 2cbe9c2..066314a 100644 --- a/service/Wom/WomdaaManager.cs +++ b/service/Wom/WomdaaManager.cs @@ -532,4 +532,136 @@ } } } + + public dynamic SubmitKbInspection(dynamic query) + { + if (query == null) throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓� null"); + + // 鍙傛暟鏍¢獙 + if (string.IsNullOrEmpty(query.userAccount?.ToString())) + throw new ArgumentException("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖", nameof(query.userAccount)); + + if (string.IsNullOrEmpty(query.KbBar?.ToString())) + throw new ArgumentException("鍗℃澘鏉$爜涓嶅厑璁镐负绌�", nameof(query.KbBar)); + + var _strMsg = ""; + var _status = -1; + using (var conn = new SqlConnection(DbHelperSQL.strConn)) + { + using (var cmd = new SqlCommand("prc_pda_KBbar_submitInspection", conn)) + { + try + { + conn.Open(); + cmd.CommandType = CommandType.StoredProcedure; + SqlParameter[] parameters = + { + new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userAccount }, + new("@pi_kb_barcode", SqlDbType.NVarChar, 100) { Value = query.KbBar }, + new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, + new("@po_outStatus", SqlDbType.Int) { Direction = ParameterDirection.Output } + }; + + foreach (var parameter in parameters) + cmd.Parameters.Add(parameter); + + cmd.ExecuteNonQuery(); + + _strMsg = parameters[2].Value?.ToString() ?? ""; + _status = Convert.ToInt32(parameters[3].Value ?? -1); + + if (_status <= 0) throw new Exception(_strMsg); + + return new { + message = _strMsg, + status = _status, + kbBarcode = query.KbBar + }; + } + catch (Exception ex) + { + throw new Exception($"鍗℃澘閫佹澶辫触锛歿ex.Message}"); + } + finally + { + conn.Close(); + } + } + } + } + + + + //鏍规嵁宸ュ崟鍙疯繑鍥炰骇鍝佸瀷鍙峰拰寰呴鐗╂枡 + public ProductionPickDto GetItemsXcsl(WarehouseQuery query) + { + if (string.IsNullOrEmpty(query.daa001)) throw new Exception("宸ュ崟鍙蜂负绌�"); + + var womdaa = Db.Queryable<Womdaa, MesItems>((a, i) => + new JoinQueryInfos(JoinType.Left, + a.Daa002 == i.ItemId.ToString())) + .Where((a, i) => a.Daa001 == query.daa001 + && a.Fstatus == 1) + .Select((a, i) => new + { + a.Daa001, + a.CaaGuid + }).First(); + + if (womdaa?.Daa001 == null) throw new Exception("宸ュ崟鍙蜂笉瀛樺湪"); + + var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,b.dab006 FQty,b.dab007 SQty,b.dab006 - b.dab007 DSQty , + dbo.F_QX_GETRECODEPOTSE(B.dab003) as RecoKw + FROM WOMDAB B + LEFT JOIN WOMDAA A ON A.guid = B.daaGuid + LEFT JOIN MES_ITEMS C ON B.dab003 = C.item_id + LEFT JOIN WOMCAB D ON B.erpid = D.ERPID + WHERE daa001 = '{0}' AND ISSUE_TYPE = 1 ORDER BY DAB002", query.daa001); + + 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 mesInvItemOutCDetailsList = Db + .Queryable<MesInvItemOutCDetails, MesItems, MesDepots> + ((a, b, c) => + new JoinQueryInfos( + JoinType.Inner, a.ItemId == b.Id, + JoinType.Inner, c.DepotId == a.DepotId + )) + .Where((a, b, c) => a.WorkNo == query.daa001) + .Select((a, b, c) => new MesInvItemOutCDetails + { + ItemName = b.ItemName, + ItemNo = b.ItemNo, + ItemId = a.ItemId, + DepotId = a.DepotId, + WorkNo = a.WorkNo, + DepotName = c.DepotName, + Quantity = a.Quantity + }) + .ToList(); + + var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == womdaa.CaaGuid) + .First(); + + if (womcaa == null) + { + throw new Exception("鐢熶骇浠诲姟鍗曚笉瀛樺湪"); + } + + var dto = new ProductionPickDto + { + daa001 = womdaa.Daa001, + PlanNo = womcaa.Caa020, + items = DS_list, + Ysitems = YS_list + // yisao = mesInvItemOutCDetailsList + }; + + return dto; + } } \ No newline at end of file -- Gitblit v1.9.3