using System; using System.Collections.Generic; using System.Linq; using System.Text; using QMAPP.FJC.Entity.Equipment; using QMAPP.Entity; using QMFrameWork.Log; using QMAPP.FJC.DAL.Equipment; using QMAPP.FJC.Entity; using QMAPP.BLL; using QMFrameWork.Data; using System.Data; using QMAPP.FJC.BLL.Dict; using QMAPP.FJC.DAL.Basic; using QMAPP.FJC.Entity.Basic; using QMAPP.FJC.Entity.MaximoDataDB; using QMAPP.MD.Entity; namespace QMAPP.FJC.BLL.Equipment { public class MouldBLL : BaseBLL { #region 获取信息 /// <summary> /// 获取信息 /// </summary> /// <param name="">条件</param> /// <returns>信息</returns> public DataResult<Mould> Get(Mould model) { DataResult<Mould> result = new DataResult<Mould>(); try { result.Result = new MouldDAL().Get(model); } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo() { ErrorInfo = ex, Tag = ex.StackTrace, Info = "模具信息逻辑层-获取信息!" }); result.IsSuccess = false; result.Msg = Resource.SystemException; throw ex; } result.IsSuccess = true; return result; } #endregion #region 获取列表 /// <summary> /// 获取列表 /// </summary> /// <param name="condition">条件</param> /// <param name="page">数据页</param> /// <returns>数据页</returns> public DataResult<DataPage> GetList(Mould condition, DataPage page) { DataResult<DataPage> result = new DataResult<DataPage>(); try { //获取模具信息列表 DataPage dataPage = new MouldDAL().GetList(condition, page); List<Mould> list = page.Result as List<Mould>; #region 显示类型 //处理字典信息 DictManageBLL dictMOULD_STATE = new DictManageBLL(DictKind.MOULD_STATE); foreach (var info in list) { info.MOULD_STATE = dictMOULD_STATE.GetDictValue(info.MOULD_STATE); } #endregion result.Result = dataPage; } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo() { ErrorInfo = ex, Tag = ex.StackTrace, Info = "模具信息逻辑层-获取列表!" }); result.IsSuccess = false; result.Msg = Resource.SystemException; throw ex; } result.IsSuccess = true; return result; } /// <summary> /// 获取列表 /// </summary> /// <param name="condition">条件</param> /// <returns>全部集合</returns> public List<Mould> GetAllList(Mould condition) { try { List<Mould> list = new MouldDAL().GetAllList(condition); return list; } catch (Exception ex) { throw ex; } } public List<Mould> GetMoulds() { try { List<Mould> list = new MouldDAL().GetMoulds(); return list; } catch (Exception ex) { throw ex; } } #endregion #region 信息是否重复 /// <summary> /// 判断模具号是否存在 /// </summary> /// <param name="info"></param> /// <returns>true:已存在;fasel:不存在。</returns> public bool ExistsPlant(Mould model) { try { return new MouldDAL().ExistsMould(model); } catch (Exception ex) { throw ex; } } #endregion #region 插入信息 /// <summary> /// 插入信息(单表) /// </summary> /// <param name="">信息</param> /// <returns>插入行数</returns> public DataResult<int> Insert(Mould model) { DataResult<int> result = new DataResult<int>(); //基本信息 model.PID = Guid.NewGuid().ToString(); model.CREATEUSER = this.LoginUser.UserID; model.CREATEDATE = DateTime.Now; model.UPDATEUSER = model.CREATEUSER; model.UPDATEDATE = model.CREATEDATE; MouldDAL cmdDAL = new MouldDAL(); try { if (ExistsPlant(model) == true) { result.IsSuccess = false; result.Msg = Resource.MaterielCodeIsHave; return result; } result.Result = new MouldDAL().Insert(model); } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo() { ErrorInfo = ex, Tag = ex.StackTrace, Info = "模具信息逻辑层-插入信息!" }); result.IsSuccess = false; result.Msg = Resource.SystemException; throw ex; } result.IsSuccess = true; return result; } #endregion #region 更新信息 /// <summary> /// 更新信息 /// </summary> /// <param name=""></param> /// <returns>更新行数</returns> public DataResult<int> Update(Mould model) { DataResult<int> result = new DataResult<int>(); model.UPDATEUSER = this.LoginUser.UserID; try { if (ExistsPlant(model) == true) { result.IsSuccess = false; result.Msg = Resource.MaterielCodeIsHave; return result; } result.Result = new MouldDAL().Update(model); } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo() { ErrorInfo = ex, Tag = ex.StackTrace, Info = "模具信息逻辑层-更新信息!" }); result.IsSuccess = false; result.Msg = Resource.SystemException; throw ex; } result.IsSuccess = true; return result; } #endregion #region 删除 /// <summary> /// 删除信息 /// </summary> /// <param name=""></param> /// <returns>删除个数</returns> public DataResult<int> Delete(string strs) { int count = 0; string[] list = strs.Split(":".ToCharArray()); DataResult<int> result = new DataResult<int>(); try { foreach (string str in list) { count += this.DeletePlant(new Mould { PID = str }); } if (count == 0) { result.IsSuccess = false; return result; } result.Result = count; result.IsSuccess = true; return result; } catch (Exception ex) { throw ex; } } /// <summary> /// 删除信息 /// </summary> /// <param name="">信息</param> /// <returns>删除个数</returns> public int DeletePlant(Mould model) { int count = 0; count = new MouldDAL().Delete(model); return count; } #endregion #region 获取模具资料维护(分页) /// <summary> /// 获取模具资料维护列表(分页) /// </summary> /// <param name="condition">条件</param> /// <param name="page">数据页</param> /// <returns>数据页</returns> public DataResult<DataPage> GetMouldData(MouldData condition, DataPage page) { DataResult<DataPage> result = new DataResult<DataPage>(); try { DataPage dataPage = new MouldDAL().GetMouldData(condition, page); result.Result = dataPage; } catch (Exception ex) { result.IsSuccess = false; result.Msg = Resource.SystemException; return result; } result.IsSuccess = true; return result; } #endregion #region 信息是否重复 /// <summary> /// 判断模具资料是否存在 /// </summary> /// <param name="info"></param> /// <returns>true:已存在;fasel:不存在。</returns> public bool ExistsdataPlant(MouldData model) { try { return new MouldDAL().ExistsMouldData(model); } catch (Exception ex) { throw ex; } } /// <summary> /// 判断模具资料名称是否存在 /// </summary> /// <param name="info"></param> /// <returns>true:已存在;fasel:不存在。</returns> public bool ExistsdatanamePlant(MouldData model) { try { return new MouldDAL().ExistsMouldnameData(model); } catch (Exception ex) { throw ex; } } #endregion #region 模具资料维护保存 /// <summary> /// 信息保存 /// </summary> /// <param name="model"></param> /// <returns></returns> public DataResult<int> MouldDataSave(MouldData model) { DataResult<int> result = new DataResult<int>(); MouldDAL mouldDal = new MouldDAL(); model.PID = Guid.NewGuid().ToString(); model.CREATEDATE = System.DateTime.Now; model.CREATEUSER = this.LoginUser.UserID; model.UPDATEUSER = this.LoginUser.UserID; try { //int i = mouldDal.InsertMouldData(model); if (ExistsdataPlant(model) == true) { result.IsSuccess = false; result.Msg = Resource.MaterielCodeIsHave; return result; } if (ExistsdatanamePlant(model) == true) { result.IsSuccess = true; result.Msg = Resource.MaterielCodeIsHave; return result; } //result.Result = new MouldDAL().InsertMouldData(model); using (IDataSession session = AppDataFactory.CreateMainSession()) { session.OpenCon(); int moulddatacount = mouldDal.InsertMouldData(model); session.CommitTs(); } } catch (Exception ex) { result.IsSuccess = false; result.Msg = Resource.SystemException; return result; } result.IsSuccess = true; return result; } #endregion #region 模具资料维护删除 /// <summary> /// 模具资料维护删除 /// </summary> /// <param name=""></param> /// <returns>删除个数</returns> public DataResult<int> MouldDataDelete(string selectKey, string MOULD_ID) { DataResult<int> result = new DataResult<int>(); int deleteDataCount = 0; MouldDAL mouldDAL = new MouldDAL(); string[] list = selectKey.Split(":".ToCharArray()); try { using (IDataSession session = AppDataFactory.CreateMainSession()) { try { session.OpenTs(); mouldDAL.BaseSession = session; foreach (string str in list) { deleteDataCount += mouldDAL.DeleteMouldData(new MouldData { PID = str, MOULD_ID = MOULD_ID }); } session.CommitTs(); } catch (Exception e) { session.RollbackTs(); throw e; } } } catch (Exception ex) { result.IsSuccess = false; result.Msg = Resource.SystemException; return result; } result.IsSuccess = true; return result; } #endregion #region 事物--设备合模次数同步到[MaximoDataDB].[dbo].[T_QT_MOULDCOUNTER] /// <summary> /// 获取信息 /// </summary> /// <returns>信息</returns> public void selectMesMouldIntoMaximoMouldCounter() { try { //获取公司代码组织机构代码 var corp = new QMAPP.MD.DAL.CorpDAL().Get(); //获取所有模具 var moulds = new MouldDAL().GetMoulds(); //报告人 string INSPECTOR = System.Configuration.ConfigurationManager.AppSettings["INSPECTOR"]; //仪表编号 string METERNAME = System.Configuration.ConfigurationManager.AppSettings["METERNAME"]; using (IDataSession session = AppDataFactory.CreateSession("maindbMaximo")) { foreach (var mould in moulds) { var mc = new MounldCounter { PID = Guid.NewGuid().ToString(), Siteid = corp.Siteid, Orgid = corp.Orgid, ASSETNUM = mould.MOULD_CODE, INSPECTOR = INSPECTOR, METERNAME = METERNAME, NEWREADING = mould.USAGECOUNT.ToString(), NEWREADINGDATE = DateTime.Now }; new MouldDAL().InsertMouldCounter(mc, session); } } } catch (Exception ex) { throw ex; } } #endregion #region 事物--查询中间表T_QT_EQUIPMENTINFO 然后根据1 模具 ,0 设备比对Mould Machine两个表插入。 /// <summary> /// 获取信息 /// </summary> /// <returns>信息</returns> public void SelectEquipmentInfoInsertMouldMachine() { using (IDataSession session = AppDataFactory.CreateMainSession()) { try { // 开始事务 session.OpenTs(); //获取中间表equipmentType=0 设备 var machines = new MouldDAL().GetSelectEquipmentInfo("0"); //全部设备 var machineList = new MachineInfoDAL().GetMachineInfos(); //获取中间表equipmentType=1 模具 var moulds = new MouldDAL().GetSelectEquipmentInfo("1"); //全部模具 var mouldList = new MouldDAL().GetMoulds(); //比对设备 var expMachines = machines.Where(a => !machineList.Exists(t => a.ASSETNUM.Contains(t.MACHINECODDE))).ToList(); if (expMachines != null && expMachines.Count > 0) { foreach (var equipmentInfo in expMachines) { var machine = new MachineInfo { PID = Guid.NewGuid().ToString(), CREATEUSER = this.LoginUser.UserID, CREATEDATE = DateTime.Now, UPDATEUSER = this.LoginUser.UserID, UPDATEDATE = DateTime.Now, MACHINECODDE = equipmentInfo.ASSETNUM, MACHINENAME = equipmentInfo.ASSETNUM, //MACHINENUM = "0", //PROCESSTYPE = "0", ISCONTROL = "0", STATUS = "0" }; session.Insert(machine); } } //比对模具 var expMoulds = moulds.Where(a => !mouldList.Exists(t => a.ASSETNUM.Contains(t.MOULD_CODE))).ToList(); if (expMoulds != null && expMoulds.Count > 0) { foreach (var equipmentInfo in expMoulds) { var mould = new Mould { PID = Guid.NewGuid().ToString(), CREATEUSER = this.LoginUser.UserID, CREATEDATE = DateTime.Now, UPDATEUSER = this.LoginUser.UserID, UPDATEDATE = DateTime.Now, SYNC_DATE = DateTime.Now, MOULD_CODE = equipmentInfo.ASSETNUM, MOULD_NAME = equipmentInfo.ASSETNUM, MOULD_TYPE = "注塑模具", WORKCENTER_CODE = "INJECT", FACTORY_CODE = "CFAAQD", MOULD_STATE = "0" }; session.Insert(mould); } } // 事务提交 session.CommitTs(); } catch (Exception e) { session.RollbackTs(); throw e; } } } #endregion } }