public static function getStartEndDate($fom, $week) { $result = array(); switch ($week) { case 1: $fom = $fom . '01'; break; case 2: $fom = $fom . '08'; break; case 3: $fom = $fom . '15'; break; case 4: $fom = $fom . '22'; break; case 5: $fom = $fom . '29'; break; case 0: $result['startDate'] = substr($fom, 0, 4) . substr($fom, 4, 2) . '01'; $result['endDate'] = str_replace('-', '', date("Y-m-t", strtotime($result['startDate']))); return $result; } $date = new DateTime(DateHelper::formatDate($fom)); $week = $date->format("W"); $year = substr($fom, 0, 4); $tmp = DateHelper::getStartAndEndDate($week, $year, substr($fom, 4, 2)); $result['startDate'] = str_replace('-', '', $tmp[0]); $result['endDate'] = str_replace('-', '', $tmp[1]); // switch($week){ // case 0: // $result['startDate'] = $fom . '01'; // $result['endDate'] = $fom . '31'; // break; // case 1: // $result['startDate'] = date('Ymd', strtotime("first day of this month", $fom)); // $result['endDate'] = date('Ymd', strtotime("first Saturday of this month", $fom)); // break; // case 2: // $fd = date( "w", strtotime("first day of this month", $fom)); // if($fd == 0) { // $result['startDate'] = date('Ymd', strtotime("second Sunday of this month", $fom)); // $result['endDate'] = date('Ymd', strtotime("second Saturday of this month", $fom)); // } else { // $result['startDate'] = date('Ymd', strtotime("first Sunday of this month", $fom)); // $result['endDate'] = date('Ymd', strtotime("second Saturday of this month", $fom)); // } // break; // case 3: // $fd = date( "w", strtotime("first day of this month", $fom)); // if($fd == 0) { // $result['startDate'] = date('Ymd', strtotime("third Sunday of this month", $fom)); // $result['endDate'] = date('Ymd', strtotime("third Saturday of this month", $fom)); // } else { // $result['startDate'] = date('Ymd', strtotime("second Sunday of this month", $fom)); // $result['endDate'] = date('Ymd', strtotime("third Saturday of this month", $fom)); // } // break; // case 4: // $fd = date( "w", strtotime("first day of this month", $fom)); // if($fd == 0) { // $result['startDate'] = date('Ymd', strtotime("fourth Sunday of this month", $fom)); // $result['endDate'] = date('Ymd', strtotime("fourth Saturday of this month", $fom)); // } else { // $result['startDate'] = date('Ymd', strtotime("third Sunday of this month", $fom)); // $result['endDate'] = date('Ymd', strtotime("fourth Saturday of this month", $fom)); // } // break; // case 5: // $fd = date( "w", strtotime("first day of this month", $fom)); // if($fd == 0) { // $result['startDate'] = date('Ymd', strtotime("fifth Sunday of this month", $fom)); // $result['endDate'] = date('Ymd', strtotime("last day of this month", $fom)); // } else { // $result['startDate'] = date('Ymd', strtotime("fourth Sunday of this month", $fom)); // $result['endDate'] = date('Ymd', strtotime("last day of this month", $fom)); // } // break; // } return $result; }
public function setUpBatchProcess($filters, $desc, $db) { // Reject query whenever $this->connector has not been initialized $this->checkConnection(); // Prepare Query Statement $q = "CREATE (n:BatchJob {\n type: 1, \n startDate: " . $filters['startDate'] . ",\n callDay : " . $filters['callDay'] . ",\n rnCode : " . $filters['rnCode'] . ",\n startTime : " . $filters['startTime'][0] . ",\n endTime: " . $filters['startTime'][1] . ",\n durationMin: " . $filters['duration'][0] . ",\n durationMax: " . $filters['duration'][1] . ",\n incomingMin: " . $filters['incoming'][0] . ",\n incomingMax: " . $filters['incoming'][1] . ",\n outgoingMin: " . $filters['outgoing'][0] . ",\n outgoingMax: " . $filters['outgoing'][1] . ",\n description : '" . $desc . "',\n startExecTime: " . Carbon\Carbon::now()->timestamp . ",\n customers: 'unknown',\n size: 'unknown',\n database : '" . $db . "',\n status: 'Processing'\n }) RETURN ID(n) as nid"; // Save new Batch Process Information in Neo4J $result = $this->connector->sendCypherQuery($q)->getResult()->getTableFormat(); // Formatting Input for Displaying $filters = $this->prepareData($filters); $filters['startDate'] = DateHelper::formatDate($filters['startDate'][0]) . ' - ' . DateHelper::formatDate($filters['startDate'][1]); $filters['callDay'] = UnaryHelper::arrToReadable($filters['callDay']); $filters['rnCode'] = UnaryHelper::arrToReadable($filters['rnCode']); $filters['duration'] = UnaryHelper::rangeToReadable($filters['duration'], ''); $filters['incoming'] = UnaryHelper::rangeToReadable($filters['incoming'], ''); $filters['outgoing'] = UnaryHelper::rangeToReadable($filters['outgoing'], ''); $filters['startTime'] = UnaryHelper::rangeToReadable($filters['startTime'], 'time'); return ['filters' => $filters, 'nid' => $result[0]['nid']]; }