//### Agrega un Carropor 2-6 si esta Disponible public static int DespachoPorDosSeis(int intIdExp) { DatosLogin.InvokeTwitter = "FT2"; int RetornoCarro = 0; if (intIdExp > 0) { var carro = new z_carros(); carro = carro.getObjectz_carros(intIdExp); if (!Carro.EstaDisponible(carro)) { MessageBox.Show("En Despacho por Distancia, el carro más próximo no esta disponible... ", "Sistema ZEUS"); } else { // marcar y asignar //carro.estado = 4; //carro.modifyz_carros(carro); //string strExp = DatosLogin.LoginExp.ToString(); //MessageBox.Show("El Expediente..." + strExp, "Mensaje de ZEUS"); int id_carro_seleccionado = carro.id_carro; //### Agregar Carro en tabla z_carros_llamado if (carro.existenciaZcarrosLlamado(id_carro_seleccionado, DatosLogin.LoginExp) == 0) { carro.insertZcarrosLlamado(id_carro_seleccionado, DatosLogin.LoginGrp != 0 ? DatosLogin.LoginGrp : Convert.ToInt32(DatosLogin.LoginGrp), DatosLogin.LoginExp); StaticClass.ArrGrupoCarros.Add(id_carro_seleccionado + "/" + DatosLogin.LoginGrp); } //### Asignar el Carro Seleccionado Carro.Despachar(carro); //idCarros.Add(id_carro_seleccionado); RetornoCarro = id_carro_seleccionado; } } return(RetornoCarro); }
public static z_carros BuscarCubrirCuartel(int id_area, out int id_compania) { var carro = new z_carros(); DataSet ds = new z_prioridad().Getz_prioridad(id_area); // buscar en prioridades 10 y 9 int primera_prioridad = (int)ds.Tables[0].Rows[0]["despacho_b"]; for (int i = 9; i > 7; i--) { // obtener bombas DataSet carros = carro.GetCarrosCompania(1, (int)ds.Tables[0].Rows[i]["despacho_b"]); foreach (DataRow dr in carros.Tables[0].Rows) { carro = carro.getObjectz_carros((int)dr["id_carro"]); if (carro.id_carro != 0 && Carro.EstaDisponible(carro)) { id_compania = primera_prioridad; return(carro); } } } id_compania = 0; return(new z_carros()); }
private static CantidadCarros ObtenerCantidadCarros(int id_area, int codigo_llamado, out List <int> dos_6) { var dos6 = new List <int>(); // 4 var cantidad = new CantidadCarros(); // obtener cantidad de carros necesaria DataTable di = null; DataTable dh = new z_despacho_habil().Getz_despacho_habil(id_area, codigo_llamado).Tables[0]; DataTable tipo_carro = new z_tipo_carro().Getz_tipo_carro_despacho().Tables[0]; // 4.a if ((bool)dh.Rows[0]["inhabil"]) { if (EnBloqueHorario((string)dh.Rows[0]["bloques"])) { di = new z_despacho_inhabil().Getz_despacho_inhabil(id_area, codigo_llamado).Tables[0]; } } if (di == null) { for (int i = 0; i < tipo_carro.Rows.Count; i++) { var columna = (string)tipo_carro.Rows[i]["columna_despacho"]; cantidad.Cantidad[i] = (int)dh.Rows[0][columna]; } //dos6? if ((bool)dh.Rows[0]["dos_6"]) { var dos = new z_dos_6(); DataSet ds = dos.GetDos6Despacho((int)dh.Rows[0]["id_despacho"]); foreach (DataRow dr in ds.Tables[0].Rows) { var carro = new z_carros(); carro = carro.getObjectz_carros((int)dr["id_carro"]); if (Carro.EstaDisponible(carro)) { Carro.Despachar(carro); //Conductor.FueraServicio(carro.id_conductor, carro.id_carro); dos6.Add(carro.id_carro); } } } } else { // despacho inhábil for (int i = 0; i < tipo_carro.Rows.Count; i++) { string columna = (string)tipo_carro.Rows[i]["columna_despacho"]; cantidad.Cantidad[i] = (int)di.Rows[0][columna]; } //dos6? if ((bool)di.Rows[0]["dos_6"]) { var dos = new z_dos_6(); DataSet ds = dos.GetDos6Despacho((int)di.Rows[0]["id_despacho"]); foreach (DataRow dr in ds.Tables[0].Rows) { var carro = new z_carros(); carro = carro.getObjectz_carros((int)dr["id_carro"]); if (Carro.EstaDisponible(carro)) { Carro.Despachar(carro); //Conductor.FueraServicio(carro.id_conductor, carro.id_carro); dos6.Add(carro.id_carro); } } } } dos_6 = dos6; return(cantidad); }
public static string ordenArreglo(ArrayList puntero_final, ArrayList list_id_carros, ArrayList list_carro_x, ArrayList list_carro_y, ArrayList list_compania, ArrayList list_ranking, string idcarros, string idgrupos, string recu, int cod_llamado, ArrayList list_comp) { List <int> despGrupo = new List <int>(); var ccarros = new z_carros(); var cczorden = new z_orden(); string[] arr = new string[puntero_final.Count]; string[] arr_split = new string[puntero_final.Count]; string[] arr_uso = new string[puntero_final.Count]; int r = Convert.ToInt32(recu); string valores_finales_retorno = ""; for (int a = 0; a < puntero_final.Count; a++) { arr[a] = puntero_final[a].ToString(); } while (r != 0) { for (int b = 0; b < arr.Length; b++) { string valor_envio = arr[b].ToString(); if (carrosPorRanking(valor_envio, list_id_carros) == 1) { ccarros = ccarros.getObjectz_carros(id_carro_puntero); if (Carro.EstaDisponible(ccarros) && r != 0) { //despGrupo.Add(ccarros.id_carro); if (companias_a_despachar.Count != 0) { if (verificarCandidatosDespacho(ccarros.id_compania, companias_a_despachar)) { companias_a_despachar.Add(ccarros.id_compania); valores_finales_retorno += ccarros.id_carro + ","; r--; } } else { companias_a_despachar.Add(ccarros.id_compania); valores_finales_retorno += ccarros.id_carro + ","; r--; } } } else { int[] t_carro = new int[carros_compuesto.Length]; string tc_string = ""; string tc_string_2 = ""; string tc_usar = ""; string tc_usar_2 = ""; for (int c = 0; c < carros_compuesto.Length; c++) { tc_string_2 += carros_compuesto[c].ToString() + ","; tc_string += ccarros.recuperarValorTipoCarro(Convert.ToInt32(carros_compuesto[c])) + ","; } tc_string += "#"; tc_string_2 += "#"; tc_usar = tc_string.Replace(",#", ""); tc_usar_2 = tc_string_2.Replace(",#", ""); int[] tc_recuperado = cczorden.recuperarTipoCarroOrdenTipo(cod_llamado, tc_usar); for (int d = 0; d < tc_recuperado.Length; d++) { int id_carro_final = cczorden.despachoPorTipo(Convert.ToInt32(tc_recuperado[d].ToString()), tc_usar_2); ccarros = ccarros.getObjectz_carros(id_carro_final); if (Carro.EstaDisponible(ccarros) && r != 0) { //despGrupo.Add(ccarros.id_carro); if (companias_a_despachar.Count != 0) { if (verificarCandidatosDespacho(ccarros.id_compania, companias_a_despachar)) { companias_a_despachar.Add(ccarros.id_compania); valores_finales_retorno += ccarros.id_carro + ","; r--; } } else { companias_a_despachar.Add(ccarros.id_compania); valores_finales_retorno += ccarros.id_carro + ","; r--; } } } } } r = 0; } valores_finales_retorno += "#"; return(valores_finales_retorno); }
public static z_carros ObtenerCarro(int id_tipo_carro, int id_area, bool verificar_cubriendo, List <int> compañias_usadas) { DataTable tipo_carros = new z_tipo_carro().Getz_tipo_carro().Tables[0]; // Obtener compañía que debe despachar el tipo de carro especificado // (desde z_prioridad, parámetros: tipo_carro, cantidad) var prioridad = new z_prioridad(); DataSet ds = prioridad.Getz_prioridad(id_area); // Verificar, desde tabla z_carros, si la compañía seleccionada tiene el tipo de carro requerido, // y que su estado sea=1 (en servicio) for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { DataRow dr = ds.Tables[0].Rows[i]; var carro = new z_carros(); string columna = (string)(tipo_carros.Select("id_tipo_carro=" + id_tipo_carro)[0]["columna_despacho"]); int compañia = (int)dr[columna]; //// CBQN: sólo un carro por compañía if (compañias_usadas != null && compañias_usadas.Contains(compañia)) { continue; } DataSet carros = carro.GetCarrosCompania(id_tipo_carro, compañia); foreach (DataRow Row in carros.Tables[0].Rows) { carro = carro.getObjectz_carros((int)Row["id_carro"]); // verificar cubrir cuarteles if (verificar_cubriendo && carro.id_carro != 0) { // carro cubre área si 1) id_compania!=id_compania_orig y 2) id_compania_cubre==1° prioridad área int primera_prioridad = (int)ds.Tables[0].Rows[0][columna]; if (carro.id_compania_orig != carro.id_compania && carro.id_compania == primera_prioridad) { // carro cubre área, ignorar carro.id_carro = 0; } } // seleccionar carro if (carro.id_carro != 0) { if (Carro.EstaDisponible(carro)) { Carro.Despachar(carro); //Conductor.FueraServicio(carro.id_conductor, carro.id_carro); return(carro); } // carro alternativo??? if (carro.id_tipo_alternativo != 0) { carro = carro.getObjectz_carros(carro.id_tipo_alternativo); if (carro.id_carro != 0 && Carro.EstaDisponible(carro)) { Carro.Despachar(carro); //Conductor.FueraServicio(carro.id_conductor, carro.id_carro); return(carro); } } } } } return(new z_carros()); }