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 ICSITEMROUTE2OPDAL { #region 删除 public static void deleteInfo(List codeList, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var lines = db.ICSITEMROUTE2OP.Where(a => codeList.Contains(a.OPCODE)); db.ICSITEMROUTE2OP.DeleteAllOnSubmit(lines); db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion #region 新增和修改 public static void Add(List InfoList, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { foreach (FormICSITEMROUTE2OPUIModel info in InfoList) { //bool isNew = false; //var line = db.ICSITEMROUTE2OP.SingleOrDefault(a => a.OPCODE == tbinfo.OPCODE); //if (line == null) //{ // isNew = true; // line = new ICSOP(); // line.ID = AppConfig.GetGuid(); // line.OPCODE = tbinfo.OPCODE; //} var line = db.ICSITEMROUTE2OP.SingleOrDefault(a => a.ITEMCODE == info.ITEMCODE && a.ROUTECODE == info.ROUTECODE && a.OPCODE == info.OPCODE); line.OPCONTROL = info.ro.OPCONTROL; line.OPTIONALOP = info.OPTIONALOP; line.IDMERGETYPE = info.IDMERGETYPE; line.IDMERGERULE = Convert.ToInt32(info.IDMERGERULE); 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 //0819 GJ lin ye 的自动分批 #region 根据工艺路线编码和产品编码获取工序信息 public static List selectinfobycode(string ItemCode, string RouteCode, string dsconn) { try { List infolist = new List(); string sql = @"select ITEMCODE,ROUTECODE,OPCODE,OPSEQ from ICSITEMROUTE2OP WHERE ITEMCODE='{0}' AND ROUTECODE='{1}' AND WorkPoint='{2}'"; sql = string.Format(sql, ItemCode, RouteCode, AppConfig.WorkPointCode); DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { ICSITEMROUTE2OP info = new ICSITEMROUTE2OP(); info.ITEMCODE = dt.Rows[i]["ITEMCODE"].ToString(); info.ROUTECODE = dt.Rows[i]["ROUTECODE"].ToString(); info.OPCODE = dt.Rows[i]["OPCODE"].ToString(); info.OPSEQ = Convert.ToInt32(dt.Rows[i]["OPSEQ"].ToString()); infolist.Add(info); } return infolist; } catch (Exception ex) { throw ex; } } #endregion } }