コード例 #1
0
ファイル: PersonController.php プロジェクト: nuiz/gis
 public function buildItem(&$item)
 {
     $container = $this->slim->getContainer();
     $db = $container->medoo;
     $dateRegex = "/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\$/";
     $item["age"] = preg_match($dateRegex, $item["birth_date"]) ? \DateTime::createFromFormat('Y-m-d', $item["birth_date"])->diff(new \DateTime('now'))->y : null;
     $item["die_date"] = preg_match($dateRegex, $item["die_date"]) ? $this->budDate($item["die_date"]) : null;
     $item["reg_date"] = preg_match($dateRegex, $item["reg_date"]) ? $this->budDate($item["reg_date"]) : null;
     $item["birth_date"] = preg_match($dateRegex, $item["birth_date"]) ? $this->budDate($item["birth_date"]) : null;
     $oldersService = XMLService::getInstance("olders");
     $cripplesService = new CrippleService($db);
     $disavantagedsService = new DisavantagedService($db);
     $scholarsService = new ScholarService($db);
     $item["older"] = $oldersService->getBy(["min[<=]" => $item["age"], "max[>=]" => $item["age"]]);
     $item["cripple"] = $db->select("person_cripple", ["[>]cripple_type" => ["cripple_id" => "id"]], "*", ["person_id" => $item["id"]]);
     $item["disavantaged"] = $db->select("person_disavantaged", ["[>]disavantaged_type" => ["disavantaged_id" => "id"]], "*", ["person_id" => $item["id"]]);
     $item["scholar"] = $db->select("person_scholar", ["[>]scholar_type" => ["scholar_id" => "id"]], "*", ["person_id" => $item["id"]]);
     $item["total_allowance"] = 0;
     $item["total_allowance"] += $item["is_older"] ? @$item["older"]["allowance"] : 0;
     // foreach($item["cripple"] as $val) {
     //   $item["total_allowance"] += $val["allowance"];
     // }
     // foreach($item["disavantaged"] as $val) {
     //   $item["total_allowance"] += $val["allowance"];
     // }
     // foreach($item["scholar"] as $val) {
     //   $item["total_allowance"] += $val["allowance"];
     // }
     $item["total_allowance"] += count($item["cripple"]) > 0 ? 800 : 0;
     $item["total_allowance"] += count($item["disavantaged"]) > 0 ? 500 : 0;
     // $item["total_allowance"] += count($item["scholar"]);
 }
コード例 #2
0
ファイル: ReportController.php プロジェクト: nuiz/gis
 public function older(Request $req, Response $res)
 {
     $container = $this->slim->getContainer();
     $db = $container->medoo;
     $oldersService = XMLService::getInstance("olders");
     $olders = $oldersService->gets();
     foreach ($olders as &$older) {
         $dateMin = new \DateTime('now');
         $dateMax = new \DateTime('now');
         $where = [];
         $dateMin->sub(new \DateInterval('P' . $older["min"] . 'Y'));
         $where["birth_date[<=]"] = $dateMin->format("Y-m-d");
         if ($older["min"] < 90) {
             $dateMax->sub(new \DateInterval('P' . ($older["max"] + 1) . 'Y'));
             $where["birth_date[>]"] = $dateMax->format("Y-m-d");
         }
         $where = ["AND" => $where];
         $older["count"] = $db->count("person", ["AND" => $where]);
     }
     return $container->view->render($res, "report/older.twig", ["olders" => $olders, "today" => $this->getToday()]);
 }