//从数据行中读取数据到NamedGroup中 public static void OrderGroupFromDB(TF.RunSafty.NamePlate.MD.OrderGroup group, DataRow dr) { GroupFromDB(group.group, dr); group.lastArriveTime = TFParse.DBToDateTime(dr["dtLastArriveTime"], DateTime.Parse("1899-01-01")).ToString("yyyy-MM-dd HH:mm:Ss"); group.orderID = dr["strOrderGUID"].ToString(); group.trainmanjiaoluID = dr["strTrainmanJiaoluGUID"].ToString(); group.order = TFParse.DBToInt(dr["nOrder"], 0); }
/// <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="TrainmanJiaolu">人员交路ID</param> /// <param name="PlaceIDs">出勤点列表</param> ///<param name="TrainmanGUID">乘务员GUID列表</param> /// <returns></returns> public static List <TF.RunSafty.NamePlate.MD.OrderGroup> GetOrderGroups(string TrainmanJiaolu, List <string> PlaceIDs, string TrainmanGUID) { string sqlText = @"select *, (select max(dtInRoomTime) from TAB_Plan_InRoom where strTrainmanNumber = strTrainmanNumber1) as InRoomTime1, (select max(dtInRoomTime) from TAB_Plan_InRoom where strTrainmanNumber = strTrainmanNumber2) as InRoomTime2, (select max(dtInRoomTime) from TAB_Plan_InRoom where strTrainmanNumber = strTrainmanNumber3) as InRoomTime3, (select max(dtInRoomTime) from TAB_Plan_InRoom where strTrainmanNumber = strTrainmanNumber4) as InRoomTime4 from VIEW_Nameplate_TrainmanJiaolu_Order where (nTxState = 0 ) or (nTxState is null) "; if (TrainmanGUID != "") { sqlText += @" and (strTrainmanGUID1 = @TrainmanID or strTrainmanGUID2 = @TrainmanID or strTrainmanGUID3 = @TrainmanID or strTrainmanGUID4 = @TrainmanID) "; } if (TrainmanJiaolu != "") { sqlText += " and strTrainmanJiaoluGUID = @Trainmanjiaolu"; } string placewhere = ""; if (PlaceIDs.Count > 0) { for (int i = 0; i < PlaceIDs.Count; i++) { if (placewhere == "") { placewhere = PlaceIDs[i]; } else { placewhere += "," + PlaceIDs[i]; } } sqlText += " and strPlaceID in (@Place)"; } sqlText += " order by groupState,(case when year(dtLastArriveTime)=1899 then 1 else 0 end ),dtLastArriveTime,strTrainmanName1,strTrainmanName2"; System.Data.SqlClient.SqlParameter[] sqlParams = { new System.Data.SqlClient.SqlParameter("TrainmanID", TrainmanGUID), new System.Data.SqlClient.SqlParameter("Trainmanjiaolu", TrainmanJiaolu), new System.Data.SqlClient.SqlParameter("Place", placewhere) }; DataTable dtGroups = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, sqlText, sqlParams).Tables[0]; List <TF.RunSafty.NamePlate.MD.OrderGroup> result = new List <TF.RunSafty.NamePlate.MD.OrderGroup>(); for (int k = 0; k < dtGroups.Rows.Count; k++) { TF.RunSafty.NamePlate.MD.OrderGroup group = new TF.RunSafty.NamePlate.MD.OrderGroup(); result.Add(group); group.orderID = dtGroups.Rows[k]["strOrderGUID"].ToString(); group.order = int.Parse(dtGroups.Rows[k]["nOrder"].ToString()); group.trainmanjiaoluID = dtGroups.Rows[k]["strTrainmanJiaoluGUID"].ToString(); if (dtGroups.Rows[k]["dtLastArriveTime"] != DBNull.Value) { group.lastArriveTime = Convert.ToDateTime(dtGroups.Rows[k]["dtLastArriveTime"]).ToString("yyyy-MM-dd HH:mm:ss"); } else { group.lastArriveTime = ""; } DataRowToGroup(dtGroups.Rows[k], group.group); } return(result); }