using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using System.Reflection; using MESClassLibrary.BLL.Log; using MESClassLibrary.Model; namespace MESClassLibrary.DAL.Injection { public class InjectionBoxDAL { public static string TableName = "tb_Injection_BoxRecord"; public bool AddInfo(InjectionBoxModel md) { try { #region 添加数据 string sql = ""; SqlParameter[] param = null; sql = "INSERT INTO " + TableName + " (ID,BoxNo,BoxCount,IsFlag,StationNo, PartName,Mould,StandardQty,BoxType"; sql += ") VALUES ("; sql += "@ID,"; sql += "@BoxNo,"; sql += "@BoxCount,"; sql += "@IsFlag,"; sql += "@StationNo,"; sql += "@PartName,"; sql += "@Mould,"; sql += "@StandardQty,"; sql += "@BoxType)"; #region 添加参数 param = new SqlParameter[9]; param[0] = new SqlParameter("@ID", SqlDbType.VarChar); param[0].Value = md.ID; param[1] = new SqlParameter("@BoxNo", SqlDbType.VarChar); param[1].Value = md.BoxNo; param[2] = new SqlParameter("@BoxCount", SqlDbType.Int); param[2].Value = md.BoxCount; param[3] = new SqlParameter("@IsFlag", SqlDbType.Int); param[3].Value = md.IsFlag; param[4] = new SqlParameter("@StationNo", SqlDbType.VarChar); param[4].Value = md.StationNo; param[5] = new SqlParameter("@PartName", SqlDbType.NVarChar); param[5].Value = md.PartName; param[6] = new SqlParameter("@Mould", SqlDbType.NVarChar); param[6].Value = md.Mould; param[7] = new SqlParameter("@StandardQty", SqlDbType.NVarChar); param[7].Value = md.StandardQty; param[8] = new SqlParameter("@BoxType", SqlDbType.VarChar); param[8].Value = md.BoxType; #endregion SqlHelper.ExecuteNonQuery(SqlHelper.GetConnSting(), CommandType.Text, sql, param); #endregion return true; } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public bool UpdateInfo(string packageCode, int addCount, bool isFinish = false) { try { int i = 0; if(addCount > 0) { i = 0; } else { i = 1; } #region 添加数据 string sql = ""; SqlParameter[] param = null; if(isFinish == false) { sql = "update " + TableName + $" set BoxCount = BoxCount+ {addCount} "; sql += $" where BoxCount >={i} and "; sql += "BoxNo=@BoxNo"; } else { sql = "update " + TableName + $" set BoxCount = 0, IsPrint=1 ,remark='整箱报废'"; sql += $" where (1=1) and "; sql += "BoxNo=@BoxNo"; } #region 添加参数 param = new SqlParameter[1]; param[0] = new SqlParameter("BoxNo", SqlDbType.VarChar); param[0].Value = packageCode; #endregion SqlHelper.ExecuteNonQuery(SqlHelper.GetConnSting(), CommandType.Text, sql, param); #endregion return true; } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public bool UpdateInfo(LocalDBService localDB, string packageCode, int addCount, bool isFinish = false) { int i = 0; if (addCount > 0) { i = 0; } else { i = 1; } string sql = ""; SqlParameter[] param = null; if (isFinish == false) { sql = "update " + TableName + $" set BoxCount = BoxCount+ {addCount} "; sql += $" where BoxCount >={i} and BoxNo='{packageCode}'"; } else { sql = "update " + TableName + $" set BoxCount = 0, IsPrint=1 ,remark='整箱报废'"; sql += $" where (1=1) and BoxNo='{packageCode}'"; } localDB.Exec_NonQuery(sql); return true; } public bool UpdatePrinted(string packageCode) { try { #region 添加数据 string sql = ""; SqlParameter[] param = null; sql = "update " + TableName + " set IsPrint = 1, PrintTime=getdate() "; sql += " where "; sql += "BoxNo=@BoxNo"; #region 添加参数 param = new SqlParameter[1]; param[0] = new SqlParameter("BoxNo", SqlDbType.VarChar); param[0].Value = packageCode; #endregion SqlHelper.ExecuteNonQuery(SqlHelper.GetConnSting(), CommandType.Text, sql, param); #endregion return true; } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public DataTable SeachInfoByBox(string partNo,string batchNo) { try { string sql = @"select top 1 * from " + TableName + " where substring(BoxNo,0,CHARINDEX('.',BoxNo))=@partNo and SUBSTRING(SUBSTRING(BoxNo,CHARINDEX('.',BoxNo)+1,LEN(BoxNo)),0,CHARINDEX('.',SUBSTRING(BoxNo,CHARINDEX('.',BoxNo)+1,LEN(BoxNo))))=@batchNo and IsFlag=0 order by [CreateTime] desc"; SqlParameter[] param = new SqlParameter[2]; param[0] = new SqlParameter("@partNo", SqlDbType.VarChar); param[0].Value = partNo; param[1] = new SqlParameter("@batchNo", SqlDbType.VarChar); param[1].Value = batchNo; return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, param).Tables[0]; } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchBox(string BoxNo) { try { string sql = @"select * from " + TableName + " where BoxNo=@BoxNo"; SqlParameter[] param = new SqlParameter[1]; param[0] = new SqlParameter("@BoxNo", SqlDbType.VarChar); param[0].Value = BoxNo; return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, param).Tables[0]; } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchUnBox(string stationID,string mould) { try { string sql = @"select * from " + TableName + " where StationNo=@StationNo and Mould=@Mould and IsPrint=0 order by CreateTime desc "; SqlParameter[] param = new SqlParameter[2]; param[0] = new SqlParameter("@StationNo", SqlDbType.VarChar); param[0].Value = stationID; param[1] = new SqlParameter("@Mould", SqlDbType.VarChar); param[1].Value = mould; return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, param).Tables[0]; } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } } }