@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); }
@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; }
@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; }
@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; }
// @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(); } } }