| | |
| | | using NewPdaSqlServer.entity; |
| | | using NewPdaSqlServer.entity.Base; |
| | | using SqlSugar; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory; |
| | | |
| | | namespace NewPdaSqlServer.service.Warehouse; |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 采购扫码验退 |
| | | /// </summary> |
| | | /// <param name="query"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="ArgumentNullException"></exception> |
| | | /// <exception cref="ArgumentException"></exception> |
| | | /// <exception cref="Exception"></exception> |
| | | public dynamic ScanCgyt(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.barcode?.ToString())) |
| | | throw new ArgumentException("采购物料条码不允许为空", nameof(query.barcode)); |
| | | |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | using (var cmd = new SqlCommand("prc_pda_scan_CGYT", conn)) |
| | | { |
| | | cmd.CommandType = CommandType.StoredProcedure; |
| | | var parameters = new SqlParameter[] |
| | | { |
| | | new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName }, |
| | | new("@pi_barcode", SqlDbType.NVarChar, 100) { Value = query.barcode }, |
| | | new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, |
| | | new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }, |
| | | new("@po_ygdh", SqlDbType.NVarChar, 200) { Direction = ParameterDirection.Output } |
| | | }; |
| | | |
| | | cmd.Parameters.AddRange(parameters); |
| | | conn.Open(); |
| | | cmd.ExecuteNonQuery(); |
| | | |
| | | var result = new |
| | | { |
| | | result = parameters[3].Value.ToString(), |
| | | barcode = query.barcode, |
| | | ytdh = parameters[4].Value.ToString(), |
| | | msg = parameters[2].Value.ToString() |
| | | }; |
| | | |
| | | if (result.result == "-1") |
| | | throw new Exception(parameters[2].Value.ToString()); |
| | | |
| | | return result; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 删除验退单 |
| | | /// </summary> |
| | | /// <param name="query"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="ArgumentNullException"></exception> |
| | | /// <exception cref="ArgumentException"></exception> |
| | | /// <exception cref="Exception"></exception> |
| | | public dynamic deleteCgyt(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.ytdh?.ToString())) |
| | | throw new ArgumentException("追溯码不允许为空", nameof(query.ytdh)); |
| | | |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | using (var cmd = new SqlCommand("prc_pda_delete_CGYT", conn)) |
| | | { |
| | | cmd.CommandType = CommandType.StoredProcedure; |
| | | var parameters = new SqlParameter[] |
| | | { |
| | | new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName }, |
| | | new("@pi_ytdh", SqlDbType.NVarChar, 100) { Value = query.ytdh }, |
| | | new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, |
| | | new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output } |
| | | }; |
| | | |
| | | cmd.Parameters.AddRange(parameters); |
| | | conn.Open(); |
| | | cmd.ExecuteNonQuery(); |
| | | |
| | | var result = new |
| | | { |
| | | result = parameters[3].Value.ToString(), |
| | | msg = parameters[2].Value.ToString(), |
| | | }; |
| | | |
| | | if (result.result == "-1") |
| | | throw new Exception(parameters[2].Value.ToString()); |
| | | |
| | | return result; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取验退单已扫物料信息 |
| | | /// </summary> |
| | | /// <param name="query"></param> |
| | | /// <returns></returns> |
| | | public dynamic getYtItem(string ytdh) |
| | | { |
| | | if (string.IsNullOrEmpty(ytdh?.ToString())) |
| | | throw new ArgumentException("验退单号不允许为空", nameof(ytdh)); |
| | | |
| | | var sqlParams = new List<SugarParameter> { new("@ytdh", ytdh) }; |
| | | |
| | | var sql1 = @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity |
| | | FROM MES_INV_ITEM_CGYT_ITEMS A |
| | | LEFT JOIN MES_INV_ITEM_CGYT B ON A.item_cgyt_id = B.GUID |
| | | LEFT JOIN MES_ITEMS C ON A.item_id = C.item_id |
| | | WHERE B.item_cgyt_no = @ytdh"; |
| | | |
| | | var YtItem = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams); |
| | | |
| | | //if (YtItem.Count < 1) |
| | | //{ |
| | | // throw new Exception($"该验退单号{ytdh}物料明细不存在!"); |
| | | //} |
| | | |
| | | return YtItem; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取验退单已扫条码信息 |
| | | /// </summary> |
| | | /// <param name="query"></param> |
| | | /// <returns></returns> |
| | | public dynamic getYtBarInfo(string ytdh) |
| | | { |
| | | if (string.IsNullOrEmpty(ytdh?.ToString())) |
| | | throw new ArgumentException("验退单号不允许为空", nameof(ytdh)); |
| | | |
| | | var sqlParams = new List<SugarParameter> { new("@ytdh", ytdh) }; |
| | | |
| | | var sql1 = @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity,A.ITEM_BARCODE |
| | | FROM MES_INV_ITEM_CGYT_C_DETAILS A |
| | | LEFT JOIN MES_INV_ITEM_CGYT B ON A.item_cgyt_id = B.GUID |
| | | LEFT JOIN MES_ITEMS C ON A.item_id = C.item_id |
| | | WHERE B.item_cgyt_no = @ytdh"; |
| | | |
| | | var YtBarInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams); |
| | | |
| | | //if (YtBarInfo.Count < 1) |
| | | //{ |
| | | // throw new Exception($"该验退单号{ytdh}他们不存在!"); |
| | | //} |
| | | |
| | | return YtBarInfo; |
| | | } |
| | | } |