個人成績ページの追加
グラフ機能実装
| @@ -0,0 +1,35 @@ | ||
| 1 | +SELECT | |
| 2 | + name, | |
| 3 | + p.team_id as team_id, | |
| 4 | + player_id, | |
| 5 | + t.short_name as short_name, | |
| 6 | + count(*) as game_count, | |
| 7 | + sum(runs)/sum(inning)*5 as era, | |
| 8 | + (sum(hit)+sum(four_ball))/sum(inning) as WHIP, | |
| 9 | + sum(strike_out)/sum(inning)*5 as strike_avg, | |
| 10 | + sum(inning) as inning, | |
| 11 | + sum(hit) as hit, | |
| 12 | + sum(four_ball) as four_ball, | |
| 13 | + sum(strike_out) as strike_out, | |
| 14 | + sum(runs) as runs, | |
| 15 | + sum(complete) as complete, | |
| 16 | + sum(shutout) as shutout, | |
| 17 | + sum(pc.win) as win, | |
| 18 | + sum(pc.lose) as lose, | |
| 19 | + sum(pc.save) as save, | |
| 20 | + myteam_id, | |
| 21 | + g.league_id as league_id, | |
| 22 | + l.short_title as title | |
| 23 | + FROM pitching pc | |
| 24 | +inner join GAME g | |
| 25 | +on pc.game_id=g.game_id | |
| 26 | +inner join RESULT r | |
| 27 | +on pc.myteam_id=r.team_id and g.game_id=r.game_id | |
| 28 | +inner join player p | |
| 29 | +on p.id=pc.player_id | |
| 30 | +inner join team t | |
| 31 | +on pc.team_id=t.team_id | |
| 32 | +inner join league l | |
| 33 | +on g.league_id=l.id | |
| 34 | +where player_id=/*playerId*/ | |
| 35 | +group by league_id with rollup | |
| \ No newline at end of file |
| @@ -0,0 +1,37 @@ | ||
| 1 | +SELECT | |
| 2 | + name, | |
| 3 | + p.team_id as team_id, | |
| 4 | + player_id, | |
| 5 | + short_name, | |
| 6 | + sum(tpa) as tpa, | |
| 7 | + sum(at_bats)as at_bats, | |
| 8 | + sum(hit) as hit, | |
| 9 | + (sum(hit)/sum(at_bats)) as average, | |
| 10 | + ((sum(hit)+sum(twobase)*1+sum(homerun)*2)/sum(at_bats)) as SLG, | |
| 11 | + ((sum(hit)+sum(four_ball))/sum(tpa))+((sum(hit)+sum(twobase)*1+sum(homerun)*2)/sum(at_bats)) as OPS, | |
| 12 | + (sum(hit)+sum(four_ball))/sum(tpa) as OBP, | |
| 13 | + CASE | |
| 14 | + WHEN sum(at_bats)/sum(strike_out) is null THEN 0 | |
| 15 | + WHEN sum(at_bats)/sum(strike_out) is not null THEN sum(at_bats)/sum(strike_out) | |
| 16 | + END as not_strike_out, | |
| 17 | + sum(rbi) as rbi, | |
| 18 | + sum(four_ball) as four_ball, | |
| 19 | + sum(strike_out) as strike_out, | |
| 20 | + sum(twobase) as twobase, | |
| 21 | + sum(homerun) as homerun, | |
| 22 | + myteam_id, | |
| 23 | + g.league_id as league_id, | |
| 24 | + l.short_title as title | |
| 25 | + FROM batting_sum b | |
| 26 | +inner join GAME g | |
| 27 | +on b.game_id=g.game_id | |
| 28 | +inner join RESULT r | |
| 29 | +on b.myteam_id=r.team_id and g.game_id=r.game_id | |
| 30 | +inner join player p | |
| 31 | +on p.id=b.player_id | |
| 32 | +inner join team t | |
| 33 | +on b.team_id=t.team_id | |
| 34 | +inner join league l | |
| 35 | +on g.league_id=l.id | |
| 36 | +where player_id=/*playerId*/ | |
| 37 | +group by league_id with rollup | |
| \ No newline at end of file |
| @@ -11,9 +11,14 @@ | ||
| 11 | 11 | import org.seasar.struts.annotation.ActionForm; |
| 12 | 12 | import org.seasar.struts.annotation.Execute; |
| 13 | 13 | |
| 14 | +import cx.myhome.ckoshien.dto.BattingResultDto; | |
| 15 | +import cx.myhome.ckoshien.dto.TeamBattingResultDto; | |
| 16 | +import cx.myhome.ckoshien.dto.TeamPitchingResultDto; | |
| 14 | 17 | import cx.myhome.ckoshien.entity.Player; |
| 15 | 18 | import cx.myhome.ckoshien.entity.Team; |
| 16 | 19 | import cx.myhome.ckoshien.form.PlayerForm; |
| 20 | +import cx.myhome.ckoshien.service.BattingSumService; | |
| 21 | +import cx.myhome.ckoshien.service.PitchingService; | |
| 17 | 22 | import cx.myhome.ckoshien.service.PlayerService; |
| 18 | 23 | import cx.myhome.ckoshien.service.TeamService; |
| 19 | 24 |
| @@ -32,6 +37,12 @@ | ||
| 32 | 37 | public List<Team> teamList; |
| 33 | 38 | public List<Player> playerList; |
| 34 | 39 | public Player player; |
| 40 | + @Resource | |
| 41 | + public BattingSumService battingSumService; | |
| 42 | + public List<TeamBattingResultDto> pbrList; | |
| 43 | + @Resource | |
| 44 | + public PitchingService pitchingService; | |
| 45 | + public List<TeamPitchingResultDto> pprList; | |
| 35 | 46 | |
| 36 | 47 | @Execute(validator = false) |
| 37 | 48 | public String index() { |
| @@ -77,6 +88,13 @@ | ||
| 77 | 88 | return "index&redirect=true"; |
| 78 | 89 | } |
| 79 | 90 | |
| 91 | + @Execute(urlPattern="show/{id}",validator = false) | |
| 92 | + public String show(){ | |
| 93 | + pbrList=battingSumService.findPBRById(Integer.parseInt(playerForm.id)); | |
| 94 | + pprList=pitchingService.findPPRById(Integer.parseInt(playerForm.id)); | |
| 95 | + return "result.jsp"; | |
| 96 | + } | |
| 97 | + | |
| 80 | 98 | public ActionMessages createValidate(){ |
| 81 | 99 | ActionMessages errors = new ActionMessages(); |
| 82 | 100 | player=playerService.findByNameAndTeamId(playerForm.name, Integer.parseInt(playerForm.teamId)); |
| @@ -74,4 +74,12 @@ | ||
| 74 | 74 | teamBattingResultDtos=jdbcManager.selectBySqlFile(TeamBattingResultDto.class, "cx.myhome.ckoshien.sql.TeamBattingResult.sql",param).getResultList(); |
| 75 | 75 | return teamBattingResultDtos; |
| 76 | 76 | } |
| 77 | + | |
| 78 | + public List<TeamBattingResultDto> findPBRById(Integer playerId){ | |
| 79 | + teamBattingResultDtos=new ArrayList<TeamBattingResultDto>(); | |
| 80 | + Map<String, Object> param = new HashMap<String, Object>(); | |
| 81 | + param.put("playerId", playerId); | |
| 82 | + teamBattingResultDtos=jdbcManager.selectBySqlFile(TeamBattingResultDto.class, "cx.myhome.ckoshien.sql.PersonalBattingResult.sql",param).getResultList(); | |
| 83 | + return teamBattingResultDtos; | |
| 84 | + } | |
| 77 | 85 | } |
| \ No newline at end of file |
| @@ -75,4 +75,11 @@ | ||
| 75 | 75 | teamPitchingResultDtos=jdbcManager.selectBySqlFile(TeamPitchingResultDto.class, "cx.myhome.ckoshien.sql.TeamPitchingResult.sql",param).getResultList(); |
| 76 | 76 | return teamPitchingResultDtos; |
| 77 | 77 | } |
| 78 | + | |
| 79 | + public List<TeamPitchingResultDto> findPPRById(Integer playerId){ | |
| 80 | + Map<String, Object> param = new HashMap<String, Object>(); | |
| 81 | + param.put("playerId", playerId); | |
| 82 | + teamPitchingResultDtos=jdbcManager.selectBySqlFile(TeamPitchingResultDto.class, "cx.myhome.ckoshien.sql.PersonalPitchingResult.sql",param).getResultList(); | |
| 83 | + return teamPitchingResultDtos; | |
| 84 | + } | |
| 78 | 85 | } |
| \ No newline at end of file |
| @@ -6,6 +6,6 @@ | ||
| 6 | 6 | * SQLファイルの定数クラスです。 |
| 7 | 7 | * |
| 8 | 8 | */ |
| 9 | -@Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.SqlFileConstantsModelFactoryImpl"}, date = "2015/07/10 16:39:39") | |
| 9 | +@Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.SqlFileConstantsModelFactoryImpl"}, date = "2015/07/22 16:23:21") | |
| 10 | 10 | public final class SqlFiles { |
| 11 | 11 | } |
| \ No newline at end of file |
| @@ -25,7 +25,7 @@ | ||
| 25 | 25 | * </p> |
| 26 | 26 | * |
| 27 | 27 | */ |
| 28 | -@Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.SqlFileTestModelFactoryImpl"}, date = "2015/07/10 16:39:45") | |
| 28 | +@Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.SqlFileTestModelFactoryImpl"}, date = "2015/07/22 16:23:27") | |
| 29 | 29 | public class SqlFileTest extends S2TestCase { |
| 30 | 30 | |
| 31 | 31 | private JdbcManager jdbcManager; |