Esempio n. 1
0
        public DTOResponse SetP01(
            LocationStnRequest request,
            IDbConnection db,
            IDbTransaction trans)
        {
            DTOResponse dtoResponse = new DTOResponse();

            try
            {
                LocStationInfoEntity stationinfoEntity = db.Single <LocStationInfoEntity>(x => x.STATIONNO == request.STATIONNO);
                if (stationinfoEntity != null)
                {
                    //如果是紧急出口EMEXIT==1,0==正常出口,不允许分配
                    if (stationinfoEntity.EMEXIT == 1)
                    {
                        throw new Exception("紧急出口,不允许分配!");
                    }

                    stationinfoEntity.LOCATIONX   = request.LOCATIONX;
                    stationinfoEntity.PRIORITY    = request.PRIORITY;
                    stationinfoEntity.TASKCOUNT   = request.TASKCOUNT;
                    stationinfoEntity.P03         = request.P03;
                    stationinfoEntity.P04         = request.P04;
                    stationinfoEntity.OPBY        = SysInfo.CurrentUserName;
                    stationinfoEntity.OPDATE      = Utils.GetTodayNow();
                    stationinfoEntity.OPMESSAGE   = "设置站台参数!";
                    stationinfoEntity.CONTROLMODE = new Decimal?((Decimal)request.CONTROLMODE);

                    SqlExpression <LocStationInfoEntity> sqlExpression = db.From <LocStationInfoEntity>();
                    sqlExpression.Where(x => x.ID == stationinfoEntity.ID);
                    sqlExpression.UpdateFields.Add("LOCATIONX");
                    sqlExpression.UpdateFields.Add("PRIORITY");
                    sqlExpression.UpdateFields.Add("TASKCOUNT");
                    sqlExpression.UpdateFields.Add("P03");
                    sqlExpression.UpdateFields.Add("P04");

                    sqlExpression.UpdateFields.Add("OPBY");
                    sqlExpression.UpdateFields.Add("OPDATE");
                    sqlExpression.UpdateFields.Add("OPMESSAGE");
                    sqlExpression.UpdateFields.Add("CONTROLMODE");

                    db.UpdateOnly <LocStationInfoEntity>(stationinfoEntity, sqlExpression);
                }
                SysAlterInfoService.InsertAlterInfo("1", request.STATIONNO + "设置站台参数:" + request.ToJson(), "1");
                dtoResponse.ResultObject = (object)new List <LocStationInfoEntity>()
                {
                    stationinfoEntity
                };
                dtoResponse.IsSuccess   = true;
                dtoResponse.MessageText = "操作成功!";
                return(dtoResponse);
            }
            catch (Exception ex)
            {
                dtoResponse.IsSuccess   = false;
                dtoResponse.MessageText = ex.Message;
                logger.Error((object)ex);
                return(dtoResponse);
            }
        }
Esempio n. 2
0
        public DTOResponse SetP01Emplty(
            LocationStnRequest request,
            IDbConnection db,
            IDbTransaction trans)
        {
            DTOResponse dtoResponse = new DTOResponse();

            try
            {
                LocStationInfoEntity stationinfoEntity = db.Single <LocStationInfoEntity>(x => x.STATIONNO == request.STATIONNO);
                if (stationinfoEntity != null)
                {
                    stationinfoEntity.WORNO       = (string)null;
                    stationinfoEntity.WORLINE     = (string)null;
                    stationinfoEntity.WORSTATE    = (string)null;
                    stationinfoEntity.OPBY        = SysInfo.CurrentUserName;
                    stationinfoEntity.OPDATE      = Utils.GetTodayNow();
                    stationinfoEntity.OPMESSAGE   = "清空工单设置";
                    stationinfoEntity.CONTROLMODE = new Decimal?(new Decimal());
                    stationinfoEntity.ISCLOSE     = 0;

                    SqlExpression <LocStationInfoEntity> sqlExpression = db.From <LocStationInfoEntity>();
                    sqlExpression.Where(x => x.ID == stationinfoEntity.ID);
                    sqlExpression.UpdateFields.Add("WORNO");
                    sqlExpression.UpdateFields.Add("WORLINE");
                    sqlExpression.UpdateFields.Add("WORSTATE");

                    sqlExpression.UpdateFields.Add("OPBY");
                    sqlExpression.UpdateFields.Add("OPDATE");
                    sqlExpression.UpdateFields.Add("OPMESSAGE");
                    sqlExpression.UpdateFields.Add("CONTROLMODE");
                    sqlExpression.UpdateFields.Add("ISCLOSE");

                    db.UpdateOnly <LocStationInfoEntity>(stationinfoEntity, sqlExpression);
                }
                SysAlterInfoService.InsertAlterInfo("1", request.STATIONNO + "清空工单设置", "1");
                dtoResponse.ResultObject = (object)new List <LocStationInfoEntity>()
                {
                    stationinfoEntity
                };
                dtoResponse.IsSuccess   = true;
                dtoResponse.MessageText = "操作成功!";
                return(dtoResponse);
            }
            catch (Exception ex)
            {
                dtoResponse.IsSuccess   = false;
                dtoResponse.MessageText = ex.Message;
                logger.Error((object)ex);
                return(dtoResponse);
            }
        }
Esempio n. 3
0
        public DTOResponse SetSTATIONSTATE(LocationStnRequest request)
        {
            DTOResponse dtoResponse = new DTOResponse();

            try
            {
                int num = 0;
                using (IDbConnection dbConn = HelperConnection.GetConnectionFactory().OpenDbConnection())
                {
                    using (IDbTransaction dbTransaction = dbConn.OpenTransaction())
                    {
                        LocStationInfoEntity stationinfoEntity = OrmLiteReadExpressionsApi.Single <LocStationInfoEntity>(dbConn, (Expression <Func <LocStationInfoEntity, bool> >)(x => x.STATIONNO == request.STATIONNO));
                        if (stationinfoEntity == null)
                        {
                            throw new Exception("未查询到" + request.STATIONNO + "的信息");
                        }
                        stationinfoEntity.STATIONSTATE = request.STATIONSTATE;
                        stationinfoEntity.OPBY         = SysInfo.CurrentUserName;
                        stationinfoEntity.OPDATE       = Utils.GetTodayNow();
                        stationinfoEntity.OPMESSAGE    = "设置状态!";

                        SqlExpression <LocStationInfoEntity> sqlExpression = dbConn.From <LocStationInfoEntity>();
                        sqlExpression.Where(x => x.ID == stationinfoEntity.ID);
                        sqlExpression.UpdateFields.Add("STATIONSTATE");

                        sqlExpression.UpdateFields.Add("OPBY");
                        sqlExpression.UpdateFields.Add("OPDATE");
                        sqlExpression.UpdateFields.Add("OPMESSAGE");

                        num = dbConn.UpdateOnly <LocStationInfoEntity>(stationinfoEntity, sqlExpression);

                        dbTransaction.Commit();
                    }
                }
                dtoResponse.IsSuccess   = true;
                dtoResponse.MessageText = "设置状态成功!" + num.ToString();
                return(dtoResponse);
            }
            catch (Exception ex)
            {
                dtoResponse.IsSuccess   = false;
                dtoResponse.MessageText = ex.Message;
                logger.Error((object)ex);
                return(dtoResponse);
            }
        }
Esempio n. 4
0
        public DTOResponse SwitchEmexitState(LocationStnRequest request)
        {
            DTOResponse dtoResponse = new DTOResponse();

            try
            {
                int num = 0;
                using (IDbConnection dbConn = HelperConnection.GetConnectionFactory().OpenDbConnection())
                {
                    using (IDbTransaction dbTransaction = dbConn.OpenTransaction())
                    {
                        LocStationInfoEntity stationinfoEntity = OrmLiteReadExpressionsApi.Single <LocStationInfoEntity>(dbConn, (Expression <Func <LocStationInfoEntity, bool> >)(x => x.STATIONNO == request.STATIONNO));
                        if (stationinfoEntity == null)
                        {
                            throw new Exception("未查询到" + request.STATIONNO + "的信息");
                        }
                        stationinfoEntity.EMEXIT    = request.EMEXIT;
                        stationinfoEntity.OPBY      = SysInfo.CurrentUserName;
                        stationinfoEntity.OPDATE    = Utils.GetTodayNow();
                        stationinfoEntity.OPMESSAGE = "设置紧急出口成功!";
                        num = dbConn.Update <LocStationInfoEntity>(stationinfoEntity, (Action <IDbCommand>)null);

                        dbTransaction.Commit();
                    }
                }
                dtoResponse.IsSuccess   = true;
                dtoResponse.MessageText = "设置状态成功!" + num.ToString();
                return(dtoResponse);
            }
            catch (Exception ex)
            {
                dtoResponse.IsSuccess   = false;
                dtoResponse.MessageText = ex.Message;
                logger.Error((object)ex);
                return(dtoResponse);
            }
        }
Esempio n. 5
0
        protected DTOResponse CreateTaskByMen(
            MoveRequest request,
            IDbConnection dbCon,
            IDbTransaction dbTrans)
        {
            DTOResponse dtoResponse = new DTOResponse();

            try
            {
                if (string.IsNullOrEmpty(request.StationNo))
                {
                    throw new Exception("参数不正确!@StationNo");
                }
                if (string.IsNullOrEmpty(request.Destination))
                {
                    throw new Exception("参数不正确!@Destination");
                }

                LocStationInfoEntity locStation1 = dbCon.Single <LocStationInfoEntity>(x => x.CONTROLNO == request.StationNo);
                if (locStation1 == null)
                {
                    throw new Exception(string.Format("站台:{0}不存在!", request.StationNo));
                }

                LocStationInfoEntity locStation2 = dbCon.Single <LocStationInfoEntity>(x => x.CONTROLNO == request.Destination);
                if (locStation2 == null)
                {
                    throw new Exception(string.Format("站台:{0}不存在!", request.Destination));
                }

                if (string.IsNullOrEmpty(request.PalletNo))
                {
                    request.PalletNo = "0";
                }
                if (string.IsNullOrEmpty(request.PalletType))
                {
                    request.PalletType = "1";
                }
                if (request.Priority < 1)
                {
                    request.Priority = 1;
                }

                SysSequenceResult sysSequence = SysSequenceInstance.Instance().GetSysSequence("TASKID");
                TaskEntity        taskEntity  = new TaskEntity()
                {
                    TASKNO          = long.Parse(sysSequence.SEQVALUE).ToString(),
                    TASKDATE        = Utils.GetToday(),
                    TASKTCLASS      = "3",
                    TASKTYPE        = "0",
                    PRIORITY        = request.Priority,
                    TASKGROUPNO     = "",
                    PRETASKNO       = "",
                    STRATEGYID01    = "",
                    STRATEGYNAME01  = "",
                    SOURCEAREA      = locStation1.GROUPNO,
                    SOURCE01        = locStation1.STATIONNO,
                    SOURCE02        = locStation1.CONTROLNO,
                    STRATEGYID02    = "",
                    STRATEGYNAME02  = "",
                    DESTINATIONAREA = locStation2.GROUPNO,
                    DESTINATION01   = locStation2.STATIONNO,
                    DESTINATION02   = locStation2.CONTROLNO,
                    TASKORDERDATA   = "",
                    CREATEDATE      = Utils.GetTodayNow(),
                    CREATEBY        = SysInfo.CurrentUserName,
                    STARTDATE       = "",
                    ENDDATE         = "",
                    CANCELDATE      = "",
                    CANCELREASON    = "",
                    TASKSTATE       = "0",
                    BILLID          = "0",
                    BILLID_LINENUM  = 0,
                    PALLETNO        = request.PalletNo,
                    PALLETTYPE      = request.PalletType
                };
                taskEntity.TASKDESC = string.Format("人工任务:从{0}到{1}", taskEntity.SOURCE02, taskEntity.DESTINATION02);
                long num = dbCon.Insert <TaskEntity>(taskEntity, false);

                dtoResponse.MessageText = "任务号:" + taskEntity.TASKNO + "容器编号:" + request.PalletNo + "从" + locStation1.CONTROLNO + "到" + locStation2.CONTROLNO;
                dtoResponse.IsSuccess   = num == 1 ? true : false;
                LogService.logger.Info((object)dtoResponse.ToString());
                return(dtoResponse);
            }
            catch (Exception ex)
            {
                dtoResponse.IsSuccess   = false;
                dtoResponse.MessageText = ex.Message;
                LogService.logger.Error((object)ex);
                return(dtoResponse);
            }
        }