using Mesnac.Action.ChemicalWeighing.Entity;
using Mesnac.Codd.Session;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mesnac.Action.ChemicalWeighing.BinManage
{
class BinHelper
{
#region 查询料仓信息
///
/// 查询料仓信息
///
/// 料仓信息表
public static DataTable getBin()
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
string strSql = "SELECT Bin_Serial, Material_ID, Material_name FROM Pmt_Bin LEFT JOIN Pmt_material ON Pmt_Bin.Material_ID=Pmt_material.ID ORDER BY Bin_Serial";
dbHelper.CommandText = strSql;
DataTable table = dbHelper.ToDataTable();
return table;
}
#endregion
#region 获取物料名与ID对象集合
///
/// 获取所有物料对象集合
///
///
public static List GetMaterialList()
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
string sqlstr = "SELECT ID, Material_name FROM Pmt_material";
dbHelper.CommandText = sqlstr;
DataTable table = dbHelper.ToDataTable();
List lst = new List();
Pmt_material material = null;
foreach (DataRow row in table.Rows)
{
material = new Pmt_material();
material.ID = Mesnac.Basic.DataProcessor.RowValue(row, "ID", String.Empty);
material.Material_name = Mesnac.Basic.DataProcessor.RowValue(row, "Material_name", String.Empty);
lst.Add(material);
}
return lst;
}
#endregion
#region 根据料仓号修改对应物料
public static void updateBin(Pmt_Bin bin)
{
try
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
string strSql = "UPDATE Pmt_Bin SET Material_ID=@MaterialId, IF_FLAG=@IfFlag WHERE Bin_Serial=@BinSerial";
dbHelper.CommandText = strSql;
dbHelper.AddParameter("@MaterialId", bin.Material_ID);
dbHelper.AddParameter("@BinSerial", bin.Bin_Serial);
dbHelper.AddParameter("@IfFlag", 1);
dbHelper.ExecuteNonQuery();
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService.Error("修改料仓信息异常:" + ex.Message, ex);
}
}
#endregion
#region 获取bin对象集合
public static List getBinList()
{
DataTable userTable = getBin();
List lst = new List();
foreach (DataRow row in userTable.Rows)
{
Pmt_Bin bin = new Pmt_Bin
{
Bin_Serial = Mesnac.Basic.DataProcessor.RowValue(row, "Bin_Serial", 0),
Material_ID = Mesnac.Basic.DataProcessor.RowValue(row, "Material_ID", String.Empty)
};
lst.Add(bin);
}
return lst;
}
#endregion
}
}