天津投入产出系统后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

305 lines
9.6 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Ref:
using System.Data;
using QMAPP.BoraUpgrade.Common;
using QMAPP.BoraUpgrade.Entity;
namespace QMAPP.BoraUpgrade.DAL
{
/// <summary>
/// 门板种子数据-数据访问类
/// CreateTime:2018.10.31
/// Author :陈冲
/// Mail :22367340@qq.com
/// </summary>
public class ProductDataAccess
{
#region 新增产品信息
/// <summary>
/// 新增产品信息
/// </summary>
/// <param name="eProduct">产品信息实例</param>
/// <returns>成功 True 否则 False</returns>
public static bool Insert(T_AW_PRODUCT eProduct)
{
bool returnVal = false;
string sqlScriptTemp =
@"
Insert Into T_AW_Product
(PID,ProductType,ProductCode,ProductSource,MachineCodde,Material_Code,[Status],IsParent,CurrentProcess,PRODUCELINE,PRODUCESHIFTNAME,PRODUCESHIFTTCODE,
OutFlag,UsingState,Capacity,UsingCount,CreateUser,UpdateUser,WorkCell_Code,WorkLoc_Code,WorkCenter_Code,
Team_code,EndofLine,MATERIAL_TYPE,CreateDate,UpdateDate,PLAN_NO)
Values
(
'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}',
'{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}',
'{20}','{21}','{22}','{23}',getdate(),getdate(),'{24}'
)";
string sqlScript =
string.Format(sqlScriptTemp,
eProduct.PID, eProduct.PRODUCTTYPE, eProduct.PRODUCTCODE, eProduct.PRODUCTSOURCE,
eProduct.MACHINECODDE, eProduct.MATERIAL_CODE, eProduct.STATUS, eProduct.ISPARENT, eProduct.CURRENTPROCESS,
eProduct.PRODUCELINE, eProduct.PRODUCESHIFTNAME, eProduct.PRODUCESHIFTTCODE, eProduct.OUTFLAG,
eProduct.USINGSTATE, eProduct.CAPACITY, eProduct.USINGCOUNT, eProduct.CREATEUSER, eProduct.UPDATEUSER,
eProduct.WORKCELL_CODE, eProduct.WORKLOC_CODE, eProduct.WORKCENTER_CODE, eProduct.TEAM_CODE,
eProduct.ENDOFLINE, eProduct.MATERIAL_TYPE, eProduct.PLAN_NO
);
try
{
//执行SQL
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, sqlScript);
if (count > 0)
{
returnVal = true;
}
}
catch (Exception)
{
//后续加入日志
throw;
}
return returnVal;
}
#endregion
#region wrx
/// <summary>
/// 是否铣削过
/// </summary>
/// <param name="productCode"></param>
/// <returns>1:已铣削 0:未铣削</returns>
public static int GetIsMilling(string productCode)
{
string sqlScript =
@"Select Top 1 * From [dbo].[T_AW_MillingRecord] Where BarCode = '{0}' Order By AddTime Desc";
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript, productCode));
if (dataSet.Tables.Count > 0)
{
if(dataSet.Tables[0].Rows.Count > 0)
return 1;
}
return 0;
}
#endregion
#region 根据ProductCode提取产品实例
/// <summary>
/// 根据ProductCode提取产品实例
/// </summary>
/// <param name="productCode">产品编号</param>
/// <returns></returns>
public static DataTable GetProductByProductCode(string productCode)
{
DataTable returnVal = new DataTable();
string sqlScript =
@"Select Top 1 * From [dbo].[T_AW_PRODUCT] Where USINGSTATE<> 2 and PRODUCTCODE = '{0}' Order By CREATEDATE Desc";
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript, productCode));
if (dataSet.Tables.Count > 0)
{
returnVal = dataSet.Tables[0];
}
return returnVal;
}
/// <summary>
/// 根据产品条码以及工位查询
/// </summary>
/// <param name="productCode"></param>
/// <param name="locCode"></param>
/// <returns></returns>
public static DataTable GetProductByLocCode(string productCode, string locCode)
{
DataTable returnVal = new DataTable();
string sqlScript =
@"Select Top 1 * From [dbo].[T_AW_PRODUCT] Where PRODUCTCODE = '{0}' and WORKLOC_CODE='{1}' Order By UPDATEDATE Desc,CREATEDATE Desc ";
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript, productCode, locCode));
if (dataSet.Tables.Count > 0)
{
returnVal = dataSet.Tables[0];
}
return returnVal;
}
public static DateTime GetServiceDateTime()
{
StringBuilder sql = new StringBuilder();
try
{
string sqlScript = @"select GetDATE() as time ";
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, string.Format(sqlScript));
if (dataSet.Tables.Count > 0)
{
string datetimestr = dataSet.Tables[0].Rows[0]["time"].ToString() ;
return DateTime.Parse(datetimestr);
}
return DateTime.Now;
}
catch (Exception ex)
{
throw ex;
}
}
public static DataTable GetBora3MCodes(string pMaterialCode)
{
DataTable table = null;
List<string> list = new List<string>();
string sqlScript = $" select * from T_BD_Bora3Materials where Bora3MCode ='{pMaterialCode}'";
DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, sqlScript);
if (dataSet.Tables.Count > 0)
{
table = dataSet.Tables[0];
//foreach (DataRow dataRow in table.Rows)
//{
// string pbom = dataRow["Bora3MCode"].ToString();
// if (!list.Contains(pbom) && !string.IsNullOrEmpty(pbom))
// {
// list.Add(pbom);
// }
//}
}
return table;
}
public static bool UpdateProductMaterialCode(string productCode, string mCode, string bora3MCode)
{
bool returnVal = false;
string sqlScriptTemp = @"Update T_AW_Product Set MATERIAL_CODE = '{0}' Where PRODUCTCODE = '{1}' ";
string sqlScript =
string.Format(sqlScriptTemp, mCode, productCode);
try
{
//执行SQL
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, sqlScript);
if (count > 0)
{
returnVal = true;
}
}
catch (Exception)
{
//后续加入日志
throw;
}
return returnVal;
}
#endregion
#region 修改产品信息
/// <summary>
/// 修改产品信息
/// </summary>
/// <param name="eProduct">产品信息实例</param>
/// <returns>成功 True 否则 False</returns>
public static bool Update(T_AW_PRODUCT eProduct)
{
bool returnVal = false;
string sqlScriptTemp =
@"
Update T_AW_Product Set PLAN_NO = '{0}' Where PID = '{1}'
";
string sqlScript =
string.Format(sqlScriptTemp,eProduct.PLAN_NO,eProduct.PID
);
try
{
//执行SQL
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, sqlScript);
if (count > 0)
{
returnVal = true;
}
}
catch (Exception)
{
//后续加入日志
throw;
}
return returnVal;
}
#endregion
#region 修改产品信息
/// <summary>
/// 修改产品信息
/// </summary>
/// <param name="eProduct">产品信息实例</param>
/// <returns>成功 True 否则 False</returns>
public static bool Modify(T_AW_PRODUCT eProduct)
{
bool returnVal = false;
string sqlScriptTemp =
@"
Update T_AW_Product Set WORKCELL_CODE = '{0}',WORKLOC_CODE = '{1}',WORKCENTER_CODE='{2}',MATERIAL_TYPE='{3}' Where PID = '{4}'
";
string sqlScript =
string.Format(sqlScriptTemp, eProduct.WORKCELL_CODE,eProduct.WORKLOC_CODE,eProduct.WORKCENTER_CODE, eProduct.MATERIAL_TYPE,eProduct.PID
);
try
{
//执行SQL
int count = SqlHelper.ExecuteNonQuery(Config.maindbConnectionString, CommandType.Text, sqlScript);
if (count > 0)
{
returnVal = true;
}
}
catch (Exception)
{
//后续加入日志
throw;
}
return returnVal;
}
#endregion
}
}