|
|
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
} }
|