/// <summary>
        /// 调度排配单处理方法(异步)
        /// </summary>
        /// <param name="handler">操作对象</param>
        /// <param name="strArrangedVouchCode">排配单号</param>
        /// <param name="ExecuteID">工艺执行主表执行ID</param>
        /// <param name="ParamAutoID">工艺执行子表ID</param>
        /// <param name="ValveGroupValue">主管道阀门组值</param>
        public static async void DispatchArrangedCraftsProcessAsync(DisCenterHandler handler, string strArrangedVouchCode = null, Nullable <int> ExecuteID = null, Nullable <int> ParamAutoID = null, string ValveGroupValue = null)
        {
            try
            {
                switch (handler)
                {
                case DisCenterHandler.Start:
                    var model = ForArrangedVouchServices.GetInstance(CurrUserSession.SessionId).GetArrangedCraftsProcessExecuteList(strArrangedVouchCode);
                    if (model.Data != null)
                    {
                        taskQueue.Enqueue(model.Data);
                    }
                    break;

                case DisCenterHandler.UpdateCrafts:

                    if (ExecuteID.HasValue)
                    {
                        var CurrCraftModel = ForCfPExecuteServices.GetInstance(CurrUserSession.SessionId).GetCfPExecuteByExecuteID(ExecuteID.Value);
                        if (CurrCraftModel.Data != null)
                        {
                            var m = new ArrangedVouchExecute <CraftsProcessExecute>();
                            m.Data = CurrCraftModel.Data;
                            m.ArrangedVouchCode = CurrCraftModel.Data.ArrangedVouchCode;
                            taskQueue.Enqueue(m);
                        }
                    }

                    break;

                case DisCenterHandler.ValveGroup:
                    taskQueue.Enqueue(ValveGroupValue);
                    break;

                case DisCenterHandler.UpdateParam:

                    break;

                case DisCenterHandler.Stop:

                    break;

                case DisCenterHandler.Complete:
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.ToString());
            }
        }
Beispiel #2
0
        ///// <summary>
        ///// 增加
        /////
        ///// </summary>
        ///// <param name="model">设备接口对象</param>
        ///// <returns>返回处理结果</returns>
        //public CommonResult<QC_FindLeakDrumsSet> AddQCDrumsSet(QC_FindLeakDrumsSet model)
        //{
        //    var result = new CommonResult<QC_FindLeakDrumsSet>();
        //    try
        //    {
        //        //   CheckDeviceExecute(model, result);
        //        var dbSession = new DBService<QC_FindLeakDrumsSet>().DbSession;

        //        if (dbSession.GetQueryable(t => t.AutoId == model.AutoId).FirstOrDefault() != null)
        //        {
        //            result.IsSuccess = false;
        //            result.Message = "漏检单号不能重复!";
        //        }
        //        else
        //        {
        //            result.Data = dbSession.Insert(model);
        //        }

        //    }
        //    catch (Exception ex)
        //    {
        //        result.IsSuccess = false;
        //        result.Message = ex.Message;
        //        result.StackTrace = ex.StackTrace;
        //    }
        //    return result;
        //}


        /// <summary>
        ///
        /// 设定转漏转鼓保存
        /// </summary>
        /// <param name="model">设备接口对象</param>
        /// <returns>返回处理结果</returns>
        public CommonResult <bool> AddQCDrumsSet(QC_FindLeakDrumsSet model, List <QC_FindLeakDrumsSetDetail> detailList)
        {
            var result = new CommonResult <bool>();

            try
            {
                //   CheckDeviceExecute(model, result);
                var dbSession  = new DBService <QC_FindLeakDrumsSet>().DbSession;
                var dbSession1 = new DBService <QC_FindLeakDrumsSetDetail>().DbSession;
                //start 不为空判断

                //end

                if (result.IsSuccess)
                {
                    using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                    {
                        var currModel = dbSession.Insert(model);
                        detailList.ForEach(item =>
                        {
                            item.ID = currModel.ID;
                        });
                        dbSession1.Insert(detailList);

                        //更新工艺执行表进入检漏状态,开启检漏工艺
                        foreach (var item in detailList)
                        {
                            item.AutoID = currModel.ID;
                            //排配单操作日志
                            ForCfPExecuteServices.GetInstance(currUserSession.SessionId).InsertArrangedVouchLog(new ArrangedVouchLog()
                            {
                                ArrangedVouchCode = item.ArrangedVouchCode,
                                CraftsName        = "检漏",
                                OperatDesc        = "检漏开始",
                                Operator          = currUserSession.UserName,
                                OperatingTime     = DateTime.Now,
                                Frequency         = model.Frequency
                            });
                        }
                        ts.Complete();
                        result.Data = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.ToString());
                throw ex;
            }
            return(result);
        }
Beispiel #3
0
 public CommonResult <CraftsProcessExecute, CraftsProcessExecuteDetail> GetCfPExecute(string sessionId, int ExecuteID)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).GetCfPExecute(ExecuteID));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #4
0
 public Server.Utility.CommonResult <DeviceWorkingCondition> GetDevStatusByCode(string sessionId, string DevCode)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).GetDevStatusByCode(DevCode));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #5
0
 public Server.Utility.CommonResult <Person> GetPersonByPerCode(string sessionId, string PerCode)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).GetPersonByPerCode(PerCode));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #6
0
 public Server.Utility.CommonResult <List <vw_DurmsUpFeeding> > GetDurmsUpFeedingByDevCode(string sessionId, string DevCode)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).GetDurmsUpFeedingByDevCode(DevCode));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #7
0
 public CommonResult <bool> InsterCraProDataById(string sessionId, string ProPlanNum, vw_DurmsUpFeeding model)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).InsterCraProDataById(ProPlanNum, model));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #8
0
 public CommonResult <IPRegistForm> DeleteRegistFormById(string sessionId, IPRegistForm model)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).DeleteRegistFormById(model));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #9
0
 public Server.Utility.CommonResult <bool> UpdateCraftsProcessByExID(string sessionId, string ArrangedVouchCode, int ExecuteID, int ExecuteStatus, Nullable <DateTime> StartTime = null, Nullable <DateTime> EndTime = null)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).UpdateCraftsProcessByExID(ArrangedVouchCode, ExecuteID, ExecuteStatus, StartTime, EndTime));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #10
0
 public Server.Utility.CommonResult <ArrangedVouchLog> InsterArrVouchLog(string sessionId, ArrangedVouchLog model)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).InsterArrVouchLog(model));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #11
0
 public Server.Utility.CommonResult <CraftsProcessExecute> GetCfPExecuteByArrangedVouchCode(string sessionId, string ArrangedVouchCode)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).GetCfPExecuteByArrangedVouchCode(ArrangedVouchCode));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #12
0
 public Server.Utility.CommonResult <ArrangedVouch> GetArrangedVouchCodeByLicensenNum(string sessionId, string LicenseNum)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).GetArrangedVouchCodeByLicensenNum(LicenseNum));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #13
0
 public Server.Utility.CommonResult <ArrangedVouch> UpdateArrangedVouchWeight(string sessionId, vw_DurmsUpFeeding model)
 {
     try
     {
         return(ForCfPExecuteServices.GetInstance(sessionId).UpdateArrangedVouchWeight(model));
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
 /// <summary>
 /// 接受工艺流程参数
 /// </summary>
 /// <param name="model"></param>
 public void AcceptCraftsProcessDetail(Model.CraftsProcessExecuteDetail model)
 {
     try
     {
         //数据同步
         ForCfPExecuteServices.GetInstance(CurrUserSession.SessionId).UpdateCPEDetailExecuteStatusByAutoID(model.AutoID, model.ExecuteStatus, model.StartDateTime, model.EndDateTime);
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
 /// <summary>
 /// 接收工艺流程
 /// </summary>
 /// <param name="model"></param>
 public void AcceptCraftsProcess(Model.CraftsProcessExecute model)
 {
     try
     {
         //数据同步
         ForCfPExecuteServices.GetInstance(CurrUserSession.SessionId).UpdateCraftsProcessByExID(model.ArrangedVouchCode, model.ExecuteID, model.ExecuteStatus, model.StartTime, model.EndTime);
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #16
0
        public CommonResult <bool> GetArrCuteByArrCode(string sessionId, string ArrangedVouchCode, int ExecuteOrder)
        {
            try
            {
                return(ForCfPExecuteServices.GetInstance(sessionId).GetArrCuteByArrCode(ArrangedVouchCode, ExecuteOrder));
            }

            catch (Exception ex)
            {
                throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
                {
                    ErrorCode  = ex.HResult,
                    Message    = ex.Message,
                    StackTrace = ex.StackTrace
                }, ex.Message);
            }
        }
Beispiel #17
0
        /// <summary>
        /// 增加
        ///
        /// </summary>
        /// <param name="model">设备接口对象</param>
        /// <returns>返回处理结果</returns>
        public CommonResult <QC_DrumsFindLeakReport> AddQCDrumsFindLeakReport(QC_DrumsFindLeakReport model)
        {
            var result = new CommonResult <QC_DrumsFindLeakReport>();

            try
            {
                var dbSession  = new DBService <QC_DrumsFindLeakReport>().DbSession;
                var dbSession1 = new DBService <QC_FindLeakDrumsSetDetail>(dbSession.Context).DbSession;

                string strConnn = dbSession.Context.Database.Connection.ConnectionString;

                using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                {
                    model.FLVCode = PubRepository.GetAutomaticNumber(strConnn, "QCDF", 5, "FLVCode", "QC_DrumsFindLeakReport", model.CreateDate);
                    var newModel = dbSession.Insert(model);
                    //更新已检状态
                    var CurrQCDetail = dbSession1.GetQueryable(t => t.ArrangedVouchCode == newModel.SourceCode).FirstOrDefault();
                    if (CurrQCDetail != null)
                    {
                        CurrQCDetail.IsLeak = 1;
                        dbSession1.Update(CurrQCDetail);
                    }
                    ForCfPExecuteServices.GetInstance(currUserSession.SessionId).InsertArrangedVouchLog(new ArrangedVouchLog()
                    {
                        ArrangedVouchCode = newModel.SourceCode,
                        CraftsName        = "检漏",
                        OperatDesc        = "检漏完成",
                        Operator          = currUserSession.UserName,
                        OperatingTime     = DateTime.Now,
                        Frequency         = newModel.Frequency
                    });
                    ts.Complete();
                    result.Data = newModel;
                }
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.ToString());
                throw ex;
            }
            return(result);
        }
Beispiel #18
0
 public Server.Utility.CommonResult <ArrangedVouch> InsterArrVouchByVw(string sessionId, vw_DurmsUpFeeding model)
 {
     try
     {
         var result = ForCfPExecuteServices.GetInstance(sessionId).InsterArrVouchByVw(model);
         //对接调度中心
         //if (result.IsSuccess)
         //    DispatchCenterSerivce.DispatchArrangedCraftsProcessAsync(DisCenterHandler.Start, result.Data.ArrangedVouchCode);
         return(result);
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #19
0
 public Server.Utility.CommonResult <CraftsProcessExecute> UpdateCraftsProcessExecute(string sessionId, string ArrangedVouchCode, int Order, int ExecuteStatus)
 {
     try
     {
         var result = ForCfPExecuteServices.GetInstance(sessionId).UpdateCraftsProcessExecute(ArrangedVouchCode, Order, ExecuteStatus);
         if (result.IsSuccess)
         {
             DispatchCenterSerivce.DispatchArrangedCraftsProcessAsync(DisCenterHandler.UpdateCrafts, result.Data.ArrangedVouchCode, result.Data.ExecuteID);
         }
         return(result);
     }
     catch (Exception ex)
     {
         throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
         {
             ErrorCode  = ex.HResult,
             Message    = ex.Message,
             StackTrace = ex.StackTrace
         }, ex.Message);
     }
 }
Beispiel #20
0
        public CommonResult <CraftsProcessExecute> UpdateCraftsProcessData(string sessionId, string ProPlanNum, vw_DurmsUpFeeding model)
        {
            try
            {
                var result = ForCfPExecuteServices.GetInstance(sessionId).UpdateCraftsProcessData(ProPlanNum, model);
                //    对接调度中心
                if (result.IsSuccess)
                {
                    DispatchCenterSerivce.DispatchArrangedCraftsProcessAsync(DisCenterHandler.Start, result.Data.ArrangedVouchCode);
                }

                return(result);
            }
            catch (Exception ex)
            {
                throw new FaultException <CustomFaultMessage>(new CustomFaultMessage()
                {
                    ErrorCode  = ex.HResult,
                    Message    = ex.Message,
                    StackTrace = ex.StackTrace
                }, ex.Message);
            }
        }