| | |
| | | using Masuit.Tools.Models; |
| | | using Masuit.Tools.Models; |
| | | using Microsoft.AspNetCore.SignalR.Protocol; |
| | | using NewPdaSqlServer.DB; |
| | | using NewPdaSqlServer.Dto.service; |
| | |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory; |
| | | using DbHelperSQL = NewPdaSqlServer.DB.DbHelperSQL; |
| | | |
| | | namespace NewPdaSqlServer.service.Warehouse; |
| | | |
| | |
| | | }; |
| | | } |
| | | |
| | | public dynamic WcsmBar(WarehouseQuery entity) |
| | | { |
| | | if (entity == null) throw new ArgumentNullException(nameof(entity), "参数对象不能为 null"); |
| | | |
| | | // 参数校验 |
| | | if (string.IsNullOrEmpty(entity.userName?.ToString())) |
| | | throw new ArgumentException("操作人员不允许为空", nameof(entity.userName)); |
| | | |
| | | if (string.IsNullOrEmpty(entity.barcode?.ToString())) |
| | | throw new ArgumentException("条码不允许为空", nameof(entity.barcode)); |
| | | |
| | | var _strMsg = ""; |
| | | var _status = -1; |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | using (var cmd = new SqlCommand("prc_pda_wcsm", conn)) |
| | | { |
| | | try |
| | | { |
| | | conn.Open(); |
| | | cmd.CommandType = CommandType.StoredProcedure; |
| | | // 根据存储过程设置参数 |
| | | SqlParameter[] parameters = |
| | | { |
| | | new SqlParameter("@pi_user", SqlDbType.NVarChar, 100) { Value = entity.userName }, |
| | | new SqlParameter("@pi_barcode", SqlDbType.NVarChar, 100) { Value = entity.barcode }, |
| | | new SqlParameter("@pi_sectionCode", SqlDbType.NVarChar, 100) { Value = entity.sectionCode == null ? DBNull.Value : (object)entity.sectionCode }, |
| | | new SqlParameter("@pi_IN1", SqlDbType.NVarChar, 30) { Value = DBNull.Value }, // 备用字段1 |
| | | new SqlParameter("@pi_IN2", SqlDbType.NVarChar, 30) { Value = DBNull.Value }, // 备用字段2 |
| | | new SqlParameter("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, |
| | | new SqlParameter("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output } |
| | | }; |
| | | |
| | | foreach (var parameter in parameters) |
| | | cmd.Parameters.Add(parameter); |
| | | |
| | | cmd.ExecuteNonQuery(); |
| | | |
| | | _strMsg = parameters[5].Value?.ToString() ?? ""; |
| | | _status = Convert.ToInt32(parameters[6].Value ?? -1); |
| | | |
| | | if (_status <= 0) throw new Exception(_strMsg); |
| | | |
| | | return new |
| | | { |
| | | message = _strMsg, |
| | | status = _status, |
| | | userName = entity.userName, |
| | | barcode = entity.barcode, |
| | | sectionCode = entity.sectionCode |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception($"外仓扫码入库失败:{ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | conn.Close(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public dynamic WcsmDetail(WarehouseQuery entity) |
| | | { |
| | | if (entity == null) throw new ArgumentNullException(nameof(entity), "参数对象不能为 null"); |
| | | |
| | | // 参数校验 |
| | | if (string.IsNullOrEmpty(entity.barcode?.ToString())) |
| | | throw new ArgumentException("条码不允许为空", nameof(entity.barcode)); |
| | | |
| | | // 使用ADO.NET直接调用存储过程 |
| | | var ds = new DataSet(); |
| | | |
| | | // 假设您使用的是SQL Server,创建SqlConnection |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | conn.Open(); |
| | | |
| | | using (var cmd = new SqlCommand("prc_pda_wcsm_detailList", conn)) |
| | | { |
| | | cmd.CommandType = CommandType.StoredProcedure; |
| | | |
| | | // 添加参数 |
| | | cmd.Parameters.Add(new SqlParameter("@daa001", entity.barcode)); |
| | | cmd.Parameters.Add(new SqlParameter("@pi_orgId", DBNull.Value)); |
| | | cmd.Parameters.Add(new SqlParameter("@inP1", DBNull.Value)); |
| | | cmd.Parameters.Add(new SqlParameter("@inP2", DBNull.Value)); |
| | | cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value)); |
| | | cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value)); |
| | | |
| | | using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd)) |
| | | { |
| | | adapter.Fill(ds); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 验证结果集数量 |
| | | if (ds.Tables.Count < 4) |
| | | { |
| | | throw new ApplicationException($"存储过程返回的结果集数量不足,期望4个,实际{ds.Tables.Count}个"); |
| | | } |
| | | |
| | | // 转换结果(统一使用ds) |
| | | var unscannedList = Db.Utilities.DataTableToDynamic(ds.Tables[0]); |
| | | var otherUnscannedList = Db.Utilities.DataTableToDynamic(ds.Tables[1]); |
| | | var scanProgressList = Db.Utilities.DataTableToDynamic(ds.Tables[2]); |
| | | var daaInfo = Db.Utilities.DataTableToDynamic(ds.Tables[3]); |
| | | |
| | | return new |
| | | { |
| | | unscannedList, |
| | | otherUnscannedList, |
| | | scanProgressList, |
| | | daaInfo |
| | | }; |
| | | } |
| | | |
| | | public (List<MesInvItemIns> Items, int TotalCount) GetInvItemInsList( |
| | | WarehouseQuery query) |
| | | { |