Controllers/Wom/WomdaaController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
entity/MesItemQtDatall.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/QC/IpqcService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/Warehouse/MesItemQtManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/Wom/WomdaaManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/base/LoginService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Controllers/Wom/WomdaaController.cs
@@ -583,5 +583,58 @@ } } /// <summary> /// 内箱核对 : 扫描后盖码获取信息 /// </summary> /// <returns></returns> [HttpPost("getHgBarInfo")] public ResponseResult getHgBarInfo([FromBody] dynamic query) { try { dynamic resultInfos = new ExpandoObject(); // 先初始化tbBillList属性 resultInfos.tbBillList = new ExpandoObject(); resultInfos.tbBillList.ZsBarInfo = m.getHgBarInfo(query); resultInfos.tbBillList.Traceability = m.getTraceabilityByLsBar(query); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// 内箱核对,追溯码和流水码绑定 /// </summary> /// <returns></returns> [HttpPost("ScanNxhd")] public ResponseResult ScanNxhd([FromBody] dynamic query) { try { dynamic resultInfos = new ExpandoObject(); // 先初始化tbBillList属性 resultInfos.tbBillList = new ExpandoObject(); resultInfos.tbBillList = m.ScanNxhd(query); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } #endregion } entity/MesItemQtDatall.cs
@@ -101,4 +101,10 @@ /// </summary> [SugarColumn(IsIgnore = true)] public string? Qt011 { get; set; } /// <summary> /// 仓库id /// </summary> [SugarColumn(ColumnName = "depotId")] public int? DepotId { get; set; } } service/QC/IpqcService.cs
@@ -93,6 +93,10 @@ public (List<VIpqcXj> item, int TotalCount) getPageXj(XJPageResult queryObj) { var totalCount = 0; var parsedGuid = Guid.Empty; if (!queryObj.id.IsNullOrEmpty()) { @@ -100,10 +104,6 @@ if (!isValid) throw new ApplicationException("GUID转换错误"); } var totalCount = 0; //var pageList = Db.Queryable<VIpqcXj>() // .WhereIF(!string.IsNullOrWhiteSpace(queryObj.keyword), a => // a.ItemNo.Contains(queryObj.keyword) || @@ -168,9 +168,19 @@ AND TRY_CONVERT(date, SUBSTRING([check_time_slot], 1, 10)) = CAST(GETDATE() AS date) AND CAST(GETDATE() AS time) >= '17:00:00' ) )"); ) {0}", parsedGuid != Guid.Empty ? "AND guid = @parsedGuid" : ""); // 新增GUID过滤条件 var pageList = Db.Ado.SqlQuery<VIpqcXj>(sql).ToList(); var sqlParams = new List<SugarParameter> { new("@parsedGuid", parsedGuid) // 新增参数 }; var pageList = Db.Ado.SqlQuery<VIpqcXj>(sql,sqlParams).ToList(); return (pageList, totalCount); } service/Warehouse/MesItemQtManager.cs
@@ -146,14 +146,6 @@ .Where(it => it.Qtck == p_bill_no && it.Qt015 == true && it.Qt026 == true && it.Qt029 == true && it.Qt032 == true) .First(); if (mesItemQt == null) throw new Exception($"其他出库申请单 {p_bill_no} 不存在,请确认!"); // 检查仓库是否一致 if (Convert.ToInt32(mesItemQt.Qt008) != stock.DepotId) throw new Exception( $"扫码出货仓库id{mesItemQt.Qt008}与其他出库申请仓库{stock.DepotId}不一致,请核对!"); // 获取出库单明细 var qtDetail = Db.Queryable<MesItemQtDatall>() .Where(it => @@ -161,6 +153,16 @@ it.ItemId == stock.ItemId.ToString()) .First(); if (mesItemQt == null) throw new Exception($"其他出库申请单 {p_bill_no} 不存在,请确认!"); // 检查仓库是否一致 if (Convert.ToInt32(qtDetail.DepotId) != stock.DepotId) throw new Exception( $"扫码出货仓库id{qtDetail.DepotId}与其他出库申请仓库{stock.DepotId}不一致,请核对!"); if (qtDetail == null) throw new Exception("扫码物料非本次出库申请物料,请核对!"); // 检查剩余数量 service/Wom/WomdaaManager.cs
@@ -301,7 +301,8 @@ LEFT JOIN WORK_TRAC_CODE B ON A.barCode = B.barCode LEFT JOIN SYS_USER C ON C.ACCOUNT = A.createBy LEFT JOIN MES_WORKSHOP_LINE D ON B.lineId = D.id WHERE A.barCode = '{0}'", query.Zsbarcode); WHERE A.barCode = '{0}' ORDER BY A.createDate", query.Zsbarcode); var Traceability = Db.Ado.SqlQuery<dynamic>(sql); @@ -1087,4 +1088,135 @@ } } /// <summary> /// 内箱核对:获取后盖码对应产品信息 /// </summary> /// <param name="query"></param> /// <returns></returns> public dynamic getHgBarInfo(dynamic query) { var sql = string.Format(@"DECLARE @ZsBar varchar(100) SELECT TOP 1 @ZsBar= ABOUT_TRAC_BARCODE FROM MES_INV_ITEM_BARCODES_TBMX WHERE ITEM_BARCODE = '{1}' SELECT TOP 1 A.barCode AS zsBarcode, D.name AS lineName, D.line_no, B.daa001, C.item_no, C.item_name, C.item_model, A.quantity as barQty, B.daa008 as sumQty, isnull((SELECT count(1) FROM WORK_COLLECT WHERE processNo = '{0}' AND ABOUT_GUID = A.ABOUT_GUID),0) AS finQty, isnull((SELECT TOP 1 processNo FROM WORK_COLLECT WHERE WORK_COLLECT.barCode = @ZsBar AND ISNULL(checkResult,'') = '√' AND ISNULL(barCodeStatus,1) = 1 ORDER BY WORK_COLLECT.createDate DESC ),'') AS lastGx FROM WORK_TRAC_CODE A LEFT JOIN WOMDAA B ON A.ABOUT_GUID = B.guid LEFT JOIN MES_ITEMS C ON B.daa002 = C.item_id LEFT JOIN MES_WORKSHOP_LINE D ON A.lineId = D.id WHERE A.barCode = @ZsBar", query.GX, query.Zsbarcode); var ZsBarInfo = Db.Ado.SqlQuery<dynamic>(sql); if (ZsBarInfo.Count < 1) { throw new Exception($"该后盖码{query.Zsbarcode}不存在或未绑定"); } return ZsBarInfo; } /// <summary> /// 内箱核对:根据流水码获取生产履历 /// </summary> /// <param name="query"></param> /// <returns></returns> public dynamic getTraceabilityByLsBar(dynamic query) { var sql = string.Format(@"SELECT processNo, A.barCode, B.lineId, line_no, name AS lineName, checkResult, C.USER_NAME FROM WORK_COLLECT A LEFT JOIN WORK_TRAC_CODE B ON A.barCode = B.barCode LEFT JOIN SYS_USER C ON C.ACCOUNT = A.createBy LEFT JOIN MES_WORKSHOP_LINE D ON B.lineId = D.id WHERE A.barCode = (SELECT TOP 1 ABOUT_TRAC_BARCODE FROM MES_INV_ITEM_BARCODES_TBMX WHERE ITEM_BARCODE = '{0}') ORDER BY A.createDate", query.Zsbarcode); var Traceability = Db.Ado.SqlQuery<dynamic>(sql); return Traceability; } /// <summary> /// 内箱核对:扫码核对 /// </summary> /// <param name="query"></param> /// <returns></returns> /// <exception cref="ArgumentNullException"></exception> /// <exception cref="ArgumentException"></exception> /// <exception cref="Exception"></exception> public dynamic ScanNxhd(dynamic query) { if (query == null) throw new ArgumentNullException(nameof(query), "参数对象不能为 null"); // 2. 使用 string.IsNullOrEmpty 直接判断字符串属性(避免 NullReferenceException) if (string.IsNullOrEmpty(query.userName?.ToString())) throw new ArgumentException("用户名不允许为空", nameof(query.userName)); if (string.IsNullOrEmpty(query.ZsBar?.ToString())) throw new ArgumentException("后盖码不允许为空", nameof(query.ZsBar)); if (string.IsNullOrEmpty(query.LsBar?.ToString())) throw new ArgumentException("箱条码不允许为空", nameof(query.LsBar)); var _strMsg = ""; var _intSum = ""; using (var conn = new SqlConnection(DbHelperSQL.strConn)) { using (var cmd = new SqlCommand("prc_pda_Scan_Nxhd", conn)) { try { conn.Open(); cmd.CommandType = CommandType.StoredProcedure; SqlParameter[] parameters = { new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName }, new("@pi_hg_barcode", SqlDbType.NVarChar, 100) { Value = query.ZsBar }, new("@pi_x_barcode", SqlDbType.NVarChar, 100) { Value = query.LsBar }, 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[3].Value?.ToString() ?? ""; _intSum = parameters[4].Value?.ToString() ?? "-1"; var result = Convert.ToInt32(_intSum); if (result <= 0) throw new Exception(_strMsg); var dto = new { message = _strMsg, status = result, tracBarcode = query.ZsBar }; return dto; } catch (Exception ex) { throw new Exception(ex.Message); } finally { conn.Close(); } } } } } service/base/LoginService.cs
@@ -35,7 +35,7 @@ else { string sql = string.Format(@"SELECT A.* FROM MES_SYS_PAGEVIEW A LEFT JOIN SYS_USER_BIND B ON A.guid = B.aboutGuid LEFT JOIN SYS_USER_BIND B ON CAST(A.guid AS VARCHAR(100)) = B.aboutGuid LEFT JOIN SYS_USER C ON C.GUID = B.userGuid WHERE C.ACCOUNT = '{0}'", name); pageViewList = Db.Ado.SqlQuery<MesSysPageview>(sql);