using System; using System.Collections.Generic; using System.Linq; using System.Text; using QMAPP.BLL; using QMAPP.FJC.Entity.Basic; using QMAPP.FJC.DAL.Basic; using QMFrameWork.Data; using QMAPP.FJC.Entity; using QMAPP.FJC.BLL.Dict; using QMAPP.Entity; using QMFrameWork.Log; namespace QMAPP.FJC.BLL.Basic { /// <summary> /// 模块编号:M2-1 /// 作 用:物料号信息逻辑层 /// 作 者:王丹丹 /// 编写日期:2015年05月26日 ///</summary> public class MaterielBLL : BaseBLL { #region 获取信息 /// <summary> /// 获取信息 /// </summary> /// <param name="">条件</param> /// <returns>信息</returns> public DataResult<Materiel> Get(Materiel model) { DataResult<Materiel> result = new DataResult<Materiel>(); try { result.Result = new MaterielDAL().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(Materiel condition, DataPage page) { DataResult<DataPage> result = new DataResult<DataPage>(); try { //获取物料信息列表 DataPage dataPage=new MaterielDAL().GetList(condition, page); #region 转换物料类别、工序类别显示类型 List<Materiel> materielList = dataPage.Result as List<Materiel>; DictManageBLL dictMaterialTypeBll = new DictManageBLL(DictKind.MATERIALTYPE); DictManageBLL dictProcessTypeBll = new DictManageBLL(DictKind.PROCESSTYPE); DictManageBLL dictColorBLL = new DictManageBLL(DictKind.COLOR); foreach (Materiel m in materielList) { //物料类别 m.MATERIALTYPETXT = dictMaterialTypeBll.GetDictValue(m.MATERIALTYPE); //工序类别 m.PROCESSTYPETXT = dictProcessTypeBll.GetDictValue(m.PROCESSTYPE); //颜色 m.COLOR = dictColorBLL.GetDictValue(m.COLOR); } #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<Materiel> GetAllList(Materiel condition) { try { //获取物料信息列表 List<Materiel> list = new MaterielDAL().GetList(condition); return list; } catch (Exception ex) { throw ex; } } #endregion #region 信息是否重复 /// <summary> /// 判断名称是否存在 /// </summary> /// <param name="info"></param> /// <returns>true:已存在;fasel:不存在。</returns> public bool ExistsMateriel(Materiel model) { try { return new MaterielDAL().ExistsMateriel(model); } catch (Exception ex) { throw ex; } } #endregion #region 插入信息 /// <summary> /// 插入信息(单表) /// </summary> /// <param name="">信息</param> /// <returns>插入行数</returns> public DataResult<int> Insert(Materiel 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; model.PRODUCELINE = EnumGeter.PRODUCELINE.B9.ToString(); MaterielDAL cmdDAL = new MaterielDAL(); try { if (ExistsMateriel(model) == true) { result.IsSuccess = false; result.Msg = Resource.MaterielCodeIsHave; return result; } result.Result = new MaterielDAL().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(Materiel model) { DataResult<int> result = new DataResult<int>(); //基本信息 model.UPDATEUSER = this.LoginUser.UserID; try { if (ExistsMateriel(model) == true) { result.IsSuccess = false; result.Msg = Resource.MaterielCodeIsHave; return result; } result.Result = new MaterielDAL().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) { DataResult<int> result = new DataResult<int>(); string[] list = strs.Split(":".ToCharArray()); try { foreach (string str in list) { if (IsUsing(new Materiel { PID = str }) == true) { result.IsSuccess = false; result.Msg = Resource.MaterielIsUsing; return result; } } foreach (string str in list) { result.Result += this.DeleteMateriel(new Materiel { PID = str }); } } 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="">信息</param> /// <returns>删除个数</returns> public int DeleteMateriel(Materiel model) { int count = 0; try { count = new MaterielDAL().Delete(model); return count; } catch (Exception ex) { throw ex; } } #endregion #region 物料号是否使用 /// <summary> /// 物料号是否使用 /// </summary> /// <param name="info"></param> /// <returns>true:已使用;fasel:未使用。</returns> public bool IsUsing(Materiel model) { try { return new MaterielDAL().IsUsing(model); } catch (Exception ex) { throw ex; } } #endregion #region 获取物料信息列表(下拉列表使用) /// <summary> /// /// </summary> /// <param name="condition"></param> /// <returns></returns> public DataResult<List<Materiel>> GetMaterielList(Materiel condition) { DataResult<List<Materiel>> result = new DataResult<List<Materiel>>(); try { result.Result = new MaterielDAL().GetMaterielList(condition); } 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 获取PBOM头物料(下拉列表使用) /// <summary> /// 获取PBOM头物料 /// </summary> /// <param name="condition">物料</param> /// <returns></returns> public DataResult<List<Materiel>> GetPbomMaterialList(Materiel condition) { DataResult<List<Materiel>> result = new DataResult<List<Materiel>>(); try { result.Result = new MaterielDAL().GetPbomMaterialList(condition); } catch (Exception ex) { result.IsSuccess = false; result.Msg = Resource.SystemException; throw ex; } result.IsSuccess = true; return result; } #endregion } }