BOS项目及知识点总结 _02
来源:互联网 发布:picplaypost同类软件 编辑:程序博客网 时间:2024/06/07 18:44
组合条件分页查询
<script type="text/javascript"> $(function(){ $("#searchBtn").click(function(){// 组装数据 var formData = $("#searchForm").serializeJSON(); //封装表单, **$("#grid").datagrid('load',formData);** }) }) </script>
后端代码,dao层接口需要继承 JpaSpecificationExecutor
@Action("courierAction_findByPage") public void findByPage(){// 条件查询// model.getCourierNum();//工号// model.getStandard().getName(); 收派标准的名称// model.getType(); //类型// model.getCompany() //公司// Specification 相当于 DetachedCriteria DetachedCriteria dc = DetachedCriteria.forClass(Courier.class); if(StringUtils.isNotBlank(model.getCourierNum())){ dc.add(Restrictions.like("courierNum", model.getCourierNum())); } Specification<Courier> specification = new Specification<Courier>() { @Override public Predicate toPredicate(Root<Courier> root, CriteriaQuery<?> query, CriteriaBuilder cb) {// root 查询对象的主体// cb 相当于 Restrictions //工号 List<Predicate> list = new ArrayList<Predicate>();//把组装的条件对象先存放到这个集合中 if(StringUtils.isNotBlank(model.getCourierNum())){ Predicate predicate1 = cb.like(root.get("courierNum").as(String.class), "%"+model.getCourierNum()+"%");// return predicate; list.add(predicate1); }// 收派标准的名称 if(model.getStandard()!=null&&StringUtils.isNotBlank(model.getStandard().getName())){// 需要关联收派标准对象 select * from Courier c inner join standard s Join<Object, Object> join = root.join("standard"); Predicate predicate2 = cb.like(join.get("name").as(String.class), "%"+model.getStandard().getName()+"%");// return predicate2; list.add(predicate2); } //类型 if(StringUtils.isNotBlank(model.getType())){ Predicate predicate3 = cb.like(root.get("type").as(String.class), "%"+model.getType()+"%");// return predicate3; list.add(predicate3); } //公司 if(StringUtils.isNotBlank(model.getCompany())){ Predicate predicate4 = cb.like(root.get("company").as(String.class), "%"+model.getCompany()+"%");// return predicate4; list.add(predicate4); }// 判断list的size是否为0,如果为0直接return null if(list.size()==0){ return null; }// list转成数组再转成Predicate对象 Predicate[] predicates = new Predicate[list.size()]; predicates = list.toArray(predicates); return cb.and(predicates); } }; Pageable pageable = new PageRequest(page-1, rows); Page page = service.findByPage(specification,pageable);// 拼装datagrid分页时需要的数据格式// {"total":100,"rows":[{},{},{}]} Map<String,Object> map = new HashMap<String,Object>(); map.put("total", page.getTotalElements()); map.put("rows", page.getContent()); JsonConfig jsonConfig = new JsonConfig();// 设置在转json时排除的字段 jsonConfig.setExcludes(new String[]{"fixedAreas"}); String string = JSONObject.fromObject(map, jsonConfig).toString(); HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("application/json;charset=utf-8"); try { response.getWriter().write(string); } catch (IOException e) { e.printStackTrace(); } }
一键上传
jQuery OCUpload一键上传插件
前端代码
$("#button-import").upload({ action:'../../areaAction_importXls.action', //名字要和后端属性name名一样 name:'myFile' })
action层代码
private File myFile; public File getMyFile() { return myFile; } public void setMyFile(File myFile) { this.myFile = myFile; }@Action("areaAction_importXls") public void importXls(){ System.out.println(myFile); }
service层
@Override public void importXls(FileInputStream fileInputStream) {// 1、获取workbook对象 try { HSSFWorkbook book = new HSSFWorkbook(fileInputStream); HSSFSheet sheet = book.getSheetAt(0); int lastRowNum = sheet.getLastRowNum(); Area area = null; List<Area> list = new ArrayList<Area>(); for (int i = 1; i <= lastRowNum; i++) { HSSFRow row = sheet.getRow(i); String id = row.getCell(0).getStringCellValue(); String province = row.getCell(1).getStringCellValue(); String city = row.getCell(2).getStringCellValue(); String district = row.getCell(3).getStringCellValue(); String postcode = row.getCell(4).getStringCellValue(); area = new Area(); area.setId(id); area.setProvince(province); area.setCity(city); area.setDistrict(district); area.setPostcode(postcode); province = province.substring(0, province.length()-1); city = city.substring(0, city.length()-1); district = district.substring(0, district.length()-1); // 城市编码 String citycode = PinYin4jUtils.hanziToPinyin(city,""); area.setCitycode(citycode); // 简码 String[] headByString = PinYin4jUtils.getHeadByString(province+city+district); String shortcode = StringUtils.join(headByString); area.setShortcode(shortcode); list.add(area); } dao.save(list); } catch (IOException e) { e.printStackTrace(); } }
阅读全文
0 0
- BOS项目及知识点总结 _02
- BOS项目及知识点总结_01
- BOS项目开发其相关知识点总结
- BOS项目
- 项目过程中遇到的问题及小知识点总结
- 框架 day58 BOS项目练习(基于activiti物流配送流程,启动,查询,办理,项目知识点复习)
- BOS项目练习(基于activiti物流配送流程,启动,查询,办理,项目知识点复习)
- 项目知识点总结
- 项目小结知识点总结
- 毕业设计项目 知识点总结
- android项目知识点总结
- 当前项目知识点总结
- 项目知识点总结
- 项目知识点总结
- 一周项目知识点总结
- java基础总结_02
- VC知识点及总结
- 最近日常项目知识点总结
- MySQL 开发实践 8 问,你能 hold 住几个?
- hdu6165 FFF at Valentine 强联通分量+拓扑排序
- 轻松搞定面试中的二叉树题目
- Zookeeper学习笔记(五)分布式计数器
- 【Spark2.0源码学习】-6.Client启动
- BOS项目及知识点总结 _02
- 将数据集做成VOC2007格式用于Faster-RCNN训练
- 计算器的改良(NOIP2000)
- C语言宏定义方法总结
- CDN及CDN加速原理
- 算法提高 ADV-74 计算整数因子
- 【Spark2.0源码学习】-7.Driver与DriverRunner
- 阴阳师PC官网(仿-->17/5月) -- 知识点
- 爬虫学习笔记(一)——Requests