using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using MESClassLibrary.BLL.Log; using MESClassLibrary.DAL; using MESClassLibrary.DAL.ZPPlan; using MESClassLibrary.EFModel; using MESClassLibrary.Model; namespace MESClassLibrary.BLL.ZPPlan { public class ZPBomBLL { ZPBomDAL da=new ZPBomDAL(); BasicBLL db=new BasicBLL(); public DataTable IsMath(string stationNo, string partNo1, string partNo2,int step) { try { return da.IsMath(stationNo, partNo1, partNo2, step); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchPartAndMould(string stationNo, string partNo1, string mould) { try { return da.SearchPartAndMould(stationNo, partNo1, mould); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public string SearchStepInfo(string page, string pagesize, string partNo1, string partNo2) { try { return da.SearchStepInfo(page, pagesize, partNo1, partNo2); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); return ""; } } public bool AddInfo(tb_ZPBom md) { try { var list = db.SearchAllInfo().Where(p => p.StationID == md.StationID && p.ProductID1 == md.ProductID1 && p.ProductID2 == md.ProductID2) .ToList(); if (list.Count > 0) { return false; } return db.AddInfo(md); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public bool UpdateInfo(tb_ZPBom md) { try { var list = db.SearchAllInfo().Where(p => p.StationID == md.StationID && p.ProductID1 == md.ProductID1 && p.ProductID2 == md.ProductID2 && p.ID!=md.ID).ToList();//判断是否有重复数据 if (list.Count > 0) { return false; } //初始化要更新的字段 string[] proNames = new string[7]; proNames[0] = "StationID"; proNames[1] = "ProductID1"; proNames[2] = "ProductID2"; //proNames[3] = "IsHigh"; proNames[3] = "MouldNo"; proNames[4] = "Step"; proNames[5] = "IsScanCode"; proNames[6] = "IsPhoto"; //必填字段初始化,如果不需要更新必填字段则设置为空即可,时间类型无需初始化 //如果没有初始化必填字段,更新会报错 return db.UpdateInfo(md, proNames); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public bool DeleteInfo(tb_ZPBom md) { try { return db.DelInfo(md); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public string QueryForStep(string stationID, string productID) { try { var info = db.SearchAllInfo().Where(p => p.ProductID1.Equals(productID)).OrderByDescending(p => p.Step).FirstOrDefault(); //var info = db.SearchAllInfo().Where(p => p.StationID.Equals(stationID) && p.ProductID1.Equals(productID)).OrderByDescending(p => p.Step).FirstOrDefault(); if (info != null) { return (info.Step + 1).ToString(); } else { return "1"; } } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return ""; } } public bool IsLast(string partNo, int step) { try { return da.IsLast(partNo, step); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return false; } } public DataTable SearchStep(string partNo, string station) { try { return da.SearchStep(partNo, station); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public DataTable SearchInfoByStep(string station, string partNo, int step) { try { return da.SearchInfoByStep(station, partNo, step); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } public int SearchBeforeStepCount( string partNo, int step) { try { return da.SearchBeforeStepCount( partNo, step); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return 0; } } } }