using System; using System.Collections.Generic; using System.Linq; using System.Text; using QMAPP.BLL; using QMAPP.FJC.Entity.Operation; using QMAPP.Entity; using QMFrameWork.Data; using QMAPP.FJC.DAL.Operation; using QMAPP.FJC.Entity; using QMFrameWork.Log; using QMAPP.FJC.Entity.WIPManage; using QMFrameWork.Common.Serialization; using QMAPP.FJC.DAL.WarehouseManage; using QMAPP.FJC.BLL.Dict; namespace QMAPP.FJC.BLL.WarehouseManage { /// /// 模块编号:M13-4 /// 作 用:入库(工控机)逻辑层 /// 作 者:王丹丹 /// 编写日期:2015年07月15日 /// public class InWarehouseBLL : BaseBLL { #region 入库操作(零件) /// /// 入库操作(零件) /// /// 条件 public DataResult ProductOutWarehouse(Product product) { DataResult result = new DataResult(); ProductDAL productDal=new ProductDAL(); InWarehouseDAL inWarehouseDal = new InWarehouseDAL(); WIPInRecorder inrecorder = new WIPInRecorder(); int count=0; try { if (product.OUTFLAG != EnumGeter.OUTFLAG.EXCEPTIONOUT.GetHashCode().ToString()) { result.IsSuccess = false; result.Msg = Resource.ProductIsNotExceptionOut; return result; } if (product.USINGSTATE != EnumGeter.USINGSTATE.UNUSED.GetHashCode().ToString()) { result.IsSuccess = false; result.Msg = Resource.ProductIsUsed; return result; } product.OUTFLAG = EnumGeter.OUTFLAG.INWAREHOUSE.GetHashCode().ToString(); #region 基本信息 //string json = JsonConvertHelper.GetDeserialize(product.ToString()); inrecorder.PID = Guid.NewGuid().ToString(); inrecorder.PRODUCTTYPE = product.PRODUCTTYPE; inrecorder.PRODUCTCODE = product.PRODUCTCODE; inrecorder.PROCESSTYPE = product.CURRENTPROCESS; inrecorder.COUNT = product.CAPACITY-product.USINGCOUNT; inrecorder.MACHINECODDE = product.MACHINECODDE; inrecorder.MACHINENAME = product.MACHINENAME; inrecorder.PRODUCESHIFTTCODE = product.PRODUCESHIFTTCODE; inrecorder.PRODUCESHIFTNAME = product.PRODUCESHIFTNAME; inrecorder.PRODUCELINE = product.PRODUCELINE; inrecorder.INTIME = DateTime.Now; inrecorder.CREATEUSER = LoginUser.UserID; inrecorder.CREATEDATE = DateTime.Now; inrecorder.UPDATEUSER = inrecorder.CREATEUSER; inrecorder.UPDATEDATE = inrecorder.CREATEDATE; #endregion using (IDataSession session = AppDataFactory.CreateMainSession()) { productDal.BaseSession = session; inWarehouseDal.BaseSession = session; session.OpenCon(); //更新零件入库标记 count = new ProductDAL().Update(product); //插入入库记录 count = inWarehouseDal.Insert(inrecorder); session.CommitTs(); } if (count == 0) { result.IsSuccess = false; result.Msg = Resource.OutWarehouseIsNotSuccess; return result; } result.IsSuccess = true; result.Msg = Resource.InWarehouseIsSuccess; return result; } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo() { ErrorInfo = ex, Tag = ex.StackTrace, Info = "入库(工控机)逻辑层-入库条码校验(工控机)!" }); result.IsSuccess = false; result.Msg = Resource.SystemException; throw ex; } } #endregion #region 入库操作(本体) /// /// 入库操作(本体) /// /// 条件 public DataResult MainOutWarehouse(Main main) { DataResult result = new DataResult(); MainDAL mainDal = new MainDAL(); InWarehouseDAL inWarehouseDal = new InWarehouseDAL(); WIPInRecorder inrecorder = new WIPInRecorder(); int count = 0; try { if (main.OUTFLAG != EnumGeter.OUTFLAG.EXCEPTIONOUT.GetHashCode().ToString()) { result.IsSuccess = false; result.Msg = Resource.ProductIsNotExceptionOut; return result; } main.OUTFLAG = EnumGeter.OUTFLAG.INWAREHOUSE.GetHashCode().ToString(); #region 基本信息 //string json = JsonConvertHelper.GetDeserialize(product.ToString()); inrecorder.PID = Guid.NewGuid().ToString(); inrecorder.PRODUCTTYPE = EnumGeter.ProductType.biaopi.GetHashCode().ToString(); inrecorder.PRODUCTCODE = main.EPIDERMISCODE; inrecorder.PROCESSTYPE = main.CURRENTPROCESS; inrecorder.COUNT = 1; inrecorder.MACHINECODDE = main.MACHINECODDE; inrecorder.PRODUCESHIFTTCODE = main.PRODUCESHIFTTCODE; inrecorder.PRODUCESHIFTNAME = main.PRODUCESHIFTNAME; inrecorder.PRODUCELINE = main.PRODUCELINE; inrecorder.INTIME = DateTime.Now; inrecorder.CREATEUSER = LoginUser.UserID; inrecorder.CREATEDATE = DateTime.Now; inrecorder.UPDATEUSER = inrecorder.CREATEUSER; inrecorder.UPDATEDATE = inrecorder.CREATEDATE; #endregion using (IDataSession session = AppDataFactory.CreateMainSession()) { mainDal.BaseSession = session; inWarehouseDal.BaseSession = session; session.OpenCon(); //更新本体入库标记 count = new MainDAL().Update(main); //插入入库记录 count = inWarehouseDal.Insert(inrecorder); session.CommitTs(); } if (count == 0) { result.IsSuccess = false; result.Msg = Resource.OutWarehouseIsNotSuccess; return result; } result.IsSuccess = true; result.Msg = Resource.InWarehouseIsSuccess; return result; } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo() { ErrorInfo = ex, Tag = ex.StackTrace, Info = "入库(工控机)逻辑层-入库条码校验(工控机)!" }); result.IsSuccess = false; result.Msg = Resource.SystemException; throw ex; } } #endregion #region 获取零件信息 /// /// 获取零件信息 /// /// 条件 public DataResult GetProductInfo(Product product) { DataResult result = new DataResult(); List listProduct = new List(); try { listProduct = new ProductDAL().GetList(product); if (listProduct.Count == 0) { result.IsSuccess = false; result.Msg = Resource.OperationProNotFound; return result; } product = listProduct[0]; #region 转换零件状态、当前工序、零件类别、零件状态显示类型 DictManageBLL dictOutFlagBll = new DictManageBLL(DictKind.OUTFLAG); DictManageBLL dictProcessTypeBll = new DictManageBLL(DictKind.PROCESSTYPE); DictManageBLL dictProductTypeBll = new DictManageBLL(DictKind.PRODUCTTYPE); DictManageBLL dictProductStatusBll = new DictManageBLL(DictKind.PRODUCTSTATUS); //入库状态 product.OUTFLAGNAME = dictOutFlagBll.GetDictValue(product.OUTFLAG); //当前工序 product.CURRENTPROCESSNAME = dictProcessTypeBll.GetDictValue(product.CURRENTPROCESS); //零件类别 product.PRODUCTTYPENAME = dictProductTypeBll.GetDictValue(product.PRODUCTTYPE); //零件状态 product.STATUSNAME = dictProductStatusBll.GetDictValue(product.STATUS); #endregion result.Result = listProduct[0]; result.IsSuccess = true; return result; } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo() { ErrorInfo = ex, Tag = ex.StackTrace, Info = "入库(工控机)逻辑层-获取零件信息!" }); result.IsSuccess = false; result.Msg = Resource.SystemException; throw ex; } } #endregion #region 获取本体信息 /// /// 获取本体信息 /// /// 条件 public DataResult
GetMainInfo(Main main) { DataResult
result = new DataResult
(); try { main = new MainDAL().GetMainForOutwarehouse(main); if (main==null) { result.IsSuccess = false; result.Msg = Resource.OperationMainNotFound; return result; } #region 转换零件状态、当前工序、零件类别显示类型 DictManageBLL dictOutFlagBll = new DictManageBLL(DictKind.OUTFLAG); DictManageBLL dictProcessTypeBll = new DictManageBLL(DictKind.PROCESSTYPE); DictManageBLL dictProductTypeBll = new DictManageBLL(DictKind.PRODUCTTYPE); DictManageBLL dictProductStatusBll = new DictManageBLL(DictKind.PRODUCTSTATUS); //入库状态 main.OUTFLAGNAME = dictOutFlagBll.GetDictValue(main.OUTFLAG); //当前工序 main.CURRENTPROCESSNAME = dictProcessTypeBll.GetDictValue(main.CURRENTPROCESS); //零件类别 main.PRODUCTTYPENAME = dictProductTypeBll.GetDictValue(EnumGeter.ProductType.biaopi.GetHashCode().ToString()); //零件状态 main.STATUSNAME = dictProductStatusBll.GetDictValue(main.STATUS); #endregion result.Result = main; result.IsSuccess = true; return result; } catch (Exception ex) { LogManager.LogHelper.Error(new LogInfo() { ErrorInfo = ex, Tag = ex.StackTrace, Info = "入库(工控机)逻辑层-获取本体信息!" }); result.IsSuccess = false; result.Msg = Resource.SystemException; throw ex; } } #endregion } }