Exemple #1
0
    /** Start threads */
    public void run() {
      //			ReportExecutor re = (ReportExecutor)SpringContextUtil.getBean("reportExecutor");
      // Add multi-country by XT
      ReportExecutor re =
          (ReportExecutor) SpringContextUtil.getBean("reportExecutor" + countryCode);

      try {
        if (this.reportCode == REPAIRALREADY) { // 已修复清单
          RepairAlreadyModel model = new RepairAlreadyModel();
          model.setParam((String[]) sqlCondition);
          re.setInCoding("UTF-16LE");
          fileName = re.reportFile(model, countryCode);

        } else if (this.reportCode == SENDREPAIR) { // 已发机清单
          DeliveriedListModel model = new DeliveriedListModel();
          model.setParam((String[]) sqlCondition);
          re.setInCoding("UTF-16LE");
          fileName = re.reportFile(model, countryCode);

        } else if (this.reportCode == CR90) { // CR90 报表
          Cr90Model model = new Cr90Model();
          model.setParam((HttpServletRequest) sqlCondition);
          re.setInCoding("UTF-16LE");
          fileName = re.reportFile(model, countryCode);

        } else if (this.reportCode == NOTSENDREPAIR) { // 未发机清单
          // fileName=notSendRepairReport.createTxtFileT((String[])sqlCondition);
        }

        if (fileName == null) {
          throw new Exception("create report Exception,please contact the system administrator");
        }

      } catch (ReportException erp) {
        errInfo = erp.getMessage();
      } catch (Exception e) {
        errInfo = e.getMessage();
        e.printStackTrace();
      } finally {
        try {
          // 更新DB
          if (fileName == null) fileName = "";
          if (errInfo != null && errInfo.indexOf("'") != -1)
            errInfo = errInfo.replaceAll("'", "\"");
          ReportBackgroundBo.updateBgTable(bgId, fileName, errInfo, timeZone, countryCode);
        } catch (Exception er) {
          er.printStackTrace();

          //					try{
          //						//如果更新失败,发邮件提醒
          ////						APMailSender sender = new APMailSender();
          ////						String errMess=reportCode+":\r\n"+errInfo+"\r\n\r\n"+"
          // update:\r\n"+er.toString();
          ////
          ////						sender.send("BackgrounderReport_Exception:"+bgId, errMess, "*****@*****.**");
          //					}catch (Exception em){
          //						em.printStackTrace();
          //					}
        }
      }
    }