//销假主函数 public void CancelLeave(CancelLeaveDetailEntity model) { SqlConnection conn = new SqlConnection(SqlHelper.ConnString); conn.Open(); using (SqlTransaction trans = conn.BeginTransaction()) { try { //第一步 操作TAB_LeaveMgr_CancelLeaveDetail,并修改人员表状态 AddCancelLeaveDetail(trans, model); //第二步 操作TAB_LeaveMgr_AnnualLeave new DBAnnualLeave().ExecuteUnLeave(trans, model); //第三步 插入请销假消息 model.msgType = MSGTYPE.MSG_LEAVE; string strMsg = AttentionMsg.ReturnStrJson(model); CreatMsg(trans, strMsg); trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } finally { conn.Close(); } } }
/// <summary> /// 读取DataRow数据到Model中 /// </summary> private void CancelLeaveDetailDataRowToModel(CancelLeaveDetailEntity model, DataRow dr) { model.strCancelLeaveGUID = ObjectConvertClass.static_ext_string(dr["strCancelLeaveGUID"]); model.strAskLeaveGUID = ObjectConvertClass.static_ext_string(dr["strAskLeaveGUID"]); model.strProverID = ObjectConvertClass.static_ext_string(dr["strProverID"]); model.strProverName = ObjectConvertClass.static_ext_string(dr["strProverName"]); model.dtCancelTime = ObjectConvertClass.static_ext_date(dr["dtCancelTime"]); model.dtCreateTime = ObjectConvertClass.static_ext_date(dr["dCreateTime"]); model.strDutyUserID = ObjectConvertClass.static_ext_string(dr["strDutyUserID"]); model.strDutyUserName = ObjectConvertClass.static_ext_string(dr["strDutyUserName"]); model.strSiteID = ObjectConvertClass.static_ext_string(dr["strSiteID"]); model.strSiteName = ObjectConvertClass.static_ext_string(dr["strSiteName"]); model.Verify = ObjectConvertClass.static_ext_int(dr["nValidWay"]); }
/// <summary> /// 添加数据 /// </summary> public void AddCancelLeaveDetail(SqlTransaction trans, CancelLeaveDetailEntity model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into TAB_LeaveMgr_CancelLeaveDetail"); strSql.Append("(strCancelLeaveGUID,strAskLeaveGUID,strProverID,strProverName,dtCancelTime,dCreateTime,strDutyUserID,strDutyUserName,strSiteID,strSiteName,nValidWay)"); strSql.Append("values(@strCancelLeaveGUID,@strAskLeaveGUID,@strProverID,@strProverName,@dtCancelTime,@dCreateTime,@strDutyUserID,@strDutyUserName,@strSiteID,@strSiteName,@nValidWay)"); SqlParameter[] parameters = { new SqlParameter("@strCancelLeaveGUID", model.strCancelLeaveGUID), new SqlParameter("@strAskLeaveGUID", model.strAskLeaveGUID), new SqlParameter("@strProverID", model.strProverID), new SqlParameter("@strProverName", model.strProverName), new SqlParameter("@dtCancelTime", model.dtCancelTime), new SqlParameter("@dCreateTime", model.dtCreateTime), 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) }; var obj = SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql.ToString(), parameters); if (obj > 0) { string strSqlUpdate = "update TAB_LeaveMgr_AskLeave set nStatus = 3, dEndTime = @dEndTime where strAskLeaveGUID = @strAskLeaveGUID;"; //tsReady {预备} strSqlUpdate += "update TAB_Org_Trainman set nTrainmanState = 1 where strTrainmanNumber = @strTrainmanNumber"; SqlParameter[] paraAskLeave = { new SqlParameter("@dEndTime", model.dtCancelTime), new SqlParameter("@strAskLeaveGUID", model.strAskLeaveGUID), new SqlParameter("@strTrainmanNumber", model.strTrainmanID) }; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSqlUpdate, paraAskLeave); } }
/// <summary> /// 获得数据List /// </summary> public CancelLeaveDetailEntity GetCancelLeaveDetailDataList(string strAskLeaveGUID, out Boolean bExist) { StringBuilder strSql = new StringBuilder(); strSql.Append("select * from TAB_LeaveMgr_CancelLeaveDetail where strAskLeaveGUID=@strAskLeaveGUID"); SqlParameter[] parameters = { new SqlParameter("strAskLeaveGUID", strAskLeaveGUID) }; DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSql.ToString(), parameters).Tables[0]; CancelLeaveDetailEntity _CancelLeaveDetailEntity = null; if (dt.Rows.Count > 0) { bExist = true; _CancelLeaveDetailEntity = new CancelLeaveDetailEntity(); CancelLeaveDetailDataRowToModel(_CancelLeaveDetailEntity, dt.Rows[0]); } else { bExist = false; } return(_CancelLeaveDetailEntity); }
public void ExecuteUnLeave(SqlTransaction trans, CancelLeaveDetailEntity entity) { string sql = "select * From TAB_LeaveMgr_AnnualLeave where strLeaveGUID = @strLeaveGUID"; DbParamDict paramDict = new DbParamDict(); paramDict.Add("strLeaveGUID", entity.strAskLeaveGUID, 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", entity.strAskLeaveGUID, ParamDataType.dtString); paramDict.Add("nLeaveState", 2, ParamDataType.dtInt); paramDict.Add("dtUnleaveTime", entity.dtCancelTime, ParamDataType.dtDateTime); sql = "update TAB_LeaveMgr_AnnualLeave set dtUnleaveTime= @dtUnleaveTime,nLeaveState = @nLeaveState where strLeaveGUID = @strLeaveGUID"; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, sql, paramDict.GetParams()); } }