예제 #1
0
        //第一步AddAskLeave
        private int AddAskLeave(SqlTransaction trans, LeaveApplyEntity model, string strAskLeaveGUID)
        {
            StringBuilder strSqlAddAskLeave = new StringBuilder();

            strSqlAddAskLeave.Append("insert into TAB_LeaveMgr_AskLeave");
            strSqlAddAskLeave.Append("(strAskLeaveGUID,strTrainManID,dBeginTime,dEndTime,strLeaveTypeGUID,nStatus)");
            strSqlAddAskLeave.Append("values(@strAskLeaveGUID,@strTrainManID,@dBeginTime,@dEndTime,@strLeaveTypeGUID,1);");
            SqlParameter[] paraAddAskLeave =
            {
                new SqlParameter("@strAskLeaveGUID",  strAskLeaveGUID),
                new SqlParameter("@strTrainManID",    model.strTrainmanNumber),
                new SqlParameter("@dBeginTime",       model.dtBeginTime),
                new SqlParameter("@dEndTime",         model.dtEndTime),
                new SqlParameter("@strLeaveTypeGUID", model.strTypeGUID)
            };
            strSqlAddAskLeave.Append("update TAB_Nameplate_Group set strTrainmanGUID1= ''  " +
                                     " where strTrainmanGUID1 = (select top 1 strTrainmanGUID from TAB_Org_Trainman where strTrainmanNumber = '" + model.strTrainmanNumber + "');");
            strSqlAddAskLeave.Append("update TAB_Nameplate_Group set strTrainmanGUID2= ''  " +
                                     " where strTrainmanGUID2 = (select top 1 strTrainmanGUID from TAB_Org_Trainman where strTrainmanNumber = '" + model.strTrainmanNumber + "');");
            strSqlAddAskLeave.Append("update TAB_Nameplate_Group set strTrainmanGUID3= ''  " +
                                     " where strTrainmanGUID3 = (select top 1 strTrainmanGUID from TAB_Org_Trainman where strTrainmanNumber = '" + model.strTrainmanNumber + "');");
            //tsUnRuning {非运转}
            strSqlAddAskLeave.Append("update TAB_Org_Trainman set nTrainmanState = 0 where strTrainmanNumber = '" + model.strTrainmanGUID + "';");
            return(SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSqlAddAskLeave.ToString(), paraAddAskLeave));
        }
예제 #2
0
        public void ExecuteLeave(LeaveApplyEntity leaveApply)
        {
            int nYear  = leaveApply.dtBeginTime.Year;
            int nMonth = leaveApply.dtBeginTime.Month;

            string      sql       = "select * From TAB_LeaveMgr_AnnualLeave where strTrainmanNumber = @strTrainmanNumber and nYear = @nYear and nMonth = @nMonth";
            DbParamDict paramDict = new DbParamDict();

            paramDict.Add("nYear", nYear, ParamDataType.dtInt);
            paramDict.Add("nMonth", nMonth, ParamDataType.dtInt);
            paramDict.Add("strTrainmanNumber", leaveApply.strTrainmanNumber, ParamDataType.dtString);


            DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, sql, paramDict.GetParams()).Tables[0];

            if (dt.Rows.Count > 0)
            {
                paramDict.Clear();

                paramDict.Add("strLeaveGUID", leaveApply.strAskLeaveGUID, ParamDataType.dtString);
                paramDict.Add("nLeaveState", 1, ParamDataType.dtInt);
                paramDict.Add("dtLeaveTime", leaveApply.dtBeginTime, ParamDataType.dtDateTime);
                paramDict.Add("strAnnualGUID", dt.Rows[0]["strAnnualGUID"].ToString(), ParamDataType.dtString);

                sql = "update TAB_LeaveMgr_AnnualLeave set strLeaveGUID = @strLeaveGUID,nLeaveState = @nLeaveState,dtLeaveTime=@dtLeaveTime where strAnnualGUID = @strAnnualGUID";

                SqlHelper.ExecuteNonQuery(SqlHelper.ConnString, CommandType.Text, sql, paramDict.GetParams());
            }
        }
예제 #3
0
        //第三步DeleteTrainman
        private int DeleteTrainman(SqlTransaction trans, LeaveApplyEntity model)
        {
            StringBuilder strSqlDeleteTrainman = new StringBuilder();

            //tsReady {预备}
            strSqlDeleteTrainman.Append("update Tab_Org_Trainman set nTrainmanState = 0 where strTrainmanGUID = '" + model.strTrainmanGUID + "'");
            strSqlDeleteTrainman.Append("update TAB_Nameplate_Group set strTrainmanGUID1='' where strTrainmanGUID1 = '" + model.strTrainmanGUID + "'");
            strSqlDeleteTrainman.Append("update TAB_Nameplate_Group set strTrainmanGUID2='' where strTrainmanGUID2 = '" + model.strTrainmanGUID + "'");
            strSqlDeleteTrainman.Append("update TAB_Nameplate_Group set strTrainmanGUID3='' where strTrainmanGUID3 = '" + model.strTrainmanGUID + "'");
            strSqlDeleteTrainman.Append("update TAB_Nameplate_Group set strTrainmanGUID4='' where strTrainmanGUID4 = '" + model.strTrainmanGUID + "'");
            return(SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSqlDeleteTrainman.ToString()));
        }
예제 #4
0
        /// <summary>
        /// 更新数据
        /// </summary>
        public int AskLeave(LeaveApplyEntity model)
        {
            //判断人员机组是否处于调休状态
            if (ISTXState(model.strTrainmanGUID))
            {
                return(2);
            }

            SqlConnection conn = new SqlConnection(SqlHelper.ConnString);

            conn.Open();
            using (SqlTransaction trans = conn.BeginTransaction())
            {
                try
                {
                    //第一步AddAskLeave
                    string strAskLeaveGUID = System.Guid.NewGuid().ToString();
                    model.strAskLeaveGUID = strAskLeaveGUID;
                    int obj = AddAskLeave(trans, model, strAskLeaveGUID);
                    if (obj > 0)
                    {
                        //第二步AddAskLeaveDetail
                        obj = AddAskLeaveDetail(trans, model, strAskLeaveGUID);
                        if (obj > 0)
                        {
                            //第三步DeleteTrainman
                            obj = DeleteTrainman(trans, model);

                            //第四步 插入请销假消息
                            model.msgType = MSGTYPE.MSG_LEAVE;
                            string strMsg = AttentionMsg.ReturnStrJson(model);
                            CreatMsg(trans, strMsg);
                            trans.Commit();
                            return(0);
                        }
                    }
                    trans.Rollback();
                    return(1);
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw ex;
                }
                finally
                {
                    trans.Dispose();
                }
            }
        }
예제 #5
0
        //第二步AddAskLeaveDetail
        private int AddAskLeaveDetail(SqlTransaction trans, LeaveApplyEntity model, string strAskLeaveGUID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into TAB_LeaveMgr_AskLeaveDetail");
            strSql.Append("(strAskLeaveDetailGUID,strAskLeaveGUID,strMemo,dBeginTime,dEndTime,strProverID,strProverName,dCreateTime,strDutyUserID,strDutyUserName,strSiteID,strSiteName,nValidWay)");
            strSql.Append("values(newid(),@strAskLeaveGUID,@strMemo,@dBeginTime,@dEndTime,@strProverID,@strProverName,getdate(),@strDutyUserID,@strDutyUserName,@strSiteID,@strSiteName,@nValidWay)");
            SqlParameter[] parameters =
            {
                //new SqlParameter("@strAskLeaveDetailGUID", model.strAskLeaveDetailGUID),
                new SqlParameter("@strAskLeaveGUID", strAskLeaveGUID),
                new SqlParameter("@strMemo",         model.strRemark),
                new SqlParameter("@dBeginTime",      model.dtBeginTime),
                new SqlParameter("@dEndTime",        model.dtEndTime),
                new SqlParameter("@strProverID",     model.strProverID),
                new SqlParameter("@strProverName",   model.strProverName),
                new SqlParameter("@strDutyUserID",   model.strDutyUserID),
                new SqlParameter("@strDutyUserName", model.strDutyUserName),
                new SqlParameter("@strSiteID",       model.strSiteID),
                new SqlParameter("@strSiteName",     model.strSiteName),
                new SqlParameter("@nValidWay",       model.Verify)
            };
            return(ObjectConvertClass.static_ext_int(SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql.ToString(), parameters)));
        }