/// <summary> /// 判断是否在计划中 /// </summary> /// <param name="GroupGUID"></param> /// <param name="checkBrief"></param> /// <returns></returns> public static bool CheckIsInPlan(string GroupGUID, ref string checkBrief) { Group G = new Group(); string strSql = "select top 1 * from VIEW_Nameplate_Group where strGroupGUID=@strGroupGUID"; SqlParameter[] sqlParams = new SqlParameter[] { new SqlParameter("strGroupGUID", GroupGUID) }; DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSql, sqlParams).Tables[0]; if (dt.Rows.Count > 0) { PSNameBoard.GroupFromDB(G, dt.Rows[0]); if (G.groupState == 3) { checkBrief = string.Format("机组已被安排了计划,不能添加"); return(false); } if (G.groupState == 6) { checkBrief = string.Format("机组已出勤,不能添加"); return(false); } return(true); } return(true); }
/// <summary> /// 获取指定车间的指定人员交路下的无出勤点的人员列表 /// </summary> public InterfaceOutPut GetNullPlaceGroups(String Data) { InterfaceOutPut output = new InterfaceOutPut(); output.result = 1; try { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); InGetNullPlaceGroups InParams = javaScriptSerializer.Deserialize <InGetNullPlaceGroups>(Data); OutGetNullPlaceGroups OutParams = new OutGetNullPlaceGroups(); string strSql = @"select * from VIEW_Nameplate_TrainmanJiaolu_Order where strTrainmanJiaoluGUID= @strTrainmanJiaoluGUID and (strPlaceID ='' or strPlaceID is null) order by dtLastArriveTime"; SqlParameter[] sqlParams = new SqlParameter[] { new SqlParameter("strTrainmanJiaoluGUID", InParams.TrainmanJiaoluGUID) }; DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSql, sqlParams).Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { TF.RunSafty.NamePlate.MD.OrderGroup ordergroup = new TF.RunSafty.NamePlate.MD.OrderGroup(); ordergroup.orderID = dt.Rows[i]["strOrderGUID"].ToString(); ordergroup.trainmanjiaoluID = dt.Rows[i]["strTrainmanJiaoluGUID"].ToString(); ordergroup.order = int.Parse(dt.Rows[i]["nOrder"].ToString()); ordergroup.lastArriveTime = dt.Rows[i]["dtLastArriveTime"].ToString(); PSNameBoard.GroupFromDB(ordergroup.group, dt.Rows[i]); OutParams.Groups.Add(ordergroup); } output.data = OutParams; output.result = 0; } catch (Exception ex) { output.resultStr = ex.Message; LogClass.log("Interface.GetNullPlaceGroups:" + ex.Message); throw ex; } return(output); }
/// <summary> /// 判断是否位于其他机组内 /// </summary> /// <param name="AimGroupID"></param> /// <param name="TMNumber"></param> /// <param name="checkBrief"></param> /// <returns></returns> public static bool CheckIsInOtherGroup(string AimGroupID, string TMNumber, ref string checkBrief, string strTMGUID) { //获取待加人员原来所属的机组信息 string strSql = @"select top 1 * from VIEW_Nameplate_Group where strTrainmanGUID1 = @strTrainmanGUID or strTrainmanGUID2=@strTrainmanGUID or strTrainmanGUID3=@strTrainmanGUID or strTrainmanGUID4=@strTrainmanGUID"; SqlParameter[] sqlParamsOldGroup = new SqlParameter[] { new SqlParameter("strTrainmanGUID", strTMGUID) }; DataTable dtOldGroup = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSql, sqlParamsOldGroup).Tables[0]; if (dtOldGroup.Rows.Count > 0) { Group G = new Group(); PSNameBoard.GroupFromDB(G, dtOldGroup.Rows[0]); if (G.groupID != AimGroupID) { checkBrief = string.Format("该乘务员位于其他机组中,司机:[{0}]{1},副司机:[{2}]{3}", G.trainman1.trainmanNumber, G.trainman1.trainmanName, G.trainman2.trainmanNumber, G.trainman2.trainmanName); return(false); } } return(true); }
/// <summary> /// 获取指定的包乘机车信息 /// </summary> public InterfaceOutPut GetTogetherTrain(String Data) { InterfaceOutPut output = new InterfaceOutPut(); output.result = 1; try { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); InGetTogetherTrain InParams = javaScriptSerializer.Deserialize <InGetTogetherTrain>(Data); OutGetTogetherTrain OutParams = new OutGetTogetherTrain(); string strSql = @"select * from VIEW_Nameplate_TrainmanJiaolu_TogetherTrain where strTrainGUID= @strTrainGUID order by dtCreateTime,nOrder"; SqlParameter[] sqlParams = new SqlParameter[] { new SqlParameter("strTrainGUID", InParams.strTrainGUID) }; DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSql, sqlParams).Tables[0]; bool bFind = false; for (int i = 0; i < dt.Rows.Count; i++) { if (OutParams.Train.strTrainGUID == dt.Rows[i]["strTrainGUID"].ToString()) { RRsOrderGroupInTrain group = new RRsOrderGroupInTrain(); group.strOrderGUID = dt.Rows[i]["strOrderGUID"].ToString(); group.strTrainGUID = dt.Rows[i]["strTrainGUID"].ToString(); group.nOrder = int.Parse(dt.Rows[i]["nOrder"].ToString()); group.dtLastArriveTime = TF.RunSafty.Utils.Parse.TFParse.DBToDateTime(dt.Rows[i]["dtLastArriveTime"], DateTime.Parse("1899-01-01"));; PSNameBoard.GroupFromDB(group.Group, dt.Rows[i]); OutParams.Train.Groups.Add(group); bFind = true; } if (bFind) { continue; } OutParams.Train.strTrainGUID = dt.Rows[i]["strTrainGUID"].ToString(); OutParams.Train.strTrainmanJiaoluGUID = dt.Rows[i]["strTrainmanJiaoluGUID"].ToString(); OutParams.Train.strTrainTypeName = dt.Rows[i]["strTrainTypeName"].ToString(); OutParams.Train.strTrainNumber = dt.Rows[i]["strTrainNumber"].ToString(); if (dt.Rows[i]["strOrderGUID"].ToString() != "") { RRsOrderGroupInTrain group = new RRsOrderGroupInTrain(); group.strOrderGUID = dt.Rows[i]["strOrderGUID"].ToString(); group.strTrainGUID = dt.Rows[i]["strTrainGUID"].ToString(); group.nOrder = int.Parse(dt.Rows[i]["nOrder"].ToString()); group.dtLastArriveTime = TF.RunSafty.Utils.Parse.TFParse.DBToDateTime(dt.Rows[i]["dtLastArriveTime"], DateTime.Parse("1899-01-01"));; PSNameBoard.GroupFromDB(group.Group, dt.Rows[i]); OutParams.Train.Groups.Add(group); } } output.data = OutParams; output.result = 0; } catch (Exception ex) { output.resultStr = ex.Message; LogClass.log("Interface.GetTogetherTrain:" + ex.Message); throw ex; } return(output); }
/// <summary> /// 获取人员所在机组 /// </summary> public InterfaceOutPut GetGroupOfTrainman(String Data) { InterfaceOutPut output = new InterfaceOutPut(); output.result = 1; try { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); InGetGroupOfTrainman InParams = javaScriptSerializer.Deserialize <InGetGroupOfTrainman>(Data); OutGetGroupOfTrainman OutParams = new OutGetGroupOfTrainman(); OutParams.Exist = 0; if (InParams.HasRestInfo == 0) { // string strSql = @"select top 1 * from VIEW_Nameplate_Group // where strTrainmanNumber1 = @strTrainmanNumber or strTrainmanNumber2=@strTrainmanNumber or strTrainmanNumber3=@strTrainmanNumber or strTrainmanNumber4=@strTrainmanNumber"; // SqlParameter[] sqlParams = new SqlParameter[]{ // new SqlParameter("strTrainmanNumber",InParams.TrainmanNumber) // }; string strSql = @"select * from VIEW_Nameplate_Group where strTrainmanNumber1 = '{0}' or strTrainmanNumber2='{0}' or strTrainmanNumber3='{0}' or strTrainmanNumber4='{0}'"; strSql = string.Format(strSql, InParams.TrainmanNumber); DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSql).Tables[0]; if (dt.Rows.Count > 0) { OutParams.Exist = 1; PSNameBoard.GroupFromDB(OutParams.Group, dt.Rows[0]); } } else { string strSql = @"select top 1 *, (select max(dtInRoomTime) from TAB_Plan_InRoom where strTrainmanNumber = strTrainmanNumber1 and (DATEPART (Hour,dtInRoomTime) < 4 or DATEPART (Hour,dtInRoomTime) > 12) ) as InRoomTime1, (select max(dtInRoomTime) from TAB_Plan_InRoom where strTrainmanNumber = strTrainmanNumber2 and (DATEPART (Hour,dtInRoomTime) < 4 or DATEPART (Hour,dtInRoomTime) > 12) ) as InRoomTime2, (select max(dtInRoomTime) from TAB_Plan_InRoom where strTrainmanNumber = strTrainmanNumber3 and (DATEPART (Hour,dtInRoomTime) < 4 or DATEPART (Hour,dtInRoomTime) > 12) ) as InRoomTime3, (select max(dtInRoomTime) from TAB_Plan_InRoom where strTrainmanNumber = strTrainmanNumber4 and (DATEPART (Hour,dtInRoomTime) < 4 or DATEPART (Hour,dtInRoomTime) > 12) ) as InRoomTime4 from VIEW_Nameplate_Group where strTrainmanNumber1 = @strTrainmanNumber or strTrainmanNumber2=@strTrainmanNumber or strTrainmanNumber3=@strTrainmanNumber or strTrainmanNumber4=@strTrainmanNumber"; SqlParameter[] sqlParams = new SqlParameter[] { new SqlParameter("strTrainmanNumber", InParams.TrainmanNumber) }; DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSql, sqlParams).Tables[0]; if (dt.Rows.Count > 0) { OutParams.Exist = 1; PSNameBoard.GroupFromDB(OutParams.Group, dt.Rows[0]); } } output.data = OutParams; output.result = 0; } catch (Exception ex) { output.resultStr = ex.Message; LogClass.log("Interface.GetGroupOfTrainman:" + ex.Message); throw ex; } return(output); }