· 6 years ago · Jun 03, 2019, 10:50 AM
1 public static class Driver<T extends WeekHoursSchedule> extends WorkHoursScheduleBase.Driver<T>{
2
3 @Override
4 public void writeToStream(T data, DataOutputStream out, List<IData> dependencies) throws IOException {
5 super.writeToStream(data, out, dependencies);
6
7 DataDriversUtils.writeIData(data.getSunday(), dependencies);
8 DataDriversUtils.writeIData(data.getMonday(), dependencies);
9 DataDriversUtils.writeIData(data.getTuesday(), dependencies);
10 DataDriversUtils.writeIData(data.getWednesday(), dependencies);
11 DataDriversUtils.writeIData(data.getThursday(), dependencies);
12 DataDriversUtils.writeIData(data.getFriday(), dependencies);
13 DataDriversUtils.writeIData(data.getSaturday(), dependencies);
14 }
15
16 @Override
17 public void readFromStream(T data, DataInputStream in, Queue<IData> dependencies) throws IOException {
18 super.readFromStream(data, in, dependencies);
19
20 data.setSunday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
21 data.setMonday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
22 data.setTuesday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
23 data.setWednesday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
24 data.setThursday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
25 data.setFriday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
26 data.setSaturday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
27 }
28
29 @Override
30 public Map<String, Object> saveToDataBase(T data, List<IData> dependencies) {
31
32 InsertSql is = new InsertSql();
33 is.setData(super.saveToDataBase(data, dependencies));
34
35 DataDriversUtils.writeIData(data.getSunday(), dependencies);
36 DataDriversUtils.writeIData(data.getMonday(), dependencies);
37 DataDriversUtils.writeIData(data.getTuesday(), dependencies);
38 DataDriversUtils.writeIData(data.getWednesday(), dependencies);
39 DataDriversUtils.writeIData(data.getThursday(), dependencies);
40 DataDriversUtils.writeIData(data.getFriday(), dependencies);
41 DataDriversUtils.writeIData(data.getSaturday(), dependencies);
42
43 return is.getData();
44 }
45
46 @Override
47 public void loadFromDataBase(T data, Map<String, Object> rawData, Queue<IData> dependencies) {
48 super.loadFromDataBase(data, rawData, dependencies);
49
50 data.setSunday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
51 data.setMonday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
52 data.setTuesday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
53 data.setWednesday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
54 data.setThursday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
55 data.setFriday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
56 data.setSaturday((DayHoursSchedule) DataDriversUtils.readIData(dependencies));
57 }
58
59 @Override
60 public String getDefaultTableName() {
61
62 return "work_hours_schedule_week";
63 }
64
65 @Override
66 public String getSqlCreateTableRequest() {
67 return "CREATE TABLE IF NOT EXISTS `work_hours_schedule_week` ("
68 + "id BIGINT(20), PRIMARY KEY(id), "
69 + "year TINYINT, "
70 + "month TINYINT, "
71 + "week TINYINT, "
72 + "week_day TINYINT, "
73 + "date TINYINT, "
74 + "system_dependencies TEXT)";
75 }
76
77 @Override
78 public String getDefaultSectorName() {
79
80 return "/humans/staff/work_hours_schedule/week";
81 }
82
83 @Override
84 public String getNewFileName(T data, MedicineCenter mc) {
85
86 return "week_"+data.getId()+".dat";
87 }
88
89 @Override
90 public IData getInstance() {
91
92 return new WeekHoursSchedule();
93 }
94 }