using System.Data;
|
using System.Data.SqlClient;
|
using Masuit.Tools;
|
using NewPdaSqlServer.DB;
|
using NewPdaSqlServer.Dto.service;
|
using NewPdaSqlServer.entity;
|
using SqlSugar;
|
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
|
|
namespace NewPdaSqlServer.service.Warehouse;
|
|
public class MesCprkManager : Repository<MesCgthSq>
|
{
|
public dynamic GetBarInfo(WarehouseQuery unity)
|
{
|
|
// 使用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_cprk_wllist", conn))
|
{
|
cmd.CommandType = CommandType.StoredProcedure;
|
|
// 添加参数
|
cmd.Parameters.Add(new SqlParameter("@barcode", unity.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);
|
}
|
}
|
}
|
|
// 转换结果
|
var Info = ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0 ? Db.Utilities.DataTableToDynamic(ds.Tables[0]) : Enumerable.Empty<dynamic>();
|
var XcslItem = ds.Tables.Count > 1 && ds.Tables[1].Rows.Count > 0 ? Db.Utilities.DataTableToDynamic(ds.Tables[1]) : Enumerable.Empty<dynamic>();
|
var XcslYjsBar = ds.Tables.Count > 2 && ds.Tables[2].Rows.Count > 0 ? Db.Utilities.DataTableToDynamic(ds.Tables[2]) : Enumerable.Empty<dynamic>();
|
//var daaInfo = ds.Tables[3]?.Rows?.Count > 0 ? Db.Utilities.DataTableToDynamic(ds.Tables[3]) : null;
|
|
var dto = new
|
{
|
barcodeInfo = Info ?? new object[0], // 如果为null则返回空数组
|
XcslItemList = XcslItem ?? new object[0],
|
XcslWjsBarList = XcslYjsBar ?? new object[0],
|
//XcslYjsBarList = XcslYjsBar ?? new object[0],
|
//DaaInfoList = daaInfo ?? new object[0]
|
};
|
|
return dto;
|
|
//return Db.Queryable<MesInvItemBarcodes>()
|
// .Where(s => s.ItemBarcode == unity.barcode)
|
// .First(); // 返回第一行数据,如果没有则返回 null
|
}
|
|
public MesItems GetItemNo(decimal strItemId)
|
{
|
return Db.Queryable<MesItems>()
|
.Where(s => s.Id == strItemId)
|
.First();
|
}
|
|
public string CPRK(WarehouseQuery unity)
|
{
|
var _strMsg = "";
|
var _intSum = "";
|
using (var conn = new SqlConnection(DbHelperSQL.strConn))
|
{
|
if (unity.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空");
|
if (unity.sectionCode.IsNullOrEmpty()) throw new Exception("库位编号不允许为空");
|
if (unity.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空");
|
|
using (var cmd = new SqlCommand("[prc_pda_inv_cprk]", conn))
|
{
|
try
|
{
|
conn.Open();
|
cmd.CommandType = CommandType.StoredProcedure;
|
SqlParameter[] parameters =
|
{
|
new("@po_outMsg", SqlDbType.NVarChar, 300),
|
new("@po_outSum", SqlDbType.NVarChar, 300),
|
new("@po_womInBarSum", SqlDbType.NVarChar, 300),
|
new("@pi_user", unity.userName),
|
new("@pi_barcode", unity.barcode),
|
new("@pi_sectionCode", unity.sectionCode),
|
|
};
|
parameters[0].Direction = ParameterDirection.Output;
|
parameters[1].Direction = ParameterDirection.Output;
|
parameters[2].Direction = ParameterDirection.Output;
|
|
foreach (var parameter in parameters)
|
cmd.Parameters.Add(parameter);
|
cmd.ExecuteNonQuery();
|
_strMsg = parameters[0].Value.ToString();
|
_intSum = parameters[1].Value.ToString();
|
|
var result = Convert.ToInt32(_intSum);
|
if (result <= 0) throw new Exception(_strMsg);
|
|
return _strMsg;
|
|
//return 0;
|
|
}
|
catch (Exception ex)
|
{
|
throw new Exception(ex.Message);
|
}
|
finally
|
{
|
conn.Close();
|
}
|
}
|
}
|
}
|
|
|
}
|