Пример #1
0
  @RequestMapping("/addAD")
  public ModelAndView addAD(
      @RequestParam("lotno") String lotno,
      @RequestParam("level") String level,
      @RequestParam("starttime") String starttime,
      @RequestParam("endtime") String endtime,
      @RequestParam("addprize") long addprize,
      HttpServletRequest request,
      ModelAndView view) {
    String errormsg = null;
    try {
      if (StringUtil.isEmpty(lotno)
          || StringUtil.isEmpty(level)
          || StringUtil.isEmpty(starttime)
          || StringUtil.isEmpty(endtime)
          || StringUtil.isEmpty(addprize + "")) {
        view.addObject("errormsg", "不允许为空");
        view.setViewName("tawardlevelAudit/addADUI");
        return view;
      }
      Date start = DateUtil.parse(starttime);
      Date end = DateUtil.parse(endtime);
      if (start.after(end)) {
        view.addObject("errormsg", "开始时间必须小于结束时间");
        view.setViewName("tawardlevelAudit/addADUI");
        return view;
      }
      TawardDetail tawardDetail = new TawardDetail();
      tawardDetail.setLotno(lotno);
      tawardDetail.setLevel(level);

      tawardDetail.setStarttime(start);
      tawardDetail.setEndtime(end);
      tawardDetail.setAddprize(addprize);
      tawardDetail.setState(TawardDetail.STATE_AUDITING);

      Tloguser tloguser = (Tloguser) request.getSession().getAttribute("user");
      tawardDetail.setUserno(tloguser.getId());
      tawardDetail.setApplytime(new Date());
      tawardDetail.persist();
      errormsg = "添加成功";

    } catch (Exception e) {
      errormsg = "添加失败";
      logger.error("tawardlevelAudit/addADUI error", e);
    }
    view.addObject("errormsg", errormsg);
    return this.list(lotno, view);
  }
Пример #2
0
  @RequestMapping("/list")
  public ModelAndView list(
      @RequestParam(value = "lotno", required = false) String lotno, ModelAndView view) {
    logger.info("/tawardlevelAudit/list");
    List<Tawardlevel> list = new ArrayList<Tawardlevel>();
    List<TawardDetail> awardlist = new ArrayList<TawardDetail>();
    try {
      boolean flag = false;
      StringBuilder builder = new StringBuilder();
      List<Object> params = new ArrayList<Object>();

      if (!StringUtil.isEmpty(lotno)) {
        builder.append(" where o.lotno = ?");
        params.add(lotno);
        flag = true;
      }

      if (flag) {
        list = Tawardlevel.findList(builder.toString(), " order by o.level ", params);
        awardlist =
            TawardDetail.findList(
                builder.toString(), " order by o.state,o.applytime desc ", params);
      }
      view.addObject("list", list);
      view.addObject("awardlist", awardlist);
    } catch (Exception e) {
      logger.error("tcharges/list error", e);
      view.addObject("errormsg", e.getMessage());
    }
    view.setViewName("tawardlevelAudit/list");
    return view;
  }
Пример #3
0
  @RequestMapping("/list")
  public ModelAndView list(
      @RequestParam(value = "lotno") String lotno,
      @RequestParam(value = "batchcode") String batchcode,
      @RequestParam(value = "starttime") String starttime,
      @RequestParam(value = "endtime") String endtime,
      ModelAndView view) {
    logger.info("opentime/list");
    if (StringUtil.isEmpty(lotno) || StringUtil.isEmpty(starttime) || StringUtil.isEmpty(endtime)) {
      view.addObject("errormsg", "时间不允许为空");
      view.setViewName("opentime/list");
      return view;
    }
    StringBuilder builder = new StringBuilder("where");
    List<Object> params = new ArrayList<Object>();
    StringBuilder mysql = new StringBuilder("where");
    builder.append(" o.id.lotno=? and");
    params.add(lotno);
    mysql.append(" o.lotno = ? and");
    if (!StringUtil.isEmpty(batchcode)) {
      builder.append(" o.batchcode =? and");
      params.add(batchcode);
      mysql.append(" o.batchcode = ? and");
    }
    if (!StringUtil.isEmpty(starttime)) {
      builder.append(" to_char(o.agencyopentime, 'yyyy-mm-dd') >= ? and");
      params.add(starttime);
      mysql.append(" o.codedate >= ? and");
    }
    if (!StringUtil.isEmpty(endtime)) {
      builder.append(" to_char(o.agencyopentime, 'yyyy-mm-dd') <= ? and");
      params.add(endtime + " 23:59:59");
      mysql.append(" o.codedate <= ? and");
    }
    if (builder.toString().endsWith("and")) {
      builder.delete(builder.length() - 3, builder.length());
      mysql.delete(mysql.length() - 3, mysql.length());
    }
    if (builder.toString().endsWith("where")) {
      builder.delete(builder.length() - 5, builder.length());
      mysql.delete(mysql.length() - 5, mysql.length());
    }

    try {
      if (!StringUtil.isEmpty(builder.toString())) {
        view.addObject("list", Twininfo.findAllTwininfoes(builder.toString(), params));
        view.addObject(
            "list2", prizecrawlerDao.findAllTagencyprizecode2(mysql.toString(), params.toArray()));
      }

    } catch (Exception e) {
      view.addObject("errormsg", "查询出错");
      logger.error("opentime/list error", e);
    }
    view.setViewName("opentime/list");
    return view;
  }
Пример #4
0
  @RequestMapping("/list")
  public ModelAndView list(
      @RequestParam(value = "flowno", required = false) String flowno,
      @RequestParam(value = "lotno", required = false) String lotno,
      @RequestParam(value = "agencyno", required = false) String agencyno,
      @RequestParam(value = "batchcode", required = false) String batchcode,
      @RequestParam(value = "channel", required = false) String channel,
      @RequestParam(value = "subchannel", required = false) String subchannel,
      @RequestParam(value = "starttime", required = false) String starttime,
      @RequestParam(value = "endtime", required = false) String endtime,
      @RequestParam(value = "usertype", required = false) String usertype,
      @RequestParam(value = "userid", required = false) String userid,
      @RequestParam(value = "prize", required = false) String prize,
      @RequestParam(value = "state", required = false) BigDecimal state,
      @RequestParam(value = "bettype", required = false) BigDecimal bettype,
      @RequestParam(value = "sellstarttime", required = false) String sellstarttime,
      @RequestParam(value = "sellendtime", required = false) String sellendtime,
      @ModelAttribute("page") Page<Tlot> page,
      ModelAndView view) {
    logger.info("tlots/list");
    try {
      StringBuilder builder = new StringBuilder(" where");
      List<Object> params = new ArrayList<Object>();
      if (!StringUtil.isEmpty(flowno)) {
        builder.append(" o.flowno=? and");
        params.add(flowno);
      } else {
        if (!StringUtil.isEmpty(lotno)) {
          builder.append(" o.lotno=? and");
          params.add(lotno);
        }
        if (!StringUtil.isEmpty(agencyno)) {
          builder.append(" o.agencyno=? and");
          params.add(agencyno);
        }
        if (!StringUtil.isEmpty(batchcode)) {
          builder.append(" o.batchcode=? and");
          params.add(batchcode);
        }

        if (!StringUtil.isEmpty(channel)) {
          builder.append(" o.channel=? and");
          params.add(channel);
        }
        if (!StringUtil.isEmpty(subchannel)) {
          builder.append(" o.subchannel=? and");
          params.add(subchannel);
        }

        if (!StringUtil.isEmpty(starttime)) {
          builder.append(" to_char(o.ordertime, 'yyyy-mm-dd') >= ? and");
          params.add(starttime);
        }
        if (!StringUtil.isEmpty(endtime)) {
          builder.append(" to_char(o.ordertime, 'yyyy-mm-dd') <= ? and");
          params.add(endtime);
        }
        if (!StringUtil.isEmpty(sellstarttime)) {
          builder.append(
              " o.lotcenterordertime is not null and to_char(o.lotcenterordertime, 'yyyy-mm-dd') >= ? and");
          params.add(sellstarttime);
          view.addObject("sellstarttime", sellstarttime);
        }
        if (!StringUtil.isEmpty(sellendtime)) {
          builder.append(
              " o.lotcenterordertime is not null and to_char(o.lotcenterordertime, 'yyyy-mm-dd') <= ? and");
          params.add(sellendtime);
        }
        if (!StringUtil.isEmpty(usertype) && !StringUtil.isEmpty(userid)) {
          Tuserinfo tuserinfo = null;
          try {
            if (Const.Tuserinfo_Mobileid.equals(usertype)) {
              tuserinfo = Tuserinfo.findTuserinfoesByMobileid(userid, Const.Subchannel);
            } else if (Const.Tuserinfo_Email.equals(usertype)) {
              tuserinfo = Tuserinfo.findTuserinfoesByEmail(userid, Const.Subchannel);
            } else if (Const.Tuserinfo_UserName.equals(usertype)) {
              tuserinfo = Tuserinfo.findTuserinfoesByUserName(userid, Const.Subchannel);
            }
          } catch (Exception exception) {
            throw new RuntimeException("用户不存在");
          }
          if (null == tuserinfo) {
            throw new RuntimeException("用户不存在");
          }
          builder.append(" o.userno=? and");
          params.add(tuserinfo.getUserno());
          view.addObject("usertype", usertype);
          view.addObject("userid", userid);
        }

        if (!StringUtil.isEmpty(prize)) {
          if ("yes".equals(prize)) {
            builder.append(" o.prizeamt > 0 and");
          }
          if ("no".equals(prize)) {
            builder.append(" o.prizeamt = 0 and");
          }
          view.addObject("prize", prize);
        }

        if (null != state) {
          if (new BigDecimal(-1).equals(state)) {
            builder.append(" o.state = -1 and");
          }
          if (BigDecimal.ZERO.equals(state)) {
            builder.append(" o.state = 0 and");
          }
          if (BigDecimal.ONE.equals(state)) {
            builder.append(" o.state = 1 and");
          }
          if (new BigDecimal(2).equals(state)) {
            builder.append(" o.state = 2 and");
          }
          view.addObject("state", state);
        }

        if (null != bettype) {
          if (BetType.touzhu.value().equals(bettype)) {
            builder.append(" o.bettype = 2 and");
          }
          if (BetType.hemai.value().equals(bettype)) {
            builder.append(" o.bettype = 3 and");
          }
          if (BetType.taocan.value().equals(bettype)) {
            builder.append(" o.bettype = 1 and");
          }
          if (BetType.zengsong.value().equals(bettype)) {
            builder.append(" (o.bettype = 4 or o.bettype = 5) and");
          }
          if (BetType.zhuihao.value().equals(bettype)) {
            builder.append(" o.bettype = 0 and");
          }
        }
      }

      if (builder.toString().endsWith("and")) {
        builder.delete(builder.length() - 3, builder.length());
      }
      if (builder.toString().endsWith("where")) {
        builder.delete(builder.length() - 5, builder.length());
      }
      if (!StringUtil.isEmpty(builder.toString()))
        Tlot.findList(builder.toString(), " order by o.ordertime desc", params, page);
      view.addObject("page", page);
    } catch (Exception e) {
      logger.error("tlots/list error", e);
      view.addObject("errormsg", e.getMessage());
    }
    view.setViewName("tlots/list");
    return view;
  }
Пример #5
0
  // @RequestMapping("/generateReport")
  public void generateReport(
      @RequestParam(value = "flowno", required = false) String flowno,
      @RequestParam(value = "lotno") String lotno,
      @RequestParam(value = "batchcode") String batchcode,
      @RequestParam(value = "channel", required = false) String channel,
      @RequestParam(value = "subchannel", required = false) String subchannel,
      @RequestParam(value = "starttime", required = false) String starttime,
      @RequestParam(value = "endtime", required = false) String endtime,
      @RequestParam(value = "usertype", required = false) String usertype,
      @RequestParam(value = "userid", required = false) String userid,
      @RequestParam(value = "prize", required = false) String prize,
      @RequestParam(value = "state", required = false) BigDecimal state,
      @RequestParam(value = "bettype", required = false) BigDecimal bettype,
      @RequestParam(value = "sellstarttime", required = false) String sellstarttime,
      @RequestParam(value = "sellendtime", required = false) String sellendtime,
      HttpServletRequest request,
      HttpServletResponse response)
      throws IOException {
    OutputStream os = null;
    WritableWorkbook wwb = null;
    try {
      StringBuilder builder = new StringBuilder(" where");
      List<Object> params = new ArrayList<Object>();
      if (!StringUtil.isEmpty(flowno)) {
        builder.append(" o.flowno=? and");
        params.add(flowno);
      } else {
        if (!StringUtil.isEmpty(lotno)) {
          builder.append(" o.lotno=? and");
          params.add(lotno);
        }
        if (!StringUtil.isEmpty(batchcode)) {
          builder.append(" o.batchcode=? and");
          params.add(batchcode);
        }
        if (!StringUtil.isEmpty(channel)) {
          builder.append(" o.channel=? and");
          params.add(channel);
        }
        if (!StringUtil.isEmpty(subchannel)) {
          builder.append(" o.subchannel=? and");
          params.add(subchannel);
        }

        if (!StringUtil.isEmpty(starttime)) {
          builder.append(" to_char(o.ordertime, 'yyyy-mm-dd') >= ? and");
          params.add(starttime);
        }
        if (!StringUtil.isEmpty(endtime)) {
          builder.append(" to_char(o.ordertime, 'yyyy-mm-dd') <= ? and");
          params.add(endtime);
        }
        if (!StringUtil.isEmpty(sellstarttime)) {
          builder.append(
              " o.lotcenterordertime is not null and to_char(o.lotcenterordertime, 'yyyy-mm-dd') >= ? and");
          params.add(sellstarttime);
        }
        if (!StringUtil.isEmpty(sellendtime)) {
          builder.append(
              " o.lotcenterordertime is not null and to_char(o.lotcenterordertime, 'yyyy-mm-dd') <= ? and");
          params.add(sellendtime);
        }
        if (!StringUtil.isEmpty(usertype) && !StringUtil.isEmpty(userid)) {
          Tuserinfo tuserinfo = null;
          try {
            if (Const.Tuserinfo_Mobileid.equals(usertype)) {
              tuserinfo = Tuserinfo.findTuserinfoesByMobileid(userid, Const.Subchannel);
            } else if (Const.Tuserinfo_Email.equals(usertype)) {
              tuserinfo = Tuserinfo.findTuserinfoesByEmail(userid, Const.Subchannel);
            } else if (Const.Tuserinfo_UserName.equals(usertype)) {
              tuserinfo = Tuserinfo.findTuserinfoesByUserName(userid, Const.Subchannel);
            }
          } catch (Exception exception) {
            throw new RuntimeException("用户不存在");
          }
          if (null == tuserinfo) {
            throw new RuntimeException("用户不存在");
          }
          builder.append(" o.userno=? and");
          params.add(tuserinfo.getUserno());
        }

        if (!StringUtil.isEmpty(prize)) {
          if ("yes".equals(prize)) {
            builder.append(" o.prizeamt > 0 and");
          }
          if ("no".equals(prize)) {
            builder.append(" o.prizeamt = 0 and");
          }
        }

        if (null != state) {
          if (new BigDecimal(-1).equals(state)) {
            builder.append(" o.state = -1 and");
          }
          if (BigDecimal.ZERO.equals(state)) {
            builder.append(" o.state = 0 and");
          }
          if (BigDecimal.ONE.equals(state)) {
            builder.append(" o.state = 1 and");
          }
          if (new BigDecimal(2).equals(state)) {
            builder.append(" o.state = 2 and");
          }
        }

        if (null != bettype) {
          if (BetType.touzhu.value().equals(bettype)) {
            builder.append(" o.bettype = 2 and");
          }
          if (BetType.hemai.value().equals(bettype)) {
            builder.append(" o.bettype = 3 and");
          }
          if (BetType.taocan.value().equals(bettype)) {
            builder.append(" o.bettype = 1 and");
          }
          if (BetType.zengsong.value().equals(bettype)) {
            builder.append(" (o.bettype = 4 or o.bettype = 5) and");
          }
          if (BetType.zhuihao.value().equals(bettype)) {
            builder.append(" o.bettype = 0 and");
          }
        }
      }

      if (builder.toString().endsWith("and")) {
        builder.delete(builder.length() - 3, builder.length());
      }
      if (builder.toString().endsWith("where")) {
        builder.delete(builder.length() - 5, builder.length());
      }
      List<Tlot> list = Tlot.findList(builder.toString(), " order by o.ordertime desc", params);

      os = response.getOutputStream();
      wwb = Workbook.createWorkbook(os);
      response.setContentType("application/dowload");
      response.setHeader(
          "Content-disposition",
          "attachment;filename=\""
              + new String(
                  (java.net.URLEncoder.encode("彩票信息报表.xls", "UTF-8")).getBytes("UTF-8"), "GB2312")
              + "\"");

      // Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
      WritableSheet ws = wwb.createSheet("sheet1", 0);

      ws.addCell(new Label(0, 0, "流水号"));
      ws.addCell(new Label(1, 0, "用户编号"));
      ws.addCell(new Label(2, 0, "彩票中心"));
      ws.addCell(new Label(3, 0, "渠道"));
      ws.addCell(new Label(4, 0, "用户系统"));
      ws.addCell(new Label(5, 0, "彩种"));
      ws.addCell(new Label(6, 0, "期号"));
      ws.addCell(new Label(7, 0, "注数"));
      ws.addCell(new Label(8, 0, "倍数"));
      ws.addCell(new Label(9, 0, "销售方式"));
      ws.addCell(new Label(10, 0, "金额(元)"));
      ws.addCell(new Label(11, 0, "中奖金额(元)"));
      ws.addCell(new Label(12, 0, "投注时间"));
      ws.addCell(new Label(13, 0, "类型"));
      ws.addCell(new Label(14, 0, "标识"));
      ws.addCell(new Label(15, 0, "状态"));

      BigDecimal amtAll = BigDecimal.ZERO;
      BigDecimal prizeamtAll = BigDecimal.ZERO;

      for (int i = 0; i < list.size(); i++) {
        Tlot tlot = list.get(i);
        int j = i + 1;
        ws.addCell(new Label(0, j, tlot.getFlowno()));
        ws.addCell(new Label(1, j, tlot.getUserno()));
        ws.addCell(new Label(2, j, LotCenter.getName(tlot.getAgencyno())));
        ws.addCell(new Label(3, j, tlot.getChannel()));
        ws.addCell(new Label(4, j, tlot.getSubchannel()));
        ws.addCell(new Label(5, j, Lottype.getName(tlot.getLotno())));
        ws.addCell(new Label(6, j, tlot.getBatchcode()));
        ws.addCell(new Label(7, j, tlot.getBetnum().toString()));
        ws.addCell(new Label(8, j, tlot.getLotmulti().toString()));
        String sellway = "";
        if (BigDecimal.ZERO.equals(tlot.getSellway())) {
          sellway = "自选";
        } else if (new BigDecimal(2).equals(tlot.getSellway())) {
          sellway = "机选";
        }
        ws.addCell(new Label(9, j, sellway));
        ws.addCell(new Label(10, j, tlot.getAmt().divide(new BigDecimal(100)).toString()));
        amtAll = amtAll.add(tlot.getAmt());
        ws.addCell(new Label(11, j, tlot.getPrizeamt().divide(new BigDecimal(100)).toString()));
        prizeamtAll = prizeamtAll.add(tlot.getPrizeamt());
        ws.addCell(new Label(12, j, tlot.getOrdertime().toString()));
        ws.addCell(new Label(13, j, BetType.getBetType(tlot.getBettype())));
        ws.addCell(new Label(14, j, SettleFlagState.getMemo(tlot.getSettleflag())));
        String state1 = "";
        if (new BigDecimal(-1).equals(tlot.getState())) {
          state1 = "未处理";
        } else if (BigDecimal.ZERO.equals(tlot.getState())) {
          state1 = "失败";
        } else if (BigDecimal.ONE.equals(tlot.getState())) {
          state1 = "成功";
        } else if (new BigDecimal(2).equals(tlot.getState())) {
          state1 = "处理中";
        }
        ws.addCell(new Label(15, j, state1));
      }

      int k = list.size() + 1;
      ws.addCell(new Label(0, k, "合计"));
      ws.addCell(new Label(10, k, amtAll.divide(new BigDecimal(100)).toString()));
      ws.addCell(new Label(11, k, prizeamtAll.divide(new BigDecimal(100)).toString()));
      wwb.write();
    } catch (Exception e) {
      logger.error("发生异常:" + e);
      e.printStackTrace();
    } finally {
      if (wwb != null) {
        try {
          wwb.close();
        } catch (WriteException e) {
          e.printStackTrace();
        }
      }
      if (os != null) {
        os.close();
      }
    }
  }