namespace NewPdaSqlServer.util
{
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using SqlSugar;
using System;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
using System.Data;
using NewPdaSqlServer.DB;
using System.Data;
using System.Data.SqlClient;
public class PdaJyMangeer
{
///
/// 通用入库校验
///
/// SqlSugar 数据库上下文
/// 操作人工号
/// 物料条码
/// 库位编码
/// 仓库ID
/// 库存组织ID
/// 申请单号
/// 事务类型
/// 包含校验结果的数据传输对象
public ProductionPickDto SalesReturnCheck(SqlSugarScope db, string edtUserNo,
string barcode, string sectionCode, string stockId, string stockOrgId,
string billNo, string transactionNo)
{
var outputMsg = "";
var outputStatus = -1;
using (var conn = new SqlConnection(DbHelperSQL.strConn))
using (var cmd = new SqlCommand("prc_pda_inv_JY", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
// 输入参数配置
SqlParameter[] parameters =
{
new("@pi_user", SqlDbType.NVarChar, 100) { Value = edtUserNo },
new("@pi_barcode", SqlDbType.NVarChar, 100) { Value = barcode },
new("@pi_sectionCode", SqlDbType.NVarChar, 100) { Value = sectionCode },
new("@pi_stockId", SqlDbType.NVarChar, 100) { Value = stockId },
new("@pi_stockOrgId", SqlDbType.NVarChar, 100) { Value = stockOrgId },
new("@pi_billno", SqlDbType.NVarChar, 100) { Value = billNo },
new("@pi_transaction_no", SqlDbType.NVarChar, 10) { Value = transactionNo },
new("@pi_val1", SqlDbType.NVarChar, 100) { Value = DBNull.Value }, // 预留扩展字段
new("@pi_val2", SqlDbType.NVarChar, 100) { Value = DBNull.Value }, // 预留扩展字段
new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output },
new("@po_outStatus", SqlDbType.Int) { Direction = ParameterDirection.Output }
};
try
{
conn.Open();
cmd.Parameters.AddRange(parameters);
cmd.ExecuteNonQuery();
// 获取输出参数
outputMsg = parameters[9].Value?.ToString() ?? "";
outputStatus = Convert.ToInt32(parameters[10].Value);
if (outputStatus <= 0)
throw new Exception(outputMsg);
return new ProductionPickDto
{
barcode = barcode,
strMsg = outputMsg,
result = outputStatus.ToString(),
// 其他需要映射的字段...
};
}
catch (Exception ex)
{
throw new Exception($"入库校验失败: {ex.Message}");
}
}
}
}
}