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); }
public void SubmitOutRoom(SubmitInOutRoom Rec) { SubmitInOutRoomEvent(Rec, eteOutRoom); }
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); }
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); }
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); } }