// 修改HAB值
  public void changeHAB(Context context) {
    List errList = context.errList;
    HashMap outputMap = new HashMap();
    if (errList.isEmpty()) {
      SqlMapClient sqlMapper = DataAccessor.getSession();

      try {
        sqlMapper.startTransaction();
        sqlMapper.update("activitiesLog.modifyHAB", context.getContextMap());
        sqlMapper.commitTransaction();
      } catch (SQLException e) {
        e.printStackTrace();
        LogPrint.getLogStackTrace(e, logger);
        errList.add(e);
      } finally {
        try {
          sqlMapper.endTransaction();
        } catch (SQLException e) {
          e.printStackTrace();
          LogPrint.getLogStackTrace(e, logger);
          errList.add(e);
        }
      }
    } else {
      outputMap.put("errList", errList);
      Output.jspOutput(outputMap, context, "/error.jsp");
    }

    if (errList.isEmpty()) {
      //
    } else {
      outputMap.put("errList", errList);
      Output.jspOutput(outputMap, context, "/error.jsp");
    }
  }
  public void activitiesStatisitce(Context context) {
    List errorList = context.errList;
    HashMap outputMap = new HashMap();
    ArrayList empInfo = new ArrayList();
    ArrayList empOther = new ArrayList();
    ArrayList company_count = new ArrayList(); // 公司 数
    ArrayList user_count = new ArrayList(); // 公司 的旗下员工数
    if (errorList.isEmpty()) {

      try {
        //				context.contextMap.put("job_type", "业务员");
        //				context.contextMap.put("type1", "勘厂");
        //				context.contextMap.put("type2", "客户拜访与维护");
        //				context.contextMap.put("type3", "已报价");
        //				context.contextMap.put("type4", "入保证金");

        String Query_DATE = context.request.getParameter("Query_DATE");
        String decp_id = context.request.getParameter("decp_Id");
        String Id = context.request.getParameter("Id");

        if ((Query_DATE == null || "".equals(Query_DATE))
            && (decp_id == null || "".equals(decp_id))
            && (Id == null || "".equals(Id))) {

          empInfo =
              (ArrayList)
                  DataAccessor.getSession()
                      .queryForList("activitiesLog.activitiesStatistics", context.contextMap);
          company_count =
              (ArrayList)
                  (ArrayList)
                      DataAccessor.getSession()
                          .queryForList(
                              "activitiesLog.activitiesStatisticsCountss", context.contextMap);
        } else {

          empInfo =
              (ArrayList)
                  DataAccessor.getSession()
                      .queryForList("activitiesLog.activitiesStatisticsByDate", context.contextMap);
          company_count =
              (ArrayList)
                  (ArrayList)
                      DataAccessor.getSession()
                          .queryForList(
                              "activitiesLog.activitiesStatisticsCounts", context.contextMap);
        }

        // 加入HAB的金额
        List<Map> habAmount = null;
        // 获得首次拜访的统计数 add by ShenQi see mantis 24
        List<Map> countOfFirstAccess = null;
        if (empInfo.size() != 0) {
          countOfFirstAccess =
              DataAccessor.getSession()
                  .queryForList("activitiesLog.getCountOfFirstAccess", context.contextMap);
          context.contextMap.put("DATE", Query_DATE);
          habAmount =
              DataAccessor.getSession()
                  .queryForList("activitiesLog.getHABAmount", context.contextMap);
        }
        for (int j = 0; j < empInfo.size(); j++) {
          for (int i = 0; countOfFirstAccess != null && i < countOfFirstAccess.size(); i++) {
            if (((Map) empInfo.get(j))
                    .get("USER_ID")
                    .equals(countOfFirstAccess.get(i).get("USER_ID"))
                && ((Map) empInfo.get(j))
                    .get("CREATE_DATE")
                    .equals(countOfFirstAccess.get(i).get("CREATE_DATE"))) {
              ((Map) empInfo.get(j)).put("TOTAL", countOfFirstAccess.get(i).get("TOTAL"));
              break;
            }
          }

          for (int i = 0; habAmount != null && i < habAmount.size(); i++) {
            if (String.valueOf(((Map) empInfo.get(j)).get("USER_ID"))
                .equals(String.valueOf(habAmount.get(i).get("SENSOR_ID")))) {
              if ("H".equals(habAmount.get(i).get("HAB"))) {
                ((Map) empInfo.get(j)).put("H", habAmount.get(i).get("AMOUNT"));
              } else if ("A".equals(habAmount.get(i).get("HAB"))) {
                ((Map) empInfo.get(j)).put("A", habAmount.get(i).get("AMOUNT"));
              } else if ("B".equals(habAmount.get(i).get("HAB"))) {
                ((Map) empInfo.get(j)).put("B", habAmount.get(i).get("AMOUNT"));
              }
            }
          }
        }
      } catch (SQLException e) {

        e.printStackTrace();
        LogPrint.getLogStackTrace(e, logger);
        errorList.add(e);
      }
    }

    if (errorList.isEmpty()) {

      if (context.contextMap.get("Query_DATE") != null
          && !"".equals(context.contextMap.get("Query_DATE"))) {
        outputMap.put("Query_DATE", context.contextMap.get("Query_DATE"));
      } else {
        Date time = new Date();
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");

        String yar = sf.format(time).toString();
        outputMap.put("Query_DATE", yar);
      }
      outputMap.put("comp", empInfo);
      outputMap.put("company_count", company_count);
      Output.jspOutput(outputMap, context, "/activitiesLog/activitiesStatisticsView.jsp");
    }
  }
  public void activitiesStatisitceExcel(Context context) {
    List errorList = context.errList;
    HashMap outputMap = new HashMap();
    ArrayList empInfo = new ArrayList();
    ArrayList empOther = new ArrayList();
    ArrayList company_count = new ArrayList(); // 公司 数
    ArrayList user_count = new ArrayList(); // 公司 的旗下员工数
    String Query_DATE = null;
    if (errorList.isEmpty()) {

      try {
        //				context.contextMap.put("job_type", "业务员");
        //				context.contextMap.put("type1", "勘厂");
        //				context.contextMap.put("type2", "客户拜访与维护");
        //				context.contextMap.put("type3", "已报价");
        //				context.contextMap.put("type4", "入保证金");

        Query_DATE = context.request.getParameter("Query_DATE");
        String decp_id = context.request.getParameter("decp_Id");
        String Id = context.request.getParameter("Id");

        if ((Query_DATE == null || "".equals(Query_DATE))
            && (decp_id == null || "".equals(decp_id))
            && (Id == null || "".equals(Id))) {
          empInfo =
              (ArrayList)
                  DataAccessor.getSession()
                      .queryForList("activitiesLog.activitiesStatistics", context.contextMap);
        } else {
          empInfo =
              (ArrayList)
                  DataAccessor.getSession()
                      .queryForList("activitiesLog.activitiesStatisticsByDate", context.contextMap);
        }

        company_count =
            (ArrayList)
                (ArrayList)
                    DataAccessor.getSession()
                        .queryForList(
                            "activitiesLog.activitiesStatisticsCounts", context.contextMap);

        // 获得首次拜访的统计数 add by ShenQi see mantis 24
        List<Map> countOfFirstAccess = null;
        if (empInfo.size() != 0) {
          countOfFirstAccess =
              DataAccessor.getSession()
                  .queryForList("activitiesLog.getCountOfFirstAccess", context.contextMap);
        }
        for (int j = 0; j < empInfo.size(); j++) {
          for (int i = 0; countOfFirstAccess != null && i < countOfFirstAccess.size(); i++) {
            if (((Map) empInfo.get(j))
                    .get("USER_ID")
                    .equals(countOfFirstAccess.get(i).get("USER_ID"))
                && ((Map) empInfo.get(j))
                    .get("CREATE_DATE")
                    .equals(countOfFirstAccess.get(i).get("CREATE_DATE"))) {
              ((Map) empInfo.get(j)).put("TOTAL", countOfFirstAccess.get(i).get("TOTAL"));
              break;
            }
          }
        }
      } catch (SQLException e) {

        e.printStackTrace();
        LogPrint.getLogStackTrace(e, logger);
        errorList.add(e);
      }
    }

    if (errorList.isEmpty()) {
      ActivitiesStatisticsExcel excel = new ActivitiesStatisticsExcel();
      excel.activitiesStatisticExcelJoin(empInfo, company_count, context, Query_DATE);
    }
  }
  // 修改主档明细
  public void updateLog(Context context) {
    Map outputMap = new HashMap();
    List errList = context.errList;

    String prvLogSun1 = "已访厂";
    String prvLogSun2 = "首次拜访";

    int casesun = Integer.parseInt(context.request.getParameter("casesun"));
    // 通过casesun(明细档Id),查询出name
    Map logName = null;
    try {
      context.contextMap.put("reportactlogid", context.contextMap.get("casesun"));
      logName =
          (Map)
              DataAccessor.query(
                  "activitiesLog.getActlogNameByActlogId",
                  context.contextMap,
                  DataAccessor.RS_TYPE.MAP);
    } catch (Exception e) {
      e.printStackTrace();
      LogPrint.getLogStackTrace(e, logger);
      // 添加详细错误信息
      errList.add("活动日志管理--修改主档明细错误!请联系管理员");
    }
    Object actLogName1 = logName.get("ACTLOG_NAME");
    String actLogName = null;
    if (actLogName1 != null && !"".equals(actLogName1)) {
      actLogName = actLogName1.toString();
    }
    int casesun1 = Integer.parseInt(context.request.getParameter("CASESUN1"));

    SqlMapClient sqlMapper = null;
    if (errList.isEmpty()) {
      try {
        sqlMapper = DataAccessor.getSession();
        sqlMapper.startTransaction();
        sqlMapper.update("activitiesLog.updateLog", context.contextMap);
        context.contextMap.put("logName", actLogName);
        if (actLogName.equals(prvLogSun1)) {
          sqlMapper.update("activitiesLog.updateCaseStateByVisitFactoryDate", context.contextMap);
        } else if (actLogName.equals(prvLogSun2)) {
          sqlMapper.update("activitiesLog.updateCaseStateByVisitFirst", context.contextMap);
        } else {
          sqlMapper.update("activitiesLog.updateCaseState", context.contextMap);
        }
        sqlMapper.commitTransaction();
      } catch (Exception e) {
        e.printStackTrace();
        LogPrint.getLogStackTrace(e, logger);
        errList.add("活动日志管理--修改主档明细错误!请联系管理员");
      } finally {
        try {
          sqlMapper.endTransaction();
        } catch (SQLException e) {
          e.printStackTrace();
          LogPrint.getLogStackTrace(e, logger);
        }
      }
    }
    if (errList.isEmpty()) {
      Output.jspSendRedirect(context, "defaultDispatcher?__action=activitiesLog.query");
    } else {
      outputMap.put("errList", errList);
      Output.jspOutput(outputMap, context, "/error.jsp");
    }
  }