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
|
{
|
|
/// <summary>
|
/// 通用入库校验
|
/// </summary>
|
/// <param name="db">SqlSugar 数据库上下文</param>
|
/// <param name="edtUserNo">操作人工号</param>
|
/// <param name="barcode">物料条码</param>
|
/// <param name="sectionCode">库位编码</param>
|
/// <param name="stockId">仓库ID</param>
|
/// <param name="stockOrgId">库存组织ID</param>
|
/// <param name="billNo">申请单号</param>
|
/// <param name="transactionNo">事务类型</param>
|
/// <returns>包含校验结果的数据传输对象</returns>
|
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}");
|
}
|
}
|
}
|
}
|
}
|