Ejemplo n.º 1
0
  /** 取得成績未上傳老師名單並寄發e-mail, cc給學務單位 */
  @SuppressWarnings("unchecked")
  @Override
  public void run() {

    StudAffairManager sm =
        (StudAffairManager) Global.context.getBean(IConstants.STUD_AFFAIR_MANAGER_BEAN_NAME);
    StudAffairDAO dao = (StudAffairDAO) Global.context.getBean("studAffairDAO");
    ScoreManager scm = (ScoreManager) Global.context.getBean(IConstants.SCORE_MANAGER_BEAN_NAME);
    MemberManager mm = (MemberManager) Global.context.getBean(IConstants.MEMBER_MANAGER_BEAN_NAME);

    String email = "";

    Calendar start = null;
    Calendar end = null;

    List<String> depts = sm.findCampusDepartment();
    String hql = "";
    String err = "";

    // Send email for Department that Teacher not upload score data which will expire
    start = Calendar.getInstance();
    start.add(Calendar.DATE, -8);

    List<Map> notUpload = new ArrayList<Map>();
    // Send email for Teacher not upload score data will expired
    try {
      notUpload = scm.findScoreNotUpload(depart, level, scope);
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    String teachedId = "";
    Empl empl = new Empl();
    DEmpl dempl = new DEmpl();
    int cnt = 0;
    for (Map notupMap : notUpload) {
      teachedId = notupMap.get("teacherID").toString();
      empl = mm.findEmplByIdno(teachedId);
      if (empl != null) {
        if (empl.getEmail() != null) {
          email = empl.getEmail();
        } else {
          email = "";
        }
      } else {
        dempl = mm.findDEmplByIdno(teachedId);
        if (dempl.getEmail() != null) {
          email = dempl.getEmail();
        } else {
          email = "";
        }
      }
      if (!email.equals("")) {
        // if(notupMap.get("teacherId").toString().equalsIgnoreCase("D120148934")||
        // notupMap.get("teacherId").toString().equalsIgnoreCase("F120603503")){
        // log.debug("email:" + email + ",is valid: " +
        // Toolket.isValidEmail(email));
        if (Toolket.isValidEmail(email)) {
          // TODO:test only

          if (cnt == 0) {
            err = this.sendEmail(notupMap, "*****@*****.**");
            cnt++;
            // break;
          }

          err = this.sendEmail(notupMap, email);
          err += err;
        }
        // }
      }
    }
    if (!err.equals("")) {
      sendDeptEmail("SysAdmin", err);
    }
  }