using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;
using MESClassLibrary.BLL;
using MESClassLibrary.BLL.Log;
using MESClassLibrary.EFModel;
using MESClassLibrary.Enum;
using MESClassLibrary.Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace MESClassLibrary.DAL.Injection
{
public class WmsDAL
{
#region 注塑
///
/// wms注塑中间表tb_Injectionn_Interface批量插入箱码,注塑码数据
///
///
///
public string SaveInterface(DataTable barCodeTable,string badReason,string station)
{
LocalDBService local = new LocalDBService(SqlHelper.GetConnSting());
try
{
local.BeginTrans();
foreach (DataRow dr in barCodeTable.Rows)
{
try
{
string sql = $" insert into tb_Injectionn_Interface(PackageCode,OneBarCode,BarCode,Remark,QaRst,Describe,BadReason,Station)" +
$" values ('{dr["BoxNo"]}','{dr["OneBarCode"]}','{dr["BarCode"]}','','0','{dr["PartName"]}','{badReason}','{station}')";
local.Exec_NonQuery(sql);
}
catch(Exception ex)
{
if (ex.Message.Contains("重复键"))
{
continue;
}
}
}
local.Commit();
}
catch (Exception ex)
{
if (local != null)
{
local.Rollback();
}
return ex.Message;
}
finally
{
if (local != null)
{
local.EndTrans();
}
}
return null;
}
public bool SaveInterface(LocalDBService local, BarCodeModel bcm,string badReason,string station)
{
string sql = $" insert into tb_Injectionn_Interface(PackageCode,OneBarCode,BarCode,Remark,QaRst,Describe,BadReason,Station)" +
$" values ('{bcm.BoxNo}','{bcm.OneBarCode}','{bcm.BarCode}','{bcm.Remark}','{bcm.IsBad}','{bcm.Des1}','{badReason}','{station}')";
return local.Exec_NonQuery(sql);
}
public bool DeleteInterface(LocalDBService local, string oneBarCode)
{
try
{
string column1 = "OneBarCode";
if (oneBarCode.Contains("."))
{
column1 = "BarCode";
}
string sql2 = $"select * from tb_Injectionn_Interface where {column1}='{oneBarCode}' and WmsRead = 1";
DataTable dt = local.Exec_DataSet(sql2).Tables[0];
if(dt.Rows.Count > 0)
{
return false;
}
string sql = $"delete from tb_Injectionn_Interface where {column1}='{oneBarCode}'";
local.Exec_NonQuery(sql);
return true;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
///
/// wms注塑中间表tb_Injectionn_Interface 单条插入箱码,注塑码数据
///
///
///
///
///
///
public bool AddRecord(LocalDBService localDB, string boxNo, string oneBarCode, string barCode,string isBad,string desc,string badReason,string station)
{
string sql = $"insert into tb_Injectionn_Interface(PackageCode,OneBarCode,BarCode,Remark,QaRst,Describe,BadReason,Station) " +
$"values ('{boxNo}','{oneBarCode}','{barCode}','','{isBad}','{desc}','{badReason}','{station}')";
localDB.Exec_NonQuery(sql);
return true;
}
///
/// 删除一条WMS中间表数据. 装箱过程中发现一条报废产品,删除.
///
///
///
///
///
///
public bool DeleteRecord(LocalDBService localDB, string boxNo, string oneBarCode, string barCode)
{
string sql = $"delete from tb_Injectionn_Interface where PackageCode='{boxNo}' and OneBarCode='{oneBarCode}' and BarCode='{barCode}'";
localDB.Exec_NonQuery(sql);
return true;
}
///
/// 箱码是否已传递到wms
///
///
///
public bool IsSendPackageCode(string pacakgCode)
{
try
{
string sql = $" select * from tb_Injectionn_Interface where PackageCode='{pacakgCode}'";
DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
return dt.Rows.Count > 0;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return true;
}
}
///
/// wms 是否已读
///
///
///
public bool IsReadBoxInWms(string pacakgCode)
{
try
{
string sql = $" select * from tb_Injectionn_Interface where PackageCode='{pacakgCode}' and WmsRead =1";
DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
return dt.Rows.Count > 0;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return true;
}
}
public bool IsReadBarCodeInWms(string barCode)
{
try
{
string sql = string.Empty;
if (barCode.Contains("."))
{
sql = $" select * from tb_Injectionn_Interface where BarCode='{barCode}' and WmsRead =1";
}
else
{
sql = $" select * from tb_Injectionn_Interface where OneBarCode='{barCode}' and WmsRead =1";
}
DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
return dt.Rows.Count > 0;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return true;
}
}
public bool DelRecordByBox(string boxNo)
{
try
{
string sql = $" select * from tb_Injectionn_Interface where PackageCode='{boxNo}' and WmsRead =1";
DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
if( dt.Rows.Count > 0)
{
return false;
}
else
{
string sql2 = $"delete from tb_Injectionn_Interface where PackageCode='{boxNo}' and WmsRead =0";
SqlHelper.ExecuteNonQuery(SqlHelper.GetConnSting(), CommandType.Text, sql2, null);
return true;
}
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return true;
}
}
public bool DelRecordByBox(LocalDBService localDB, string boxNo)
{
string sql = $" select * from tb_Injectionn_Interface where PackageCode='{boxNo}' and WmsRead =1";
DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
if (dt.Rows.Count > 0)
{
return false;
}
else
{
string sql2 = $"delete from tb_Injectionn_Interface where PackageCode='{boxNo}' and WmsRead =0";
localDB.Exec_NonQuery(sql2);
// SqlHelper.ExecuteNonQuery(SqlHelper.GetConnSting(), CommandType.Text, sql2, null);
return true;
}
}
#endregion
#region 喷涂
#endregion
}
}