Пример #1
0
 //从数据行中读取数据到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);
 }
Пример #2
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);
        }
Пример #3
0
        /// <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);
        }