/// <summary> /// 获取指定车间的指定人员交路下的非运转人员列表 /// </summary> public InterfaceOutPut GetUnRunTrainmans(String Data) { InterfaceOutPut output = new InterfaceOutPut(); output.result = 1; try { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); InGetUnRunTrainmans InParams = javaScriptSerializer.Deserialize <InGetUnRunTrainmans>(Data); OutGetUnRunTrainmans OutParams = new OutGetUnRunTrainmans(); string strSql = @"select leave.dBeginTime,leave.dEndTime,leave.strLeaveTypeGUID,leave.strTypeName as strLeaveTypeName, leave.nStatus,* from TAB_Org_Trainman as tm left join VIEW_LeaveMgr_AskLeaveWithTypeName as leave on tm.strTrainmanGUID = leave.strTrainManID where nTrainmanState = 0 and (leave.nStatus = 1 or leave.nStatus is null) "; if (!string.IsNullOrEmpty(InParams.TrainmanJiaoluGUID)) { strSql += " and strTrainmanJiaoluGUID = @strTrainmanJiaoluGUID"; } if (!string.IsNullOrEmpty(InParams.WorkShopGUID)) { strSql += " and strWorkShopGUID=@strWorkShopGUID"; } strSql += " order by strLeaveTypeGUID,dBeginTime,strTrainmanNumber"; SqlParameter[] sqlParams = new SqlParameter[] { new SqlParameter("strWorkShopGUID", InParams.WorkShopGUID), 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++) { TrainmanLeave leave = new TrainmanLeave(); leave.strLeaveTypeGUID = dt.Rows[i]["strLeaveTypeGUID"].ToString(); leave.strLeaveTypeName = dt.Rows[i]["strLeaveTypeName"].ToString(); leave.dBeginTime = TF.RunSafty.Utils.Parse.TFParse.DBToDateTime(dt.Rows[i]["dBeginTime"], DateTime.Parse("2000-01-01")).ToString("yyyy-MM-dd HH:mm:ss"); leave.dEndTime = TF.RunSafty.Utils.Parse.TFParse.DBToDateTime(dt.Rows[i]["dEndTime"], DateTime.Parse("2000-01-01")).ToString("yyyy-MM-dd HH:mm:ss"); PSNameBoard.TrainmanFromDB(leave.Trainman, dt.Rows[i]); OutParams.Trainmans.Add(leave); } output.data = OutParams; output.result = 0; } catch (Exception ex) { output.resultStr = ex.Message; LogClass.log("Interface.GetUnRunTrainmans:" + ex.Message); throw ex; } return(output); }
/// <summary> /// 获取车间内指定类型的非运转人员 /// </summary> public InterfaceOutPut GetUnRunTrainmansByType(String Data) { InterfaceOutPut output = new InterfaceOutPut(); output.result = 1; try { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); InGetUnRunTrainmansByType InParams = javaScriptSerializer.Deserialize <InGetUnRunTrainmansByType>(Data); OutGetUnRunTrainmansByType OutParams = new OutGetUnRunTrainmansByType(); string[] types = InParams.Types.Split(new char[1] { ',' }, StringSplitOptions.RemoveEmptyEntries); string strLeaveTypes = ""; for (int i = 0; i < types.Length; i++) { if (strLeaveTypes == "") { strLeaveTypes = string.Format("'{0}'", types[i]); } else { strLeaveTypes += string.Format(",'{0}'", types[i]); } } if (strLeaveTypes == "") { strLeaveTypes = string.Format("('{0}')", strLeaveTypes); } else { strLeaveTypes = string.Format("({0})", strLeaveTypes); } string strSql = @"select *, (select top 1 strLeaveTypeGUID from VIEW_LeaveMgr_AskLeaveWithTypeName where strTrainmanID=strTrainmanNumber order by dBeginTime desc) as strLeaveTypeGUID, (select top 1 strTypeName from VIEW_LeaveMgr_AskLeaveWithTypeName where strTrainmanID=strTrainmanNumber order by dBeginTime desc) as strLeaveTypeName from VIEW_Org_Trainman where strWorkShopGUID=@strWorkShopGUID and nTrainmanState = 0 and (select top 1 strLeaveTypeGUID from VIEW_LeaveMgr_AskLeaveWithTypeName where strTrainmanID=strTrainmanNumber order by dBeginTime desc) in " + strLeaveTypes + @" order by (select top 1 strLeaveTypeGUID from VIEW_LeaveMgr_AskLeaveWithTypeName where strTrainmanID=strTrainmanNumber order by dBeginTime desc),strTrainmanNumber "; SqlParameter[] sqlParams = new SqlParameter[] { new SqlParameter("strWorkShopGUID", InParams.WorkShopGUID) }; DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSql, sqlParams).Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { TrainmanLeave leave = new TrainmanLeave(); leave.strLeaveTypeGUID = dt.Rows[i]["strLeaveTypeGUID"].ToString(); leave.strLeaveTypeName = dt.Rows[i]["strLeaveTypeName"].ToString(); PSNameBoard.TrainmanFromDB(leave.Trainman, dt.Rows[i]); OutParams.Trainmans.Add(leave); } output.data = OutParams; output.result = 0; } catch (Exception ex) { output.resultStr = ex.Message; LogClass.log("Interface.GetUnRunTrainmansByType:" + ex.Message); throw ex; } return(output); }