public InterfaceOutPut ChangeJiaoLu(string data) { InterfaceOutPut output = new InterfaceOutPut(); JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); Group group = new Group(); try { ChangeGrpJlParam InParams = javaScriptSerializer.Deserialize <ChangeGrpJlParam>(data); if (!LCGroup.GetGroup(InParams.GroupGUID, group)) { throw new Exception("没有找到对应的机组"); } //可能还需要更新PLACEID if (!string.IsNullOrEmpty(group.trainPlanID)) { throw new Exception("该机组已按排计划,不能修改所属交路"); } SqlParameter[] sqlParams = new SqlParameter[] { new SqlParameter("strGroupGUID", InParams.GroupGUID), new SqlParameter("DestJiaoLu", InParams.DestJiaolu.jiaoluID), new SqlParameter("TrainGUID", InParams.TrainGUID), new SqlParameter("nOrder", 0) }; //获取最大序号 string strSql = "select ISNUll(max(nOrder),1) from TAB_Nameplate_TrainmanJiaolu_OrderInTrain where strTrainGUID = @TrainGUID"; int nOrder = Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.ConnString, CommandType.Text, strSql, sqlParams)); nOrder++; sqlParams[sqlParams.Length - 1].SqlValue = nOrder; SqlConnection conn = new SqlConnection(SqlHelper.ConnString); conn.Open(); using (SqlTransaction trans = conn.BeginTransaction()) { try { switch (InParams.SrcJiaolu.jiaoluType) { //记名式 case 2: { strSql = "delete from TAB_Nameplate_TrainmanJiaolu_Named where strGroupGUID = @strGroupGUID"; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql, sqlParams); break; } //轮乘 case 3: { strSql = "delete from TAB_Nameplate_TrainmanJiaolu_Order where strGroupGUID = @strGroupGUID"; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql, sqlParams); break; } //包乘 case 4: { //strSql = "delete from TAB_Nameplate_TrainmanJiaolu_OrderInTrain where strGroupGUID = @strGroupGUID"; //SqlHelper.ExecuteNonQuery(SqlHelper.ConnString, CommandType.Text, strSql, sqlParams); break; } } strSql = "update TAB_Nameplate_TrainmanJiaolu_OrderInTrain set strTrainGUID = @TrainGUID,nOrder = @nOrder where strGroupGUID = @strGroupGUID"; if (Convert.ToInt32(SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql, sqlParams)) == 0) { //插入关联信息 strSql = @"insert into TAB_Nameplate_TrainmanJiaolu_OrderInTrain (strTrainGUID,nOrder,strGroupGUID) values(@TrainGUID,@nOrder,@strGroupGUID)"; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql, sqlParams); } //更新人员所属交路 strSql = @"update TAB_Org_Trainman set strTrainmanJiaoluGUID = @DestJiaoLu where strTrainmanGUID in ( select strTrainmanGUID1 from TAB_Nameplate_Group where strGroupGUID = @strGroupGUID union select strTrainmanGUID2 from TAB_Nameplate_Group where strGroupGUID = @strGroupGUID union select strTrainmanGUID3 from TAB_Nameplate_Group where strGroupGUID = @strGroupGUID union select strTrainmanGUID4 from TAB_Nameplate_Group where strGroupGUID = @strGroupGUID)"; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql, sqlParams); string strContent = string.Format("机组【{0}】 由【{1}】交路 更改为【{2}】交路", LCGroup.GetGroupString(group), InParams.SrcJiaolu.jiaoluName, InParams.DestJiaolu.jiaoluName); LCGroup.SaveNameplateLog(group, InParams.SrcJiaolu, InParams.DutyUser, LBoardChangeType.btcChangeJiaoLu, strContent); output.result = 0; trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } finally { conn.Close(); } } } catch (Exception ex) { output.resultStr = ex.Message.ToString(); output.result = 1; } return(output); }
public InterfaceOutPut ChangeJiaoLu(string data) { InterfaceOutPut output = new InterfaceOutPut(); JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); Group group = new Group(); try { ChangeGrpJlParam InParams = javaScriptSerializer.Deserialize <ChangeGrpJlParam>(data); if (!LCGroup.GetGroup(InParams.GroupGUID, group)) { throw new Exception("没有找到对应的机组"); } if (!string.IsNullOrEmpty(group.trainPlanID)) { throw new Exception("该机组已按排计划,不能修改所属交路"); } SqlParameter[] sqlParams = new SqlParameter[] { new SqlParameter("strGroupGUID", InParams.GroupGUID), new SqlParameter("DestJiaoLu", InParams.DestJiaolu.jiaoluID), new SqlParameter("Checi1", InParams.CheCi1), new SqlParameter("Checi2", InParams.CheCi2), new SqlParameter("NewCheCiGUID", Guid.NewGuid()) }; string strSql = "select ISNULL(max(nCheciOrder),1) from TAB_Nameplate_TrainmanJiaolu_Named where strTrainmanJiaoluGUID = @DestJiaoLu"; int nOrder = Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.ConnString, CommandType.Text, strSql, sqlParams)); nOrder++; SqlConnection conn = new SqlConnection(SqlHelper.ConnString); conn.Open(); using (SqlTransaction trans = conn.BeginTransaction()) { try { switch (InParams.SrcJiaolu.jiaoluType) { //记名式 case 2: { break; } //轮乘 case 3: { strSql = "delete from TAB_Nameplate_TrainmanJiaolu_Order where strGroupGUID = @strGroupGUID"; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql, sqlParams); break; } //包乘 case 4: { strSql = "delete from TAB_Nameplate_TrainmanJiaolu_OrderInTrain where strGroupGUID = @strGroupGUID"; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql, sqlParams); break; } } //更新名牌关联交路 strSql = @"update TAB_Nameplate_TrainmanJiaolu_Named set strTrainmanJiaoluGUID = @DestJiaoLu,nCheciOrder = " + nOrder.ToString() + ",strCheCi1 = @Checi1,strCheCi2 = @Checi2 where strGroupGUID = @strGroupGUID"; if (Convert.ToInt32(SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql, sqlParams)) == 0) { //如果没有旧的机组,则重新插入记录 strSql = @"insert into TAB_Nameplate_TrainmanJiaolu_Named (strCheCiGUID,strTrainmanJiaoluGUID,nCheciOrder,nCheciType,strCheci1,strCheci2,strGroupGUID) values(@NewCheCiGUID,@DestJiaoLu," + nOrder.ToString() + ",0,@Checi1,@Checi2,@strGroupGUID)"; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql, sqlParams); } //更新人员所属交路 strSql = @"update TAB_Org_Trainman set strTrainmanJiaoluGUID = @DestJiaoLu where strTrainmanGUID in ( select strTrainmanGUID1 from TAB_Nameplate_Group where strGroupGUID = @strGroupGUID union select strTrainmanGUID2 from TAB_Nameplate_Group where strGroupGUID = @strGroupGUID union select strTrainmanGUID3 from TAB_Nameplate_Group where strGroupGUID = @strGroupGUID union select strTrainmanGUID4 from TAB_Nameplate_Group where strGroupGUID = @strGroupGUID)"; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, strSql, sqlParams); string strContent = string.Format("机组【{0}】 由【{1}】交路 更改为【{2}】交路", LCGroup.GetGroupString(group), InParams.SrcJiaolu.jiaoluName, InParams.DestJiaolu.jiaoluName); LCGroup.SaveNameplateLog(group, InParams.SrcJiaolu, InParams.DutyUser, LBoardChangeType.btcChangeJiaoLu, strContent); output.result = 0; trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } finally { conn.Close(); } } } catch (Exception ex) { output.resultStr = ex.Message.ToString(); output.result = 1; } return(output); }