Advertisement
Guest User

Untitled

a guest
Mar 19th, 2014
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.82 KB | None | 0 0
  1.  
  2.  
  3. import java.awt.Dimension;
  4. import java.awt.Frame;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import java.text.SimpleDateFormat;
  10. import java.util.Calendar;
  11. import java.util.GregorianCalendar;
  12. import java.util.TimeZone;
  13.  
  14. import javax.swing.JButton;
  15. import javax.swing.JDesktopPane;
  16. import javax.swing.JOptionPane;
  17. import javax.swing.JScrollPane;
  18. import javax.swing.JTable;
  19. import javax.swing.JTextField;
  20. import javax.swing.WindowConstants;
  21. import javax.swing.JFrame;
  22. import javax.swing.JLabel;
  23. import javax.swing.table.DefaultTableModel;
  24. import javax.swing.table.TableCellEditor;
  25. import javax.swing.table.TableModel;
  26.  
  27. import linear.ListWithViewer;
  28.  
  29.  
  30. /**
  31. * This code was edited or generated using CloudGarden's Jigloo
  32. * SWT/Swing GUI Builder, which is free for non-commercial
  33. * use. If Jigloo is being used commercially (ie, by a corporation,
  34. * company or business for any purpose whatever) then you
  35. * should purchase a license for each developer using Jigloo.
  36. * Please visit www.cloudgarden.com for details.
  37. * Use of Jigloo implies acceptance of these licensing terms.
  38. * A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
  39. * THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
  40. * LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
  41. */
  42. public class AktionenPanel extends javax.swing.JPanel {
  43. private JButton EinteilenButton;
  44. private JLabel Startlabel;
  45. private JButton OsternButton;
  46. private JButton WeihnachtenButton;
  47. private JButton SonntagButton;
  48. private JButton SamstagButton;
  49. private JButton WochentagButton;
  50. private JButton FeiertagButton;
  51. private JButton FreischaltenButton;
  52. private JLabel jLabel5;
  53. private JScrollPane jScrollPane1;
  54. private JButton TageAusgebenButton;
  55. private JTextField Sonntagspunkte;
  56. private JTextField Feiertagspunkte;
  57. private JTextField SamstagPunkte;
  58. private JLabel jLabel4;
  59. private JLabel jLabel3;
  60. private JTextField Wochenpunkte;
  61. private JLabel jLabel2;
  62. private JTextField EndeField;
  63. private JLabel jLabel1;
  64. private JTextField startDatum;
  65. private JTable jt;
  66.  
  67. /**
  68. * Auto-generated main method to display this
  69. * JPanel inside a new JFrame.
  70. */
  71. public static void main(String[] args) {
  72. JFrame frame = new JFrame();
  73. frame.getContentPane().add(new AktionenPanel());
  74. frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  75. frame.pack();
  76. frame.setVisible(true);
  77. }
  78.  
  79. public AktionenPanel() {
  80. super();
  81. initGUI();
  82. }
  83.  
  84. private void initGUI() {
  85. try {
  86. this.setPreferredSize(new java.awt.Dimension(919, 469));
  87. this.setLayout(null);
  88. this.setEnabled(false);
  89. {
  90. EinteilenButton = new JButton();
  91. this.add(EinteilenButton);
  92. EinteilenButton.setText("Einteilen");
  93. EinteilenButton.setBounds(666, 435, 158, 23);
  94. EinteilenButton.setOpaque(false);
  95. EinteilenButton.addActionListener(new ActionListener() {
  96. public void actionPerformed(ActionEvent evt) {
  97. System.out.println("EinteilenButton.actionPerformed, event="+evt);
  98. einteilen();
  99. }
  100. });
  101. }
  102. {
  103. startDatum = new JTextField();
  104. this.add(startDatum);
  105. startDatum.setText("2014-01-01");
  106. startDatum.setBounds(166, 34, 82, 23);
  107. startDatum.setEditable(false);
  108. }
  109. {
  110. Startlabel = new JLabel();
  111. this.add(Startlabel);
  112. Startlabel.setText("StartDatum");
  113. Startlabel.setBounds(12, 37, 60, 16);
  114. }
  115. {
  116. jLabel1 = new JLabel();
  117. this.add(jLabel1);
  118. jLabel1.setText("EndeDatum");
  119. jLabel1.setBounds(12, 65, 72, 16);
  120. }
  121. {
  122. EndeField = new JTextField();
  123. this.add(EndeField);
  124. EndeField.setText("2014-06-01");
  125. EndeField.setBounds(166, 62, 82, 23);
  126. EndeField.setEditable(false);
  127. }
  128. {
  129. jLabel2 = new JLabel();
  130. this.add(jLabel2);
  131. jLabel2.setText("Wochentagspunkte");
  132. jLabel2.setBounds(12, 93, 103, 16);
  133. }
  134. {
  135. Wochenpunkte = new JTextField();
  136. this.add(Wochenpunkte);
  137. Wochenpunkte.setText("3");
  138. Wochenpunkte.setBounds(166, 90, 47, 23);
  139. Wochenpunkte.setEditable(false);
  140. }
  141. {
  142. jLabel3 = new JLabel();
  143. this.add(jLabel3);
  144. jLabel3.setText("Samstagspunkte");
  145. jLabel3.setBounds(12, 121, 103, 16);
  146. }
  147. {
  148. jLabel4 = new JLabel();
  149. this.add(jLabel4);
  150. jLabel4.setText("Feiertagspunkte");
  151. jLabel4.setBounds(12, 149, 103, 16);
  152. }
  153. {
  154. SamstagPunkte = new JTextField();
  155. this.add(SamstagPunkte);
  156. SamstagPunkte.setText("5");
  157. SamstagPunkte.setBounds(166, 118, 47, 23);
  158. SamstagPunkte.setEditable(false);
  159. }
  160. {
  161. Feiertagspunkte = new JTextField();
  162. this.add(Feiertagspunkte);
  163. Feiertagspunkte.setText("7");
  164. Feiertagspunkte.setBounds(166, 146, 47, 23);
  165. Feiertagspunkte.setEditable(false);
  166. }
  167. {
  168. jLabel5 = new JLabel();
  169. this.add(jLabel5);
  170. jLabel5.setText("Sonntagspunkte");
  171. jLabel5.setBounds(12, 177, 103, 16);
  172. }
  173. {
  174. Sonntagspunkte = new JTextField();
  175. this.add(Sonntagspunkte);
  176. Sonntagspunkte.setText("6");
  177. Sonntagspunkte.setBounds(166, 174, 47, 23);
  178. Sonntagspunkte.setEditable(false);
  179. }
  180. {
  181. FreischaltenButton = new JButton();
  182. this.add(FreischaltenButton);
  183. FreischaltenButton.setText("Felder freischalten zum neu Einteilen");
  184. FreischaltenButton.setBounds(12, 209, 207, 23);
  185. FreischaltenButton.addActionListener(new ActionListener() {
  186. public void actionPerformed(ActionEvent evt) {
  187. System.out.println("FreischaltenButton.actionPerformed, event="+evt);
  188. freischalten();
  189. }
  190. });
  191. }
  192. {
  193. TageAusgebenButton = new JButton();
  194. this.add(TageAusgebenButton);
  195. TageAusgebenButton.setText("Feiertage auswaehlen");
  196. TageAusgebenButton.setBounds(12, 243, 168, 23);
  197. TageAusgebenButton.setOpaque(false);
  198. TageAusgebenButton.addActionListener(new ActionListener() {
  199. public void actionPerformed(ActionEvent evt) {
  200. FeiertageAuswaehlen();
  201. //TODO add your code for TageAusgebenButton.actionPerformed
  202. }
  203. });
  204. }
  205.  
  206. {
  207. FeiertagButton = new JButton();
  208. this.add(FeiertagButton);
  209. FeiertagButton.setText("Zum Feiertag machen");
  210. FeiertagButton.setBounds(302, 23, 186, 23);
  211. FeiertagButton.setOpaque(false);
  212. FeiertagButton.addActionListener(new ActionListener() {
  213. public void actionPerformed(ActionEvent evt) {
  214. System.out.println("FeiertagButton.actionPerformed, event="+evt);
  215. zumFeiertagMachen();
  216. }
  217. });
  218. }
  219. {
  220. WeihnachtenButton = new JButton();
  221. this.add(WeihnachtenButton);
  222. WeihnachtenButton.setText("Weihnachten");
  223. WeihnachtenButton.setBounds(302, 162, 186, 23);
  224. WeihnachtenButton.setOpaque(false);
  225. WeihnachtenButton.addActionListener(new ActionListener() {
  226. public void actionPerformed(ActionEvent evt) {
  227. System.out.println("WeihnachtenButton.actionPerformed, event="+evt);
  228. weihnachten();
  229. }
  230. });
  231. }
  232. {
  233. OsternButton = new JButton();
  234. this.add(OsternButton);
  235. OsternButton.setText("Ostern");
  236. OsternButton.setBounds(302, 196, 186, 23);
  237. OsternButton.setOpaque(false);
  238. OsternButton.addActionListener(new ActionListener() {
  239. public void actionPerformed(ActionEvent evt) {
  240. System.out.println("OsternButton.actionPerformed, event="+evt);
  241. ostern();
  242. }
  243. });
  244. }
  245. {
  246. WochentagButton = new JButton();
  247. this.add(WochentagButton);
  248. WochentagButton.setText("Zum Wochentag machen");
  249. WochentagButton.setBounds(302, 57, 186, 23);
  250. WochentagButton.addActionListener(new ActionListener() {
  251. public void actionPerformed(ActionEvent evt) {
  252. System.out.println("WochentagButton.actionPerformed, event="+evt);
  253. zumWochentagMachen();
  254. }
  255. });
  256. WochentagButton.setOpaque(false);
  257. }
  258. {
  259. SamstagButton = new JButton();
  260. this.add(SamstagButton);
  261. SamstagButton.setText("Zum Samstag machen");
  262. SamstagButton.setBounds(302, 94, 186, 23);
  263. SamstagButton.addActionListener(new ActionListener() {
  264. public void actionPerformed(ActionEvent evt) {
  265. System.out.println("SamstagButton.actionPerformed, event="+evt);
  266. zumSamstagMachen();
  267. }
  268. });
  269. SamstagButton.setOpaque(false);
  270. }
  271. {
  272. SonntagButton = new JButton();
  273. this.add(SonntagButton);
  274. SonntagButton.setText("Zum Sonntag machen");
  275. SonntagButton.setBounds(302, 128, 186, 23);
  276. SonntagButton.addActionListener(new ActionListener() {
  277. public void actionPerformed(ActionEvent evt) {
  278. System.out.println("SonntagButton.actionPerformed, event="+evt);
  279. zumSonntagMachen();
  280. }
  281. });
  282. SonntagButton.setOpaque(false);
  283. }
  284. } catch (Exception e) {
  285. e.printStackTrace();
  286. }
  287. }
  288. protected void zumFeiertagMachen() {
  289. int zeile = jt.getSelectedRow();
  290. TableModel tm = jt.getModel();
  291. tm.setValueAt("Feiertag", zeile, 1);
  292. tm.setValueAt(this.Feiertagspunkte.getText(), zeile, 2);
  293. }
  294.  
  295. protected void zumWochentagMachen() {
  296. int zeile = jt.getSelectedRow();
  297. TableModel tm = jt.getModel();
  298. tm.setValueAt("Wochentag", zeile, 1);
  299. tm.setValueAt(this.Wochenpunkte.getText(), zeile, 2);
  300. }
  301.  
  302. protected void zumSamstagMachen() {
  303. int zeile = jt.getSelectedRow();
  304. TableModel tm = jt.getModel();
  305. tm.setValueAt("Samstag", zeile, 1);
  306. tm.setValueAt(this.SamstagPunkte.getText(), zeile, 2);
  307. }
  308.  
  309. protected void zumSonntagMachen() {
  310. int zeile = jt.getSelectedRow();
  311. TableModel tm = jt.getModel();
  312. tm.setValueAt("Sonntag", zeile, 1);
  313. tm.setValueAt(this.Sonntagspunkte.getText(), zeile, 2);
  314. }
  315.  
  316. protected void FeiertageAuswaehlen() {
  317. // TODO Auto-generated method stub
  318. this.FeiertagButton.setOpaque(true);
  319. this.WochentagButton.setOpaque(true);
  320. this.SamstagButton.setOpaque(true);
  321. this.SonntagButton.setOpaque(true);
  322. this.WeihnachtenButton.setOpaque(true);
  323. this.OsternButton.setOpaque(true);
  324.  
  325. GregorianCalendar cal = new GregorianCalendar();
  326. SimpleDateFormat formata = new SimpleDateFormat("EEEE, yyyy-MM-dd"); // EEEE = WOCHENTAG
  327. SimpleDateFormat formatb = new SimpleDateFormat("yyyy-MM-dd");
  328. SimpleDateFormat formatc = new SimpleDateFormat("EEEE");
  329. formata.setTimeZone(TimeZone.getTimeZone("CET"));
  330. String startString = this.startDatum.getText();
  331. String[] datarray = startString.split("-");
  332. int year = Integer.parseInt(datarray[0]);
  333. int month = Integer.parseInt(datarray[1])-1;
  334. int day = Integer.parseInt(datarray[2]);
  335. cal.set(year, month, day);
  336. String endString = this.EndeField.getText();
  337. String aktuell = formatb.format(cal.getTime());
  338. List l = new List();
  339. while (!aktuell.equals(endString)){
  340. aktuell=formatb.format(cal.getTime());
  341. String aktuellTyp = formatc.format(cal.getTime());
  342. String wochrntagspktestring = this.Wochenpunkte.getText();
  343. int punkte = Integer.parseInt(wochrntagspktestring);
  344. if(aktuellTyp.equals("Samstag")){
  345. String samstagspktestring = this.SamstagPunkte.getText();
  346. punkte = Integer.parseInt(samstagspktestring);
  347. }
  348. if(aktuellTyp.equals("Sonntag")){
  349. String sonntagspktestring = this.Sonntagspunkte.getText();
  350. punkte = Integer.parseInt(sonntagspktestring);
  351. }
  352. Tag t = new Tag(aktuell, aktuellTyp, punkte);
  353. l.append(t);
  354. cal.add(Calendar.DAY_OF_MONTH, 1);
  355. }
  356. int anzahl= 0;
  357. for(l.toFirst();l.hasAccess(); l.next()){
  358. anzahl++;
  359. }
  360. String[][] data = new String[anzahl][3];
  361. int i = 0;
  362. for(l.toFirst();l.hasAccess(); l.next()){
  363. Tag aktuellerTag = (Tag) l.getObject();
  364. data[i][0]= aktuellerTag.getDatum();
  365. data[i][1]= aktuellerTag.getTyp();
  366. int pkte=aktuellerTag.getPunkte();
  367. String pktes=pkte+"";
  368. data[i][2]= pktes;
  369. i++;
  370. }
  371. String[] SpaltenNamen = {"Datum", "Typ", "Punkte"};
  372. jt = new JTable(data,SpaltenNamen);
  373. jScrollPane1 = new JScrollPane(jt);
  374. this.add(jScrollPane1);
  375. jScrollPane1.setBounds(493, 12, 406, 344);
  376.  
  377. }
  378.  
  379. protected void ostern() {
  380. int zeile = jt.getSelectedRow();
  381. TableModel tm = jt.getModel();
  382. tm.setValueAt("Ostern", zeile, 1);
  383. tm.setValueAt(this.Feiertagspunkte.getText(), zeile, 2);
  384. }
  385.  
  386. protected void weihnachten() {
  387. int zeile = jt.getSelectedRow();
  388. TableModel tm = jt.getModel();
  389. tm.setValueAt("Weihnachten", zeile, 1);
  390. tm.setValueAt(this.Feiertagspunkte.getText(), zeile, 2);
  391.  
  392. }
  393.  
  394. protected void freischalten() {
  395. this.startDatum.setEditable(true);
  396. this.EndeField.setEditable(true);
  397. this.Feiertagspunkte.setEditable(true);
  398. this.SamstagPunkte.setEditable(true);
  399. this.Sonntagspunkte.setEditable(true);
  400. this.Wochenpunkte.setEditable(true);
  401. this.TageAusgebenButton.setOpaque(true);
  402.  
  403.  
  404.  
  405.  
  406. }
  407.  
  408. protected void einteilen() {
  409. // TODO Auto-generated method stub
  410. JFrame dialogFrame = new JFrame();
  411. Object[] options = {"Ja", "Nein"};
  412. int n = JOptionPane.showOptionDialog( dialogFrame,
  413. "Eingeteilte Periode aktiv schalten und neu einteilen?",
  414. "Warnung",
  415. JOptionPane.YES_NO_OPTION,
  416. JOptionPane.QUESTION_MESSAGE,
  417. null,
  418. options,
  419. options[1]);
  420. System.out.println(n);
  421. if(n==1){
  422. return;
  423. }
  424. Config c = new Config();
  425. this.EinteilenButton.setOpaque(false);
  426. String[][] data= getTableData(jt);
  427. String statement = Config.statementArzttabelleAusgebenAktiv;
  428. ResultSet aerzte = Main.getDbConnection().executeSelectQuery(statement);
  429. List l = new List();
  430. try {
  431. while(aerzte.next()){
  432. List alist= new List();
  433.  
  434. Arzt a = new Arzt(alist, aerzte.getInt(1), aerzte.getString(2), aerzte.getString(3), " ", " ", aerzte.getInt(1), " ", " ", Double.parseDouble(aerzte.getString(8)), c.gibPunkte(aerzte.getInt(1)), true);
  435. l.append(a);
  436.  
  437. }
  438. } catch (SQLException e) {
  439. // TODO Auto-generated catch block
  440. e.printStackTrace();
  441. }
  442. double durchschnitt = c.durchschnittAktive();
  443. System.out.println("durchschnitt: "+durchschnitt);
  444. int anzahl = 0;
  445. for(l.toFirst();l.hasAccess();l.next()){
  446. anzahl++;
  447. }
  448.  
  449. List unterDurchschnitt = new List();
  450. List ueberDurchschnitt = new List();
  451.  
  452. for(l.toFirst();l.hasAccess();l.next()){
  453. Arzt a = (Arzt) l.getObject();
  454. if (a.getPunkte()<=durchschnitt){
  455. unterDurchschnitt.append(a);
  456. }
  457. if (a.getPunkte()>durchschnitt){
  458. ueberDurchschnitt.append(a);
  459. }
  460. }
  461. int nRow = jt.getModel().getRowCount(), nCol = jt.getModel().getColumnCount();
  462. List wochentage = new List();
  463. List samstage = new List();
  464. List sonntage = new List();
  465. List feiertage = new List();
  466. List speziellList = new List();
  467. int i = 0;
  468. while(i<nRow){
  469. Tag t = new Tag(data[i][0], data[i][1], Integer.parseInt(data[i][2]));
  470. if(data[i][1].equals("Weihnachten")||data[i][1].equals("Ostern")){
  471. speziellList.append(t);
  472. System.out.println(t.toString());
  473. }else{
  474. if(data[i][1].equals("Feiertag")){
  475. feiertage.append(t);
  476. System.out.println(t.toString());
  477. }else{
  478. if(data[i][1].equals("Samstag")){
  479. samstage.append(t);
  480. System.out.println(t.toString());
  481. }else{
  482. if(data[i][1].equals("Sonntag")){
  483. sonntage.append(t);
  484. System.out.println(t.toString());
  485. }else{
  486. wochentage.append(t);
  487. System.out.println(t.toString());
  488. }
  489.  
  490. }
  491. }
  492. }
  493. i++;
  494. }
  495. String[] datum = this.startDatum.getText().split("-");
  496. ResultSet alleSpeziellen = c.alleSpeziellen(datum[0]);
  497. List weihnachtssperre = new List();
  498. List Ostersperre = new List();
  499. try {
  500. while(alleSpeziellen.next()==true){
  501. if(alleSpeziellen.getString(1)=="Weihnachten"){
  502. weihnachtssperre.append(alleSpeziellen.getString(1));
  503. System.out.println(alleSpeziellen.getString(1));
  504. }
  505. if(alleSpeziellen.getString(1)=="Ostern"){
  506. Ostersperre.append(alleSpeziellen.getString(1));
  507. System.out.println(alleSpeziellen.getString(1));
  508. }
  509. }
  510. } catch (SQLException e) {
  511. // TODO Auto-generated catch block
  512. e.printStackTrace();
  513. }
  514.  
  515. for(speziellList.toFirst();speziellList.hasAccess();speziellList.next()){
  516. if(unterDurchschnitt.isEmpty()==false){
  517. unterDurchschnitt.toFirst();
  518. Arzt a = (Arzt)unterDurchschnitt.getObject();
  519. int id = a.getId();
  520. Tag t = (Tag) speziellList.getObject();
  521. if(t.getTyp() == "Weihnachten"){
  522. while(idIstInListe(id, weihnachtssperre)== true){
  523. unterDurchschnitt.next();
  524. a=(Arzt)unterDurchschnitt.getObject();
  525. id = a.getId();
  526. }
  527. a.getDienste().append(t);
  528. int punkte = a.getPunkte();
  529. System.out.println(punkte);
  530. a.setPunkte((int)(t.getPunkte()/a.getWertung())+punkte);
  531. punkte = a.getPunkte();
  532. System.out.println(punkte);
  533. if(a.getPunkte()>durchschnitt){
  534. unterDurchschnitt.remove();
  535. ueberDurchschnitt.append(a);
  536. unterDurchschnitt.toFirst();
  537. System.out.println("von unter zu ueber bewegt");
  538. }
  539. }else{
  540. if(t.getTyp() == "Ostern"){
  541. while(idIstInListe(id, Ostersperre)== true){
  542. unterDurchschnitt.next();
  543. a=(Arzt)unterDurchschnitt.getObject();
  544. id = a.getId();
  545. }
  546. a.getDienste().append(t);
  547. int punkte = a.getPunkte();
  548. System.out.println(punkte);
  549. a.setPunkte((int)(t.getPunkte()/a.getWertung())+punkte);
  550. punkte = a.getPunkte();
  551. if(a.getPunkte()>durchschnitt){
  552. unterDurchschnitt.remove();
  553. ueberDurchschnitt.append(a);
  554. unterDurchschnitt.toFirst();
  555. System.out.println("von unter zu ueber bewegt");
  556. }
  557. }
  558. }
  559. }
  560. }
  561. System.out.println("weihnachten und ostern eingeteilt");
  562.  
  563. l.toFirst();
  564. System.out.println("erster l satz");
  565. while(l.isEmpty()==false){
  566. l.remove();
  567. System.out.println("l datensatz entfernt");
  568. }
  569. l.concat(unterDurchschnitt);
  570. l.concat(ueberDurchschnitt);
  571. System.out.println("an l angehaengt");
  572.  
  573. i = 0;
  574. int summe=0;
  575. System.out.println("Hilfslisten geleert");
  576. for(l.toFirst();l.hasAccess();l.next()){
  577. i++;
  578. Arzt a = (Arzt) l.getObject();
  579. summe=summe+(int)a.getPunkte();
  580. System.out.println(a.toString());
  581. }
  582. durchschnitt=summe/i;
  583. System.out.println("durchschnitt "+durchschnitt);
  584. l.toFirst();
  585. while(l.hasAccess()){
  586. Arzt a = (Arzt) l.getObject();
  587. if (a.getPunkte()<=durchschnitt){
  588. unterDurchschnitt.append(a);
  589. System.out.println("unter anhaengen: "+a.toString());
  590. }
  591. else{
  592. ueberDurchschnitt.append(a);
  593. System.out.println("ueber anhaengen: "+a.toString());
  594. }
  595. l.next();
  596. }
  597. System.out.println("Durchschnitt aktuallisiert");
  598.  
  599. while(feiertage.isEmpty()==false||sonntage.isEmpty()==false||samstage.isEmpty()==false||wochentage.isEmpty()==false){
  600. unterDurchschnitt.toFirst();
  601. if(feiertage.isEmpty()==false){
  602. feiertage.toFirst();
  603. Arzt a = (Arzt)unterDurchschnitt.getObject();
  604.  
  605. Tag t = (Tag) feiertage.getObject();
  606. a.getDienste().append(t);
  607. feiertage.remove();
  608. a.setPunkte((int)(t.getPunkte()/a.getWertung())+a.getPunkte());
  609. if(a.getPunkte()>durchschnitt){
  610. unterDurchschnitt.remove();
  611. ueberDurchschnitt.append(a);
  612. }
  613. }else{
  614. if(sonntage.isEmpty()==false){
  615. sonntage.toFirst();
  616. Arzt a = (Arzt)unterDurchschnitt.getObject();
  617.  
  618. Tag t = (Tag) sonntage.getObject();
  619. a.getDienste().append(t);
  620. sonntage.remove();
  621. a.setPunkte((int)(t.getPunkte()/a.getWertung())+a.getPunkte());
  622. if(a.getPunkte()>durchschnitt){
  623. unterDurchschnitt.remove();
  624. ueberDurchschnitt.append(a);
  625. }
  626. }else{
  627. if(samstage.isEmpty()==false){
  628. samstage.toFirst();
  629. Arzt a = (Arzt)unterDurchschnitt.getObject();
  630.  
  631. Tag t = (Tag) samstage.getObject();
  632. a.getDienste().append(t);
  633. samstage.remove();
  634. a.setPunkte((int)(t.getPunkte()/a.getWertung())+a.getPunkte());
  635. if(a.getPunkte()>durchschnitt){
  636. unterDurchschnitt.remove();
  637. ueberDurchschnitt.append(a);
  638. }
  639. }else{
  640. if(wochentage.isEmpty()==false){
  641. wochentage.toFirst();
  642. Arzt a = (Arzt)unterDurchschnitt.getObject();
  643.  
  644. Tag t = (Tag) wochentage.getObject();
  645. a.getDienste().append(t);
  646. wochentage.remove();
  647. a.setPunkte((int)(t.getPunkte()/a.getWertung())+a.getPunkte());
  648. if(a.getPunkte()>durchschnitt){
  649. unterDurchschnitt.remove();
  650. ueberDurchschnitt.append(a);
  651. }
  652. }
  653.  
  654. }
  655.  
  656.  
  657.  
  658. }
  659. }
  660.  
  661. l.toFirst();
  662. while(l.isEmpty()==false){
  663. l.remove();
  664. }
  665. ueberDurchschnitt.toFirst();
  666. unterDurchschnitt.toFirst();
  667. l.concat(unterDurchschnitt);
  668. l.concat(ueberDurchschnitt);
  669.  
  670. while(unterDurchschnitt.isEmpty()==false){
  671. unterDurchschnitt.remove();
  672. }
  673. while(ueberDurchschnitt.isEmpty()==false){
  674. ueberDurchschnitt.remove();
  675. }
  676. i = 0;
  677. summe=0;
  678. for(l.toFirst();l.hasAccess();l.next()){
  679. i++;
  680. Arzt a = (Arzt) l.getObject();
  681. System.out.println(a.getPunkte());
  682. summe += a.getPunkte();
  683. }
  684. durchschnitt=summe/i;
  685. for(l.toFirst();l.hasAccess();l.next()){
  686. Arzt a = (Arzt) l.getObject();
  687. if (a.getPunkte()<=durchschnitt){
  688. unterDurchschnitt.append(a);
  689. }
  690. if (a.getPunkte()>durchschnitt){
  691. ueberDurchschnitt.append(a);
  692. }
  693.  
  694. }
  695.  
  696.  
  697.  
  698. }
  699. System.out.println("rest eingeteilt");
  700. // ueberDurchschnitt.toFirst();
  701. // while(feiertage.isEmpty()==false){
  702. // feiertage.toFirst();
  703. // Arzt a = (Arzt)ueberDurchschnitt.getObject();
  704. // Tag t = (Tag) feiertage.getObject();
  705. // a.getDienste().append(t);
  706. // feiertage.remove();
  707. // a.setPunkte((t.getPunkte()/a.getWertung())+a.getPunkte());
  708. // ueberDurchschnitt.next();
  709. // if(ueberDurchschnitt.hasAccess()==false){
  710. // ueberDurchschnitt.toFirst();
  711. // }
  712. // }
  713. // while(sonntage.isEmpty()==false){
  714. // sonntage.toFirst();
  715. // Arzt a = (Arzt)ueberDurchschnitt.getObject();
  716. // Tag t = (Tag) sonntage.getObject();
  717. // a.getDienste().append(t);
  718. // sonntage.remove();
  719. // a.setPunkte((t.getPunkte()/a.getWertung())+a.getPunkte());
  720. // ueberDurchschnitt.next();
  721. // if(ueberDurchschnitt.hasAccess()==false){
  722. // ueberDurchschnitt.toFirst();
  723. // }
  724. // }
  725. // while(samstage.isEmpty()==false){
  726. // samstage.toFirst();
  727. // Arzt a = (Arzt)ueberDurchschnitt.getObject();
  728. // Tag t = (Tag) samstage.getObject();
  729. // a.getDienste().append(t);
  730. // samstage.remove();
  731. // a.setPunkte((t.getPunkte()/a.getWertung())+a.getPunkte());
  732. // ueberDurchschnitt.next();
  733. // if(ueberDurchschnitt.hasAccess()==false){
  734. // ueberDurchschnitt.toFirst();
  735. // }
  736. //
  737. // }
  738. // while(wochentage.isEmpty()==false){
  739. // wochentage.toFirst();
  740. // Arzt a = (Arzt)ueberDurchschnitt.getObject();
  741. // Tag t = (Tag) wochentage.getObject();
  742. // a.getDienste().append(t);
  743. // wochentage.remove();
  744. // a.setPunkte((t.getPunkte()/a.getWertung())+a.getPunkte());
  745. // ueberDurchschnitt.next();
  746. // if(ueberDurchschnitt.hasAccess()==false){
  747. // ueberDurchschnitt.toFirst();
  748. // }
  749. // }
  750. l.toFirst();
  751. while(l.isEmpty()==false){
  752. l.remove();
  753. }
  754. l.concat(unterDurchschnitt);
  755. l.concat(ueberDurchschnitt);
  756. i = 0;
  757. summe=0;
  758. for(l.toFirst();l.hasAccess();l.next()){
  759. i++;
  760. summe+=(int)((Arzt)l.getObject()).getPunkte();
  761. }
  762. durchschnitt=summe/i;
  763.  
  764.  
  765. for(l.toFirst();l.hasAccess();l.next()){
  766. Arzt a = (Arzt) l.getObject();
  767. List dienste = a.getDienste();
  768. for(dienste.toFirst();dienste.hasAccess();dienste.next()){
  769. Tag t = (Tag) dienste.getObject();
  770. statement = "INSERT INTO tag (datum,typ,punkte) "+
  771. "VALUES ('"+t.getDatum()+"', '"+t.getTyp()+"', '"+t.getPunkte()+"')";
  772. Main.getDbConnection().executeInsertUpdateDeleteQuery(statement);
  773. statement= "SELECT t.id "+
  774. "FROM tag t "+
  775. "WHERE datum='"+t.getDatum()+"'";
  776. ResultSet ergebnis = Main.getDbConnection().executeSelectQuery(statement);
  777. int id=0;
  778. try {
  779. ergebnis.next();
  780. id=ergebnis.getInt(1);
  781. } catch (SQLException e) {
  782. // TODO Auto-generated catch block
  783. e.printStackTrace();
  784. }
  785. statement= "INSERT INTO dienst (arzt_id, tag_id) "+
  786. "VALUES ('"+a.getId()+"', '"+id+"')";
  787. Main.getDbConnection().executeInsertUpdateDeleteQuery(statement);
  788. }
  789. }
  790.  
  791. List inaktive = c.alleInaktiven();
  792. durchschnitt = c.durchschnittAktive();
  793. while(inaktive.isEmpty()==false){
  794. inaktive.toFirst();
  795. int id = (Integer) inaktive.getObject();
  796. double punkte = c.gibPunkte(id);
  797. int rest = (int) (durchschnitt-punkte);
  798. statement = "SELECT a.startpunkte "+
  799. "FROM arzt a "+
  800. "WHERE id="+id+"";
  801. ResultSet ergebnis = Main.getDbConnection().executeSelectQuery(statement);
  802. int start = 0;
  803. try {
  804. ergebnis.next();
  805. start = ergebnis.getInt(1);
  806. } catch (SQLException e) {
  807. // TODO Auto-generated catch block
  808. e.printStackTrace();
  809. }
  810. int neu = start+rest;
  811. statement= "UPDATE arzt "
  812. + "SET startpunkte="+neu+" "
  813. +"WHERE id="+id;
  814. Main.getDbConnection().executeInsertUpdateDeleteQuery(statement);
  815. inaktive.remove();
  816.  
  817.  
  818. String startString = this.startDatum.getText();
  819. String endString = this.EndeField.getText();
  820. statement= "UPDATE periode SET aktiv=0 WHERE aktiv=1";
  821. Main.getDbConnection().executeInsertUpdateDeleteQuery(statement);
  822. statement="INSERT INTO periode (start_datum, ende_datum, aktiv) "
  823. + "VALUES ('"+startString+"', '"+endString+"', '1')";
  824. Main.getDbConnection().executeInsertUpdateDeleteQuery(statement);
  825.  
  826. }
  827. }
  828.  
  829. private boolean idIstInListe(int id, List pList) {
  830. boolean ergebnis=false;
  831. for(pList.toFirst();pList.hasAccess();pList.next()){
  832. if(Integer.parseInt((String)pList.getObject())==id){
  833. return true;
  834. }
  835. }
  836. return false;
  837. }
  838.  
  839. public String[][] getTableData (JTable table) {
  840. int nRow = table.getModel().getRowCount(), nCol = table.getModel().getColumnCount();
  841. String[][] tableData = new String[nRow][nCol];
  842. for (int i = 0 ; i < nRow ; i++)
  843. for (int j = 0 ; j < nCol ; j++)
  844. tableData[i][j] = (String) table.getModel().getValueAt(i,j);
  845. return tableData;
  846. }
  847.  
  848. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement