Subversion Repositories bacoAlunos

Rev

Rev 1312 | Rev 1558 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1312 Rev 1353
Line 13... Line 13...
13
import org.json.JSONObject;
13
import org.json.JSONObject;
14
import pt.estgp.estgweb.Globals;
14
import pt.estgp.estgweb.Globals;
15
import pt.estgp.estgweb.domain.*;
15
import pt.estgp.estgweb.domain.*;
16
import pt.estgp.estgweb.domain.dao.DaoFactory;
16
import pt.estgp.estgweb.domain.dao.DaoFactory;
17
import pt.estgp.estgweb.domain.enums.LangEnum;
17
import pt.estgp.estgweb.domain.enums.LangEnum;
-
 
18
import pt.estgp.estgweb.domain.views.CourseUnitSummaryView;
-
 
19
import pt.estgp.estgweb.domain.views.CourseUnitView;
18
import pt.estgp.estgweb.services.courseunits.CreateCourseUnitXML;
20
import pt.estgp.estgweb.services.courseunits.CreateCourseUnitXML;
19
import pt.estgp.estgweb.services.email.EMAILJob;
21
import pt.estgp.estgweb.services.email.EMAILJob;
20
import pt.estgp.estgweb.services.email.SendEmailService;
22
import pt.estgp.estgweb.services.email.SendEmailService;
21
import pt.estgp.estgweb.services.expceptions.ServiceException;
23
import pt.estgp.estgweb.services.expceptions.ServiceException;
22
import pt.estgp.estgweb.services.jobs.JobScheduleService;
24
import pt.estgp.estgweb.services.jobs.JobScheduleService;
Line 37... Line 39...
37
import java.io.File;
39
import java.io.File;
38
import java.io.FileInputStream;
40
import java.io.FileInputStream;
39
import java.io.FileOutputStream;
41
import java.io.FileOutputStream;
40
import java.io.IOException;
42
import java.io.IOException;
41
import java.sql.Connection;
43
import java.sql.Connection;
42
import java.util.ArrayList;
-
 
43
import java.util.HashMap;
-
 
44
import java.util.List;
-
 
45
import java.util.Map;
44
import java.util.*;
46
 
45
 
47
/**
46
/**
48
 * @author Jorge Machado
47
 * @author Jorge Machado
49
 * @date 11/May/2008
48
 * @date 11/May/2008
50
 * @time 12:51:32
49
 * @time 12:51:32
51
 * @see pt.estgp.estgweb
50
 * @see pt.estgp.estgweb
-
 
51
 *
-
 
52
 *
-
 
53
 * @NOTAS IMPORTANTES DESTE SERVIÇO
-
 
54
 *
-
 
55
 * @DEPENDS TODO DEPENDENCIAS FORTES
-
 
56
 * Este serviço gera toda a informação acerca de sumários e sumários em FALTA
-
 
57
 * Existe uma forte depêndencia da CourseUniView que recebe daqui a lógica de decisão daquilo que são ou não sumários
-
 
58
 * atrasados
52
 */
59
 */
53
public class ImportSumariesJson extends ServiceJob implements IService
60
public class ImportSumariesJson extends ServiceJob implements IService
54
{
61
{
55
 
62
 
56
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(ImportSumariesJson.class);
63
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(ImportSumariesJson.class);
Line 417... Line 424...
417
 
424
 
418
        1.5.0/docs/api/java/lang/System.html">System.out.println("Syntax:");
425
        1.5.0/docs/api/java/lang/System.html">System.out.println("Syntax:");
419
        1.5.0/docs/api/java/lang/System.html">System.out.println("year, semestre, sendIonline, sendEmail");
426
        1.5.0/docs/api/java/lang/System.html">System.out.println("year, semestre, sendIonline, sendEmail");
420
        1.5.0/docs/api/java/lang/System.html">System.out.println("If no arguments wil user actual year import config in all semestres and true in email and ionline");
427
        1.5.0/docs/api/java/lang/System.html">System.out.println("If no arguments wil user actual year import config in all semestres and true in email and ionline");
421
 
428
 
422
        1.5.0/docs/api/java/lang/String.html">String year = DaoFactory.getConfigurationDaoImpl().getImportsDefaultImportYearCreateTransaction();
429
        1.5.0/docs/api/java/lang/String.html">String year = "201516";DaoFactory.getConfigurationDaoImpl().getImportsDefaultImportYearCreateTransaction();
423
        1.5.0/docs/api/java/lang/String.html">String semestre = null;
430
        1.5.0/docs/api/java/lang/String.html">String semestre = null;
424
        boolean sendIonline = false;
431
        boolean sendIonline = false;
425
        boolean sendEmail = false;
432
        boolean sendEmail = false;
426
        int institutionCode = 1;
433
        int institutionCode = 1;
427
        if(args != null && args.length > 0)
434
        if(args != null && args.length > 0)
Line 463... Line 470...
463
        boolean sendIonline = sendIonlineStr != null && 1.5.0/docs/api/java/lang/Boolean.html">Boolean.parseBoolean(sendIonlineStr);
470
        boolean sendIonline = sendIonlineStr != null && 1.5.0/docs/api/java/lang/Boolean.html">Boolean.parseBoolean(sendIonlineStr);
464
        boolean sendEmail = sendEmailStr != null && 1.5.0/docs/api/java/lang/Boolean.html">Boolean.parseBoolean(sendEmailStr);
471
        boolean sendEmail = sendEmailStr != null && 1.5.0/docs/api/java/lang/Boolean.html">Boolean.parseBoolean(sendEmailStr);
465
        return run(importYear,1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(institutionCode),semestre,sendIonline,sendEmail);
472
        return run(importYear,1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(institutionCode),semestre,sendIonline,sendEmail);
466
    }
473
    }
467
 
474
 
-
 
475
 
-
 
476
    /**
-
 
477
     * METODO DE HELP PARA A VISTA DA UNIDADE CURRICULAR
-
 
478
     */
-
 
479
 
-
 
480
    public static void setSummariesFromJson(CourseUnitView cuview) {
-
 
481
 
-
 
482
        int lateSummaries = 0;
-
 
483
        int prelancadosSummaries = 0;
-
 
484
        List<CourseUnitSummaryView> summariesFromJson = new ArrayList<CourseUnitSummaryView>();
-
 
485
        1.5.0/docs/api/java/lang/String.html">String summariesJson = cuview.getSummariesJson();
-
 
486
        ArrayList<String> lateSummariesDates = new ArrayList<String>();
-
 
487
        ArrayList<String> prelancadosSummariesDates = new ArrayList<String>();
-
 
488
 
-
 
489
        if(summariesJson != null && summariesJson.length() > 0)
-
 
490
        {
-
 
491
            try {
-
 
492
                JSONObject jsonObject = new JSONObject(summariesJson);
-
 
493
                JSONArray summaries = jsonObject.getJSONArray("summary");
-
 
494
                for(int i = 0; i < summaries.length();i++)
-
 
495
                {
-
 
496
                    JSONObject summary = summaries.getJSONObject(i);
-
 
497
                    CourseUnitSummaryImpl sum = DomainObjectFactory.createCourseUnitSummaryImpl();
-
 
498
 
-
 
499
                    if(sum.updateWithJson(summary)){
-
 
500
                        CourseUnitSummaryView view = new CourseUnitSummaryView(sum);
-
 
501
                        summariesFromJson.add(view);
-
 
502
                    }
-
 
503
                    else
-
 
504
                    // so verifica atrasados para unidades do ano corrente a titulo informativo
-
 
505
                    {
-
 
506
                        CourseUnitSummaryView view = new CourseUnitSummaryView(sum);
-
 
507
                        if(view.getNumber() < 0 && view.getOriginalDate().getTime() + 48*60*60*1000 < 1.5.0/docs/api/java/lang/System.html">System.currentTimeMillis())
-
 
508
                        {
-
 
509
 
-
 
510
                            //System.out.println(view.getNumber() + " " + view.getDate() + " " + view.getOriginalDate());
-
 
511
                            lateSummaries++;
-
 
512
                            lateSummariesDates.add(view.getDate());
-
 
513
                        }
-
 
514
                        else if(sum.getcEstado().equals(""+Globals.SIGES_SUMARIO_PRELANCADO_CODIGO))
-
 
515
                        {
-
 
516
                            prelancadosSummaries++;
-
 
517
                            prelancadosSummariesDates.add(view.getDate());
-
 
518
                        }
-
 
519
                    }
-
 
520
                }
-
 
521
            } catch (JSONException e) {
-
 
522
                logger.error(e,e);
-
 
523
            }
-
 
524
            1.5.0/docs/api/java/util/Collections.html">Collections.sort(summariesFromJson, new Comparator<CourseUnitSummaryView>() {
-
 
525
                @1.5.0/docs/api/java/lang/Override.html">Override
-
 
526
                public int compare(CourseUnitSummaryView courseUnitSummaryView, CourseUnitSummaryView courseUnitSummaryView2) {
-
 
527
 
-
 
528
                    if (courseUnitSummaryView.getNumber() > courseUnitSummaryView2.getNumber())
-
 
529
                        return -1;
-
 
530
                    else if (courseUnitSummaryView.getNumber() < courseUnitSummaryView2.getNumber())
-
 
531
                        return 1;
-
 
532
                    return 0;
-
 
533
                }
-
 
534
            });
-
 
535
            cuview.setSummariesFromJson(summariesFromJson);
-
 
536
            cuview.setLateSummaries(lateSummaries);
-
 
537
            cuview.setLateSummariesDates(lateSummariesDates);
-
 
538
            cuview.setPrelancadosSummaries(prelancadosSummaries);
-
 
539
            cuview.setPrelancadosSummariesDates(prelancadosSummariesDates);
-
 
540
        }
-
 
541
    }
468
}
542
}