コード例 #1
0
        public InterfaceResult SubmitOutRoom(string input)
        {
            input = HttpUtility.UrlDecode(input);
            InterfaceResult jsonModel = new InterfaceResult();

            try
            {
                SubmitInOutRoom paramModel = Newtonsoft.Json.JsonConvert.DeserializeObject <SubmitInOutRoom>(input);

                DBSiteLogic dbSiteLogic = new DBSiteLogic();

                dbSiteLogic.SubmitOutRoom(paramModel);

                jsonModel.result    = 0;
                jsonModel.resultStr = "返回成功";
            }
            catch (Exception ex)
            {
                TF.CommonUtility.LogClass.logex(ex, "");
                jsonModel.result = 1;
                if (ex.InnerException != null)
                {
                    jsonModel.resultStr = "提交离寓事件失败:" + ex.InnerException.Message.ToString();
                }
                else
                {
                    jsonModel.resultStr = "提交离寓事件失败:" + ex.Message.ToString();
                }
            }
            return(jsonModel);
        }
コード例 #2
0
 public void SubmitOutRoom(SubmitInOutRoom Rec)
 {
     SubmitInOutRoomEvent(Rec, eteOutRoom);
 }
コード例 #3
0
        public void SubmitInOutRoomEvent(SubmitInOutRoom Rec, int EventID)
        {
            int    tmindex;
            int    ErrCode   = 0;
            string ErrInfo   = "";
            string eventGUID = Guid.NewGuid().ToString();

            TrainmanPlan plan     = new TrainmanPlan();
            Trainman     trainman = new Trainman();



            if (DBPlan.GetTrainPlanBriefByRange(Rec.tmid, Rec.etime, plan, out tmindex))
            {
                if (DBDictionary.GetTrainman(Rec.tmid, trainman))
                {
                    SubmitTrainmanEvent(Rec, EventID, plan, tmindex, ref ErrInfo, ref ErrCode, ref eventGUID);

                    SubmitInOutRoomRecord(plan.trainPlan.planID, Rec, tmindex, EventID, trainman);
                }
                else
                {
                    ErrCode = 1;
                    ErrInfo = string.Format("没有找到工号为[{0}]的乘务员!", Rec.tmid);
                }
            }
            else
            {
                ErrCode = 1;
                ErrInfo = "没有指定乘务员的计划或机组信息";
            }


            if (ErrCode == 0)
            {
                ErrInfo = "添加成功";
            }



            EventParam eventParam = new EventParam();

            eventParam.eventGUID    = eventGUID;
            eventParam.eventID      = EventID;
            eventParam.ntmis        = Convert.ToInt32(Rec.stmis);
            eventParam.submitRemark = ErrInfo;
            eventParam.submitResult = ErrCode;
            eventParam.strResult    = Rec.strResult.ResultToString();
            eventParam.nresult      = Rec.nresult;
            eventParam.tmid         = Rec.tmid;
            eventParam.etime        = Rec.etime;

            eventParam.strTrainType    = Rec.strTrainType;
            eventParam.strTrainNum     = Rec.strTrainNum;
            eventParam.strCheCi        = Rec.strCheCi;
            eventParam.nLoginType      = Rec.nLoginType;
            eventParam.PhotoID         = Rec.PhotoID;
            eventParam.IsLackOfRest    = Rec.IsLackOfRest;
            eventParam.LackReason      = Rec.LackReason;
            eventParam.ShenHeNumber    = Rec.ShenHeNumber;
            eventParam.ShenHeName      = Rec.ShenHeName;
            eventParam.ShenHeLoginType = Rec.ShenHeLoginType;
            eventParam.ShenHePhotoID   = Rec.ShenHePhotoID;
            eventParam.InRoomTime      = Rec.strResult.InRoomTime;

            //向TAB_Plan_RunEvent_Site中插入数据
            SubmitEventLog(eventParam);
        }
コード例 #4
0
        private void SubmitInOutRoomRecord(string planGUID, SubmitInOutRoom Rec, int trainmanIndex, int EventID, Trainman trainman)
        {
            if (trainmanIndex < 1 || trainmanIndex > 4)
            {
                return;
            }

            //获取事件地点
            string siteName;
            string sql         = @"select top 1 strStationName from TAB_Base_Station where strStationNumber = '" + Rec.stmis + "'";
            object objSiteName = SqlHelper.ExecuteScalar(SqlHelper.ConnString, CommandType.Text, sql);

            if (objSiteName == null)
            {
                siteName = "";
            }
            else
            {
                siteName = objSiteName.ToString();
            }


            //如果没有记录则插入新记录
            sql = @"if not Exists(select top 1 * from TAB_Plan_RunEvent_SiteInOut where strTrainPlanGUID = @planid)
	        insert into TAB_Plan_RunEvent_SiteInOut(strTrainPlanGUID,strSiteTMIS,strSiteName)
		    values(@planid,@tmis,@siteName)"        ;

            SqlParameter[] sqlparams =
            {
                new SqlParameter("@planid",   planGUID),
                new SqlParameter("@tmis",     Rec.stmis),
                new SqlParameter("@siteName", siteName)
            };
            SqlHelper.ExecuteNonQuery(SqlHelper.ConnString, CommandType.Text, sql, sqlparams);

            //更新人员信息
            switch (EventID)
            {
            case eteInRoom:
                sql = @"update TAB_Plan_RunEvent_SiteInOut set strTrainmanGUID{0} = @tmguid,
                    strTrainmanName{0} = @tmname,
                    strTrainmanNumber{0} = @tmid,
                    strInBrief{0} = @brief,
                    dtInRoomTime{0} = @etime,
                    strInRoomSourceID{0} = @worid where strTrainPlanGUID = @planid";
                break;;

            case eteOutRoom:
                sql = @"update TAB_Plan_RunEvent_SiteInOut set strTrainmanGUID{0} = @tmguid,
                    strTrainmanName{0} = @tmname,
                    strTrainmanNumber{0} = @tmid,
                    strOutBrief{0} = @brief,
                    dtOutRoomTime{0} = @etime,
                    strOutRoomSourceID{0} = @worid where strTrainPlanGUID = @planid";
                break;;

            default:
                throw new Exception("更新出入寓记录失败(错误的事件类型)");
            }


            sql = string.Format(sql, trainmanIndex);

            SqlParameter[] uparams =
            {
                new SqlParameter("@planid", planGUID),
                new SqlParameter("@tmguid", trainman.tmGUID),
                new SqlParameter("@tmname", trainman.tmname),
                new SqlParameter("@tmid",   trainman.tmid),
                new SqlParameter("@brief",  Rec.strResult.ResultToString()),
                new SqlParameter("@etime",  Rec.etime),
                new SqlParameter("@worid",  Rec.workid)
            };

            SqlHelper.ExecuteNonQuery(SqlHelper.ConnString, CommandType.Text, sql, uparams);
        }
コード例 #5
0
        private Boolean SubmitTrainmanEvent(SubmitInOutRoom Rec, int EventID, TrainmanPlan plan, int tmindex,
                                            ref string ErrInfo, ref int ErrCode, ref string eventGUID)
        {
            ErrCode = 0;
            ErrInfo = "";

            RsRunEvent rsEvent = new RsRunEvent();

            if (Rec.tmid == string.Empty)
            {
                ErrCode = 1;
                return(false);
            }

            if (Rec.etime > plan.trainPlan.lastArriveTime)
            {
                ErrCode = 3;
                ErrInfo = "超时被丢弃";
                return(false);
            }

            string tmid1;
            string tmid2;

            //如果已经存在对应计划的事件,则更新事件人员
            if (GetRunEventOfPlan(plan.trainPlan.planID, eteOutRoom, rsEvent))
            {
                tmid1 = rsEvent.strTrainmanNumber1;

                tmid2 = rsEvent.strTrainmanNumber2;

                eventGUID = rsEvent.strRunEventGUID;

                DateTime tempTime = rsEvent.dtEventTime;

                if (Rec.etime > tempTime)
                {
                    tempTime = Rec.etime;
                }

                if (tmindex == 1)
                {
                    tmid1 = Rec.tmid;
                }
                if (tmindex == 2)
                {
                    tmid2 = Rec.tmid;
                }


                UpdateEventTrainman(rsEvent.strRunEventGUID, tmid1, tmid2, tempTime, Rec.strResult.ResultToString());
                return(true);
            }
            else
            {
                tmid1 = "";
                tmid2 = "";

                if (tmindex == 1)
                {
                    tmid1 = Rec.tmid;
                }
                if (tmindex == 2)
                {
                    tmid2 = Rec.tmid;
                }


                rsEvent.strRunEventGUID    = eventGUID;
                rsEvent.nEventID           = EventID;
                rsEvent.strTrainPlanGUID   = plan.trainPlan.planID;
                rsEvent.dtEventTime        = Rec.etime;
                rsEvent.nTMIS              = Convert.ToInt32(Rec.stmis);
                rsEvent.strGroupGUID       = plan.trainPlan.planID;
                rsEvent.strTrainmanNumber1 = tmid1;
                rsEvent.strTrainmanNumber2 = tmid2;
                rsEvent.nResultID          = Rec.nresult;
                rsEvent.strResult          = Rec.strResult.ResultToString();



                AddRunEvent(rsEvent);

                return(true);
            }
        }