using System; using System.Collections.Generic; using System.Linq; using System.Text; using ICSSoft.Frame.Data.Entity; using System.Data; using ICSSoft.Base.Config.DBHelper; using ICSSoft.Base.Config.AppConfig; namespace ICSSoft.Frame.Data.DAL { public class ICSSENDINVPLANDAL { #region 查询物料 public static List SearchItemInfoList(string dsconn) { try { List returntype = new List(); string sql = @"select [ID],[INVCODE],[INVNAME],[INVDESC] from [ICSINVENTORY] where INVTYPE='物料'"; sql = string.Format(sql); DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0]; foreach (DataRow dr in dt.Rows) { FormICSINVENTORYUIModel itemmodel = new FormICSINVENTORYUIModel(); itemmodel.ID = dr["ID"].ToString(); itemmodel.INVCODE = dr["INVCODE"].ToString(); itemmodel.INVNAME = dr["INVNAME"].ToString(); itemmodel.INVDESC = dr["INVDESC"].ToString(); if (!returntype.Contains(itemmodel)) returntype.Add(itemmodel); } return returntype; } catch (Exception ex) { throw ex; } } #endregion #region 查询工单 public static List SearchMOInfoList(string dsconn) { try { List returnmo = new List(); string sql = @"select [ID],[MOCODE],[MOMEMO],[MODESC] from [ICSMO] "; sql = string.Format(sql); DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0]; foreach (DataRow dr in dt.Rows) { FormICSMOUIModel momodel = new FormICSMOUIModel(); momodel.ID = dr["ID"].ToString(); momodel.MOCODE = dr["MOCODE"].ToString(); momodel.MOMEMO = dr["MOMEMO"].ToString(); momodel.MODESC = dr["MODESC"].ToString(); if (!returnmo.Contains(momodel)) returnmo.Add(momodel); } return returnmo; } catch (Exception ex) { throw ex; } } #endregion #region 新增和修改 public static void Add(List sendInfoList, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { foreach (FormICSSENDINVPLANUIModel sendInfo in sendInfoList) { bool isNew = false; var line = db.ICSSENDINVPLAN.SingleOrDefault(a => a.ID == sendInfo.ID); if (line == null) { isNew = true; line = new ICSSENDINVPLAN(); line.ID = AppConfig.GetGuid(); line.Version = sendInfo.Version; line.ManuDepartment = ""; line.ProjectName = ""; line.LotNo = ""; line.Exattention = ""; line.SendDate = DateTime.Now; line.Sender = ""; line.ObjProgress = ""; } line.PlanQty = sendInfo.PlanQty; line.MoCode = sendInfo.mo.ID; line.Mcode = sendInfo.item.ID; line.WorkPoint = AppConfig.WorkPointCode; line.MUSER = AppConfig.UserId; line.MUSERName = AppConfig.UserName; line.MTIME = DateTime.Now; if (isNew) db.ICSSENDINVPLAN.InsertOnSubmit(line); db.SubmitChanges(); } db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion #region 通过guid查询 public static List SearchSendInfoByID(string sendid, string dsconn) { List returnsend = new List(); string sql = @"select a.[ManuDepartment],a.[ProjectName],a.[LotNo],a.[PlanQty],a.[Exattention],a.[SendDate],a.[Sender], a.[ObjProgress],a.[Version], b.[ID] as bid,b.[INVCODE],b.[INVNAME],b.[INVDESC], c.[ID] as cid,c.[MOCODE],c.[MOMEMO],c.[MODESC] from ICSSENDINVPLAN a left join ICSINVENTORY b on a.Mcode=b.ID left join ICSMO c on a.MoCode=c.ID where a.ID='{0}'"; sql = string.Format(sql, sendid); DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0]; foreach (DataRow dr in dt.Rows) { FormICSSENDINVPLANUIModel sendInfo = new FormICSSENDINVPLANUIModel(); sendInfo.Version = Convert.ToDecimal(dr["Version"].ToString()); sendInfo.ManuDepartment = dr["ManuDepartment"].ToString(); sendInfo.ProjectName = dr["ProjectName"].ToString(); sendInfo.LotNo = dr["LotNo"].ToString(); sendInfo.PlanQty = Convert.ToDecimal(dr["PlanQty"].ToString()); sendInfo.Exattention = dr["Exattention"].ToString(); sendInfo.SendDate = Convert.ToDateTime(dr["SendDate"].ToString()); sendInfo.Sender = dr["Sender"].ToString(); sendInfo.ObjProgress = dr["ObjProgress"].ToString(); sendInfo.mo = new FormICSMOUIModel(); sendInfo.mo.ID = dr["cid"].ToString(); sendInfo.mo.MOCODE = dr["MOCODE"].ToString(); sendInfo.mo.MOMEMO = dr["MOMEMO"].ToString(); sendInfo.mo.MODESC = dr["MODESC"].ToString(); sendInfo.item = new FormICSINVENTORYUIModel(); sendInfo.item.ID = dr["bid"].ToString(); sendInfo.item.INVCODE = dr["INVCODE"].ToString(); sendInfo.item.INVNAME = dr["INVNAME"].ToString(); sendInfo.item.INVDESC = dr["INVDESC"].ToString(); if (!returnsend.Contains(sendInfo)) { returnsend.Add(sendInfo); } } return returnsend; } #endregion #region 删除 public static void deleteInfo(List sendidList, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var lines = db.ICSSENDINVPLAN.Where(a => sendidList.Contains(a.ID)); db.ICSSENDINVPLAN.DeleteAllOnSubmit(lines); db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion #region 代码是否存在 public static bool IsIncluding(decimal version, string workpoint, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var line = db.ICSSENDINVPLAN.SingleOrDefault(a => a.Version == version && a.WorkPoint == workpoint); if (line == null) return true; else return false; } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion } }