~やりたいこと~
・今月の日付をメイン画面に表示したい
・直近3か月の日付データを月別で表示したい
DBに登録した日付の範囲をあいまい検索で出力したいと思っています。
この状態で実行しようとすると
beans.factory.BeanCreationException
が発生し、実行できません。
どうすればよいでしょうか。
controller
1if (entityEmpRepository.getOne(empId) != null) { 2 List<EntityWork> workList = entityWorkRepository.findAll(); 3 Calendar calendar = Calendar.getInstance(); 4 calendar.set(Calendar.DAY_OF_MONTH, 01); 5 try { 6 Date fromDate = monthSdf.parse(monthSdf.format(calendar.getTime())); 7 Calendar nextCalendar = Calendar.getInstance(); 8 nextCalendar.add(Calendar.MONTH, 1); 9 nextCalendar.set(Calendar.DAY_OF_MONTH, 01); 10 Date toDate = monthSdf.parse(monthSdf.format(nextCalendar.getTime())); 11 model.addAttribute("monthData",entityWorkRepository.findByDateLike(fromDate,toDate)); 12 return "mainUi"; 13 } catch (ParseException e) { 14 // TODO 自動生成された catch ブロック 15 e.printStackTrace(); 16 } 17 return "loginUi";
Repository
1public interface EntityWorkRepository extends JpaRepository<EntityWork, Date> { 2 @Query("select ew EntityWork ew where ew.date >= :fromdate and ew.date < :todate") 3 List<Date> findByDateLike(@Param("fromdate") Date fromDate,@Param("todate") Date toDate); 4 5} 6
Entity
1@Entity 2@Table(name = "work_data") 3public class EntityWork { 4 @Id 5 @JsonFormat(pattern = "yyyy-MM-dd") 6 @GeneratedValue(strategy = GenerationType.IDENTITY) 7 private Date date; 8 @JsonFormat(pattern = "MM/dd") 9 private String monthDate; 10 private Integer empId; 11 private String empName; 12 private Date startTime; 13 private Date endTime; 14 private String memo; 15 16 17 18 public Date getDate() { 19 20 return date; 21 } 22 23 public void setDate(Date date) { 24 this.date = date; 25 } 26 27 public String getMonthDate() { 28 SimpleDateFormat sdf = new SimpleDateFormat("MM/dd"); 29 String str = sdf.format(date); 30 setMonthDate(str); 31 return monthDate; 32 } 33 34 public void setMonthDate(String monthDate) { 35 this.monthDate = monthDate; 36 } 37 38 public Integer getEmpId() { 39 return empId; 40 } 41 42 public void setEmpId(Integer empId) { 43 this.empId = empId; 44 } 45 46 public String getEmpName() { 47 return empName; 48 } 49 50 public void setEmpName(String empName) { 51 this.empName = empName; 52 } 53 54 public Date getStartTime() { 55 return startTime; 56 } 57 58 public void setStartTime(Date startTime) { 59 this.startTime = startTime; 60 } 61 62 public String getStartTimeOfDay() { 63 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); 64 String str = sdf.format(startTime); 65 return str; 66 } 67 68 public Date getEndTime() { 69 return endTime; 70 } 71 72 public void setEndTime(Date endTime) { 73 this.endTime = endTime; 74 } 75 76 public String getEndTimeOfDay() { 77 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); 78 String str = sdf.format(endTime); 79 return str; 80 } 81 82 public String getMemo() { 83 return memo; 84 } 85 86 public void setMemo(String memo) { 87 this.memo = memo; 88 } 89 90 public int getOverWork() { 91 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); 92 if(startTime == null) { 93 return 0; 94 } 95 String sTime = sdf.format(startTime); 96 if(endTime == null) { 97 return 0; 98 } 99 String eTime = sdf.format(endTime); 100 int s = Integer.parseInt(sTime.substring(0, 2)); 101 int e = Integer.parseInt(eTime.substring(0, 2)); 102 int overWorkHour = e-s-9; 103 if (overWorkHour <= 0) { 104 return 0; 105 } 106 return overWorkHour; 107 } 108 109 110}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/30 07:08