function CR_consultarInfoActividades($idProyecto) { //realizar la conexion a la BD //$link=mysql_connect("200.16.7.112","dp_usuario","usuario.2013."))) /* $con=mysqli_connect("200.16.7.112","dp_usuario","usuario.2013.","dp2"); // Verificar conexión if (mysqli_connect_errno()){ echo "Error al conectar con MySQL: " . mysqli_connect_error(); } */ //echo date('Y-m-d', time()); //SELECT UNIX_TIMESTAMP('2013-11-12'); //SELECT FROM_UNIXTIME(1384146000000/1000); date_default_timezone_set('America/Lima'); $recursos = CR_obtenerRecursosTotalProyecto($idProyecto); $paquetesEDT = CR_consultarPaqueteEDT($idProyecto); $lista_mapeo = CR_obtenerListaMaps($recursos); $sql = "select a.*,((DATEDIFF(a.fecha_actual_inicio,a.fecha_actual_fin)/DATEDIFF(a.fecha_plan_inicio,a.fecha_plan_fin))*100) as 'indicador_fecha',d.indicador_costo FROM `ACTIVIDAD` a left join (SELECT n.id_actividad,((sum(n.cantidadReal*n.costo_unitario_real)/sum(r.COSTO_UNITARIO_ESTIMADO*n.cantidadEstimada))*100) AS 'indicador_costo' FROM `ACTIVIDAD_X_RECURSO` n inner join `RECURSO` r on r.id_recurso=n.id_recurso where n.estado=1 group by n.id_actividad) d on d.id_actividad=a.id_actividad WHERE a.id_proyecto=? and a.eliminado=0 order by a.numero_fila "; $sql2 = "SELECT nombre FROM PAQUETE_TRABAJO WHERE id_paquete_trabajo=? "; $lista_actividad = array(); try { $db = getConnection(); $stmt = $db->prepare($sql); $stmt->execute(array($idProyecto)); while ($p = $stmt->fetch(PDO::FETCH_ASSOC)) { $detalle_paquete = ""; if ($p["id_paquete_trabajo"] != NULL) { //echo "{ ". ($p["id_paquete_trabajo"]!=NULL) ."}"; $stmt2 = $db->prepare($sql2); $stmt2->execute(array($p["id_paquete_trabajo"])); if ($p2 = $stmt2->fetch(PDO::FETCH_ASSOC)) { $detalle_paquete = $p2["nombre"]; } } //$lista_recursos_asignados = CR_obtenerListaRecursosAsignadosFalsa(); $idActividad = $p["id_actividad"]; $listaRecursosAsignados = CR_obtenerListaRecursosAsignados($idActividad, $lista_mapeo); if ($p["fecha_actual_inicio"] == "") { $p["fecha_actual_inicio"] = date('Y-m-d', time()); } if ($p["fecha_actual_fin"] == "") { $p["fecha_actual_fin"] = date('Y-m-d', time()); } //echo "mira "; $actividad = array("id_task" => $p["id_actividad"] + 0, "id_proyecto" => $p["id_proyecto"], "name" => $p["nombre_actividad"], "id_Wbs" => $p["id_paquete_trabajo"], "wbsNode" => $detalle_paquete, "start_date" => $p["fecha_plan_inicio"], "realStart" => $p["fecha_actual_inicio"], "realEnd" => $p["fecha_actual_fin"], "end_date" => $p["fecha_plan_fin"], "id" => -$p["numero_fila"] + 0, "level" => $p["profundidad"] + 0, "depends" => $p["predecesores"], "progress" => $p["avance"], "cost" => $p["costo"] + 0, "status" => $p["estado"] == null ? "STATUS_ACTIVE" : $p["estado"], "code" => $p["codigo"], "duration" => $p["dias"] + 0, "description" => $p["descripcion"], "assigs" => $listaRecursosAsignados, "start" => $p["inicio_hash"] + 0, "end" => $p["fin_hash"] + 0, "startIsMilestone" => $p["hito_inicio"] == 1, "endIsMilestone" => $p["hito_fin"] == 1, "indicador_fecha" => $p["indicador_fecha"] + 0, "indicador_costo" => $p["indicador_costo"] + 0, "progress_cost" => $p["porc_avance_costo_estimado"] + 0); array_push($lista_actividad, $actividad); } $db = null; ////////echo json_encode(array("tasks"=>$lista_actividad)) ; } catch (PDOException $e) { // echo '{"error":{"text":'. $e->getMessage() .'}}'; echo json_encode(array("me" => $e->getMessage())); } //echo "Hardcode"; //date_default_timezone_set('America/Lima'); //$milliseconds = round(microtime(true) * 1000); // $offset = $milliseconds - 1346623200000; //$mil = 1348005600000 + $offset; //$mil2 = 1348178399999 + $offset; // //$seconds = $mil / 1000; // $seconds2 = $mil2 / 1000; //echo $offset.'\n'; //echo date("d-m-Y", $seconds).'\n'; //echo date("d-m-Y", $seconds2).'\n'; //1380080255779 //date("Y-m-d", $mil/1000); $actividades = CR_obtenerInfoActividadesFalsa(); $roles = CR_obtenerRolesTotalFalsa(); $calendario = CR_consultarCalendarioBase($idProyecto); $tipoCostos = CR_consultarTipoCostos(); $lineaBase = G_obtenerLineaBase($idProyecto); $notificaciones = json_decode(R_getCantidadGestionCambio(json_encode(array("idProyecto" => $idProyecto)))) + 0; //$recursos = CR_obtenerRecursosTotalFalsa(); $proyecto = new CR_ProyectoJSON($lista_actividad, 0, array(), true, true, $roles, $recursos, $paquetesEDT, $calendario, $tipoCostos, $lineaBase, $notificaciones); return $proyecto; }
function CO_consultarInfoProyecto($idProyecto) { //COMPLETO $sql = "SELECT\n\t\tH.ID_PROYECTO,\n\t\tIFNULL(H.NOMBRE_PROYECTO,'') NOMBRE_PROYECTO,\n\t\tIFNULL(H.PORCENTAJE_RESERVA,0) PORCENTAJE_RESERVA,\n\t\tIFNULL(H.PORCENTAJE_CONTINGENCIA,0) PORCENTAJE_CONTINGENCIA,\n\t\t(\n\t\tCASE\n\t\tWHEN H.ESTADO='CERRADO' THEN 1 ELSE 0\n\t\tEND) IND_CERRADO\n\t\tFROM\n\t\tPROYECTO H\n\t\tWHERE\n\t\tH.ID_PROYECTO=:idProyecto;"; $proyecto = null; try { $db = getConnection(); $stmt = $db->prepare($sql); $stmt->bindParam("idProyecto", $idProyecto); $stmt->execute(); $db = null; while ($p = $stmt->fetch(PDO::FETCH_ASSOC)) { $proyecto = new CO_Proyecto($p["ID_PROYECTO"], $p["NOMBRE_PROYECTO"], $p["PORCENTAJE_RESERVA"], 0); $proyecto->indicadorCerrado = $p["IND_CERRADO"]; if (strcmp(G_obtenerLineaBase($idProyecto)['estado_linea_base'], 'true') == 0) { $proyecto->indicadorLineaBase = 1; } else { $proyecto->indicadorLineaBase = 0; } $proyecto->porcentajeContingencia = $p["PORCENTAJE_CONTINGENCIA"]; break; } } catch (PDOException $e) { return $respuesta = CO_crearRespuesta(-1, $e->getMessage()); } $sql = "SELECT\n\t\tIFNULL(SUM(f_aplica_inflacion(H.PRESUP_SOLES,f_halla_min_dia(:idProyecto),H.FECFIN)),0) PRESUP_SOLES /*CON INFLACION*/\n\t\tFROM\n\t\t(\n\t\tselect\n\t\tB.FECHA_PLAN_INICIO FECINI,\n\t\tB.FECHA_PLAN_FIN FECFIN,\n\t\tSUM(IFNULL(C.CANTIDADESTIMADA,0)*(IFNULL(D.COSTO_UNITARIO_ESTIMADO,0)*IFNULL(X.CAMBIO_A_SOL,0))) PRESUP_SOLES\n\t\tfrom \n\t\tPROYECTO A LEFT JOIN ACTIVIDAD B ON A.ID_PROYECTO=B.ID_PROYECTO\n\t\tLEFT JOIN ACTIVIDAD_X_RECURSO C ON B.ID_ACTIVIDAD=C.ID_ACTIVIDAD\n\t\tLEFT JOIN RECURSO D ON C.ID_RECURSO=D.ID_RECURSO\n\t\tLEFT JOIN CAMBIO_HISTORICO X ON D.ID_CAMBIO_MONEDA=X.ID_CAMBIO_MONEDA\n\t\tWHERE\n\t\tC.ESTADO<>0 AND B.PROFUNDIDAD<>0 AND B.ELIMINADO<>1 AND\n\t\tDATE_FORMAT(X.FECHA,'%Y%m%d')=DATE_FORMAT(SYSDATE(),'%Y%m%d')\n\t\tAND D.ESTADO<>'ELIMINADO' \n\t\tAND A.ID_PROYECTO=:idProyecto\n\t\tGROUP BY\n\t\tB.FECHA_PLAN_INICIO,\n\t\tB.FECHA_PLAN_FIN\n\t\tUNION /*COSTO FIJO*/\n\t\tSELECT\n\t\tB.FECHA_PLAN_INICIO_COSTO_FIJO FECINI,\n\t\tB.FECHA_PLAN_FIN_COSTO_FIJO FECFIN,\n\t\tSUM(B.COSTO_FIJO_DIARIO_ESTIMADO*(DATEDIFF(B.FECHA_PLAN_FIN_COSTO_FIJO,B.FECHA_PLAN_INICIO_COSTO_FIJO)+1)*X.CAMBIO_A_SOL) PRESUP_SOLES\n\t\tFROM\n\t\tPROYECTO A JOIN RECURSO B ON A.ID_PROYECTO=B.ID_PROYECTO\n\t\tJOIN CAMBIO_HISTORICO X ON B.ID_CAMBIO_MONEDA=X.ID_CAMBIO_MONEDA\n\t\tWHERE\n\t\tA.ID_PROYECTO=:idProyecto AND B.ESTADO='ACTIVO' AND B.COSTO_FIJO_DIARIO_ESTIMADO>0\n\t\tAND DATE_FORMAT(X.FECHA,'%Y%m%d')=DATE_FORMAT(SYSDATE(),'%Y%m%d')\n\t\tGROUP BY\n\t\tB.FECHA_PLAN_INICIO_COSTO_FIJO,\n\t\tB.FECHA_PLAN_FIN_COSTO_FIJO\n\t\tUNION /*COSTO INDIRECTO*/\n\t\tSELECT\n\t\tSTR_TO_DATE(CONCAT(A.CODMES,'01'),'%Y%m%d') FECINI,\n\t\tLAST_DAY(STR_TO_DATE(CONCAT(A.CODMES,'01'),'%Y%m%d')) FECFIN,\n\t\tSUM(IFNULL(A.costo_ESTIMADO*B.CAMBIO_A_SOL,0)) PRESUP_SOLES\n\t\tFROM\n\t\tCOSTO_INDIRECTO A JOIN CAMBIO_HISTORICO B ON A.ID_CAMBIO_MONEDA=B.ID_CAMBIO_MONEDA\n\t\tJOIN PROYECTO Z ON A.ID_PROYECTO=Z.ID_PROYECTO\n\t\tWHERE\n\t\tA.ID_PROYECTO=:idProyecto AND DATE_FORMAT(B.FECHA,'%Y%m%d')=DATE_FORMAT(SYSDATE(),'%Y%m%d')\n\t\tGROUP BY\n\t\tSTR_TO_DATE(CONCAT(A.CODMES,'01'),'%Y%m%d'),\n\t\tLAST_DAY(STR_TO_DATE(CONCAT(A.CODMES,'01'),'%Y%m%d'))\n\t\t) H;"; try { $db = getConnection(); $stmt = $db->prepare($sql); $stmt->bindParam("idProyecto", $idProyecto); $stmt->execute(); $db = null; while ($p = $stmt->fetch(PDO::FETCH_ASSOC)) { $proyecto->presupuesto = $p["PRESUP_SOLES"]; break; } //echo json_encode($listaRecursos); } catch (PDOException $e) { return $respuesta = CO_crearRespuesta(-1, $e->getMessage()); } return $proyecto; }
function G_getLineaBase($id) { $lineaBase = G_obtenerLineaBase($id); echo json_encode($lineaBase); }