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.
243 lines
9.0 KiB
243 lines
9.0 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using ICSSoft.Frame.Data.Entity;
|
|
using ICSSoft.Base.Config.AppConfig;
|
|
using System.Data;
|
|
using ICSSoft.Base.Config.DBHelper;
|
|
|
|
namespace ICSSoft.Frame.Data.DAL
|
|
{
|
|
public class ICSOPDAL
|
|
{
|
|
#region 新增和修改
|
|
public static void Add(List<FormICSOPUIModel> tbInfoList, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
foreach (FormICSOPUIModel tbinfo in tbInfoList)
|
|
{
|
|
bool isNew = false;
|
|
var line = db.ICSOP.SingleOrDefault(a => a.OPCODE == tbinfo.OPCODE && a.WorkPoint == AppConfig.WorkPointCode);
|
|
if (line == null)
|
|
{
|
|
isNew = true;
|
|
line = new ICSOP();
|
|
line.ID = AppConfig.GetGuid();
|
|
line.OPCODE = tbinfo.OPCODE;
|
|
}
|
|
line.OPDESC = tbinfo.OPDESC;
|
|
line.OPCOLLECTION = tbinfo.OPCOLLECTION;
|
|
line.OPCONTROL = tbinfo.OPCONTROL;
|
|
line.OPNAME = tbinfo.OPNAME;
|
|
line.CostCenter = tbinfo.CostCenter;
|
|
//line.OpFrom = tbinfo.OpFrom;
|
|
line.EnableFlag = tbinfo.EnableFlag;
|
|
line.EATTRIBUTE1 = tbinfo.EATTRIBUTE1;
|
|
line.MUSER = AppConfig.UserId;
|
|
line.MUSERName = AppConfig.UserName;
|
|
line.MTIME = DateTime.Now;
|
|
line.WorkPoint = AppConfig.WorkPointCode;
|
|
|
|
if (isNew)
|
|
db.ICSOP.InsertOnSubmit(line);
|
|
db.SubmitChanges();
|
|
}
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
#region 工序代码是否存在
|
|
public static bool IsIncluding(string opCODE, string dsconn)
|
|
{
|
|
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var line = db.ICSOP.SingleOrDefault(a => a.OPCODE == opCODE);
|
|
if (line == null)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region 查询工序信息
|
|
public static List<FormICSOPUIModel> SearchOPInfo(string opcode, string dsconn)
|
|
{
|
|
List<FormICSOPUIModel> returnOP = new List<FormICSOPUIModel>();
|
|
string sql = @"select OPCODE,OPDESC,OPNAME,OPCOLLECTION,OPCONTROL,CostCenter,EATTRIBUTE1,EnableFlag from ICSOP where OPCODE='{0}'";
|
|
sql = string.Format(sql, opcode);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSOPUIModel returnInfo = new FormICSOPUIModel();
|
|
returnInfo.OPCODE = dr["OPCODE"].ToString();
|
|
returnInfo.OPDESC = dr["OPDESC"].ToString();
|
|
returnInfo.OPNAME = dr["OPNAME"].ToString();
|
|
returnInfo.OPCOLLECTION = dr["OPCOLLECTION"].ToString();
|
|
returnInfo.OPCONTROL = dr["OPCONTROL"].ToString();
|
|
returnInfo.CostCenter = dr["CostCenter"].ToString();
|
|
returnInfo.EATTRIBUTE1 = dr["EATTRIBUTE1"].ToString();
|
|
returnInfo.EnableFlag = Convert.ToBoolean(dr["EnableFlag"]);
|
|
returnOP.Add(returnInfo);
|
|
}
|
|
return returnOP;
|
|
}
|
|
#endregion
|
|
#region 删除
|
|
public static void deleteInfo(List<string> codeList, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var lines = db.ICSOP.Where(a => codeList.Contains(a.OPCODE));
|
|
db.ICSOP.DeleteAllOnSubmit(lines);
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
#region 判断是否在工序和资源的关系中
|
|
public static bool Including2RES(List<string> idList, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
bool flag = false;
|
|
var lines = db.ICSOP2RES.Where(a => idList.Contains(a.OPID));
|
|
if (lines.Count() != 0)
|
|
flag = true;
|
|
|
|
return flag;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region 判断是否在途程和工序的关系中
|
|
public static bool IncludingROUTE2OP(List<string> idList, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
bool flag = false;
|
|
var lines = db.ICSROUTE2OP.Where(a => idList.Contains(a.OPID));
|
|
if (lines.Count() != 0)
|
|
flag = true;
|
|
|
|
return flag;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
|
|
public static List<ICSROUTE2OP> GetROUTE2OP(List<string> idList, string wp, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
try
|
|
{
|
|
List<ICSROUTE2OP> lines = db.ICSROUTE2OP.Where(a => idList.Contains(a.OPID) && a.WORKPOINT == wp).ToList();
|
|
db.Connection.Close();
|
|
return lines;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
public static DataTable GetITEMROUTE2OP(List<string> idList, string wp, string dsconn)
|
|
{
|
|
string sql = "SELECT DISTINCT OPCODE,ROUTECODE,ITEMCODE FROM dbo.ICSITEMROUTE2OP WHERE OPID in ('{0}') AND WorkPoint='{1}'";
|
|
sql = string.Format(sql, string.Join("','", idList), wp);
|
|
return DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
}
|
|
#endregion
|
|
#region 获取成本中心
|
|
|
|
public static DataTable SearchDataByEnumKey(string dsconn, string EnumKey)
|
|
{
|
|
try
|
|
{
|
|
string sql = @"SELECT EnumKey,EnumValue, EnumText FROM Sys_EnumValues WHERE 1=1 AND EnumKey = '{0}' AND WorkPointCode = '{1}' ORDER BY EnumValue ASC";
|
|
sql = string.Format(sql, EnumKey, AppConfig.WorkPointCode);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
return dt;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
public static DataTable SearchDataByEnumText(string dsconn, string EnumKey, string EnumText)
|
|
{
|
|
try
|
|
{
|
|
string sql = @"SELECT EnumKey,EnumValue, EnumText FROM Sys_EnumValues WHERE 1=1 AND EnumKey = '{0}' AND EnumText = '{1}' AND WorkPointCode = '{2}' ORDER BY EnumValue ASC";
|
|
sql = string.Format(sql, EnumKey, EnumText, AppConfig.WorkPointCode);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
return dt;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
public static DataTable SearchDataByEnumValue(string dsconn, string EnumKey, string EnumValue)
|
|
{
|
|
try
|
|
{
|
|
string sql = @"SELECT EnumKey,EnumValue, EnumText FROM Sys_EnumValues WHERE 1=1 AND EnumKey = '{0}' AND EnumValue = '{1}' AND WorkPointCode = '{2}' ORDER BY EnumValue ASC";
|
|
sql = string.Format(sql, EnumKey, EnumValue, AppConfig.WorkPointCode);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
return dt;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|