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.
277 lines
9.3 KiB
277 lines
9.3 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 System.Data.Sql;
|
|
using System.Data.Linq;
|
|
using ICSSoft.Base.Config.DBHelper;
|
|
|
|
namespace ICSSoft.Frame.Data.DAL
|
|
{
|
|
public class ICSECGDAL
|
|
{
|
|
|
|
#region 增加修改
|
|
|
|
public static void AddAndEdit(List<FormICSECGUIModel> ecgInfoList, string dsconn)
|
|
{
|
|
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
foreach (FormICSECGUIModel ecgInfo in ecgInfoList)
|
|
{
|
|
|
|
bool isNew = false;
|
|
var line = db.ICSECG.SingleOrDefault(a => a.ID == ecgInfo.ID);
|
|
if (line == null)
|
|
{
|
|
isNew = true;
|
|
line = new ICSECG();
|
|
line.ID = AppConfig.GetGuid();
|
|
|
|
}
|
|
var codes = db.ICSECG.Where(a => a.ECGCODE == ecgInfo.ECGCODE && a.ID != line.ID);
|
|
if (codes.ToList().Count > 0)
|
|
{
|
|
throw new Exception("不良代码组代码已存在");
|
|
}
|
|
line.ECGCODE = ecgInfo.ECGCODE;
|
|
line.ECGDESC = ecgInfo.ECGDESC;
|
|
line.ROUTECODE = ecgInfo.ROUTECODE;
|
|
line.OPCODE = ecgInfo.OPCODE;
|
|
line.RESCODE = ecgInfo.RESCODE;
|
|
line.MUSER = ecgInfo.MUSER;
|
|
line.MUSERName = ecgInfo.MUSERName;
|
|
line.MTIME = Convert.ToDateTime(ecgInfo.MTIME);
|
|
line.WorkPoint = ecgInfo.WorkPoint;
|
|
line.EATTRIBUTE1 = ecgInfo.EATTRIBUTE1;
|
|
|
|
if (isNew)
|
|
db.ICSECG.InsertOnSubmit(line);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw new Exception(ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
public static List<FormICSECGUIModel> SearchEcgInfoById(string id, string dsconn)
|
|
{
|
|
List<FormICSECGUIModel> returnecg = new List<FormICSECGUIModel>();
|
|
string sql = @"select a.ID as ID,
|
|
a.ECGCODE as ECGCODE,
|
|
a.ECGDESC as ECGDESC,
|
|
b.ROUTECODE as ROUTECODE,
|
|
c.OPCODE as OPCODE,
|
|
d.RESCODE as RESCODE,
|
|
a.MUSERName as MUSERName,
|
|
a.MTIME as MTIME
|
|
|
|
|
|
from ICSECG a
|
|
left join ICSROUTE b on a.ROUTECODE=b.ROUTECODE
|
|
left join ICSOP c on a.OPCODE=c.OPCODE
|
|
left join ICSRES d on a.RESCODE=d.RESCODE
|
|
where a.ID='" + id + "'";
|
|
sql = string.Format(sql);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSECGUIModel ecgInfo = new FormICSECGUIModel();
|
|
ecgInfo.ID = dr["ID"].ToString();
|
|
ecgInfo.route = new FormICSROUTEUIModel();
|
|
ecgInfo.ECGCODE = dr["ECGCODE"].ToString();
|
|
ecgInfo.ECGDESC = dr["ECGDESC"].ToString();
|
|
ecgInfo.route.ROUTECODE = dr["ROUTECODE"].ToString();
|
|
ecgInfo.op = new FormICSOPUIModel();
|
|
ecgInfo.op.OPCODE = dr["OPCODE"].ToString();
|
|
ecgInfo.res = new FormICSRESUIModel();
|
|
ecgInfo.res.RESCODE = dr["RESCODE"].ToString();
|
|
ecgInfo.MUSERName = dr["MUSERName"].ToString();
|
|
ecgInfo.MTIME = System.DateTime.Parse(dr["MTIME"].ToString());
|
|
|
|
if (!returnecg.Contains(ecgInfo))
|
|
{
|
|
returnecg.Add(ecgInfo);
|
|
}
|
|
|
|
}
|
|
return returnecg;
|
|
|
|
}
|
|
|
|
|
|
public static List<FormICSOPUIModel> SearchOPInfoList(string str, string dsconn)
|
|
{
|
|
try
|
|
{
|
|
List<FormICSOPUIModel> returntype = new List<FormICSOPUIModel>();
|
|
string sql = @"select a.OPCODE,a.OPDESC
|
|
from dbo.ICSOP a
|
|
left join ICSROUTE2OP b on b.OPID=a.ID
|
|
WHERE ROUTECODE='" + str + "'";
|
|
sql = string.Format(sql);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSOPUIModel typemodel = new FormICSOPUIModel();
|
|
|
|
typemodel.OPCODE = dr["OPCODE"].ToString();
|
|
typemodel.OPDESC = dr["OPDESC"].ToString();
|
|
if (!returntype.Contains(typemodel))
|
|
returntype.Add(typemodel);
|
|
}
|
|
return returntype;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static List<FormICSRESUIModel> SearchRESInfoList(string str, string dsconn)
|
|
{
|
|
try
|
|
{
|
|
List<FormICSRESUIModel> returntype = new List<FormICSRESUIModel>();
|
|
string sql = @"select a.RESCODE,a.RESDESC
|
|
from dbo.ICSRES a
|
|
left join ICSOP2RES b on b.RESID=a.ID
|
|
WHERE OPCODE='" + str + "'";
|
|
sql = string.Format(sql);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
FormICSRESUIModel typemodel = new FormICSRESUIModel();
|
|
|
|
typemodel.RESCODE = dr["RESCODE"].ToString();
|
|
typemodel.RESDESC = dr["RESDESC"].ToString();
|
|
if (!returntype.Contains(typemodel))
|
|
returntype.Add(typemodel);
|
|
}
|
|
return returntype;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
// #region 根据存货编码查找产品id
|
|
// public static DataTable SelectItemId(string str, string wp)
|
|
// {
|
|
// string sql = @"select ID
|
|
// from dbo.ICSINVENTORY
|
|
// where INVCODE='" + str + "' and WorkPoint='" + wp + "'";
|
|
// sql = string.Format(sql);
|
|
// DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
// return dt;
|
|
// }
|
|
|
|
// #endregion
|
|
|
|
// #region 根据工序代码查找工序id
|
|
// public static DataTable SelectOpId(string str, string wp)
|
|
// {
|
|
// string sql = @"select ID
|
|
// from dbo.ICSOP
|
|
// where OPCODE='" + str + "'and WorkPoint='" + wp + "'";
|
|
// sql = string.Format(sql);
|
|
// DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
// return dt;
|
|
// }
|
|
|
|
// #endregion
|
|
|
|
// #region 根据检验类型代码查找检验类型id
|
|
// public static DataTable SelectCkgroupId(string str, string wp)
|
|
// {
|
|
// string sql = @"select ID
|
|
// from dbo.ICSOQCCKGROUP
|
|
// where CKGROUP='" + str + "'and WorkPoint='" + wp + "'";
|
|
// sql = string.Format(sql);
|
|
// DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
// return dt;
|
|
// }
|
|
|
|
// #endregion
|
|
|
|
|
|
|
|
|
|
#region delete
|
|
public static void delete(List<String> guidList, List<String> codeList)
|
|
{
|
|
FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var lines = db.ICSECG.Where(a => guidList.Contains(a.ID));
|
|
var line = db.ICSECG2EC.Where(a => codeList.Contains(a.ECGCODE));
|
|
if (line.Count() != 0)
|
|
{
|
|
throw new Exception("该不良代码组在不良代码组与不良代码的关系维护中已经使用,无法删除!");
|
|
}
|
|
db.ICSECG.DeleteAllOnSubmit(lines);
|
|
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
//#region 产品工序是否已经存在
|
|
//public static bool IsIncludingItemOP(string ITEMCODE, string OPCODE, string dsconn)
|
|
//{
|
|
|
|
// FramDataContext db = new FramDataContext(dsconn);
|
|
// db.Connection.Open();
|
|
// db.Transaction = db.Connection.BeginTransaction();
|
|
// try
|
|
// {
|
|
// var line = db.ICSMODELOP2CKGROUP.SingleOrDefault(a => a.ITEMCODE == ITEMCODE && a.OPCODE == OPCODE);
|
|
// if (line == null)
|
|
// return true;
|
|
// else
|
|
// return false;
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// db.Transaction.Rollback();
|
|
// throw ex;
|
|
// }
|
|
|
|
//}
|
|
//#endregion
|
|
|
|
|
|
|
|
}
|
|
}
|