Пример #1
0
  /** 添加活动信息 */
  public String savePCD() {
    HttpServletRequest request = ServletActionContext.getRequest();
    Date date = new Date(); // 创建一个时间对象,获取到当前的时间
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置时间显示格式
    String str = sdf.format(date); // 将当前时间格式化为需要的类型

    // 封装数据
    paraDt.setCaseName(paraCaseP.getCaseName());
    paraDt.setCaseCode(paraCaseP.getCaseCode());
    paraDt.setStatus(2);
    paraDt.setSysDt(Timestamp.valueOf(str));
    paraDt.setSysUserId(ParaDtAction.getCurrentUserName());

    // 判断选款数
    // int styleNum=paraDt.getNum();
    if (paraDt.getNum() != 0) {
      paraDtService.saveParaDt(paraDt);
    } else {
      paraDt.setNum(paraCaseP.getNum());
      paraDtService.saveParaDt(paraDt);
    }

    // 添加成功后,管理后台程序通知 BI系统执行活动选款。
    util.callPRtCase(paraDt.getCaseCode(), paraDt.getCaseId());

    HttpSession session = request.getSession(false);
    String caseName = paraCaseP.getCaseName();

    refreshList = "paraCaseDtgetParaDtAll";
    titleName = "营销活动实例";
    msg = " [" + caseName + "] ";
    session.setAttribute("msg", msg);

    return "savePCDSucceed";
  }
Пример #2
0
 /**
  * 删除活动
  *
  * @return
  */
 public String delParaDt() {
   // 根据活动ID查找到活动信息
   ParaDt pdt = paraDtService.findParaDtById(caseId);
   // 修改活动状态为已删除
   pdt.setStatus(0);
   paraDtService.delParaDtById(pdt);
   return "all";
 }
Пример #3
0
  /** 通过活动类型获取时间进行比较 */
  public String judgeNameRepeat() {
    try {
      HttpServletRequest request = ServletActionContext.getRequest();
      HttpServletResponse response = ServletActionContext.getResponse();
      request.setCharacterEncoding("UTF-8");
      response.setCharacterEncoding("UTF-8");

      // 获取活动类型 开始时间 结束时间
      String caseName = request.getParameter("caseName");
      String caseStime = request.getParameter("caseSt");
      String caseEtime = request.getParameter("caseEt");

      // 转化为dateTime
      Timestamp startTime = Timestamp.valueOf(caseStime);
      Timestamp endTime = Timestamp.valueOf(caseEtime);

      int spaceTime = paraDtService.getCaseNameTime(caseName, startTime, endTime);
      if (spaceTime > 0) {
        flag = true;
      } else if (spaceTime == 0) {
        flag = false;
      }
    } catch (UnsupportedEncodingException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    return SUCCESS;
  }
Пример #4
0
  /** 通过id获取详细信息 */
  public String getParaDtId() {
    try {
      HttpServletRequest request = ServletActionContext.getRequest();
      HttpServletResponse response = ServletActionContext.getResponse();
      request.setCharacterEncoding("UTF-8");
      response.setCharacterEncoding("UTF-8");

      paraDt = paraDtService.findParaDtById(caseId);

      // 通过活动名称获取相应的数据
      paraCaseP = paraCasePService.getNameParaCaseP(paraDt.getCaseName());

    } catch (UnsupportedEncodingException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return "getParaDtId";
  }
Пример #5
0
  /** 修改活动信息 */
  public String updateParaDt() {
    HttpServletRequest request = ServletActionContext.getRequest();
    Date date = new Date(); // 创建一个时间对象,获取到当前的时间
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置时间显示格式
    String str = sdf.format(date); // 将当前时间格式化为需要的类型

    paraDt.setSysDt(Timestamp.valueOf(str));
    paraDt.setSysUserId(ParaCasePAction.getCurrentUserName());

    // 判断选款数
    // int styleNum=paraDt.getNum();
    if (paraDt.getNum() == 0 || paraDt.getNum() == null) {
      paraDt.setNum(paraCaseP.getNum());
    }
    paraDtService.updateParaDtImpl(paraDt);

    // 修改成功后,管理后台程序通知 BI系统执行活动选款。
    util.callPRtCase(paraDt.getCaseCode(), paraDt.getCaseId());
    return "all";
  }
Пример #6
0
  /** 导入Excel表格 */
  @SuppressWarnings("unused")
  public String intoDB() throws IOException {
    String uploadPath = ServletActionContext.getServletContext().getRealPath("/upload");
    isImpSuccess = false; // 判断数据导入是否成功
    errCount = 0; // 判断导入数据模板是否对应
    // 基于myFile创建一个文件输入流
    InputStream is = new FileInputStream(myFile);
    // 设置目标文件
    File toFile = new File(uploadPath, this.getMyFileFileName());

    String caseName = null; // 活动名称
    String caseDesc = null; // 活动描述
    Timestamp caseSt = null; // 活动开始时间
    Timestamp caseEt = null; // 活动结束时间
    String sysUserId = null; // 创建/修改用户ID
    Timestamp sysDt = null; // 修改时间
    Integer status = null; // 活动状态
    String caseCode = null; // 活动编码
    Double ratioNew = null; // 新款占比
    Integer num = null; // 参与款数

    Date date = new Date(); // 创建一个时间对象,获取到当前的时间
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置时间显示格式
    String str = sdf.format(date); // 将当前时间格式化为需要的类型
    sysDt = Timestamp.valueOf(str);
    sysUserId = ParaCasePAction.getCurrentUserName();

    /** 2007版的读取方法 */
    int k = 0;
    int flag = 0; // 指示指针所访问的位置
    if (myFile != null) {
      try {
        Workbook workbook = WorkbookFactory.create(toFile);
        intolist.clear();
        // Workbook workbook = new XSSFWorkbook(is);//初始化workbook对象
        for (int numSheets = 0;
            numSheets < workbook.getNumberOfSheets();
            numSheets++) { // 读取每一个sheet
          if (null != workbook.getSheetAt(numSheets)) {
            XSSFSheet aSheet = (XSSFSheet) workbook.getSheetAt(numSheets); // 定义Sheet对象

            for (int rowNumOfSheet = 1; rowNumOfSheet <= aSheet.getLastRowNum(); rowNumOfSheet++) {
              // 进入当前sheet的行的循环
              if (null != aSheet.getRow(rowNumOfSheet)) {
                XSSFRow aRow = aSheet.getRow(rowNumOfSheet); // 定义行,并赋值

                for (int cellNumOfRow = 0; cellNumOfRow <= aRow.getLastCellNum(); cellNumOfRow++) {

                  // 读取rowNumOfSheet值所对应行的数据
                  XSSFCell xCell = aRow.getCell(cellNumOfRow); // 获得行的列数
                  // //获得列值
                  // System.out.println("type="+xCell.getCellType());
                  if (null != aRow.getCell(cellNumOfRow)) {
                    // 如果rowNumOfSheet的值为0,则读取表头,判断excel的格式和预定格式是否相符
                    if (rowNumOfSheet == 1) {
                      if (xCell.getCellType() == XSSFCell.CELL_TYPE_STRING) {
                        /**
                         * 一下根据从Excel的各列命名是否符合要求:如下面匹配: 活动名称,活动描述,活动开始时间, 活动结束时间,操作用户,
                         * 修改时间,活动状态,活动编码,新款占比 ,参与款数,备注开始时间,备注结束时间
                         */
                        if (cellNumOfRow == 0) {
                          if (xCell
                              .getStringCellValue()
                              .replace('\t', ' ')
                              .replace('\n', ' ')
                              .replace('\r', ' ')
                              .trim()
                              .equals("活动名称")) {
                            flag++;
                          } else {
                            errCount++;
                          }
                        } else if (cellNumOfRow == 1) {
                          if (xCell
                              .getStringCellValue()
                              .replace('\t', ' ')
                              .replace('\n', ' ')
                              .replace('\r', ' ')
                              .trim()
                              .equals("活动描述")) {
                            flag++;
                          } else {
                            errCount++;
                          }
                        } else if (cellNumOfRow == 2) {
                          if (xCell
                              .getStringCellValue()
                              .replace('\t', ' ')
                              .replace('\n', ' ')
                              .replace('\r', ' ')
                              .trim()
                              .equals("活动开始时间")) {
                            flag++;
                          } else {
                            errCount++;
                          }
                        } else if (cellNumOfRow == 3) {
                          if (xCell
                              .getStringCellValue()
                              .replace('\t', ' ')
                              .replace('\n', ' ')
                              .replace('\r', ' ')
                              .trim()
                              .equals("活动结束时间")) {
                            flag++;
                          } else {
                            errCount++;
                          }
                        } else if (cellNumOfRow == 4) {
                          if (xCell
                              .getStringCellValue()
                              .replace('\t', ' ')
                              .replace('\n', ' ')
                              .replace('\r', ' ')
                              .trim()
                              .equals("活动状态")) {
                            flag++;
                          } else {
                            errCount++;
                          }
                        } else if (cellNumOfRow == 5) {
                          if (xCell
                              .getStringCellValue()
                              .replace('\t', ' ')
                              .replace('\n', ' ')
                              .replace('\r', ' ')
                              .trim()
                              .equals("活动编码")) {
                            flag++;
                          } else {
                            errCount++;
                          }
                        } else if (cellNumOfRow == 6) {
                          if (xCell
                              .getStringCellValue()
                              .replace('\t', ' ')
                              .replace('\n', ' ')
                              .replace('\r', ' ')
                              .trim()
                              .equals("新款占比")) {
                            flag++;
                          } else {
                            errCount++;
                          }
                        } else if (cellNumOfRow == 7) {
                          if (xCell
                              .getStringCellValue()
                              .replace('\t', ' ')
                              .replace('\n', ' ')
                              .replace('\r', ' ')
                              .trim()
                              .equals("参与款数")) {
                            flag++;
                          } else {
                            errCount++;
                          }
                        }
                      }
                    } else {
                      // rowNumOfSheet != 0 即开始打印内容
                      // 获取excel中每列的值,并赋予相应的变量,如下的赋值的ID,name,sex,
                      // Dormitory,sept;
                      if (xCell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) { // 为数值型
                        System.out.println(
                            "===============进入XSSFCell .CELL_TYPE_NUMERIC模块============");
                        switch (cellNumOfRow) {
                          case 2:
                            Date St = (Date) xCell.getDateCellValue(); // 对日期处理
                            caseSt = new Timestamp(St.getTime());
                            break;
                          case 3:
                            Date Et = (Date) xCell.getDateCellValue(); // 对日期处理
                            caseEt = new Timestamp(Et.getTime());
                            break;
                          case 4:
                            status = (int) xCell.getNumericCellValue();
                            break;
                          case 6:
                            ratioNew = xCell.getNumericCellValue();
                            break;
                          case 7:
                            num = (int) xCell.getNumericCellValue();
                            break;
                        }
                      } else if (xCell.getCellType() == XSSFCell.CELL_TYPE_STRING) { // 为字符串型
                        System.out.println(
                            "===============进入XSSFCell .CELL_TYPE_STRING模块============");
                        switch (cellNumOfRow) {
                          case 0:
                            caseName =
                                xCell
                                    .getStringCellValue()
                                    .replace('\t', ' ')
                                    .replace('\n', ' ')
                                    .replace('\r', ' ')
                                    .trim();
                            break;
                          case 1:
                            caseDesc =
                                xCell
                                    .getStringCellValue()
                                    .replace('\t', ' ')
                                    .replace('\n', ' ')
                                    .replace('\r', ' ')
                                    .trim();
                            break;
                          case 5:
                            caseCode =
                                xCell
                                    .getStringCellValue()
                                    .replace('\t', ' ')
                                    .replace('\n', ' ')
                                    .replace('\r', ' ')
                                    .trim();
                            break;
                        }
                      } else if (xCell.getCellType() == XSSFCell.CELL_TYPE_BLANK) {
                        System.out.println(
                            "提示:在Sheet"
                                + (numSheets + 1)
                                + "中的第"
                                + (rowNumOfSheet + 1)
                                + "行的第"
                                + (cellNumOfRow + 1)
                                + "列的值为空,请查看核对是否符合约定要求");
                        switch (cellNumOfRow) {
                          case 0:
                            caseName = "";
                            break;
                          case 1:
                            caseDesc = "";
                            break;
                          case 2:
                            caseSt = null;
                            break;
                          case 3:
                            caseEt = null;
                            break;
                          case 4:
                            status = null;
                            break;
                          case 5:
                            caseCode = "";
                            break;
                        }
                      }
                    }
                  }
                }
                // 判断各个元素被赋值,如果放入数据库,就直接使用数据的插入的函数就可以了。
                if (aRow.getRowNum() > 1) {
                  ParaDt pd = new ParaDt();

                  pd.setCaseName(caseName);
                  pd.setCaseDesc(caseDesc);
                  pd.setCaseEt(caseEt);
                  pd.setCaseSt(caseSt);
                  pd.setSysUserId(sysUserId);
                  pd.setSysDt(sysDt);
                  pd.setStatus(status);
                  pd.setCaseCode(caseCode);
                  pd.setRatioNew(ratioNew);
                  pd.setNum(num);
                  pd.setCaseCode(caseCode);

                  intolist.add(pd);
                }
              } // 获得一行,即读取每一行
            }
            // 读取每一个sheet
          }
        }
        refreshList = "paraCaseDtgetParaDtAll";
        titleName = "营销活动实例";
        if (errCount > 0) {
          msg = "导入数据与模板不符,导入失败!";
        } else {
          // 调用sever方法
          isImpSuccess = paraDtService.addOneBoat(intolist, 500);
          if (isImpSuccess) {
            msg = "营销活动实例导入成功!";
          } else {
            msg = "营销活动实例导入失败!";
          }
        }

      } catch (Exception e) {
        e.printStackTrace();
      }
    }

    return "importExcel";
  }
Пример #7
0
 /** 获取所有计算参数信息 */
 public String getAll() {
   paraDtList = paraDtService.allParaDt();
   return "allParaDt";
 }