多条件查询

//前台页面

<select class="selectpicker" name="title"style="width:150px;">

<option value="0">请选择 </option>
<c:forEach items="${fnc:getTitle()}" var="manager">

<option value="${manager.title}" >${manager.title}</option>


</c:forEach>
</select>
</select>&nbsp;
  <select  name="types" style="width:100px;">
<option value="0">请选择 </option>
<c:forEach items="${types}" var="type">
 <option value="${type}">${type.caption}</option>
</c:forEach>

   </select>

<input id="btnSubmit" class="btn btn-primary"type="submit" value="搜索" οnclick="return page();"/>

//业务逻辑类

public Page<Visa> find(Page<Visa> page, Visa visa,String classify,String types) {
DetachedCriteria dc = visaDao.createDetachedCriteria();
int i=CriteriaSpecification.LEFT_JOIN;
DetachedCriteria c=dc.createCriteria("productClassList",i);
//验证实体类字段不为空
if(classify!=null&&!classify.equals("0")){
c.add(Restrictions.like("id", Long.parseLong(classify)));
}
if(StringUtils.isNotBlank(visa.getTitle())&&!visa.getTitle().equals("0")){
dc.add(Restrictions.or(Restrictions.eq("title",visa.getTitle())));

}
if(visa.getStatus()>0){
if(visa.getStatus()!=15){
dc.add(Restrictions.eq("status",visa.getStatus()));
dc.add(Restrictions.eq("delFlag",Ticket.DEL_FLAG_NORMAL));
}else{
dc.add(Restrictions.eq("delFlag",Ticket.DEL_FLAG_DELETE));
}
}
if(visa.getStatus()==0){
dc.add(Restrictions.eq("status",BaseProduct.STATUS_NEW));
dc.add(Restrictions.eq("delFlag",Ticket.DEL_FLAG_NORMAL));
}
if(types!=null&&!types.equals("0")){
if(types.equals("Asia")){
dc.add(Restrictions.eq("type",VisaType.Asia));
}
if(types.equals("Europe")){
dc.add(Restrictions.eq("type",VisaType.Europe));
}
if(types.equals("America")){
dc.add(Restrictions.eq("type",VisaType.America));
}
if(types.equals("Africa")){
dc.add(Restrictions.eq("type",VisaType.Africa));
}if(types.equals("Australia")){
dc.add(Restrictions.eq("type",VisaType.Australia));
}
dc.add(Restrictions.eq("delFlag",Visa.DEL_FLAG_NORMAL));
}
dc.addOrder(Order.desc("id"));
return visaDao.find(page, dc);
}

//action类

public String list(Visa visa,String types,String classify, Integer status, HttpServletRequest request, HttpServletResponse response, Model model) {
User user = UserUtils.getUser();
if (!user.isAdmin()){
visa.setCreateBy(user);
}
if (status == null) {
status = 1;
}
Visa c=new Visa();
//从枚举中取出数组
        VisaType[] t=c.getType().values();
visa.setStatus(status);
        Page<Visa> page = visaService.find(new Page<Visa>(request, response), visa,classify,types); 
model.addAttribute("types", t);
        model.addAttribute("page", page);
        model.addAttribute("t", types);
        model.addAttribute("count",page.getCount());
        model.addAttribute("classify", classify);
        model.addAttribute("count",page.getCount());
        if(visa.getStatus()==15){
        model.addAttribute("del","15");
        }
return "modules/pro/visaList";
}

//实体类



private static final long serialVersionUID = 1L;

private String code; // 编码
private String title; // 标题
private VisaType type;      // 签证类型
private String keyword; // 关键字
private Area area; // 区域
private String feature; // 产品特色
private String residenceTime; // 停留时间
private String processTime; // 办理时长
private String handleRange; // 受理范围
private String expirationDate; // 有效期
private String interview; // 面试
private Integer entryNumber; // 入境次数
private BigDecimal marketPrice; // 市场价
private BigDecimal memberPrice; // 为为价
private String litPic; // 缩略图
private String picList; // 签证描述图
private String necessaryInfo; // 必需资料
private String handleProcess; // 办理流程
private String tips; // 温馨提示
private String refundInfo; // 退款说明
private Integer sortNo; // 序号
private Boolean display; // 显示/隐藏  

private List<VisaOptionData> optionDataList = Lists.newArrayList(); // 选项资料列表
private List<ProductClass> productClassList = Lists.newArrayList(); // 产品分类列表

public enum VisaType {
Asia("亚洲签证"), Europe("欧洲签证"), America("美洲签证"), Africa("非洲签证"), Australia("澳洲签证");

private String caption;


public String getCaption() {
return caption;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值